From 015839a555e7e476f1dfb16d0e8c3b98de26aaee Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Tue, 4 Oct 2016 21:25:51 +0000 Subject: [PATCH] [libcxx] [test] Guard __has_include usage with a macro Summary: There's a macro scheme already being used for __has_feature etc. Use it for __has_include too, which makes MSVC happy (it doesn't support __has_include yet, and unguarded use explodes horribly). Reviewers: mclow.lists, EricWF Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D25251 llvm-svn: 283260 --- libcxx/test/support/test_macros.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libcxx/test/support/test_macros.h b/libcxx/test/support/test_macros.h index 534c13a..c751388 100644 --- a/libcxx/test/support/test_macros.h +++ b/libcxx/test/support/test_macros.h @@ -22,6 +22,12 @@ #define TEST_HAS_FEATURE(X) 0 #endif +#ifdef __has_include +#define TEST_HAS_INCLUDE(X) __has_include(X) +#else +#define TEST_HAS_INCLUDE(X) 0 +#endif + #ifdef __has_extension #define TEST_HAS_EXTENSION(X) __has_extension(X) #else @@ -63,7 +69,7 @@ #endif // Attempt to deduce GCC version -#if defined(_LIBCPP_VERSION) && __has_include() +#if defined(_LIBCPP_VERSION) && TEST_HAS_INCLUDE() #include #define TEST_HAS_GLIBC #define TEST_GLIBC_PREREQ(major, minor) __GLIBC_PREREQ(major, minor) -- 2.7.4