ghc.git
7 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Wed, 3 Oct 2012 10:17:03 +0000 (11:17 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

7 years agoThis big patch re-factors the way in which arrow-syntax is handled
Simon Peyton Jones [Wed, 3 Oct 2012 10:16:22 +0000 (11:16 +0100)] 
This big patch re-factors the way in which arrow-syntax is handled

All the work was done by Dan Winograd-Cort.

The main thing is that arrow comamnds now have their own
data type HsCmd (defined in HsExpr).  Previously it was
punned with the HsExpr type, which was jolly confusing,
and made it hard to do anything arrow-specific.

To make this work, we now parameterise
  * MatchGroup
  * Match
  * GRHSs, GRHS
  * StmtLR and friends
over the "body", that is the kind of thing they
enclose.  This "body" parameter can be instantiated to
either LHsExpr or LHsCmd respectively.

Everything else is really a knock-on effect; there should
be no change (yet!) in behaviour.  But it should be a sounder
basis for fixing bugs.

7 years agoTypo
Jose Pedro Magalhaes [Wed, 3 Oct 2012 07:55:47 +0000 (08:55 +0100)] 
Typo

7 years agoFix type error in 2c207b6f (Compare the kinds of type variables)
Simon Peyton Jones [Wed, 3 Oct 2012 07:15:34 +0000 (08:15 +0100)] 
Fix type error in 2c207b6f (Compare the kinds of type variables)

7 years agoImprove constraint solver depth error slightly
Simon Peyton Jones [Wed, 3 Oct 2012 07:13:46 +0000 (08:13 +0100)] 
Improve constraint solver depth error slightly

7 years agoGive PrimOps a NOINLINE pragma, to suppress silly warnings from dsRule
Simon Peyton Jones [Tue, 2 Oct 2012 16:39:46 +0000 (17:39 +0100)] 
Give PrimOps a NOINLINE pragma, to suppress silly warnings from dsRule

See Trac #7287

7 years agoMake sure that we check for type errors strictly in a Template Haskell splice, even...
Simon Peyton Jones [Mon, 1 Oct 2012 20:52:19 +0000 (21:52 +0100)] 
Make sure that we check for type errors strictly in a Template Haskell splice, even if -fdefer-type-errors is on

We're going to run this code, so there's no point in deferring type
errors.  Worse, TcSplice uses unsafeCoerce (for vevy good reasons),
so splicing a type into a place where an expression is expected would
yield a seg-fault if we plough on regardless.

Fixes Trac #7276

7 years agoCompare the kinds of type variables when comparing types
Simon Peyton Jones [Tue, 2 Oct 2012 17:11:08 +0000 (18:11 +0100)] 
Compare the kinds of type variables when comparing types

This is just a bug that's been around since we introduced
polymorphic kinds.  The roots are in Type.cmpTypeX, but
there was a variant in TcRnDriver.checkBootTyCon, which
is where it came up.

Fixes Trac #7272

7 years agoMerge branch 'tc-untouchables'
Simon Peyton Jones [Tue, 2 Oct 2012 14:20:05 +0000 (15:20 +0100)] 
Merge branch 'tc-untouchables'

7 years agoMerge remote-tracking branch 'origin/master'
Simon Peyton Jones [Tue, 2 Oct 2012 14:18:44 +0000 (15:18 +0100)] 
Merge remote-tracking branch 'origin/master'

7 years agoA few more constraint solver improvements
Simon Peyton Jones [Tue, 2 Oct 2012 08:23:47 +0000 (09:23 +0100)] 
A few more constraint solver improvements

* Get rid of the lookupInInerts stage

* Re-introduce the flat-cache for flattening type-family equations
  See Note [Type family equations] in TcSMonad. My previous clever attempt
  with organising the work list proved too fragile.

  There's a (static) flag -fno-flat-cache to switch if off,
  so you can try with and without

* Improve the -ddump-cs-trace output

* The usual round of refactoring

7 years ago-fhpc is no longer a static flag (fixes hpc tests)
Simon Marlow [Thu, 27 Sep 2012 08:50:33 +0000 (09:50 +0100)] 
-fhpc is no longer a static flag (fixes hpc tests)

7 years agoFix typo in the documentation of CApiFFI
shelarcy [Tue, 2 Oct 2012 08:10:13 +0000 (17:10 +0900)] 
Fix typo in the documentation of CApiFFI

Signed-off-by: Gabor Greif <ggreif@gmail.com>
7 years agoImprove (and simplify) the short-circuiting of Refl coercions
Simon Peyton Jones [Tue, 2 Oct 2012 08:20:53 +0000 (09:20 +0100)] 
Improve (and simplify) the short-circuiting of Refl coercions

The constraint solver sometimes goes to a lot of effort that turns
out to be Refl in the end, and avoiding zonking those proofs is a
useful optimisation. (Trac #5030)

7 years agoComments, and unused import
Simon Peyton Jones [Tue, 2 Oct 2012 07:31:31 +0000 (08:31 +0100)] 
Comments, and unused import

7 years agoMerge branch 'tc-untouchables' of http://darcs.haskell.org/ghc into tc-untouchables
Simon Peyton Jones [Mon, 1 Oct 2012 10:26:12 +0000 (11:26 +0100)] 
Merge branch 'tc-untouchables' of darcs.haskell.org/ghc into tc-untouchables

7 years agoTracing in TcUnify
Simon Peyton Jones [Mon, 1 Oct 2012 10:26:04 +0000 (11:26 +0100)] 
Tracing in TcUnify

7 years agoComments about silent superclasses
Simon Peyton Jones [Mon, 1 Oct 2012 10:24:10 +0000 (11:24 +0100)] 
Comments about silent superclasses

7 years agoModest refactoring (put bumpStepCounter into traceFireTcS, and other simple things)
Simon Peyton Jones [Mon, 1 Oct 2012 10:19:53 +0000 (11:19 +0100)] 
Modest refactoring (put bumpStepCounter into traceFireTcS, and other simple things)

7 years agoModest refactoring in TcCanonical (and TcSMonad)
Simon Peyton Jones [Mon, 1 Oct 2012 09:40:35 +0000 (10:40 +0100)] 
Modest refactoring in TcCanonical (and TcSMonad)

7 years agoSimplify the reOrient function (no change in behaviour)
Simon Peyton Jones [Mon, 1 Oct 2012 09:38:22 +0000 (10:38 +0100)] 
Simplify the reOrient function (no change in behaviour)

7 years agoFix an ASSERT
Simon Peyton Jones [Mon, 1 Oct 2012 09:37:12 +0000 (10:37 +0100)] 
Fix an ASSERT

7 years agoUse System Names for evidence variables
Simon Peyton Jones [Mon, 1 Oct 2012 09:36:13 +0000 (10:36 +0100)] 
Use System Names for evidence variables

These variables all have uniformative names like "cobox" or "d".
Make them System Names tells the pretty printer to show their
uniques even without -dppr-debug.  That in turn makes the
less-voluminous debug traces *much* more informative.

7 years agoComment out a particularly verbose trace
Simon Peyton Jones [Mon, 1 Oct 2012 09:32:16 +0000 (10:32 +0100)] 
Comment out a particularly verbose trace

7 years agoImprove pretty printing for coercions (exp transistivity chains)
Simon Peyton Jones [Mon, 1 Oct 2012 09:31:25 +0000 (10:31 +0100)] 
Improve pretty printing for coercions (exp transistivity chains)

7 years agoAdd missing case in TcUnify.matchExpectedFunKind
Simon Peyton Jones [Sat, 29 Sep 2012 12:37:02 +0000 (13:37 +0100)] 
Add missing case in TcUnify.matchExpectedFunKind

This fixes Trac #7278

7 years agoMerge remote-tracking branch 'origin/master' into tc-untouchables
Simon Peyton Jones [Fri, 28 Sep 2012 14:53:45 +0000 (15:53 +0100)] 
Merge remote-tracking branch 'origin/master' into tc-untouchables

7 years agoRefactor the handling of kind errors
Simon Peyton Jones [Fri, 28 Sep 2012 14:52:00 +0000 (15:52 +0100)] 
Refactor the handling of kind errors

* Treat kind-equality constraints as *derived* equalities,
  with no evidence.  That is really what they are at the moment.

* Get rid of EvKindCast and friends.

* Postpone kind errors properly to the constraint solver
  (lots of small knock-on effects)

I moved SwapFlag to BasicTypes as well

7 years agoBetter ASSERT message
Simon Peyton Jones [Fri, 28 Sep 2012 14:26:21 +0000 (15:26 +0100)] 
Better ASSERT message

7 years agoComments only
Simon Peyton Jones [Fri, 28 Sep 2012 14:25:57 +0000 (15:25 +0100)] 
Comments only

7 years agoFix kind unification in the special rule for ($)
Simon Peyton Jones [Fri, 28 Sep 2012 14:25:41 +0000 (15:25 +0100)] 
Fix kind unification in the special rule for ($)

7 years agoComments only
Simon Peyton Jones [Fri, 28 Sep 2012 14:25:23 +0000 (15:25 +0100)] 
Comments only

7 years agoWibble to debug print
Simon Peyton Jones [Fri, 28 Sep 2012 14:25:14 +0000 (15:25 +0100)] 
Wibble to debug print

7 years agoImprove pretty printing for coercions
Simon Peyton Jones [Fri, 28 Sep 2012 14:24:57 +0000 (15:24 +0100)] 
Improve pretty printing for coercions

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Thu, 27 Sep 2012 13:06:32 +0000 (14:06 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

7 years agoDocument that we don't warn about defining deprecated class methods
Ian Lynagh [Thu, 27 Sep 2012 13:06:03 +0000 (14:06 +0100)] 
Document that we don't warn about defining deprecated class methods

7 years agoTweak the build system handling of shell wrappers
Ian Lynagh [Thu, 27 Sep 2012 00:57:19 +0000 (01:57 +0100)] 
Tweak the build system handling of shell wrappers

Rather than having a separate
    foo_INSTALL_SHELL_WRAPPER
variable, we just use
    foo_INSTALL && foo_SHELL_WRAPPER

7 years agoRemove a stray " in the build system
Ian Lynagh [Thu, 27 Sep 2012 00:50:53 +0000 (01:50 +0100)] 
Remove a stray " in the build system

7 years agoRemove an unused bit from the Lexer bitmap
Ian Lynagh [Wed, 26 Sep 2012 23:55:27 +0000 (00:55 +0100)] 
Remove an unused bit from the Lexer bitmap

7 years agoPartially fix #367 by adding HpLim checks to entry with -fno-omit-yields.
Edward Z. Yang [Mon, 17 Sep 2012 16:28:49 +0000 (18:28 +0200)] 
Partially fix #367 by adding HpLim checks to entry with -fno-omit-yields.

The current fix is relatively dumb as far as where to add HpLim
checks: it will always perform a check unless we know that we're
returning from a closure or we are doing a non let-no-escape case
analysis.  The performance impact on the nofib suite looks like this:

            Min          +5.7%     -0.0%     -6.5%     -6.4%    -50.0%
            Max          +6.3%     +5.8%     +5.0%     +5.5%     +0.8%
 Geometric Mean          +6.2%     +0.1%     +0.5%     +0.5%     -0.8%

Overall, the executable bloat is the biggest problem, so we keep the old
omit-yields optimization on by default. Remember that if you need an
interruptibility guarantee, you need to recompile all of your libraries
with -fno-omit-yields.

A better fix would involve only inserting the yields necessary to break
loops; this is left as future work.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
7 years agoBuild old-time with stage2
Ian Lynagh [Wed, 26 Sep 2012 16:54:57 +0000 (17:54 +0100)] 
Build old-time with stage2

It's no longer needed in order to build the compiler itself.

7 years agofix stage2 compilation
Simon Marlow [Wed, 26 Sep 2012 08:05:48 +0000 (09:05 +0100)] 
fix stage2 compilation

7 years agoRemove some old-codegen cruft
Simon Marlow [Tue, 25 Sep 2012 15:03:36 +0000 (16:03 +0100)] 
Remove some old-codegen cruft

7 years agoWhen -split-objs is on, make one SRT per split, not one per module
Simon Marlow [Tue, 25 Sep 2012 15:02:45 +0000 (16:02 +0100)] 
When -split-objs is on, make one SRT per split, not one per module

This is a hopefully temporary measure until the new SRT design is
implemeented.

7 years agofix panic message typo
Simon Marlow [Tue, 25 Sep 2012 08:56:16 +0000 (09:56 +0100)] 
fix panic message typo

7 years agoMisc tidyup
Simon Marlow [Mon, 24 Sep 2012 10:12:35 +0000 (11:12 +0100)] 
Misc tidyup

7 years agowhitespace and panic message fixup
Simon Marlow [Mon, 24 Sep 2012 09:58:50 +0000 (10:58 +0100)] 
whitespace and panic message fixup

7 years agowhitespace only
Simon Marlow [Fri, 21 Sep 2012 10:04:05 +0000 (11:04 +0100)] 
whitespace only

7 years agoGenerate better code for "if (3 <= x) then ..."
Simon Marlow [Fri, 21 Sep 2012 10:03:13 +0000 (11:03 +0100)] 
Generate better code for "if (3 <= x) then ..."

7 years agono functional changes
Simon Marlow [Fri, 21 Sep 2012 10:05:53 +0000 (11:05 +0100)] 
no functional changes

7 years agoAnother overhaul of the recent_activity / idle GC handling (#5991)
Simon Marlow [Fri, 21 Sep 2012 14:49:22 +0000 (15:49 +0100)] 
Another overhaul of the recent_activity / idle GC handling (#5991)

Improvements:

 - we now turn off the timer signal in the non-threaded RTS after
   idleGCDelay.  This should make the xmonad users on #5991 happy.

 - we now turn off the timer signal after idleGCDelay even if the
   idle GC is disabled with +RTS -I0.

 - we now do *not* turn off the timer when profiling.

 - more comments to explain the meaning of the various ACTIVITY_*
   values

7 years agoRevert "Disable the timer signal while blocked in select() (#5991)"
Simon Marlow [Fri, 21 Sep 2012 14:26:46 +0000 (15:26 +0100)] 
Revert "Disable the timer signal while blocked in select() (#5991)"

This reverts commit dd24d6bc37879c6b32a3d5ac4ee765e59e13501c.

This attempt to fix the problem was misguided: the program might be
stuck in a foreign call rather than awaitEvent(), and then the timer
signal will never get disabled.  The only way to turn off the timer
signal in this case is in the timer interrupt handler itself.

7 years agoIgnore deprecation warnings for bitSize in libs when validating
Ian Lynagh [Sun, 23 Sep 2012 20:46:23 +0000 (21:46 +0100)] 
Ignore deprecation warnings for bitSize in libs when validating

7 years agoUse finiteBitSize rather than bitSize when it is available
Ian Lynagh [Sun, 23 Sep 2012 20:45:11 +0000 (21:45 +0100)] 
Use finiteBitSize rather than bitSize when it is available

7 years agoDon't warn about defining deprecated class methods
Ian Lynagh [Sun, 23 Sep 2012 20:09:01 +0000 (21:09 +0100)] 
Don't warn about defining deprecated class methods

We only warn when the method is used, not when it is defined as part
of an instance.

7 years agoWhitespace only in rename/RnSource.lhs
Ian Lynagh [Sun, 23 Sep 2012 13:52:47 +0000 (14:52 +0100)] 
Whitespace only in rename/RnSource.lhs

7 years agoRemove a redundant cast
Ian Lynagh [Fri, 21 Sep 2012 18:39:36 +0000 (19:39 +0100)] 
Remove a redundant cast

7 years agoFix the profiling build
Ian Lynagh [Fri, 21 Sep 2012 18:38:53 +0000 (19:38 +0100)] 
Fix the profiling build

7 years agoConvert more RTS macros to functions
Ian Lynagh [Fri, 21 Sep 2012 17:36:27 +0000 (18:36 +0100)] 
Convert more RTS macros to functions

Object sizes still unchanged.

7 years agoConvert more RTS macros to functions
Ian Lynagh [Fri, 21 Sep 2012 16:56:14 +0000 (17:56 +0100)] 
Convert more RTS macros to functions

No size changes in the non-debug object files

7 years agoFiddling with kind errors
Simon Peyton Jones [Fri, 21 Sep 2012 13:36:33 +0000 (14:36 +0100)] 
Fiddling with kind errors

7 years agoFix off-by-one (#7227)
Simon Marlow [Tue, 11 Sep 2012 14:12:52 +0000 (16:12 +0200)] 
Fix off-by-one (#7227)

7 years agoInclude pinned memory in the stats for allocated memory
Simon Marlow [Fri, 21 Sep 2012 12:20:37 +0000 (13:20 +0100)] 
Include pinned memory in the stats for allocated memory

This broke with the changes to the pinned object handling in
67f4ab7e6b7705a9d617c6109a8c5434ede13cae.

7 years agoCache the result of countOccupied(gen->large_objects) as gen->n_large_words (#7257)
Simon Marlow [Fri, 21 Sep 2012 12:18:49 +0000 (13:18 +0100)] 
Cache the result of countOccupied(gen->large_objects) as gen->n_large_words (#7257)

The program in #7257 was spending 90% of its time counting the live
data in gen->large_objects.  We already avoid doing this for small
objects, but in this example the old generation was full of large
objects (actually pinned ByteStrings).

7 years agoAllow allocNursery() to allocate single blocks (#7257)
Simon Marlow [Fri, 21 Sep 2012 12:11:22 +0000 (13:11 +0100)] 
Allow allocNursery() to allocate single blocks (#7257)

Forcing large allocations here can creates serious fragmentation in
some cases, and since the large allocations are only a small
optimisation we should allow the nursery to hoover up small blocks
before allocating large chunks.

7 years agoFIX #7255: print tyConTyVars tc, not tc_args
Jose Pedro Magalhaes [Fri, 21 Sep 2012 09:40:24 +0000 (10:40 +0100)] 
FIX #7255: print tyConTyVars tc, not tc_args

7 years agoAdd missing dataCast1 method to the Data Bag instance
Jose Pedro Magalhaes [Fri, 21 Sep 2012 08:00:11 +0000 (09:00 +0100)] 
Add missing dataCast1 method to the Data Bag instance

7 years agoDon't put unused constants in platformConstants
Ian Lynagh [Thu, 20 Sep 2012 22:21:42 +0000 (23:21 +0100)] 
Don't put unused constants in platformConstants

This makes compiling DynFlags a lot quicker

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Thu, 20 Sep 2012 17:05:01 +0000 (18:05 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

7 years agoFix an outright bug in my "left/right" stuff,
Simon Peyton Jones [Thu, 20 Sep 2012 15:36:51 +0000 (16:36 +0100)] 
Fix an outright bug in my "left/right" stuff,
and refactor canEqLeafTyVarEq along the same lines
as our earlier refactoring of canEqLeafFunEq

7 years agoComments only
Simon Peyton Jones [Thu, 20 Sep 2012 15:35:41 +0000 (16:35 +0100)] 
Comments only

7 years agoadd a missing entryCode
Simon Marlow [Thu, 20 Sep 2012 14:55:07 +0000 (15:55 +0100)] 
add a missing entryCode

7 years agosplitAtProcPoints: jump to the right place when tablesNextToCode == False
Simon Marlow [Thu, 20 Sep 2012 14:54:55 +0000 (15:54 +0100)] 
splitAtProcPoints: jump to the right place when tablesNextToCode == False

7 years agofix warnings
Simon Marlow [Thu, 20 Sep 2012 13:12:05 +0000 (14:12 +0100)] 
fix warnings

7 years agofix warning
Simon Marlow [Thu, 20 Sep 2012 13:09:42 +0000 (14:09 +0100)] 
fix warning

7 years agoTeach the linear register allocator how to allocate more stack if necessary
Simon Marlow [Thu, 20 Sep 2012 12:54:49 +0000 (13:54 +0100)] 
Teach the linear register allocator how to allocate more stack if necessary

This squashes the "out of spill slots" panic that occasionally happens
on x86, by adding instructions to bump and retreat the C stack pointer
as necessary.  The panic has become more common since the new codegen,
because we lump code into larger blocks, and the register allocator
isn't very good at reusing stack slots for spilling (see Note [extra
spill slots]).

7 years agorefactor flattenCmmAGraph
Simon Marlow [Thu, 9 Aug 2012 10:24:05 +0000 (11:24 +0100)] 
refactor flattenCmmAGraph

7 years agonon-tablesNextToCode fix for returns in the new codegen
Simon Marlow [Thu, 20 Sep 2012 12:32:12 +0000 (13:32 +0100)] 
non-tablesNextToCode fix for returns in the new codegen

7 years agoRemove redundant pragmas from RegAlloc.Liveness
Ian Lynagh [Thu, 20 Sep 2012 12:43:33 +0000 (13:43 +0100)] 
Remove redundant pragmas from RegAlloc.Liveness

7 years agoMake addSRM to strict additions
Ian Lynagh [Thu, 20 Sep 2012 12:42:03 +0000 (13:42 +0100)] 
Make addSRM to strict additions

I assume that this is what is intended, as it is used with foldl'

7 years agoFix warnings in RegAlloc.Graph.Stats
Ian Lynagh [Thu, 20 Sep 2012 12:40:27 +0000 (13:40 +0100)] 
Fix warnings in RegAlloc.Graph.Stats

7 years agoWhitespace only in nativeGen/RegAlloc/Graph/Stats.hs
Ian Lynagh [Thu, 20 Sep 2012 12:09:43 +0000 (13:09 +0100)] 
Whitespace only in nativeGen/RegAlloc/Graph/Stats.hs

7 years agoMerge remote-tracking branch 'origin/master' into tc-untouchables
Simon Peyton Jones [Thu, 20 Sep 2012 11:14:24 +0000 (12:14 +0100)] 
Merge remote-tracking branch 'origin/master' into tc-untouchables

7 years agoWe don't actually need a Show instance for the PlatformConstants type
Ian Lynagh [Thu, 20 Sep 2012 10:34:38 +0000 (11:34 +0100)] 
We don't actually need a Show instance for the PlatformConstants type

and creating one is quite slow

7 years agoChange some "else return ()"s to use when/unless
Ian Lynagh [Wed, 19 Sep 2012 23:43:34 +0000 (00:43 +0100)] 
Change some "else return ()"s to use when/unless

7 years agoRemove a couple of unneccesary Platform arguments
Ian Lynagh [Wed, 19 Sep 2012 23:30:33 +0000 (00:30 +0100)] 
Remove a couple of unneccesary Platform arguments

7 years agoFix litFitsInChar
Ian Lynagh [Wed, 19 Sep 2012 22:23:48 +0000 (23:23 +0100)] 
Fix litFitsInChar

It was always False before

7 years agoMake some uses of minBound/maxBound use the target Int/Word sizes
Ian Lynagh [Wed, 19 Sep 2012 21:37:01 +0000 (22:37 +0100)] 
Make some uses of minBound/maxBound use the target Int/Word sizes

7 years agoAdd the necessary REP_* constants to platformConstants
Ian Lynagh [Wed, 19 Sep 2012 21:24:25 +0000 (22:24 +0100)] 
Add the necessary REP_* constants to platformConstants

7 years agoMake the StgWord/StgHalfWord types more similar
Ian Lynagh [Wed, 19 Sep 2012 13:49:27 +0000 (14:49 +0100)] 
Make the StgWord/StgHalfWord types more similar

Also added a couple of comments.

7 years agoRemove redundant #includes
Ian Lynagh [Tue, 18 Sep 2012 23:45:41 +0000 (00:45 +0100)] 
Remove redundant #includes

7 years agoAdd some LDV_* constants to platformConstants
Ian Lynagh [Tue, 18 Sep 2012 23:15:15 +0000 (00:15 +0100)] 
Add some LDV_* constants to platformConstants

7 years agoRemove a little more CPP
Ian Lynagh [Tue, 18 Sep 2012 22:35:34 +0000 (23:35 +0100)] 
Remove a little more CPP

7 years agoMake StgWord a portable type too
Ian Lynagh [Tue, 18 Sep 2012 22:22:20 +0000 (23:22 +0100)] 
Make StgWord a portable type too

StgWord is a newtyped Word64, as it needed to be something that
has a UArray instance.

7 years agoMake StgHalfWord a portable type
Ian Lynagh [Tue, 18 Sep 2012 19:44:20 +0000 (20:44 +0100)] 
Make StgHalfWord a portable type

It's now a newtyped Integer. Perhaps a newtyped Word32 would make more
sense, though.

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Tue, 18 Sep 2012 18:05:24 +0000 (19:05 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

7 years agoRemove some uses of the WORDS_BIGENDIAN CPP symbol
Ian Lynagh [Tue, 18 Sep 2012 16:43:15 +0000 (17:43 +0100)] 
Remove some uses of the WORDS_BIGENDIAN CPP symbol

7 years agoMerge remote-tracking branch 'origin/master' into tc-untouchables
Simon Peyton Jones [Tue, 18 Sep 2012 16:40:23 +0000 (17:40 +0100)] 
Merge remote-tracking branch 'origin/master' into tc-untouchables

7 years agoMake sure that even insoluble constraints are fully substituted
Simon Peyton Jones [Tue, 18 Sep 2012 16:39:45 +0000 (17:39 +0100)] 
Make sure that even insoluble constraints are fully substituted

The main change is that canEqFailure does substitution:
see Note [Make sure that insolubles are fully rewritten] in TcCanonical.

However DV and I also found a way to simplify 'flatten' a bit, by
passing a CtFlavour instead of CtEvidence.

7 years agoSignatures and comments
Simon Peyton Jones [Tue, 18 Sep 2012 16:33:05 +0000 (17:33 +0100)] 
Signatures and comments