- 23 Jul, 2003 5 commits
-
-
simonmar authored
Fix egregious bug in the unregisterised case for RET_N, which was causing an unregisterised compiler to crash.
-
simonpj authored
Comments and cosmetics about dataTcOccs
-
simonpj authored
Comment case-alternative invariants
-
simonmar authored
forgot one file
-
simonmar authored
These test have all moved over to fptools/testsuite/tests/ghc-regress/ghci. The old test suite in fptools/ghc/tests is now finally dead!
-
- 22 Jul, 2003 5 commits
-
-
simonmar authored
Commit an untested, but hopefully more workable and up-to-date version of this script.
-
simonmar authored
Another cost-centre-restoring fix. Restoring the cost centre in an unboxed-tuple case alternative was using the wrong stack offset.
-
simonmar authored
When GhcUnregisterised=YES, we must tell genapply about it.
-
simonmar authored
Fix a nasty bug in eq_ufVar, which meant that unfoldings were comparing equal when non-local names in the unfolding had changed, which could lead to erroneously avoiding recompilation. This bug could cause bad behaviour along the lines of "my program was segfaulting, but I did make clean; make and now it works!". merge to STABLE
-
simonmar authored
Oops, move include of stdlib.h after MachRegs.h, so that it comes after register variable declarations.
-
- 21 Jul, 2003 9 commits
-
-
simonmar authored
Update the documentation for filenames and related options to reflect the new story. Now we talk about hierarchical modules from the outset, and hopefully the whole description is somewhat clearer than before.
-
ross authored
Check for unknown flags before (rather than after) checking -o and -ohi flags, avoiding confusing behaviour like % ghc -bad-option -c x.hs ghc-6.0: unrecognised flags: -bad-option % ghc -bad-option -c x.hs -ohi x.hi ghc-6.0: -ohi can only be used when compiling a single source file Usage: For basic information, try the `--help' option. % ghc -bad-option -c x.hs -o x.o ghc-6.0: can't apply -o to multiple source files Usage: For basic information, try the `--help' option. (looks better with scores of flags) please merge to STABLE
-
simonmar authored
We use NULL in the headers (at least when -prof is on), so we better #include <stdlib.h>. We normally get it via HsBase.h anyway, but we shouldn't rely on that.
-
simonmar authored
Document that changing directories unloads all modules.
-
simonmar authored
:cd now causes all modules to be unloaded. This is the easy fix for a problem whereby changing directories will cause GHC to try to demand-load objects from the wrong place, because it is using relative pathnames. It's not obvious what the "right" thing to do is if the user changes directory with :cd and then does a :reload. Perhaps the right thing to do is to make the search path "sticky", so that it stays relative to the original current directory. This would probably require some re-engineering of GHC to only use absolute paths internally.
-
simonmar authored
Comment out the warning about filenames not matching module names.
-
simonmar authored
Add support for the new AWAKEN_BQ_CLOSURE macro to the NCG. Fixes broken HEAD builds.
-
simonpj authored
More on rules and specialisations
-
simonmar authored
When restoring the cost centre in a let-no-escape, don't free the stack slot containing it. We might need the saved cost centre again for a recursive call to this let-no-escape. Should fix profiling a bit more.
-
- 20 Jul, 2003 2 commits
- 18 Jul, 2003 6 commits
-
-
simonmar authored
Restoring of cost centre in let-no-escape: we need to do this after binding the args to stack locations, otherwise we end up grabbing the wrong slot. Should hopefully fix profiling crashes. We still don't pay any attention to the cost centre attached to the let-no-escape binding itself, which looks wrong, but I don't intend to do anything about that right now.
-
simonmar authored
When doing update-in-place, there is a (small) chance that the thunk may have been blackholed and another thread might be waiting on it. We can't therefore just splat it with the value; we have to check whether it is a blocking queue and awaken any threads that might be waiting on it if so. Should fix the scavenge_mutable_list crash reported recently. If it does, it will be merged to STABLE.
-
simonmar authored
We don't need hacky filename comparisons in ppFilesFromSummaries now that the real bug in SysTools has been fixed.
-
simonmar authored
Revision to the filename policy changes of yesterday. This fixes the broken stage2 and library builds. The new story is this: A Haskell source filename should take the form <path>/<basename>.<extension> where <path> is any directory <basename> is the name of the module, with dots replaced by slashes. <extension> is ".hs" or ".lhs". given a source filename in this form, GHC will produce object and interface files named respectively: <hidir>/<basename>.<hisuf> <odir>/<basename>.<osuf> where <hidir> is the value of the -hidir flag, if one was given, or the value of <path> from the source file otherwise. <odir> the same, for the -odir flag. <osuf> the object suffix (settable with the -osuf flag) <hisuf> the hi suffix (settable with the -hisuf flag) For example, if I have a module A.B.C, in source file foo/A/B/C.hs, then GHC will create foo/A/B/C.hi and foo/A/B/C.o. If GHC is given a source filename which is *not* of the form <path>/<basename>.<extension>, then it uses a different strategy. This happens if the filename does not follow the module name. In this case, GHC will set <path> to be the directory in which the source file resides, and <basename> to the module name with dots replaced by slashes, and then use the rules above. For example, if we put module A.B.C in foo/bar/baz.hs, then GHC will produce foo/bar/A/B/C.o and foo/bar/A/B/C.hi.
-
simonmar authored
oops, remove excess baggage in previous commit
-
simonmar authored
Fix a blatant bug in cleanTempFilesExcept, which was causing legitimate source files to be deleted. The previous fixes for this bug missed the real cause of the problem. I take full blame for this bug, which has been here since the dawn of GHCi (at least I traced it back to 5.00).
-
- 17 Jul, 2003 2 commits
-
-
simonmar authored
Filename-related cleanup & fixes -------------------------------- This commit rationalises some of our filename policies. The new story is this: When compiling a Haskell module A.B.C: The object file is placed in <obj-path>/A/B/C.o The interface file is placed in <hi-path>/A/B/C.hi Where <objpath> is - the argument of the -odir flag, if one was given - the element of the search path in which the source file was found, when in --make mode. - "." otherwise. Where <hipath> is - the argument of the -hidir flag, if one was given - the element of the search path in which the source file was found, when in --make mode. - "." otherwise. NOTE, in particular, that the name of the source file has no bearing on the name of the object or interface file any more. This is a nchange from the previous semantics, where the name of the object file would, under certain circumstances, follow the name of the source file. eg. before, if you said ghc -c dir/foo.hs you would get dir/foo.o. Now, you get something like Main.o, depending on what module is in foo.hs. This means that the driver pipeline machinery now needs to pass around a Maybe ModLocation, which is filled in by the Hsc phase and used later on to figure out the name of the object file (this was fairly painful, but seems to be the only way to get the right behaviour).
-
simonmar authored
Update comments to match reality.
-
- 16 Jul, 2003 5 commits
-
-
sof authored
- change prototype of async proc calls to typedef int (*DoProcProc)(void *param); i.e., have the proc return a result. Turned out that almost all uses of the primop ended up encoding a result via their 'param'. - when adding new I/O requests, shorten the time the IOManager lock is held. Helps to keep down the size of the thread pool.
-
sof authored
ppFilesFromSummaries.toPpFile: make it clear that file paths are being eq-tested here
-
simonmar authored
Put a newline after showing an I/O error.
-
simonmar authored
Respect -odir in one-shot compilations.
-
ross authored
Arrow notation: add a new (more primitive) form of command: cmd ::= ... | cmd aexp analogous to ordinary application, and also represented using HsApp. To avoid an overlap, the syntax for combining forms is changed to (|aexp cmd1 ... cmdn|)
-
- 15 Jul, 2003 1 commit
-
-
ross authored
Add extra functions operating on outsized tuples (used by the translation of arrow notation).
-
- 12 Jul, 2003 4 commits
-
-
sof authored
interruptible(): add missing BlockedOnDoProc case
-
sof authored
awaitRequests(): BlockedOnDelay threads not expected on blocked_queue
-
sof authored
unblockThread: barf() string wibble
-
sof authored
[win32]delay#: set why_blocked to BlockedOnDoProc since we're appending the thread to blocked_queue
-
- 11 Jul, 2003 1 commit
-
-
simonpj authored
Fix the big-char-literal parsing issue in External Core, correctly this time
-