X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FRts.h;h=91ec76d4675de9f11eb476f76e4e45a04839ae7b;hb=2c8aabcad1d2f2c469cb8a10afa7b66beeaedd45;hp=d79e9ad88edcf735950c6af15709b8335a24b113;hpb=5d52d9b64c21dcf77849866584744722f8121389;p=ghc-hetmet.git diff --git a/includes/Rts.h b/includes/Rts.h index d79e9ad..91ec76d 100644 --- a/includes/Rts.h +++ b/includes/Rts.h @@ -51,21 +51,13 @@ extern "C" { // Symbols that are extern, but private to the RTS, are declared // with visibility "hidden" to hide them outside the RTS shared // library. -#if !defined(mingw32_HOST_OS) +#if defined(HAS_VISIBILITY_HIDDEN) #define RTS_PRIVATE GNUC3_ATTRIBUTE(visibility("hidden")) #else #define RTS_PRIVATE /* disabled: RTS_PRIVATE */ #endif -#if __GNUC__ > 4 -#define BEGIN_RTS_PRIVATE #pragma GCC visibility push(hidden) -#define END_RTS_PRIVATE #pragma GCC visibility pop -#else -#define BEGIN_RTS_PRIVATE /* disabled: BEGIN_RTS_PRIVATE */ -#define END_RTS_PRIVATE /* disabled: END_RTS_PRIVATE */ -#endif - -#if __GNUC__ > 4 +#if __GNUC__ >= 4 #define RTS_UNLIKELY(p) __builtin_expect((p),0) #else #define RTS_UNLIKELY(p) p @@ -227,6 +219,12 @@ DLL_IMPORT_RTS extern char **prog_argv; /* so we can get at these from Haskell * DLL_IMPORT_RTS extern int prog_argc; DLL_IMPORT_RTS extern char *prog_name; +#ifdef mingw32_HOST_OS +// We need these two from Haskell too +void getWin32ProgArgv(int *argc, wchar_t **argv[]); +void setWin32ProgArgv(int argc, wchar_t *argv[]); +#endif + void stackOverflow(void); void stg_exit(int n) GNU_ATTRIBUTE(__noreturn__); @@ -250,9 +248,6 @@ int stg_sig_install (int, int, void *); Miscellaneous garbage -------------------------------------------------------------------------- */ -/* declarations for runtime flags/values */ -#define MAX_RTS_ARGS 32 - #ifdef DEBUG #define TICK_VAR(arity) \ extern StgInt SLOW_CALLS_##arity; \