summaryrefslogtreecommitdiff
path: root/include/__cxxabi_config.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/__cxxabi_config.h')
-rw-r--r--include/__cxxabi_config.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/include/__cxxabi_config.h b/include/__cxxabi_config.h
index 957754f..68e325f 100644
--- a/include/__cxxabi_config.h
+++ b/include/__cxxabi_config.h
@@ -17,4 +17,28 @@
#define LIBCXXABI_ARM_EHABI 0
#endif
+#if !defined(__has_attribute)
+#define __has_attribute(_attribute_) 0
+#endif
+
+#if defined(_LIBCXXABI_DLL)
+ #if defined(cxxabi_EXPORTS)
+ #define _LIBCXXABI_HIDDEN
+ #define _LIBCXXABI_FUNC_VIS __declspec(dllexport)
+ #define _LIBCXXABI_TYPE_VIS __declspec(dllexport)
+ #else
+ #define _LIBCXXABI_HIDDEN
+ #define _LIBCXXABI_FUNC_VIS __declspec(dllimport)
+ #define _LIBCXXABI_TYPE_VIS __declspec(dllimport)
+ #endif
+#else
+ #define _LIBCXXABI_HIDDEN __attribute__((__visibility__("hidden")))
+ #define _LIBCXXABI_FUNC_VIS __attribute__((__visibility__("default")))
+ #if __has_attribute(__type_visibility__)
+ #define _LIBCXXABI_TYPE_VIS __attribute__((__type_visibility__("default")))
+ #else
+ #define _LIBCXXABI_TYPE_VIS __attribute__((__visibility__("default")))
+ #endif
+#endif
+
#endif // ____CXXABI_CONFIG_H