Wed Apr 25 00:49:24 PDT 2007 [EMAIL PROTECTED]
* Retain inline-pragma information on unfoldings in interface files
WARNING: this patch changes interface-file formats slightly
you will need to recompile your libraries
Duncan Coutts wanted to export a function that has a NOINLNE pragma
in a local let-defintion. This works fine within a module, but was
not surviving across the interface-file serialisation.
http://www.haskell.org/pipermail/glasgow-haskell-users/2007-March/012171.html
Regardless of whether or not he's doing something sensible, it seems
reasonable to try to retain local-binder IdInfo across interface files.
This initial patch just retains inline-pragma info, on the grounds that
other IdInfo can be re-inferred at the inline site.
Interface files get a tiny bit bigger, but it seesm slight.
M ./compiler/coreSyn/CoreTidy.lhs -1 +4
M ./compiler/iface/BinIface.hs +10
M ./compiler/iface/IfaceSyn.lhs -17 +39
M ./compiler/iface/IfaceType.lhs -10 +2
M ./compiler/iface/MkIface.lhs -2 +18
M ./compiler/iface/TcIface.lhs -27 +28
M ./compiler/parser/ParserCore.y -3 +3
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc