Tue Apr  1 22:14:12 PDT 2008  Simon Marlow <[EMAIL PROTECTED]>
  * Do not #include external header files when compiling via C
  
  This has several advantages:
  
   - -fvia-C is consistent with -fasm with respect to FFI declarations:
     both bind to the ABI, not the API.
  
   - foreign calls can now be inlined freely across module boundaries, since
     a header file is not required when compiling the call.
  
   - bootstrapping via C will be more reliable, because this difference
     in behavour between the two backends has been removed.
  
  There is one disadvantage:
  
   - we get no checking by the C compiler that the FFI declaration
     is correct.
  
  So now, the c-includes field in a .cabal file is always ignored by
  GHC, as are header files specified in an FFI declaration.  This was
  previously the case only for -fasm compilations, now it is also the
  case for -fvia-C too.

    M ./compiler/cmm/CLabel.hs -1 +25
    M ./compiler/cmm/CmmParse.y -1 +3
    M ./compiler/cmm/PprC.hs -28 +24
    M ./compiler/deSugar/DsForeign.lhs -38 +17
    M ./compiler/main/CodeOutput.lhs -32 +9
    M ./compiler/main/HscTypes.lhs -3
    M ./compiler/main/Packages.lhs -6
    M ./includes/README -6 +7
    M ./includes/Regs.h -13 +10
    M ./includes/Rts.h -1 +5
    M ./includes/RtsExternal.h -3
    M ./includes/RtsTypeable.h -2
    M ./includes/SMP.h -151 +3
    A ./includes/SMPClosureOps.h
    A ./includes/SpinLock.h
    M ./includes/Stg.h -3 +6
    M ./includes/StgMiscClosures.h +44
    M ./rts/Exception.cmm -2
    R ./rts/HCIncludes.h
    M ./rts/Linker.c -1 +1
    M ./rts/Makefile -7 +3
    M ./rts/PrimOps.cmm -1 +1
    M ./rts/StgCRun.c +2
    M ./rts/StgMiscClosures.cmm -6 +4
    M ./rts/StgRun.h -2
    M ./rts/Typeable.c -1 +1

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to