[commit: ghc] master: A further fix for -split-objs with the new codegen (ccf44d8)

Simon Marlow marlowsd at gmail.com
Wed Sep 5 11:30:51 CEST 2012


Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/ccf44d89c23b27cb7e185bf229b2265edb590daf

>---------------------------------------------------------------

commit ccf44d89c23b27cb7e185bf229b2265edb590daf
Author: Simon Marlow <marlowsd at gmail.com>
Date:   Wed Sep 5 09:23:04 2012 +0100

    A further fix for -split-objs with the new codegen

>---------------------------------------------------------------

 compiler/codeGen/StgCmmExpr.hs |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/compiler/codeGen/StgCmmExpr.hs b/compiler/codeGen/StgCmmExpr.hs
index ab6f888..bc29c68 100644
--- a/compiler/codeGen/StgCmmExpr.hs
+++ b/compiler/codeGen/StgCmmExpr.hs
@@ -611,7 +611,10 @@ cgIdApp fun_id args
   = do  { fun_info <- getCgIdInfo fun_id
         ; case maybeLetNoEscape fun_info of
             Just (blk_id, lne_regs) -> cgLneJump blk_id lne_regs args
-            Nothing -> cgTailCall fun_id fun_info args }
+            Nothing -> cgTailCall (cg_id fun_info) fun_info args }
+            -- NB. use (cg_id fun_info) instead of fun_id, because the former
+            -- may be externalised for -split-objs.
+            -- See StgCmm.maybeExternaliseId.
 
 cgLneJump :: BlockId -> [LocalReg] -> [StgArg] -> FCode ReturnKind
 cgLneJump blk_id lne_regs args  -- Join point; discard sequel





More information about the Cvs-ghc mailing list