simonmar [Tue, 10 Sep 2002 16:07:48 +0000 (16:07 +0000)]
[project @ 2002-09-10 16:07:48 by simonmar]
Tidy up error message for "funny global things"
simonmar [Tue, 10 Sep 2002 12:31:54 +0000 (12:31 +0000)]
[project @ 2002-09-10 12:31:54 by simonmar]
Put debugging output in #ifdef DEBUG
MERGE TO STABLE
simonpj [Tue, 10 Sep 2002 11:38:11 +0000 (11:38 +0000)]
[project @ 2002-09-10 11:38:11 by simonpj]
Remove redundant debug printing
simonmar [Tue, 10 Sep 2002 10:43:52 +0000 (10:43 +0000)]
[project @ 2002-09-10 10:43:52 by simonmar]
Fix a(nother) bug in the new THUNK_SELECTOR code. Hopefully should
fix the crashes seen in the last few nightly builds.
simonmar [Tue, 10 Sep 2002 09:26:24 +0000 (09:26 +0000)]
[project @ 2002-09-10 09:26:24 by simonmar]
Add notes on how to build a .a file to the docs, as requested by Koen
Claessen.
simonpj [Mon, 9 Sep 2002 14:04:37 +0000 (14:04 +0000)]
[project @ 2002-09-09 14:04:37 by simonpj]
Sigh! forgot one case! MERGE TO STABLE
simonpj [Mon, 9 Sep 2002 13:49:08 +0000 (13:49 +0000)]
[project @ 2002-09-09 13:49:08 by simonpj]
Cosmetics only
simonpj [Mon, 9 Sep 2002 13:48:35 +0000 (13:48 +0000)]
[project @ 2002-09-09 13:48:35 by simonpj]
Correction to earlier commit.. *now* those rank-2 pattern matches should work
MERGE TO STABLE
simonpj [Mon, 9 Sep 2002 13:48:01 +0000 (13:48 +0000)]
[project @ 2002-09-09 13:48:01 by simonpj]
The body of a for-all should be of kind *
MERGE TO STABLE
simonpj [Mon, 9 Sep 2002 12:57:48 +0000 (12:57 +0000)]
[project @ 2002-09-09 12:57:47 by simonpj]
--------------------------------
Fix rank-2 pattern-match failure
--------------------------------
This fixes the failure when you have a rank-2 type sig
matching a data type pattern. Thus
data T a = T1 | T2 a
f :: (forall x. T x) -> Int
f T1 = ...
This crashes GHC 5.04
simonpj [Mon, 9 Sep 2002 12:55:53 +0000 (12:55 +0000)]
[project @ 2002-09-09 12:55:52 by simonpj]
--------------------------------------
Attach inline pragmas to class methods
--------------------------------------
This fix makes INLINE pragmas on method bindings (in class
or instance decls) work properly.
It seems to have been hanging around in my tree for some time.
To be on the safe side, let's not merge this into 5.04.1, although
it should be fine (an an improvement).
simonpj [Mon, 9 Sep 2002 12:50:26 +0000 (12:50 +0000)]
[project @ 2002-09-09 12:50:26 by simonpj]
Formatting only
simonpj [Mon, 9 Sep 2002 12:18:09 +0000 (12:18 +0000)]
[project @ 2002-09-09 12:18:09 by simonpj]
Formatting only
simonmar [Mon, 9 Sep 2002 12:11:44 +0000 (12:11 +0000)]
[project @ 2002-09-09 12:11:44 by simonmar]
Make sure we get the compiler's own Pretty library when we #include
../utils/ghc-pkg/Package.hs.
simonmar [Mon, 9 Sep 2002 12:10:01 +0000 (12:10 +0000)]
[project @ 2002-09-09 12:10:01 by simonmar]
Urk, the 'import Pretty' in this module was a bit of a hack; when
compiled as part of the standalone ghc-pkg tool it referred to the
Pretty library from the util package, but when compiled as part of the
compiler it referred to the compiler's own Pretty module. Hack around
this.
simonmar [Mon, 9 Sep 2002 11:44:13 +0000 (11:44 +0000)]
[project @ 2002-09-09 11:44:13 by simonmar]
Build without hslibs on GHC >= 5.04
simonmar [Mon, 9 Sep 2002 11:39:43 +0000 (11:39 +0000)]
[project @ 2002-09-09 11:39:42 by simonmar]
Build without hslibs on GHC >= 5.04
simonmar [Mon, 9 Sep 2002 11:32:38 +0000 (11:32 +0000)]
[project @ 2002-09-09 11:32:37 by simonmar]
Build without hslibs on GHC >= 5.04
panne [Sat, 7 Sep 2002 12:07:53 +0000 (12:07 +0000)]
[project @ 2002-09-07 12:07:53 by panne]
Tentative fix for the recent blkcnt_t trouble
panne [Fri, 6 Sep 2002 17:56:47 +0000 (17:56 +0000)]
[project @ 2002-09-06 17:56:40 by panne]
Nuke the unsupported hslibs version of HOpenGL on the HEAD, too. Now
we are only left with two versions, which I think is OK: A stable one
(not in the fptools repository, but on my web site) and a cool, but
*very* incomplete one (currently only GLUT) for bleeding edge people
in the hierarchical libraries parts of the repository.
simonmar [Fri, 6 Sep 2002 14:40:28 +0000 (14:40 +0000)]
[project @ 2002-09-06 14:40:28 by simonmar]
Disallow ForeignObj as well as ForeignPtr FFI arguments
simonmar [Fri, 6 Sep 2002 14:35:45 +0000 (14:35 +0000)]
[project @ 2002-09-06 14:35:42 by simonmar]
Finally separate the compiler from hslibs.
Mainly import wibbles, and use the new POSIX library when
bootstrapping.
simonmar [Fri, 6 Sep 2002 14:34:15 +0000 (14:34 +0000)]
[project @ 2002-09-06 14:34:13 by simonmar]
Partial rewrite of the POSIX library.
The main purpose of this sweep is to remove the last dependencies of
the compiler on hslibs. When I've committed the associated compiler
changes, only the 'base' package will be required to bootstrap the
compiler. Additionally to build GHCi, the 'readline' and 'unix'
packages will be required.
The new POSIX library lives mostly in libraries/unix, with a few bits
required for compiler bootstrapping in libraries/base. The 'base'
package is mostly free of hsc2hs code to make bootstrapping from HC
files easier, but the 'unix' package will use hsc2hs liberally.
The old POSIX library continues to provide more-or-less the same
interface as before, although some of the types are more correct now
(previously lots of POSIX types were just mapped to Int). The new
interface is largely the same as the old, except that some new
functionality from the latest POSIX spec has been added (eg. symbolic
links).
So far, the new POSIX library has signal support, directory/file
operations and lots of stuff from unistd.h. The module names are:
System.Posix
The main dude, exports everything
System.Posix.Types
All the POSIX types, using the same naming scheme as
Foreign.C.Types, Eg. CUid, COff, etc. Many of these types
were previously exported by GHC.Posix.
Additionally exports the "nicer" names used by the old POSIX
library for compatibility (eg. ProcessID == CPid, FileMode ==
CMode, etc.)
All reasonable instances are derived for these types.
System.Posix.Signals
Signal support, contains most of which was in PosixProcPrim before.
The RTS interface to the signal handling support has been
rationalised slightly.
System.Posix.Directory
Directory support, most were in PosixFiles before.
System.Posix.Files
File operations, most were in PosixFiles before.
System.Posix.Unistd
(for want of a better name) Miscellaneous bits that mostly come
from the unistd.h header file. PosixProcEnv before.
The rest of the library should pan out like so:
System.Posix.IO
System.Posix.Error (maybe)
System.Posix.Process
System.Posix.Terminal
(I've no doubt broken Win32 support, but I'm checking the build at the moment).
simonmar [Fri, 6 Sep 2002 14:00:25 +0000 (14:00 +0000)]
[project @ 2002-09-06 14:00:25 by simonmar]
Remove ForeignObj and ForeignPtr keys
simonmar [Fri, 6 Sep 2002 13:58:58 +0000 (13:58 +0000)]
[project @ 2002-09-06 13:58:58 by simonmar]
Remove foreignPtrTyCon and foreignObjTyCon
simonmar [Fri, 6 Sep 2002 13:52:21 +0000 (13:52 +0000)]
[project @ 2002-09-06 13:52:21 by simonmar]
Disallow ForeignPtr as an FFI argument type.
simonmar [Fri, 6 Sep 2002 13:51:38 +0000 (13:51 +0000)]
[project @ 2002-09-06 13:51:38 by simonmar]
Disallow 'ForeignPtr' as an FFI argument type. It has been deprecated
for some time (withForeignPtr is the approved way to pass a
ForeignPtr). The changes I'm about to make to ForeignPtr will stop it
working anyhow.
simonmar [Fri, 6 Sep 2002 09:56:12 +0000 (09:56 +0000)]
[project @ 2002-09-06 09:56:12 by simonmar]
Selector Thunk Fix, take II.
The previous version didn't deal well with selector thunks which point
to more selector thunks, and on closer inspection the method was
flawed. Now I've introduced a function
StgClosure *eval_selector_thunk( int field, StgClosure * )
which evaluates a selector thunk returning its value, in from-space,
if possible. It blackholes the thunk during evaluation. It might
recursively evaluate more selector thunks, but it does this in a
bounded way and updates the thunks with indirections (NOT forwarding
pointers) after evaluation.
This cleans things up somewhat, and I believe it deals properly with
both types of selector-thunk loops that arise.
MERGE TO STABLE
ken [Fri, 6 Sep 2002 01:00:04 +0000 (01:00 +0000)]
[project @ 2002-09-06 01:00:04 by ken]
perl made uglier to work around the perl 5.7/5.8 bug documented at
http://bugs6.perl.org/rt2/Ticket/Display.html?id=1760 and illustrated
by the seg fault of perl -e '("x\n" x 5000) =~ /(.*\n)+/'
MERGE TO STABLE
simonmar [Thu, 5 Sep 2002 16:26:33 +0000 (16:26 +0000)]
[project @ 2002-09-05 16:26:33 by simonmar]
Fix for infinite loop when there is a THUNK_SELECTOR which eventually
refers to itself, such as might be generated by code like
let x = (fst x, snd x) in ...
At the same time, I re-enabled the code to traverse multiple selector
thunks with bounded depth, because I believe it now works.
MERGE TO STABLE (but test thoroughly in the HEAD first, this is
fragile stuff)
simonmar [Thu, 5 Sep 2002 10:25:01 +0000 (10:25 +0000)]
[project @ 2002-09-05 10:25:01 by simonmar]
In code style, print negative floating point literals in parentheses
to avoid interacting with surrounding syntax.
Fixes SourceForge bug #604849
MERGE TO STABLE
simonmar [Thu, 5 Sep 2002 08:58:56 +0000 (08:58 +0000)]
[project @ 2002-09-05 08:58:55 by simonmar]
Remove RtsAPIDeprec.c, since this is causing grief. The upshot (I
think) is that you won't be able to do foreign import "wrapper" with
an Addr in the type.
simonmar [Wed, 4 Sep 2002 11:19:48 +0000 (11:19 +0000)]
[project @ 2002-09-04 11:19:48 by simonmar]
Disallow 'foreign import stdcall "wrapper"' when compiling via the
NCG.
MERGE TO STABLE
simonmar [Wed, 4 Sep 2002 11:06:19 +0000 (11:06 +0000)]
[project @ 2002-09-04 11:06:19 by simonmar]
Import fixups
simonmar [Wed, 4 Sep 2002 11:04:45 +0000 (11:04 +0000)]
[project @ 2002-09-04 11:04:45 by simonmar]
Exception => Control.Exception
simonmar [Wed, 4 Sep 2002 10:00:46 +0000 (10:00 +0000)]
[project @ 2002-09-04 10:00:45 by simonmar]
Recent changes to simplify PrimRep had introduced a bug: the heap
check code was assuming that anything with PtrRep representation was
enterable. This isn't the case for the unpointed primitive types
(eg. ByteArray#), resulting in the ARR_WORDS crash in last night's
build.
This bug isn't in STABLE.
simonmar [Tue, 3 Sep 2002 15:34:11 +0000 (15:34 +0000)]
[project @ 2002-09-03 15:34:11 by simonmar]
Exception => Control.Exception
GlaExts => GHC.Exts
simonmar [Tue, 3 Sep 2002 15:33:10 +0000 (15:33 +0000)]
[project @ 2002-09-03 15:32:16 by simonmar]
GlaExts => GHC.Exts
simonmar [Tue, 3 Sep 2002 15:14:54 +0000 (15:14 +0000)]
[project @ 2002-09-03 15:14:54 by simonmar]
GlaExts => GLAEXTS
simonmar [Tue, 3 Sep 2002 14:39:06 +0000 (14:39 +0000)]
[project @ 2002-09-03 14:39:06 by simonmar]
Just hit a problem caused by gcc 3.1+: it uses instructions like
movl %esi, 4(%esp)
in the prologue, which the mangler wasn't expecting. This might fix
problems that other people have been seeing with gcc 3.1 on x86.
MERGE TO STABLE
simonmar [Tue, 3 Sep 2002 14:07:03 +0000 (14:07 +0000)]
[project @ 2002-09-03 14:07:03 by simonmar]
stg_sig_install: restore the old signal mask at the end, rather than
unconditionally unblocking the signal we just installed the handler for.
simonpj [Tue, 3 Sep 2002 11:27:33 +0000 (11:27 +0000)]
[project @ 2002-09-03 11:27:33 by simonpj]
More comments
simonpj [Mon, 2 Sep 2002 16:39:19 +0000 (16:39 +0000)]
[project @ 2002-09-02 16:39:19 by simonpj]
Wibble in demand analyser; no need to merge
simonpj [Mon, 2 Sep 2002 16:38:24 +0000 (16:38 +0000)]
[project @ 2002-09-02 16:38:24 by simonpj]
Fix an obscure bug in an optimisation for 'coerce' which
wasn't taking account of the possiblity of type arguments.
MERGE TO STABLE
simonpj [Mon, 2 Sep 2002 16:37:13 +0000 (16:37 +0000)]
[project @ 2002-09-02 16:37:13 by simonpj]
Fix an obscure bug in the creation of default methods for class
ops with higher-rank type. See the comments with
TcClassDcl.mkDefMethRhs
Test is should_compile/tc161
MERGE TO STABLE
simonpj [Mon, 2 Sep 2002 16:31:34 +0000 (16:31 +0000)]
[project @ 2002-09-02 16:31:34 by simonpj]
Do not specialise functions that take implicit parameters.
The specialisation mechanism doesn't work for them, because
their implicit args are not driven by their type args (unlike
the implicit dictionary parameters)
MERGE TO STABLE
simonmar [Mon, 2 Sep 2002 13:06:30 +0000 (13:06 +0000)]
[project @ 2002-09-02 13:06:30 by simonmar]
revert part of previous commit; looks like it was accidental
mthomas [Sun, 1 Sep 2002 00:34:21 +0000 (00:34 +0000)]
[project @ 2002-09-01 00:34:21 by mthomas]
Foreign does not export C.String so CString and peekCString are undefined.
simonpj [Fri, 30 Aug 2002 15:17:00 +0000 (15:17 +0000)]
[project @ 2002-08-30 15:17:00 by simonpj]
Add notes about linear implicit parameters
simonmar [Fri, 30 Aug 2002 12:21:16 +0000 (12:21 +0000)]
[project @ 2002-08-30 12:21:16 by simonmar]
oops, 'make Foo.s' in ghc/rts was completely busted
MERGE TO STABLE
simonmar [Fri, 30 Aug 2002 09:14:02 +0000 (09:14 +0000)]
[project @ 2002-08-30 09:14:02 by simonmar]
Remove unused import of PrelPack (should fix the build again)
simonmar [Thu, 29 Aug 2002 15:44:23 +0000 (15:44 +0000)]
[project @ 2002-08-29 15:44:11 by simonmar]
Housekeeping:
- The main goal is to remove dependencies on hslibs for a
bootstrapped compiler, leaving only a requirement that the
packages base, haskell98 and readline are built in stage 1 in
order to bootstrap. We're almost there: Posix is still required
for signal handling, but all other dependencies on hslibs are now
gone.
Uses of Addr and ByteArray/MutableByteArray array are all gone
from the compiler. PrimPacked defines the Ptr type for GHC 4.08
(which didn't have it), and it defines simple BA and MBA types to
replace uses of ByteArray and MutableByteArray respectively.
- Clean up import lists. HsVersions.h now defines macros for some
modules which have moved between GHC versions. eg. one now
imports 'GLAEXTS' to get at unboxed types and primops in the
compiler.
Many import lists have been sorted as per the recommendations in
the new style guidelines in the commentary.
I've built the compiler with GHC 4.08.2, 5.00.2, 5.02.3, 5.04 and
itself, and everything still works here. Doubtless I've got something
wrong, though.
simonpj [Thu, 29 Aug 2002 13:38:45 +0000 (13:38 +0000)]
[project @ 2002-08-29 13:38:45 by simonpj]
Fix eta-expansion bug, which led to an infinite loop in
CoreUtils.etaExpand. This showed up when compiling FranTk.
MERGE TO STABLE
simonmar [Thu, 29 Aug 2002 12:57:34 +0000 (12:57 +0000)]
[project @ 2002-08-29 12:57:34 by simonmar]
Add notes about DEBUG and GHCI.
simonmar [Thu, 29 Aug 2002 11:52:42 +0000 (11:52 +0000)]
[project @ 2002-08-29 11:52:42 by simonmar]
update (readline has moved)
simonmar [Thu, 29 Aug 2002 11:47:46 +0000 (11:47 +0000)]
[project @ 2002-08-29 11:47:46 by simonmar]
Add a ToDo note.
ken [Wed, 28 Aug 2002 19:28:02 +0000 (19:28 +0000)]
[project @ 2002-08-28 19:28:02 by ken]
Further mangler changes to get ghc working with gcc 3.04 on the Alpha.
Jeff Lewis: "The compiler was sometimes emitting the $..ng label for a symbol
before the regular label. This really confused the mangler, and it completely
scrambled the file."
simonmar [Wed, 28 Aug 2002 16:02:52 +0000 (16:02 +0000)]
[project @ 2002-08-28 16:02:51 by simonmar]
Add the beginnings of the "Coding Style Guidelines" for ghc/compiler.
simonmar [Wed, 28 Aug 2002 13:02:51 +0000 (13:02 +0000)]
[project @ 2002-08-28 13:02:51 by simonmar]
Remove duplicate sched_belch() call from raiseAsync().
simonpj [Wed, 28 Aug 2002 11:29:42 +0000 (11:29 +0000)]
[project @ 2002-08-28 11:29:42 by simonpj]
Add notes about data types
simonmar [Wed, 28 Aug 2002 09:24:15 +0000 (09:24 +0000)]
[project @ 2002-08-28 09:24:15 by simonmar]
Fix braino in previous commit
MERGE TO STABLE
simonmar [Tue, 27 Aug 2002 09:38:43 +0000 (09:38 +0000)]
[project @ 2002-08-27 09:38:43 by simonmar]
- If the same module is defined in multiple "root" source files, then
complain. Before, the compiler would silently ignore one of them.
- Remove some unuseed imports
MERGE TO STABLE
simonmar [Tue, 27 Aug 2002 09:34:20 +0000 (09:34 +0000)]
[project @ 2002-08-27 09:34:20 by simonmar]
Fix a bug in the cleaning up of temporary files: we were wrongly
cleaning the temporary pre-processed source files for stable modules,
with the result that the compiler would panic the next time they were
required.
Reported ages ago by: Hal Duame.
MERGE TO STABLE
simonmar [Tue, 27 Aug 2002 09:12:53 +0000 (09:12 +0000)]
[project @ 2002-08-27 09:12:53 by simonmar]
Replace "Funny global thing" with a better error message, as suggested
by Alastair Reid. The message is:
Warning: retaining unknown function `$_' in output from C compiler
("unknown function" is a bit vague, but I couldn't come up with an
alternative that wasn't misleading).
sof [Fri, 23 Aug 2002 20:59:29 +0000 (20:59 +0000)]
[project @ 2002-08-23 20:59:29 by sof]
bring write() proto into scope
ken [Wed, 21 Aug 2002 22:06:03 +0000 (22:06 +0000)]
[project @ 2002-08-21 22:06:02 by ken]
Use __DISCARD__ to prevent overly aggressive optimization by certain
gcc versions on the Alpha. Thanks to Jeffrey Lewis!
simonmar [Wed, 21 Aug 2002 16:02:58 +0000 (16:02 +0000)]
[project @ 2002-08-21 16:02:58 by simonmar]
Add link to Mark Jones' paper on functional dependencies, in lieu of
real documentation.
simonmar [Wed, 21 Aug 2002 12:58:56 +0000 (12:58 +0000)]
[project @ 2002-08-21 12:58:56 by simonmar]
fromInt ==> fromIntegral
simonmar [Wed, 21 Aug 2002 10:44:26 +0000 (10:44 +0000)]
[project @ 2002-08-21 10:44:26 by simonmar]
Oops, string literals were using mkFastStringNarrow instead of
mkFastString, with the result that characters >= 256 were being
truncated modulo 256.
MERGE TO STABLE
simonmar [Tue, 20 Aug 2002 10:32:48 +0000 (10:32 +0000)]
[project @ 2002-08-20 10:32:48 by simonmar]
Fix a buglet in CorePrep: an expression such as
case __coerce (\x -> e) :: T of { ... }
would be left as is, but the lambda expression should really be
abstracted as a let (causes a panic later in srtExpr; shown up by
the dynamic001 test). There was a missing call to deLam in the case
for Case expressions in corePrepExprFloat.
In addition, I made a new version of deLam, deLamFloat, which can
float any bindings generated. This helps to generate slightly cleaner
code in the above case (the binding is floated out of the scrutinee).
Also: GC unused imports while I'm here.
simonmar [Mon, 19 Aug 2002 16:02:26 +0000 (16:02 +0000)]
[project @ 2002-08-19 16:02:26 by simonmar]
Protect against divide by zero when there have been zero major GCs in
the one-line stats mode.
simonmar [Mon, 19 Aug 2002 08:38:36 +0000 (08:38 +0000)]
[project @ 2002-08-19 08:38:36 by simonmar]
oops, rts_n_free_capabilities is used in an inline function.
simonmar [Fri, 16 Aug 2002 14:30:21 +0000 (14:30 +0000)]
[project @ 2002-08-16 14:30:21 by simonmar]
Use an stg_ap_2 thunk rather than an AP_UPD in rts_apply(). Saves one
word per rts_apply(), and a little time too.
simonmar [Fri, 16 Aug 2002 13:29:07 +0000 (13:29 +0000)]
[project @ 2002-08-16 13:29:05 by simonmar]
Global and common variable sweep: staticize many variables that don't
need to be globally visible.
simonmar [Fri, 16 Aug 2002 13:28:22 +0000 (13:28 +0000)]
[project @ 2002-08-16 13:28:22 by simonmar]
Re-order the checks in HP_STK_CHK and HP_STK_CHK_NP: if the stack
check failed before the heap check, then we would get bogus allocation
results.
simonmar [Fri, 16 Aug 2002 13:20:36 +0000 (13:20 +0000)]
[project @ 2002-08-16 13:20:36 by simonmar]
large_alloc_list seems to be a fossil; remove it
simonmar [Fri, 16 Aug 2002 09:36:36 +0000 (09:36 +0000)]
[project @ 2002-08-16 09:36:36 by simonmar]
Be a bit clearer about the current directory when GHCi is started, and
mention that you might have to ':cd' to the right place before you can
load something.
sof [Wed, 14 Aug 2002 14:06:25 +0000 (14:06 +0000)]
[project @ 2002-08-14 14:06:25 by sof]
If booting unregisterised, add -DNO_REGS -DUSE_MINIINTERPRETER
to PLATFORM_HC_BOOT_CC_OPTS
simonmar [Tue, 13 Aug 2002 10:13:40 +0000 (10:13 +0000)]
[project @ 2002-08-13 10:13:40 by simonmar]
Update docs about not using Float.
sof [Mon, 12 Aug 2002 14:40:25 +0000 (14:40 +0000)]
[project @ 2002-08-12 14:40:25 by sof]
HC_BOOT_LD_OPTS:
- if needed, include ghc/rts/gmp on -L list.
- sync -u list wrt ghc/rts/rts.conf.in
sof [Fri, 9 Aug 2002 22:16:03 +0000 (22:16 +0000)]
[project @ 2002-08-09 22:16:03 by sof]
oops, YES is NO
sof [Fri, 9 Aug 2002 22:13:51 +0000 (22:13 +0000)]
[project @ 2002-08-09 22:13:51 by sof]
UseGhcForCc: don't use "ifneq" to control its setting; too strict.
Resort to a $(shell ..) hack.
sof [Fri, 9 Aug 2002 21:28:10 +0000 (21:28 +0000)]
[project @ 2002-08-09 21:28:09 by sof]
Added GHC_MANGLER_DIR, GHC_SPLIT_DIR + fix .raw_s -> .s bootstrap suffix rule
sof [Fri, 9 Aug 2002 20:59:41 +0000 (20:59 +0000)]
[project @ 2002-08-09 20:59:41 by sof]
NON_HS_PKG vs NON_HS_PACKAGE confusion - NON_HS_PACKAGE wins
simonmar [Tue, 6 Aug 2002 13:43:35 +0000 (13:43 +0000)]
[project @ 2002-08-06 13:43:35 by simonmar]
Make this compile, and maybe even work
simonmar [Mon, 5 Aug 2002 11:11:46 +0000 (11:11 +0000)]
[project @ 2002-08-05 11:11:44 by simonmar]
- Update the old coding style document
- Move it to the commentary under the "RTS & libs" section
simonmar [Mon, 5 Aug 2002 10:11:04 +0000 (10:11 +0000)]
[project @ 2002-08-05 10:11:03 by simonmar]
Overhaul the debugging flags. The old bitfield mechanism was a bit
silly, so now instead of writing -D129 (the one I use most) you can
now write -DSs. Each debugging option has a single character assigned
to it, documented in the -? help text.
simonmar [Mon, 5 Aug 2002 09:18:27 +0000 (09:18 +0000)]
[project @ 2002-08-05 09:18:27 by simonmar]
We have to turn off the buffering on stdout, stdin & stderr after
every time we revert all CAFs, not just when starting up GHCi.
MERGE TO STABLE
simonmar [Fri, 2 Aug 2002 13:08:35 +0000 (13:08 +0000)]
[project @ 2002-08-02 13:08:33 by simonmar]
PrimRep Cleanup
- Remove all PrimReps which were just different flavours of
PtrRep. Now, everything which is a pointer to a closure of
some kind is always a PtrRep.
- Three of the deleted PrimReps, namely ArrayRep, ByteArrayRep,
and ForeignObj rep, had a subtle reason for their existence:
the abstract C pretty-printer(!) used them to decide whether
to apply a shim to an outgoing C-call argument: a ByteArrayRep
argument would be adjusted to point past the object header,
for example.
I've changed this to happen in a much more reasonable and
obvious way: there are now explict macros in AbsCSyn to do the
adjustment, and the code generator makes calls to these as
necessary. Slightly less hackery is necessary in the NCG as
a result.
simonmar [Fri, 2 Aug 2002 12:24:04 +0000 (12:24 +0000)]
[project @ 2002-08-02 12:24:04 by simonmar]
Pass -fno-builtin to gcc when compiling .hc files, because this avoids
a common cause of running out of registers when foreign calls to
functions like memcpy(), strlen() are made from Haskell.
MERGE
simonmar [Fri, 2 Aug 2002 11:17:15 +0000 (11:17 +0000)]
[project @ 2002-08-02 11:17:15 by simonmar]
Remove out-of-date comment
simonmar [Fri, 2 Aug 2002 09:44:26 +0000 (09:44 +0000)]
[project @ 2002-08-02 09:44:26 by simonmar]
Mention that --show-iface is needed for viewing interface files.
simonpj [Thu, 1 Aug 2002 14:34:42 +0000 (14:34 +0000)]
[project @ 2002-08-01 14:34:42 by simonpj]
Make the byte-code generator understand about unboxed
tuple returns. The previous code was just wrong.
This code is better but it is still not *right*, I fear.
Don't merge till we sort this out.
simonpj [Thu, 1 Aug 2002 14:13:11 +0000 (14:13 +0000)]
[project @ 2002-08-01 14:13:10 by simonpj]
Another rebindable-syntax wibble; merge to stable branch
simonpj [Thu, 1 Aug 2002 12:49:41 +0000 (12:49 +0000)]
[project @ 2002-08-01 12:49:41 by simonpj]
Comments only
simonpj [Thu, 1 Aug 2002 12:49:06 +0000 (12:49 +0000)]
[project @ 2002-08-01 12:49:06 by simonpj]
More documentation about hoisting
simonmar [Wed, 31 Jul 2002 14:11:14 +0000 (14:11 +0000)]
[project @ 2002-07-31 14:11:13 by simonmar]
Detect Python (any version).
simonmar [Wed, 31 Jul 2002 12:17:35 +0000 (12:17 +0000)]
[project @ 2002-07-31 12:17:35 by simonmar]
Remove unused primRepTyCon
sof [Tue, 30 Jul 2002 17:35:59 +0000 (17:35 +0000)]
[project @ 2002-07-30 17:35:59 by sof]
wibble
simonpj [Tue, 30 Jul 2002 11:49:18 +0000 (11:49 +0000)]
[project @ 2002-07-30 11:49:17 by simonpj]
Wibble to yestdays commit re module versioning