projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e7ab9c6
)
Follow PackageTarget change in byte code generator
author
Ben.Lippmeier@anu.edu.au
<unknown>
Sat, 2 Jan 2010 09:30:46 +0000
(09:30 +0000)
committer
Ben.Lippmeier@anu.edu.au
<unknown>
Sat, 2 Jan 2010 09:30:46 +0000
(09:30 +0000)
compiler/ghci/ByteCodeGen.lhs
patch
|
blob
|
history
diff --git
a/compiler/ghci/ByteCodeGen.lhs
b/compiler/ghci/ByteCodeGen.lhs
index
ad94e0c
..
99e896c
100644
(file)
--- a/
compiler/ghci/ByteCodeGen.lhs
+++ b/
compiler/ghci/ByteCodeGen.lhs
@@
-1028,6
+1028,20
@@
generateCCall d0 s p (CCallSpec target cconv _) fn args_r_to_l
= case target of
DynamicTarget
-> return (False, panic "ByteCodeGen.generateCCall(dyn)")
= case target of
DynamicTarget
-> return (False, panic "ByteCodeGen.generateCCall(dyn)")
+
+ PackageTarget target _
+ -> do res <- ioToBc (lookupStaticPtr stdcall_adj_target)
+ return (True, res)
+ where
+ stdcall_adj_target
+#ifdef mingw32_TARGET_OS
+ | StdCallConv <- cconv
+ = let size = fromIntegral a_reps_sizeW * wORD_SIZE in
+ mkFastString (unpackFS target ++ '@':show size)
+#endif
+ | otherwise
+ = target
+
StaticTarget target
-> do res <- ioToBc (lookupStaticPtr stdcall_adj_target)
return (True, res)
StaticTarget target
-> do res <- ioToBc (lookupStaticPtr stdcall_adj_target)
return (True, res)