ghc-hetmet.git
20 years ago[project @ 2003-08-04 14:38:59 by simonmar]
simonmar [Mon, 4 Aug 2003 14:38:59 +0000 (14:38 +0000)]
[project @ 2003-08-04 14:38:59 by simonmar]
A couple of small updates that were sitting in my tree..

20 years ago[project @ 2003-08-04 10:06:31 by ross]
ross [Mon, 4 Aug 2003 10:06:31 +0000 (10:06 +0000)]
[project @ 2003-08-04 10:06:31 by ross]
minor rearrangement

20 years ago[project @ 2003-08-01 15:38:41 by panne]
panne [Fri, 1 Aug 2003 15:38:41 +0000 (15:38 +0000)]
[project @ 2003-08-01 15:38:41 by panne]
Compile with -Wall

20 years ago[project @ 2003-08-01 15:10:34 by panne]
panne [Fri, 1 Aug 2003 15:10:34 +0000 (15:10 +0000)]
[project @ 2003-08-01 15:10:34 by panne]
Even more warning police:
* Help GCC a bit with "unitialized" variables.
* Added #include for islower
* Nuked variable `syncs', which always contained the empty string.
  GCC complained about an empty format string, BTW.

20 years ago[project @ 2003-08-01 14:58:47 by panne]
panne [Fri, 1 Aug 2003 14:58:48 +0000 (14:58 +0000)]
[project @ 2003-08-01 14:58:47 by panne]
Warning police: Nuked unused variables.

20 years ago[project @ 2003-08-01 14:50:48 by panne]
panne [Fri, 1 Aug 2003 14:50:50 +0000 (14:50 +0000)]
[project @ 2003-08-01 14:50:48 by panne]
Warning police: GCC complains about built-in function `log' being used
as a non-function, so let's rename it to logFile.

20 years ago[project @ 2003-07-31 23:16:13 by sof]
sof [Thu, 31 Jul 2003 23:16:13 +0000 (23:16 +0000)]
[project @ 2003-07-31 23:16:13 by sof]
disable --enable-win32-dlls, feature not currently on offer

20 years ago[project @ 2003-07-31 17:47:18 by ross]
ross [Thu, 31 Jul 2003 17:47:18 +0000 (17:47 +0000)]
[project @ 2003-07-31 17:47:18 by ross]
add link to parsec package

20 years ago[project @ 2003-07-31 10:07:02 by simonmar]
simonmar [Thu, 31 Jul 2003 10:07:02 +0000 (10:07 +0000)]
[project @ 2003-07-31 10:07:02 by simonmar]
Add comment about the LDV code in UPD_DB_UPDATABLE when
EAGER_BLACKHOLING is no - it looks like it can't possibly work to me.

20 years ago[project @ 2003-07-30 17:09:12 by simonmar]
simonmar [Wed, 30 Jul 2003 17:09:12 +0000 (17:09 +0000)]
[project @ 2003-07-30 17:09:12 by simonmar]
Fix problem with MARK.

Patch submitted by Nicholas Nethercote <njn25@cam.ac.uk>.

20 years ago[project @ 2003-07-30 10:38:42 by simonmar]
simonmar [Wed, 30 Jul 2003 10:38:42 +0000 (10:38 +0000)]
[project @ 2003-07-30 10:38:42 by simonmar]
TEXT_BEFORE_HEAP is not used any more.

20 years ago[project @ 2003-07-30 10:01:46 by simonmar]
simonmar [Wed, 30 Jul 2003 10:01:46 +0000 (10:01 +0000)]
[project @ 2003-07-30 10:01:46 by simonmar]
Throw away an SCC on a single variable.  This seems to be justified:
there can be no work to attribute to the current cost centre when
evaluating a lone variable, other than the act of entering the
closure, and possibly returning immediately if it is a variable.

This also fixes a bug in profiling, which showed up as incorrect
transformations made by the simplifier resulting in extra strictness.
The simplifier assumes (in Simplify.simplLazyBind) that (let x = e in
x) will have been turned into x, but this isn't true if there's an SCC
around the x.

20 years ago[project @ 2003-07-30 09:21:12 by wolfgang]
wolfgang [Wed, 30 Jul 2003 09:21:12 +0000 (09:21 +0000)]
[project @ 2003-07-30 09:21:12 by wolfgang]
OpenGL support for Mac OS X:

In FPTOOLS_CHECK_HTYPE, be ready to include Apple's non-standard
<OpenGL/gl.h>
instead of the usual <GL/gl.h>.

20 years ago[project @ 2003-07-30 09:20:41 by wolfgang]
wolfgang [Wed, 30 Jul 2003 09:20:42 +0000 (09:20 +0000)]
[project @ 2003-07-30 09:20:41 by wolfgang]
OpenGL support for Mac OS X:

"./configure --enable-hopengl" on Mac OS X now uses the OpenGL libs that come
with Apple's "Quartz" display system.
"./configure --enable-hopengl=x11" looks for an X11 implementation of OpenGL
(which is an optional install on Mac OS X).

Added a corresponding "USE_QUARTZ_OPENGL" flag to config.h

20 years ago[project @ 2003-07-29 19:08:40 by panne]
panne [Tue, 29 Jul 2003 19:08:40 +0000 (19:08 +0000)]
[project @ 2003-07-29 19:08:40 by panne]
Revert to previous commit, i.e. ProjectVersion is now a plain "6.1"
again, not "6.1.20030727". It looked like an accidental commit and
broke my build scripts.

20 years ago[project @ 2003-07-29 16:31:39 by igloo]
igloo [Tue, 29 Jul 2003 16:31:39 +0000 (16:31 +0000)]
[project @ 2003-07-29 16:31:39 by igloo]
gcc 3.3's cpp fix on sparc.

Could be merged to stable if it's not too late.

20 years ago[project @ 2003-07-29 10:15:31 by simonpj]
simonpj [Tue, 29 Jul 2003 10:15:31 +0000 (10:15 +0000)]
[project @ 2003-07-29 10:15:31 by simonpj]
Print HsExprs a bit deeper before ... ellipsis

20 years ago[project @ 2003-07-29 10:14:57 by simonpj]
simonpj [Tue, 29 Jul 2003 10:15:10 +0000 (10:15 +0000)]
[project @ 2003-07-29 10:14:57 by simonpj]
Comments only

20 years ago[project @ 2003-07-28 16:16:07 by moran]
moran [Mon, 28 Jul 2003 16:16:07 +0000 (16:16 +0000)]
[project @ 2003-07-28 16:16:07 by moran]
Fix multi-slurp protection (#define was missing).  (No I don't go around
looking at header files for minor problems like this; I was actually trying to
remind myself how to do it, and this was the first place I looked :-)

20 years ago[project @ 2003-07-28 16:05:30 by simonmar]
simonmar [Mon, 28 Jul 2003 16:05:39 +0000 (16:05 +0000)]
[project @ 2003-07-28 16:05:30 by simonmar]
Disable update-in-place.  In its current form, it has a serious bug:
if the thunk being updated happens to have turned into a BLACKHOLE_BQ,
then the mutable list will be corrupted by the update.

Disabling update-in-place has some performance implications: many
programs are not affected, but one program in nofib (nucleic2) goes
about 20% slower.  However, I can get it to go 300% faster by adding a
few strictness annotations and compiling with -funbox-strict-fields.

20 years ago[project @ 2003-07-28 15:59:09 by simonmar]
simonmar [Mon, 28 Jul 2003 15:59:09 +0000 (15:59 +0000)]
[project @ 2003-07-28 15:59:09 by simonmar]
Comments only: the TICK_UPD_*_IN_PLACE aren't relevant any more.

20 years ago[project @ 2003-07-28 15:57:40 by simonmar]
simonmar [Mon, 28 Jul 2003 15:57:40 +0000 (15:57 +0000)]
[project @ 2003-07-28 15:57:40 by simonmar]
TICK_UPD_CON_IN_NEW() in the update code is wrong now, because it
could be a PAP, not just a CON.

20 years ago[project @ 2003-07-28 13:31:37 by simonpj]
simonpj [Mon, 28 Jul 2003 13:31:37 +0000 (13:31 +0000)]
[project @ 2003-07-28 13:31:37 by simonpj]
Reorganise the type-system-extension part of GlaExts docs

20 years ago[project @ 2003-07-28 12:04:27 by simonpj]
simonpj [Mon, 28 Jul 2003 12:04:27 +0000 (12:04 +0000)]
[project @ 2003-07-28 12:04:27 by simonpj]
--------------------------
  Fix an obscure but long-standing bug in Type.applyTys
   --------------------------

The interesting case, which previously killed GHC 6.0, is this
applyTys (forall a.a) [forall b.b, Int]
This really can happen, via dressing up polymorphic types with newtype
clothing.  Here's an example:
newtype R = R (forall a. a->a)
foo = case undefined :: R of

Test simplCore/should_compile/simpl0009 uses this as a test case.

20 years ago[project @ 2003-07-28 10:22:58 by simonpj]
simonpj [Mon, 28 Jul 2003 10:22:58 +0000 (10:22 +0000)]
[project @ 2003-07-28 10:22:58 by simonpj]
Comments only

20 years ago[project @ 2003-07-28 09:01:58 by simonmar]
simonmar [Mon, 28 Jul 2003 09:01:58 +0000 (09:01 +0000)]
[project @ 2003-07-28 09:01:58 by simonmar]
Fix previous patch (backslashes required in multi-line macro defns).

20 years ago[project @ 2003-07-25 14:39:17 by simonmar]
simonmar [Fri, 25 Jul 2003 14:39:17 +0000 (14:39 +0000)]
[project @ 2003-07-25 14:39:17 by simonmar]
Further updates to the hc-file-bundle target: ghc/compiler/utils is
required, and we should also keep ghc/rts/AutoApply.hc.

20 years ago[project @ 2003-07-25 10:22:25 by simonmar]
simonmar [Fri, 25 Jul 2003 10:22:25 +0000 (10:22 +0000)]
[project @ 2003-07-25 10:22:25 by simonmar]
Some more revisions; it nearly works on my unregisterised setup now.

20 years ago[project @ 2003-07-25 08:57:34 by simonmar]
simonmar [Fri, 25 Jul 2003 08:57:34 +0000 (08:57 +0000)]
[project @ 2003-07-25 08:57:34 by simonmar]
Remove multi-line strings in macros (CPP is stricter in GCC 3.3).

From: Oliver Braun.

20 years ago[project @ 2003-07-24 16:31:42 by simonmar]
simonmar [Thu, 24 Jul 2003 16:31:42 +0000 (16:31 +0000)]
[project @ 2003-07-24 16:31:42 by simonmar]
Build genapply when BootingFromHc too - it'll help when compiling the
RTS in the second stage (after turning off BootingFromHc).

20 years ago[project @ 2003-07-24 15:27:27 by simonpj]
simonpj [Thu, 24 Jul 2003 15:27:27 +0000 (15:27 +0000)]
[project @ 2003-07-24 15:27:27 by simonpj]
Wibbles

20 years ago[project @ 2003-07-24 15:12:35 by simonmar]
simonmar [Thu, 24 Jul 2003 15:12:35 +0000 (15:12 +0000)]
[project @ 2003-07-24 15:12:35 by simonmar]
Getting closer for GHC 6.x: now gets as far as building a working
compiler from unregisterised HC files.

20 years ago[project @ 2003-07-24 15:04:41 by simonmar]
simonmar [Thu, 24 Jul 2003 15:04:41 +0000 (15:04 +0000)]
[project @ 2003-07-24 15:04:41 by simonmar]
Fix for building _stub.c files in BootingFromHc mode.

20 years ago[project @ 2003-07-24 14:41:48 by simonpj]
simonpj [Thu, 24 Jul 2003 14:41:56 +0000 (14:41 +0000)]
[project @ 2003-07-24 14:41:48 by simonpj]
Sync deriving( Data ) with the new Data class

20 years ago[project @ 2003-07-24 13:57:20 by simonmar]
simonmar [Thu, 24 Jul 2003 13:57:20 +0000 (13:57 +0000)]
[project @ 2003-07-24 13:57:20 by simonmar]
Let's build genprimopcode when bootstrapping too.  There doesn't seem
to be an easy way around this.

20 years ago[project @ 2003-07-24 13:40:05 by simonmar]
simonmar [Thu, 24 Jul 2003 13:40:05 +0000 (13:40 +0000)]
[project @ 2003-07-24 13:40:05 by simonmar]
Fix for unregisterised bootstrapping

20 years ago[project @ 2003-07-24 12:19:56 by ralf]
ralf [Thu, 24 Jul 2003 12:20:00 +0000 (12:20 +0000)]
[project @ 2003-07-24 12:19:56 by ralf]
Major refactoring of Data/Generics.
This also affects the compiler (because of deriving issues).
This is an intermediate commit.
The library is supposed to compile fine.
But the deriving stuff for Data needs to be revised.
The testsuite for Data/Generics will not pass.
gread is broken at the moment.
So it is strongly recommended not to cvs upd for a few hours or a day.

Detailed description of changes:
- Split up Data/Dynamic into Data/Typeable and Data/Dynamic.
  (This makes clear what part is about TypeReps and cast vs.
   dynamics. The latter is not needed by Data/Generics.)
- Renamed Data/include/Dynamic.h -> Typeable.h to end confusion.
- Split up Data/Generics.hs in a set of modules.
- Revised class Data:
  - Got rid of gunfold but added fromConstr as more primtive one
  - Revised representations of constructors
  - Revised treatment of primitive types
- Revised type of gmapQ; preserved old gmapQ as gmapL
- Added a module Data/Types.hs for treatment of types as values.

This is going somewhere.

20 years ago[project @ 2003-07-24 11:57:48 by simonmar]
simonmar [Thu, 24 Jul 2003 11:57:48 +0000 (11:57 +0000)]
[project @ 2003-07-24 11:57:48 by simonmar]
Fixes to the hc-file-bundle target

20 years ago[project @ 2003-07-24 11:46:01 by simonmar]
simonmar [Thu, 24 Jul 2003 11:46:01 +0000 (11:46 +0000)]
[project @ 2003-07-24 11:46:01 by simonmar]
Only haskell98 and base libraries are needed to link the compiler.

20 years ago[project @ 2003-07-24 11:44:42 by simonmar]
simonmar [Thu, 24 Jul 2003 11:44:42 +0000 (11:44 +0000)]
[project @ 2003-07-24 11:44:42 by simonmar]
More BootingFromHc fixes

20 years ago[project @ 2003-07-24 11:03:07 by simonmar]
simonmar [Thu, 24 Jul 2003 11:03:07 +0000 (11:03 +0000)]
[project @ 2003-07-24 11:03:07 by simonmar]
- Move suffix rules from bootstrap.mk to suffix.mk
- Make the bootstrap suffix rules $(odir)-aware, so they work for the compiler

20 years ago[project @ 2003-07-24 10:47:05 by simonmar]
simonmar [Thu, 24 Jul 2003 10:47:05 +0000 (10:47 +0000)]
[project @ 2003-07-24 10:47:05 by simonmar]
Remove ancient/bogus booting-from-hc stuff.

20 years ago[project @ 2003-07-24 10:38:33 by simonmar]
simonmar [Thu, 24 Jul 2003 10:38:33 +0000 (10:38 +0000)]
[project @ 2003-07-24 10:38:33 by simonmar]
- Remove hslibs stuff (we don't need hslibs for bootstrapping now)
- Add libraries/unix/include to the -I list

20 years ago[project @ 2003-07-24 09:29:10 by simonmar]
simonmar [Thu, 24 Jul 2003 09:29:10 +0000 (09:29 +0000)]
[project @ 2003-07-24 09:29:10 by simonmar]
Set GhcWithInterpreter=NO in stage2

20 years ago[project @ 2003-07-24 07:45:09 by simonpj]
simonpj [Thu, 24 Jul 2003 07:45:09 +0000 (07:45 +0000)]
[project @ 2003-07-24 07:45:09 by simonpj]
Document deriving(Typeable,Data)

20 years ago[project @ 2003-07-24 07:44:21 by simonpj]
simonpj [Thu, 24 Jul 2003 07:44:21 +0000 (07:44 +0000)]
[project @ 2003-07-24 07:44:21 by simonpj]
Add cross refs

20 years ago[project @ 2003-07-24 07:38:54 by simonpj]
simonpj [Thu, 24 Jul 2003 07:38:54 +0000 (07:38 +0000)]
[project @ 2003-07-24 07:38:54 by simonpj]
For GHCi, a recent simplification in TcRnDrive.tc_stmts turned out to
be bogus. Briefly, we were returning *monomorphic* values from a user
stmt (e.g. "let f x y = x>y") when we should wrap the *polymorphic* values.

See the comment with mk_return in tc_stmts.

20 years ago[project @ 2003-07-23 16:19:48 by simonmar]
simonmar [Wed, 23 Jul 2003 16:19:48 +0000 (16:19 +0000)]
[project @ 2003-07-23 16:19:48 by simonmar]
There's no need to pass -u Main_zdmain_closure to the linker, indeed
this causes problems when there isn't a Main_zdmain_closure
(eg. linking a C program using GHC).

merge to STABLE

20 years ago[project @ 2003-07-23 15:42:24 by simonmar]
simonmar [Wed, 23 Jul 2003 15:42:24 +0000 (15:42 +0000)]
[project @ 2003-07-23 15:42:24 by simonmar]
PrimopWrappers hack no longer required.

20 years ago[project @ 2003-07-23 15:35:27 by simonmar]
simonmar [Wed, 23 Jul 2003 15:35:27 +0000 (15:35 +0000)]
[project @ 2003-07-23 15:35:27 by simonmar]
We don't need the MAKEFLAGS hack any more.

20 years ago[project @ 2003-07-23 15:31:06 by simonmar]
simonmar [Wed, 23 Jul 2003 15:31:06 +0000 (15:31 +0000)]
[project @ 2003-07-23 15:31:06 by simonmar]
Fix depend rule for BootingFromHc

20 years ago[project @ 2003-07-23 15:25:32 by simonmar]
simonmar [Wed, 23 Jul 2003 15:25:32 +0000 (15:25 +0000)]
[project @ 2003-07-23 15:25:32 by simonmar]
Something strange was going on with the depend rule and
$(STAMP_PKG_CONF); fix it.

20 years ago[project @ 2003-07-23 15:14:50 by simonmar]
simonmar [Wed, 23 Jul 2003 15:14:50 +0000 (15:14 +0000)]
[project @ 2003-07-23 15:14:50 by simonmar]
- no need for hacky delayed setting of UseGhcForCc
- fix AutoApply.hc rule when BootingFromHc=YES

20 years ago[project @ 2003-07-23 15:13:40 by simonmar]
simonmar [Wed, 23 Jul 2003 15:13:40 +0000 (15:13 +0000)]
[project @ 2003-07-23 15:13:40 by simonmar]
No need to test BootingFromHc (which won't be set yet) before setting
UseGhcForCc.

20 years ago[project @ 2003-07-23 15:12:55 by simonmar]
simonmar [Wed, 23 Jul 2003 15:12:55 +0000 (15:12 +0000)]
[project @ 2003-07-23 15:12:55 by simonmar]
Comment previous commit

20 years ago[project @ 2003-07-23 15:12:30 by simonmar]
simonmar [Wed, 23 Jul 2003 15:12:30 +0000 (15:12 +0000)]
[project @ 2003-07-23 15:12:30 by simonmar]
UseGhcForCc is only relevant when BootingFromHc=NO

20 years ago[project @ 2003-07-23 14:52:25 by simonmar]
simonmar [Wed, 23 Jul 2003 14:52:25 +0000 (14:52 +0000)]
[project @ 2003-07-23 14:52:25 by simonmar]
alpha*-unknown-linux ==> alpha*-unknown-linux*  (from Ian Lynagh)

20 years ago[project @ 2003-07-23 14:05:51 by simonmar]
simonmar [Wed, 23 Jul 2003 14:05:51 +0000 (14:05 +0000)]
[project @ 2003-07-23 14:05:51 by simonmar]
Always create directories for the .o file, not just when using the
compilation manager.

20 years ago[project @ 2003-07-23 13:39:11 by simonmar]
simonmar [Wed, 23 Jul 2003 13:39:11 +0000 (13:39 +0000)]
[project @ 2003-07-23 13:39:11 by simonmar]
Fix egregious bug in the unregisterised case for RET_N, which was
causing an unregisterised compiler to crash.

20 years ago[project @ 2003-07-23 13:08:55 by simonpj]
simonpj [Wed, 23 Jul 2003 13:08:55 +0000 (13:08 +0000)]
[project @ 2003-07-23 13:08:55 by simonpj]
Comments and cosmetics about dataTcOccs

20 years ago[project @ 2003-07-23 13:08:22 by simonpj]
simonpj [Wed, 23 Jul 2003 13:08:22 +0000 (13:08 +0000)]
[project @ 2003-07-23 13:08:22 by simonpj]
Comment case-alternative invariants

20 years ago[project @ 2003-07-23 11:44:24 by simonmar]
simonmar [Wed, 23 Jul 2003 11:44:24 +0000 (11:44 +0000)]
[project @ 2003-07-23 11:44:24 by simonmar]
forgot one file

20 years ago[project @ 2003-07-23 11:43:16 by simonmar]
simonmar [Wed, 23 Jul 2003 11:43:21 +0000 (11:43 +0000)]
[project @ 2003-07-23 11:43:16 by simonmar]
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!

20 years ago[project @ 2003-07-22 16:18:06 by simonmar]
simonmar [Tue, 22 Jul 2003 16:18:06 +0000 (16:18 +0000)]
[project @ 2003-07-22 16:18:06 by simonmar]
Commit an untested, but hopefully more workable and up-to-date version
of this script.

20 years ago[project @ 2003-07-22 16:11:26 by simonmar]
simonmar [Tue, 22 Jul 2003 16:11:26 +0000 (16:11 +0000)]
[project @ 2003-07-22 16:11:26 by simonmar]
Another cost-centre-restoring fix.  Restoring the cost centre in an
unboxed-tuple case alternative was using the wrong stack offset.

20 years ago[project @ 2003-07-22 14:51:50 by simonmar]
simonmar [Tue, 22 Jul 2003 14:51:50 +0000 (14:51 +0000)]
[project @ 2003-07-22 14:51:50 by simonmar]
When GhcUnregisterised=YES, we must tell genapply about it.

20 years ago[project @ 2003-07-22 14:24:57 by simonmar]
simonmar [Tue, 22 Jul 2003 14:24:57 +0000 (14:24 +0000)]
[project @ 2003-07-22 14:24:57 by simonmar]
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

20 years ago[project @ 2003-07-22 13:23:44 by simonmar]
simonmar [Tue, 22 Jul 2003 13:23:44 +0000 (13:23 +0000)]
[project @ 2003-07-22 13:23:44 by simonmar]
Oops, move include of stdlib.h after MachRegs.h, so that it comes
after register variable declarations.

20 years ago[project @ 2003-07-21 15:24:42 by simonmar]
simonmar [Mon, 21 Jul 2003 15:24:43 +0000 (15:24 +0000)]
[project @ 2003-07-21 15:24:42 by simonmar]
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.

20 years ago[project @ 2003-07-21 15:14:18 by ross]
ross [Mon, 21 Jul 2003 15:14:18 +0000 (15:14 +0000)]
[project @ 2003-07-21 15:14:18 by ross]
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

20 years ago[project @ 2003-07-21 15:05:54 by simonmar]
simonmar [Mon, 21 Jul 2003 15:05:54 +0000 (15:05 +0000)]
[project @ 2003-07-21 15:05:54 by simonmar]
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.

20 years ago[project @ 2003-07-21 14:50:32 by simonmar]
simonmar [Mon, 21 Jul 2003 14:50:32 +0000 (14:50 +0000)]
[project @ 2003-07-21 14:50:32 by simonmar]
Document that changing directories unloads all modules.

20 years ago[project @ 2003-07-21 14:33:19 by simonmar]
simonmar [Mon, 21 Jul 2003 14:33:19 +0000 (14:33 +0000)]
[project @ 2003-07-21 14:33:19 by simonmar]
: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.

20 years ago[project @ 2003-07-21 14:28:02 by simonmar]
simonmar [Mon, 21 Jul 2003 14:28:02 +0000 (14:28 +0000)]
[project @ 2003-07-21 14:28:02 by simonmar]
Comment out the warning about filenames not matching module names.

20 years ago[project @ 2003-07-21 11:45:47 by simonmar]
simonmar [Mon, 21 Jul 2003 11:45:49 +0000 (11:45 +0000)]
[project @ 2003-07-21 11:45:47 by simonmar]
Add support for the new AWAKEN_BQ_CLOSURE macro to the NCG.  Fixes
broken HEAD builds.

20 years ago[project @ 2003-07-21 11:06:22 by simonpj]
simonpj [Mon, 21 Jul 2003 11:06:22 +0000 (11:06 +0000)]
[project @ 2003-07-21 11:06:22 by simonpj]
More on rules and specialisations

20 years ago[project @ 2003-07-21 11:01:06 by simonmar]
simonmar [Mon, 21 Jul 2003 11:01:07 +0000 (11:01 +0000)]
[project @ 2003-07-21 11:01:06 by simonmar]
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 years ago[project @ 2003-07-20 21:28:04 by panne]
panne [Sun, 20 Jul 2003 21:28:04 +0000 (21:28 +0000)]
[project @ 2003-07-20 21:28:04 by panne]
Unbreak GHCi: Add stg_BLACKHOLE_BQ_info and awakenBlockedQueue to
RTS_SYMBOLS.

20 years ago[project @ 2003-07-20 16:33:24 by panne]
panne [Sun, 20 Jul 2003 16:33:26 +0000 (16:33 +0000)]
[project @ 2003-07-20 16:33:24 by panne]
To accomodate the Hugs package conversion magic, use separate
variables for OpenGL libraries and GLUT libraries.

20 years ago[project @ 2003-07-18 16:31:27 by simonmar]
simonmar [Fri, 18 Jul 2003 16:31:27 +0000 (16:31 +0000)]
[project @ 2003-07-18 16:31:27 by simonmar]
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.

20 years ago[project @ 2003-07-18 14:39:05 by simonmar]
simonmar [Fri, 18 Jul 2003 14:39:06 +0000 (14:39 +0000)]
[project @ 2003-07-18 14:39:05 by simonmar]
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.

20 years ago[project @ 2003-07-18 13:25:55 by simonmar]
simonmar [Fri, 18 Jul 2003 13:25:55 +0000 (13:25 +0000)]
[project @ 2003-07-18 13:25:55 by simonmar]
We don't need hacky filename comparisons in ppFilesFromSummaries now
that the real bug in SysTools has been fixed.

20 years ago[project @ 2003-07-18 13:18:06 by simonmar]
simonmar [Fri, 18 Jul 2003 13:18:07 +0000 (13:18 +0000)]
[project @ 2003-07-18 13:18:06 by simonmar]
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.

20 years ago[project @ 2003-07-18 12:55:06 by simonmar]
simonmar [Fri, 18 Jul 2003 12:55:06 +0000 (12:55 +0000)]
[project @ 2003-07-18 12:55:06 by simonmar]
oops, remove excess baggage in previous commit

20 years ago[project @ 2003-07-18 12:47:11 by simonmar]
simonmar [Fri, 18 Jul 2003 12:47:11 +0000 (12:47 +0000)]
[project @ 2003-07-18 12:47:11 by simonmar]
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).

20 years ago[project @ 2003-07-17 12:04:50 by simonmar]
simonmar [Thu, 17 Jul 2003 12:04:54 +0000 (12:04 +0000)]
[project @ 2003-07-17 12:04:50 by simonmar]
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).

20 years ago[project @ 2003-07-17 08:59:03 by simonmar]
simonmar [Thu, 17 Jul 2003 08:59:03 +0000 (08:59 +0000)]
[project @ 2003-07-17 08:59:03 by simonmar]
Update comments to match reality.

20 years ago[project @ 2003-07-16 17:40:38 by sof]
sof [Wed, 16 Jul 2003 17:40:39 +0000 (17:40 +0000)]
[project @ 2003-07-16 17:40:38 by sof]
- 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.

20 years ago[project @ 2003-07-16 15:27:36 by sof]
sof [Wed, 16 Jul 2003 15:27:36 +0000 (15:27 +0000)]
[project @ 2003-07-16 15:27:36 by sof]
ppFilesFromSummaries.toPpFile: make it clear that file paths are being eq-tested here

20 years ago[project @ 2003-07-16 13:33:55 by simonmar]
simonmar [Wed, 16 Jul 2003 13:33:55 +0000 (13:33 +0000)]
[project @ 2003-07-16 13:33:55 by simonmar]
Put a newline after showing an I/O error.

20 years ago[project @ 2003-07-16 13:13:50 by simonmar]
simonmar [Wed, 16 Jul 2003 13:13:50 +0000 (13:13 +0000)]
[project @ 2003-07-16 13:13:50 by simonmar]
Respect -odir in one-shot compilations.

20 years ago[project @ 2003-07-16 08:49:01 by ross]
ross [Wed, 16 Jul 2003 08:49:05 +0000 (08:49 +0000)]
[project @ 2003-07-16 08:49:01 by ross]
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|)

20 years ago[project @ 2003-07-15 13:33:24 by ross]
ross [Tue, 15 Jul 2003 13:33:25 +0000 (13:33 +0000)]
[project @ 2003-07-15 13:33:24 by ross]
Add extra functions operating on outsized tuples (used by the translation
of arrow notation).

20 years ago[project @ 2003-07-12 00:11:20 by sof]
sof [Sat, 12 Jul 2003 00:11:20 +0000 (00:11 +0000)]
[project @ 2003-07-12 00:11:20 by sof]
interruptible(): add missing BlockedOnDoProc case

20 years ago[project @ 2003-07-12 00:10:31 by sof]
sof [Sat, 12 Jul 2003 00:10:31 +0000 (00:10 +0000)]
[project @ 2003-07-12 00:10:31 by sof]
awaitRequests(): BlockedOnDelay threads not expected on blocked_queue

20 years ago[project @ 2003-07-12 00:09:15 by sof]
sof [Sat, 12 Jul 2003 00:09:15 +0000 (00:09 +0000)]
[project @ 2003-07-12 00:09:15 by sof]
unblockThread: barf() string wibble

20 years ago[project @ 2003-07-12 00:08:28 by sof]
sof [Sat, 12 Jul 2003 00:08:28 +0000 (00:08 +0000)]
[project @ 2003-07-12 00:08:28 by sof]
[win32]delay#: set why_blocked to BlockedOnDoProc since we're appending the thread to blocked_queue

20 years ago[project @ 2003-07-11 08:53:25 by simonpj]
simonpj [Fri, 11 Jul 2003 08:53:26 +0000 (08:53 +0000)]
[project @ 2003-07-11 08:53:25 by simonpj]
Fix the big-char-literal parsing issue in External Core, correctly this time

20 years ago[project @ 2003-07-10 08:16:54 by simonpj]
simonpj [Thu, 10 Jul 2003 08:16:54 +0000 (08:16 +0000)]
[project @ 2003-07-10 08:16:54 by simonpj]
Give a more sensible type to big character literals in ExtCore (but it still looks odd to me)

20 years ago[project @ 2003-07-10 08:12:04 by simonpj]
simonpj [Thu, 10 Jul 2003 08:12:04 +0000 (08:12 +0000)]
[project @ 2003-07-10 08:12:04 by simonpj]
External Core was ignore sign on rational