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

Reply via email to