[libcxxabi] Define _LIBCXXABI_WEAK properly for mingw compilers
Copy over the compiler detection structure from libcxx, and set _LIBCXXABI_WEAK like _LIBCPP_WEAK is set in libcxx. This allows users to override operator new/delete, if using those operators from libcxxabi instead of from libcxx. Differential Revision: https://reviews.llvm.org/D89863
This commit is contained in:
parent
8e8cc587a5
commit
5449ea9f90
@ -18,6 +18,19 @@
|
|||||||
#define __has_attribute(_attribute_) 0
|
#define __has_attribute(_attribute_) 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__clang__)
|
||||||
|
# define _LIBCXXABI_COMPILER_CLANG
|
||||||
|
# ifndef __apple_build_version__
|
||||||
|
# define _LIBCXXABI_CLANG_VER (__clang_major__ * 100 + __clang_minor__)
|
||||||
|
# endif
|
||||||
|
#elif defined(__GNUC__)
|
||||||
|
# define _LIBCXXABI_COMPILER_GCC
|
||||||
|
#elif defined(_MSC_VER)
|
||||||
|
# define _LIBCXXABI_COMPILER_MSVC
|
||||||
|
#elif defined(__IBMCPP__)
|
||||||
|
# define _LIBCXXABI_COMPILER_IBM
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
#if defined(_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS)
|
#if defined(_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS)
|
||||||
#define _LIBCXXABI_HIDDEN
|
#define _LIBCXXABI_HIDDEN
|
||||||
@ -53,7 +66,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#if defined(_LIBCXXABI_COMPILER_MSVC)
|
||||||
#define _LIBCXXABI_WEAK
|
#define _LIBCXXABI_WEAK
|
||||||
#else
|
#else
|
||||||
#define _LIBCXXABI_WEAK __attribute__((__weak__))
|
#define _LIBCXXABI_WEAK __attribute__((__weak__))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user