ghc-hetmet.git
14 years agoAdd tarball syncing to darcs-all
Ian Lynagh [Wed, 14 Oct 2009 16:29:48 +0000 (16:29 +0000)]
Add tarball syncing to darcs-all
We now use it for libffi and the mingw tarballs

14 years agoRemove libffi tarball from the repo
Ian Lynagh [Wed, 14 Oct 2009 13:58:07 +0000 (13:58 +0000)]
Remove libffi tarball from the repo

14 years agoFix a regression introduced in "overlap checking of the black hole queue..."
Simon Marlow [Tue, 20 Oct 2009 11:50:20 +0000 (11:50 +0000)]
Fix a regression introduced in "overlap checking of the black hole queue..."
We weren't checking the black-hole queue in the non-threaded RTS.

14 years agoTidy up TcSplice, especially runMeta and friends
simonpj@microsoft.com [Tue, 20 Oct 2009 07:44:35 +0000 (07:44 +0000)]
Tidy up TcSplice, especially runMeta and friends

I wanted to see the TH syntax produced by a splice, before its conversion
back into HsSyn.  Doing so involved some refactoring.  This only affects
deubbging code (-ddump-tc-trace).

14 years agoAdd flags -fno-specialise, -fno-float-in, and document them
simonpj@microsoft.com [Tue, 20 Oct 2009 07:42:29 +0000 (07:42 +0000)]
Add flags -fno-specialise, -fno-float-in, and document them

It turned out that we lacked flags to switch off these two passes,
so I added them.

14 years agoFix cross-reference
simonpj@microsoft.com [Tue, 20 Oct 2009 07:42:13 +0000 (07:42 +0000)]
Fix cross-reference

14 years agoFix Trac #3600: Template Haskell bug in Convert
simonpj@microsoft.com [Tue, 20 Oct 2009 07:26:16 +0000 (07:26 +0000)]
Fix Trac #3600: Template Haskell bug in Convert

This bug was introduced when I added an optimisation, described in
Note [Converting strings] in Convert.lhs.  It was treating *all*
empty lists as strings, not just string-typed ones!

The fix is easy.  Pls MERGE to stable branch.

14 years agoTweak to the way per-source-file options are specified
Simon Marlow [Thu, 15 Oct 2009 12:22:25 +0000 (12:22 +0000)]
Tweak to the way per-source-file options are specified

14 years agoAdd some manual dependencies, and -fforce-recomp for Constants and PrimOps
Simon Marlow [Thu, 15 Oct 2009 11:51:20 +0000 (11:51 +0000)]
Add some manual dependencies, and -fforce-recomp for Constants and PrimOps
GHC's recompilation checker doesn't take into account #included files,
which is really a bug.  We work around it here by adding dependencies
and using -fforce-recomp in a couple of places.

14 years agoFix Trac #959: a long-standing bug in instantiating otherwise-unbound type variables
simonpj@microsoft.com [Thu, 15 Oct 2009 12:28:10 +0000 (12:28 +0000)]
Fix Trac #959: a long-standing bug in instantiating otherwise-unbound type variables

   DO NOT MERGE TO GHC 6.12 branch
   (Reason: interface file format change.)

The typechecker needs to instantiate otherwise-unconstraint type variables to
an appropriately-kinded constant type, but we didn't have a supply of
arbitrarily-kinded tycons for this purpose.  Now we do.

The details are described in Note [Any types] in TysPrim.  The
fundamental change is that there is a new sort of TyCon, namely
AnyTyCon, defined in TyCon.

Ter's a small change to interface-file binary format, because the new
AnyTyCons have to be serialised.

I tided up the handling of uniques a bit too, so that mkUnique is not
exported, so that we can see all the different name spaces in one module.

14 years agoFix several missing dependencies in ifFreeNames
simonpj@microsoft.com [Thu, 15 Oct 2009 12:01:59 +0000 (12:01 +0000)]
Fix several missing dependencies in ifFreeNames

These missing dependencies led to:
  ghc-stage1: panic! (the 'impossible' happened)
  (GHC version 6.13 for x86_64-unknown-linux):
urk! lookup local fingerprint ghc-6.13:CgBindery.CgBindings{tc r4Z}

Simon and I don't quite understand why I've encountered these while
no one else has, but they are certainly bugs, and this patch certainly
fixes them.

Merge to 6.12 branch

14 years agoCorrect comment
simonpj@microsoft.com [Thu, 15 Oct 2009 11:55:46 +0000 (11:55 +0000)]
Correct comment

14 years agoFix Trac #3263: don't print Hpc tick stuff unless -dppr-debug is on
simonpj@microsoft.com [Thu, 15 Oct 2009 11:44:37 +0000 (11:44 +0000)]
Fix Trac #3263: don't print Hpc tick stuff unless -dppr-debug is on

In general, when pretty-printing HsSyn, we omit the extra info added by GHC
(type appplications and abstractions, etc) when printing stuff for the user.
But we weren't applying that guideline to the HsTick stuff for Hpc.  This
patch adds the necessary tests.

14 years agoAdd events to show when GC threads are idle/working
Simon Marlow [Thu, 15 Oct 2009 10:02:12 +0000 (10:02 +0000)]
Add events to show when GC threads are idle/working

14 years agooverlap checking of the black hole queue with waiting for GC threads
Simon Marlow [Thu, 15 Oct 2009 09:07:56 +0000 (09:07 +0000)]
overlap checking of the black hole queue with waiting for GC threads

14 years agoFix warnings
Roman Leshchinskiy [Thu, 15 Oct 2009 07:01:47 +0000 (07:01 +0000)]
Fix warnings

14 years agoDon't hardwire PA and PR dfuns in the vectoriser
Roman Leshchinskiy [Thu, 15 Oct 2009 05:37:40 +0000 (05:37 +0000)]
Don't hardwire PA and PR dfuns in the vectoriser

Instead, we simply find all available PA and PR instances and get our dfuns
from those.

14 years agoPA and PR from dph are now type classes
Roman Leshchinskiy [Thu, 15 Oct 2009 03:08:05 +0000 (03:08 +0000)]
PA and PR from dph are now type classes

This is a fairly big change to the vectoriser in preparation to Simon's inline
patch.

14 years agoFix FFI declaration checks
Simon Marlow [Wed, 14 Oct 2009 14:01:28 +0000 (14:01 +0000)]
Fix FFI declaration checks
For GHCi, foreign labels should be allowed, but foreign export should
be disallowed; both were previously wrong.

14 years agomicro-opt: replace stmGetEnclosingTRec() with a field access
Simon Marlow [Wed, 14 Oct 2009 13:17:27 +0000 (13:17 +0000)]
micro-opt: replace stmGetEnclosingTRec() with a field access
While fixing #3578 I noticed that this function was just a field
access to StgTRecHeader, so I inlined it manually.

14 years agoFix #3578: return a dummy result when an STM transaction is aborted
Simon Marlow [Wed, 14 Oct 2009 13:16:19 +0000 (13:16 +0000)]
Fix #3578: return a dummy result when an STM transaction is aborted
(see comment for details)

14 years agoFixes for cross-compiling to a different word size
Simon Marlow [Wed, 14 Oct 2009 13:06:12 +0000 (13:06 +0000)]
Fixes for cross-compiling to a different word size
This patch eliminates a couple of places where we were assuming that
the host word size is the same as the target word size.

Also a little refactoring: Constants now exports the types TargetInt
and TargetWord corresponding to the Int/Word type on the target
platform, and I moved the definitions of tARGET_INT_MAX and friends
from Literal to Constants.

Thanks to Barney Stratford <barney_stratford@fastmail.fm> for helping
track down the problem and fix it.  We now know that GHC can
successfully cross-compile from 32-bit to 64-bit.

14 years agoFix #3579: avoid clashing with names of implicit bindings
Simon Marlow [Wed, 14 Oct 2009 09:51:53 +0000 (09:51 +0000)]
Fix #3579: avoid clashing with names of implicit bindings

14 years agoNew flag -dsuppress-coercions to avoid printing coercions in Core dumps
Roman Leshchinskiy [Wed, 14 Oct 2009 00:30:58 +0000 (00:30 +0000)]
New flag -dsuppress-coercions to avoid printing coercions in Core dumps

14 years agoFix install when various DOC variables are empty
Ian Lynagh [Tue, 13 Oct 2009 10:15:30 +0000 (10:15 +0000)]
Fix install when various DOC variables are empty

14 years agoFix install when INSTALL_LIBEXEC_SCRIPTS = ""
Ian Lynagh [Tue, 13 Oct 2009 09:52:43 +0000 (09:52 +0000)]
Fix install when INSTALL_LIBEXEC_SCRIPTS = ""

14 years agoFix install when INSTALL_LIBEXECS = ""
Ian Lynagh [Tue, 13 Oct 2009 09:39:17 +0000 (09:39 +0000)]
Fix install when INSTALL_LIBEXECS = ""
This is the case on Windows (as we have no shell wrappers), and mingw's
shell doesn't like an empty list of things in a "for" command.

14 years agoDocument that lazy I/O now throws exceptions
Simon Marlow [Mon, 12 Oct 2009 15:42:13 +0000 (15:42 +0000)]
Document that lazy I/O now throws exceptions

14 years agofindSpark: exit if there's a returning foreign call
Simon Marlow [Fri, 9 Oct 2009 15:29:20 +0000 (15:29 +0000)]
findSpark: exit if there's a returning foreign call

14 years agoThe -e flag now has a "SepArg" argument; fixes #3568
Ian Lynagh [Mon, 12 Oct 2009 13:49:23 +0000 (13:49 +0000)]
The -e flag now has a "SepArg" argument; fixes #3568
This means -e must be separated from its argument by a space.
It therefore doesn't try to parse "-exclude-module" as
"execute xclude-module".

14 years agoPrint warnings after doMkDependHS
Ian Lynagh [Mon, 12 Oct 2009 13:26:11 +0000 (13:26 +0000)]
Print warnings after doMkDependHS
We weren't printing any warning for a commandline like
    ghc -M Foo.hs -optdep--exclude-module=Bar -fffi
but the last 2 flags are both deprecated.

14 years agoremove duplicate entry for -fwarn-unused-do-bind (#3576)
Simon Marlow [Mon, 12 Oct 2009 11:02:16 +0000 (11:02 +0000)]
remove duplicate entry for -fwarn-unused-do-bind (#3576)

14 years agofix markup
Simon Marlow [Mon, 12 Oct 2009 08:36:56 +0000 (08:36 +0000)]
fix markup

14 years agoRetry pulling from our own spark pool if there was a collision
Simon Marlow [Wed, 7 Oct 2009 12:50:31 +0000 (12:50 +0000)]
Retry pulling from our own spark pool if there was a collision

14 years agoInstall libHSffi_p.a
Ian Lynagh [Mon, 12 Oct 2009 10:19:52 +0000 (10:19 +0000)]
Install libHSffi_p.a

14 years agoMore README updates
Ian Lynagh [Mon, 12 Oct 2009 09:51:42 +0000 (09:51 +0000)]
More README updates

14 years agoUpdate the README instructions for getting the source
Ian Lynagh [Mon, 12 Oct 2009 09:43:25 +0000 (09:43 +0000)]
Update the README instructions for getting the source

14 years agoOnly make the Windows installer if ISCC is set
Ian Lynagh [Sat, 10 Oct 2009 16:02:46 +0000 (16:02 +0000)]
Only make the Windows installer if ISCC is set
Now that we make bindists during validate, we can't assume that ISCC
is available.

14 years agoUpdate the list of happy/alex-generated files put in sdists
Ian Lynagh [Sat, 10 Oct 2009 02:13:00 +0000 (02:13 +0000)]
Update the list of happy/alex-generated files put in sdists

14 years agoAdd the include files to bindists
Ian Lynagh [Fri, 9 Oct 2009 21:56:04 +0000 (21:56 +0000)]
Add the include files to bindists

14 years agoTweak how bindistprep is created and cleaned
Ian Lynagh [Fri, 9 Oct 2009 20:38:03 +0000 (20:38 +0000)]
Tweak how bindistprep is created and cleaned

14 years agoWhen validating, run the testsuite with the bindisttest compiler
Ian Lynagh [Fri, 9 Oct 2009 20:31:25 +0000 (20:31 +0000)]
When validating, run the testsuite with the bindisttest compiler

14 years agoDon't remake the bindist when validating with --testsuite-only
Ian Lynagh [Fri, 9 Oct 2009 20:09:55 +0000 (20:09 +0000)]
Don't remake the bindist when validating with --testsuite-only

14 years agoMake ghci work with libraries compiled with -ticky
simonpj@microsoft.com [Thu, 8 Oct 2009 16:27:52 +0000 (16:27 +0000)]
Make ghci work with libraries compiled with -ticky

This is a follow up to the patch tha fixes Trac #3439.
We had forgotten the dynamic linker, which needs to
know all these ticky symbols too.

14 years agoMake tyConSingleDataCon_maybe more forgiving
simonpj@microsoft.com [Thu, 8 Oct 2009 16:23:29 +0000 (16:23 +0000)]
Make tyConSingleDataCon_maybe more forgiving

This function was barfing on a type family tycon; which in turn
crashed the compiler (when -ticky is in use) because of the use in
CmmTicky.hs.  There's no need for it to reject such tycons, so I just
made it return Nothing rather than falling over.

14 years agoMark/compact: use a dynamically-sized mark stack, and don't do linear scan
Simon Marlow [Thu, 8 Oct 2009 15:14:42 +0000 (15:14 +0000)]
Mark/compact: use a dynamically-sized mark stack, and don't do linear scan
This improves the performance of the mark/compact and mark/region
collectors, and paves the way for doing mark/region with smaller
region sizes, in the style of Immix.

14 years agoMake appendToRunQueue EXTERN_INLINE rather than INLINE_HEADER
Simon Marlow [Thu, 8 Oct 2009 12:05:27 +0000 (12:05 +0000)]
Make appendToRunQueue EXTERN_INLINE rather than INLINE_HEADER
Fixes compilation with gcc 4.4

14 years agoRemove FP_MINGW_GCC now that we use an in-tree gcc
Ian Lynagh [Thu, 8 Oct 2009 15:34:12 +0000 (15:34 +0000)]
Remove FP_MINGW_GCC now that we use an in-tree gcc

14 years agoRemove the windres configure check, now that we use an in-tree windres
Ian Lynagh [Thu, 8 Oct 2009 15:32:44 +0000 (15:32 +0000)]
Remove the windres configure check, now that we use an in-tree windres

14 years agoRemove bytestring from the "packages" file
Ian Lynagh [Wed, 7 Oct 2009 16:19:32 +0000 (16:19 +0000)]
Remove bytestring from the "packages" file
We now use a tarball of it, so we don't want to get it from a darcs repo.

14 years agoAdd flag -XExplicitForAll and document it
simonpj@microsoft.com [Wed, 7 Oct 2009 15:52:51 +0000 (15:52 +0000)]
Add flag -XExplicitForAll and document it

This implements the Haskell Prime proposal
  http://hackage.haskell.org/trac/haskell-prime/wiki/ExplicitForall

Flag is -XExplicitForAll

Implied by Opt_RankNTypes, Opt_Rank2Types, Opt_ScopedTypeVariables,
           Opt_LiberalTypeSynonyms, Opt_ExistentialQuantification,
           Opt_PolymorphicComponents

14 years agoFix dependencies for the RTS
Simon Marlow [Tue, 6 Oct 2009 15:50:59 +0000 (15:50 +0000)]
Fix dependencies for the RTS
Evac_thr.c and Scav_thr.c had no dependencies

14 years agoPackages are only shadowed if the InstalledPackageId is *different*
Simon Marlow [Tue, 6 Oct 2009 15:49:40 +0000 (15:49 +0000)]
Packages are only shadowed if the InstalledPackageId is *different*
If the two InstalledPackageIds are the same, then the packages are
interchangeable and we don't need to explicitly remove one of them.

14 years agotracing wibble (make -ls work with a -debug RTS)
Simon Marlow [Tue, 6 Oct 2009 15:47:47 +0000 (15:47 +0000)]
tracing wibble (make -ls work with a -debug RTS)

14 years agoMake the Windows installer in bindistprep/
Ian Lynagh [Wed, 7 Oct 2009 13:18:39 +0000 (13:18 +0000)]
Make the Windows installer in bindistprep/

14 years agoMake the unpleasant sed one-liner less unpleasant
Matthias Kilian [Wed, 7 Oct 2009 10:12:39 +0000 (10:12 +0000)]
Make the unpleasant sed one-liner less unpleasant

14 years agoAdd the new bytestring to the repository
Ian Lynagh [Tue, 6 Oct 2009 20:34:41 +0000 (20:34 +0000)]
Add the new bytestring to the repository

14 years agoAdd a test in darcs-all for old bytestring repositories
Ian Lynagh [Tue, 6 Oct 2009 20:33:42 +0000 (20:33 +0000)]
Add a test in darcs-all for old bytestring repositories

14 years agoAdd --supported-languages support to dummy-ghc
Ian Lynagh [Tue, 6 Oct 2009 20:14:15 +0000 (20:14 +0000)]
Add --supported-languages support to dummy-ghc
We used to call the bootstrapping compiler to get its --supported-languages
but that doesn't work when it doesn't support all the extensions that we
need. In particular, compiling the new bytestring which needs NamedFieldPuns
broken when building with 6.8.2.
There's now a rather ugly sed script to extract the extensions from
DynFlags.hs.

14 years agoUpdate bin-package-db's Cabal dep
Ian Lynagh [Tue, 6 Oct 2009 16:06:33 +0000 (16:06 +0000)]
Update bin-package-db's Cabal dep

14 years agofollow changes in Distribution.Simple.PackageIndex API
Simon Marlow [Tue, 6 Oct 2009 13:14:56 +0000 (13:14 +0000)]
follow changes in Distribution.Simple.PackageIndex API

14 years agoremove a TODO now done
Simon Marlow [Tue, 6 Oct 2009 09:40:08 +0000 (09:40 +0000)]
remove a TODO now done

14 years agoAdd ".PRECIOUS: %/."
Simon Marlow [Tue, 6 Oct 2009 09:40:00 +0000 (09:40 +0000)]
Add ".PRECIOUS: %/."
To quiet those warnings from make about not being able to delete
directories.

14 years agoComment out some unnecessary makefile rules
Ian Lynagh [Mon, 5 Oct 2009 21:38:43 +0000 (21:38 +0000)]
Comment out some unnecessary makefile rules
Since we started using "| $$$$(dir $$$$@)/." they've started causing
problems for unknown reasons.

14 years agoUse the standard library versions of elem and notElem
Ian Lynagh [Mon, 5 Oct 2009 20:40:44 +0000 (20:40 +0000)]
Use the standard library versions of elem and notElem
rather than our own copies

14 years agoMake the bindist AC_INIT line match the main configure script's
Ian Lynagh [Sun, 4 Oct 2009 10:39:08 +0000 (10:39 +0000)]
Make the bindist AC_INIT line match the main configure script's
This means that PACKAGE_TARNAME gets set, so the default docdir is
correct.

14 years agoFix typo in comment
Ian Lynagh [Fri, 2 Oct 2009 21:26:05 +0000 (21:26 +0000)]
Fix typo in comment

14 years agoUse "order only constraints" for directories
Ian Lynagh [Fri, 2 Oct 2009 19:12:18 +0000 (19:12 +0000)]
Use "order only constraints" for directories
There are now 104 calls to mkdirhier, down from 1201, when validating.

14 years agoUse INSTALL_DIR, not MKDIRHIER, when installing
Ian Lynagh [Fri, 2 Oct 2009 15:22:46 +0000 (15:22 +0000)]
Use INSTALL_DIR, not MKDIRHIER, when installing

14 years agoadd missing id="ffi-prim"
Simon Marlow [Fri, 2 Oct 2009 15:14:57 +0000 (15:14 +0000)]
add missing id="ffi-prim"

14 years agoReplace a checking `is_elem` with a plain `elem`
Simon Marlow [Wed, 30 Sep 2009 08:43:58 +0000 (08:43 +0000)]
Replace a checking `is_elem` with a plain `elem`
This one complains sometimes, but there's no good way to improve it.

14 years agoFix pretty-printing precedence for equality constraints
simonpj@microsoft.com [Fri, 2 Oct 2009 11:15:49 +0000 (11:15 +0000)]
Fix pretty-printing precedence for equality constraints

14 years agoComments only
simonpj@microsoft.com [Fri, 2 Oct 2009 11:14:36 +0000 (11:14 +0000)]
Comments only

14 years agoDocument -XMonoLocalBinds
simonpj@microsoft.com [Fri, 2 Oct 2009 11:14:00 +0000 (11:14 +0000)]
Document -XMonoLocalBinds

14 years agoCombine treatment of vanialla/GADT data decls, and fix assert failure
simonpj@microsoft.com [Fri, 2 Oct 2009 07:21:09 +0000 (07:21 +0000)]
Combine treatment of vanialla/GADT data decls, and fix assert failure

14 years agoFix Trac #3540: malformed types
simonpj@microsoft.com [Wed, 30 Sep 2009 10:47:03 +0000 (10:47 +0000)]
Fix Trac #3540: malformed types

Tidy up the way that predicates are handled inside types

14 years agoWhite space only
simonpj@microsoft.com [Wed, 30 Sep 2009 10:40:55 +0000 (10:40 +0000)]
White space only

14 years agoSystem.Console.Terminfo isn't available when bootstrapping.
Matthias Kilian [Wed, 30 Sep 2009 21:26:29 +0000 (21:26 +0000)]
System.Console.Terminfo isn't available when bootstrapping.

14 years agoThe Windows installer now needs to get its files from bindistprep/
Ian Lynagh [Wed, 30 Sep 2009 22:47:46 +0000 (22:47 +0000)]
The Windows installer now needs to get its files from bindistprep/

14 years agoWe no longer need to specify the gcc and ld location when validating
Ian Lynagh [Wed, 30 Sep 2009 21:05:02 +0000 (21:05 +0000)]
We no longer need to specify the gcc and ld location when validating
on Windows, as they are now in-tree

14 years agobinary is called "binary", not "ghc-binary", in the HEAD
Ian Lynagh [Tue, 29 Sep 2009 21:12:19 +0000 (21:12 +0000)]
binary is called "binary", not "ghc-binary", in the HEAD

14 years agoDon't put library tarballs etc in the GHC source tarballs
Ian Lynagh [Tue, 29 Sep 2009 15:29:52 +0000 (15:29 +0000)]
Don't put library tarballs etc in the GHC source tarballs

14 years agoDon't install haskeline/mtl/terminfo, and hide ghc-binary
Ian Lynagh [Tue, 29 Sep 2009 14:43:24 +0000 (14:43 +0000)]
Don't install haskeline/mtl/terminfo, and hide ghc-binary

14 years agoUse "rep; nop" inside a spin-lock loop on x86/x86-64
Simon Marlow [Tue, 29 Sep 2009 13:07:22 +0000 (13:07 +0000)]
Use "rep; nop" inside a spin-lock loop on x86/x86-64
This helps on a hyperthreaded CPU by yielding to the other thread in a
spinlock loop.

14 years agoNo need to use -split-objs with dynamic libraries
Simon Marlow [Tue, 29 Sep 2009 10:38:11 +0000 (10:38 +0000)]
No need to use -split-objs with dynamic libraries

14 years agoFix some missing unfoldings (foldr in particular!)
Simon Marlow [Tue, 29 Sep 2009 10:27:45 +0000 (10:27 +0000)]
Fix some missing unfoldings (foldr in particular!)

The changes I made to the tidier recently introduced a serious
regression: the unfoldings for bindings in a recursive group were
sometimes lost, because we were looking at Id occurrences rather than
Id binders, and the occurrences of recursive Ids do not necessarily
have unfoldings attached.

14 years agoremove TICK_GC_WORDS_COPIED, the GC stats give us the same thing
Simon Marlow [Mon, 28 Sep 2009 14:53:49 +0000 (14:53 +0000)]
remove TICK_GC_WORDS_COPIED, the GC stats give us the same thing

14 years agoRemove long rotted configure support for Windows DLLs
Ben.Lippmeier@anu.edu.au [Sat, 26 Sep 2009 10:36:10 +0000 (10:36 +0000)]
Remove long rotted configure support for Windows DLLs

14 years agoFix making Windows bindist and installer
Ian Lynagh [Tue, 29 Sep 2009 01:27:17 +0000 (01:27 +0000)]
Fix making Windows bindist and installer

14 years agoRun bindisttest when validating
Ian Lynagh [Mon, 28 Sep 2009 17:33:23 +0000 (17:33 +0000)]
Run bindisttest when validating

14 years agoFollow bindist changes in bindisttest
Ian Lynagh [Sun, 27 Sep 2009 21:50:31 +0000 (21:50 +0000)]
Follow bindist changes in bindisttest
Also add support for testing the bindistprep tarball, for when we are
validating.

14 years agoMore bindist tweaking
Ian Lynagh [Sun, 27 Sep 2009 21:21:14 +0000 (21:21 +0000)]
More bindist tweaking

14 years agoAdd a $(MAKE_RESTARTS) check to ghc.mk
Ian Lynagh [Sun, 27 Sep 2009 20:26:03 +0000 (20:26 +0000)]
Add a $(MAKE_RESTARTS) check to ghc.mk
This should catch make going into an infinite loop.

14 years agoDon't use absolute paths unnecessarily when making bindists
Ian Lynagh [Sun, 27 Sep 2009 19:35:28 +0000 (19:35 +0000)]
Don't use absolute paths unnecessarily when making bindists

14 years agoChange where bindists are made
Ian Lynagh [Sun, 27 Sep 2009 19:17:40 +0000 (19:17 +0000)]
Change where bindists are made
We now do all the hard work in a bindistprep subdirectory, and just move
the result to the root directory. This way we can delete anything in
bindistprep/ without worrying about deleting anything important.

14 years agoemitRetUT: cope with arguments overlapping with results (#3546)
Simon Marlow [Mon, 28 Sep 2009 12:44:55 +0000 (12:44 +0000)]
emitRetUT: cope with arguments overlapping with results (#3546)

In decodeFloat_Int# we have the C-- code:

    mp_tmp1  = Sp - WDS(1);
    mp_tmp_w = Sp - WDS(2);

    /* arguments: F1 = Float# */
    arg = F1;

    /* Perform the operation */
    foreign "C" __decodeFloat_Int(mp_tmp1 "ptr", mp_tmp_w "ptr", arg) [];

    /* returns: (Int# (mantissa), Int# (exponent)) */
    RET_NN(W_[mp_tmp1], W_[mp_tmp_w]);

Which all looks quite reasonable.  The problem is that RET_NN() might
assign the results to the stack (with an unregisterised back end), and
in this case the arguments to RET_NN() refer to the same stack slots
that will be assigned to.

The code generator should do the right thing here, but it wasn't - it
was assuming that it could assign the results sequentially.  A 1-line
fix to use emitSimultaneously rather than emitStmts (plus comments).

14 years agofix cut-and-paste bugs in .cmm -> .hc/.s rules
Simon Marlow [Mon, 28 Sep 2009 11:51:39 +0000 (11:51 +0000)]
fix cut-and-paste bugs in .cmm -> .hc/.s rules

14 years agoAdd a way to generate tracing events programmatically
Simon Marlow [Fri, 25 Sep 2009 15:02:43 +0000 (15:02 +0000)]
Add a way to generate tracing events programmatically

added:

 primop  TraceEventOp "traceEvent#" GenPrimOp
   Addr# -> State# s -> State# s
   { Emits an event via the RTS tracing framework.  The contents
     of the event is the zero-terminated byte string passed as the first
     argument.  The event will be emitted either to the .eventlog file,
     or to stderr, depending on the runtime RTS flags. }

and added the required RTS functionality to support it.  Also a bit of
refactoring in the RTS tracing code.

14 years agoUnder utils/ext-core, update README to mention that ext-core is now on Hackage
Tim Chevalier [Sun, 27 Sep 2009 23:08:45 +0000 (23:08 +0000)]
Under utils/ext-core, update README to mention that ext-core is now on Hackage

14 years agoUpdate the OS X package build scripts
Ian Lynagh [Fri, 25 Sep 2009 13:21:51 +0000 (13:21 +0000)]
Update the OS X package build scripts
The docs are no longer built and installed separately.