summaryrefslogtreecommitdiffstats
path: root/libunwind/src
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2017-06-27 18:37:06 +0000
committerNico Weber <nicolasweber@gmx.de>2017-06-27 18:37:06 +0000
commit205519b97e3e8483ce9a8b0474dfff0367a29169 (patch)
treeacae3aee937b339a567e4eec6eb618291283e383 /libunwind/src
parent836d786e860b989a065d74732d54309ab94bad2a (diff)
downloadbcm5719-llvm-205519b97e3e8483ce9a8b0474dfff0367a29169.tar.gz
bcm5719-llvm-205519b97e3e8483ce9a8b0474dfff0367a29169.zip
[libunwind] Add _LIBUNWIND_DISABLE_VISIBILITY_ANNOTATIONS
It's useful to be able to disable visibility annotations entirely; for example, if we're building libunwind static to include in another library, and we don't want any libunwind functions getting exported out of that library. https://reviews.llvm.org/D34637 Patch from Thomas Anderson <thomasanderson@chromium.org>! llvm-svn: 306442
Diffstat (limited to 'libunwind/src')
-rw-r--r--libunwind/src/config.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/libunwind/src/config.h b/libunwind/src/config.h
index 4be98c8c15a..ac8d7d98dc3 100644
--- a/libunwind/src/config.h
+++ b/libunwind/src/config.h
@@ -44,9 +44,14 @@
#endif
#endif
-// FIXME: these macros are not correct for COFF targets
-#define _LIBUNWIND_EXPORT __attribute__((visibility("default")))
-#define _LIBUNWIND_HIDDEN __attribute__((visibility("hidden")))
+#if defined(_LIBUNWIND_DISABLE_VISIBILITY_ANNOTATIONS)
+ #define _LIBUNWIND_EXPORT
+ #define _LIBUNWIND_HIDDEN
+#else
+ // FIXME: these macros are not correct for COFF targets
+ #define _LIBUNWIND_EXPORT __attribute__((visibility("default")))
+ #define _LIBUNWIND_HIDDEN __attribute__((visibility("hidden")))
+#endif
#if (defined(__APPLE__) && defined(__arm__)) || defined(__USING_SJLJ_EXCEPTIONS__)
#define _LIBUNWIND_BUILD_SJLJ_APIS
OpenPOWER on IntegriCloud