ghc-hetmet.git
23 years ago[project @ 2000-06-13 15:35:29 by sof]
sof [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by sof]
PPC updates

23 years ago[project @ 2000-06-13 15:35:29 by sof]
sof [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by sof]
On mingw32, which is the only 'platform' where we support producing
DLLs, prefix each static closure with a zero word. This is needed so
that we can distinguish between pointers to (reversed!) info tables
and static closures just by checking whether there's a zero word just
above the pointed-to entity. Wish there was a better way..

23 years ago[project @ 2000-06-13 15:35:29 by sof]
sof [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by sof]
HPUX fix to allow non-empty consistency chunks pass through OK

23 years ago[project @ 2000-06-13 15:35:29 by sof]
sof [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by sof]
Groks output from cygwin32-gcc

23 years ago[project @ 2000-06-13 15:35:29 by sof]
sof [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by sof]
Fixed consist pattern for cygwin32

23 years ago[project @ 2000-06-13 15:35:29 by sof]
sof [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by sof]
- include mingw32 in the list of x86 platforms supported.
- weed out ecoff debug information.

23 years ago[project @ 2000-06-13 15:35:29 by simonpj]
simonpj [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonpj]
More small changes towards 2.02

23 years ago[project @ 2000-06-13 15:35:29 by simonmar]
simonmar [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonmar]
put SRTs in the text section.

23 years ago[project @ 2000-06-13 15:35:29 by simonmar]
simonmar [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonmar]
gcc 2.95 on Sparc changed the assembly output slightly.  This should
fix it.

23 years ago[project @ 2000-06-13 15:35:29 by simonmar]
simonmar [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonmar]
freebsd3 ==> freebsd

23 years ago[project @ 2000-06-13 15:35:29 by simonmar]
simonmar [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonmar]
Push directives over literal chunks when attempting to move them to
the following chunk on x86.  Occasionally gcc generates a .glob
directive some distance before the symbol it refers to, and we were
ending up with a whole load of .glob directives attached to strings,
and duplicated in each .o file when splitting.

This change reduces the size of my libHSstd_p.a from 43M (!!!) to 9M.
I think this problem must have appeared with gcc 2.95.2, but it's a
little strange that I didn't notice it until now.

23 years ago[project @ 2000-06-13 15:35:29 by simonmar]
simonmar [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonmar]
Oops, back out most of last revision.  Other changes crept in by mistake.

23 years ago[project @ 2000-06-13 15:35:29 by simonmar]
simonmar [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonmar]
Make object file splitting simpler, in preparation for conversion to
the new driver.

The "inject split markers" phase is now omitted, instead we generate
the split markers directly.

Driver: also removed now-defunct -fpedantic-bottoms flag.

23 years ago[project @ 2000-06-13 15:35:29 by simonmar]
simonmar [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonmar]
Fix a bug in previous commit, some .globls were getting thrown away.

23 years ago[project @ 2000-06-13 15:35:29 by simonmar]
simonmar [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonmar]
Fix -monly-3-regs problem.

23 years ago[project @ 2000-06-13 15:35:29 by simonmar]
simonmar [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonmar]
Crude allocation-counting extension to ticky-ticky profiling.

Allocations are counted against the closest lexically enclosing
function closure, so you need to map the output back to the STG code.

23 years ago[project @ 2000-06-13 15:35:29 by simonmar]
simonmar [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonmar]
Change the convention for cost-centre labels to be <name>_cc and
cost-centre stacks to be <name>_ccs.  This makes cost-centre labels
more consistent with our other naming conventions, and fixes some
problems caused by cost-centre labels being misinterpreted by the
mangler.

This fixes one cause of profiled programs crashing; if you're seeing
this symptom then this patch may help.

23 years ago[project @ 2000-06-13 15:35:29 by simonmar]
simonmar [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonmar]
Add NetBSD/x86 support.

23 years ago[project @ 2000-06-13 15:35:29 by simonmar]
simonmar [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonmar]
- generalise the per-module initialisation stubs so that we use it
  in normal (non-profiled) code too.  The initialisation stubs are
  now called '__init_<module>' rather than '_reg<module>'.

- Register foreign exported functions as stable pointers in the
  initialisation code for the module.  This fixes the foreign export
  problems reported by several people.

- remove the concept of "module groups" from the profiling subsystem.

- change the profiling semantics slightly; it should be unnecessary
  to use '-caf-all' to get reasonable profiles now.

23 years ago[project @ 2000-06-13 15:35:29 by simonm]
simonm [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonm]
sparc-sun-solaris2 uses .LLC<n> to refer to local string constants.

23 years ago[project @ 2000-06-13 15:35:29 by simonm]
simonm [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonm]
mangler fix.

23 years ago[project @ 2000-06-13 15:35:29 by simonm]
simonm [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonm]
fixup problem with '.' at the front of a local label.

23 years ago[project @ 2000-06-13 15:35:29 by simonm]
simonm [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonm]
egcs sometimes leaves a 'popl %ecx' in the epilogue, it seems.

23 years ago[project @ 2000-06-13 15:35:29 by simonm]
simonm [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonm]
Reduce alignment for info tables on x86 to 1 word.  It was previously
4 words, which meant that the entry code was wrongly aligned all the
time (because info tables are either 2 or 3 words).  At least this way
we've got a 1 in 4 chance of being properly aligned.

23 years ago[project @ 2000-06-13 15:35:29 by simonm]
simonm [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonm]
Move 4.01 onto the main trunk.

23 years ago[project @ 2000-06-13 15:35:29 by simonm]
simonm [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonm]
Miraculously, the same bug exists on sparc-sun-solaris2.

23 years ago[project @ 2000-06-13 15:35:29 by simonm]
simonm [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonm]
HPPA tweaks.

23 years ago[project @ 2000-06-13 15:35:29 by simonm]
simonm [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonm]
Fix splitting on i386-unknwon-linux: string constants were being
duplicated in each object, leading to large increases in binary
sizes.

23 years ago[project @ 2000-06-13 15:35:29 by simonm]
simonm [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonm]
Fix for egcs on sparc.

23 years ago[project @ 2000-06-13 15:35:29 by simonm]
simonm [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonm]
Changes to unbox the state in the ST and IO monads.

ST now has type

newtype ST s a = ST (State# s -> STret s a)
data STret s a = STret (State# s) a

IO now has type

newtype IO a = IO (State# RealWorld -> IOResult a)
data IOResult a = IOok   (State# RealWorld) a
                | IOfail (State# RealWorld) IOError

So ST should be slightly more efficient, and IO should be nearly as
efficient as ST.

23 years ago[project @ 2000-06-13 15:35:29 by simonm]
simonm [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonm]
Bring in rev. 1.22.2.1 - Don't apply -monly-n-reg patches to _regBlah
functions (profiling cost-centre register things)

23 years ago[project @ 2000-06-13 15:35:29 by simonm]
simonm [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonm]
Another sparc/egcs fix.

23 years ago[project @ 2000-06-13 15:35:29 by simonm]
simonm [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by simonm]
- support the .p2align directive on x86 a.out architectures.  This
  might be required for others, too.

23 years ago[project @ 2000-06-13 15:35:29 by rrt]
rrt [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by rrt]
Added subl clause to epilogue munging.

23 years ago[project @ 2000-06-13 15:35:29 by partain]
partain [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by partain]
partain 1.3 changes to 960626

23 years ago[project @ 2000-06-13 15:35:29 by partain]
partain [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by partain]
Initial revision

23 years ago[project @ 2000-06-13 15:35:29 by partain]
partain [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by partain]
Bulk of final changes for 2.01

23 years ago[project @ 2000-06-13 15:35:29 by partain]
partain [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by partain]
Alleged post-Sansom 0.27+ code

23 years ago[project @ 2000-06-13 15:35:29 by partain]
partain [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by partain]
After Andy Gill's late-95 changes

23 years ago[project @ 2000-06-13 15:35:29 by partain]
partain [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by partain]

23 years ago[project @ 2000-06-13 15:35:29 by hwloidl]
hwloidl [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by hwloidl]
Merged GUM-4-04 branch into the main trunk. In particular merged GUM and
SMP code. Most of the GranSim code in GUM-4-04 still has to be carried over.

23 years ago[project @ 2000-06-13 15:35:29 by andre]
andre [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by andre]
RS6000/AIX patches

23 years ago[project @ 2000-06-13 15:35:29 by andre]
andre [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by andre]
RS6000 prof & conc patches

23 years ago[project @ 2000-06-13 15:35:29 by andre]
andre [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by andre]
Parallel 2.04 patches

23 years ago[project @ 2000-06-13 15:35:29 by andre]
andre [Tue, 13 Jun 2000 15:35:29 +0000 (15:35 +0000)]
[project @ 2000-06-13 15:35:29 by andre]
AIX/RS6000 patches

23 years ago[project @ 2000-06-13 15:04:48 by keithw]
keithw [Tue, 13 Jun 2000 15:04:48 +0000 (15:04 +0000)]
[project @ 2000-06-13 15:04:48 by keithw]
Fix: mkPiType has moved.

23 years ago[project @ 2000-06-13 14:46:30 by keithw]
keithw [Tue, 13 Jun 2000 14:46:30 +0000 (14:46 +0000)]
[project @ 2000-06-13 14:46:30 by keithw]
Alter to match new CoreLint.

23 years ago[project @ 2000-06-13 14:37:46 by keithw]
keithw [Tue, 13 Jun 2000 14:37:46 +0000 (14:37 +0000)]
[project @ 2000-06-13 14:37:46 by keithw]
A few things here:

  * fix some comment typos
  * alter CoreLint architecture to permit warnings as well as errors
  * add `endPassWithRules' to permit printing of rules as well as binds
  * move mkPiType to CoreUtils (for UsageSP reasons)

23 years ago[project @ 2000-06-12 21:40:05 by panne]
panne [Mon, 12 Jun 2000 21:40:05 +0000 (21:40 +0000)]
[project @ 2000-06-12 21:40:05 by panne]
printf => showFFloat. Now waugh_neural fails with
   Fail: Prelude.(!!): negative index,
but that's better than before.  :-)

23 years ago[project @ 2000-06-12 21:27:03 by panne]
panne [Mon, 12 Jun 2000 21:27:03 +0000 (21:27 +0000)]
[project @ 2000-06-12 21:27:03 by panne]
Synched with output required by H98 report

23 years ago[project @ 2000-06-12 20:47:34 by panne]
panne [Mon, 12 Jun 2000 20:47:34 +0000 (20:47 +0000)]
[project @ 2000-06-12 20:47:34 by panne]
*nix-ified the expected output. M$-people are more used to error
messages, and one has to lose...  >:-)

23 years ago[project @ 2000-06-12 20:32:16 by panne]
panne [Mon, 12 Jun 2000 20:32:16 +0000 (20:32 +0000)]
[project @ 2000-06-12 20:32:16 by panne]
"Non-exhaustive guards" => "Non-exhaustive patterns"

23 years ago[project @ 2000-06-12 19:57:40 by panne]
panne [Mon, 12 Jun 2000 19:57:40 +0000 (19:57 +0000)]
[project @ 2000-06-12 19:57:40 by panne]
Print only the first 6 characters of the result's decimal
representation, this "solves" the problem that without optimization
0.46920002 was printed and 0.4692 with -O. Perhaps this could be
turned into a test for constant folding, but this was probably not the
test writer's intention.

23 years ago[project @ 2000-06-12 18:15:18 by panne]
panne [Mon, 12 Jun 2000 18:15:18 +0000 (18:15 +0000)]
[project @ 2000-06-12 18:15:18 by panne]
Use "foreign label" instead of litlit for stdout.

23 years ago[project @ 2000-06-12 18:13:20 by panne]
panne [Mon, 12 Jun 2000 18:13:20 +0000 (18:13 +0000)]
[project @ 2000-06-12 18:13:20 by panne]
`foreign label foo :: Addr' was simply mapped to `foo' on the C side,
but this is wrong, resp. only works for C *functions*, not *variables*
(praise the implicit conversions of C!). It now correctly maps to `(&foo)'.

ATTENTION: I'm not sure if this fix breaks some SW which depends on
the old (wrong) behaviour (H/Direct?).

23 years ago[project @ 2000-06-12 17:05:35 by panne]
panne [Mon, 12 Jun 2000 17:05:35 +0000 (17:05 +0000)]
[project @ 2000-06-12 17:05:35 by panne]
Added type signature to resolve ambiguity.

23 years ago[project @ 2000-06-12 17:04:51 by panne]
panne [Mon, 12 Jun 2000 17:04:51 +0000 (17:04 +0000)]
[project @ 2000-06-12 17:04:51 by panne]
Synched with reality.

23 years ago[project @ 2000-06-12 17:04:12 by panne]
panne [Mon, 12 Jun 2000 17:04:12 +0000 (17:04 +0000)]
[project @ 2000-06-12 17:04:12 by panne]
Synched with reality. The expected output is a little bit fragile...

23 years ago[project @ 2000-06-12 17:03:14 by panne]
panne [Mon, 12 Jun 2000 17:03:14 +0000 (17:03 +0000)]
[project @ 2000-06-12 17:03:14 by panne]
-syslib => -package

23 years ago[project @ 2000-06-12 17:01:56 by panne]
panne [Mon, 12 Jun 2000 17:02:00 +0000 (17:02 +0000)]
[project @ 2000-06-12 17:01:56 by panne]
HC_OPTS => SRC_HC_OPTS again, sorry about that

23 years ago[project @ 2000-06-12 16:59:54 by panne]
panne [Mon, 12 Jun 2000 16:59:54 +0000 (16:59 +0000)]
[project @ 2000-06-12 16:59:54 by panne]
Added a few lines how to pass global options, just for oblivious
people like me.  :-}

23 years ago[project @ 2000-06-12 16:26:59 by panne]
panne [Mon, 12 Jun 2000 16:27:03 +0000 (16:27 +0000)]
[project @ 2000-06-12 16:26:59 by panne]
* Changed `SRC_HC_OPTS += ...' to `HC_OPTS += ...', otherwise `make
  SRC_HC_OPTS=foo' does not work.

* -syslib => -package

23 years ago[project @ 2000-06-12 16:20:31 by panne]
panne [Mon, 12 Jun 2000 16:20:31 +0000 (16:20 +0000)]
[project @ 2000-06-12 16:20:31 by panne]
Only add -o? FOO.stdBAR when it exists. I'm not sure if this
foreach-hack is the most elegant way to go though...

23 years ago[project @ 2000-06-12 16:13:12 by simonmar]
simonmar [Mon, 12 Jun 2000 16:13:12 +0000 (16:13 +0000)]
[project @ 2000-06-12 16:13:12 by simonmar]
Delete whole swathes of old FFI-related stuff, after all no
documentation is better than wrong documentation :)

23 years ago[project @ 2000-06-12 16:01:02 by simonmar]
simonmar [Mon, 12 Jun 2000 16:01:02 +0000 (16:01 +0000)]
[project @ 2000-06-12 16:01:02 by simonmar]
revert part of previous commit that sneaked in by mistake.

23 years ago[project @ 2000-06-12 15:48:55 by simonmar]
simonmar [Mon, 12 Jun 2000 15:48:55 +0000 (15:48 +0000)]
[project @ 2000-06-12 15:48:55 by simonmar]
update link to deleted mkdependHS stuff

23 years ago[project @ 2000-06-12 15:47:27 by simonmar]
simonmar [Mon, 12 Jun 2000 15:47:27 +0000 (15:47 +0000)]
[project @ 2000-06-12 15:47:27 by simonmar]
add an id to the dependency section

23 years ago[project @ 2000-06-12 13:40:20 by panne]
panne [Mon, 12 Jun 2000 13:40:20 +0000 (13:40 +0000)]
[project @ 2000-06-12 13:40:20 by panne]
Pretty-printing EncodedStrings, next try...

23 years ago[project @ 2000-06-12 11:41:00 by simonmar]
simonmar [Mon, 12 Jun 2000 11:41:00 +0000 (11:41 +0000)]
[project @ 2000-06-12 11:41:00 by simonmar]
Update docs on mkdependHS: it isn't a separate utility, so document it
under "Using GHC".

Also update section on Happy.

23 years ago[project @ 2000-06-12 11:04:50 by panne]
panne [Mon, 12 Jun 2000 11:04:50 +0000 (11:04 +0000)]
[project @ 2000-06-12 11:04:50 by panne]
Undo the changes and make userStyle printing work again

23 years ago[project @ 2000-06-12 11:04:12 by simonmar]
simonmar [Mon, 12 Jun 2000 11:04:12 +0000 (11:04 +0000)]
[project @ 2000-06-12 11:04:12 by simonmar]
Fix a nasty bug: the 'c' component of StgUnion was declared as type
StgChar, which sounds reasonable, but meant that when assigning a char
to R1 gcc would correctly arrange to only overwrite the low byte
rather than zero-extending the value.  We assume elsewhere that when
R1 contains a char that the upper 24 bits are zero, so this was wrong.

This bug must have been around for a *long* time, strange that it only
just showed up. <shrug>

23 years ago[project @ 2000-06-12 06:01:03 by andy]
andy [Mon, 12 Jun 2000 06:01:03 +0000 (06:01 +0000)]
[project @ 2000-06-12 06:01:03 by andy]
Commiting version of STG -> GOO that seems to compile PrelBase successfully.

Many other wibbles; esp. String handling.

23 years ago[project @ 2000-06-11 19:14:27 by panne]
panne [Sun, 11 Jun 2000 19:14:27 +0000 (19:14 +0000)]
[project @ 2000-06-11 19:14:27 by panne]
* Synched comments with reality

* Ensure that a f.e.d. function is never inlined, because the address
  of the C stub (a litlit) is might not be in scope in other modules.
  (untested fix).

*** merge ***

23 years ago[project @ 2000-06-11 08:12:02 by andy]
andy [Sun, 11 Jun 2000 08:12:02 +0000 (08:12 +0000)]
[project @ 2000-06-11 08:12:02 by andy]
Adding change that handles trivial use of primitives (compares,
integer arithmetic, etc) better when generating Java.

23 years ago[project @ 2000-06-10 00:34:52 by lewie]
lewie [Sat, 10 Jun 2000 00:34:52 +0000 (00:34 +0000)]
[project @ 2000-06-10 00:34:52 by lewie]
Update instFunDepsOfTheta to accomodate Simon's recent commit (it hadn't
needed to generate fundeps for IParams previously).  This undoes Simon's
comment about `forall a. ?x::a => Int' being ambiguous.  It isn't, and
now it isn't flagged as such either.  I.e, there's nothing wrong with:
    foo :: ?x::a => Int
    foo = fst (13, ?x)
(of course, less contrived examples can also be given!).

23 years ago[project @ 2000-06-09 23:28:34 by lewie]
lewie [Fri, 9 Jun 2000 23:28:34 +0000 (23:28 +0000)]
[project @ 2000-06-09 23:28:34 by lewie]
Simon was kind enough to re-write elegantly a function that I had written
awkwardly, but revealed that beautification doesn't always yield better
code ;-)  Fixed a silly typo and further beautified the code (so that the
cut-n-paster error that Simon introduced would have been easier to spot).

23 years ago[project @ 2000-06-09 16:21:30 by simonmar]
simonmar [Fri, 9 Jun 2000 16:21:30 +0000 (16:21 +0000)]
[project @ 2000-06-09 16:21:30 by simonmar]
ieee-flpt.h is in ../../includes, not ../includes.

23 years ago[project @ 2000-06-09 15:53:12 by simonpj]
simonpj [Fri, 9 Jun 2000 15:53:12 +0000 (15:53 +0000)]
[project @ 2000-06-09 15:53:12 by simonpj]
GHC gets upset if you have types like

Eq a => a->a

where 'a' is *not* universally quantified.
By "upset" I mean that the typechecker generates
rather bogus code, that subsequently kills Lint.

Such types used to be rejected in the renamer,
but Jeff removed that in favour of an ambiguity
check in TcMonoType.  I remember agreeing to move
the renamer check to the type checker, and Jeff did this,
but the check in TcMonoType was only checking for
*ambiguity*, which isn't quite the same.

I've restored the missing check and commented it
better in TcMonoType.

Jeff: if this isn't right for you, let's dicuss.

Incidentally, I also generalise the ambiguity check
to detect
forall a. ?x::a => Int
which is ambiguous.

I did a few formatting changes too.

23 years ago[project @ 2000-06-09 15:15:25 by simonmar]
simonmar [Fri, 9 Jun 2000 15:15:25 +0000 (15:15 +0000)]
[project @ 2000-06-09 15:15:25 by simonmar]
Don't group variable bindings with the same name together.  They
should be flagged as duplicate definitions.

23 years ago[project @ 2000-06-09 13:48:46 by simonmar]
simonmar [Fri, 9 Jun 2000 13:50:15 +0000 (13:50 +0000)]
[project @ 2000-06-09 13:48:46 by simonmar]
remove NonExhaustiveGuards exception

23 years ago[project @ 2000-06-09 13:48:09 by simonmar]
simonmar [Fri, 9 Jun 2000 13:48:09 +0000 (13:48 +0000)]
[project @ 2000-06-09 13:48:09 by simonmar]
Guard failure will now throw a PatternMatchFail, the
NonExhaustiveGuards exception is to be removed.

23 years ago[project @ 2000-06-09 11:01:58 by simonmar]
simonmar [Fri, 9 Jun 2000 11:01:58 +0000 (11:01 +0000)]
[project @ 2000-06-09 11:01:58 by simonmar]
Part of the -split-objs commit that I forgot yesterday.

23 years ago[project @ 2000-06-09 07:32:31 by simonpj]
simonpj [Fri, 9 Jun 2000 07:32:31 +0000 (07:32 +0000)]
[project @ 2000-06-09 07:32:31 by simonpj]
In my commit of 24 May I got this boolean condition
back to front:

    tryWW non_rec fn_id rhs
      | not (isNeverInlinePrag inline_prag)
      =  -- Don't split things that will never be inlined

The 'not' is obviously wrong!  As a result virtually nothing
is being worker-wrapper'd

How this has survived for more than two weeks beats me.

23 years ago[project @ 2000-06-09 00:43:55 by andy]
andy [Fri, 9 Jun 2000 00:43:55 +0000 (00:43 +0000)]
[project @ 2000-06-09 00:43:55 by andy]
Commiting version of the STG->GOO code generator that works with fib.

23 years ago[project @ 2000-06-08 20:57:02 by panne]
panne [Thu, 8 Jun 2000 20:57:02 +0000 (20:57 +0000)]
[project @ 2000-06-08 20:57:02 by panne]
autoconf hackery for CTypes{,ISO} (continued)

23 years ago[project @ 2000-06-08 20:41:30 by panne]
panne [Thu, 8 Jun 2000 20:41:30 +0000 (20:41 +0000)]
[project @ 2000-06-08 20:41:30 by panne]
autoconf hackery for CTypes{,ISO}

23 years ago[project @ 2000-06-08 15:00:21 by simonmar]
simonmar [Thu, 8 Jun 2000 15:00:21 +0000 (15:00 +0000)]
[project @ 2000-06-08 15:00:21 by simonmar]
Remove out-of-date table that conflicts with the new one in the FFI
documentation.

23 years ago[project @ 2000-06-08 14:59:17 by rrt]
rrt [Thu, 8 Jun 2000 14:59:17 +0000 (14:59 +0000)]
[project @ 2000-06-08 14:59:17 by rrt]
Commented out the revision history.

23 years ago[project @ 2000-06-08 14:58:34 by rrt]
rrt [Thu, 8 Jun 2000 14:58:34 +0000 (14:58 +0000)]
[project @ 2000-06-08 14:58:34 by rrt]
Improved link to Foreign hslibs stuff.

23 years ago[project @ 2000-06-08 14:50:18 by rrt]
rrt [Thu, 8 Jun 2000 14:50:18 +0000 (14:50 +0000)]
[project @ 2000-06-08 14:50:18 by rrt]
Tidied up a table.

23 years ago[project @ 2000-06-08 14:43:47 by rrt]
rrt [Thu, 8 Jun 2000 14:43:47 +0000 (14:43 +0000)]
[project @ 2000-06-08 14:43:47 by rrt]
Better chapter name.

23 years ago[project @ 2000-06-08 14:36:13 by rrt]
rrt [Thu, 8 Jun 2000 14:36:13 +0000 (14:36 +0000)]
[project @ 2000-06-08 14:36:13 by rrt]
Added new FFI story from fptools/docs, and removed ccall docs.

Pls mrg

23 years ago[project @ 2000-06-08 12:54:29 by simonmar]
simonmar [Thu, 8 Jun 2000 12:54:29 +0000 (12:54 +0000)]
[project @ 2000-06-08 12:54:29 by simonmar]
Make object file splitting simpler, in preparation for conversion to
the new driver.

The "inject split markers" phase is now omitted, instead we generate
the split markers directly.

Driver: also removed now-defunct -fpedantic-bottoms flag.

23 years ago[project @ 2000-06-08 10:48:58 by rrt]
rrt [Thu, 8 Jun 2000 10:48:58 +0000 (10:48 +0000)]
[project @ 2000-06-08 10:48:58 by rrt]
Changed ffi doc to worker-wrapper format.

23 years ago[project @ 2000-06-08 09:11:13 by simonmar]
simonmar [Thu, 8 Jun 2000 09:11:13 +0000 (09:11 +0000)]
[project @ 2000-06-08 09:11:13 by simonmar]
remove unneeded file.

23 years ago[project @ 2000-06-08 09:01:35 by simonmar]
simonmar [Thu, 8 Jun 2000 09:01:35 +0000 (09:01 +0000)]
[project @ 2000-06-08 09:01:35 by simonmar]
update interface file syntax

23 years ago[project @ 2000-06-08 08:54:33 by simonmar]
simonmar [Thu, 8 Jun 2000 08:54:33 +0000 (08:54 +0000)]
[project @ 2000-06-08 08:54:33 by simonmar]
update expected output

23 years ago[project @ 2000-06-08 08:45:20 by simonmar]
simonmar [Thu, 8 Jun 2000 08:45:20 +0000 (08:45 +0000)]
[project @ 2000-06-08 08:45:20 by simonmar]
Move read010 to rename/should_fail; this is really a renamer test.

23 years ago[project @ 2000-06-07 16:15:22 by rrt]
rrt [Wed, 7 Jun 2000 16:15:22 +0000 (16:15 +0000)]
[project @ 2000-06-07 16:15:22 by rrt]
DocBooked and moved here from hdirect/doc.

23 years ago[project @ 2000-06-07 15:33:50 by keithw]
keithw [Wed, 7 Jun 2000 15:33:50 +0000 (15:33 +0000)]
[project @ 2000-06-07 15:33:50 by keithw]
Fix printing of unfoldings in hi-files: lambda binders are now grouped
again like they used to be, rather than printed one-at-a-time.