summaryrefslogtreecommitdiff
path: root/orc/orcutils.h
diff options
context:
space:
mode:
authorTim-Phillip Müller <tim@centricular.net>2013-02-19 12:23:16 -0800
committerDavid Schleef <ds@schleef.org>2013-02-19 12:38:07 -0800
commit9664aabdf45fbe38e43c7041b234548a2c1bf0ff (patch)
tree56bd497f91e98c01154df7fe017a5be37fdd0a10 /orc/orcutils.h
parentb4f7fcaf99a4d952e59f2a9fa9286d24cc4b3a5a (diff)
downloadorc-9664aabdf45fbe38e43c7041b234548a2c1bf0ff.tar.gz
orcc: add --internal option to mark symbols with internal visibility
Fixes: #52184
Diffstat (limited to 'orc/orcutils.h')
-rw-r--r--orc/orcutils.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/orc/orcutils.h b/orc/orcutils.h
index 1ca45b2..d973ba8 100644
--- a/orc/orcutils.h
+++ b/orc/orcutils.h
@@ -162,11 +162,17 @@ typedef unsigned int orc_bool;
#define ORC_GNUC_PREREQ(maj, min) 0
#endif
-#if ORC_GNUC_PREREQ(3,3) && defined(__ELF__)
-#define ORC_INTERNAL __attribute__ ((visibility ("internal")))
+#ifndef ORC_INTERNAL
+#if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
+#define ORC_INTERNAL __attribute__((visibility("hidden")))
+#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
+#define ORC_INTERNAL __hidden
+#elif defined (__GNUC__) && ORC_GNUC_PREREQ(3,3) && defined(__ELF__)
+#define ORC_INTERNAL __attribute__((visibility("hidden")))
#else
#define ORC_INTERNAL
#endif
+#endif
#if ORC_GNUC_PREREQ(3,3) /* guess */
#define ORC_GNU_PRINTF(a,b) __attribute__((__format__ (__printf__, a, b)))