diff options
author | Ben.Lippmeier@anu.edu.au <unknown> | 2009-11-14 06:04:55 +0000 |
---|---|---|
committer | Ben.Lippmeier@anu.edu.au <unknown> | 2009-11-14 06:04:55 +0000 |
commit | 8c84944d5782f2ee60d96c02977f15ba9e7ab935 (patch) | |
tree | 60e3d7766fc4057286f6a12f56398f5d761cbe98 /includes/RtsAPI.h | |
parent | fcf0225457abec189ea630163fa56bc48c2d796d (diff) | |
download | haskell-8c84944d5782f2ee60d96c02977f15ba9e7ab935.tar.gz |
Don't share low valued Int and Char closures with Windows DLLs
Diffstat (limited to 'includes/RtsAPI.h')
-rw-r--r-- | includes/RtsAPI.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/includes/RtsAPI.h b/includes/RtsAPI.h index ff2bc1120a..03dbce22a5 100644 --- a/includes/RtsAPI.h +++ b/includes/RtsAPI.h @@ -162,10 +162,16 @@ rts_getSchedStatus (Capability *cap); These are used by foreign export and foreign import "wrapper" stubs. ----------------------------------------------------------------------- */ -extern StgWord base_GHCziTopHandler_runIO_closure[]; -extern StgWord base_GHCziTopHandler_runNonIO_closure[]; -#define runIO_closure base_GHCziTopHandler_runIO_closure -#define runNonIO_closure base_GHCziTopHandler_runNonIO_closure +// When producing Windows DLLs the compiler needs to know which symbols +// are in the local package/DLL vs external ones. +// DLL_IMPORT_BASE expands to __declspec(dllimport) when we're not compiling +// the the base package. + +DLL_IMPORT_BASE extern StgWord base_GHCziTopHandler_runIO_closure[]; +DLL_IMPORT_BASE extern StgWord base_GHCziTopHandler_runNonIO_closure[]; + +#define runIO_closure base_GHCziTopHandler_runIO_closure +#define runNonIO_closure base_GHCziTopHandler_runNonIO_closure /* ------------------------------------------------------------------------ */ |