diff options
author | Casey Carter <Casey@Carter.net> | 2017-05-10 19:10:49 +0000 |
---|---|---|
committer | Casey Carter <Casey@Carter.net> | 2017-05-10 19:10:49 +0000 |
commit | 768a93fbebc6a2936b6dbd78a863cbf791bf27d6 (patch) | |
tree | c153eefd9ef1c5983cb3cdfac874a53359b262d9 /libcxx/test/support/test_macros.h | |
parent | fa948c724a0f033f5d6c660115068c64077e624f (diff) | |
download | bcm5719-llvm-768a93fbebc6a2936b6dbd78a863cbf791bf27d6.tar.gz bcm5719-llvm-768a93fbebc6a2936b6dbd78a863cbf791bf27d6.zip |
[test] support machinery changes for EDG & C1XX /Za
This change works around a couple of bugs:
1. EDG doesn't like explicit constexpr in a derived class. This program:
struct Base {};
struct Derived : Base {
constexpr Derived() = default;
};
triggers "error: defaulted default constructor cannot be constexpr."
2. C1XX with /Za has no idea which constructor needs to be valid for copy elision.
The change also conditionally disables parts of the msvc_stdlib_force_include.hpp header that conflict with external configuration when _LIBCXX_IN_DEVCRT is defined.
Differential Revision: https://reviews.llvm.org/D32778
llvm-svn: 302707
Diffstat (limited to 'libcxx/test/support/test_macros.h')
-rw-r--r-- | libcxx/test/support/test_macros.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libcxx/test/support/test_macros.h b/libcxx/test/support/test_macros.h index 46fcb66fecf..6b573d40fe6 100644 --- a/libcxx/test/support/test_macros.h +++ b/libcxx/test/support/test_macros.h @@ -52,10 +52,12 @@ #define TEST_HAS_BUILTIN_IDENTIFIER(X) 0 #endif -#if defined(__clang__) -#define TEST_COMPILER_CLANG +#if defined(__EDG__) +# define TEST_COMPILER_EDG +#elif defined(__clang__) +# define TEST_COMPILER_CLANG # if defined(__apple_build_version__) -# define TEST_COMPILER_APPLE_CLANG +# define TEST_COMPILER_APPLE_CLANG # endif #elif defined(_MSC_VER) # define TEST_COMPILER_C1XX |