ghc-hetmet.git
19 years ago[project @ 2004-11-12 14:56:10 by stolz]
stolz [Fri, 12 Nov 2004 14:56:13 +0000 (14:56 +0000)]
[project @ 2004-11-12 14:56:10 by stolz]
Fix previous commit:
Don't handle Solaris2-flag _POSIX_PTHREAD_SEMANTICS in configure at all
but simply #ifdef solaris2_TARGET_OS #define ... it in the header-file.

19 years ago[project @ 2004-11-12 14:09:39 by simonpj]
simonpj [Fri, 12 Nov 2004 14:09:39 +0000 (14:09 +0000)]
[project @ 2004-11-12 14:09:39 by simonpj]
Windows fix (include config.h)

19 years ago[project @ 2004-11-12 13:35:55 by simonpj]
simonpj [Fri, 12 Nov 2004 13:35:56 +0000 (13:35 +0000)]
[project @ 2004-11-12 13:35:55 by simonpj]
Update to new InstalledPackageInfo

19 years ago[project @ 2004-11-12 13:28:35 by simonpj]
simonpj [Fri, 12 Nov 2004 13:28:58 +0000 (13:28 +0000)]
[project @ 2004-11-12 13:28:35 by simonpj]
build fix for Windows

19 years ago[project @ 2004-11-12 13:27:54 by simonpj]
simonpj [Fri, 12 Nov 2004 13:27:54 +0000 (13:27 +0000)]
[project @ 2004-11-12 13:27:54 by simonpj]
add bits required for Compat.Directory on Windows

19 years ago[project @ 2004-11-12 12:34:50 by stolz]
stolz [Fri, 12 Nov 2004 12:34:52 +0000 (12:34 +0000)]
[project @ 2004-11-12 12:34:50 by stolz]
Push FreeBSD-unicode-detection into package

19 years ago[project @ 2004-11-12 12:12:52 by stolz]
stolz [Fri, 12 Nov 2004 12:12:53 +0000 (12:12 +0000)]
[project @ 2004-11-12 12:12:52 by stolz]
Push some unixisms from toplvl into package:
usleep, SunOS-handling, getpw*

19 years ago[project @ 2004-11-11 23:39:15 by sof]
sof [Thu, 11 Nov 2004 23:39:15 +0000 (23:39 +0000)]
[project @ 2004-11-11 23:39:15 by sof]
drop win32 protos, current windows.h's now provide 'em.

19 years ago[project @ 2004-11-11 17:25:59 by simonmar]
simonmar [Thu, 11 Nov 2004 17:25:59 +0000 (17:25 +0000)]
[project @ 2004-11-11 17:25:59 by simonmar]
Restore compatibility with GHC 6.2

19 years ago[project @ 2004-11-11 17:21:02 by simonmar]
simonmar [Thu, 11 Nov 2004 17:21:02 +0000 (17:21 +0000)]
[project @ 2004-11-11 17:21:02 by simonmar]
add missing file

19 years ago[project @ 2004-11-11 16:48:55 by simonmar]
simonmar [Thu, 11 Nov 2004 16:48:55 +0000 (16:48 +0000)]
[project @ 2004-11-11 16:48:55 by simonmar]
Update comment

19 years ago[project @ 2004-11-11 16:44:33 by simonpj]
simonpj [Thu, 11 Nov 2004 16:44:33 +0000 (16:44 +0000)]
[project @ 2004-11-11 16:44:33 by simonpj]
---------------------------------
     Buglet in the handling of unlifted bindings
---------------------------------

Unlifted bindings, like
let I# v = ... in ...
can't be generalised.  In teh transition to GADTs I introduced a bug
that accidentally discarded some necessary dictionary bindings.

This commit fixes it by moving the test for unlifted bindings to a
much earlier point in tcBindWithSigs, which seems a lot cleaner to me.

19 years ago[project @ 2004-11-11 16:24:41 by simonmar]
simonmar [Thu, 11 Nov 2004 16:24:41 +0000 (16:24 +0000)]
[project @ 2004-11-11 16:24:41 by simonmar]
'make depend' fix

19 years ago[project @ 2004-11-11 16:07:40 by simonmar]
simonmar [Thu, 11 Nov 2004 16:07:49 +0000 (16:07 +0000)]
[project @ 2004-11-11 16:07:40 by simonmar]
Compiler changes for the new package.conf format.

19 years ago[project @ 2004-11-11 16:07:14 by simonmar]
simonmar [Thu, 11 Nov 2004 16:07:15 +0000 (16:07 +0000)]
[project @ 2004-11-11 16:07:14 by simonmar]
The new ghc-pkg tool.

So far, the new syntax is supported, and the format of the package
definitions has changed to InstalledPackageInfo rather than the old
PackageConfig type.  The format of the package.conf file is now
[InstalledPackageInfo] (using show/read).

We still support the old ghc-pkg command line syntax, and the old
PackageConfig syntax for package definitions.  These are deprecated
features, of course.

Not much is done with the list of exposed/hidden modules, or versions
(yet).

19 years ago[project @ 2004-11-11 16:03:51 by simonmar]
simonmar [Thu, 11 Nov 2004 16:03:51 +0000 (16:03 +0000)]
[project @ 2004-11-11 16:03:51 by simonmar]
Add a more prominent description of what this library is all about.

19 years ago[project @ 2004-11-11 13:08:59 by simonmar]
simonmar [Thu, 11 Nov 2004 13:08:59 +0000 (13:08 +0000)]
[project @ 2004-11-11 13:08:59 by simonmar]
Compile fixes

19 years ago[project @ 2004-11-11 09:46:54 by simonmar]
simonmar [Thu, 11 Nov 2004 09:46:57 +0000 (09:46 +0000)]
[project @ 2004-11-11 09:46:54 by simonmar]
Get rawSystem from Compat.RawSystem in libghccompat.

19 years ago[project @ 2004-11-11 09:38:22 by simonmar]
simonmar [Thu, 11 Nov 2004 09:38:22 +0000 (09:38 +0000)]
[project @ 2004-11-11 09:38:22 by simonmar]
- include cbits dir
- omit certain libraries when ghc > 6.2
- build this library at boot-time, because it will be needed by ghc-pkg

19 years ago[project @ 2004-11-11 09:36:55 by simonmar]
simonmar [Thu, 11 Nov 2004 09:36:55 +0000 (09:36 +0000)]
[project @ 2004-11-11 09:36:55 by simonmar]
include lib/ in the build

19 years ago[project @ 2004-11-11 09:36:40 by simonmar]
simonmar [Thu, 11 Nov 2004 09:36:40 +0000 (09:36 +0000)]
[project @ 2004-11-11 09:36:40 by simonmar]
Add directories for ghc/lib & ghc/lib/compat

19 years ago[project @ 2004-11-11 08:58:23 by simonpj]
simonpj [Thu, 11 Nov 2004 08:58:23 +0000 (08:58 +0000)]
[project @ 2004-11-11 08:58:23 by simonpj]
Wibble

19 years ago[project @ 2004-11-10 13:24:06 by simonmar]
simonmar [Wed, 10 Nov 2004 13:24:06 +0000 (13:24 +0000)]
[project @ 2004-11-10 13:24:06 by simonmar]
Use rawSystem from libghccompat.a

19 years ago[project @ 2004-11-10 11:27:54 by simonmar]
simonmar [Wed, 10 Nov 2004 11:27:54 +0000 (11:27 +0000)]
[project @ 2004-11-10 11:27:54 by simonmar]
Move the compatibility code for rawSystem from libraries/base into
ghc/lib/compat.

19 years ago[project @ 2004-11-10 04:17:50 by wolfgang]
wolfgang [Wed, 10 Nov 2004 04:17:59 +0000 (04:17 +0000)]
[project @ 2004-11-10 04:17:50 by wolfgang]
64-bit fix:
Change the type of context_switch from 'nat' to 'int'.
It's accessed as CInt from cmm code, and sizeof(nat) > sizeof(int)
on many 64-bit platforms.

19 years ago[project @ 2004-11-10 03:28:15 by wolfgang]
wolfgang [Wed, 10 Nov 2004 03:28:15 +0000 (03:28 +0000)]
[project @ 2004-11-10 03:28:15 by wolfgang]
Add support for powerpc64-linux and probably powerpc64-AIX.

19 years ago[project @ 2004-11-10 03:27:04 by wolfgang]
wolfgang [Wed, 10 Nov 2004 03:27:04 +0000 (03:27 +0000)]
[project @ 2004-11-10 03:27:04 by wolfgang]
Add powerpc64-unknown-linux

19 years ago[project @ 2004-11-10 03:20:31 by wolfgang]
wolfgang [Wed, 10 Nov 2004 03:20:32 +0000 (03:20 +0000)]
[project @ 2004-11-10 03:20:31 by wolfgang]
Implement the mblock map for 64-bit architectures.
Fairly primitive data structure, but one 4GB-block, described by a
12-bit block map, is cached for speed.

Note that I've nuked the ia64-specific version (I think ia64 wants to
use the general 64-bit solution, too).

19 years ago[project @ 2004-11-10 02:13:12 by wolfgang]
wolfgang [Wed, 10 Nov 2004 02:13:16 +0000 (02:13 +0000)]
[project @ 2004-11-10 02:13:12 by wolfgang]
64-bit fixes.

Don't assume that sizeof(int) == sizeof(StgInt).
This assumption creeped in in many places since 6.2.

19 years ago[project @ 2004-11-10 01:58:32 by wolfgang]
wolfgang [Wed, 10 Nov 2004 01:58:32 +0000 (01:58 +0000)]
[project @ 2004-11-10 01:58:32 by wolfgang]
64-bit fix:
when loading the "era" global variable, convert it from cIntRep to
wordRep after loading (this is a no-op on all 32-bit platforms).

19 years ago[project @ 2004-11-10 01:56:00 by wolfgang]
wolfgang [Wed, 10 Nov 2004 01:56:01 +0000 (01:56 +0000)]
[project @ 2004-11-10 01:56:00 by wolfgang]
Fix pretty-printing of integer constants on 64-bit platforms.
If sizeof(int) == 4 on a 64-bit platform, we have to add an 'L' suffix
to integer constants.

19 years ago[project @ 2004-11-09 18:04:15 by sof]
sof [Tue, 9 Nov 2004 18:04:17 +0000 (18:04 +0000)]
[project @ 2004-11-09 18:04:15 by sof]
threadDelay(mingw32): introduce and use the return continuation
stg_block_async_void; fixes mem leak, cf.

  http://haskell.org/pipermail/cvs-ghc/2004-November/022325.html

19 years ago[project @ 2004-11-09 17:38:01 by simonpj]
simonpj [Tue, 9 Nov 2004 17:38:01 +0000 (17:38 +0000)]
[project @ 2004-11-09 17:38:01 by simonpj]
Remember to zonk the quantified type variables of a for-all type before forming the type

19 years ago[project @ 2004-11-09 17:21:58 by simonmar]
simonmar [Tue, 9 Nov 2004 17:22:01 +0000 (17:22 +0000)]
[project @ 2004-11-09 17:21:58 by simonmar]
Add a compatibility library, which will mean that we can make use of
brand new libraries directly in GHC and the tools even when compiling
with older versions of GHC.  The library just consists of stubs that
#include code from fptools/libraries.

This isn't wired up to the build yet.

19 years ago[project @ 2004-11-09 17:04:29 by sof]
sof [Tue, 9 Nov 2004 17:04:29 +0000 (17:04 +0000)]
[project @ 2004-11-09 17:04:29 by sof]
wibble

19 years ago[project @ 2004-11-09 16:59:31 by simonmar]
simonmar [Tue, 9 Nov 2004 16:59:31 +0000 (16:59 +0000)]
[project @ 2004-11-09 16:59:31 by simonmar]
getOptionsFromSource: fix a bug which caused a file containing just an
OPTIONS pragma to have the pragma ignored.

19 years ago[project @ 2004-11-09 13:28:13 by simonpj]
simonpj [Tue, 9 Nov 2004 13:28:13 +0000 (13:28 +0000)]
[project @ 2004-11-09 13:28:13 by simonpj]
Fix a bug in fixity handling for tycons; we were rembering the data-con RdrName, not the tycon one

19 years ago[project @ 2004-11-09 13:27:05 by simonpj]
simonpj [Tue, 9 Nov 2004 13:27:05 +0000 (13:27 +0000)]
[project @ 2004-11-09 13:27:05 by simonpj]
Refine warning slightly

19 years ago[project @ 2004-11-09 12:45:41 by simonpj]
simonpj [Tue, 9 Nov 2004 12:45:41 +0000 (12:45 +0000)]
[project @ 2004-11-09 12:45:41 by simonpj]
Check for illformed arg type e.g. IO (Num a => a)

19 years ago[project @ 2004-11-09 12:45:04 by simonpj]
simonpj [Tue, 9 Nov 2004 12:45:08 +0000 (12:45 +0000)]
[project @ 2004-11-09 12:45:04 by simonpj]
Permit records with an existential context that binds no tyvars

19 years ago[project @ 2004-11-09 12:41:18 by simonpj]
simonpj [Tue, 9 Nov 2004 12:41:18 +0000 (12:41 +0000)]
[project @ 2004-11-09 12:41:18 by simonpj]
Improve pretty-printing for types

19 years ago[project @ 2004-11-09 10:42:47 by simonmar]
simonmar [Tue, 9 Nov 2004 10:42:47 +0000 (10:42 +0000)]
[project @ 2004-11-09 10:42:47 by simonmar]
duh, undo previous accidental commit

19 years ago[project @ 2004-11-08 12:26:52 by simonmar]
simonmar [Mon, 8 Nov 2004 12:26:58 +0000 (12:26 +0000)]
[project @ 2004-11-08 12:26:52 by simonmar]
Get rid of SUPPORTS_EMPTY_STRUCTS, and just avoid using empty struct
definitions.

19 years ago[project @ 2004-11-07 10:17:20 by ross]
ross [Sun, 7 Nov 2004 10:17:22 +0000 (10:17 +0000)]
[project @ 2004-11-07 10:17:20 by ross]
move CONST_O_BINARY detection down to libraries/base

19 years ago[project @ 2004-11-06 11:10:17 by panne]
panne [Sat, 6 Nov 2004 11:10:18 +0000 (11:10 +0000)]
[project @ 2004-11-06 11:10:17 by panne]
Moved test for C/ISO types to base package, hopefully testing for all
needed headers first.

19 years ago[project @ 2004-11-06 10:45:46 by panne]
panne [Sat, 6 Nov 2004 10:45:47 +0000 (10:45 +0000)]
[project @ 2004-11-06 10:45:46 by panne]
Push down the tests for errno values to the base package. There's really
no need testing for this when e.g. building Happy. :-)

19 years ago[project @ 2004-11-04 19:10:50 by panne]
panne [Thu, 4 Nov 2004 19:10:50 +0000 (19:10 +0000)]
[project @ 2004-11-04 19:10:50 by panne]
Removed auto-autoreconf stuff, it doesn't really work with our
recursive autoconf setup.

19 years ago[project @ 2004-11-03 12:31:42 by ross]
ross [Wed, 3 Nov 2004 12:31:42 +0000 (12:31 +0000)]
[project @ 2004-11-03 12:31:42 by ross]
standalone packages: eliminate the extraneous final comma on PACKAGE_DEPS

19 years ago[project @ 2004-11-03 01:10:53 by igloo]
igloo [Wed, 3 Nov 2004 01:10:59 +0000 (01:10 +0000)]
[project @ 2004-11-03 01:10:53 by igloo]
Implement TH ForallC constructor.

19 years ago[project @ 2004-10-27 15:06:22 by wolfgang]
wolfgang [Wed, 27 Oct 2004 15:06:22 +0000 (15:06 +0000)]
[project @ 2004-10-27 15:06:22 by wolfgang]
Mac OS X: Explicitly align symbol stub sections in Mach-O files; Apple's as
doesn't seem to do that in all cases.

19 years ago[project @ 2004-10-26 17:48:39 by ross]
ross [Tue, 26 Oct 2004 17:48:39 +0000 (17:48 +0000)]
[project @ 2004-10-26 17:48:39 by ross]
bind acosDouble to acos(), rather than asin()

19 years ago[project @ 2004-10-25 09:23:08 by simonmar]
simonmar [Mon, 25 Oct 2004 09:23:08 +0000 (09:23 +0000)]
[project @ 2004-10-25 09:23:08 by simonmar]
Minor changes for VS/Haskell

19 years ago[project @ 2004-10-24 11:35:49 by panne]
panne [Sun, 24 Oct 2004 11:35:49 +0000 (11:35 +0000)]
[project @ 2004-10-24 11:35:49 by panne]
Updated the DocBook story

19 years ago[project @ 2004-10-23 19:15:45 by panne]
panne [Sat, 23 Oct 2004 19:15:45 +0000 (19:15 +0000)]
[project @ 2004-10-23 19:15:45 by panne]
Workaround for some hhc problems

19 years ago[project @ 2004-10-23 11:58:18 by panne]
panne [Sat, 23 Oct 2004 11:58:18 +0000 (11:58 +0000)]
[project @ 2004-10-23 11:58:18 by panne]
Added build dependency on mesaglut-devel (provided by freeglut-devel, too).

19 years ago[project @ 2004-10-20 14:25:34 by simonmar]
simonmar [Wed, 20 Oct 2004 14:25:34 +0000 (14:25 +0000)]
[project @ 2004-10-20 14:25:34 by simonmar]
compile: temporarily add the directory containing the .hs file to the
include path.  This matches what compiling in one-shot mode does, and
fixes a bug whereby the _stub.h file couldn't be found when compiling
with --make.

19 years ago[project @ 2004-10-20 13:34:04 by simonpj]
simonpj [Wed, 20 Oct 2004 13:34:27 +0000 (13:34 +0000)]
[project @ 2004-10-20 13:34:04 by simonpj]
---------------------------------
Fix a bug in usage recording
---------------------------------

As a result of the new stuff on hi-boot-file consistency checking, I
accidentally caused Foo.hi to record a usage line for module Foo, and
this in turn caused rather nasty bad things to happen.  In particular,
there were occasional crashes of form

ghc-6.3: panic! (the `impossible' happened, GHC version 6.3.20041017):
        forkM Constructor Var.TcTyVar{d r1B9}

At least I think that's why the crash happened.

Anyway, it was certainly a bug, and this commit fixes it.  The main
payload of this fix is in Desugar.lhs;  the rest is comments and
tidying.

19 years ago[project @ 2004-10-20 11:16:08 by simonmar]
simonmar [Wed, 20 Oct 2004 11:16:08 +0000 (11:16 +0000)]
[project @ 2004-10-20 11:16:08 by simonmar]
Fix braino in pprAsmCLbl

19 years ago[project @ 2004-10-19 08:52:33 by simonmar]
simonmar [Tue, 19 Oct 2004 08:52:33 +0000 (08:52 +0000)]
[project @ 2004-10-19 08:52:33 by simonmar]
GhcWithNativeCodeGen=NO for Sparc, until the old Sparc native codegen
is updated (not likely to happen soon).

19 years ago[project @ 2004-10-18 18:27:36 by igloo]
igloo [Mon, 18 Oct 2004 18:27:36 +0000 (18:27 +0000)]
[project @ 2004-10-18 18:27:36 by igloo]
Remove -static flags for alpha and hppa.
Turns out mips(el) on Linux is more complicated than first appeared, so
leaving it be for now.

19 years ago[project @ 2004-10-18 18:24:59 by igloo]
igloo [Mon, 18 Oct 2004 18:25:06 +0000 (18:25 +0000)]
[project @ 2004-10-18 18:24:59 by igloo]
Implement -fwarn-incomplete-record-updates

19 years ago[project @ 2004-10-18 15:38:27 by simonmar]
simonmar [Mon, 18 Oct 2004 15:38:27 +0000 (15:38 +0000)]
[project @ 2004-10-18 15:38:27 by simonmar]
Fix a source location bug (by deleting a line of code!)

19 years ago[project @ 2004-10-18 12:40:37 by desrt]
desrt [Mon, 18 Oct 2004 12:40:37 +0000 (12:40 +0000)]
[project @ 2004-10-18 12:40:37 by desrt]
the splitter now supports linux/powerpc

19 years ago[project @ 2004-10-18 11:51:22 by simonmar]
simonmar [Mon, 18 Oct 2004 11:51:22 +0000 (11:51 +0000)]
[project @ 2004-10-18 11:51:22 by simonmar]
Put the '@' suffix on stdcall ForeignLabels on Windows only.

19 years ago[project @ 2004-10-18 11:46:46 by simonmar]
simonmar [Mon, 18 Oct 2004 11:46:46 +0000 (11:46 +0000)]
[project @ 2004-10-18 11:46:46 by simonmar]
ccallConvAttribute: use __attribute__((__stdcall__)) rather than
__stdcall (the latter is Win32-specific).

19 years ago[project @ 2004-10-18 11:38:41 by simonmar]
simonmar [Mon, 18 Oct 2004 11:38:41 +0000 (11:38 +0000)]
[project @ 2004-10-18 11:38:41 by simonmar]
Make foreign import stdcall "dynamic" work via-C (we'd forgotten to
add the __stdcall qualifier to the type cast for the function).

19 years ago[project @ 2004-10-18 08:54:06 by simonmar]
simonmar [Mon, 18 Oct 2004 08:54:06 +0000 (08:54 +0000)]
[project @ 2004-10-18 08:54:06 by simonmar]
Here's the 6.2.2 announcement

19 years ago[project @ 2004-10-18 02:16:34 by desrt]
desrt [Mon, 18 Oct 2004 02:16:34 +0000 (02:16 +0000)]
[project @ 2004-10-18 02:16:34 by desrt]
trivial changes to correct a build-breaker that only affects linux/powerpc

19 years ago[project @ 2004-10-15 15:28:48 by simonmar]
simonmar [Fri, 15 Oct 2004 15:29:00 +0000 (15:29 +0000)]
[project @ 2004-10-15 15:28:48 by simonmar]
Add a SrcSpan to the DataCon in a ConPatOut.

19 years ago[project @ 2004-10-15 07:48:29 by simonmar]
simonmar [Fri, 15 Oct 2004 07:48:29 +0000 (07:48 +0000)]
[project @ 2004-10-15 07:48:29 by simonmar]
Declare rtsSupportsBoundThreads() here.

This change should have gone through with the threaded RTS I/O changes
yesterday.

19 years ago[project @ 2004-10-14 14:58:37 by simonmar]
simonmar [Thu, 14 Oct 2004 14:58:51 +0000 (14:58 +0000)]
[project @ 2004-10-14 14:58:37 by simonmar]
Threaded RTS improvements:

 - Unix only: implement waitRead#, waitWrite# and delay# in Haskell,
   by having a single Haskell thread (the IO manager) performing a blocking
   select() operation.  Threads communicate with the IO manager
   via channels.  This is faster than doing the select() in the RTS,
   because we only restart the select() when a new request arrives,
   rather than each time around the scheduler.

   On Windows we just make blocking IO calls, we don't have a fancy IO
   manager (yet).

 - Simplify the scheduler for the threaded RTS, now that we don't have
   to wait for IO in the scheduler loop.

 - Remove detectBlackHoles(), which isn't used now (not sure how long
   this has been unused for... perhaps it was needed back when main threads
   used to be GC roots, so we had to check for blackholes manually rather
   than relying on the GC.)

Signals aren't quite right in the threaded RTS.  In fact, they're
slightly worse than before, because the thread receiving signals might
be blocked in a C call - previously there always be another thread
stuck in awaitEvent() that would notice the signal, but that's not
true now.  I can't see an easy fix yet.

19 years ago[project @ 2004-10-13 08:48:47 by simonmar]
simonmar [Wed, 13 Oct 2004 08:48:47 +0000 (08:48 +0000)]
[project @ 2004-10-13 08:48:47 by simonmar]
Undo part of previous commit, a little testing code sneaked in and
broke all the GHCi tests.

19 years ago[project @ 2004-10-12 16:33:00 by sof]
sof [Tue, 12 Oct 2004 16:33:01 +0000 (16:33 +0000)]
[project @ 2004-10-12 16:33:00 by sof]
Had enough of 'make boot' completely rebuilding gmp/ each time around.

19 years ago[project @ 2004-10-11 16:16:20 by simonpj]
simonpj [Mon, 11 Oct 2004 16:16:23 +0000 (16:16 +0000)]
[project @ 2004-10-11 16:16:20 by simonpj]
---------------------------------
Add lists to valid derivable methods
---------------------------------

(It'd be nice to merge this into the stable
branch. It is an increase in functionality, but
it's quite separate from everything else.)

Lists are useful in derivable type classes.  E.g. methods like

class Shrinkable a where
  op :: a -> [a]

This commit adds them, to join functions and tuples.

19 years ago[project @ 2004-10-11 16:13:31 by simonpj]
simonpj [Mon, 11 Oct 2004 16:13:31 +0000 (16:13 +0000)]
[project @ 2004-10-11 16:13:31 by simonpj]
Remove dead code tcSplitMethodTy

19 years ago[project @ 2004-10-11 16:12:58 by simonpj]
simonpj [Mon, 11 Oct 2004 16:12:58 +0000 (16:12 +0000)]
[project @ 2004-10-11 16:12:58 by simonpj]
---------------------------------
Fix bug in derivable type classes
---------------------------------

MERGE TO STABLE (if poss)

The test for not-supported method types for derivable type classes
was broken. This fixes it.

19 years ago[project @ 2004-10-11 14:44:36 by simonmar]
simonmar [Mon, 11 Oct 2004 14:44:38 +0000 (14:44 +0000)]
[project @ 2004-10-11 14:44:36 by simonmar]
Fixes to readline detection and use.
VS: ----------------------------------------------------------------------

19 years ago[project @ 2004-10-11 14:25:44 by simonmar]
simonmar [Mon, 11 Oct 2004 14:25:46 +0000 (14:25 +0000)]
[project @ 2004-10-11 14:25:44 by simonmar]
Detect whether $(GHC) supports the readline package.

19 years ago[project @ 2004-10-11 12:45:51 by simonpj]
simonpj [Mon, 11 Oct 2004 12:45:51 +0000 (12:45 +0000)]
[project @ 2004-10-11 12:45:51 by simonpj]
Improve error message

19 years ago[project @ 2004-10-11 12:44:23 by simonpj]
simonpj [Mon, 11 Oct 2004 12:44:23 +0000 (12:44 +0000)]
[project @ 2004-10-11 12:44:23 by simonpj]
Fix typo; fixes simpl007

19 years ago[project @ 2004-10-11 10:54:57 by simonmar]
simonmar [Mon, 11 Oct 2004 10:54:57 +0000 (10:54 +0000)]
[project @ 2004-10-11 10:54:57 by simonmar]
genericRaise() hack needed on FreeBSD too.

19 years ago[project @ 2004-10-09 13:21:15 by panne]
panne [Sat, 9 Oct 2004 13:21:15 +0000 (13:21 +0000)]
[project @ 2004-10-09 13:21:15 by panne]
Fixed some links

19 years ago[project @ 2004-10-08 17:32:06 by panne]
panne [Fri, 8 Oct 2004 17:32:06 +0000 (17:32 +0000)]
[project @ 2004-10-08 17:32:06 by panne]
Fixed typo

19 years ago[project @ 2004-10-08 14:13:27 by simonmar]
simonmar [Fri, 8 Oct 2004 14:13:27 +0000 (14:13 +0000)]
[project @ 2004-10-08 14:13:27 by simonmar]
Comments only

19 years ago[project @ 2004-10-08 13:58:49 by simonpj]
simonpj [Fri, 8 Oct 2004 13:58:56 +0000 (13:58 +0000)]
[project @ 2004-10-08 13:58:49 by simonpj]
------------------------------------------------------
Fix an interaction between zonking of Insts and GADTs
------------------------------------------------------

Insts float outwards, perhaps out of the scope of a type-refining GADT case.
So we have to make sure they are fully zonked wrt the type refinement.

tcSimplifyCheck does this, but there were two omissions
a) the tcInstStupidTheta in TcPat.tcConPat didn't get zonked
b) a Dict and Lit Inst contained an Id that wasn't zonked, to save work

To fix (b), Insts have a little less cached info; the Name is held instead
of the Id, so that the Id doesn't need to be zonked.

One test in typecheck/should_compile/tc182

19 years ago[project @ 2004-10-08 12:16:04 by simonmar]
simonmar [Fri, 8 Oct 2004 12:16:04 +0000 (12:16 +0000)]
[project @ 2004-10-08 12:16:04 by simonmar]
FreeBSD needs -optl-pthread for the threaded way

19 years ago[project @ 2004-10-08 11:37:46 by simonpj]
simonpj [Fri, 8 Oct 2004 11:37:46 +0000 (11:37 +0000)]
[project @ 2004-10-08 11:37:46 by simonpj]
HsNoBang should simply be omitted; fixes a TH_spliceDecl2 test

19 years ago[project @ 2004-10-08 11:36:26 by simonpj]
simonpj [Fri, 8 Oct 2004 11:36:29 +0000 (11:36 +0000)]
[project @ 2004-10-08 11:36:26 by simonpj]
Fix missing case for algTyConRhs; fixes test ghci011

19 years ago[project @ 2004-10-08 11:35:26 by simonpj]
simonpj [Fri, 8 Oct 2004 11:35:26 +0000 (11:35 +0000)]
[project @ 2004-10-08 11:35:26 by simonpj]
Complain about GADTs if not -fglasgow-exts

19 years ago[project @ 2004-10-08 10:16:14 by ross]
ross [Fri, 8 Oct 2004 10:16:14 +0000 (10:16 +0000)]
[project @ 2004-10-08 10:16:14 by ross]
Make the sed command turning '#define PACKAGE_FOO "blah"' into
'/* #undef PACKAGE_FOO */' more portable, though a tad less precise.

The use of \| deep inside the pattern is a GNU extension (from sed 2.05).

19 years ago[project @ 2004-10-08 07:23:40 by dons]
dons [Fri, 8 Oct 2004 07:23:40 +0000 (07:23 +0000)]
[project @ 2004-10-08 07:23:40 by dons]
For platforms with no PIC method defined, use
LabelAccessStyle of AccessDirectly, in howToAccessLabel.
This seems to keep the ncg working on OpenBSD.

Is this the correct default, Wolfgang?

19 years ago[project @ 2004-10-08 03:09:19 by dons]
dons [Fri, 8 Oct 2004 03:09:19 +0000 (03:09 +0000)]
[project @ 2004-10-08 03:09:19 by dons]
Add missing final #else case for howToAccessLabel.

19 years ago[project @ 2004-10-07 16:08:36 by simonpj]
simonpj [Thu, 7 Oct 2004 16:08:42 +0000 (16:08 +0000)]
[project @ 2004-10-07 16:08:36 by simonpj]
Wibbles to hi-boot files and newtypes

19 years ago[project @ 2004-10-07 15:54:03 by wolfgang]
wolfgang [Thu, 7 Oct 2004 15:54:42 +0000 (15:54 +0000)]
[project @ 2004-10-07 15:54:03 by wolfgang]
Position Independent Code and Dynamic Linking Support, Part 1

This commit allows generation of position independent code (PIC) that fully supports dynamic linking on Mac OS X and PowerPC Linux.
Other platforms are not yet supported, and there is no support for actually linking or using dynamic libraries - so if you use the -fPIC or -dynamic code generation flags, you have to type your (platform-specific) linker command lines yourself.

nativeGen/PositionIndependentCode.hs:
New file. Look here for some more comments on how this works.

cmm/CLabel.hs:
Add support for DynamicLinkerLabels and PIC base labels - for use inside the NCG.
needsCDecl: Case alternative labels now need C decls, see the codeGen/CgInfoTbls.hs below for details

cmm/Cmm.hs:
Add CmmPicBaseReg (used in NCG),
and CmmLabelDiffOff (used in NCG and for offsets in info tables)

cmm/CmmParse.y:
support offsets in info tables

cmm/PprC.hs:
support CmmLabelDiffOff
Case alternative labels now need C decls (see the codeGen/CgInfoTbls.hs for details), so we need to pprDataExterns for info tables.

cmm/PprCmm.hs:
support CmmLabelDiffOff

codeGen/CgInfoTbls.hs:
no longer store absolute addresses in info tables, instead, we store offsets.
Also, for vectored return points, emit the alternatives _after_ the vector table. This is to work around a limitation in Apple's as, which refuses to handle label differences where one label is at the end of a section. Emitting alternatives after vector info tables makes sure this never happens in GHC generated code. Case alternatives now require prototypes in hc code, though (see changes in PprC.hs, CLabel.hs).

main/CmdLineOpts.lhs:
Add a new option, -fPIC.

main/DriverFlags.hs:
Pass the correct options for PIC to gcc, depending on the platform. Only for powerpc for now.

nativeGen/AsmCodeGen.hs:
Many changes...
Mac OS X-specific management of import stubs is no longer, it's now part of a general mechanism to handle such things for all platforms that need it (Darwin [both ppc and x86], Linux on ppc, and some platforms we don't support).
Move cmmToCmm into its own monad which can accumulate a list of imported symbols. Make it call cmmMakeDynamicReference at the right places.

nativeGen/MachCodeGen.hs:
nativeGen/MachInstrs.hs:
nativeGen/MachRegs.lhs:
nativeGen/PprMach.hs:
nativeGen/RegAllocInfo.hs:
Too many changes to enumerate here, PowerPC specific.

nativeGen/NCGMonad.hs:
NatM still tracks imported symbols, as more labels can be created during code generation (float literals, jump tables; on some platforms all data access has to go through the dynamic linking mechanism).

driver/mangler/ghc-asm.lprl:
Mangle absolute addresses in info tables to offsets.
Correctly pass through GCC-generated PIC for Mac OS X and powerpc linux.

includes/Cmm.h:
includes/InfoTables.h:
includes/Storage.h:
includes/mkDerivedConstants.c:
rts/GC.c:
rts/GCCompact.c:
rts/HeapStackCheck.cmm:
rts/Printer.c:
rts/RetainerProfile.c:
rts/Sanity.c:
Adapt to the fact that info tables now contain offsets.

rts/Linker.c:
Mac-specific: change machoInitSymbolsWithoutUnderscore to support PIC.

19 years ago[project @ 2004-10-07 06:38:20 by mthomas]
mthomas [Thu, 7 Oct 2004 06:38:20 +0000 (06:38 +0000)]
[project @ 2004-10-07 06:38:20 by mthomas]
Check for shell scripts first - they don't exist on my Windows nightly build.

19 years ago[project @ 2004-10-07 03:19:51 by dons]
dons [Thu, 7 Oct 2004 03:19:51 +0000 (03:19 +0000)]
[project @ 2004-10-07 03:19:51 by dons]
Need suffix.mk, otherwise .hc bootstrapping dies in ghc/compiler, with
"No rule to make target Foo.o" error.

19 years ago[project @ 2004-10-06 06:14:29 by panne]
panne [Wed, 6 Oct 2004 06:14:29 +0000 (06:14 +0000)]
[project @ 2004-10-06 06:14:29 by panne]
Use XML mode, not SGML

19 years ago[project @ 2004-10-06 00:56:59 by dons]
dons [Wed, 6 Oct 2004 00:56:59 +0000 (00:56 +0000)]
[project @ 2004-10-06 00:56:59 by dons]
Use >> append onto build.mk, so that build scripts can add extra vars
to build.mk.

Replace grep \(a\|b\) with [ab]. \| is an extended regex, whereas the
[] class is a basic RE -- so it works with BSD grep.

19 years ago[project @ 2004-10-05 13:56:31 by simonmar]
simonmar [Tue, 5 Oct 2004 13:56:32 +0000 (13:56 +0000)]
[project @ 2004-10-05 13:56:31 by simonmar]
Document -ferror-spans

19 years ago[project @ 2004-10-05 07:46:41 by simonpj]
simonpj [Tue, 5 Oct 2004 07:46:41 +0000 (07:46 +0000)]
[project @ 2004-10-05 07:46:41 by simonpj]
Report bogus strictness annotation on newtype