projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix return type cast in f.i.wrapper when using libffi (#3516)
[ghc-hetmet.git]
/
compiler
/
main
/
CodeOutput.lhs
diff --git
a/compiler/main/CodeOutput.lhs
b/compiler/main/CodeOutput.lhs
index
2d68b83
..
83f23cf
100644
(file)
--- a/
compiler/main/CodeOutput.lhs
+++ b/
compiler/main/CodeOutput.lhs
@@
-27,6
+27,7
@@
import Util
import Cmm ( RawCmm )
import HscTypes
import DynFlags
import Cmm ( RawCmm )
import HscTypes
import DynFlags
+import Config
import ErrUtils ( dumpIfSet_dyn, showPass, ghcExit )
import Outputable
import ErrUtils ( dumpIfSet_dyn, showPass, ghcExit )
import Outputable
@@
-225,6
+226,10
@@
outputForeignStubs dflags mod location stubs
concatMap mk_include (includes rts_pkg)
mk_include i = "#include \"" ++ i ++ "\"\n"
concatMap mk_include (includes rts_pkg)
mk_include i = "#include \"" ++ i ++ "\"\n"
+ -- wrapper code mentions the ffi_arg type, which comes from ffi.h
+ ffi_includes | cLibFFI = "#include \"ffi.h\"\n"
+ | otherwise = ""
+
stub_h_file_exists
<- outputForeignStubs_help stub_h stub_h_output_w
("#include \"HsFFI.h\"\n" ++ cplusplus_hdr) cplusplus_ftr
stub_h_file_exists
<- outputForeignStubs_help stub_h stub_h_output_w
("#include \"HsFFI.h\"\n" ++ cplusplus_hdr) cplusplus_ftr
@@
-237,6
+242,7
@@
outputForeignStubs dflags mod location stubs
("#define IN_STG_CODE 0\n" ++
"#include \"Rts.h\"\n" ++
rts_includes ++
("#define IN_STG_CODE 0\n" ++
"#include \"Rts.h\"\n" ++
rts_includes ++
+ ffi_includes ++
cplusplus_hdr)
cplusplus_ftr
-- We're adding the default hc_header to the stub file, but this
cplusplus_hdr)
cplusplus_ftr
-- We're adding the default hc_header to the stub file, but this