patch applied (ghc): Retain inline-pragma information on unfoldings
in interface files
Simon Peyton Jones
simonpj at microsoft.com
Wed Apr 25 03:56:25 EDT 2007
Wed Apr 25 00:49:24 PDT 2007 simonpj at microsoft.com
* 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.
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
More information about the Cvs-ghc