ghc-hetmet.git
20 years ago[project @ 2003-12-28 13:02:46 by panne]
panne [Sun, 28 Dec 2003 13:02:46 +0000 (13:02 +0000)]
[project @ 2003-12-28 13:02:46 by panne]
Warning police + a little cleanup of #ifdefs relating to execPage. Added two
TODOs on the way (an adjustor spanning two pages + calling initAdjustor at RTS
startup). Note that execPage is still disabled (why?).

20 years ago[project @ 2003-12-23 10:10:53 by simonmar]
simonmar [Tue, 23 Dec 2003 10:10:53 +0000 (10:10 +0000)]
[project @ 2003-12-23 10:10:53 by simonmar]
Add performMajorGC

20 years ago[project @ 2003-12-22 16:27:10 by simonmar]
simonmar [Mon, 22 Dec 2003 16:27:10 +0000 (16:27 +0000)]
[project @ 2003-12-22 16:27:10 by simonmar]
Fix threaded RTS problem that is currently causing the conc007 test to
loop indefinitely.  Comment from the source regarding this change:

/* Major bogosity:
 *
 * In the threaded RTS, we can't set the virtual timer because the
 * thread which has the virtual timer might be sitting waiting for a
 * capability, and the virtual timer only ticks in CPU time.
 *
 * So, possible solutions:
 *
 * (1) tick in realtime.  Not very good, because this ticker is used for
 *     profiling, and this will give us unreliable time profiling
 *     results.  Furthermore, this requires picking a single OS thread
 *     to be the timekeeper, which is a bad idea because the thread in
 *     question might just be making a temporary call into Haskell land.
 *
 * (2) save/restore the virtual timer around excursions into STG land.
 *     Sounds great, but I tried it and the resolution of the virtual timer
 *     isn't good enough (on Linux) - most of our excursions fall
 *     within the timer's resolution and we never make any progress.
 *
 * (3) have a virtual timer in every OS thread.  Might be reasonable,
 *     because most of the time there is only ever one of these
 *     threads running, so it approximates a single virtual timer.
 *     But still quite bogus (and I got crashes when I tried this).
 *
 * For now, we're using (1), but this needs a better solution. --SDM
 */

20 years ago[project @ 2003-12-19 10:41:14 by simonmar]
simonmar [Fri, 19 Dec 2003 10:41:14 +0000 (10:41 +0000)]
[project @ 2003-12-19 10:41:14 by simonmar]
Fix DEBUG & !RTS_SUPPORTS_THREADS build (bogus assertion failure)

20 years ago[project @ 2003-12-19 10:39:54 by simonpj]
simonpj [Fri, 19 Dec 2003 10:39:54 +0000 (10:39 +0000)]
[project @ 2003-12-19 10:39:54 by simonpj]
Accept unboxed tuples in type signatures

20 years ago[project @ 2003-12-19 10:34:51 by simonpj]
simonpj [Fri, 19 Dec 2003 10:34:52 +0000 (10:34 +0000)]
[project @ 2003-12-19 10:34:51 by simonpj]
---------------------------------------
  Precise locations for duplicate imports
  ---------------------------------------

As a displacment activity I added reporting for duplicate imports
And more precise locations for the imports themselves.  For example:

  module T where

  import Maybe (isJust,isJust)
  import Maybe (isJust)

gives

Foo.hs:
    Warning: `isJust' is imported more than once:
       imported from Maybe at Foo.hs:4:16-21
       imported from Maybe at Foo.hs:3:23-28
       imported from Maybe at Foo.hs:3:16-21

20 years ago[project @ 2003-12-18 21:37:56 by panne]
panne [Thu, 18 Dec 2003 21:37:56 +0000 (21:37 +0000)]
[project @ 2003-12-18 21:37:56 by panne]
Patch from Andres Loeh: Generate the *.raw-hs files with the inplace
GHC, otherwise one runs into a "fixed-point" problem where only
documentation known to the bootstrapping GHC could be built.

20 years ago[project @ 2003-12-18 21:34:31 by panne]
panne [Thu, 18 Dec 2003 21:34:31 +0000 (21:34 +0000)]
[project @ 2003-12-18 21:34:31 by panne]
Synched with latest changes in Hugs' aclocal.m4 (wglGetProcAddress
fiddling)

20 years ago[project @ 2003-12-18 13:29:23 by simonmar]
simonmar [Thu, 18 Dec 2003 13:29:23 +0000 (13:29 +0000)]
[project @ 2003-12-18 13:29:23 by simonmar]
Optimisation in awaitEvent(): reset the abandonRequestWait() signal if
it isn't needed (compensates for not using PulseEvent() in
abandonRequestWait(), see AsyncIO.c for details).

Code cleanup in awaitEvent(): don't test the various exit conditions twice.

20 years ago[project @ 2003-12-18 13:27:27 by simonmar]
simonmar [Thu, 18 Dec 2003 13:27:27 +0000 (13:27 +0000)]
[project @ 2003-12-18 13:27:27 by simonmar]
Fix some threaded RTS bugs:

 - in awaitRequests(), it was possible to return immediately even
   though wait was set to rtsTrue.  This lead to a busy wait loop,
   so I've disabled that case (see code for details).

 - using PulseEvent in abandonRequestWait() wasn't the right thing,
   because it exposed a race condition.  Again, see the comment in
   the code for details.

20 years ago[project @ 2003-12-18 12:24:59 by simonmar]
simonmar [Thu, 18 Dec 2003 12:24:59 +0000 (12:24 +0000)]
[project @ 2003-12-18 12:24:59 by simonmar]
Add missing 'continue' after 'passCapability'

20 years ago[project @ 2003-12-18 10:46:49 by simonmar]
simonmar [Thu, 18 Dec 2003 10:46:49 +0000 (10:46 +0000)]
[project @ 2003-12-18 10:46:49 by simonmar]
- make --disable-foo work for each of the --enable options
- tidyup: use AC_HELP_STRING everywhere

20 years ago[project @ 2003-12-18 09:55:17 by simonmar]
simonmar [Thu, 18 Dec 2003 09:55:17 +0000 (09:55 +0000)]
[project @ 2003-12-18 09:55:17 by simonmar]
no_glu is spelled no_GLU, and similarly for no_GLUT

20 years ago[project @ 2003-12-18 09:32:07 by simonmar]
simonmar [Thu, 18 Dec 2003 09:32:07 +0000 (09:32 +0000)]
[project @ 2003-12-18 09:32:07 by simonmar]
Undo part of previous merge: the HEAD doesn't export saved_termios (it
is accessed by functions in RtsStartup instead).

20 years ago[project @ 2003-12-17 17:29:28 by sof]
sof [Wed, 17 Dec 2003 17:29:28 +0000 (17:29 +0000)]
[project @ 2003-12-17 17:29:28 by sof]
merge rev. 1.106.2.3

20 years ago[project @ 2003-12-17 17:18:27 by sof]
sof [Wed, 17 Dec 2003 17:18:27 +0000 (17:18 +0000)]
[project @ 2003-12-17 17:18:27 by sof]
merge rev. 1.128.2.11

20 years ago[project @ 2003-12-17 12:17:18 by simonmar]
simonmar [Wed, 17 Dec 2003 12:17:18 +0000 (12:17 +0000)]
[project @ 2003-12-17 12:17:18 by simonmar]
Fix up following changes to the Capability API.  (strange, I'm *sure*
I tested this stuff...)

20 years ago[project @ 2003-12-17 11:43:13 by simonpj]
simonpj [Wed, 17 Dec 2003 11:43:13 +0000 (11:43 +0000)]
[project @ 2003-12-17 11:43:13 by simonpj]
---------------------------------
  Gate in a few more instance decls
  ---------------------------------

When we have
instance T a where...

we need to suck in the instance decl rather more aggressively than we
were.  (A case I hadn't thought of because it only happens with
undecideable instances.)

20 years ago[project @ 2003-12-17 11:29:40 by simonpj]
simonpj [Wed, 17 Dec 2003 11:29:42 +0000 (11:29 +0000)]
[project @ 2003-12-17 11:29:40 by simonpj]
-----------------------------------------------------
  Fix a subtle loop in the context-reduction machinery
  ----------------------------------------------------

This bug was provoked by a recent change: when trying to prove
a constraint C, TcSimplify.reduce now adds C to the database before
trying to prove C, thus building recursive dictionaries.

Two bugs
a) If we add C's superclasses (which we were) we can now build a
   bogusly-recursive dictionary (see Note [SUPERCLASS-LOOP]).
   Solution: in reduce, add C only (via addIrred NoSCs) and then
   later use addWanted to add its definition plus SCs.

b) Since we can have recursive definitions, the superclass-loop
   handling machinery (findAllDeps) must carry its visited-set
   with it (which it was not doing before)

The main file is TcSimplify; but I modified a bunch of others to
take advantage of new function extendVarSetList

20 years ago[project @ 2003-12-17 08:38:14 by panne]
panne [Wed, 17 Dec 2003 08:38:14 +0000 (08:38 +0000)]
[project @ 2003-12-17 08:38:14 by panne]
To get wglGetProcAddress on Windows, we have to link with
opengl32.dll, too, even when we are using Cygwin with X11.

20 years ago[project @ 2003-12-16 16:24:55 by simonpj]
simonpj [Tue, 16 Dec 2003 16:25:16 +0000 (16:25 +0000)]
[project @ 2003-12-16 16:24:55 by simonpj]
--------------------
Towards type splices
--------------------

Starts the move to supporting type splices, by making
HsExpr.HsSplice a separate type of its own, and adding
HsSpliceTy constructor to HsType.

20 years ago[project @ 2003-12-16 16:24:42 by simonpj]
simonpj [Tue, 16 Dec 2003 16:24:42 +0000 (16:24 +0000)]
[project @ 2003-12-16 16:24:42 by simonpj]
Trim exports

20 years ago[project @ 2003-12-16 16:24:24 by simonpj]
simonpj [Tue, 16 Dec 2003 16:24:24 +0000 (16:24 +0000)]
[project @ 2003-12-16 16:24:24 by simonpj]
Typo in comment

20 years ago[project @ 2003-12-16 16:23:25 by simonpj]
simonpj [Tue, 16 Dec 2003 16:23:25 +0000 (16:23 +0000)]
[project @ 2003-12-16 16:23:25 by simonpj]
Fix newtype deriving for Enum

20 years ago[project @ 2003-12-16 16:21:42 by simonpj]
simonpj [Tue, 16 Dec 2003 16:21:42 +0000 (16:21 +0000)]
[project @ 2003-12-16 16:21:42 by simonpj]
Remove unused parameter to groupAvails

20 years ago[project @ 2003-12-16 16:19:29 by simonpj]
simonpj [Tue, 16 Dec 2003 16:19:29 +0000 (16:19 +0000)]
[project @ 2003-12-16 16:19:29 by simonpj]
Dont report bindings beginning with _ as unused

20 years ago[project @ 2003-12-16 16:19:04 by simonpj]
simonpj [Tue, 16 Dec 2003 16:19:04 +0000 (16:19 +0000)]
[project @ 2003-12-16 16:19:04 by simonpj]
Rule selection test was exactly backwards

20 years ago[project @ 2003-12-16 16:18:08 by simonpj]
simonpj [Tue, 16 Dec 2003 16:18:08 +0000 (16:18 +0000)]
[project @ 2003-12-16 16:18:08 by simonpj]
Clarify newtype deriving documentation

20 years ago[project @ 2003-12-16 16:17:49 by simonpj]
simonpj [Tue, 16 Dec 2003 16:17:49 +0000 (16:17 +0000)]
[project @ 2003-12-16 16:17:49 by simonpj]
Clarify warn-unused-bindings documention

20 years ago[project @ 2003-12-16 14:27:31 by simonpj]
simonpj [Tue, 16 Dec 2003 14:27:31 +0000 (14:27 +0000)]
[project @ 2003-12-16 14:27:31 by simonpj]
comments only

20 years ago[project @ 2003-12-16 13:27:31 by simonmar]
simonmar [Tue, 16 Dec 2003 13:27:32 +0000 (13:27 +0000)]
[project @ 2003-12-16 13:27:31 by simonmar]
Clean up Capability API
~~~~~~~~~~~~~~~~~~~~~~~

- yieldToReturningWorker() is now yieldCapability(), and performs all
  kinds of yielding (both to returning workers and passing to other
  OS threads).  yieldCapabiltiy() does *not* re-acquire a capability.

- waitForWorkCapabilty() is now waitForCapability().

- releaseCapbility() also releases the capability when passing to
  another OS thread.  It is the only way to release a capability (apart
  from yieldCapability(), which calls releaseCapability() internally).

- passCapability() and passCapabilityToWorker() now do not release the
  capability.  They just set a flag to indicate where the capabiliy
  should go when it it next released.

Other cleanups:

  - Removed all the SMP stuff from Schedule.c.  It had extensive bitrot,
    and was just obfuscating the code.  If it is ever needed again,
    it can be resurrected from CVS.

  - Removed some other dead code in Schedule.c, in an attempt to make
    this file more manageable.

20 years ago[project @ 2003-12-16 13:19:01 by simonmar]
simonmar [Tue, 16 Dec 2003 13:19:13 +0000 (13:19 +0000)]
[project @ 2003-12-16 13:19:01 by simonmar]
ANSIfy

20 years ago[project @ 2003-12-15 16:45:23 by simonmar]
simonmar [Mon, 15 Dec 2003 16:45:23 +0000 (16:45 +0000)]
[project @ 2003-12-15 16:45:23 by simonmar]
Add assertion.

20 years ago[project @ 2003-12-15 16:43:45 by simonmar]
simonmar [Mon, 15 Dec 2003 16:43:45 +0000 (16:43 +0000)]
[project @ 2003-12-15 16:43:45 by simonmar]
Debugging output wibble

20 years ago[project @ 2003-12-15 16:23:54 by simonmar]
simonmar [Mon, 15 Dec 2003 16:23:54 +0000 (16:23 +0000)]
[project @ 2003-12-15 16:23:54 by simonmar]
Fix a deadlock: an OS thread returning from a C call could enter
grabReturnCapability, grabbing the capability that was in the process
of being passed to another thread via passCapability.  This leads to a
deadlock shortly afterward, because the passCapability flag is still
set, so a normal worker won't pick up the capability when it is
released.

Fix (not sure if this is the best fix, though): don't grab the
capability in grabReturnCapability() if passCapabilty is set.

20 years ago[project @ 2003-12-15 14:31:48 by simonmar]
simonmar [Mon, 15 Dec 2003 14:31:48 +0000 (14:31 +0000)]
[project @ 2003-12-15 14:31:48 by simonmar]
Fix locking bug in awaitEvent(): in one code path it could return with
sched_lock unlocked.

20 years ago[project @ 2003-12-15 14:28:39 by simonmar]
simonmar [Mon, 15 Dec 2003 14:28:39 +0000 (14:28 +0000)]
[project @ 2003-12-15 14:28:39 by simonmar]
Fix bogosity in implementation of ACQUIRE_LOCK/RELEASE_LOCK on Win32.
These functions were essentially doing nothing, due to a missing
dereference on the argument.

I've rewritten them as inlines (to catch type errors) and added some
checking of the return values, which should help catch errors like
this in the future.

20 years ago[project @ 2003-12-12 16:35:19 by simonmar]
simonmar [Fri, 12 Dec 2003 16:35:21 +0000 (16:35 +0000)]
[project @ 2003-12-12 16:35:19 by simonmar]
Tidyup:

  - make debugging output from the scheduler more consistent,
    especially for the threaded RTS.

  - a few style fixes

20 years ago[project @ 2003-12-11 11:24:17 by simonmar]
simonmar [Thu, 11 Dec 2003 11:24:17 +0000 (11:24 +0000)]
[project @ 2003-12-11 11:24:17 by simonmar]
parser/Parser.y needs to be in EXTRA_SRCS, because the build system
can't find it otherwise.

20 years ago[project @ 2003-12-11 11:23:24 by simonmar]
simonmar [Thu, 11 Dec 2003 11:23:24 +0000 (11:23 +0000)]
[project @ 2003-12-11 11:23:24 by simonmar]
Hacking in the .pp suffix rule: leave #include directives in place.

20 years ago[project @ 2003-12-11 09:36:46 by simonmar]
simonmar [Thu, 11 Dec 2003 09:36:46 +0000 (09:36 +0000)]
[project @ 2003-12-11 09:36:46 by simonmar]
Add +RTS -K2m to SRC_HAPPY_OPTS, to work around perf. problems in the HEAD.

20 years ago[project @ 2003-12-10 17:35:48 by simonmar]
simonmar [Wed, 10 Dec 2003 17:35:48 +0000 (17:35 +0000)]
[project @ 2003-12-10 17:35:48 by simonmar]
oops, forgot a reverse

20 years ago[project @ 2003-12-10 17:29:26 by simonmar]
simonmar [Wed, 10 Dec 2003 17:29:26 +0000 (17:29 +0000)]
[project @ 2003-12-10 17:29:26 by simonmar]
Fix syntax error

20 years ago[project @ 2003-12-10 17:25:12 by simonmar]
simonmar [Wed, 10 Dec 2003 17:25:18 +0000 (17:25 +0000)]
[project @ 2003-12-10 17:25:12 by simonmar]
Cleanups:

- Move the collect* functions from HsSyn into HsUtils.  Check that we
  have a clean separation of utilties over HsSyn, with the generic
  versions in HsUtils, and the specific versions in RdrHsSyn, RnHsSyn
  and TcHsSyn as appropriate.

- Remove the RdrBinding data type, which was really just a nested list
  with O(1) append, and use OrdList instead.  This makes it much clearer
  that there's nothing strange going on.

- Various other minor cleanups.

20 years ago[project @ 2003-12-10 17:15:44 by simonmar]
simonmar [Wed, 10 Dec 2003 17:15:44 +0000 (17:15 +0000)]
[project @ 2003-12-10 17:15:44 by simonmar]
fix bogosity spotted by -Wall

20 years ago[project @ 2003-12-10 14:21:36 by simonmar]
simonmar [Wed, 10 Dec 2003 14:21:36 +0000 (14:21 +0000)]
[project @ 2003-12-10 14:21:36 by simonmar]
New file of miscellaneous utility functions over HsSyn.

20 years ago[project @ 2003-12-10 14:15:16 by simonmar]
simonmar [Wed, 10 Dec 2003 14:15:38 +0000 (14:15 +0000)]
[project @ 2003-12-10 14:15:16 by simonmar]
Add accurate source location annotations to HsSyn
-------------------------------------------------

Every syntactic entity in HsSyn is now annotated with a SrcSpan, which
details the exact beginning and end points of that entity in the
original source file.  All honest compilers should do this, and it was
about time GHC did the right thing.

The most obvious benefit is that we now have much more accurate error
messages; when running GHC inside emacs for example, the cursor will
jump to the exact location of an error, not just a line somewhere
nearby.  We haven't put a huge amount of effort into making sure all
the error messages are accurate yet, so there could be some tweaking
still needed, although the majority of messages I've seen have been
spot-on.

Error messages now contain a column number in addition to the line
number, eg.

   read001.hs:25:10: Variable not in scope: `+#'

To get the full text span info, use the new option -ferror-spans.  eg.

   read001.hs:25:10-11: Variable not in scope: `+#'

I'm not sure whether we should do this by default.  Emacs won't
understand the new error format, for one thing.

In a more elaborate editor setting (eg. Visual Studio), we can arrange
to actually highlight the subexpression containing an error.  Eventually
this information will be used so we can find elements in the abstract
syntax corresponding to text locations, for performing high-level editor
functions (eg. "tell me the type of this expression I just highlighted").

Performance of the compiler doesn't seem to be adversely affected.
Parsing is still quicker than in 6.0.1, for example.

Implementation:

This was an excrutiatingly painful change to make: both Simon P.J. and
myself have been working on it for the last three weeks or so.  The
basic changes are:

 - a new datatype SrcSpan, which represents a beginning and end position
   in a source file.

 - To reduce the pain as much as possible, we also defined:

      data Located e = L SrcSpan e

 - Every datatype in HsSyn has an equivalent Located version.  eg.

      type LHsExpr id = Located (HsExpr id)

   and pretty much everywhere we used to use HsExpr we now use
   LHsExpr.  Believe me, we thought about this long and hard, and
   all the other options were worse :-)

Additional changes/cleanups we made at the same time:

  - The abstract syntax for bindings is now less arcane.  MonoBinds
    and HsBinds with their built-in list constructors have gone away,
    replaced by HsBindGroup and HsBind (see HsSyn/HsBinds.lhs).

  - The various HsSyn type synonyms have now gone away (eg. RdrNameHsExpr,
    RenamedHsExpr, and TypecheckedHsExpr are now HsExpr RdrName,
    HsExpr Name, and HsExpr Id respectively).

  - Utilities over HsSyn are now collected in a new module HsUtils.
    More stuff still needs to be moved in here.

  - MachChar now has a real Char instead of an Int.  All GHC versions that
    can compile GHC now support 32-bit Chars, so this was a simplification.

20 years ago[project @ 2003-12-10 11:35:24 by wolfgang]
wolfgang [Wed, 10 Dec 2003 11:35:26 +0000 (11:35 +0000)]
[project @ 2003-12-10 11:35:24 by wolfgang]
PowerPC Linux support for registerised compilation and native code
generation. (object splitting and GHCi are still unsupported).

Code for other platforms is not affected, so MERGE TO STABLE.

20 years ago[project @ 2003-12-10 10:12:13 by wolfgang]
wolfgang [Wed, 10 Dec 2003 10:12:13 +0000 (10:12 +0000)]
[project @ 2003-12-10 10:12:13 by wolfgang]
PowerPC NCG bugfix: 2-byte data objects should be .short, not .byte

MERGE TO STABLE

20 years ago[project @ 2003-12-09 15:48:08 by simonmar]
simonmar [Tue, 9 Dec 2003 15:48:08 +0000 (15:48 +0000)]
[project @ 2003-12-09 15:48:08 by simonmar]
Add note about -all_load instead of --whole-archive on MacOS X.

20 years ago[project @ 2003-12-06 18:27:37 by panne]
panne [Sat, 6 Dec 2003 18:27:37 +0000 (18:27 +0000)]
[project @ 2003-12-06 18:27:37 by panne]
Fixed typo in OpenAL handling.

20 years ago[project @ 2003-12-06 18:24:05 by panne]
panne [Sat, 6 Dec 2003 18:24:07 +0000 (18:24 +0000)]
[project @ 2003-12-06 18:24:05 by panne]
Completely overhauled OpenGL/GLUT detection magic, making things more
modular. Removed support for Mesa and non-HW-accelerated support on
Windoze. Added initial support for handling missing glut.h header on
MinGW/MSYS (to be completed). Tested on Cygwin (plain, -mno-cygwin,
--without-x), MSYS/MinGW and SuSE 8.2 x86 Linux.

20 years ago[project @ 2003-12-05 09:50:39 by stolz]
stolz [Fri, 5 Dec 2003 09:50:39 +0000 (09:50 +0000)]
[project @ 2003-12-05 09:50:39 by stolz]
Use tso->id instead of tso as index to thread lables (tsos get relocated).

Please merge

20 years ago[project @ 2003-12-02 19:16:41 by panne]
panne [Tue, 2 Dec 2003 19:16:44 +0000 (19:16 +0000)]
[project @ 2003-12-02 19:16:41 by panne]
Added the first pieces of an OpenAL binding which has been of my disk for quite
a while. Note that it is built by default when a usable OpenAL library is found,
but this could be disabled via --disable-openal on the configure commandline.
Similar behaviour should probably be the default for all optional libraries.
Note that I have created a new hierarchy rooted at "Sound", the existing
hierarchies didn't fit.

20 years ago[project @ 2003-11-28 13:13:35 by simonmar]
simonmar [Fri, 28 Nov 2003 13:13:35 +0000 (13:13 +0000)]
[project @ 2003-11-28 13:13:35 by simonmar]
typo

20 years ago[project @ 2003-11-28 10:55:59 by simonmar]
simonmar [Fri, 28 Nov 2003 10:55:59 +0000 (10:55 +0000)]
[project @ 2003-11-28 10:55:59 by simonmar]
Wibbles to the UNPACK docs.

20 years ago[project @ 2003-11-27 15:18:11 by ross]
ross [Thu, 27 Nov 2003 15:18:11 +0000 (15:18 +0000)]
[project @ 2003-11-27 15:18:11 by ross]
fix typo

20 years ago[project @ 2003-11-27 13:27:11 by simonmar]
simonmar [Thu, 27 Nov 2003 13:27:11 +0000 (13:27 +0000)]
[project @ 2003-11-27 13:27:11 by simonmar]
Document UNPACK pragma

20 years ago[project @ 2003-11-27 13:26:38 by simonmar]
simonmar [Thu, 27 Nov 2003 13:26:39 +0000 (13:26 +0000)]
[project @ 2003-11-27 13:26:38 by simonmar]
On reflection, using the '!!' prefix for unboxing a constructor field
was a mistake:  firstly it has to be written '! !', and secondly it
isn't backwards-compatible.  So instead, we now use the syntax:

   data T = T {-# UNPACK #-} !Int

to unbox a field.  We thought this would be a cute reuse of the UNPACK
pragma.

The effect of -funbox-strict-fields is to add {-# UNPACK #-} to every
strict field.

20 years ago[project @ 2003-11-27 11:08:06 by simonmar]
simonmar [Thu, 27 Nov 2003 11:08:06 +0000 (11:08 +0000)]
[project @ 2003-11-27 11:08:06 by simonmar]
Fix syntax error

20 years ago[project @ 2003-11-27 09:30:54 by simonmar]
simonmar [Thu, 27 Nov 2003 09:30:54 +0000 (09:30 +0000)]
[project @ 2003-11-27 09:30:54 by simonmar]
Having tightened up GHC's syntax w.r.t. Haskell 98, it appears that
GHC itself was making use of the more lax syntax.

20 years ago[project @ 2003-11-26 12:14:26 by simonmar]
simonmar [Wed, 26 Nov 2003 12:14:26 +0000 (12:14 +0000)]
[project @ 2003-11-26 12:14:26 by simonmar]
Fix a rare bug in compacting GC, related to eval_thunk_selector().  This
might be the cause of the "Closure type 0" bug in SourceForge.

20 years ago[project @ 2003-11-26 10:07:19 by simonmar]
simonmar [Wed, 26 Nov 2003 10:07:19 +0000 (10:07 +0000)]
[project @ 2003-11-26 10:07:19 by simonmar]
Haskell 98 doesn't allow extra commas in record construction/update,
so neither should GHC.

20 years ago[project @ 2003-11-21 09:09:09 by simonpj]
simonpj [Fri, 21 Nov 2003 09:09:09 +0000 (09:09 +0000)]
[project @ 2003-11-21 09:09:09 by simonpj]
Add a note about avoiding trailing spaces in CVSROOT

20 years ago[project @ 2003-11-18 11:57:29 by simonpj]
simonpj [Tue, 18 Nov 2003 11:57:29 +0000 (11:57 +0000)]
[project @ 2003-11-18 11:57:29 by simonpj]
Add notes about windows build, esp the need for automake

20 years ago[project @ 2003-11-18 09:26:36 by simonmar]
simonmar [Tue, 18 Nov 2003 09:26:36 +0000 (09:26 +0000)]
[project @ 2003-11-18 09:26:36 by simonmar]
Restore a couple of functions that are used in ASSERTs.

20 years ago[project @ 2003-11-18 09:23:27 by simonmar]
simonmar [Tue, 18 Nov 2003 09:23:27 +0000 (09:23 +0000)]
[project @ 2003-11-18 09:23:27 by simonmar]
oops, fix overenthusiastic export-culling (noCCAttached is used in an ASSERT).

20 years ago[project @ 2003-11-17 14:47:52 by simonmar]
simonmar [Mon, 17 Nov 2003 14:47:53 +0000 (14:47 +0000)]
[project @ 2003-11-17 14:47:52 by simonmar]
GC dead code and export list entries.

20 years ago[project @ 2003-11-17 14:45:17 by simonmar]
simonmar [Mon, 17 Nov 2003 14:45:17 +0000 (14:45 +0000)]
[project @ 2003-11-17 14:45:17 by simonmar]
GC dead code.

20 years ago[project @ 2003-11-17 14:44:47 by simonmar]
simonmar [Mon, 17 Nov 2003 14:44:47 +0000 (14:44 +0000)]
[project @ 2003-11-17 14:44:47 by simonmar]
GC export list.

20 years ago[project @ 2003-11-17 14:44:07 by simonmar]
simonmar [Mon, 17 Nov 2003 14:44:07 +0000 (14:44 +0000)]
[project @ 2003-11-17 14:44:07 by simonmar]
GC dead code.

20 years ago[project @ 2003-11-17 14:43:22 by simonmar]
simonmar [Mon, 17 Nov 2003 14:43:22 +0000 (14:43 +0000)]
[project @ 2003-11-17 14:43:22 by simonmar]
GC export list.

20 years ago[project @ 2003-11-17 14:41:58 by simonmar]
simonmar [Mon, 17 Nov 2003 14:42:47 +0000 (14:42 +0000)]
[project @ 2003-11-17 14:41:58 by simonmar]
GC dead code.

20 years ago[project @ 2003-11-17 14:41:32 by simonmar]
simonmar [Mon, 17 Nov 2003 14:41:32 +0000 (14:41 +0000)]
[project @ 2003-11-17 14:41:32 by simonmar]
GC export list.

20 years ago[project @ 2003-11-17 14:41:03 by simonmar]
simonmar [Mon, 17 Nov 2003 14:41:03 +0000 (14:41 +0000)]
[project @ 2003-11-17 14:41:03 by simonmar]
Add an export list; GC dead code.

20 years ago[project @ 2003-11-17 14:40:33 by simonmar]
simonmar [Mon, 17 Nov 2003 14:40:33 +0000 (14:40 +0000)]
[project @ 2003-11-17 14:40:33 by simonmar]
GC export list.

20 years ago[project @ 2003-11-17 14:38:22 by simonmar]
simonmar [Mon, 17 Nov 2003 14:38:22 +0000 (14:38 +0000)]
[project @ 2003-11-17 14:38:22 by simonmar]
GC dead code.

20 years ago[project @ 2003-11-17 14:31:55 by simonmar]
simonmar [Mon, 17 Nov 2003 14:31:55 +0000 (14:31 +0000)]
[project @ 2003-11-17 14:31:55 by simonmar]
GC dead code.

20 years ago[project @ 2003-11-17 14:28:49 by simonmar]
simonmar [Mon, 17 Nov 2003 14:28:49 +0000 (14:28 +0000)]
[project @ 2003-11-17 14:28:49 by simonmar]
GC dead code.

20 years ago[project @ 2003-11-17 14:23:30 by simonmar]
simonmar [Mon, 17 Nov 2003 14:23:39 +0000 (14:23 +0000)]
[project @ 2003-11-17 14:23:30 by simonmar]
GC some dead code.  In some places, I left useful-looking but
currently unused definitions in place, surrounded by #ifdef UNUSED
... #endif.

20 years ago[project @ 2003-11-16 11:42:34 by panne]
panne [Sun, 16 Nov 2003 11:42:35 +0000 (11:42 +0000)]
[project @ 2003-11-16 11:42:34 by panne]
* Cleaned up test for GTK_CONFIG
* Nuked unused GTK_VERSION

20 years ago[project @ 2003-11-15 19:51:17 by panne]
panne [Sat, 15 Nov 2003 19:51:18 +0000 (19:51 +0000)]
[project @ 2003-11-15 19:51:17 by panne]
Some steps towards decoupling the OpenGL and GLUT packages

20 years ago[project @ 2003-11-15 19:37:13 by panne]
panne [Sat, 15 Nov 2003 19:37:15 +0000 (19:37 +0000)]
[project @ 2003-11-15 19:37:13 by panne]
Cleaned up the mechanism for building the unix package

20 years ago[project @ 2003-11-15 19:15:16 by panne]
panne [Sat, 15 Nov 2003 19:15:18 +0000 (19:15 +0000)]
[project @ 2003-11-15 19:15:16 by panne]
For consistency reasons, rename HaveReadlineHeaders to GhcLibsWithReadline

20 years ago[project @ 2003-11-14 17:30:54 by simonmar]
simonmar [Fri, 14 Nov 2003 17:30:54 +0000 (17:30 +0000)]
[project @ 2003-11-14 17:30:54 by simonmar]
This file was used once; it isn't now.

20 years ago[project @ 2003-11-14 14:28:07 by stolz]
stolz [Fri, 14 Nov 2003 14:28:08 +0000 (14:28 +0000)]
[project @ 2003-11-14 14:28:07 by stolz]
Revert previous commit on request

20 years ago[project @ 2003-11-14 13:44:11 by simonpj]
simonpj [Fri, 14 Nov 2003 13:44:11 +0000 (13:44 +0000)]
[project @ 2003-11-14 13:44:11 by simonpj]
Remove redundant hi-boot files

20 years ago[project @ 2003-11-14 09:27:00 by stolz]
stolz [Fri, 14 Nov 2003 09:27:02 +0000 (09:27 +0000)]
[project @ 2003-11-14 09:27:00 by stolz]
Style police: Remove C++-style comments

20 years ago[project @ 2003-11-13 15:03:20 by simonpj]
simonpj [Thu, 13 Nov 2003 15:03:22 +0000 (15:03 +0000)]
[project @ 2003-11-13 15:03:20 by simonpj]
Maintain renaming envt during tyepcheck, so we can rename a splice

20 years ago[project @ 2003-11-13 15:02:53 by simonpj]
simonpj [Thu, 13 Nov 2003 15:02:53 +0000 (15:02 +0000)]
[project @ 2003-11-13 15:02:53 by simonpj]
Stop after renaming if errors are found in TH

20 years ago[project @ 2003-11-13 15:02:25 by simonpj]
simonpj [Thu, 13 Nov 2003 15:02:25 +0000 (15:02 +0000)]
[project @ 2003-11-13 15:02:25 by simonpj]
Improve type pretty-printer

20 years ago[project @ 2003-11-13 15:01:53 by simonpj]
simonpj [Thu, 13 Nov 2003 15:01:53 +0000 (15:01 +0000)]
[project @ 2003-11-13 15:01:53 by simonpj]
Check for class op that omits the class tyvar

20 years ago[project @ 2003-11-12 17:49:05 by sof]
sof [Wed, 12 Nov 2003 17:49:11 +0000 (17:49 +0000)]
[project @ 2003-11-12 17:49:05 by sof]
Tweaks to have RTS (C) sources compile with MSVC. Apart from wibbles
related to the handling of 'inline', changed Schedule.h:POP_RUN_QUEUE()
not to use expression-level statement blocks.

20 years ago[project @ 2003-11-12 17:27:00 by sof]
sof [Wed, 12 Nov 2003 17:27:06 +0000 (17:27 +0000)]
[project @ 2003-11-12 17:27:00 by sof]
Tidy up a couple of unportable coding issues:

- conditionally use empty structs.
- use GNU attributes only if supported.
- 'long long' usage
- use of 'inline' in declarations and definitions.

Upshot of these changes is that MSVC is now capable of compiling
the non-.hc portions of the RTS.

20 years ago[project @ 2003-11-12 17:18:48 by sof]
sof [Wed, 12 Nov 2003 17:18:49 +0000 (17:18 +0000)]
[project @ 2003-11-12 17:18:48 by sof]
FP_EMPTY_STRUCTS: empty struct feature test

20 years ago[project @ 2003-11-12 17:18:05 by sof]
sof [Wed, 12 Nov 2003 17:18:05 +0000 (17:18 +0000)]
[project @ 2003-11-12 17:18:05 by sof]
win32: Support for explicitly setting the execute bit
on pages containing code that we generate. Not yet enabled.

Starting with SP2, Windows XP will honour newer x86 CPUs
that lets you distinguish between readable and
readable-executable pages.

20 years ago[project @ 2003-11-12 15:45:49 by sof]
sof [Wed, 12 Nov 2003 15:45:49 +0000 (15:45 +0000)]
[project @ 2003-11-12 15:45:49 by sof]
ocResolve_PEi386(): improve(&flush) warning re: overflown relocation field.

merge to stable

20 years ago[project @ 2003-11-12 14:54:32 by simonmar]
simonmar [Wed, 12 Nov 2003 14:54:32 +0000 (14:54 +0000)]
[project @ 2003-11-12 14:54:32 by simonmar]
oops, committed wrong version of this file

20 years ago[project @ 2003-11-12 14:44:17 by simonmar]
simonmar [Wed, 12 Nov 2003 14:44:17 +0000 (14:44 +0000)]
[project @ 2003-11-12 14:44:17 by simonmar]
Add the ISO 8859-1 non-breaking space character '\xa0' to the list of
characters recognised as whitespace.

20 years ago[project @ 2003-11-11 16:45:52 by simonmar]
simonmar [Tue, 11 Nov 2003 16:45:52 +0000 (16:45 +0000)]
[project @ 2003-11-11 16:45:52 by simonmar]
libraries.html is now libraries/index.html