13 years agoFix typo
Ian Lynagh [Tue, 22 Aug 2006 16:33:00 +0000 (16:33 +0000)] 
Fix typo

13 years agoFix typo
Ian Lynagh [Tue, 22 Aug 2006 16:32:12 +0000 (16:32 +0000)] 
Fix typo

13 years agoFastString and StringBuffer need -funbox-strict-fields too
Simon Marlow [Tue, 22 Aug 2006 14:33:37 +0000 (14:33 +0000)] 
FastString and StringBuffer need -funbox-strict-fields too
For the benefit of old GHCs that don't understand {-# UNPACK #-}

13 years agominor fix to the clashing export error message
Simon Marlow [Tue, 22 Aug 2006 11:25:18 +0000 (11:25 +0000)] 
minor fix to the clashing export error message
The ordering of items in the parsed export list is now correct, so we
have to compensate to get the right output again.

13 years agofindModule: add a fallthrough error case
Simon Marlow [Tue, 22 Aug 2006 11:24:09 +0000 (11:24 +0000)] 
findModule: add a fallthrough error case

13 years agonotes about which versions of GHC can be used to bootstrap
Simon Marlow [Tue, 22 Aug 2006 09:35:54 +0000 (09:35 +0000)] 
notes about which versions of GHC can be used to bootstrap

13 years agodisable .ident generation on darwin_TARGET_OS
Simon Marlow [Tue, 22 Aug 2006 09:03:49 +0000 (09:03 +0000)] 
disable .ident generation on darwin_TARGET_OS

13 years agofix typo
Simon Marlow [Tue, 22 Aug 2006 07:37:31 +0000 (07:37 +0000)] 
fix typo

13 years agofixes to PPC version of cas(), from David Kirkman <>
Simon Marlow [Mon, 21 Aug 2006 15:31:36 +0000 (15:31 +0000)] 
fixes to PPC version of cas(), from David Kirkman <>

From David's email:
The problem is that the inline assembler code was placing the result
of an operation in a register that is used as input later in the code.
At the bottom of this message I've extracted a short short code
fragment that you can run through gcc (on a powerpc machine) to see
the generated assembly output.

The changes to fix the problem are fairly simple.  The first adds an
ampersand to the output list of the assembly fragment ("=r" (result)
--> "=&r" (result)) The ampersand just tells gcc that result can not
be placed in a register used for any of the input parameters (o, n, or
p).  Otherwise, it feels free to place output parameters in the same
registers used by the inputs -- but because of the flow of control
here we need everything in a distinct register.  This change fixes the
TVar program above.

The second change adds a clobber list (the :"cc", "memory").  This
tells gcc that the condition code (due to the compare) and memory (due
to the store) might be changed during the asm execution.  The lack of
a clobber list did not seem to be causing any trouble, but without it
gcc is free to assume that no state is changed during the execution.

13 years agoAlways use -funbox-strict-fields for Binary
Simon Marlow [Mon, 21 Aug 2006 15:21:11 +0000 (15:21 +0000)] 
Always use -funbox-strict-fields for Binary
For some reason this was only enabled when $(bootstrapped)=YES.  This
would be one reason why the stage1 compiler is slow.  I guess we'll
find out if anything goes wrong.

13 years agodisable automagic building of GHCi in stage1
Simon Marlow [Mon, 21 Aug 2006 15:19:57 +0000 (15:19 +0000)] 
disable automagic building of GHCi in stage1

13 years agoremove ancient file with incorrect information
Simon Marlow [Mon, 21 Aug 2006 14:19:46 +0000 (14:19 +0000)] 
remove ancient file with incorrect information

13 years agonew option -a (append) for hasktags
Martin Grabmueller [Wed, 16 Aug 2006 09:14:27 +0000 (09:14 +0000)] 
new option -a (append) for hasktags

13 years agougly hack to cause ghc_boot_platform.h to be built before primops.txt
Simon Marlow [Mon, 21 Aug 2006 12:06:30 +0000 (12:06 +0000)] 
ugly hack to cause ghc_boot_platform.h to be built before primops.txt

13 years agoadd libraries/cgi and libraries/xhtml
Simon Marlow [Mon, 21 Aug 2006 10:29:08 +0000 (10:29 +0000)] 
add libraries/cgi and libraries/xhtml

13 years ago(temp) #814 - More flexible memory allocation in Windows
Esa Ilari Vuokko [Sun, 20 Aug 2006 15:07:20 +0000 (15:07 +0000)] 
(temp) #814 - More flexible memory allocation in Windows

13 years agofix export/import list parsing (allow (,)), and remove unnecessary reverses
Simon Marlow [Mon, 21 Aug 2006 10:26:33 +0000 (10:26 +0000)] 
fix export/import list parsing (allow (,)), and remove unnecessary reverses

13 years agocomply with Haskell 98 by not allowing extra commas in import/export lists
Simon Marlow [Mon, 21 Aug 2006 09:59:12 +0000 (09:59 +0000)] 
comply with Haskell 98 by not allowing extra commas in import/export lists

13 years agoMissing stage1's in hc-build
Ian Lynagh [Mon, 21 Aug 2006 09:22:26 +0000 (09:22 +0000)] 
Missing stage1's in hc-build
Add mising stage1/ directories to object files touched by hc-build, and
give stage=1 as an argument to make install.

13 years agoremove spurious commas in imports
Ross Paterson [Sat, 19 Aug 2006 17:34:23 +0000 (17:34 +0000)] 
remove spurious commas in imports

13 years agowhitespace cleanup only
Ross Paterson [Fri, 18 Aug 2006 22:40:14 +0000 (22:40 +0000)] 
whitespace cleanup only

13 years agoremove gcj libs from bin dist [Fri, 18 Aug 2006 21:41:55 +0000 (21:41 +0000)] 
remove gcj libs from bin dist

13 years agoI don't thing we want to add a call-context here; it just clutters the output [Fri, 18 Aug 2006 16:07:29 +0000 (16:07 +0000)] 
I don't thing we want to add a call-context here; it just clutters the output

13 years agoAvoid duplicate "In type ..." in error messages [Fri, 18 Aug 2006 16:06:11 +0000 (16:06 +0000)] 
Avoid duplicate "In type ..." in error messages

13 years agoBetter pretty-printing for TvSubst [Fri, 18 Aug 2006 16:05:51 +0000 (16:05 +0000)] 
Better pretty-printing for TvSubst

13 years agoFall over more gracefully when there's a Template Haskell error [Fri, 18 Aug 2006 11:07:02 +0000 (11:07 +0000)] 
Fall over more gracefully when there's a Template Haskell error

For a long time, Template Haskell has fallen over in a very un-graceful
way (i.e. panic) even when it encounters a programmer error.  In particular,
when DsMeta converts HsSyn to TH syntax, it may find Haskell code that
TH does not understand. This should be reported as a normal programmer
error, not with a compiler panic!

Originally the desugarer was supposed to never generate error
messages, but this TH desugaring thing does make it do so.  And in
fact, for other reasons, the desugarer now uses the TcRnIf monad, the
common monad used by the renamer, typechecker, interface checker, and

This patch completes the job, by
 - allowing the desugarer to generate errors
 - re-plumbing the error handling to take account of this
 - making DsMeta use the new facilities to report error gracefully

Quite a few lines of code are touched, but nothing deep is going on.

Fixes Trac# 760.

13 years agoFix typo (fst --> head) in docs on implicit parameters [Fri, 18 Aug 2006 07:59:37 +0000 (07:59 +0000)] 
Fix typo (fst --> head) in docs on implicit parameters

13 years agoOne last hs-boot update [Thu, 17 Aug 2006 13:42:16 +0000 (13:42 +0000)] 
One last hs-boot update

13 years agoMissing import for stage 2 [Thu, 17 Aug 2006 13:32:47 +0000 (13:32 +0000)] 
Missing import for stage 2

13 years agoOne more hs-boot file [Thu, 17 Aug 2006 13:32:20 +0000 (13:32 +0000)] 
One more hs-boot file

13 years agoRefactoring for valid rule checking [Thu, 17 Aug 2006 13:01:41 +0000 (13:01 +0000)] 
Refactoring for valid rule checking

13 years agoDo not CSE in INLINE and NOINLINE things [Thu, 17 Aug 2006 13:00:05 +0000 (13:00 +0000)] 
Do not CSE in INLINE and NOINLINE things

See extensive comments with Note [INLINE and NOINLINE] in this file.

13 years agoUpdate lhs-boot files [Thu, 17 Aug 2006 13:20:03 +0000 (13:20 +0000)] 
Update lhs-boot files

A consequence of my recent meddling with hs-boot files is that GHC is
more picky about the correpondence between the hs-boot file and the hs file.
In particular, you must use the same type synonyms.

This patche fixes up GHC's own hs-boot files to match the restriction.

13 years agoAdd ad-hoc typing checks for tagToEnum# [Wed, 16 Aug 2006 20:31:56 +0000 (20:31 +0000)] 
Add ad-hoc typing checks for tagToEnum#

The problem with tagToEnum# is that it is not overloaded (in the
Haskell sense) but you are only supposed to apply it to a TyCon
that is an enumeration (isEnumerationTyCon).

The Real Way to do this is to have some special kind of type constraint
for the purpose, but that is wild overkill. So this patch adds a small
rather ad-hoc check to TcExpr.instFun.  Crude, simple, but it works fine.

Fixes Trac #786
Test is tcfail164

13 years agoGet dead-ness right in knownCon [Wed, 16 Aug 2006 16:42:16 +0000 (16:42 +0000)] 
Get dead-ness right in knownCon

13 years agoTuning for argToPat [Wed, 16 Aug 2006 16:41:03 +0000 (16:41 +0000)] 
Tuning for argToPat

argToPat is a crucial function for SpecConstr, because it decides
what patterns are worth specialising.  I was being much too gung-ho about
constants.  This patch makes it much better.

13 years agoRe-factor mkAtomicArgs and completeNonRecX [Wed, 16 Aug 2006 16:36:45 +0000 (16:36 +0000)] 
Re-factor mkAtomicArgs and completeNonRecX

This refactoring ensures that when mkAtomicArgs adds new bindings,
it does so using completeNonRecX, which adds unfoldings etc.  More
modular, and saves passes too.

(This was important when getting rules to work right.  We want tob
fire a rule as soon as possible, taking into account all inlinings,
else a less-good rule applies.  That's what I found when doing
stream fusion anyway.)

Regardless, this is an improvement.

13 years agoAnother try at the continuation-swapping stuff [Wed, 16 Aug 2006 10:50:42 +0000 (10:50 +0000)] 
Another try at the continuation-swapping stuff

I have spent altogether too long on my attempt to avoid case-of-case
in situations where it is a Bad Thing.  All the action is in the
case for mkDupableAlt that handles cases with a single alternative.

I've added rather extensive comments, and it finally seems to be working
more or less right.  If you compile (say) GHC/Real.o you'll see quite a
few case-of-cases remain (which didn't happen before), and they mostly look
pretty sensible to me.

13 years agoDon't build unnecessary lets in knownCon [Wed, 16 Aug 2006 10:48:31 +0000 (10:48 +0000)] 
Don't build unnecessary lets in knownCon

Faced with
case x of y { (a,b) -> rhs }

where x is bound to (c,d), we were generating

let y = (c,d) in rhs

and thenn hoping to get rid of the y binding by CSE or some such.  It's
better simply not to build it in the first place, by generating

let y = x in rhs

This patch does the job.

13 years agoComments only [Wed, 16 Aug 2006 10:48:17 +0000 (10:48 +0000)] 
Comments only

13 years agoRefactoring, plus record recursive-function *components* as RecArg too [Wed, 16 Aug 2006 08:58:09 +0000 (08:58 +0000)] 
Refactoring, plus record recursive-function *components* as RecArg too

13 years agoRecord constructor arg occs correctly (bug-fix) [Wed, 16 Aug 2006 08:56:28 +0000 (08:56 +0000)] 
Record constructor arg occs correctly (bug-fix)

I was forgetting the non-pattern-matched type args of a constructor.

13 years agoDisable form-checking for rule LHSs [Wed, 16 Aug 2006 08:56:12 +0000 (08:56 +0000)] 
Disable form-checking for rule LHSs

Previously we checked the form of the arguments of a RULE lhs, to
ensure that they were simple applications. There was no good reason
for that, save to prevent you writing LHSs that were unlikely to match.

And Don Stewart found he wanted to do something we didn't allow (a section,
I think).  So I have just disabled the check.

13 years agoAllow class and instance decls in hs-boot files [Tue, 15 Aug 2006 12:34:02 +0000 (12:34 +0000)] 
Allow class and instance decls in hs-boot files

For some reason, in 6.5 the manual said you could put a class decl in
an interface file, but not an instance decl; whereas the implementation
was exactly the othe way round.

This patch makes it possible to put *both* class and instance decls
in an interface file.

I also did a bit of re-factoring; comparing the declarations in the
hs-boot and hs file is now done by converting to IfaceSyn, because we
have good comparison operations for IfaceSyn already implemented.
This fixed a bug that previously let through an inconsistent declaration
of a data type.

The remaining infelicity concerns "abstract" TyCons.  They are a bit
of a hack anyway; and Classes are not handled in the same way.  Need
to think about this, but I think it's probably ok as it stands.

13 years agoReject derivable type classes with higher-rank methods [Tue, 15 Aug 2006 07:59:28 +0000 (07:59 +0000)] 
Reject derivable type classes with higher-rank methods

Trac #864 suggested a derivable type class with a higher-rank method.

In principle this is quite do-able, but in practice the mechanism works
by generating source code and then doing type inference.  To make this work
with higher-rank types would require impredicative polymorphism. And we
do have that, so it could probably be made to work by generating (source-level)
type annotations.  But it's real work, so I'm settling for generating a
decent error message rather than crashing.

13 years agoSpecConstr now specialises on constants and lambdas [Tue, 15 Aug 2006 16:26:05 +0000 (16:26 +0000)] 
SpecConstr now specialises on constants and lambdas

Roman inspired me to beef up SpecConstr to deal with
a) constant arguments
b) lambda arguments

This is described in elaborate comments in the file:
  Note [Specialising for constant parameters]
Note [Specialising for lambda parameters]

I also took the opportunity to fix the usage analysis done by
SpecConstr, which was only handling the top-level correctly.
Now it does nesting too.

13 years agoFix two bugs in rule-matching [Tue, 15 Aug 2006 16:20:30 +0000 (16:20 +0000)] 
Fix two bugs in rule-matching

These two typo-like bugs have been there for a long time!

  One concerns the selection of overlapping rules,
  which was back to front

  The other was name-lining-up bug in the Case case of matching

This patch also arranges to export matchN.
  (Not a good name, but still!)

13 years agoMoving list-length code from one place in the file to another [Tue, 15 Aug 2006 16:19:47 +0000 (16:19 +0000)] 
Moving list-length code from one place in the file to another

13 years agoMake UniqSM into a proper monad [Tue, 15 Aug 2006 16:18:29 +0000 (16:18 +0000)] 
Make UniqSM into a proper monad

13 years agoTypo in patch that dealt with duplicating continuations in Simplify [Tue, 15 Aug 2006 07:02:46 +0000 (07:02 +0000)] 
Typo in patch that dealt with duplicating continuations in Simplify

13 years agoBe more conservative about duplicating continuations [Mon, 14 Aug 2006 16:54:24 +0000 (16:54 +0000)] 
Be more conservative about duplicating continuations

Roman found that GHC was duplicating continuations that arose (essentially)
from uses of 'seq', or strict constructors.  This fixes the problem;
see the comments mkDupableCont (the Select case with a single alternative).

I'm a little concerned that this may also miss useful case-of-case
tranformations, so I'd like to know if anyone finds that this patch
makes performance worse.

To make it a bit more gung-ho, one could check for all the binders
being dead, before choosing this new, conservative alternative.

13 years agoInline into tail-called constructor args [Mon, 14 Aug 2006 16:51:27 +0000 (16:51 +0000)] 
Inline into tail-called constructor args

x = case y of { True -> (p,q); ... }

The occurrence analyser was marking p,q as 'Many', because they args
of a constructor in an RhsCtxt.  But actually they aren't in a RhsCtxt,
and in this case it's better to inline.

13 years agoImprove exprIsCheap [Mon, 14 Aug 2006 16:50:43 +0000 (16:50 +0000)] 
Improve exprIsCheap

exprIsCheap is meant to return True iff it's ok to push the expression
inside a lambda.  But the previous version would return True of a nested
construtor application like (1:2:3:[]), which isn't right.

This patch re-factors the code somewhat, and fixes the bug.

13 years agoAdded xhtml and cgi as default libraries. [Mon, 14 Aug 2006 11:32:42 +0000 (11:32 +0000)] 
Added xhtml and cgi as default libraries.

13 years agoImprove error message in TcHsType [Mon, 14 Aug 2006 09:56:17 +0000 (09:56 +0000)] 
Improve error message in TcHsType

Fixes Trac #863.
Test is tcfail162

13 years agoWarning police: Removed overlapped pattern warnings [Fri, 11 Aug 2006 15:13:53 +0000 (15:13 +0000)] 
Warning police: Removed overlapped pattern warnings

13 years agoComplete -fmono-pat-binds patch [Fri, 11 Aug 2006 14:28:42 +0000 (14:28 +0000)] 
Complete -fmono-pat-binds patch

When adding the experimental -fmono-pat-binds, I forgot to check
for type signatures of the now-monomorphic patterns.  This patch
completes the job.

I documented the design too:

13 years agoAvoid warning about overlapped pattern for Linux target [Fri, 11 Aug 2006 14:05:12 +0000 (14:05 +0000)] 
Avoid warning about overlapped pattern for Linux target

13 years agoImprove error message layouts [Fri, 11 Aug 2006 13:33:17 +0000 (13:33 +0000)] 
Improve error message layouts

13 years agoAdd type signature [Fri, 11 Aug 2006 13:33:02 +0000 (13:33 +0000)] 
Add type signature

13 years agoImprove the "could not find module" error message
Simon Marlow [Fri, 11 Aug 2006 13:21:35 +0000 (13:21 +0000)] 
Improve the "could not find module" error message
In particular, if we're searching for the profiling version of a
module in another package, then suggest that perhaps it might not have
been installed.

13 years agoOn FreeBSD, use -lthr instead of -pthread for now (see comments)
Simon Marlow [Fri, 11 Aug 2006 11:34:53 +0000 (11:34 +0000)] 
On FreeBSD, use -lthr instead of -pthread for now (see comments)

13 years agoTwo more error message indendations [Fri, 11 Aug 2006 11:04:35 +0000 (11:04 +0000)] 
Two more error message indendations

13 years agoGo back to calling type veriables t [Fri, 11 Aug 2006 11:04:12 +0000 (11:04 +0000)] 
Go back to calling type veriables t

13 years agoIndent an error message [Fri, 11 Aug 2006 11:03:47 +0000 (11:03 +0000)] 
Indent an error message

13 years agoImprove error message (imported from Prelude at Implicit import declaration) [Fri, 11 Aug 2006 11:03:01 +0000 (11:03 +0000)] 
Improve error message (imported from Prelude at Implicit import declaration)

13 years agodon't qualify module name for importedSrcLoc
Simon Marlow [Fri, 11 Aug 2006 10:13:27 +0000 (10:13 +0000)] 
don't qualify module name for importedSrcLoc

13 years agouse "Defined in" rather than "Imported from" when printing ImportedSrcLoc
Simon Marlow [Fri, 11 Aug 2006 10:11:59 +0000 (10:11 +0000)] 
use "Defined in" rather than "Imported from" when printing ImportedSrcLoc

13 years agoNow that we have an "html" package, put the Haddock docs somewhere else [Fri, 11 Aug 2006 09:26:09 +0000 (09:26 +0000)] 
Now that we have an "html" package, put the Haddock docs somewhere else

13 years agoNuked hschooks.h in favour of cutils.h, which has the prototypes we need [Thu, 10 Aug 2006 15:42:25 +0000 (15:42 +0000)] 
Nuked hschooks.h in favour of cutils.h, which has the prototypes we need

13 years agoMatch format strings and arguments for printf-like functions [Thu, 10 Aug 2006 15:36:24 +0000 (15:36 +0000)] 
Match format strings and arguments for printf-like functions

13 years agoWarning police: Make prototype for LDV_recordDead_FILL_SLOP_DYNAMIC visible [Thu, 10 Aug 2006 14:48:37 +0000 (14:48 +0000)] 
Warning police: Make prototype for LDV_recordDead_FILL_SLOP_DYNAMIC visible

13 years agoWarning police: Make strlen and friends known [Thu, 10 Aug 2006 14:47:29 +0000 (14:47 +0000)] 
Warning police: Make strlen and friends known

13 years agoTweak GCC's inlining parameters to get thread_obj inlined [Thu, 10 Aug 2006 14:45:05 +0000 (14:45 +0000)] 
Tweak GCC's inlining parameters to get thread_obj inlined

13 years agoAdd an IAmDead case to postInlineUnconditionally, and comments [Thu, 10 Aug 2006 14:20:34 +0000 (14:20 +0000)] 
Add an IAmDead case to postInlineUnconditionally, and comments

13 years agoDo not repeatedly simplify an argument more than once [Thu, 10 Aug 2006 14:15:26 +0000 (14:15 +0000)] 
Do not repeatedly simplify an argument more than once

A very important invariant of the simplifier is that we do not simplify
an arbitrarily large expression more than once in a single pass. If this
can happen, then we can get exponential behaviour, when the large expression
itself has a large sub-expression which is simplified twice, and so on.

GHC has a long-standing bug which allows this repeated simplification to
happen.  It shows up when we have a function like this

f d BIG
where f's unfolding looks like
\x -> case x of (a,b) -> a
Of course this is v common for overloaded functions.

Before this patch we simplified all the args (d and BIG) before
deciding to unfold f.  Then we push back the simplified BIG onto the
continuation stack, inline f, so now we have
(case d of (a,b) -> a) BIG
After we reduce the case a bit, we'll simplify BIG a second time.  And
that's the problem.

The quick-and-dirty solution is to keep a flag in the ApplyTo continuation
to say whather the arg has already been simplified.  An alternative would
be to simplify it when first encountered, but that's a bigger change.

13 years agoDo not call preInlineUnconditionally in simplNonRecX [Thu, 10 Aug 2006 14:13:40 +0000 (14:13 +0000)] 
Do not call preInlineUnconditionally in simplNonRecX

This looks to me like a long-standing bug. simplNonRecX was calling
preInlineUnconditionally, even though it was given an already-simplified
expression.  Exponential behaviour beckons.

13 years agoMake postInlineUnconditaionally more conservative [Thu, 10 Aug 2006 14:11:45 +0000 (14:11 +0000)] 
Make postInlineUnconditaionally more conservative

I'm being more paranoid about repeatedly simplifying things (to avoid
exponential behaviour.)  postInlineUnconditionally looks as if it
could repeated simplify the same expression; this patch stops it doing

The extra lines are all comments!

13 years agoControl.Exception.unblock wasn't unblocking exceptions
Simon Marlow [Thu, 10 Aug 2006 13:23:07 +0000 (13:23 +0000)] 
Control.Exception.unblock wasn't unblocking exceptions

13 years agoremove out of date comment
Simon Marlow [Thu, 10 Aug 2006 13:01:54 +0000 (13:01 +0000)] 
remove out of date comment

13 years agomove html before network, for now
Simon Marlow [Thu, 10 Aug 2006 12:19:30 +0000 (12:19 +0000)] 
move html before network, for now

13 years agoadd html package
Simon Marlow [Thu, 10 Aug 2006 11:37:19 +0000 (11:37 +0000)] 
add html package

13 years agoEgregious bug in tcLHsConResTy [Thu, 10 Aug 2006 12:08:28 +0000 (12:08 +0000)] 
Egregious bug in tcLHsConResTy

This terrible bug in tcLHsConTy is pretty much guaranteed to show up
on an program involving a GADT with more than one type parameter.

This bug isn't present in the STABLE branch.

Manuel: it is *not* necesary to merge this patch into the FC branch;
just ignore it.

13 years agoComments about improvements to SpecConstr [Thu, 10 Aug 2006 12:07:59 +0000 (12:07 +0000)] 
Comments about improvements to SpecConstr

13 years agoRemove HasBounds-instance and implement MArray.getBounds instead
Esa Ilari Vuokko [Wed, 9 Aug 2006 16:30:12 +0000 (16:30 +0000)] 
Remove HasBounds-instance and implement MArray.getBounds instead

13 years agoFix Array imports
Esa Ilari Vuokko [Wed, 9 Aug 2006 16:13:41 +0000 (16:13 +0000)] 
Fix Array imports

13 years agoWhere we use $(GhcHcOpts), also add $(GhcStage1HcOpts)
Simon Marlow [Wed, 9 Aug 2006 14:48:45 +0000 (14:48 +0000)] 
Where we use $(GhcHcOpts), also add $(GhcStage1HcOpts)
This fixes building the compiler with -prof in $(GhcStage1HcOpts)

13 years agofixes to the stage2 build following removal of old FFI syntax
Simon Marlow [Wed, 9 Aug 2006 14:31:53 +0000 (14:31 +0000)] 
fixes to the stage2 build following removal of old FFI syntax

13 years agofix bug in task freeing
Simon Marlow [Wed, 9 Aug 2006 14:12:25 +0000 (14:12 +0000)] 
fix bug in task freeing

13 years agoadd some more options to stage 2
Simon Marlow [Wed, 9 Aug 2006 14:10:58 +0000 (14:10 +0000)] 
add some more options to stage 2

13 years agoremove debugging code accidentally left in
Simon Marlow [Wed, 9 Aug 2006 10:29:36 +0000 (10:29 +0000)] 
remove debugging code accidentally left in

13 years agoremember that old FFI syntax has been dropped
Simon Marlow [Wed, 9 Aug 2006 10:16:55 +0000 (10:16 +0000)] 
remember that old FFI syntax has been dropped

13 years agoonly define GHCI if $(GhcWithInterpreter)=YES, also add -threaded
Simon Marlow [Wed, 9 Aug 2006 10:16:34 +0000 (10:16 +0000)] 
only define GHCI if $(GhcWithInterpreter)=YES, also add -threaded

13 years agomove altzone test to base package
Ross Paterson [Wed, 9 Aug 2006 12:42:15 +0000 (12:42 +0000)] 
move altzone test to base package

13 years agoremove unused FPTOOLS_CHECK_HTYPE macro
Ross Paterson [Wed, 9 Aug 2006 12:40:36 +0000 (12:40 +0000)] 
remove unused FPTOOLS_CHECK_HTYPE macro

13 years agoRemove the artifical cap on the number of workers
Simon Marlow [Wed, 9 Aug 2006 09:59:08 +0000 (09:59 +0000)] 
Remove the artifical cap on the number of workers
See #805.  This was here to catch bugs that resulted in an infinite
number of worker threads being created.  However, we can't put a
reasonable bound on the number of worker threads, because legitimate
programs may need to create large numbers of (probably blocked) worker
threads.  Furthermore, the OS probably has a bound on the number of
threads that a process can create in any case.

13 years agoRemove old FFI syntax
Simon Marlow [Wed, 9 Aug 2006 09:52:01 +0000 (09:52 +0000)] 
Remove old FFI syntax
See #815

13 years agomake exit() overridable, for use in DLLs
Simon Marlow [Wed, 9 Aug 2006 09:24:39 +0000 (09:24 +0000)] 
make exit() overridable, for use in DLLs
See #753

13 years agoMore fixes to pre-matching and pre-subsumption [Tue, 8 Aug 2006 22:49:24 +0000 (22:49 +0000)] 
More fixes to pre-matching and pre-subsumption

Actually this patch fixes two errors. one was a trivial typo in
tha last patch (b_ty should be b_tau), which led to an infinite loop
when compiling Data.Generic.Twins.

Fixing that revealed a more serious error in the same function.
I was sloppy about dealing robsutly with name-capture for nested
quantifiers in pre-subsumption and pre-matching; and sure enough
I got bitten.  Sigh.  I think it is right now.

13 years agoGroup exports so that all length functions are together; no semantic change [Tue, 8 Aug 2006 22:48:08 +0000 (22:48 +0000)] 
Group exports so that all length functions are together; no semantic change