Here the latest bug news on GHC 4.00 from Munich... :-)
My installation went the usual path: First compile quick-and-dirty GHC-4.00
with GHC-3.03, then test the whole thing by bootstrapping.
Platform: Linux (libc5)
* Some "classic" warnings in ghc/rts:
/usr/include/stdlib.h:149: warning: no previous prototype for `strtold'
Hmm, perhaps I should better not mention my fix, otherwise Simon
gets pale again... (see Sep 1st)
* Some warnings about (almost) nested comments in gum/{HLComms,ParInit}.c:
gum/HLComms.c:125: warning: `/*' within comment
Perhaps use #ifdef 0...#endif instead of /*...*/
* Compiling ghc/compiler/rename/ParseIface.hs with GHC 4.00 itself
needs 40MB instead of the 30MB given in ghc/compiler/Makefile.
Hmmm, 30MB was enough when compiling 4.00 with 3.03. Even stranger:
What about the promised self-adjusting heap in the new RTS? I hoped
no -H/-K has to be used with the shiny new RTS... :-(
* In the boostrapping phase (4.00 with 4.00), there are some strange
warnings from gcc, but only on some files, e.g.
basicTypes/Var.lhs
types/Type.lhs
typecheck/TcEnv.lhs
typecheck/TcHsSyn.lhs
typecheck/Inst.lhs
gcc complained:
/home/inst/glasgow/linux/bin/ghc -cpp -fglasgow-exts -Rghc-timing -I.
-IcodeGen -InativeGen -Iparser
-iutils:basicTypes:types:hsSyn:prelude:rename:typecheck:deSugar:coreSyn:specialise:simplCore:stranal:stgSyn:simplStg:codeGen:absCSyn:main:reader:profiling:parser:nativeGen
-recomp -H10m -c typecheck/TcEnv.lhs -o typecheck/TcEnv.o -osuf o
<<ghc: 271383260 bytes, 95 GCs, 2432854/3116888 avg/max bytes residency (5
samples), 0.03 INIT (0.00 elapsed), 13.31 MUT (15.00 elapsed), 4.39 GC (4.72 elapsed)
:ghc>>
ghc: module version changed to 1; reason: no old .hi file
/tmp/ghc6681.hc:3700: warning: `c6BS_closure' was declared `extern' and later
`static'
/tmp/ghc6681.hc:4010: warning: `c6C2_closure' was declared `extern' and later
`static'
/tmp/ghc6681.hc:4163: warning: `c6C7_closure' was declared `extern' and later
`static'
* foreign is a little bit buggy:
module Test where
foreign export _ccall "bar" myBar :: IO ()
myBar = putStrLn "Hi!"
leads to
panne:~/tst > ghc -c -fglasgow-exts Test.hs
ghc: module version changed to 1; reason: no old .hi file
/tmp/ghc7265.hc:118: macro `STK_CHK' used with too many (7) args
Test_stub.h contains another surprise:
#include "rtsdefs.h"
extern void bar (void* _a0) ;
Where is the void* coming from? I expected: extern void bar(void);
Cheers,
Sven
P.S.: I'm slowly getting old, this is *not* the first bug report on
4.00... :'-(
--
Sven Panne Tel.: +49/89/2178-2235
LMU, Institut fuer Informatik FAX : +49/89/2178-2211
LFE Programmier- und Modellierungssprachen Oettingenstr. 67
mailto:[EMAIL PROTECTED] D-80538 Muenchen
http://www.pms.informatik.uni-muenchen.de/mitarbeiter/panne