Author: pcc Date: Wed Jan 10 10:16:58 2018 New Revision: 322201 URL: http://llvm.org/viewvc/llvm-project?rev=322201&view=rev Log: libcxx: Stop providing a definition of __GLIBC_PREREQ.
An application may determine whether the C standard library is glibc by testing whether __GLIBC_PREREQ is defined. This breaks if libc++ provides its own definition. Instead, define our own macro in our namespace with the desired semantics. Differential Revision: https://reviews.llvm.org/D41892 Modified: libcxx/trunk/include/__config Modified: libcxx/trunk/include/__config URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__config?rev=322201&r1=322200&r2=322201&view=diff ============================================================================== --- libcxx/trunk/include/__config (original) +++ libcxx/trunk/include/__config Wed Jan 10 10:16:58 2018 @@ -184,9 +184,11 @@ // Need to detect which libc we're using if we're on Linux. #if defined(__linux__) #include <features.h> -#if !defined(__GLIBC_PREREQ) -#define __GLIBC_PREREQ(a, b) 0 -#endif // !defined(__GLIBC_PREREQ) +#if defined(__GLIBC_PREREQ) +#define _LIBCPP_GLIBC_PREREQ(a, b) __GLIBC_PREREQ(a, b) +#else +#define _LIBCPP_GLIBC_PREREQ(a, b) 0 +#endif // defined(__GLIBC_PREREQ) #endif // defined(__linux__) #ifdef __LITTLE_ENDIAN__ @@ -416,10 +418,10 @@ typedef __char32_t char32_t; #define _LIBCPP_HAS_C11_FEATURES #elif defined(__linux__) #if !defined(_LIBCPP_HAS_MUSL_LIBC) -#if __GLIBC_PREREQ(2, 15) || defined(__BIONIC__) +#if _LIBCPP_GLIBC_PREREQ(2, 15) || defined(__BIONIC__) #define _LIBCPP_HAS_QUICK_EXIT #endif -#if __GLIBC_PREREQ(2, 17) +#if _LIBCPP_GLIBC_PREREQ(2, 17) #define _LIBCPP_HAS_C11_FEATURES #endif #else // defined(_LIBCPP_HAS_MUSL_LIBC) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits