diff options
Diffstat (limited to 'clang-r344140b/include/c++/v1/__cxxabi_config.h')
| -rw-r--r-- | clang-r344140b/include/c++/v1/__cxxabi_config.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/clang-r344140b/include/c++/v1/__cxxabi_config.h b/clang-r344140b/include/c++/v1/__cxxabi_config.h new file mode 100644 index 00000000..46f59144 --- /dev/null +++ b/clang-r344140b/include/c++/v1/__cxxabi_config.h @@ -0,0 +1,73 @@ +//===-------------------------- __cxxabi_config.h -------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef ____CXXABI_CONFIG_H +#define ____CXXABI_CONFIG_H + +#if defined(__arm__) && !defined(__USING_SJLJ_EXCEPTIONS__) && \ + !defined(__ARM_DWARF_EH__) +#define _LIBCXXABI_ARM_EHABI +#endif + +#if !defined(__has_attribute) +#define __has_attribute(_attribute_) 0 +#endif + +#if defined(_WIN32) + #if defined(_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS) + #define _LIBCXXABI_HIDDEN + #define _LIBCXXABI_DATA_VIS + #define _LIBCXXABI_FUNC_VIS + #define _LIBCXXABI_TYPE_VIS + #elif defined(_LIBCXXABI_BUILDING_LIBRARY) + #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 + #if !defined(_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS) + #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"))) + #else + #define _LIBCXXABI_TYPE_VIS __attribute__((__visibility__("default"))) + #endif + #else + #define _LIBCXXABI_HIDDEN + #define _LIBCXXABI_DATA_VIS + #define _LIBCXXABI_FUNC_VIS + #define _LIBCXXABI_TYPE_VIS + #endif +#endif + +#if defined(_WIN32) +#define _LIBCXXABI_WEAK +#else +#define _LIBCXXABI_WEAK __attribute__((__weak__)) +#endif + +#if defined(__clang__) +#define _LIBCXXABI_COMPILER_CLANG +#endif + +#if __has_attribute(__no_sanitize__) && defined(_LIBCXXABI_COMPILER_CLANG) +#define _LIBCXXABI_NO_CFI __attribute__((__no_sanitize__("cfi"))) +#else +#define _LIBCXXABI_NO_CFI +#endif + +#endif // ____CXXABI_CONFIG_H |
