ghc-hetmet.git
19 years ago[project @ 2005-03-22 06:37:57 by wolfgang]
wolfgang [Tue, 22 Mar 2005 06:37:59 +0000 (06:37 +0000)]
[project @ 2005-03-22 06:37:57 by wolfgang]
Mac OS X: Make bindist work with dynamic libraries

MERGE TO STABLE

19 years ago[project @ 2005-03-21 18:04:48 by sof]
sof [Mon, 21 Mar 2005 18:04:49 +0000 (18:04 +0000)]
[project @ 2005-03-21 18:04:48 by sof]
__hscore_getFolderPath(): Don't limit ourselves to shell32.dll, look up
  shfolder.dll too.

Merge to STABLE.

19 years ago[project @ 2005-03-21 13:57:28 by simonmar]
simonmar [Mon, 21 Mar 2005 13:57:28 +0000 (13:57 +0000)]
[project @ 2005-03-21 13:57:28 by simonmar]
Update the -fno-cse flags

19 years ago[project @ 2005-03-21 10:50:22 by simonmar]
simonmar [Mon, 21 Mar 2005 10:50:34 +0000 (10:50 +0000)]
[project @ 2005-03-21 10:50:22 by simonmar]
Complete the transition of -split-objs into a dynamic flag (looks like I
half-finished it in the last commit).

Also: complete the transition of -tmpdir into a dynamic flag, which
involves some rearrangement of code from SysTools into DynFlags.

Someday, initSysTools should move wholesale into initDynFlags, because
most of the state that it initialises is now part of the DynFlags
structure, and the rest could be moved in easily.

19 years ago[project @ 2005-03-19 02:03:26 by sof]
sof [Sat, 19 Mar 2005 02:03:28 +0000 (02:03 +0000)]
[project @ 2005-03-19 02:03:26 by sof]
[Windows only]
for System.Directory / Compat.Directory functionality that probes the OS
for local details re: misc user directories, perform late binding of
SHGetFolderPath() from shell32.dll, as it may not be present.
(cf. ghc-6.4's failure to operate on Win9x / NT boxes.) If the API isn't
there, fail with UnsupportedOperation.
Packages.readPackageConfigs: gracefully handle excns from getAppUserDataDirectory.

Merge to STABLE.

19 years ago[project @ 2005-03-18 17:17:02 by simonpj]
simonpj [Fri, 18 Mar 2005 17:17:02 +0000 (17:17 +0000)]
[project @ 2005-03-18 17:17:02 by simonpj]
Import wibble

19 years ago[project @ 2005-03-18 17:16:00 by simonpj]
simonpj [Fri, 18 Mar 2005 17:16:07 +0000 (17:16 +0000)]
[project @ 2005-03-18 17:16:00 by simonpj]
Fix stage-2 build

19 years ago[project @ 2005-03-18 13:53:34 by simonmar]
simonmar [Fri, 18 Mar 2005 13:53:34 +0000 (13:53 +0000)]
[project @ 2005-03-18 13:53:34 by simonmar]
Undo rev. 1.6, these changes shouldn't have been in this tree

19 years ago[project @ 2005-03-18 13:37:27 by simonmar]
simonmar [Fri, 18 Mar 2005 13:41:59 +0000 (13:41 +0000)]
[project @ 2005-03-18 13:37:27 by simonmar]
Flags cleanup.

Basically the purpose of this commit is to move more of the compiler's
global state into DynFlags, which is moving in the direction we need
to go for the GHC API which can have multiple active sessions
supported by a single GHC instance.

Before:

$ grep 'global_var' */*hs | wc -l
     78

After:

$ grep 'global_var' */*hs | wc -l
     27

Well, it's an improvement.  Most of what's left won't really affect
our ability to host multiple sessions.

Lots of static flags have become dynamic flags (yay!).  Notably lots
of flags that we used to think of as "driver" flags, like -I and -L,
are now dynamic.  The most notable static flags left behind are the
"way" flags, eg. -prof.  It would be nice to fix this, but it isn't
urgent.

On the way, lots of cleanup has happened.  Everything related to
static and dynamic flags lives in StaticFlags and DynFlags
respectively, and they share a common command-line parser library in
CmdLineParser.  The flags related to modes (--makde, --interactive
etc.) are now private to the front end: in fact private to Main
itself, for now.

19 years ago[project @ 2005-03-18 11:19:27 by simonmar]
simonmar [Fri, 18 Mar 2005 11:19:27 +0000 (11:19 +0000)]
[project @ 2005-03-18 11:19:27 by simonmar]
merge rev. 1.6.2.1, simplified slightly:

  Initialise a CostCentreStack by generating SIZEOF_CostCentreStack
  (gotten from the C compiler) zeros, padded to the nearest word.
  Improves on the previous fixes for unpredictable padding (see comment).

19 years ago[project @ 2005-03-18 11:16:27 by simonmar]
simonmar [Fri, 18 Mar 2005 11:16:27 +0000 (11:16 +0000)]
[project @ 2005-03-18 11:16:27 by simonmar]
Add SIZEOF_CostCentreStack

19 years ago[project @ 2005-03-18 09:38:12 by simonpj]
simonpj [Fri, 18 Mar 2005 09:38:12 +0000 (09:38 +0000)]
[project @ 2005-03-18 09:38:12 by simonpj]
Clarify -main-is documentation

19 years ago[project @ 2005-03-17 13:16:55 by simonmar]
simonmar [Thu, 17 Mar 2005 13:16:55 +0000 (13:16 +0000)]
[project @ 2005-03-17 13:16:55 by simonmar]
Fix a few CCCS that should be W_[CCCS] that I just noticed.  I suspect
that heap-profiling STM code might run into difficulties in 6.4.

19 years ago[project @ 2005-03-17 13:14:59 by simonmar]
simonmar [Thu, 17 Mar 2005 13:14:59 +0000 (13:14 +0000)]
[project @ 2005-03-17 13:14:59 by simonmar]
Fix +RTS -xc, which is broken in 6.4.

19 years ago[project @ 2005-03-17 12:45:08 by simonmar]
simonmar [Thu, 17 Mar 2005 12:45:09 +0000 (12:45 +0000)]
[project @ 2005-03-17 12:45:08 by simonmar]
Rearrange the fields of CostCentreStack to leave no (or less) room for
arbitrary padding decisions by C compilers.

19 years ago[project @ 2005-03-17 12:04:07 by simonpj]
simonpj [Thu, 17 Mar 2005 12:04:07 +0000 (12:04 +0000)]
[project @ 2005-03-17 12:04:07 by simonpj]
Re-clarify hs-boot docs

19 years ago[project @ 2005-03-17 12:03:45 by simonpj]
simonpj [Thu, 17 Mar 2005 12:03:45 +0000 (12:03 +0000)]
[project @ 2005-03-17 12:03:45 by simonpj]
Follow-up fix to this:
  ghc --make should check for a module graph that
  contains a hs-boot file with no corresponding parent module

Namely, instead of complaining, just add the parent module.

Merge to STABLE

19 years ago[project @ 2005-03-17 10:29:46 by simonpj]
simonpj [Thu, 17 Mar 2005 10:29:46 +0000 (10:29 +0000)]
[project @ 2005-03-17 10:29:46 by simonpj]
Clarify hs-boot docs

19 years ago[project @ 2005-03-17 10:17:02 by simonpj]
simonpj [Thu, 17 Mar 2005 10:17:02 +0000 (10:17 +0000)]
[project @ 2005-03-17 10:17:02 by simonpj]
minor to fix to (still probably broken) stglint

19 years ago[project @ 2005-03-17 10:16:32 by simonpj]
simonpj [Thu, 17 Mar 2005 10:16:34 +0000 (10:16 +0000)]
[project @ 2005-03-17 10:16:32 by simonpj]
ghc --make should check for a module graph that
  contains a hs-boot file with no corresponding parent module

Merge to STABLE

19 years ago[project @ 2005-03-17 10:15:32 by simonpj]
simonpj [Thu, 17 Mar 2005 10:15:37 +0000 (10:15 +0000)]
[project @ 2005-03-17 10:15:32 by simonpj]
Buglet in compiling hs-boot files
We should make GlobalIds not LocalIds

Merge to STABLE

19 years ago[project @ 2005-03-17 10:09:24 by simonpj]
simonpj [Thu, 17 Mar 2005 10:09:24 +0000 (10:09 +0000)]
[project @ 2005-03-17 10:09:24 by simonpj]
Comments

19 years ago[project @ 2005-03-16 11:18:59 by simonmar]
simonmar [Wed, 16 Mar 2005 11:18:59 +0000 (11:18 +0000)]
[project @ 2005-03-16 11:18:59 by simonmar]
Add note about GLUT from Claus (actually I have very little idea if
this is correct or not - Sven, if you have a chance to take a look
that would be great.)

19 years ago[project @ 2005-03-16 10:46:32 by simonpj]
simonpj [Wed, 16 Mar 2005 10:46:32 +0000 (10:46 +0000)]
[project @ 2005-03-16 10:46:32 by simonpj]
Localise the binder for the nested defn in LiberateCase,
to avoid name clashes between top-level names.
Discovered by Laszlo.

Merge to STABLE

19 years ago[project @ 2005-03-16 10:24:47 by simonmar]
simonmar [Wed, 16 Mar 2005 10:24:47 +0000 (10:24 +0000)]
[project @ 2005-03-16 10:24:47 by simonmar]
Further to previous patch: only create the user database if we're modifying

19 years ago[project @ 2005-03-16 10:18:28 by simonmar]
simonmar [Wed, 16 Mar 2005 10:18:28 +0000 (10:18 +0000)]
[project @ 2005-03-16 10:18:28 by simonmar]
Be a bit less eager about creating the user database: now we only
create it when explicitly asked to use it with --user.

19 years ago[project @ 2005-03-16 09:24:55 by simonmar]
simonmar [Wed, 16 Mar 2005 09:24:55 +0000 (09:24 +0000)]
[project @ 2005-03-16 09:24:55 by simonmar]
Fix InstalledPackageInfo link

19 years ago[project @ 2005-03-16 09:22:40 by krasimir]
krasimir [Wed, 16 Mar 2005 09:22:40 +0000 (09:22 +0000)]
[project @ 2005-03-16 09:22:40 by krasimir]
Remove Main module from exported-modules field

19 years ago[project @ 2005-03-16 09:04:26 by simonpj]
simonpj [Wed, 16 Mar 2005 09:04:26 +0000 (09:04 +0000)]
[project @ 2005-03-16 09:04:26 by simonpj]
----------------------------------
  Two GADT error-reporting bugs
----------------------------------

Merge to STABLE

...missed file...

1.  Bug in kind-checking for GADTs; turned out to be in
    isOpenTypeKind on KindVars

....

19 years ago[project @ 2005-03-15 23:44:06 by sof]
sof [Tue, 15 Mar 2005 23:44:06 +0000 (23:44 +0000)]
[project @ 2005-03-15 23:44:06 by sof]
[mingw only]setProgName():
  robustify by looking for the last '/' or '\\' in argv[0].
  My copy of 'gdb' likes to use a mixture of the two, which causes a
  fatal error when trying to debug libHSrts_p.a. Other process-invoking
  apps/shells might be equally wavering when it comes to the use of slashes.

Merge to STABLE.

19 years ago[project @ 2005-03-15 16:37:09 by krasimir]
krasimir [Tue, 15 Mar 2005 16:37:09 +0000 (16:37 +0000)]
[project @ 2005-03-15 16:37:09 by krasimir]
all modules from GHC are listed in exposed-modules field

19 years ago[project @ 2005-03-15 16:15:46 by simonmar]
simonmar [Tue, 15 Mar 2005 16:15:46 +0000 (16:15 +0000)]
[project @ 2005-03-15 16:15:46 by simonmar]
TARGET->HOST

19 years ago[project @ 2005-03-15 15:40:23 by simonpj]
simonpj [Tue, 15 Mar 2005 15:40:23 +0000 (15:40 +0000)]
[project @ 2005-03-15 15:40:23 by simonpj]
----------------------------------
  Two GADT error-reporting bugs
----------------------------------

Merge to STABLE

1.  Bug in kind-checking for GADTs; turned out to be in
    isOpenTypeKind on KindVars

2.  Missed check for the return type for GADTs

19 years ago[project @ 2005-03-15 15:11:41 by krasimir]
krasimir [Tue, 15 Mar 2005 15:11:41 +0000 (15:11 +0000)]
[project @ 2005-03-15 15:11:41 by krasimir]
package.conf.in is changed to the new syntax. The list of exposed modules still
have only one module GHC

19 years ago[project @ 2005-03-15 12:11:39 by simonmar]
simonmar [Tue, 15 Mar 2005 12:11:40 +0000 (12:11 +0000)]
[project @ 2005-03-15 12:11:39 by simonmar]
A very rough start at the GHC API, here so that others can look and
modify it.

19 years ago[project @ 2005-03-15 11:59:32 by ross]
ross [Tue, 15 Mar 2005 11:59:36 +0000 (11:59 +0000)]
[project @ 2005-03-15 11:59:32 by ross]
Fix (and test) for SourceForge bug 1161624: erroneous rejection of

foo = proc x -> arr (\y -> y-1) -< x

Now open a new level for the left side of -<, so that variables bound
in the proc are illegal, but variables bound in the expression are OK.

Note that the levels gimmick doesn't really implement holes in the
scope: it rules out nasty obfuscations like

foo x = proc x -> arr (\y -> x-1) -< x

Also added the same treatment to the head of a `form', where it was
missing.

(for STABLE)

19 years ago[project @ 2005-03-15 10:33:41 by krasimir]
krasimir [Tue, 15 Mar 2005 10:33:41 +0000 (10:33 +0000)]
[project @ 2005-03-15 10:33:41 by krasimir]
Without semicolon after "foundit:" at least mingw32-gcc raises "error: label at end of compound statement".

19 years ago[project @ 2005-03-14 16:25:21 by simonpj]
simonpj [Mon, 14 Mar 2005 16:25:21 +0000 (16:25 +0000)]
[project @ 2005-03-14 16:25:21 by simonpj]
Fix obscure_ccall

19 years ago[project @ 2005-03-14 12:21:36 by simonmar]
simonmar [Mon, 14 Mar 2005 12:21:36 +0000 (12:21 +0000)]
[project @ 2005-03-14 12:21:36 by simonmar]
Remove locale setting, it is no longer required

19 years ago[project @ 2005-03-12 18:25:07 by desrt]
desrt [Sat, 12 Mar 2005 18:25:07 +0000 (18:25 +0000)]
[project @ 2005-03-12 18:25:07 by desrt]
configure-bin.ac: I didn't know this file existed.
                  Add powerpc-linux and powerpc64-linux targets.

19 years ago[project @ 2005-03-11 12:54:08 by simonmar]
simonmar [Fri, 11 Mar 2005 12:54:08 +0000 (12:54 +0000)]
[project @ 2005-03-11 12:54:08 by simonmar]
oops, forgot to clean runhaskell

19 years ago[project @ 2005-03-11 10:37:50 by simonpj]
simonpj [Fri, 11 Mar 2005 10:37:50 +0000 (10:37 +0000)]
[project @ 2005-03-11 10:37:50 by simonpj]
----------------------------------
  Attend to fixity of '->' in types
----------------------------------

Merge to STABLE

Another wibble to the infix-type-constructor story. Actually
this has been a bug for some time: function type constructors
were not being re-associated, because they are not HsOpAppTys.

19 years ago[project @ 2005-03-11 10:36:35 by simonpj]
simonpj [Fri, 11 Mar 2005 10:36:35 +0000 (10:36 +0000)]
[project @ 2005-03-11 10:36:35 by simonpj]
----------------------------------
  Fix a "class used as a type" crash
----------------------------------

Merge to STABLE

Thanks to Shae for finding this one.  tcfail134 tests.

19 years ago[project @ 2005-03-10 23:27:35 by simonmar]
simonmar [Thu, 10 Mar 2005 23:27:37 +0000 (23:27 +0000)]
[project @ 2005-03-10 23:27:35 by simonmar]
Implement foreign import wrapper on x86_64

19 years ago[project @ 2005-03-10 17:58:42 by malcolm]
malcolm [Thu, 10 Mar 2005 17:58:43 +0000 (17:58 +0000)]
[project @ 2005-03-10 17:58:42 by malcolm]
Define __CYGWIN32__ for nhc98 build of hsc2hs.

19 years ago[project @ 2005-03-10 14:47:33 by simonmar]
simonmar [Thu, 10 Mar 2005 14:47:33 +0000 (14:47 +0000)]
[project @ 2005-03-10 14:47:33 by simonmar]
x86: For some reason the code for obscure_ccall_ret_code was allocated
dynamically and specified using literal bytes rather than inline
assembly.  Change it to use inline assembly.

19 years ago[project @ 2005-03-10 14:17:27 by simonmar]
simonmar [Thu, 10 Mar 2005 14:17:27 +0000 (14:17 +0000)]
[project @ 2005-03-10 14:17:27 by simonmar]
Clean .hi-boot and .o-boot files when appropriate.  The standard
cleaning doesn't work in ghc/compiler because of $(odir).

19 years ago[project @ 2005-03-10 14:03:28 by simonmar]
simonmar [Thu, 10 Mar 2005 14:03:28 +0000 (14:03 +0000)]
[project @ 2005-03-10 14:03:28 by simonmar]
Add x86_64 platforms

19 years ago[project @ 2005-03-10 13:39:42 by simonmar]
simonmar [Thu, 10 Mar 2005 13:39:42 +0000 (13:39 +0000)]
[project @ 2005-03-10 13:39:42 by simonmar]
Add runhaskell

19 years ago[project @ 2005-03-10 09:59:49 by simonpj]
simonpj [Thu, 10 Mar 2005 09:59:49 +0000 (09:59 +0000)]
[project @ 2005-03-10 09:59:49 by simonpj]
Reword documentation of retainer sets

19 years ago[project @ 2005-03-10 08:56:35 by simonpj]
simonpj [Thu, 10 Mar 2005 08:56:37 +0000 (08:56 +0000)]
[project @ 2005-03-10 08:56:35 by simonpj]
Wibbles to infix operators; please merge

19 years ago[project @ 2005-03-09 17:54:59 by simonpj]
simonpj [Wed, 9 Mar 2005 17:54:59 +0000 (17:54 +0000)]
[project @ 2005-03-09 17:54:59 by simonpj]
Fix indirection-shorting problem

19 years ago[project @ 2005-03-09 17:51:03 by simonpj]
simonpj [Wed, 9 Mar 2005 17:51:03 +0000 (17:51 +0000)]
[project @ 2005-03-09 17:51:03 by simonpj]
Comments

19 years ago[project @ 2005-03-09 17:47:09 by simonpj]
simonpj [Wed, 9 Mar 2005 17:47:09 +0000 (17:47 +0000)]
[project @ 2005-03-09 17:47:09 by simonpj]
Document infix type operators

19 years ago[project @ 2005-03-09 16:58:15 by simonpj]
simonpj [Wed, 9 Mar 2005 16:58:15 +0000 (16:58 +0000)]
[project @ 2005-03-09 16:58:15 by simonpj]
Add parser support for infix type-variable operators

19 years ago[project @ 2005-03-09 14:26:56 by simonpj]
simonpj [Wed, 9 Mar 2005 14:27:03 +0000 (14:27 +0000)]
[project @ 2005-03-09 14:26:56 by simonpj]
Fix the superclass translation for instance decls
Merge to STABLE

There is a long-standing difficulty whereby it's surprisingly easy
to accidentally generate an entirely-bogus recursive dictionary when
generating the definitions for the superclasses of an instance decl.

The problem arises because the default story is that whenever we
add a constraint to our pile of solved constraints, we automatically
add all its superclasses.  But that is simply wrong when we are trying
to generate superclasses.

Solution: do no auto-superclass addition when solving the superclass
constraints of an instance declaration.  I think should fix it once and
for all.

tcrun021, tcrun033 are test cases

tcrun033 showed up the bug; thanks to Simon Foster and Ralf Laemmel.

19 years ago[project @ 2005-03-09 10:56:09 by simonpj]
simonpj [Wed, 9 Mar 2005 10:56:09 +0000 (10:56 +0000)]
[project @ 2005-03-09 10:56:09 by simonpj]
Add missing provenance for mfix; pls merge

19 years ago[project @ 2005-03-09 10:54:57 by simonpj]
simonpj [Wed, 9 Mar 2005 10:54:57 +0000 (10:54 +0000)]
[project @ 2005-03-09 10:54:57 by simonpj]
Add notes about implicit parameters; pls merge

19 years ago[project @ 2005-03-09 10:38:17 by simonmar]
simonmar [Wed, 9 Mar 2005 10:38:17 +0000 (10:38 +0000)]
[project @ 2005-03-09 10:38:17 by simonmar]
Use a different magic number (0x1face64) for 64-bit interface files.
This will prevent us trying to read the dictionary out of a 32-bit
interface file on a 64-bit machine.

19 years ago[project @ 2005-03-09 10:36:38 by simonmar]
simonmar [Wed, 9 Mar 2005 10:36:38 +0000 (10:36 +0000)]
[project @ 2005-03-09 10:36:38 by simonmar]
revert previous change, it didn't work

19 years ago[project @ 2005-03-09 08:51:31 by wolfgang]
wolfgang [Wed, 9 Mar 2005 08:51:43 +0000 (08:51 +0000)]
[project @ 2005-03-09 08:51:31 by wolfgang]
Retain all CAFs when dynamic Haskell libraries are used from GHCi.
The Linker usually replaces references to newCAF with references to newDynCAF,
but the system dynamic linker won't do that for us.

Also, the situation is slightly different - we never want CAFs from dylibs
to be reverted, because the dylibs might be used both by the interpreted
program and by GHCi itself.

So instead of just caf_list, there's now both caf_list and revertible_caf_list.
newDynCAF adds a CAF to revertible_caf_list, and newCAF either adds the CAF
to caf_list or to the mutable list, depending on whether we are in GHCi.

This hack is only active when Linker.c has loaded libHSbase_dyn.[so|dylib],
but for now, it applies to all CAFs, not just dynamically-linked ones.
If that is worth fixing, we could do that by checking whether the the CAF
closure or it's info pointer is in the main executable's address range.

MERGE TO STABLE

19 years ago[project @ 2005-03-09 04:13:13 by wolfgang]
wolfgang [Wed, 9 Mar 2005 04:13:13 +0000 (04:13 +0000)]
[project @ 2005-03-09 04:13:13 by wolfgang]
Some minimalistic documentation for -fPIC and -dynamic.

MERGE TO STABLE

19 years ago[project @ 2005-03-08 20:33:21 by wolfgang]
wolfgang [Tue, 8 Mar 2005 20:33:21 +0000 (20:33 +0000)]
[project @ 2005-03-08 20:33:21 by wolfgang]
Mac OS X: fix_install_name when installing libexecs

MERGE TO STABLE

19 years ago[project @ 2005-03-08 19:14:09 by sof]
sof [Tue, 8 Mar 2005 19:14:09 +0000 (19:14 +0000)]
[project @ 2005-03-08 19:14:09 by sof]
give 'runhaskell' the 'exeext' treatment too

19 years ago[project @ 2005-03-08 19:13:27 by sof]
sof [Tue, 8 Mar 2005 19:13:27 +0000 (19:13 +0000)]
[project @ 2005-03-08 19:13:27 by sof]
explicitly use 'exeext' to avoid cygwin 'cp' weirdity

19 years ago[project @ 2005-03-08 17:19:28 by simonmar]
simonmar [Tue, 8 Mar 2005 17:19:28 +0000 (17:19 +0000)]
[project @ 2005-03-08 17:19:28 by simonmar]
decode OccNames in dumpStyle too

19 years ago[project @ 2005-03-08 17:12:51 by simonmar]
simonmar [Tue, 8 Mar 2005 17:12:54 +0000 (17:12 +0000)]
[project @ 2005-03-08 17:12:51 by simonmar]
Fix something that's been bugging me for a while: by default, -ddump-*
output doesn't include uniques when it outputs internal names, but in
most cases you need them because the output hasn't been tidied, so you
end up doing -dppr-debug which is overkill.

Now, -ddump-* prints uniques for internal names by default.  This
shouldn't affect anything else.

19 years ago[project @ 2005-03-08 15:33:35 by simonmar]
simonmar [Tue, 8 Mar 2005 15:33:35 +0000 (15:33 +0000)]
[project @ 2005-03-08 15:33:35 by simonmar]
Install runghc too

19 years ago[project @ 2005-03-08 13:35:35 by simonmar]
simonmar [Tue, 8 Mar 2005 13:35:35 +0000 (13:35 +0000)]
[project @ 2005-03-08 13:35:35 by simonmar]
Fix what looks like a typo in the previous commit

19 years ago[project @ 2005-03-08 13:32:06 by simonmar]
simonmar [Tue, 8 Mar 2005 13:32:06 +0000 (13:32 +0000)]
[project @ 2005-03-08 13:32:06 by simonmar]
HACK HACK HACK on x86_64

we need 16-byte aligned constants on this platform sometimes.  Don't
just 16-byte align everything, but try to detect 16-byte constants and
align just those.

All the codegen tests now go through on registerised x86_64, I'm
building a stage2 GHC now.

19 years ago[project @ 2005-03-08 11:57:57 by simonmar]
simonmar [Tue, 8 Mar 2005 11:57:57 +0000 (11:57 +0000)]
[project @ 2005-03-08 11:57:57 by simonmar]
Add runhaskell as an optional binary

19 years ago[project @ 2005-03-08 11:56:55 by simonmar]
simonmar [Tue, 8 Mar 2005 11:56:57 +0000 (11:56 +0000)]
[project @ 2005-03-08 11:56:55 by simonmar]
Allow for optional binary installation

19 years ago[project @ 2005-03-08 11:50:42 by simonmar]
simonmar [Tue, 8 Mar 2005 11:50:42 +0000 (11:50 +0000)]
[project @ 2005-03-08 11:50:42 by simonmar]
Build & install runhaskell, but only install it if there isn't already
a $(bindir)/runhaskell.

19 years ago[project @ 2005-03-08 11:04:11 by simonmar]
simonmar [Tue, 8 Mar 2005 11:04:11 +0000 (11:04 +0000)]
[project @ 2005-03-08 11:04:11 by simonmar]
x86_64: the assembler doesn't like generating 8-byte relative
relocations between text and rodata symbols.  Hack around this by
putting SRTs in the text segment for now.

19 years ago[project @ 2005-03-08 10:14:32 by simonpj]
simonpj [Tue, 8 Mar 2005 10:14:34 +0000 (10:14 +0000)]
[project @ 2005-03-08 10:14:32 by simonpj]
Avoid losing location info for ghci; please merge

19 years ago[project @ 2005-03-08 09:47:35 by simonpj]
simonpj [Tue, 8 Mar 2005 09:47:43 +0000 (09:47 +0000)]
[project @ 2005-03-08 09:47:35 by simonpj]
Print full instances in ghci; merge

19 years ago[project @ 2005-03-08 09:47:01 by simonpj]
simonpj [Tue, 8 Mar 2005 09:47:01 +0000 (09:47 +0000)]
[project @ 2005-03-08 09:47:01 by simonpj]
Comments

19 years ago[project @ 2005-03-08 09:45:45 by simonpj]
simonpj [Tue, 8 Mar 2005 09:45:45 +0000 (09:45 +0000)]
[project @ 2005-03-08 09:45:45 by simonpj]
Better printing of types; merge please

19 years ago[project @ 2005-03-08 09:01:20 by simonmar]
simonmar [Tue, 8 Mar 2005 09:01:20 +0000 (09:01 +0000)]
[project @ 2005-03-08 09:01:20 by simonmar]
Update comment

19 years ago[project @ 2005-03-08 08:59:58 by simonmar]
simonmar [Tue, 8 Mar 2005 08:59:58 +0000 (08:59 +0000)]
[project @ 2005-03-08 08:59:58 by simonmar]
x86_64: Add __DISCARD__() function call to the tailcall sequence to
work around bugs in gcc (see comment for details).

19 years ago[project @ 2005-03-08 08:48:35 by simonpj]
simonpj [Tue, 8 Mar 2005 08:48:35 +0000 (08:48 +0000)]
[project @ 2005-03-08 08:48:35 by simonpj]
Add notes about newtype deriving

19 years ago[project @ 2005-03-08 04:45:29 by wolfgang]
wolfgang [Tue, 8 Mar 2005 04:45:38 +0000 (04:45 +0000)]
[project @ 2005-03-08 04:45:29 by wolfgang]
Mac OS X:
Kill HaskellSupport.framework.
Instead, look for GMP.framework (a framework-version of libgmp), else look
for a normal -lgmp as usual.
The other part of HaskellSupport.framework, dlcompat, is no longer needed
(as of Mac OS X 10.3, it's included in libSystem).
It's enough to just use the normal configure tests for -ldl.

MERGE TO STABLE

19 years ago[project @ 2005-03-08 02:28:23 by wolfgang]
wolfgang [Tue, 8 Mar 2005 02:28:23 +0000 (02:28 +0000)]
[project @ 2005-03-08 02:28:23 by wolfgang]
Mach-O Linker: eradicate some warnings

MERGE TO STABLE

19 years ago[project @ 2005-03-07 17:46:24 by simonpj]
simonpj [Mon, 7 Mar 2005 17:46:24 +0000 (17:46 +0000)]
[project @ 2005-03-07 17:46:24 by simonpj]
-----------------------------------------
       Make sure that LiberateCase only binds Internal Names
-----------------------------------------

Merge to STABLE

The nested bindings generated by LiberateCase should be Internal as
well as not-exported.  Otherwise an External Name can float to top level,
where it might name-clash with another one.

19 years ago[project @ 2005-03-07 16:46:08 by simonpj]
simonpj [Mon, 7 Mar 2005 16:46:24 +0000 (16:46 +0000)]
[project @ 2005-03-07 16:46:08 by simonpj]
-----------------------------------------
       Fix a long-standing indirection-zapping bug
-----------------------------------------

Merge to STABLE

Up to now we zap indirections as part of the occurence analyser.
But this is bogus.  The indirection zapper does the following:

x_local = <expression>
...bindings...
x_exported = x_local

where x_exported is exported, and x_local is not, then we
replace it with this:

x_exported = <expression>
x_local = x_exported
...bindings...

But this is plain wrong if x_exported has a RULE that mentions
something (f, say) in ...bindings.., because 'f' will then die.

After hacking a few solutions, I've eventually simply made the indirection
zapping into a separate pass (which is cleaner anyway), which wraps the
entire program back into a single Rec if the bad thing can happen.

On the way I've made indirection-zapping work in Recs too, which wasn't the
case before.

* Move the zapper from OccurAnal into SimplCore
* Tidy up the printing of pragmas (PprCore and friends)
* Add a new function Rules.addRules
* Merge rules in the indirection zapper (previously one set was discarded)

19 years ago[project @ 2005-03-07 15:59:27 by simonmar]
simonmar [Mon, 7 Mar 2005 15:59:27 +0000 (15:59 +0000)]
[project @ 2005-03-07 15:59:27 by simonmar]
Include WORD_SIZE_IN_BITS in the interface header, and test it when
reading.  Fixes a problem whereby GHC on a 64-bit platform will crash
if it tries to read an interface file generated by the same version of
GHC on a 32-bit platform.

19 years ago[project @ 2005-03-07 15:16:58 by simonpj]
simonpj [Mon, 7 Mar 2005 15:17:02 +0000 (15:17 +0000)]
[project @ 2005-03-07 15:16:58 by simonpj]
-----------------------------------------
       Fix scoping bug for quantified type variables
-----------------------------------------

Merge to STABLE

When instantiating a declaration type signature, make sure to instantiate
fresh names for non-scoped type variables, else they may be spuriously shared.
Turns out that the test lib/Generics/reify tests this, which is good.

Comments are with TcMType.tcInstSigType

19 years ago[project @ 2005-03-07 15:16:41 by simonmar]
simonmar [Mon, 7 Mar 2005 15:16:41 +0000 (15:16 +0000)]
[project @ 2005-03-07 15:16:41 by simonmar]
Try once more to get this #include right, and add a comment

19 years ago[project @ 2005-03-07 14:52:20 by simonmar]
simonmar [Mon, 7 Mar 2005 14:52:20 +0000 (14:52 +0000)]
[project @ 2005-03-07 14:52:20 by simonmar]
ghc_boot_platform.h is the right way to get hold of the platform
defines inside the compiler.

19 years ago[project @ 2005-03-07 13:18:51 by simonmar]
simonmar [Mon, 7 Mar 2005 13:18:51 +0000 (13:18 +0000)]
[project @ 2005-03-07 13:18:51 by simonmar]
Mention not to use comments on the same line as OPTIONS_GHC

19 years ago[project @ 2005-03-07 13:18:19 by simonmar]
simonmar [Mon, 7 Mar 2005 13:18:19 +0000 (13:18 +0000)]
[project @ 2005-03-07 13:18:19 by simonmar]
Fix validate bug

19 years ago[project @ 2005-03-07 12:20:28 by simonmar]
simonmar [Mon, 7 Mar 2005 12:20:28 +0000 (12:20 +0000)]
[project @ 2005-03-07 12:20:28 by simonmar]
Add missing hs_* symbols

19 years ago[project @ 2005-03-05 16:19:14 by panne]
panne [Sat, 5 Mar 2005 16:19:18 +0000 (16:19 +0000)]
[project @ 2005-03-05 16:19:14 by panne]
Nuked dead code. Now the RTS is free of warnings, except for failed
inlinings of thread_obj, processHeapClosureForDead, pop, and
push. Should we remove their "inline" modifier?

19 years ago[project @ 2005-03-05 13:54:36 by panne]
panne [Sat, 5 Mar 2005 13:54:36 +0000 (13:54 +0000)]
[project @ 2005-03-05 13:54:36 by panne]
Clean up Version.hs for distclean target

19 years ago[project @ 2005-03-05 13:48:42 by panne]
panne [Sat, 5 Mar 2005 13:48:42 +0000 (13:48 +0000)]
[project @ 2005-03-05 13:48:42 by panne]
Warning police

19 years ago[project @ 2005-03-05 11:58:41 by chak]
chak [Sat, 5 Mar 2005 11:58:41 +0000 (11:58 +0000)]
[project @ 2005-03-05 11:58:41 by chak]
Extended the commentary with a section about the STG-related parts of GHC
(generation of STG from Core, STG passes, and generation of Cmm).

[BTW, it's a pity that nobody bothered to write up the new code generation
structure when it was implemented not long ago.]

19 years ago[project @ 2005-03-04 19:19:56 by sof]
sof [Fri, 4 Mar 2005 19:19:56 +0000 (19:19 +0000)]
[project @ 2005-03-04 19:19:56 by sof]
Since MachDeps.h doesn't include ghcconfig.h, include it specifically here
(for the benefit of mingw). That may not be the right file to use in the
grander scheme of things tho.

Merge to STABLE (or something equivalent; as-is STABLE doesn't build on mingw.)

19 years ago[project @ 2005-03-04 18:26:46 by sof]
sof [Fri, 4 Mar 2005 18:26:49 +0000 (18:26 +0000)]
[project @ 2005-03-04 18:26:46 by sof]
Temper 'libm' testing -- if 'atan' is available straight from libc,
no need to include libm.

Merge to STABLE

19 years ago[project @ 2005-03-04 14:24:51 by simonmar]
simonmar [Fri, 4 Mar 2005 14:24:51 +0000 (14:24 +0000)]
[project @ 2005-03-04 14:24:51 by simonmar]
Build all the libraries

19 years ago[project @ 2005-03-04 14:06:55 by simonmar]
simonmar [Fri, 4 Mar 2005 14:06:55 +0000 (14:06 +0000)]
[project @ 2005-03-04 14:06:55 by simonmar]
Fix a couple of things, should help this script get further