This project is mirrored from https://gitlab.haskell.org/ghc/ghc.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts, and can be resumed by a project maintainer.
Last successful update .
Repository mirroring has been paused due to too many failed attempts, and can be resumed by a project maintainer.
Last successful update .
- 23 Jul, 2001 30 commits
-
-
ken authored
Removed 32-bit assumptions in info table macros (mostly replacing StgWord32 with StgWord).
-
ken authored
Brought the mangler up-to-date for the Alpha.
-
ken authored
Fixed: The second-stage compilation in this script should use the compiler built in the first stage. Also, configure wants to find Happy, so we feed it fake-happy (presuming that the ghc-less machine also does not have happy).
-
sof authored
lex_demand: added a couple of missing cases for new demand type
-
ken authored
Rearranged the usage help message to move --no-compile to the bottom. More importantly-- Fixed: hsc2hs was translating #def inline ... function(...) { ... } into (assuming defined(__GNUC__)) [in the _hsc.h file:] extern inline ... function(...) [in the _hsc.c file:] inline ... function(...) while it should really be translated into [in the _hsc.h file:] extern inline ... function(...) [in the _hsc.c file:] ... function(...) (without the "inline" in the _hsc.c file). Quoting the gcc documentation for "inline": > If you specify both `inline' and `extern' in the function > definition, then the definition is used only for inlining. In no case > is the function compiled on its own, not even if you refer to its > address explicitly. Such an address becomes an external reference, as > if you had only declared the function, and had not defined it. > > This combination of `inline' and `extern' has almost the effect of a > macro. The way to use it is to put a function definition in a header > file with these keywords, and put another copy of the definition > (lacking `inline' and `extern') in a library file. The definition in > the header file will cause most calls to the function to be inlined. > If any uses of the function remain, they will refer to the single copy > in the library.
-
ken authored
Added documentation for hsc2hs "--no-compile" option.
-
ken authored
Add the *.a.list "list of object files to archive" file to MOSTLY_CLEAN_FILES.
-
ken authored
Improved how we build library archives: On Digital UNIX (or where otherwise available), use the "Z" option to compress archives as we build them. On Digital UNIX 5 (or where otherwise available), use the "-input" option, which reads from a specified file the list of objects to archive. This is significantly faster than piping the list of objects to xargs when the number of objects to archive is large.
-
ken authored
Fixed: making dependencies for Haskell source files fails if -split-objs is present in $(HC_OPTS).
-
ken authored
Added "--enable-hc-boot-unregisterised" option to configure, for bootstrapping from unregisterised HC files.
-
ken authored
Teach configure.in to canonicalise new-fangled Alpha system names, such as alphaev67-dec-osf5.0, to alpha-dec-osf3.
-
ken authored
Added a helper script "fake-happy" that fakes "happy -v" output. It is useful for bootstrapping on new platforms.
-
ken authored
Grab the latest versions of config.guess and config.sub from GNU.
-
sof authored
ranlib gmp/libgmp.a - needed for a.out plats (OpenBSD in particular).
-
sof authored
Handle leading underscores for PrelMain undefineds
-
sof authored
Get rid off DEBUG - prev commit didn't attack the real problem
-
simonmar authored
Back out change that tried to sneak in with the new garbage collector.
-
simonmar authored
Add a compacting garbage collector. It isn't enabled by default, as there are still a couple of problems: there's a fallback case I haven't implemented yet which means it will occasionally bomb out, and speed-wise it's quite a bit slower than the copying collector (about 1.8x slower). Until I can make it go faster, it'll only be useful when you're actually running low on real memory. '+RTS -c' to enable it. Oh, and I cleaned up a few things in the RTS while I was there, and fixed one or two possibly real bugs in the existing GC.
-
simonpj authored
Wibble
-
sof authored
Mismatched module name in non-DEBUG case
-
simonmar authored
Grrr. Do not #include "Stg.h" in plain C code, because that enables all the global register variables. #include "Rts.h" directly instead. This was correct in the original StgLongLong.c, why on earth it was changed is beyond me.
-
simonmar authored
add a couple of missing ';'
-
qrczak authored
import qualified Demand
-
simonpj authored
--------------------------------- Switch to the new demand analyser --------------------------------- This commit makes the new demand analyser the main beast, with the old strictness analyser as a backup. When DEBUG is on, the old strictness analyser is run too, and the results compared. WARNING: this isn't thorougly tested yet, so expect glitches. Delay updating for a few days if the HEAD is mission critical for you. But do try it out. I'm away for 2.5 weeks from Thursday, so it would be good to shake out any glaring bugs before then.
-
simonpj authored
block/unblockAsynchExns have arity 2
-
simonmar authored
Small changes to improve GC performance slightly: - store the generation *number* in the block descriptor rather than a pointer to the generation structure, since the most common operation is to pull out the generation number, and it's one less indirection this way. - cache the generation number in the step structure too, which avoids an extra indirection in several places.
-
simonmar authored
The real version of this file is in ghc/includes/.
-
simonmar authored
merge in changes from rts/Linker.h
-
simonmar authored
Small fixes to the help text for the -i heap profiling interval option.
-
simonpj authored
Yet another newtype-squashing bug; this time TcType.unifyTyX
-
- 22 Jul, 2001 2 commits
-
-
chak authored
ELF_TARGET_386 has to be #defined for x86/Solaris.
-
chak authored
Solaris system headers contain function definitions (not just prototypes) for some functions; eg, stat(). WDP decided to toss (some of) them out during mangling. I think, this is wrong, as the list of these functions changes with varying Solaris releases and it makes foreign importing these functions more complicated; in particular, it broke Directory.hsc and PosixFiles on x86/Solaris.
-
- 21 Jul, 2001 2 commits
- 20 Jul, 2001 6 commits
-
-
simonpj authored
This commit adds the very convenient function Subst.substTyWith :: [TyVar] -> [Type] -> Type -> Type and uses it in various places.
-
simonpj authored
------------------------ More newtype squashing ------------------------ Recursive newtypes were confusing the worker/wrapper generator. This is because I originally got rid of opaque newtypes altogether, then put them back for recursive ones only, and forgot to reinstate the cunning stuff in the w/w stuff. (Discovered by Sigbjorn; thanks!)
-
simonpj authored
----------------------- Get rid of ArityAtLeast ----------------------- Now that we have CgInfo, with the exact code-generator arity for the value, we don't need the distinction between ArityAtLeast and ArityExactly in the ArityInfo field of an IdInfo. This commit makes type ArityInfo = Maybe Arity and propagates this change consistently through the compiler.
-
simonpj authored
Third cut at the demand analyser; seems to work nicely now
-
simonpj authored
-------------------------------------------- Hack around an infelicity in the simplifier ------------------------------------------- Use 3 iterations of the simplifier (instead of the previous 2) because otherwise we land up with huge dead expressions. Reason: an infelicity in the simpifier. let k = BIG in foldr k z xs ==> let k = BIG in letrec go = \xs -> ...(k x).... in go xs ==> let k = BIG in letrec go = \xs -> ...(BIG x).... in go xs Don't stop now! I couldn't see an easy way to make the simplifier avoid this big intermediate, so I hacked round it like this.
-
simonpj authored
-------------------------- Correct a bug in exprArity -------------------------- This long-standing bug meant that exprArity gave over-pessimistic answers. e.g. \x -> f x where nothing is known about f. We were getting 0 (for f) -1 (for the argument) +1 (for the lambda) ----- 0 The right answer is of course 1.
-