This revision was automatically updated to reflect the committed changes. Closed by commit rCXX345900: Fix test assumption that Linux implies glibc. (authored by danalbert, committed by ).
Changed prior to commit: https://reviews.llvm.org/D53956?vs=172038&id=172255#toc Repository: rCXX libc++ https://reviews.llvm.org/D53956 Files: test/support/test_macros.h Index: test/support/test_macros.h =================================================================== --- test/support/test_macros.h +++ test/support/test_macros.h @@ -91,9 +91,11 @@ #if (defined(__has_include) && __has_include(<features.h>)) || \ defined(__linux__) #include <features.h> +#if defined(__GLIBC_PREREQ) #define TEST_HAS_GLIBC #define TEST_GLIBC_PREREQ(major, minor) __GLIBC_PREREQ(major, minor) #endif +#endif #if TEST_STD_VER >= 11 #define TEST_ALIGNOF(...) alignof(__VA_ARGS__) @@ -135,12 +137,16 @@ # define TEST_HAS_C11_FEATURES # define TEST_HAS_TIMESPEC_GET # elif defined(__linux__) -# if !defined(_LIBCPP_HAS_MUSL_LIBC) -# if defined(TEST_GLIBC_PREREQ) && TEST_GLIBC_PREREQ(2, 17) +// This block preserves the old behavior used by include/__config: +// _LIBCPP_GLIBC_PREREQ would be defined to 0 if __GLIBC_PREREQ was not +// available. The configuration here may be too vague though, as Bionic, uClibc, +// newlib, etc may all support these features but need to be configured. +# if defined(TEST_GLIBC_PREREQ) +# if TEST_GLIBC_PREREQ(2, 17) # define TEST_HAS_TIMESPEC_GET # define TEST_HAS_C11_FEATURES # endif -# else // defined(_LIBCPP_HAS_MUSL_LIBC) +# elif defined(_LIBCPP_HAS_MUSL_LIBC) # define TEST_HAS_C11_FEATURES # define TEST_HAS_TIMESPEC_GET # endif
Index: test/support/test_macros.h =================================================================== --- test/support/test_macros.h +++ test/support/test_macros.h @@ -91,9 +91,11 @@ #if (defined(__has_include) && __has_include(<features.h>)) || \ defined(__linux__) #include <features.h> +#if defined(__GLIBC_PREREQ) #define TEST_HAS_GLIBC #define TEST_GLIBC_PREREQ(major, minor) __GLIBC_PREREQ(major, minor) #endif +#endif #if TEST_STD_VER >= 11 #define TEST_ALIGNOF(...) alignof(__VA_ARGS__) @@ -135,12 +137,16 @@ # define TEST_HAS_C11_FEATURES # define TEST_HAS_TIMESPEC_GET # elif defined(__linux__) -# if !defined(_LIBCPP_HAS_MUSL_LIBC) -# if defined(TEST_GLIBC_PREREQ) && TEST_GLIBC_PREREQ(2, 17) +// This block preserves the old behavior used by include/__config: +// _LIBCPP_GLIBC_PREREQ would be defined to 0 if __GLIBC_PREREQ was not +// available. The configuration here may be too vague though, as Bionic, uClibc, +// newlib, etc may all support these features but need to be configured. +# if defined(TEST_GLIBC_PREREQ) +# if TEST_GLIBC_PREREQ(2, 17) # define TEST_HAS_TIMESPEC_GET # define TEST_HAS_C11_FEATURES # endif -# else // defined(_LIBCPP_HAS_MUSL_LIBC) +# elif defined(_LIBCPP_HAS_MUSL_LIBC) # define TEST_HAS_C11_FEATURES # define TEST_HAS_TIMESPEC_GET # endif
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits