7 years agoExpand on the unicode changes in the release notes ghc-7.2.1-release
Ian Lynagh [Sun, 7 Aug 2011 14:10:34 +0000 (15:10 +0100)] 
Expand on the unicode changes in the release notes

7 years agoSet version number to 7.2.1 and RELEASE to YES
Ian Lynagh [Sun, 7 Aug 2011 13:10:34 +0000 (14:10 +0100)] 
Set version number to 7.2.1 and RELEASE to YES

7 years agoAdd a case for kfreebsdgnu in Platforms.hs
Ian Lynagh [Sun, 7 Aug 2011 12:57:08 +0000 (13:57 +0100)] 
Add a case for kfreebsdgnu in Platforms.hs

7 years agoWibble to "Fix a long-standing bug in HsUtils.hsTyClDeclBinders"
Simon Peyton Jones [Fri, 5 Aug 2011 16:40:29 +0000 (17:40 +0100)] 
Wibble to "Fix a long-standing bug in HsUtils.hsTyClDeclBinders"

7 years agoFix a long-standing bug in HsUtils.hsTyClDeclBinders
Simon Peyton Jones [Fri, 5 Aug 2011 14:26:31 +0000 (15:26 +0100)] 
Fix a long-standing bug in HsUtils.hsTyClDeclBinders

We were returning the tycon of a type family *instance*
as a binder, and it just isn't!

Consequential tidy-ups follow.  I tripped over this on
the way to something else.  I'm not sure it was causing
a problem, but it is Plainly Wrong.

7 years agoAnother run at binders in Template Haskell (fixes Trac #5379)
Simon Peyton Jones [Fri, 5 Aug 2011 14:29:44 +0000 (15:29 +0100)] 
Another run at binders in Template Haskell (fixes Trac #5379)

TH quotation was using mkName rather than newName for
top-level definitions, which is plain wrong as #5379
points out.

7 years agotypo
Simon Marlow [Thu, 4 Aug 2011 11:07:30 +0000 (12:07 +0100)] 

7 years agoAdd a release note about TypeSynonymInstances change of behaviour
Ian Lynagh [Fri, 5 Aug 2011 19:28:49 +0000 (20:28 +0100)] 
Add a release note about TypeSynonymInstances change of behaviour

As discussed in #5377

7 years agoAdd plugin documentation for reinitializeGlobals
Austin Seipp [Sun, 31 Jul 2011 15:26:52 +0000 (10:26 -0500)] 
Add plugin documentation for reinitializeGlobals

7 years agoRevert "Stop using -Wl,-no_pie on OS X"
Ian Lynagh [Thu, 4 Aug 2011 15:36:17 +0000 (16:36 +0100)] 
Revert "Stop using -Wl,-no_pie on OS X"

This reverts commit d02a1979d5c5eacd2c5daea7f5852a98988b4d97.

Apparently there are still problems with gmp. See #5293 for more details.

7 years agoDon't duplicate files in bindists; trac #5356
Ian Lynagh [Thu, 4 Aug 2011 15:24:30 +0000 (16:24 +0100)] 
Don't duplicate files in bindists; trac #5356

We were putting
into bindists twice.

7 years agoChange the representation of export lists in .hi files
Simon Peyton Jones [Tue, 2 Aug 2011 09:43:57 +0000 (10:43 +0100)] 
Change the representation of export lists in .hi files

Currently export list in .hi files are partitioned by module
  export M T(C1,C2)
         N f,g
In each list we only have OccNames, all assumed to come from
the parent module M or N resp.

This patch changes the representatation so that export lists
have full Names:
  export M.T(M.C1,M.C2), N.f, N.g

Numerous advatages
  * AvailInfo no longer needs to be parameterised; it always
    contains Names

  * Fixes Trac #5306.  This was the main provocation

  * Less to-and-fro conversion when reading interface files

It's all generally simpler.  Interface files should not get bigger,
becuase they have a nice compact representation for Names.

7 years agoAdd CoreMonad.reinitializeGlobals so plugins can work around linker issues
Max Bolingbroke [Fri, 29 Jul 2011 11:05:46 +0000 (12:05 +0100)] 
Add CoreMonad.reinitializeGlobals so plugins can work around linker issues

When a plugin is loaded, it currently gets linked against a *newly loaded* copy
of the GHC package. This would not be a problem, except that the new copy has its
own mutable state that is not shared with that state that has already been initialized by
the original GHC package.

This leads to loaded plugins calling GHC code which pokes the static flags,
and then dying with a panic because the static flags *it* sees are uninitialized.

There are two possible solutions:
  1. Export the symbols from the GHC executable from the GHC library and link
     against this existing copy rather than a new copy of the GHC library
  2. Carefully ensure that the global state in the two copies of the GHC
     library matches

I tried 1. and it *almost* works (and speeds up plugin load times!) except
on Windows. On Windows the GHC library tends to export more than 65536 symbols
(see #5292) which overflows the limit of what we can export from the EXE and
causes breakage.

(Note that if the GHC exeecutable was dynamically linked this wouldn't be a problem,
because we could share the GHC library it links to.)

We are going to try 2. instead. Unfortunately, this means that every plugin
will have to say `reinitializeGlobals` before it does anything, but never mind.

I've threaded the cr_globals through CoreM rather than giving them as an
argument to the plugin function so that we can turn this function into
(return ()) without breaking any plugins when we eventually get 1. working.

7 years agoWe no longer need to mark Entry as local or not
Max Bolingbroke [Fri, 29 Jul 2011 09:08:33 +0000 (10:08 +0100)] 
We no longer need to mark Entry as local or not

7 years agoRemove last use of entryLblToInfoLbl
Max Bolingbroke [Fri, 29 Jul 2011 08:32:58 +0000 (09:32 +0100)] 
Remove last use of entryLblToInfoLbl

7 years agoCommon up uses of entryLblToInfoLbl in CmmProcPoint
Max Bolingbroke [Fri, 29 Jul 2011 08:18:38 +0000 (09:18 +0100)] 
Common up uses of entryLblToInfoLbl in CmmProcPoint

7 years agoEliminate cvtToSRTLbl (dead code)
Max Bolingbroke [Thu, 28 Jul 2011 22:58:39 +0000 (23:58 +0100)] 
Eliminate cvtToSRTLbl (dead code)

7 years agoEliminate localiseLabel
Max Bolingbroke [Thu, 28 Jul 2011 22:57:55 +0000 (23:57 +0100)] 
Eliminate localiseLabel

7 years agoEliminate infoLblToEntryLbl
Max Bolingbroke [Thu, 28 Jul 2011 22:52:31 +0000 (23:52 +0100)] 
Eliminate infoLblToEntryLbl

7 years agoThere is only one flavour of LFBlackHole: make that explicit
Max Bolingbroke [Thu, 28 Jul 2011 22:40:36 +0000 (23:40 +0100)] 
There is only one flavour of LFBlackHole: make that explicit

7 years agoPut the info CLabel in CmmInfoTable rather than a localness flag, tidy up some info...
Max Bolingbroke [Thu, 28 Jul 2011 22:37:55 +0000 (23:37 +0100)] 
Put the info CLabel in CmmInfoTable rather than a localness flag, tidy up some info<->entry conversions



7 years agoRepair sanity of infoTableLabelFromCI in old code generator
Max Bolingbroke [Thu, 28 Jul 2011 18:57:27 +0000 (19:57 +0100)] 
Repair sanity of infoTableLabelFromCI in old code generator

7 years agoStop using -Wl,-no_pie on OS X
Ian Lynagh [Wed, 3 Aug 2011 19:25:52 +0000 (20:25 +0100)] 
Stop using -Wl,-no_pie on OS X

Now that the in-tree gmp has been upgraded, it should no longer be
necessary, according to #5293.

7 years agoOn OS X x86_64, use "-Wl,-no_pie" and "-Wl,-no_compact_unwind" to avoid linker warnings
Manuel M T Chakravarty [Wed, 27 Jul 2011 13:05:01 +0000 (23:05 +1000)] 
On OS X x86_64, use "-Wl,-no_pie" and "-Wl,-no_compact_unwind" to avoid linker warnings

- "-Wl,-no_pie" can be removed once GMP gets updated

7 years agoAdd a few release note highlights
Ian Lynagh [Wed, 3 Aug 2011 20:34:59 +0000 (21:34 +0100)] 
Add a few release note highlights

7 years agoUpdate 7.2.1 ANNOUNCE
Ian Lynagh [Wed, 3 Aug 2011 18:47:16 +0000 (19:47 +0100)] 
Update 7.2.1 ANNOUNCE

7 years agoFix a grevious error in InstEnv: Trac #5095
Simon Peyton Jones [Wed, 3 Aug 2011 15:22:06 +0000 (16:22 +0100)] 
Fix a grevious error in InstEnv: Trac #5095

An claimed short-cut optimisation was actually an error.
The optimisation was this: when looking up (C a b), where
'a' and 'b' are type variables, we were returning [] immediately
if the instance environment had no instances of form (C a b).
Why? Because the thing being looked up definitely won't match
(C Int Bool), say.

BUT it will *unify* with (C Int Bool) and we care very much
about things it might unify with.  If we neglect them we may
silently allow incoherent instance selection, and that is
exactly what happened in #5095.

The fix is easy: remove the "optimisation".

7 years agoFix Trac #5372: a panic caused by over-eager error recovery
Simon Peyton Jones [Wed, 3 Aug 2011 15:16:09 +0000 (16:16 +0100)] 
Fix Trac #5372: a panic caused by over-eager error recovery

7 years agoInclude the instances of associated types in the "extras" of a class
Simon Peyton Jones [Wed, 3 Aug 2011 06:46:50 +0000 (07:46 +0100)] 
Include the instances of associated types in the "extras" of a class

This fixes Trac #5147, which was going wrong because
the class ABI fingerprint wasn't changing when we added
or removed a Show instance to the associated type.

7 years agoRefactor's: Define FIND_GCC() in aclocal.m4
Ian Lynagh [Tue, 2 Aug 2011 23:53:57 +0000 (00:53 +0100)] 
Refactor's: Define FIND_GCC() in aclocal.m4

7 years agoRefactor's: Put XCODE_VERSION() in aclocal.m4
Ian Lynagh [Tue, 2 Aug 2011 23:49:10 +0000 (00:49 +0100)] 
Refactor's: Put XCODE_VERSION() in aclocal.m4

7 years agoSmall refactoring
Ian Lynagh [Tue, 2 Aug 2011 23:37:24 +0000 (00:37 +0100)] 
Small refactoring

7 years agoAvoid confusing Haddock in comment
Simon Peyton Jones [Tue, 2 Aug 2011 21:03:21 +0000 (22:03 +0100)] 
Avoid confusing Haddock in comment

7 years agoFix path to Cabal library, corrects documentation.
Lennart Kolmodin [Wed, 20 Jul 2011 13:14:03 +0000 (15:14 +0200)] 
Fix path to Cabal library, corrects documentation.

7 years agoFix reversed test in OccurAnal (introduced in recent commit 428f8c3d)
Simon Peyton Jones [Tue, 2 Aug 2011 17:03:46 +0000 (18:03 +0100)] 
Fix reversed test in OccurAnal (introduced in recent commit 428f8c3d)

7 years agoComment wibble (hash at start of line confused CPP)
Simon Peyton Jones [Tue, 2 Aug 2011 13:27:44 +0000 (14:27 +0100)] 
Comment wibble (hash at start of line confused CPP)

7 years agoDon't bleat about non-External names in mkUsageInfo
Simon Peyton Jones [Tue, 2 Aug 2011 13:06:12 +0000 (14:06 +0100)] 
Don't bleat about non-External names in mkUsageInfo

See Note [Internal used_names].  Fixes Trac #5362.

7 years agoFurther simplification to OccurAnal, concerning "weak loop breakers"
Simon Peyton Jones [Mon, 1 Aug 2011 14:27:39 +0000 (15:27 +0100)] 
Further simplification to OccurAnal, concerning "weak loop breakers"

Fixes Trac #5359.

7 years agoDon't run a splice if there are preceding type errors
Simon Peyton Jones [Mon, 1 Aug 2011 14:23:02 +0000 (15:23 +0100)] 
Don't run a splice if there are preceding type errors

Fixes Trac #5358.

7 years agoOs X: With Xcode 4, check for gcc-4.2 also in the setup for binary distributions
Manuel M T Chakravarty [Mon, 1 Aug 2011 01:57:43 +0000 (11:57 +1000)] 
Os X: With Xcode 4, check for gcc-4.2 also in the setup for binary distributions

7 years agoOn OS X, use gcc-4.2 with Xcode 4 and up
Manuel M T Chakravarty [Wed, 27 Jul 2011 04:59:22 +0000 (14:59 +1000)] 
On OS X, use gcc-4.2 with Xcode 4 and up

7 years agoExchange noinline/inlanable links to match text
Daniel Fischer [Wed, 27 Jul 2011 19:39:44 +0000 (21:39 +0200)] 
Exchange noinline/inlanable links to match text

7 years agoAdd a comment about how to do validate while capturing a debug log,
Simon Peyton Jones [Mon, 20 Jun 2011 16:06:07 +0000 (17:06 +0100)] 
Add a comment about how to do validate while capturing a debug log,
for debugging the build system.

7 years agoFix the permissions of all the package.conf.d files when installing
Ian Lynagh [Thu, 28 Jul 2011 15:03:13 +0000 (16:03 +0100)] 
Fix the permissions of all the package.conf.d files when installing

Fixes trac #5311.

7 years agoDon't fail validate due to warnings in Cabal
Ian Lynagh [Wed, 27 Jul 2011 14:00:21 +0000 (15:00 +0100)] 
Don't fail validate due to warnings in Cabal

Duncan says that Cabal isn't guaranteed to be warning-free.

7 years agoFix let-floating out of Rec blocks
Simon Peyton Jones [Wed, 27 Jul 2011 05:25:45 +0000 (06:25 +0100)] 
Fix let-floating out of Rec blocks

This fixes Trac #5341 and #5342.  The question is about
what to do when floating out of the RHS of a Rec-bound
function, when there's a FloatCase involved.  For FloatLets
they can join the Rec block, but FloatCases can't.  But
we don't want to mess with the arity (that was the bug).
So in this (rather exotic case) we push the FloatCase
back inside any lambdas.

See Note [Floating out of Rec rhss]. It's a slightly ugly fix, but I
can't think of anything better, and I don't think it has any practical

7 years agoFix comments and documentation on monad comprehensions
Simon Peyton Jones [Wed, 27 Jul 2011 05:22:26 +0000 (06:22 +0100)] 
Fix comments and documentation on monad comprehensions

7 years agoThe implementation of "weak loop breakers" was being too clever
Simon Peyton Jones [Mon, 25 Jul 2011 17:01:59 +0000 (18:01 +0100)] 
The implementation of "weak loop breakers" was being too clever

The too-clever-ness meant that a variable could just go out
of scope; this happened in building System.Consol.Haskeline.Backend.Terminfo
in the haskeline library.

This patch makes the weak-loopbreaker computation simpler, and a bit
more conserative; which fixes the bug, and doesn't make any difference
to the code in the end.

7 years agoImprove the documentation of the new generic programming mechanism.
Jose Pedro Magalhaes [Mon, 25 Jul 2011 08:57:41 +0000 (10:57 +0200)] 
Improve the documentation of the new generic programming mechanism.

Thanks to David Terei for the comments.

8 years agoUpdate release notes
Ian Lynagh [Sun, 24 Jul 2011 22:20:06 +0000 (23:20 +0100)] 
Update release notes

8 years agoFix docbook syntax in user guide
Ian Lynagh [Sun, 24 Jul 2011 21:34:11 +0000 (22:34 +0100)] 
Fix docbook syntax in user guide

8 years agoImprove debug printing for simplifier counts
Simon Peyton Jones [Thu, 21 Jul 2011 10:09:18 +0000 (11:09 +0100)] 
Improve debug printing for simplifier counts

8 years agoFix build in 7.2 branch
Ian Lynagh [Sun, 24 Jul 2011 15:45:47 +0000 (16:45 +0100)] 
Fix build in 7.2 branch

Merge the part of

    commit 2329833d4f3143d781db3448785fd395e8dba71c
    Author: David Terei <>
    Date:   Wed Jul 20 16:27:28 2011 -0700

        Format fixes

that defines typInstErr.

8 years agoSimplify the treatment of RULES in OccurAnal
Simon Peyton Jones [Thu, 21 Jul 2011 11:52:01 +0000 (12:52 +0100)] 
Simplify the treatment of RULES in OccurAnal

I realised that my recently-added cunning stuff about
RULES for imported Ids was simply wrong, so this patch
removes it.   See Note [Rules for imported functions],
which explains it all.

This patch also does quite a bit of refactoring in
the treatment of loop breakers.

8 years agoDon't subtract HC_tot_time when calculating mut_user_time
Ian Lynagh [Sun, 24 Jul 2011 12:14:20 +0000 (13:14 +0100)] 
Don't subtract HC_tot_time when calculating mut_user_time

Heap census now happens during GC, so that time is already accounted
for in GC_tot_cpu.

8 years agoFix heap profiling times
Ian Lynagh [Sat, 23 Jul 2011 23:01:54 +0000 (00:01 +0100)] 
Fix heap profiling times

Now that the heap census runs in the middle of garbage collections,
the "CPU time" it was calculating included any CPU time used so far
in the current GC. This could cause CPU time to appear to go down,
which means hp2ps complained about "samples out of sequence".

I'm not sure if this is the nicest way to solve this (maybe resurrecting
mut_user_time_during_GC would be better?) but it gets things working again.

8 years agoTweak the typeable fingerprinting
Ian Lynagh [Fri, 22 Jul 2011 22:17:56 +0000 (23:17 +0100)] 
Tweak the typeable fingerprinting

Put spaces inbetween the values, so e.g.
will hash differently.

8 years agoSync the typeable fingerprinting with base
Ian Lynagh [Fri, 22 Jul 2011 21:57:16 +0000 (22:57 +0100)] 
Sync the typeable fingerprinting with base

8 years agoComments only
Simon Peyton Jones [Fri, 22 Jul 2011 07:57:09 +0000 (08:57 +0100)] 
Comments only

8 years agoImplement a findCycle function in Digraph,
Simon Peyton Jones [Fri, 22 Jul 2011 07:56:42 +0000 (08:56 +0100)] 
Implement a findCycle function in Digraph,
and use it to report module loops nicely

This fixes Trac #5307. Now we get

    Module imports form a cycle:
             module `M8' (.\M8.hs)
            imports `M1' (M1.hs)
      which imports `M9' (.\M9.hs-boot)
      which imports `M8' (.\M8.hs)

And the algorithm is linear time.

8 years agoUpdate safe haskell doc about Data.Typeable
David Terei [Fri, 22 Jul 2011 00:29:18 +0000 (17:29 -0700)] 
Update safe haskell doc about Data.Typeable

8 years agoshow warning flags in :set (lost in the recent dopt->wopt change,
Simon Marlow [Thu, 21 Jul 2011 13:55:20 +0000 (14:55 +0100)] 
show warning flags in :set (lost in the recent dopt->wopt change,
noticed by test ghci024)

8 years agoneed to release the SM lock around heapCensus() to avoid deadlock with
Simon Marlow [Thu, 21 Jul 2011 13:29:58 +0000 (14:29 +0100)] 
need to release the SM lock around heapCensus() to avoid deadlock with
+RTS -hT and -threaded.

8 years agoone more instance of the 64-bit constant bug I noticed
Simon Marlow [Thu, 21 Jul 2011 13:29:26 +0000 (14:29 +0100)] 
one more instance of the 64-bit constant bug I noticed

8 years agoEta expand partial applications
Simon Peyton Jones [Thu, 21 Jul 2011 11:54:51 +0000 (12:54 +0100)] 
Eta expand partial applications

When we have
     x = \v -> map g
we want to eta-expand to
     x = \v y -> map g y

We weren't doing so, and that led to worse code and,
perhaps, #5285.  I need to check the latter, but I
was certainly seeing one similar error.  Anyway
this looks like a definite improvement

8 years agoWhen specialising recursive functions, mark the specialised function NOINLINE
Simon Peyton Jones [Thu, 21 Jul 2011 11:45:51 +0000 (12:45 +0100)] 
When specialising recursive functions, mark the specialised function NOINLINE

This fixes Trac #4903.  See Note [Specialising imported functions] in OccurAnal.

8 years agoChange loop breaker terminology
Simon Peyton Jones [Thu, 21 Jul 2011 11:38:23 +0000 (12:38 +0100)] 
Change loop breaker terminology

We used to have "loop breaker" and "non-rule loop breaker", but
the unqualified version in particualr was pretty confusing.  So
now we have "strong loop breaker" and "weak loop breaker";
comments in BasicTypes and OccurAnal.

8 years agoComments and white space
Simon Peyton Jones [Thu, 21 Jul 2011 11:32:32 +0000 (12:32 +0100)] 
Comments and white space

8 years agoGeneralise the type of minusVarEnv slightly
Simon Peyton Jones [Thu, 21 Jul 2011 11:25:39 +0000 (12:25 +0100)] 
Generalise the type of minusVarEnv slightly

8 years agoAdd an unregisterised config to
David Terei [Wed, 20 Jul 2011 23:45:58 +0000 (16:45 -0700)] 
Add an unregisterised config to

8 years agoEnable derived but not hand crafted Typeable instances in Safe Haskell
Ian Lynagh [Sun, 24 Jul 2011 15:04:57 +0000 (16:04 +0100)] 
Enable derived but not hand crafted Typeable instances in Safe Haskell



8 years agoFix 'make test' command for new testsuite location
David Terei [Wed, 20 Jul 2011 21:53:40 +0000 (14:53 -0700)] 
Fix 'make test' command for new testsuite location

8 years agoUpdate some files for new testsuite tests location
David Terei [Wed, 20 Jul 2011 21:46:54 +0000 (14:46 -0700)] 
Update some files for new testsuite tests location

8 years agoMove the call to heapCensus() into GarbageCollect(), just before
Ian Lynagh [Wed, 20 Jul 2011 20:35:49 +0000 (21:35 +0100)] 
Move the call to heapCensus() into GarbageCollect(), just before
calling resurrectThreads() (fixes #5314).

This avoids a lot of problems, because resurrectThreads() may
overwrite some closures in the heap, leaving slop behind.  The bug in
instances, this fix avoids them all in one go.



8 years agocomment updates
Simon Marlow [Wed, 20 Jul 2011 14:26:11 +0000 (15:26 +0100)] 
comment updates

8 years agofix an assertion failure, and possibly some bogosity (see comment)
Simon Marlow [Wed, 20 Jul 2011 14:25:58 +0000 (15:25 +0100)] 
fix an assertion failure, and possibly some bogosity (see comment)

8 years agoImprove semantics of wild-card expansion (fixes #5334)
Simon Peyton Jones [Wed, 20 Jul 2011 14:38:58 +0000 (15:38 +0100)] 
Improve semantics of wild-card expansion (fixes #5334)

When expanding the {..} stuff in an *expression*, take
account of which variables are in scope.

I updated the documentation, and in doing so found that
part of the previously-documented semantics wasn't implemented
(namely the stuff about fields in scope), so I fixed that too.

8 years agoReport on unused type variables (fixes #5331)
Simon Peyton Jones [Wed, 20 Jul 2011 14:31:40 +0000 (15:31 +0100)] 
Report on unused type variables (fixes #5331)

We were doing this already for explicit types like
   f :: forall a. Int
but not for constructor declarations.  This patch
makes it consistent.

8 years agoComments only
Simon Peyton Jones [Wed, 20 Jul 2011 14:30:05 +0000 (15:30 +0100)] 
Comments only

8 years agoFix #481: use a safe recompilation check when Template Haskell is
Simon Marlow [Wed, 20 Jul 2011 08:37:54 +0000 (09:37 +0100)] 
Fix #481: use a safe recompilation check when Template Haskell is
being used.

We now track whether a module used any TH splices in the ModIface (and
at compile time in the TcGblEnv and ModGuts).  If a module used TH
splices last time it was compiled, then we ignore the results of the
normal recompilation check and recompile anyway, *unless* the module
is "stable" - that is, none of its dependencies (direct or indirect)
have changed.  The stability test is pretty important - otherwise ghc
--make would always recompile TH modules even if nothing at all had
changed, but it does require some extra plumbing to get this
information from GhcMake into HscMain.

test in driver/recomp009

8 years agonote that we don't understand a comment (#5249)
Simon Marlow [Tue, 19 Jul 2011 15:05:17 +0000 (16:05 +0100)] 
note that we don't understand a comment (#5249)

8 years agoFactor the GHC version into the hash generated by --abi-hash (#5328)
Simon Marlow [Tue, 19 Jul 2011 14:55:40 +0000 (15:55 +0100)] 
Factor the GHC version into the hash generated by --abi-hash (#5328)

8 years agoFix #5332 (more): unboxed singleton tuples are fine
Simon Peyton Jones [Wed, 20 Jul 2011 09:15:52 +0000 (10:15 +0100)] 
Fix #5332 (more): unboxed singleton tuples are fine

This patch fixes the unboxed singleton tuples in types and patterns

8 years agofix warning
Simon Marlow [Tue, 19 Jul 2011 10:04:42 +0000 (11:04 +0100)] 
fix warning

8 years agoFix a bug in the code generation for 64-bit literals on 32-bit x86: we
Simon Marlow [Tue, 19 Jul 2011 14:30:15 +0000 (15:30 +0100)] 
Fix a bug in the code generation for 64-bit literals on 32-bit x86: we
were accidentally zeroing out the high 32 bits.

This bug must have been here for ages, it was only just exposed by the
new Typeable code which uses two 64-bit values to store a 128-bit
hash, and so exercises the code generation for 64-bit stuff.

8 years agoOutput the full documentation in response to "./sync-all --help"
Simon Marlow [Tue, 19 Jul 2011 09:53:23 +0000 (10:53 +0100)] 
Output the full documentation in response to "./sync-all --help"

8 years agoSupport 64-bit literals in the byte code generator (fixes recent test
Simon Marlow [Tue, 19 Jul 2011 07:54:18 +0000 (08:54 +0100)] 
Support 64-bit literals in the byte code generator (fixes recent test
failures in print002 etc. on 32-bit platforms)

8 years agoFix #5332: (# 0 #), unlike ( 0 ), is not the same as 0
Ian Lynagh [Tue, 19 Jul 2011 19:59:05 +0000 (20:59 +0100)] 
Fix #5332: (# 0 #), unlike ( 0 ), is not the same as 0

8 years agoSplit the X86 genCCall function up
Ian Lynagh [Tue, 19 Jul 2011 18:04:26 +0000 (19:04 +0100)] 
Split the X86 genCCall function up

Just a small refactoring. Makes it a little less intimidating.

8 years agotweak to the text about the Typeable changes
Simon Marlow [Wed, 20 Jul 2011 11:14:59 +0000 (12:14 +0100)] 
tweak to the text about the Typeable changes

8 years agoImprove LLVM Mangler to handle debug information.
David Terei [Mon, 18 Jul 2011 23:13:57 +0000 (09:13 +1000)] 
Improve LLVM Mangler to handle debug information.

Patch by Peter Wortmann!

8 years agoFix Windows breakage (#5322). When I modified StgRun to use the pure
Simon Marlow [Mon, 18 Jul 2011 12:48:53 +0000 (13:48 +0100)] 
Fix Windows breakage (#5322).  When I modified StgRun to use the pure
assembly version as part of the fix for #5250, we inadvertently lost
the Windows magic for extending the stack.  Win32 requires that the
stack is extended a page at a time, otherwise you get a segfault.  The
C compiler knows how to do this, so we now call a C stub to ensure
there's enough stack space at each invocation of the scheduler.

8 years agofix bug in sdist-prep rule (hpc/dist is now hpc/dist-install)
Simon Marlow [Mon, 18 Jul 2011 10:19:22 +0000 (11:19 +0100)] 
fix bug in sdist-prep rule (hpc/dist is now hpc/dist-install)

8 years agoRemove bogus ASSERT
Simon Peyton Jones [Mon, 18 Jul 2011 12:54:00 +0000 (13:54 +0100)] 
Remove bogus ASSERT

8 years agoFix permissions of package.cache when installing; fixes trac #5311
Ian Lynagh [Sun, 17 Jul 2011 18:58:37 +0000 (19:58 +0100)] 
Fix permissions of package.cache when installing; fixes trac #5311

When we install the packages, ghc-pkg obeys umask when creating
package.cache, but for everything else we specify the permissions. We
therefore fix the permissions of package.cache afterwards.

8 years agoFix build with older bootstrapping compilers
Ian Lynagh [Sat, 16 Jul 2011 08:12:11 +0000 (09:12 +0100)] 
Fix build with older bootstrapping compilers

8 years agoAdd --resume support to sync-all; trac #5119
Ian Lynagh [Fri, 15 Jul 2011 21:14:33 +0000 (22:14 +0100)] 
Add --resume support to sync-all; trac #5119

Now after, for example, "./sync-all pull", if pulling in one repo fails
then you can restart from that point with "./sync-all --resume pull".

8 years agoSmall refactoring
Ian Lynagh [Fri, 15 Jul 2011 18:37:50 +0000 (19:37 +0100)] 
Small refactoring

8 years agoRemove more defaultTargetPlatform uses
Ian Lynagh [Fri, 15 Jul 2011 18:06:04 +0000 (19:06 +0100)] 
Remove more defaultTargetPlatform uses

8 years agoRemove more defaultTargetPlatform uses
Ian Lynagh [Fri, 15 Jul 2011 17:13:49 +0000 (18:13 +0100)] 
Remove more defaultTargetPlatform uses