ghc.git
6 years agoTweak ANNONCE ghc-7.6.2-release
Ian Lynagh [Tue, 29 Jan 2013 17:25:24 +0000 (17:25 +0000)] 
Tweak ANNONCE

6 years agoUpdate ANNOUNCE
Ian Lynagh [Tue, 29 Jan 2013 17:22:52 +0000 (17:22 +0000)] 
Update ANNOUNCE

6 years agoSet version number to 7.6.2 and set RELEASE to YES
Ian Lynagh [Sun, 27 Jan 2013 14:00:49 +0000 (14:00 +0000)] 
Set version number to 7.6.2 and set RELEASE to YES

6 years agoExpose genericRaise; fixes signals004(dyn) no OS X 32
Ian Lynagh [Thu, 17 Jan 2013 21:54:06 +0000 (21:54 +0000)] 
Expose genericRaise; fixes signals004(dyn) no OS X 32

6 years agoUse pthread_kill on OS X too
Ian Lynagh [Thu, 17 Jan 2013 19:23:17 +0000 (19:23 +0000)] 
Use pthread_kill on OS X too

Fixes signals004(threaded1,threaded2) on OS X 32.

6 years agoExpose the prototype for getMonotonicNSec
Ian Lynagh [Thu, 17 Jan 2013 15:33:26 +0000 (15:33 +0000)] 
Expose the prototype for getMonotonicNSec

Fixes T3807 on OS X 32.

6 years agoFix typo in docs; spotted by Gabor Greif
Ian Lynagh [Sat, 12 Jan 2013 16:07:03 +0000 (16:07 +0000)] 
Fix typo in docs; spotted by Gabor Greif

6 years agoadd X86_64_GOTTPOFF relocation for errno
Simon Marlow [Mon, 20 Aug 2012 14:13:45 +0000 (15:13 +0100)] 
add X86_64_GOTTPOFF relocation for errno

Submitted by: Markus Pfeiffer <markus.pfeiffer@morphism.de> on cvs-ghc

6 years agoChange RTS hook APIs to match 7.6.1
Ian Lynagh [Sat, 12 Jan 2013 13:40:16 +0000 (13:40 +0000)] 
Change RTS hook APIs to match 7.6.1

6 years agoFix build for 7.6 branch
Ian Lynagh [Fri, 4 Jan 2013 20:21:00 +0000 (20:21 +0000)] 
Fix build for 7.6 branch

6 years agoFix bug in External Core pretty printer (fixes Trac #7547)
Simon Peyton Jones [Wed, 2 Jan 2013 15:47:31 +0000 (15:47 +0000)] 
Fix bug in External Core pretty printer (fixes Trac #7547)

This bug was making GHC loop when printing external core from test T7239.

6 years agoSet DBLATEX_OPTS to -P 'filename.as.url=0' (fixes #7486)
Ian Lynagh [Fri, 4 Jan 2013 01:46:21 +0000 (01:46 +0000)] 
Set DBLATEX_OPTS to -P 'filename.as.url=0' (fixes #7486)

Apparently this fixes the build with dblatex 0.3.4.

6 years agoUpdate strictness documentation (Trac #7546)
Simon Peyton Jones [Wed, 2 Jan 2013 15:43:34 +0000 (15:43 +0000)] 
Update strictness documentation (Trac #7546)

6 years agoTidy the type in badInstSigErr (fixes Trac #7545)
Simon Peyton Jones [Wed, 2 Jan 2013 16:24:14 +0000 (16:24 +0000)] 
Tidy the type in badInstSigErr (fixes Trac #7545)

6 years agoPass the correct inst_tys argument to dataConCannotMatch, in mkRecSelBinds
Simon Peyton Jones [Wed, 19 Dec 2012 17:37:27 +0000 (17:37 +0000)] 
Pass the correct inst_tys argument to dataConCannotMatch, in mkRecSelBinds

This fixes Trac #7503.

6 years agoFix TcUnify.matchExpectedTyConApp so that it returns types of compatible kinds
Simon Peyton Jones [Wed, 19 Dec 2012 23:49:47 +0000 (23:49 +0000)] 
Fix TcUnify.matchExpectedTyConApp so that it returns types of compatible kinds

This fixes Trac #7368. The problem was that we were matching
   Bad w ~ f (Bad f)
where (f :: * -> *).  Thta leads to (w ~ Bad f), which is
ill-kinded, but matchExpectedTyConApp was returning the (Bad f)
as the argument type, and that was being used to instanatiate
w in the data constructor type, which is very bad.

The code also becomes simpler and easier to understand, which is
an excellent thing.

6 years agoA better fix for #7493 (see comment for details)
Simon Marlow [Tue, 18 Dec 2012 09:10:26 +0000 (09:10 +0000)] 
A better fix for #7493 (see comment for details)

6 years agoRevert "MERGED: Fix a bug in the handling of nested orElse"
Ian Lynagh [Thu, 3 Jan 2013 22:34:21 +0000 (22:34 +0000)] 
Revert "MERGED: Fix a bug in the handling of nested orElse"

This reverts commit 5ea49271f793ed0f872342bf6a1cb0de10a48d94.

6 years agoFix #7487
Jose Pedro Magalhaes [Fri, 7 Dec 2012 16:24:06 +0000 (16:24 +0000)] 
Fix #7487

Signed-off-by: Jose Pedro Magalhaes <jpm@cs.ox.ac.uk>
6 years agodocument special "this" syntax for PackageImports (#7409)
Simon Marlow [Tue, 11 Dec 2012 09:20:24 +0000 (09:20 +0000)] 
document special "this" syntax for PackageImports (#7409)

6 years agoMERGED: Fix a bug in the handling of nested orElse
Ian Lynagh [Fri, 14 Dec 2012 21:57:48 +0000 (21:57 +0000)] 
MERGED: Fix a bug in the handling of nested orElse

    commit f184d9caffa09750ef6a374a7987b9213d6db28e
    Author: Simon Marlow <marlowsd@gmail.com>
    Date:   Mon Dec 10 12:00:54 2012 +0000

    Fix a bug in the handling of nested orElse

    Exposed by the following snippet, courtesy of Bas van Dijk and Patrick
    Palka on libraries@haskell.org:

    import Control.Concurrent.STM
    main = do
      x <- atomically $ do
             t <- newTVar 1
             writeTVar t 2
             ((readTVar t >> retry) `orElse` return ()) `orElse` return ()
             readTVar t
      print x

6 years agoStop attempting to "trim" data types in interface files
Simon Peyton Jones [Thu, 6 Dec 2012 16:03:16 +0000 (16:03 +0000)] 
Stop attempting to "trim" data types in interface files

Without -O, we previously tried to make interface files smaller
by not including the data constructors of data types.  But
there are a lot of exceptions, notably when Template Haskell is
involved or, more recently, DataKinds.

However Trac #7445 shows that even without TemplateHaskell, using
the Data class and invoking Language.Haskell.TH.Quote.dataToExpQ
is enough to require us to expose the data constructors.

So I've given up on this "optimisation" -- it's probably not
important anyway.  Now I'm simply not attempting to trim off
the data constructors.  The gain in simplicity is worth the
modest cost in interface file growth, which is limited to the
bits reqd to describe those data constructors.

Conflicts:
compiler/main/TidyPgm.lhs

6 years agoRelease notes update
Ian Lynagh [Fri, 7 Dec 2012 15:47:55 +0000 (15:47 +0000)] 
Release notes update

6 years agoInvalidate the ModSummary cache in setSessionDynFlags (#7478)
Simon Marlow [Fri, 7 Dec 2012 12:05:29 +0000 (12:05 +0000)] 
Invalidate the ModSummary cache in setSessionDynFlags (#7478)

6 years agofix code in library initialisation example (#7471)
Simon Marlow [Fri, 7 Dec 2012 10:35:40 +0000 (10:35 +0000)] 
fix code in library initialisation example (#7471)

6 years agoDocument promotion of existential data types
Simon Peyton Jones [Wed, 5 Dec 2012 16:41:53 +0000 (16:41 +0000)] 
Document promotion of existential data types

Thanks to Richard Eisenberg for writing this.

6 years agoAllow existential data constructors to be promoted
Simon Peyton Jones [Wed, 5 Dec 2012 11:07:38 +0000 (11:07 +0000)] 
Allow existential data constructors to be promoted

This reverts the change in Trac #7347, which prevented promotion
of existential data constructors.  Ones with constraints in
their types, or kind polymorphism, still can't be promoted.

6 years agoMore release notes
Ian Lynagh [Fri, 7 Dec 2012 00:41:07 +0000 (00:41 +0000)] 
More release notes

6 years agoStart on release notes for 7.6.2
Ian Lynagh [Fri, 7 Dec 2012 00:18:29 +0000 (00:18 +0000)] 
Start on release notes for 7.6.2

6 years agoFix Trac #7453 on the 7.6 branch
Simon Peyton Jones [Mon, 3 Dec 2012 16:57:30 +0000 (16:57 +0000)] 
Fix Trac #7453 on the 7.6 branch

This patch fixes a quite egregious bug. runTcS was intialising
the 'untouchables' to NoUntouchables, which is quite wrong for
the invocation in TcSimplify.simplifyInfer.  Result: missed
skolem-escape check and seg-fault city.

All this is done differently, and better, in HEAD, so this
patch is needed only on the branch.

6 years agoOn Win64, mark executables as not supporting bigaddr; fixes #7134
Ian Lynagh [Sun, 2 Dec 2012 14:48:20 +0000 (14:48 +0000)] 
On Win64, mark executables as not supporting bigaddr; fixes #7134

This is a kludge, and means that ghc/haddock won't be able to use
more than 2G of RAM. But it'll make sure that ghci works in the short
term while we work on a proper fix.

6 years agoImprove kind inference for tuple types
Simon Peyton Jones [Mon, 26 Nov 2012 12:07:37 +0000 (12:07 +0000)] 
Improve kind inference for tuple types

Trac #7410 pointed out a terrible error message, which is
much improved by this patch.

Conflicts:
compiler/typecheck/TcHsType.lhs

6 years agoMake Constraint and * look identical in Core (System FC)
Simon Peyton Jones [Mon, 26 Nov 2012 11:56:56 +0000 (11:56 +0000)] 
Make Constraint and * look identical in Core (System FC)

Fixes Trac #7451. See Note [Kind Constraint and kind *] in Kind.lhs.

Conflicts:
compiler/types/Kind.lhs
compiler/types/Type.lhs

6 years agoReject promoted constructors when -XDataKinds is not enabled (FIX #7433)
Jose Pedro Magalhaes [Wed, 21 Nov 2012 13:13:44 +0000 (13:13 +0000)] 
Reject promoted constructors when -XDataKinds is not enabled (FIX #7433)

6 years agoAn accidentally-omitted part of commit 8019bc2c, about promoting data constructors
Simon Peyton Jones [Fri, 19 Oct 2012 19:29:06 +0000 (20:29 +0100)] 
An accidentally-omitted part of commit 8019bc2c, about promoting data constructors

6 years agoOnly promote *non-existential* data constructors
Simon Peyton Jones [Fri, 19 Oct 2012 11:53:21 +0000 (12:53 +0100)] 
Only promote *non-existential* data constructors

I don't konw how this was left out before; Trac #7347.

In fixing this I did the usual round of refactoring.  In particular, I
cached the fact that a DataCon can be promoted in the DataCon
itself (the dcPromoted field).

6 years agoMERGED: Compare the kinds of type variables when comparing types
Ian Lynagh [Thu, 29 Nov 2012 16:42:20 +0000 (16:42 +0000)] 
MERGED: Compare the kinds of type variables when comparing types

    commit 2c207b6f60ba5d271f400747256e4a32ca8f7e63

    Author: Simon Peyton Jones <simonpj@microsoft.com>
    Date:   Tue Oct 2 18:11:08 2012 +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

6 years agoMERGED: Give PrimOps a NOINLINE pragma, to suppress silly warnings from dsRule
Ian Lynagh [Thu, 29 Nov 2012 16:12:07 +0000 (16:12 +0000)] 
MERGED: Give PrimOps a NOINLINE pragma, to suppress silly warnings from dsRule

    commit 419af69c1bea2cecce7b4bf58162cbfac81526f2
    Author: Simon Peyton Jones <simonpj@microsoft.com>
    Date:   Tue Oct 2 17:39:46 2012 +0100

    Give PrimOps a NOINLINE pragma, to suppress silly warnings from dsRule

    See Trac #7287

6 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

6 years agoUse the right environment for tidying the types of a data constructor
Simon Peyton Jones [Fri, 23 Nov 2012 16:57:57 +0000 (16:57 +0000)] 
Use the right environment for tidying the types of a data constructor

Fixes Trac #7438

6 years agoFix the instantiation of data constructors in the GHCi debugger
Simon Peyton Jones [Tue, 6 Nov 2012 15:55:39 +0000 (15:55 +0000)] 
Fix the instantiation of data constructors in the GHCi debugger

This bug caused Trac #7386, because in the (rather tricky) "type
inference" (aka run time type reconstruction) done by the GHCi
debugger, we were failing to instantiate a data type family
correctly.  When that code was written we didn't *have* data
families.

I wrote Note [Constructor arg types] to explain the new scheme.

6 years agoFix bug with reporting deprecated use of flag (Trac #7349)
Simon Peyton Jones [Mon, 29 Oct 2012 23:19:32 +0000 (23:19 +0000)] 
Fix bug with reporting deprecated use of flag (Trac #7349)

6 years agoImprove reporting of duplicate signatures
Simon Peyton Jones [Fri, 19 Oct 2012 11:01:04 +0000 (12:01 +0100)] 
Improve reporting of duplicate signatures

Fixes Trac #7338

6 years agoBe lazier when typechecking data type contexts (Trac #7321)
Simon Peyton Jones [Fri, 12 Oct 2012 07:15:44 +0000 (08:15 +0100)] 
Be lazier when typechecking data type contexts (Trac #7321)

We should be lazy when type-checking the equality-contraint
part of a data constructor's type, to make the knot-tying
work out right.  The fact that it's always worked before
is a fluke: no one else wrote a GADT whose type index mentions
itself
  data T a wher
    MkT :: T (T Int)

6 years agoFix doc typo; fixes #7318
Ian Lynagh [Thu, 25 Oct 2012 19:54:41 +0000 (20:54 +0100)] 
Fix doc typo; fixes #7318

6 years agoEnsure we produce a FunTy for functions (Trac #7312)
Simon Peyton Jones [Wed, 10 Oct 2012 18:10:18 +0000 (19:10 +0100)] 
Ensure we produce a FunTy for functions (Trac #7312)

The issue here was with a function type written prefix
  (->) a b
where we were not generating a FunTy, which blew the
invariant that function types are always FunTys.  We
can't look at the TyCon directly because it may be
knot-tied, so we look at the name instead.

6 years agorts: Ignore signal before deleting timer. Fixes #7303.
Erik de Castro Lopo [Sat, 6 Oct 2012 07:23:01 +0000 (17:23 +1000)] 
rts: Ignore signal before deleting timer. Fixes #7303.

Was getting an ocassional hang or segfault when building GHC in a
Qemu user space emulation of ARM. Turned out that the ITIMER_SIGNAL
was being delivered *after* the call to timer_delete(). Setting the
signal to SIG_IGN before deleting the timer solves the problem.

6 years agoWrap a bracket quotation in a coercion that makes it have the right type
Simon Peyton Jones [Mon, 15 Oct 2012 14:07:16 +0000 (15:07 +0100)] 
Wrap a bracket quotation in a coercion that makes it have the right type

This is the right fix to Trac #7276 (part 2), which makes the
interaction with -fdefer-type-errors and TH work properly.

6 years agoFix #7231: don't unload stable modules when there is an error later
Simon Marlow [Tue, 27 Nov 2012 08:55:31 +0000 (08:55 +0000)] 
Fix #7231: don't unload stable modules when there is an error later

6 years agoMERGED: Fix building on Sparc/Solaris with non-GNU linker; fixes #5407
Ian Lynagh [Thu, 29 Nov 2012 13:33:05 +0000 (13:33 +0000)] 
MERGED: Fix building on Sparc/Solaris with non-GNU linker; fixes #5407

commit 9ef4d48e296d4b96492a839f9ee569f8f90c617b
Author: Ian Lynagh <ian@well-typed.com>
Date:   Fri Nov 23 16:54:15 2012 +0000

    Fix building on Sparc/Solaris with non-GNU linker; fixes #5407

    Patch from maeder.

6 years agoOS X build fixes
Ian Lynagh [Sat, 17 Nov 2012 00:17:14 +0000 (00:17 +0000)] 
OS X build fixes

6 years agoMore OS X build fixes
Ian Lynagh [Fri, 16 Nov 2012 23:54:58 +0000 (23:54 +0000)] 
More OS X build fixes

Conflicts:

rts/sm/Sanity.c

6 years agoMore OS X build fixes
Ian Lynagh [Fri, 16 Nov 2012 23:53:36 +0000 (23:53 +0000)] 
More OS X build fixes

6 years agoBuild fix on OS X
Ian Lynagh [Fri, 16 Nov 2012 23:23:24 +0000 (23:23 +0000)] 
Build fix on OS X

6 years agowibbles to #5252.
Paolo Capriotti [Tue, 6 Nov 2012 14:41:12 +0000 (14:41 +0000)] 
wibbles to #5252.

6 years agoFix #7087 (integer overflow in getDelayTarget())
Simon Marlow [Tue, 31 Jul 2012 08:06:43 +0000 (09:06 +0100)] 
Fix #7087 (integer overflow in getDelayTarget())

MERGED from commit 598ee1ad1b8de089a2ed207543761d617a90db52

6 years agoMerge fix for #5252.
Paolo Capriotti [Tue, 6 Nov 2012 14:14:06 +0000 (14:14 +0000)] 
Merge fix for #5252.

Based on:

  commit 5bae803a18b17bdb158a7780e6b6ac3c520e5b39
  Author: Simon Peyton Jones <simonpj@microsoft.com>
  Date:   Sat Sep 15 23:09:25 2012 +0100

      Fix UNPACK with -fomit-interface-pragmas.

      We were missing a case, so that you could expose a constructor
      with UNPACKed fields, but the field tpye was trimmed, and hence
      can't be expanded.

      Fixes Trac #5252 (revived)

6 years agofprintCCS_stderr: untag the exception (#7319)
Simon Marlow [Wed, 24 Oct 2012 12:39:34 +0000 (13:39 +0100)] 
fprintCCS_stderr: untag the exception (#7319)

MERGED from commit 467e1a623d405440021e92572638be22f0cf5dda

6 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.

MERGED from commit 673b6f50eca6f53cfb13b00e587c403c716baba1

6 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

MERGED from commit 0b79d5cd4687dacf7efd430df7fba9d9a5a5ce32

6 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.

MERGED from commit c19f2e320a575a66d31c83d846ce3cc954c4ab3b

6 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.

MERGED from commit 1f5d83648dfda39d999eb8a9e8192339b3eea540

6 years agoSome further tweaks to reduce fragmentation when allocating the nursery
Simon Marlow [Fri, 7 Sep 2012 12:36:09 +0000 (13:36 +0100)] 
Some further tweaks to reduce fragmentation when allocating the nursery

MERGED from commit a8179622f84bbd52e127a9596d2d4a918ca64e0c

6 years agoReduce fragmentation when using +RTS -H (with or without a size)
Simon Marlow [Tue, 21 Aug 2012 10:39:06 +0000 (11:39 +0100)] 
Reduce fragmentation when using +RTS -H (with or without a size)

MERGED from commit a68df77ede928e6c7790dacb5925625792a904d3

6 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).

MERGED from commit 016fd74d6517512b62b36ff12cdccf2e723a0fb3

6 years agoUse perl interpreter in the PATH.
Paolo Capriotti [Thu, 1 Nov 2012 14:40:32 +0000 (14:40 +0000)] 
Use perl interpreter in the PATH.

6 years agofix obvious typos
Gabor Greif [Fri, 12 Oct 2012 07:40:09 +0000 (09:40 +0200)] 
fix obvious typos

these can go into the release 7.6.2 too, I guess

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

6 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>
6 years agoUse the right arch name in the Windows installer filename
Ian Lynagh [Sun, 12 Aug 2012 18:43:51 +0000 (19:43 +0100)] 
Use the right arch name in the Windows installer filename

6 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

6 years agoPrint literal integers in External Core.
Simon Peyton Jones [Sat, 15 Sep 2012 22:12:23 +0000 (23:12 +0100)] 
Print literal integers in External Core.

6 years agoBind "given" evidence to a variable, always
Simon Peyton Jones [Fri, 14 Sep 2012 23:12:16 +0000 (00:12 +0100)] 
Bind "given" evidence to a variable, always

This was being done in xCtFlavor, but not in rewriteCtFlavor,
resulting in Trac #7238.

See Note [Bind new Givens immediately] in TcSMonad and
and Note [Coercion evidence terms] in TcEvidence.

6 years agoFix Trac #7237; mixup with empty tuples
Simon Peyton Jones [Sat, 15 Sep 2012 22:06:20 +0000 (23:06 +0100)] 
Fix Trac #7237; mixup with empty tuples

When converting from Core to STG, we swith pattern matching on
on a *nullary* unboxed tuple into matching using a PrimAlt on RealWorld#
   case e (RealWorld#) of { DEFAULT -> ... }
This semms messy to me, but it works.  There was a bug in that we were
changing to PrimAlt, but not using a DEFAULT AltCon.

6 years agoRemember to zonk the skolems of an implication
Simon Peyton Jones [Sun, 9 Sep 2012 06:07:39 +0000 (07:07 +0100)] 
Remember to zonk the skolems of an implication

Their kinds may contain kind unification variables!

This patch fixes Trac #7230.

6 years agoTwo fixes to kind unification
Simon Peyton Jones [Mon, 10 Sep 2012 12:13:24 +0000 (13:13 +0100)] 
Two fixes to kind unification

* Don't unify a kind signature-variable with non-tyvar kind
* Don't allow a kind variable to appear in a type
  (Trac #7224)

6 years agoFail nicely when encountering an invalid bang annotation (#7210)
Patrick Palka [Mon, 3 Sep 2012 14:27:26 +0000 (10:27 -0400)] 
Fail nicely when encountering an invalid bang annotation (#7210)

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

6 years agoMerge #7050 fix
Ian Lynagh [Thu, 11 Oct 2012 22:35:11 +0000 (23:35 +0100)] 
Merge #7050 fix

Based on

    commit ba8fd081ba9b222dd5f93604d7deeaca372e4511
    Author: Simon Peyton Jones <simonpj@microsoft.com>
    Date:   Mon Sep 17 18:22:10 2012 +0100

    Make the call to chooseBoxingStrategy lazy again

6 years agoFix Trac #7280 by zonking the final_quant_candidates in simplifyInfer
Simon Peyton Jones [Mon, 8 Oct 2012 07:33:41 +0000 (08:33 +0100)] 
Fix Trac #7280 by zonking the final_quant_candidates in simplifyInfer

This fix is only needed on the branch; HEAD already works differently
(and correctly).

6 years agoFix typo in the documentation of -fdefer-type-errors.
Paolo Capriotti [Sun, 9 Sep 2012 12:33:24 +0000 (13:33 +0100)] 
Fix typo in the documentation of -fdefer-type-errors.

6 years agoWhen using -H with -M<size>, don't exceed the maximum heap size
Simon Marlow [Fri, 7 Sep 2012 12:35:16 +0000 (13:35 +0100)] 
When using -H with -M<size>, don't exceed the maximum heap size

MERGED from commit 4d208aed2f433cd2f46a7df016bad50af2e07e40

6 years agoLots of nat -> StgWord changes
Simon Marlow [Fri, 7 Sep 2012 15:01:36 +0000 (16:01 +0100)] 
Lots of nat -> StgWord changes

MERGED from commit bf2d58c2356578e87c1b09de0636a7cf57c71fe7

6 years agoDeprecate lnat, and use StgWord instead
Simon Marlow [Fri, 7 Sep 2012 12:55:11 +0000 (13:55 +0100)] 
Deprecate lnat, and use StgWord instead

lnat was originally "long unsigned int" but we were using it when we
wanted a 64-bit type on a 64-bit machine.  This broke on Windows x64,
where long == int == 32 bits.  Using types of unspecified size is bad,
but what we really wanted was a type with N bits on an N-bit machine.
StgWord is exactly that.

lnat was mentioned in some APIs that clients might be using
(e.g. StackOverflowHook()), so we leave it defined but with a comment
to say that it's deprecated.

MERGED from commit 41737f12f99c9ea776f7658b93e5b03ffc8f120b

6 years agosome nats should be lnats
Simon Marlow [Fri, 7 Sep 2012 12:35:27 +0000 (13:35 +0100)] 
some nats should be lnats

MERGED from commit abb875d921f3c89416e74513d41f54b5ed69d6bc

6 years agoBuild fix for GHC 7.0
Ian Lynagh [Sat, 8 Sep 2012 17:28:34 +0000 (18:28 +0100)] 
Build fix for GHC 7.0

6 years agoFix typo in release notes
Ian Lynagh [Fri, 7 Sep 2012 00:24:42 +0000 (01:24 +0100)] 
Fix typo in release notes

6 years agoRevert "Update to bytestring 0.10.1.0"
Ian Lynagh [Thu, 6 Sep 2012 21:56:30 +0000 (22:56 +0100)] 
Revert "Update to bytestring 0.10.1.0"

This reverts commit bc4e74bb19f7471c79650c1fe5aa74c905280ecd.

We shipped with 0.10.0.0

6 years agoFix #7215: we weren't calculating the hashes correctly for sub-binders
Simon Marlow [Wed, 5 Sep 2012 15:38:50 +0000 (16:38 +0100)] 
Fix #7215: we weren't calculating the hashes correctly for sub-binders

MERGED from commit 583c87d00d2058b1a073ea1f5d7f4e0d92b7a9a4

6 years agoUpdate to bytestring 0.10.1.0
Paolo Capriotti [Thu, 6 Sep 2012 09:20:00 +0000 (10:20 +0100)] 
Update to bytestring 0.10.1.0

6 years agoUpdate release notes.
Paolo Capriotti [Mon, 20 Aug 2012 13:42:11 +0000 (14:42 +0100)] 
Update release notes.

6 years agoSet RELEASE back to NO
Ian Lynagh [Wed, 5 Sep 2012 12:25:47 +0000 (13:25 +0100)] 
Set RELEASE back to NO

6 years agoFix build ghc-7.6.1-release
Ian Lynagh [Tue, 4 Sep 2012 13:09:19 +0000 (14:09 +0100)] 
Fix build

6 years agoUpdate version number and set RELEASE to YES
Ian Lynagh [Tue, 4 Sep 2012 13:01:14 +0000 (14:01 +0100)] 
Update version number and set RELEASE to YES

6 years agoMERGED: Fix fencepost and byte/word bugs in cloneArray/copyArray (#7185)
Ian Lynagh [Tue, 4 Sep 2012 13:00:12 +0000 (14:00 +0100)] 
MERGED: Fix fencepost and byte/word bugs in cloneArray/copyArray (#7185)

From:
    commit 8aabe8d06f7202c9a6cd1133e0b1ebc81338eed9
    Author: Simon Marlow <marlowsd@gmail.com>
    Date:   Tue Aug 28 15:52:38 2012 +0100

6 years agoRevert "Reduce the likelihood of x64/x86-64 changes breaking the build on other arche...
Ian Lynagh [Mon, 3 Sep 2012 18:03:00 +0000 (19:03 +0100)] 
Revert "Reduce the likelihood of x64/x86-64 changes breaking the build on other arches (#7083)."

This reverts commit a2e589a1dcd5c74447d8f12b2db79474cca73850.

Looks like it broke the build on x86/Windows.

6 years agoReduce the likelihood of x64/x86-64 changes breaking the build on other arches (...
Erik de Castro Lopo [Tue, 7 Aug 2012 20:44:00 +0000 (06:44 +1000)] 
Reduce the likelihood of x64/x86-64 changes breaking the build on other arches (#7083).

Code that needs to differentiate between i386 and x86-64 should now
be written as if x86-64 is the default and i386 is the special case.
Eg:

    # if i386_TARGET_ARCH
    someFuncion = .....
    # else
    someFuncion = .....
    # endif

MERGED from commit 2f7c578574a9d5e9b4d95847abc3d1cb1b35336d

6 years agosync-all: Add support for the 'remote set-branches' command
Ian Lynagh [Sun, 2 Sep 2012 14:51:10 +0000 (15:51 +0100)] 
sync-all: Add support for the 'remote set-branches' command

6 years agoUpdate ANNOUNCE for 7.6.1
Ian Lynagh [Sun, 2 Sep 2012 14:50:00 +0000 (15:50 +0100)] 
Update ANNOUNCE for 7.6.1

6 years agoAdd missing flag for respecting EXTRA_LIBDIR
Gabor Pali [Sun, 22 Jul 2012 16:59:56 +0000 (16:59 +0000)] 
Add missing flag for respecting EXTRA_LIBDIR