Ian Lynagh [Fri, 3 Dec 2010 20:15:58 +0000 (20:15 +0000)]
Tell gcc to support back to OS X 10.5
Ian Lynagh [Thu, 2 Dec 2010 14:08:08 +0000 (14:08 +0000)]
Make RelaxedLayout off by default
I suspect this is a vary rarely used extension to the official layout
rule.
simonpj@microsoft.com [Fri, 3 Dec 2010 18:07:58 +0000 (18:07 +0000)]
Fix up TcInstDcls
I really don't know how this module got left out of my last
patch, namely
Thu Dec 2 12:35:47 GMT 2010 simonpj@microsoft.com
* Re-jig simplifySuperClass (again)
I suggest you don't pull either the patch above, or this
one, unless you really have to. I'm not fully confident
that it works properly yet. Ran out of time. Sigh.
Simon Marlow [Fri, 3 Dec 2010 09:48:40 +0000 (09:48 +0000)]
throwTo: report the why_blocked value in the barf()
Simon Marlow [Fri, 3 Dec 2010 09:48:18 +0000 (09:48 +0000)]
handle ThreadMigrating in throwTo() (#4811)
If a throwTo targets a thread that has just been created with
forkOnIO, then it is possible the exception strikes while the thread
is still in the process of migrating. throwTo() didn't handle this
case, but it's fairly straightforward.
Simon Marlow [Thu, 2 Dec 2010 16:08:38 +0000 (16:08 +0000)]
removeThreadFromQueue: stub out the link field before returning (#4813)
Simon Marlow [Fri, 26 Nov 2010 14:06:20 +0000 (14:06 +0000)]
small tidyup
Simon Marlow [Thu, 2 Dec 2010 12:23:49 +0000 (12:23 +0000)]
Fix a recomp bug: make classes/datatypes depend directly on DFuns (#4469)
And remove the old mechanism of recording dfun uses separately,
because it didn't work.
This wiki page describes recompilation avoidance and fingerprinting.
I'll update it to describe the new method and what went wrong with the
old method:
http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/RecompilationAvoidance
Simon Marlow [Wed, 1 Dec 2010 15:17:06 +0000 (15:17 +0000)]
make a panic message more informative and suggest -dcore-lint (see #4534)
simonpj@microsoft.com [Thu, 2 Dec 2010 12:35:47 +0000 (12:35 +0000)]
Re-jig simplifySuperClass (again)
This fixes the current loop in T3731, and will fix other
reported loops. The loops show up when we are generating
evidence for superclasses in an instance declaration.
The trick is to make the "self" dictionary simplifySuperClass
depend *explicitly* on the superclass we are currently trying
to build. See Note [Dependencies in self dictionaries] in TcSimplify.
That in turn means that EvDFunApp needs a dependency-list, used
when chasing dependencies in isGoodRecEv.
simonpj@microsoft.com [Thu, 2 Dec 2010 12:31:10 +0000 (12:31 +0000)]
A little refactoring (remove redundant argument passed to isGoodRecEv)
simonpj@microsoft.com [Thu, 2 Dec 2010 12:25:40 +0000 (12:25 +0000)]
Make rebindable if-then-else a little more permissive
See Note [Rebindable syntax for if]. Fixes Trac #4798.
Thanks to Nils Schweinsberg <mail@n-sch.de>
simonpj@microsoft.com [Thu, 2 Dec 2010 10:27:06 +0000 (10:27 +0000)]
Improve error message (Trac #4799)
simonpj@microsoft.com [Thu, 2 Dec 2010 10:26:18 +0000 (10:26 +0000)]
Fix a nasty bug in RULE matching: Trac #4814
See Note [Matching lets], which explains it all in detail.
It took me a day to think of a nice way to fix the bug,
but I think the result is quite respectable. Subtle, though.
Ben Lippmeier [Tue, 30 Nov 2010 07:54:15 +0000 (07:54 +0000)]
Rename -XPArr to -XParallelArrays
pho@cielonegro.org [Tue, 30 Nov 2010 14:30:14 +0000 (14:30 +0000)]
FIX #1845 (unconditional relative branch out of range)
Don't use mmap on powerpc-apple-darwin as mmap doesn't support
reallocating but we need to allocate jump islands just after each
object images. Otherwise relative branches to jump islands can fail
due to 24-bits displacement overflow.
pho@cielonegro.org [Tue, 30 Nov 2010 14:27:00 +0000 (14:27 +0000)]
rts/Linker.c (loadArchive):
This routine should be aware of Mach-O misalignment of malloc'ed memory regions.
pho@cielonegro.org [Tue, 30 Nov 2010 12:33:55 +0000 (12:33 +0000)]
rts/Linker.c (machoGetMisalignment):
Use fseek(3) instead of rewind(3) to move the file position indicator back to the initial position. Otherwise we can't use this function in loadArchive().
pho@cielonegro.org [Tue, 30 Nov 2010 12:14:25 +0000 (12:14 +0000)]
rts/Linker.c (ocFlushInstructionCache):
I found this function causes a segfault when ocAllocateSymbolExtras() has allocated a separate memory region for jump islands.
Ian Lynagh [Wed, 1 Dec 2010 18:11:17 +0000 (18:11 +0000)]
Remove NewQualifiedOperators
The extension was rejected by Haskell', and deprecated in 7.0.
Simon Marlow [Wed, 1 Dec 2010 09:21:47 +0000 (09:21 +0000)]
fix ref to utils/ext-core, which moved to Hackage (extcore package)
Simon Marlow [Wed, 1 Dec 2010 09:21:19 +0000 (09:21 +0000)]
fix floating-point/FFI section: fenv is C99, not POSIX
keller@cse.unsw.edu.au [Tue, 30 Nov 2010 01:34:25 +0000 (01:34 +0000)]
Fixed some 'unused vars' warnings
keller@cse.unsw.edu.au [Mon, 29 Nov 2010 23:10:43 +0000 (23:10 +0000)]
vectScalarLam handles int, float, and double now
keller@cse.unsw.edu.au [Mon, 15 Nov 2010 05:12:25 +0000 (05:12 +0000)]
Handling of lets, letrec and case when checking if a lambda expr needs to be vectorised
Simon Marlow [Fri, 26 Nov 2010 12:53:36 +0000 (12:53 +0000)]
Document the behaviour of fenv.h functions with GHC (#4391)
Ian Lynagh [Sat, 27 Nov 2010 23:58:05 +0000 (23:58 +0000)]
Remove the no-ghci-lib warning in ghc-pkg
GHCi libs are no longer necessary, as we can use the .a or .so versions
instead.
Ian Lynagh [Sat, 27 Nov 2010 22:39:45 +0000 (22:39 +0000)]
Add GNU-variant support to the .a parser, and other improvements/tidyups
Ian Lynagh [Sat, 27 Nov 2010 19:16:46 +0000 (19:16 +0000)]
Re-indent only
Ian Lynagh [Sat, 27 Nov 2010 19:09:07 +0000 (19:09 +0000)]
Improve linker debugging for archive files
Ian Lynagh [Sat, 27 Nov 2010 17:30:00 +0000 (17:30 +0000)]
Always enable the archive-loading code
If the GHCi .o lib doesn't exist, load the .a instead
Roman Leshchinskiy [Sat, 27 Nov 2010 12:50:25 +0000 (12:50 +0000)]
Inherit the ForceSpecConstr flag in non-recursive nested bindings
This makes sure that join points are fully specialised in loops which are
marked as ForceSpecConstr.
Roman Leshchinskiy [Sat, 27 Nov 2010 12:35:28 +0000 (12:35 +0000)]
Document -ddump-rule-firings and -ddump-rule-rewrites
Roman Leshchinskiy [Sat, 27 Nov 2010 12:20:22 +0000 (12:20 +0000)]
New flag -dddump-rule-rewrites
Now, -ddump-rule-firings only shows the names of the rules that fired (it would
show "before" and "after" with -dverbose-core2core previously) and
-ddump-rule-rewrites always shows the "before" and "after" bits, even without
-dverbose-core2core.
simonpj@microsoft.com [Fri, 26 Nov 2010 16:24:09 +0000 (16:24 +0000)]
Acutally, wild-card variables *can* have occurrences
This patch removes the Lint test, and comments why
simonpj@microsoft.com [Fri, 26 Nov 2010 13:32:10 +0000 (13:32 +0000)]
Tidy up the handling of wild-card binders, and make Lint check it
See Note [WildCard binders] in SimplEnv. Spotted by Roman.
simonpj@microsoft.com [Thu, 25 Nov 2010 17:23:56 +0000 (17:23 +0000)]
Substitution should just substitute, not optimise
This was causing Trac #4524, by optimising
(e |> co) to e
on the LHS of a rule. Result, the template variable
'co' wasn't bound any more.
Now that substition doesn't optimise, it seems sensible to call
simpleOptExpr rather than substExpr when substituting in the
RHS of rules. Not a big deal either way.
simonpj@microsoft.com [Thu, 25 Nov 2010 17:21:38 +0000 (17:21 +0000)]
Make SpecConstr "look through" identity coercions
simonpj@microsoft.com [Thu, 25 Nov 2010 17:20:11 +0000 (17:20 +0000)]
Comment only
simonpj@microsoft.com [Mon, 1 Nov 2010 08:07:48 +0000 (08:07 +0000)]
White space only
Simon Marlow [Thu, 25 Nov 2010 13:57:29 +0000 (13:57 +0000)]
Keep a maximum of 6 spare worker threads per Capability (#4262)
Simon Marlow [Mon, 15 Nov 2010 09:54:44 +0000 (09:54 +0000)]
Unicide OtherNumber category should be allowed in identifiers (#4373)
Ben Lippmeier [Fri, 26 Nov 2010 04:40:36 +0000 (04:40 +0000)]
vectoriser: fix warning
Ben Lippmeier [Fri, 26 Nov 2010 04:29:50 +0000 (04:29 +0000)]
vectoriser: fix warning
Ben Lippmeier [Fri, 26 Nov 2010 04:29:00 +0000 (04:29 +0000)]
vectoriser: take class directly from the instance tycon
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]