summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2016-05-26 02:12:20 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2016-05-26 02:12:20 +0000
commit436072f52ff05d69f626a9c7a309a1464758f129 (patch)
tree674a5c2c175c82c1230120557e7bfb4a91f4ad02 /include
parentb06c53cc75f9364076b48b8c05e80d5752f57dc3 (diff)
libc++abi: build with -fvisibility=hidden
Enable building libc++abi with hidden visibility by default. The ABI mandated interfaces (and a few extra) are already set up to be externally visible. This allows us to ensure that any implementation details are not leaked. git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@270816 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/__cxxabi_config.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/__cxxabi_config.h b/include/__cxxabi_config.h
index 68e325f..61555f1 100644
--- a/include/__cxxabi_config.h
+++ b/include/__cxxabi_config.h
@@ -24,15 +24,18 @@
#if defined(_LIBCXXABI_DLL)
#if defined(cxxabi_EXPORTS)
#define _LIBCXXABI_HIDDEN
+ #define _LIBCXXABI_DATA_VIS __declspec(dllexport)
#define _LIBCXXABI_FUNC_VIS __declspec(dllexport)
#define _LIBCXXABI_TYPE_VIS __declspec(dllexport)
#else
#define _LIBCXXABI_HIDDEN
+ #define _LIBCXXABI_DATA_VIS __declspec(dllimport)
#define _LIBCXXABI_FUNC_VIS __declspec(dllimport)
#define _LIBCXXABI_TYPE_VIS __declspec(dllimport)
#endif
#else
#define _LIBCXXABI_HIDDEN __attribute__((__visibility__("hidden")))
+ #define _LIBCXXABI_DATA_VIS __attribute__((__visibility__("default")))
#define _LIBCXXABI_FUNC_VIS __attribute__((__visibility__("default")))
#if __has_attribute(__type_visibility__)
#define _LIBCXXABI_TYPE_VIS __attribute__((__type_visibility__("default")))