Ben Lippmeier [Thu, 25 Nov 2010 07:32:01 +0000 (07:32 +0000)]
vectoriser: comments only
Ben Lippmeier [Thu, 25 Nov 2010 06:23:49 +0000 (06:23 +0000)]
vectoriser: follow changes in mkClass
Ben Lippmeier [Thu, 25 Nov 2010 06:23:32 +0000 (06:23 +0000)]
vectoriser: tracing wibbles
benl@ouroborus.net [Tue, 14 Sep 2010 06:29:39 +0000 (06:29 +0000)]
mkDFunUnfolding wants the type of the dfun to be a PredTy
Ben Lippmeier [Thu, 25 Nov 2010 06:09:04 +0000 (06:09 +0000)]
vectoriser: fix conflicts
benl@ouroborus.net [Tue, 14 Sep 2010 06:29:03 +0000 (06:29 +0000)]
Comments and formatting only
benl@ouroborus.net [Thu, 9 Sep 2010 08:04:05 +0000 (08:04 +0000)]
Comments and formatting to type environment vectoriser
Ian Lynagh [Wed, 24 Nov 2010 23:15:14 +0000 (23:15 +0000)]
Don't mix implicit and explicit layout
Ian Lynagh [Wed, 24 Nov 2010 23:06:55 +0000 (23:06 +0000)]
Whitespace only
Ian Lynagh [Wed, 24 Nov 2010 22:05:07 +0000 (22:05 +0000)]
Separate NondecreasingIndentation out into its own extension
Ian Lynagh [Wed, 24 Nov 2010 20:59:57 +0000 (20:59 +0000)]
Add another GHC layout rule relaxation to RelaxedLayout
Ian Lynagh [Wed, 24 Nov 2010 14:04:55 +0000 (14:04 +0000)]
Remove an unused build system variable: GhcDir
Ian Lynagh [Wed, 24 Nov 2010 14:04:15 +0000 (14:04 +0000)]
Remove unused build system variable: GhcHasEditline
Ian Lynagh [Wed, 24 Nov 2010 14:00:52 +0000 (14:00 +0000)]
Remove unused variables from the build system: HBC, NHC, MKDEPENDHS
Ian Lynagh [Tue, 23 Nov 2010 23:35:36 +0000 (23:35 +0000)]
Remove references to Haskell 98
They are no longer right, as we have Haskell' generating new Haskell
standards.
Ian Lynagh [Tue, 23 Nov 2010 17:06:21 +0000 (17:06 +0000)]
Tweak a configure test
Ian Lynagh [Tue, 23 Nov 2010 17:05:41 +0000 (17:05 +0000)]
Add a configure test for the visibility hidden attribute
Simon Marlow [Fri, 29 Oct 2010 09:28:43 +0000 (09:28 +0000)]
sanity: fix places where we weren't filling fresh memory with 0xaa
Ian Lynagh [Sun, 21 Nov 2010 14:44:55 +0000 (14:44 +0000)]
Just some alpha renaming
pepeiborra@gmail.com [Mon, 15 Nov 2010 22:36:23 +0000 (22:36 +0000)]
Fix bug #3165 (:history throws irrefutable pattern failed)
I ran across this bug and took the time to fix it, closing
a long time due TODO in InteractiveEval.hs
Instead of looking around to find the enclosing declaration
of a tick, this patch makes use of the information already collected during the
coverage desugaring phase
Ian Lynagh [Sun, 21 Nov 2010 18:35:20 +0000 (18:35 +0000)]
For bindists, build ghc-pwd with stage 1
rather then the bootstrapping compiler. This fixes problems where the
bootstrapping compiler dynamically links against libraries not on the
target machine.
Ian Lynagh [Sun, 21 Nov 2010 18:33:42 +0000 (18:33 +0000)]
Makefile tweak
Ian Lynagh [Sun, 21 Nov 2010 17:49:16 +0000 (17:49 +0000)]
Fix a makefile include ordering sanity check
Ian Lynagh [Sat, 20 Nov 2010 21:53:40 +0000 (21:53 +0000)]
Add an extension for GHC's layout-rule relaxations
Still TODO: Add the other relaxation (#1060) and update the alternative
layout rule to use the extension.
Ian Lynagh [Sat, 20 Nov 2010 17:37:35 +0000 (17:37 +0000)]
Tweak the bindist configure.ac.in
Ian Lynagh [Sat, 20 Nov 2010 17:02:45 +0000 (17:02 +0000)]
configure.ac tweaks
Ian Lynagh [Sat, 20 Nov 2010 15:59:20 +0000 (15:59 +0000)]
When testing the bindist, tell it where gcc is
The location isn't baked into the bindist, as it may differ from
machine to machine.
simonpj@microsoft.com [Fri, 19 Nov 2010 10:01:53 +0000 (10:01 +0000)]
Comments only
Roman Leshchinskiy [Thu, 18 Nov 2010 21:28:39 +0000 (21:28 +0000)]
ForceSpecConstr now forces specialisation even for arguments which aren't scrutinised
simonpj@microsoft.com [Thu, 18 Nov 2010 12:05:33 +0000 (12:05 +0000)]
Move the superclass generation to the canonicaliser
Doing superclass generation in the canonicaliser (rather than
TcInteract) uses less code, and is generally more efficient.
See Note [Adding superclasses] in TcCanonical.
Fixes Trac #4497.
simonpj@microsoft.com [Thu, 18 Nov 2010 09:00:57 +0000 (09:00 +0000)]
Fix the generation of in-scope variables for IfaceLint check
simonpj@microsoft.com [Thu, 18 Nov 2010 09:00:34 +0000 (09:00 +0000)]
Comments only
simonpj@microsoft.com [Thu, 18 Nov 2010 09:00:28 +0000 (09:00 +0000)]
Omit bogus test for -XDeriveFunctor
It was duplicated in the case of 'deriving( Functor )'
and wrong for 'deriving( Foldable )'
simonpj@microsoft.com [Thu, 18 Nov 2010 08:53:06 +0000 (08:53 +0000)]
Improve error message on advice from a user
See Trac #4499
Ian Lynagh [Wed, 17 Nov 2010 16:30:31 +0000 (16:30 +0000)]
Fix the type sanity test in genprimopcode's Syntax.hs
We assume this is what it's supposed to be checking. Certainly the old
test (t2 == t2) can't be right.
Spotted by Andres Loeh.
Ian Lynagh [Wed, 17 Nov 2010 15:52:59 +0000 (15:52 +0000)]
Build random with the stage2 compiler
Simon Marlow [Wed, 17 Nov 2010 12:49:26 +0000 (12:49 +0000)]
remove -XNoMonomorphismRestriction
This was apparently needed at some point during the new typechecker
development, but does not seem to be required now.
Simon Marlow [Wed, 17 Nov 2010 11:37:05 +0000 (11:37 +0000)]
add some {-# LANGUAGE BangPatterns #-} to mollify GHC
scpmw@leeds.ac.uk [Fri, 5 Nov 2010 15:16:55 +0000 (15:16 +0000)]
Eventlog: Put correct size for startup event
simonpj@microsoft.com [Wed, 17 Nov 2010 11:15:59 +0000 (11:15 +0000)]
Document SPECIALISE for imported functions
This is a really useful new facility, but I'd forgotten to document it.
Pls merge to 7.0 branch
simonpj@microsoft.com [Wed, 17 Nov 2010 10:10:58 +0000 (10:10 +0000)]
Fix Trac #4498: bang-pattern bindings are monomorphic
This patch forces bang patterns to be monomorphic,
and documents this fact.
simonpj@microsoft.com [Wed, 17 Nov 2010 10:08:39 +0000 (10:08 +0000)]
Comments only
simonpj@microsoft.com [Wed, 17 Nov 2010 10:08:32 +0000 (10:08 +0000)]
Fix Trac #4501: a transposition error in DynFlags
Push to STABLE
simonpj@microsoft.com [Tue, 16 Nov 2010 17:37:19 +0000 (17:37 +0000)]
Refactoring of the way that inlinings and rules are activated
Principally, the SimplifierMode now carries several (currently
four) flags in *all* phases, not just the "Gentle" phase.
This makes things simpler and more uniform.
As usual I did more refactoring than I had intended.
This stuff should go into 7.0.2 in due course, once
we've checked it solves the DPH performance problems.
simonpj@microsoft.com [Tue, 16 Nov 2010 17:35:00 +0000 (17:35 +0000)]
Some infrastruture for lambda-lifting
This stuff should have no effect but it sets things
up so that we can try floating out lambdas of n value
arguments.
The new (secret) flag is -ffloatt-lam-args=n.
This is *not* working yet, but it's got tangled up with
other stuff I want to commit, and it does no harm.
simonpj@microsoft.com [Tue, 16 Nov 2010 17:33:12 +0000 (17:33 +0000)]
Occurrence analyser takes account of the phase when handing RULES
See Note [Finding rule RHS free vars]
This should make Roman happy.
simonpj@microsoft.com [Tue, 16 Nov 2010 17:22:11 +0000 (17:22 +0000)]
Add -fwarn-lazy-unlifted-bindings to the list of flags
simonpj@microsoft.com [Tue, 16 Nov 2010 17:18:43 +0000 (17:18 +0000)]
Warn a bit less often about unlifted bindings.
Warn when
(a) a pattern bindings binds unlifted values
(b) it has no top-level bang
(c) the RHS has a *lifted* type
Clause (c) is new, argued for by Simon M
Eg x# = 4# + 4# -- No warning
(# a,b #) = blah -- No warning
I# x = blah -- Warning
simonpj@microsoft.com [Tue, 16 Nov 2010 17:16:10 +0000 (17:16 +0000)]
Libraries bytestirng, time, binary need -fno-warn-identities
They all have redundant uses of fromIntegral, but are no under
GHC HQ control.
simonpj@microsoft.com [Tue, 16 Nov 2010 17:15:27 +0000 (17:15 +0000)]
Improve documentation for -fwarn-incomplete-patterns
simonpj@microsoft.com [Tue, 16 Nov 2010 17:15:10 +0000 (17:15 +0000)]
Add warning for probable identities (fromIntegral and friends)
See Trac #4488. The basic idea is to check for
fun :: ty -> ty
where fun is one of
toIntegerName toRationalName
fromIntegralName realToFracName
There's a (documented) flag to control it -fwarn-identities.
Currently -Wall switches it on.
simonpj@microsoft.com [Tue, 16 Nov 2010 17:12:47 +0000 (17:12 +0000)]
Remove unncessary fromIntegral calls
simonpj@microsoft.com [Mon, 15 Nov 2010 23:21:42 +0000 (23:21 +0000)]
Fix -fwarn-missing-import-lists (fix Trac #4489)
simonpj@microsoft.com [Mon, 15 Nov 2010 23:11:46 +0000 (23:11 +0000)]
Deriving Typeable changes
* Fix a bug that led to a crash with
data family T a
deriving Functor T
* Allow deriving Typeable for data families
data family T a
deriving Typeable1 T
* Some refactoring and tidying
simonpj@microsoft.com [Mon, 15 Nov 2010 14:28:05 +0000 (14:28 +0000)]
Ensure that instance overlap errors are report properly
This (annoyingly) requires us to re-flatten the class predicate.
See Note [Flattening in error message generation]
simonpj@microsoft.com [Mon, 15 Nov 2010 12:15:40 +0000 (12:15 +0000)]
Ensure that unification variables alloc'd during solving are untouchable
This fixes Trac #4494. See Note [Extra TcsTv untouchables] in TcSimplify.
Ian Lynagh [Sun, 14 Nov 2010 20:55:27 +0000 (20:55 +0000)]
Fix paths used for doc publishing in the nightly builds
Ian Lynagh [Sun, 14 Nov 2010 17:33:32 +0000 (17:33 +0000)]
Remove -Ofile docs
They said:
(NOTE: not supported since GHC 4.x. Please ask if you're interested
in this.)
Ian Lynagh [Sun, 14 Nov 2010 15:50:23 +0000 (15:50 +0000)]
Update to docbook 4.5; fixes trac #4447
Ian Lynagh [Sun, 14 Nov 2010 14:03:11 +0000 (14:03 +0000)]
Add a build system dependency; fixes #4357
Ian Lynagh [Sun, 14 Nov 2010 13:46:36 +0000 (13:46 +0000)]
Build system tweak: Inline DQ now it's the same on all platforms
Ian Lynagh [Sat, 13 Nov 2010 12:53:14 +0000 (12:53 +0000)]
Fix up the ifdefs in Task.c
Edward Z. Yang [Thu, 11 Nov 2010 00:09:12 +0000 (00:09 +0000)]
Use standard task ID print style (hexadecimal).
simonpj@microsoft.com [Fri, 12 Nov 2010 23:07:01 +0000 (23:07 +0000)]
Remove use of (now-gone) VarPatOut
simonpj@microsoft.com [Fri, 5 Nov 2010 13:16:36 +0000 (13:16 +0000)]
Remove the now-unused constructor VarPatOut
simonpj@microsoft.com [Fri, 5 Nov 2010 13:15:45 +0000 (13:15 +0000)]
Track change in isInlinePragma
In TcBinds we want to use isAnyInlinePragma, to get
both INLINE and INLINABLE. I don't know why this isn't
leading to failures for others! The (bogus) error I got,
triggered by this bug was:
libraries\haskeline\System\Console\Haskeline\Key.hs:23:1:
You cannot SPECIALISE `M.findWithDefault'
because its definition has no INLINE/INLINABLE pragma
simonpj@microsoft.com [Fri, 12 Nov 2010 17:44:39 +0000 (17:44 +0000)]
More modules that need LANGUAGE BangPatterns
simonpj@microsoft.com [Fri, 12 Nov 2010 17:20:49 +0000 (17:20 +0000)]
Add LANGUAGE BangPatterns to modules that use them
simonpj@microsoft.com [Fri, 12 Nov 2010 16:08:01 +0000 (16:08 +0000)]
Warn about top-level bangs (Trac #4477)
A simple refactoring in the parser
Ben Lippmeier [Fri, 12 Nov 2010 13:46:41 +0000 (13:46 +0000)]
Slurp author spellings file from base and add more authors
simonpj@microsoft.com [Fri, 12 Nov 2010 13:00:11 +0000 (13:00 +0000)]
A (final) re-engineering of the new typechecker
Regression testing and user feedback for GHC 7.0 taught
us a lot. This patch fixes numerous small bugs, and some
major ones (eg Trac #4484, #4492), and improves type
error messages.
The main changes are:
* Entirely remove the "skolem equivalance class" stuff;
a very useful simplification
* Instead, when flattening "wanted" constraints we generate
unification variables (not flatten-skolems) for the
flattened type function application
* We then need a fixup pass at the end, TcSimplify.solveCTyFunEqs,
which resolves any residual equalities of form
F xi ~ alpha
* When we come across a definite failure (e.g. Int ~ [a]),
we now defer reporting the error until the end, in case we
learn more about 'a'. That is particularly important for
occurs-check errors. These are called "frozen" type errors.
* Other improvements in error message generation.
* Better tracing messages
simonpj@microsoft.com [Fri, 12 Nov 2010 08:30:52 +0000 (08:30 +0000)]
Allow the old [$foo| ... |] syntax for quasi-quotes
This is just a backward-compatibility thing, to be removed
eventually.
simonpj@microsoft.com [Thu, 11 Nov 2010 13:45:03 +0000 (13:45 +0000)]
Fix multi-line string (minor glitch in stage-1 compiler)
Roman Leshchinskiy [Wed, 10 Nov 2010 21:02:58 +0000 (21:02 +0000)]
Add upstream URLs for vector and primitive
Ian Lynagh [Wed, 10 Nov 2010 14:54:49 +0000 (14:54 +0000)]
Obey the -rtsopts flag when making shared libraries; part of #4464
Ian Lynagh [Wed, 3 Nov 2010 21:33:54 +0000 (21:33 +0000)]
Avoid scary message from tar if dph isn't in the tree
Ian Lynagh [Wed, 3 Nov 2010 21:33:18 +0000 (21:33 +0000)]
Whitespace only
Ian Lynagh [Wed, 3 Nov 2010 21:27:18 +0000 (21:27 +0000)]
Remove no-longer-necessary withFlattenedDynflags
Ian Lynagh [Wed, 3 Nov 2010 21:22:16 +0000 (21:22 +0000)]
Use liftIO rather than io
Ian Lynagh [Tue, 2 Nov 2010 19:24:46 +0000 (19:24 +0000)]
Fix a #if test
showMultiLineString is only in >= 7.1.
Ian Lynagh [Tue, 2 Nov 2010 18:58:31 +0000 (18:58 +0000)]
Fix building genprimopcode with GHC 7.0, and remove haskell98 imports
Ian Lynagh [Mon, 1 Nov 2010 16:18:02 +0000 (16:18 +0000)]
On Windows, when returning memory to the OS, we try to release it
as well as decommiting it.
Ian Lynagh [Fri, 29 Oct 2010 20:41:58 +0000 (20:41 +0000)]
Whitespace only, in rts/win32/OSMem.c
simonpj@microsoft.com [Mon, 1 Nov 2010 16:46:30 +0000 (16:46 +0000)]
Improve error messages
In particular, instead of
Cannot match 'a' with 'b'
we get
Could not deduce (a~b) from context (F a ~ b)
or whatever
Ian Lynagh [Fri, 29 Oct 2010 13:58:05 +0000 (13:58 +0000)]
Uncomment and fix an OS X linker debug print
Simon Marlow [Fri, 29 Oct 2010 09:04:23 +0000 (09:04 +0000)]
fix bugs in tryTakeMVar/tryPutMVar
I'm surprised that these haven't caused any problems (or maybe they have?)
Simon Marlow [Thu, 28 Oct 2010 10:16:24 +0000 (10:16 +0000)]
Remove duplicate PrimopWrappers generation
We were generating PrimopWrappers.hs twice in two different places,
one for the normal build and one for Haddock (I think). Unfortunately
one of these was causing extra rebuilding, because the file dropped
into the dist-install/build/autogen directory, where it was picked up
by the automatic HS_SRCS detection in subsequent make runs. This was
exposed by a recent change to HS_SRCS:
Wed Oct 20 11:47:59 BST 2010 Ian Lynagh <igloo@earth.li>
* Look for sources in Cabal's autogen directory too
This should fix the stage3 failures in the build bots.
benl@ouroborus.net [Fri, 29 Oct 2010 07:44:05 +0000 (07:44 +0000)]
Comment out bogus debug line that broke build on OSX
benl@ouroborus.net [Fri, 29 Oct 2010 07:16:17 +0000 (07:16 +0000)]
Fix import warning
benl@ouroborus.net [Fri, 29 Oct 2010 06:58:37 +0000 (06:58 +0000)]
Cleanup comments and formatting only
benl@ouroborus.net [Fri, 29 Oct 2010 06:33:20 +0000 (06:33 +0000)]
Nicer error message for #3782
It now says:
ghc-stage2: sorry! (this is work in progress)
(GHC version 7.1.
20101028 for i386-apple-darwin):
Vectorise.Builtins.indexBuiltin
DPH builtin function 'sumTyCon' of size '11' is not yet implemented.
This function does not appear in your source program, but it is needed
to compile your code in the backend. This is a known, current limitation
of DPH. If you want it to to work you should send mail to cvs-ghc@haskell.org
and ask what you can do to help (it might involve some GHC hacking).
I added 'pprSorry' that behaves like 'pprPanic' except it say sorry! instead
of panic!, and doesn't ask the user to report a bug.
Ian Lynagh [Thu, 28 Oct 2010 13:48:54 +0000 (13:48 +0000)]
Replace some exit(n) calls with stg_exit(n); fixes trac #4445
Also changed exitcode of -1 to 1 in hpc.
simonpj@microsoft.com [Thu, 28 Oct 2010 14:25:48 +0000 (14:25 +0000)]
Remove -ds-multi-tyvar static flag
It was always secret, and has now vanished as silently as it came
simonpj@microsoft.com [Thu, 28 Oct 2010 14:24:29 +0000 (14:24 +0000)]
Deprecate -fmethod-sharing, which no longer does anything
We can remove it altogether in GHC 7.2
simonpj@microsoft.com [Thu, 28 Oct 2010 14:21:50 +0000 (14:21 +0000)]
Do w/w *recursive* things even if they are small
A wibble to my previous change in WorkWrap, fixes simplrun010
simonpj@microsoft.com [Wed, 27 Oct 2010 19:37:29 +0000 (19:37 +0000)]
Two signficant changes to the simplifier
1. Do eta-expansion at let-bindings, not lambdas.
I have wanted to do this for a long time.
See Note [Eta-expanding at let bindings] in SimplUtils
2. Simplify the rather subtle way in which InlineRules (the
template captured by an INLINE pragma) was simplified.
Now, these templates are always simplified in "gentle"
mode only, and only INLINE things inline inside them.
See Note Note [Gentle mode], Note [Inlining in gentle mode]
and Note [RULEs enabled in SimplGently] in SimplUtils
simonpj@microsoft.com [Wed, 27 Oct 2010 18:56:30 +0000 (18:56 +0000)]
Yet another go at CoreArity
Amazingly, there were still Wrong Things in the arity analysis,
exposed by my fiddling with eta expansion.
I simplified the code, clarified the comments, added more examples,
and tidied it all up. I hope it's better this time.
simonpj@microsoft.com [Wed, 27 Oct 2010 18:42:35 +0000 (18:42 +0000)]
Buglet in tcIface, now that nested binders can have pragmas
This fix ties the knot for recursive groups properly
simonpj@microsoft.com [Wed, 27 Oct 2010 18:41:28 +0000 (18:41 +0000)]
Add strictness for raiseIO# primop
simonpj@microsoft.com [Wed, 27 Oct 2010 18:41:07 +0000 (18:41 +0000)]
Don't worker-wrapper INLINABLE things
See Note [Don't w/w INLINABLE things] in WorkWrap
This fixes a bug that Milan found.