Make globals use sharedCAF
[ghc.git] / rts / BeginPrivate.h
index 3ba4b89..6471b92 100644 (file)
@@ -1,3 +1,10 @@
-#if __GNUC__ >= 4
+/* We don't use symbol visibility pragmas on FreeBSD, because it causes
+   "undefined reference" errors at link-time.  The true reasons are
+   unknown, however FreeBSD 8.x includes GCC 4.2.1 in the base system,
+   which might be buggy. */
+/* On Windows, with gcc 4.5.0-1, using visibility hidden gives:
+       error: visibility attribute not supported in this configuration; ignored
+   */
+#if defined(HAS_VISIBILITY_HIDDEN) && !defined(freebsd_HOST_OS)
 #pragma GCC visibility push(hidden)
 #endif