X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FRts.h;h=1bfb37a1bf17e57a9e1d961f1ae1c3660672159e;hb=4bba92f93b88e15f0e0f23732d2cfa540acb737b;hp=3bec799585ab28ab9bc909cc0a4be4cc62c67179;hpb=90d1deddda8123c46c4d029439591075ff310fb4;p=ghc-hetmet.git diff --git a/includes/Rts.h b/includes/Rts.h index 3bec799..1bfb37a 100644 --- a/includes/Rts.h +++ b/includes/Rts.h @@ -51,7 +51,25 @@ 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) #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 +#define RTS_UNLIKELY(p) __builtin_expect((p),0) +#else +#define RTS_UNLIKELY(p) p +#endif /* Fix for mingw stat problem (done here so it's early enough) */ #ifdef mingw32_HOST_OS