cvs commit: fptools/ghc/compiler/coreSyn CoreFVs.lhs CoreTidy.lhs
fptools/ghc/compiler/main HscMain.lhs MkIface.lhs
fptools/ghc/compiler/rename Rename.lhs fptools/ghc/compiler/specialise
Rules.lhs
Simon Peyton Jones
simonpj@glass.cse.ogi.edu
Mon, 19 Mar 2001 08:13:23 -0800
simonpj 2001/03/19 08:13:23 PST
Modified files:
ghc/compiler/coreSyn CoreFVs.lhs CoreTidy.lhs
ghc/compiler/main HscMain.lhs MkIface.lhs
ghc/compiler/rename Rename.lhs
ghc/compiler/specialise Rules.lhs
Log:
-------------------------------
Improve orphan-module resolution
-------------------------------
Consider the following rule (and there are lots of these in
the Prelude):
fromIntegral T = fromIntegral_T
where T is defined in the module being compiled.
is an orphan. Of course it isn't, an declaring it an orphan would
make the whole module an orphan module, which is bad.
This commit arranges to determine orphan rules, and the orphan-hood
of a module, much later than before. (Before mi_orphan was set by
the renamer, now it is set by MkIface.)
Revision Changes Path
1.13 +67 -8 fptools/ghc/compiler/coreSyn/CoreFVs.lhs
1.45 +4 -17 fptools/ghc/compiler/coreSyn/CoreTidy.lhs
1.112 +1 -27 fptools/ghc/compiler/main/HscMain.lhs
1.127 +80 -20 fptools/ghc/compiler/main/MkIface.lhs
1.159 +5 -35 fptools/ghc/compiler/rename/Rename.lhs
1.23 +3 -3 fptools/ghc/compiler/specialise/Rules.lhs