From 8f972f6538b4d384dc7debb56a9a4ca8e1ba8d21 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 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283260 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/support/test_macros.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/support/test_macros.h b/test/support/test_macros.h index 534c13a2f..c751388e5 100644 --- a/test/support/test_macros.h +++ b/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)