ghc.git
9 years agoImprove the missing-import-list warning
Ian Lynagh [Sun, 20 Jun 2010 12:43:20 +0000 (12:43 +0000)] 
Improve the missing-import-list warning

9 years agoTweak missing-import-list warning
Ian Lynagh [Sun, 20 Jun 2010 12:26:22 +0000 (12:26 +0000)] 
Tweak missing-import-list warning

9 years agotrac #1789 (warnings for missing import lists)
amsay@amsay.net [Fri, 18 Jun 2010 15:06:49 +0000 (15:06 +0000)] 
trac #1789 (warnings for missing import lists)

9 years agoRefix docs for sizeofByteArray#/sizeofMutableByteArray# (#3800)
Ian Lynagh [Sun, 20 Jun 2010 10:37:49 +0000 (10:37 +0000)] 
Refix docs for sizeofByteArray#/sizeofMutableByteArray# (#3800)

9 years agoRemove some old commented out code
Ian Lynagh [Sun, 20 Jun 2010 00:04:59 +0000 (00:04 +0000)] 
Remove some old commented out code

9 years agoSET_ARR_HDR's last argument is now a number of bytes, rather than words
Ian Lynagh [Sat, 19 Jun 2010 23:52:14 +0000 (23:52 +0000)] 
SET_ARR_HDR's last argument is now a number of bytes, rather than words
This avoids unnecessary work and potential loss of information

9 years agoReplace an (incorrect) bytes-to-words calculation with ROUNDUP_BYTES_TO_WDS
Ian Lynagh [Sat, 19 Jun 2010 23:43:10 +0000 (23:43 +0000)] 
Replace an (incorrect) bytes-to-words calculation with ROUNDUP_BYTES_TO_WDS

10 years agoFIX #38000 Store StgArrWords payload size in bytes
Antoine Latter [Fri, 1 Jan 2010 18:33:46 +0000 (18:33 +0000)] 
FIX #38000 Store StgArrWords payload size in bytes

9 years agoAdd win32 datalayout support to llvm backend
David Terei [Fri, 18 Jun 2010 13:17:33 +0000 (13:17 +0000)] 
Add win32 datalayout support to llvm backend

9 years agoRemove unused 'ddump-opt-llvm' flag
David Terei [Fri, 18 Jun 2010 10:12:37 +0000 (10:12 +0000)] 
Remove unused 'ddump-opt-llvm' flag

9 years agogenerate "movl lbl(%reg1), %reg2" instructions, better codegen for -fPIC
Simon Marlow [Fri, 18 Jun 2010 08:22:58 +0000 (08:22 +0000)] 
generate "movl lbl(%reg1), %reg2" instructions, better codegen for -fPIC

9 years agojoinToTargets: fix a case of panic "handleComponent cyclic"
Simon Marlow [Fri, 18 Jun 2010 08:21:47 +0000 (08:21 +0000)] 
joinToTargets: fix a case of panic "handleComponent cyclic"

9 years agocomment typo
Simon Marlow [Fri, 18 Jun 2010 08:21:02 +0000 (08:21 +0000)] 
comment typo

9 years agoAdd support of TNTC to llvm backend
David Terei [Fri, 18 Jun 2010 09:32:05 +0000 (09:32 +0000)] 
Add support of TNTC to llvm backend

We do this through a gnu as feature called subsections,
where you can put data/code into a numbered subsection
and those subsections will be joined together in descending
order by gas at compile time.

9 years agoDon't automatically insert a -fvia-C flag in an unregisterised compiler
Ian Lynagh [Thu, 17 Jun 2010 19:09:01 +0000 (19:09 +0000)] 
Don't automatically insert a -fvia-C flag in an unregisterised compiler
The default object mode is already HscC, so it's unnecessary, and
-fvia-C generates a deprecated flag warning now.

9 years agoIn PosixSource.h, conditionally define things based on platform
Ian Lynagh [Thu, 17 Jun 2010 17:49:12 +0000 (17:49 +0000)] 
In PosixSource.h, conditionally define things based on platform
This may not be ideal, but it should get GHC building on all platforms
again.

9 years agodisable -fPIC for the GC for performance reasons
Simon Marlow [Thu, 17 Jun 2010 14:00:25 +0000 (14:00 +0000)] 
disable -fPIC for the GC for performance reasons
see comment for details

9 years agopicCCOpts: -dynamic should not entail -optc-fPIC
Simon Marlow [Thu, 17 Jun 2010 11:52:59 +0000 (11:52 +0000)] 
picCCOpts: -dynamic should not entail -optc-fPIC

9 years agoMake getAllocations() visible
Simon Marlow [Thu, 17 Jun 2010 11:32:59 +0000 (11:32 +0000)] 
Make getAllocations() visible

9 years agoFix the symbol visibility pragmas
Simon Marlow [Thu, 17 Jun 2010 10:57:58 +0000 (10:57 +0000)] 
Fix the symbol visibility pragmas

9 years agopick up changes to $(GhcStage1HcOpts) without re-configuring the ghc package
Simon Marlow [Wed, 16 Jun 2010 12:47:18 +0000 (12:47 +0000)] 
pick up changes to $(GhcStage1HcOpts) without re-configuring the ghc package

9 years agoFix bindisttest Makefile
Ian Lynagh [Wed, 16 Jun 2010 20:56:11 +0000 (20:56 +0000)] 
Fix bindisttest Makefile

9 years agoRemove some more unused make variables
Ian Lynagh [Wed, 16 Jun 2010 18:05:19 +0000 (18:05 +0000)] 
Remove some more unused make variables

9 years agoConvert some more variable names to FOO_CMD, for consistency
Ian Lynagh [Wed, 16 Jun 2010 17:59:16 +0000 (17:59 +0000)] 
Convert some more variable names to FOO_CMD, for consistency

9 years agoRename some variables from FOO to FOO_CMD
Ian Lynagh [Wed, 16 Jun 2010 16:11:08 +0000 (16:11 +0000)] 
Rename some variables from FOO to FOO_CMD
This fixes a problem with commands like gzip, where if $GZIP is exported
in the environment, then when make runs a command it'll put the Makefile
variable's value in the environment. But gzip treats $GZIP as arguments
for itself, so when we run gzip it thinks we're giving it "gzip" as an
argument.

9 years agoMake the "show" target work anywhere in the build tree
Ian Lynagh [Wed, 16 Jun 2010 12:29:10 +0000 (12:29 +0000)] 
Make the "show" target work anywhere in the build tree

9 years agoChange ghc-pwd's license to a string Cabal recognises
Ian Lynagh [Tue, 15 Jun 2010 20:40:15 +0000 (20:40 +0000)] 
Change ghc-pwd's license to a string Cabal recognises

9 years agofix warning
Simon Marlow [Fri, 4 Jun 2010 20:59:33 +0000 (20:59 +0000)] 
fix warning

9 years ago--install-signal-handles=no does not affect the timer signal (#1908)
Simon Marlow [Thu, 27 May 2010 21:46:27 +0000 (21:46 +0000)] 
--install-signal-handles=no does not affect the timer signal (#1908)

9 years agoSmall optimisation: allocate nursery blocks contiguously
Simon Marlow [Sun, 9 May 2010 19:49:28 +0000 (19:49 +0000)] 
Small optimisation: allocate nursery blocks contiguously
This lets automatic prefetching work better, for a tiny performance boost

9 years agofix -fforce-recomp setting: module is PrimOp, not PrimOps
Simon Marlow [Fri, 7 May 2010 08:45:07 +0000 (08:45 +0000)] 
fix -fforce-recomp setting: module is PrimOp, not PrimOps

9 years agoit should be an error to use relative directories (#4134)
Simon Marlow [Tue, 15 Jun 2010 15:17:40 +0000 (15:17 +0000)] 
it should be an error to use relative directories (#4134)

9 years agomissing include-dirs or library-dirs is only a warning now (#4104)
Simon Marlow [Tue, 15 Jun 2010 15:17:02 +0000 (15:17 +0000)] 
missing include-dirs or library-dirs is only a warning now (#4104)

9 years agofix #3822: desugaring case command in arrow notation
Ross Paterson [Tue, 15 Jun 2010 22:51:10 +0000 (22:51 +0000)] 
fix #3822: desugaring case command in arrow notation

Get the set of free variables from the generated case expression:
includes variables in the guards and decls that were missed before,
and is also a bit simpler.

9 years agoDeprecate the -fvia-C flag; trac #3232
Ian Lynagh [Tue, 15 Jun 2010 15:18:36 +0000 (15:18 +0000)] 
Deprecate the -fvia-C flag; trac #3232

9 years agoAvoid using the new ~~ perl operator in the mangler
Ian Lynagh [Tue, 15 Jun 2010 15:12:36 +0000 (15:12 +0000)] 
Avoid using the new ~~ perl operator in the mangler

9 years agostmAddInvariantToCheck: add missing init of invariant->lock (#4057)
Simon Marlow [Tue, 15 Jun 2010 12:36:43 +0000 (12:36 +0000)] 
stmAddInvariantToCheck: add missing init of invariant->lock (#4057)

9 years agoAdd new LLVM code generator to GHC. (Version 2)
David Terei [Tue, 15 Jun 2010 09:47:14 +0000 (09:47 +0000)] 
Add new LLVM code generator to GHC. (Version 2)

This was done as part of an honours thesis at UNSW, the paper describing the
work and results can be found at:

http://www.cse.unsw.edu.au/~pls/thesis/davidt-thesis.pdf

A Homepage for the backend can be found at:

http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM

Quick summary of performance is that for the 'nofib' benchmark suite, runtimes
are within 5% slower than the NCG and generally better than the C code
generator.  For some code though, such as the DPH projects benchmark, the LLVM
code generator outperforms the NCG and C code generator by about a 25%
reduction in run times.

9 years agoFix Trac #4127: build GlobalRdrEnv in GHCi correctly
simonpj@microsoft.com [Tue, 15 Jun 2010 07:06:26 +0000 (07:06 +0000)] 
Fix Trac #4127: build GlobalRdrEnv in GHCi correctly

GHCi was building its GlobalRdrEnv wrongly, so that the
gre_par field was bogus.  That in turn fooled the renamer.
The fix is easy: use the right function!  Namely, call
RnNames.gresFromAvail rather than availsToNameSet.

9 years agoComments, and improvement to pretty-printing of HsGroup
simonpj@microsoft.com [Tue, 15 Jun 2010 07:04:09 +0000 (07:04 +0000)] 
Comments, and improvement to pretty-printing of HsGroup

9 years agoDon't reverse bindings in rnMethodBinds (fix Trac #4126)
simonpj@microsoft.com [Mon, 14 Jun 2010 16:39:35 +0000 (16:39 +0000)] 
Don't reverse bindings in rnMethodBinds (fix Trac #4126)

9 years agoFix Trac #4120: generate a proper coercion when unifying forall types
simonpj@microsoft.com [Mon, 14 Jun 2010 13:43:11 +0000 (13:43 +0000)] 
Fix Trac #4120: generate a proper coercion when unifying forall types

This was just a blatant omission, which hasn't come up before.
Easily fixed, happily.

9 years agoUse mkFunTy to ensure that invariants are respected
simonpj@microsoft.com [Mon, 14 Jun 2010 13:41:59 +0000 (13:41 +0000)] 
Use mkFunTy to ensure that invariants are respected

9 years agoRemove redundant debug code
simonpj@microsoft.com [Tue, 1 Jun 2010 15:41:51 +0000 (15:41 +0000)] 
Remove redundant debug code

9 years agoFix Trac #4099: better error message for type functions
simonpj@microsoft.com [Mon, 31 May 2010 14:04:13 +0000 (14:04 +0000)] 
Fix Trac #4099: better error message for type functions

Now we only want about "T is a type function and might not be
injective" when matchin (T x) against (T y), which is the case
that is really confusing.

9 years agoGruesome fix in CorePrep to fix embarassing Trac #4121
simonpj@microsoft.com [Mon, 14 Jun 2010 13:27:26 +0000 (13:27 +0000)] 
Gruesome fix in CorePrep to fix embarassing Trac #4121

This is a long-lurking bug that has been flushed into
the open by other arity-related changes.  There's a
long comment

     Note [CafInfo and floating]

to explain.

I really hate the contortions we have to do through to keep correct
CafRef information on top-level binders.  The Right Thing, I believe,
is to compute CAF and arity information later, and merge it into the
interface-file information when the latter is generated.

But for now, this hackily fixes the problem.

9 years agoFix a bug in CorePrep that meant output invariants not satisfied
simonpj@microsoft.com [Mon, 31 May 2010 15:00:13 +0000 (15:00 +0000)] 
Fix a bug in CorePrep that meant output invariants not satisfied

In cpePair I did things in the wrong order so that something that
should have been a CprRhs wasn't.  Result: a crash in CoreToStg.
Fix is easy, and I added more informative type signatures too.

9 years agoRobustify the treatement of DFunUnfolding
simonpj@microsoft.com [Mon, 31 May 2010 14:53:32 +0000 (14:53 +0000)] 
Robustify the treatement of DFunUnfolding

See Note [DFun unfoldings] in CoreSyn.  The issue here is that
you can't tell how many dictionary arguments a DFun needs just
from looking at the Arity of the DFun Id: if the dictionary is
represented by a newtype the arity might include the dictionary
and value arguments of the (single) method.

So we need to record the number of arguments need by the DFun
in the DFunUnfolding itself.  Details in
   Note [DFun unfoldings] in CoreSyn

9 years agoFix spelling in comment
simonpj@microsoft.com [Mon, 14 Jun 2010 13:22:59 +0000 (13:22 +0000)] 
Fix spelling in comment

9 years agoUpdate docs on view patterns
simonpj@microsoft.com [Mon, 14 Jun 2010 07:48:01 +0000 (07:48 +0000)] 
Update docs on view patterns

9 years agoFix printing of splices; part of #4124
Ian Lynagh [Sun, 13 Jun 2010 15:48:38 +0000 (15:48 +0000)] 
Fix printing of splices; part of #4124
Just putting parens around non-atomic expressions isn't sufficient
for splices, as only the $x and $(e) forms are valid input.

9 years agoIn ghci, catch IO exceptions when calling canonicalizePath
Ian Lynagh [Sun, 13 Jun 2010 13:46:27 +0000 (13:46 +0000)] 
In ghci, catch IO exceptions when calling canonicalizePath
We now get an exception if the path doesn't exist

9 years agoWhitespace only
Ian Lynagh [Sat, 12 Jun 2010 21:31:19 +0000 (21:31 +0000)] 
Whitespace only

9 years agoWhitespace only
Ian Lynagh [Sat, 12 Jun 2010 16:54:50 +0000 (16:54 +0000)] 
Whitespace only

9 years agoUpdate ghci example output in user guide; patch from YitzGale in #4111
Ian Lynagh [Sat, 12 Jun 2010 16:22:50 +0000 (16:22 +0000)] 
Update ghci example output in user guide; patch from YitzGale in #4111

9 years agoFix #4131 missing UNTAG_CLOSURE in messageBlackHole()
benl@ouroborus.net [Fri, 11 Jun 2010 04:46:14 +0000 (04:46 +0000)] 
Fix #4131 missing UNTAG_CLOSURE in messageBlackHole()

9 years agomessageBlackHole: fix deadlock bug caused by a missing 'volatile'
Simon Marlow [Thu, 10 Jun 2010 08:06:36 +0000 (08:06 +0000)] 
messageBlackHole: fix deadlock bug caused by a missing 'volatile'

9 years agoPass --no-tmp-comp-dir to Haddock (see comment)
Simon Marlow [Fri, 4 Jun 2010 08:32:14 +0000 (08:32 +0000)] 
Pass --no-tmp-comp-dir to Haddock (see comment)

9 years agoTrack changes to DPH libs
Roman Leshchinskiy [Mon, 7 Jun 2010 05:29:03 +0000 (05:29 +0000)] 
Track changes to DPH libs

9 years agoTrack changes to DPH libs
Roman Leshchinskiy [Mon, 7 Jun 2010 01:26:42 +0000 (01:26 +0000)] 
Track changes to DPH libs

9 years agoIn ghc-pkg, send warnings to stderr
Ian Lynagh [Sun, 6 Jun 2010 16:17:26 +0000 (16:17 +0000)] 
In ghc-pkg, send warnings to stderr

9 years agoRe-add newlines to enable layout for multi-line input.
Ian Lynagh [Wed, 2 Jun 2010 18:07:37 +0000 (18:07 +0000)] 
Re-add newlines to enable layout for multi-line input.
Patch from Adam Vogt <vogt.adam@gmail.com>
Partial fix for #3984

9 years agoDon't use unnecessary parens when printing types (Fix Trac 4107)
simonpj@microsoft.com [Fri, 4 Jun 2010 11:01:43 +0000 (11:01 +0000)] 
Don't use unnecessary parens when printing types (Fix Trac 4107)

   f :: Eq a => a -> a
rather than
   f :: (Eq a) => a -> a

9 years agoTrack DPH library changes
Roman Leshchinskiy [Fri, 4 Jun 2010 00:57:28 +0000 (00:57 +0000)] 
Track DPH library changes

9 years agofix --source-entity option passed to Haddock: we needed to escape a #
Simon Marlow [Thu, 3 Jun 2010 12:54:59 +0000 (12:54 +0000)] 
fix --source-entity option passed to Haddock: we needed to escape a #

9 years ago__stg_EAGER_BLACKHOLE_INFO -> __stg_EAGER_BLACKHOLE_info (#4106)
Simon Marlow [Wed, 2 Jun 2010 09:14:19 +0000 (09:14 +0000)] 
__stg_EAGER_BLACKHOLE_INFO -> __stg_EAGER_BLACKHOLE_info (#4106)

9 years agoAdd xhtml package (a new dependency of Haddock; not installed/shipped)
Simon Marlow [Wed, 2 Jun 2010 09:01:01 +0000 (09:01 +0000)] 
Add xhtml package (a new dependency of Haddock; not installed/shipped)

9 years agoUse UserInterrupt rather than our own Interrupted exception (#4100)
Simon Marlow [Wed, 2 Jun 2010 08:23:45 +0000 (08:23 +0000)] 
Use UserInterrupt rather than our own Interrupted exception (#4100)

9 years agoAdd the global package DB to ghc --info (#4103)
Simon Marlow [Wed, 2 Jun 2010 08:22:33 +0000 (08:22 +0000)] 
Add the global package DB to ghc --info (#4103)

9 years agorts/sm/GC.c: resize_generations(): Remove unneeded check of number of generations.
Marco Túlio Gontijo e Silva [Fri, 28 May 2010 11:56:12 +0000 (11:56 +0000)] 
rts/sm/GC.c: resize_generations(): Remove unneeded check of number of generations.

This "if" is inside another "if" which checks for RtsFlags.GcFlags.generations
> 1, so testing this again is redundant, assuming the number of generations
won't change during program execution.

9 years agorts/sm/BlockAlloc.c: Small comment correction.
Marco Túlio Gontijo e Silva [Wed, 26 May 2010 20:58:39 +0000 (20:58 +0000)] 
rts/sm/BlockAlloc.c: Small comment correction.

9 years agorts/sm/GC.c: Annotate constants.
Marco Túlio Gontijo e Silva [Wed, 26 May 2010 20:57:07 +0000 (20:57 +0000)] 
rts/sm/GC.c: Annotate constants.

9 years agoincludes/rts/storage/GC.h: generation_: n_words: Improve comment.
Marco Túlio Gontijo e Silva [Wed, 26 May 2010 20:46:15 +0000 (20:46 +0000)] 
includes/rts/storage/GC.h: generation_: n_words: Improve comment.

9 years agoAdd PPC_RELOC_LOCAL_SECTDIFF support; patch from PHO in #3654
Ian Lynagh [Tue, 1 Jun 2010 20:42:11 +0000 (20:42 +0000)] 
Add PPC_RELOC_LOCAL_SECTDIFF support; patch from PHO in #3654

9 years agopowerpc-apple-darwin now supports shared libs
Ian Lynagh [Tue, 1 Jun 2010 17:33:25 +0000 (17:33 +0000)] 
powerpc-apple-darwin now supports shared libs

9 years agoPIC support for PowerPC
pho@cielonegro.org [Sat, 8 May 2010 14:39:00 +0000 (14:39 +0000)] 
PIC support for PowerPC

PPC.CodeGen.getRegister was not properly handling PicBaseReg.
It seems working with this patch, but I'm not sure this change is correct.

9 years agoVectoriser: only treat a function as scalar if it actually computes something
Roman Leshchinskiy [Tue, 1 Jun 2010 04:56:30 +0000 (04:56 +0000)] 
Vectoriser: only treat a function as scalar if it actually computes something

9 years agoAdd a release notes file for 6.14.1
Ian Lynagh [Sun, 30 May 2010 17:11:17 +0000 (17:11 +0000)] 
Add a release notes file for 6.14.1

9 years agoCheck dblatex actually creates the files we tell it to
Ian Lynagh [Sun, 30 May 2010 17:10:43 +0000 (17:10 +0000)] 
Check dblatex actually creates the files we tell it to
If it fails, it still exits successfully.

9 years agoAdd darwin to the list of OSes for which we use mmap
Ian Lynagh [Sat, 29 May 2010 14:50:16 +0000 (14:50 +0000)] 
Add darwin to the list of OSes for which we use mmap
Patch from Barney Stratford

9 years agoSimplify the CPP logic in rts/Linker.c
Ian Lynagh [Sat, 29 May 2010 14:49:29 +0000 (14:49 +0000)] 
Simplify the CPP logic in rts/Linker.c

9 years agoFix validate on OS X
Ian Lynagh [Sat, 29 May 2010 15:47:26 +0000 (15:47 +0000)] 
Fix validate on OS X

9 years agoOS X x86_64 fix from Barney Stratford
Ian Lynagh [Sat, 29 May 2010 12:24:40 +0000 (12:24 +0000)] 
OS X x86_64 fix from Barney Stratford

9 years agoOS X 64 installer fixes from Barney Stratford
Ian Lynagh [Fri, 28 May 2010 23:49:35 +0000 (23:49 +0000)] 
OS X 64 installer fixes from Barney Stratford

9 years agofix warning
Simon Marlow [Tue, 25 May 2010 15:58:12 +0000 (15:58 +0000)] 
fix warning

9 years agoFix doc bugs (#4071)
Simon Marlow [Tue, 25 May 2010 15:57:28 +0000 (15:57 +0000)] 
Fix doc bugs (#4071)

9 years agoMake sparks into weak pointers (#2185)
Simon Marlow [Tue, 25 May 2010 15:04:35 +0000 (15:04 +0000)] 
Make sparks into weak pointers (#2185)
The new strategies library (parallel-2.0+, preferably 2.2+) is now
required for parallel programming, otherwise parallelism will be lost.

9 years agoIf you say 'make' or 'make stage=2' here, pretend we're in the ghc dir
Simon Marlow [Tue, 25 May 2010 08:53:01 +0000 (08:53 +0000)] 
If you say 'make' or 'make stage=2' here, pretend we're in the ghc dir

9 years agoAnother attempt to get these #defines right
Simon Marlow [Tue, 25 May 2010 15:43:13 +0000 (15:43 +0000)] 
Another attempt to get these #defines right
Apparently on Solaris it is an error to omit _ISOC99_SOURCE when using
_POSIX_C_SOURCE==200112L.

9 years agoAdd configure flags for the location of GMP includes/library; fixes #4022
Ian Lynagh [Tue, 25 May 2010 22:16:16 +0000 (22:16 +0000)] 
Add configure flags for the location of GMP includes/library; fixes #4022

9 years agoRefactor pretty printing of TyThings to fix Trac #4015
simonpj@microsoft.com [Tue, 25 May 2010 15:31:26 +0000 (15:31 +0000)] 
Refactor pretty printing of TyThings to fix Trac #4015

9 years agoWhen haddocking, we need the dependencies to have been built
Ian Lynagh [Tue, 25 May 2010 14:58:30 +0000 (14:58 +0000)] 
When haddocking, we need the dependencies to have been built
as haddock loads the .hi files with the GHC API.

9 years agoFix profiling output; spotted by jlouis
Ian Lynagh [Tue, 25 May 2010 11:12:17 +0000 (11:12 +0000)] 
Fix profiling output; spotted by jlouis
We were outputing the number of words allocated in a column titled "bytes".

9 years agoImprove printing of TyThings; fixes Trac #4087
simonpj@microsoft.com [Tue, 25 May 2010 11:40:45 +0000 (11:40 +0000)] 
Improve printing of TyThings; fixes Trac #4087

9 years agoSpelling in comments
simonpj@microsoft.com [Tue, 25 May 2010 11:40:01 +0000 (11:40 +0000)] 
Spelling in comments

9 years agoRefactor (again) the handling of default methods
simonpj@microsoft.com [Tue, 25 May 2010 11:39:10 +0000 (11:39 +0000)] 
Refactor (again) the handling of default methods

This patch fixes Trac #4056, by

 a) tidying up the treatment of default method names
 b) removing the 'module' argument to newTopSrcBinder

The details aren't that interesting, but the result
is much tidier. The original bug was a 'nameModule' panic,
caused by trying to find the module of a top-level name.
But TH quotes generate Internal top-level names that don't
have a module, and that is generally a good thing.

Fixing that in turn led to the default-method refactoring,
which also makes the Name for a default method be handled
in the same way as other derived names, generated in BuildTyCl
via a call newImplicitBinder.  Hurrah.

9 years agoDon't do SpecConstr on NOINLINE things (Trac #4064)
simonpj@microsoft.com [Tue, 25 May 2010 11:28:07 +0000 (11:28 +0000)] 
Don't do SpecConstr on NOINLINE things (Trac #4064)

Since the RULE from specialising gets the same Activation as
the inlining for the Id itself there's no point in specialising
a NOINLINE thing, because the rule will be permanently switched
off.

See Note [Transfer activation] in SpecConstr
and Note [Auto-specialisation and RULES] in Specialise.

9 years agoChange our #defines to work on FreeBSD too
Simon Marlow [Mon, 24 May 2010 10:58:28 +0000 (10:58 +0000)] 
Change our #defines to work on FreeBSD too
With glibc, things like _POSIX_C_SOURCE and _ISOC99_SOURCE are
additive, but on FreeBSD they are mutually exclusive.  However, it
turns out we only need to define _POSIX_C_SOURCE and _XOPEN_SOURCE to
get all the C99 stuff we need too, so there's no need for any #ifdefs.

Submitted by: Gabor PALI <pgj@FreeBSD.org>

9 years agoAdd a missing UNTAG_CLOSURE, causing bus errors on Sparc
Simon Marlow [Mon, 24 May 2010 10:55:47 +0000 (10:55 +0000)] 
Add a missing UNTAG_CLOSURE, causing bus errors on Sparc
We just about got away with this on x86 which isn't
alignment-sensitive.  The result of the memory load is compared
against a few different values, but there is a fallback case that
happened to be the right thing when the pointer was tagged.  A good
bug to find, nonetheless.

9 years agoAdd wiki links
Simon Marlow [Thu, 20 May 2010 09:59:53 +0000 (09:59 +0000)] 
Add wiki links