[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
This commit is contained in:
Eric Fiselier 2016-10-04 21:25:51 +00:00
parent cc30c0b9f3
commit 8f972f6538

View File

@ -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(<features.h>)
#if defined(_LIBCPP_VERSION) && TEST_HAS_INCLUDE(<features.h>)
#include <features.h>
#define TEST_HAS_GLIBC
#define TEST_GLIBC_PREREQ(major, minor) __GLIBC_PREREQ(major, minor)