[libunwind] r306442 - [libunwind] Add _LIBUNWIND_DISABLE_VISIBILITY_ANNOTATIONS

Nico Weber via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 27 11:37:06 PDT 2017


Author: nico
Date: Tue Jun 27 11:37:06 2017
New Revision: 306442

URL: http://llvm.org/viewvc/llvm-project?rev=306442&view=rev
Log:
[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 at chromium.org>!

Modified:
    libunwind/trunk/src/config.h

Modified: libunwind/trunk/src/config.h
URL: http://llvm.org/viewvc/llvm-project/libunwind/trunk/src/config.h?rev=306442&r1=306441&r2=306442&view=diff
==============================================================================
--- libunwind/trunk/src/config.h (original)
+++ libunwind/trunk/src/config.h Tue Jun 27 11:37:06 2017
@@ -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




More information about the cfe-commits mailing list