summaryrefslogtreecommitdiff
path: root/compiler/codeGen
diff options
context:
space:
mode:
authorIan Lynagh <ian@well-typed.com>2013-05-13 22:39:29 +0100
committerIan Lynagh <ian@well-typed.com>2013-05-14 13:49:09 +0100
commit60b86b04b2c214ef75b01371901a040933debf31 (patch)
treeed89503ca5c5039464692d0993b3525e209c99a6 /compiler/codeGen
parentff1a16a0bd630f97dc507f96977eaaae9d8df9a6 (diff)
downloadhaskell-60b86b04b2c214ef75b01371901a040933debf31.tar.gz
Fix the GHC package DLL-splitting
There's now an internal -dll-split flag, which we use to tell GHC how the GHC package is split into 2 separate DLLs. This is used by Packages.isDllName to determine whether a call is within the same DLL, or whether it is a call to another DLL.
Diffstat (limited to 'compiler/codeGen')
-rw-r--r--compiler/codeGen/StgCmmCon.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/codeGen/StgCmmCon.hs b/compiler/codeGen/StgCmmCon.hs
index d2a25ebd6c..9bfa22b344 100644
--- a/compiler/codeGen/StgCmmCon.hs
+++ b/compiler/codeGen/StgCmmCon.hs
@@ -65,9 +65,10 @@ cgTopRhsCon id con args
gen_code =
do { dflags <- getDynFlags
+ ; this_mod <- getModuleName
; when (platformOS (targetPlatform dflags) == OSMinGW32) $
-- Windows DLLs have a problem with static cross-DLL refs.
- ASSERT( not (isDllConApp dflags con args) ) return ()
+ ASSERT( not (isDllConApp dflags this_mod con args) ) return ()
; ASSERT( args `lengthIs` dataConRepRepArity con ) return ()
-- LAY IT OUT