summaryrefslogtreecommitdiff
path: root/includes/Rts.h
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-09-09 09:32:17 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-09-09 09:32:17 +0000
commit9a9803e8dc80ba41bd3e2d31228e64fa6b61060e (patch)
tree7a31b6abc9b585771bd88df29e8502bb0e5da31b /includes/Rts.h
parentb25c93f1c914d81d77aeafeb49263f29bed128aa (diff)
downloadhaskell-9a9803e8dc80ba41bd3e2d31228e64fa6b61060e.tar.gz
Omit visibility pragmas on Windows (fixes warnings/validate failures)
Diffstat (limited to 'includes/Rts.h')
-rw-r--r--includes/Rts.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/includes/Rts.h b/includes/Rts.h
index 3bec799585..753a66436b 100644
--- a/includes/Rts.h
+++ b/includes/Rts.h
@@ -51,7 +51,19 @@ 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
/* Fix for mingw stat problem (done here so it's early enough) */
#ifdef mingw32_HOST_OS