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