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]
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