Index: include/__config =================================================================== --- include/__config +++ include/__config @@ -881,7 +881,7 @@ # if defined(__GNUC__) && ((__GNUC__ >= 5) || (__GNUC__ == 4 && \ (__GNUC_MINOR__ >= 3 || __GNUC_PATCHLEVEL__ >= 2))) && !defined(__GXX_RTTI) # define _LIBCPP_NO_RTTI -# elif (defined(_MSC_VER) && !defined(__clang__)) && !defined(_CPPRTTI) +# elif defined(_LIBCPP_MSVC) && !defined(_CPPRTTI) # define _LIBCPP_NO_RTTI # endif #endif Index: include/__undef___deallocate =================================================================== --- include/__undef___deallocate +++ include/__undef___deallocate @@ -10,7 +10,7 @@ #ifdef __deallocate #if !defined(_LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS) -#if defined(_MSC_VER) && !defined(__clang__) +#if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("macro __deallocate is incompatible with C++. #undefining __deallocate") #else #warning: macro __deallocate is incompatible with C++. #undefining __deallocate Index: include/__undef_min_max =================================================================== --- include/__undef_min_max +++ include/__undef_min_max @@ -10,7 +10,7 @@ #ifdef min #if !defined(_LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS) -#if defined(_MSC_VER) && ! defined(__clang__) +#if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("macro min is incompatible with C++. Try #define NOMINMAX " "before any Windows header. #undefing min") #else @@ -22,7 +22,7 @@ #ifdef max #if !defined(_LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS) -#if defined(_MSC_VER) && ! defined(__clang__) +#if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("macro max is incompatible with C++. Try #define NOMINMAX " "before any Windows header. #undefing max") #else Index: include/ext/hash_map =================================================================== --- include/ext/hash_map +++ include/ext/hash_map @@ -207,7 +207,7 @@ #include #if __DEPRECATED -#if defined(_MSC_VER) && ! defined(__clang__) +#if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("Use of the header is deprecated. Migrate to ") #else # warning Use of the header is deprecated. Migrate to Index: include/ext/hash_set =================================================================== --- include/ext/hash_set +++ include/ext/hash_set @@ -199,7 +199,7 @@ #include #if __DEPRECATED -#if defined(_MSC_VER) && ! defined(__clang__) +#if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("Use of the header is deprecated. Migrate to ") #else # warning Use of the header is deprecated. Migrate to Index: src/exception.cpp =================================================================== --- src/exception.cpp +++ src/exception.cpp @@ -116,7 +116,7 @@ return __cxa_uncaught_exception() ? 1 : 0; # endif #else // __APPLE__ -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("uncaught_exceptions not yet implemented") # else # warning uncaught_exception not yet implemented @@ -189,7 +189,7 @@ #elif defined(__GLIBCXX__) reinterpret_cast<__exception_ptr::exception_ptr*>(this)->~exception_ptr(); #else -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("exception_ptr not yet implemented") # else # warning exception_ptr not yet implemented @@ -208,7 +208,7 @@ new (reinterpret_cast(this)) __exception_ptr::exception_ptr( reinterpret_cast(other)); #else -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("exception_ptr not yet implemented") # else # warning exception_ptr not yet implemented @@ -233,7 +233,7 @@ reinterpret_cast(other); return *this; #else -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("exception_ptr not yet implemented") # else # warning exception_ptr not yet implemented @@ -277,7 +277,7 @@ ptr.__ptr_ = __cxa_current_primary_exception(); return ptr; #else -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC) _LIBCPP_WARNING( "exception_ptr not yet implemented" ) # else # warning exception_ptr not yet implemented @@ -299,7 +299,7 @@ #elif defined(__GLIBCXX__) rethrow_exception(reinterpret_cast<__exception_ptr::exception_ptr&>(p)); #else -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("exception_ptr not yet implemented") # else # warning exception_ptr not yet implemented Index: src/include/atomic_support.h =================================================================== --- src/include/atomic_support.h +++ src/include/atomic_support.h @@ -29,7 +29,7 @@ #endif #if !defined(_LIBCPP_HAS_ATOMIC_BUILTINS) && !defined(_LIBCPP_HAS_NO_THREADS) -# if defined(_MSC_VER) && !defined(__clang__) +# if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("Building libc++ without __atomic builtins is unsupported") # else # warning Building libc++ without __atomic builtins is unsupported Index: src/thread.cpp =================================================================== --- src/thread.cpp +++ src/thread.cpp @@ -99,7 +99,7 @@ #else // defined(CTL_HW) && defined(HW_NCPU) // TODO: grovel through /proc or check cpuid on x86 and similar // instructions on other architectures. -# if defined(_MSC_VER) && ! defined(__clang__) +# if defined(_LIBCPP_MSVC) _LIBCPP_WARNING("hardware_concurrency not yet implemented") # else # warning hardware_concurrency not yet implemented Index: utils/google-benchmark/include/benchmark/macros.h =================================================================== --- utils/google-benchmark/include/benchmark/macros.h +++ utils/google-benchmark/include/benchmark/macros.h @@ -33,7 +33,7 @@ #define BENCHMARK_ALWAYS_INLINE __attribute__((always_inline)) #define BENCHMARK_NOEXCEPT noexcept #define BENCHMARK_NOEXCEPT_OP(x) noexcept(x) -#elif defined(_MSC_VER) && !defined(__clang__) +#elif defined(_LIBCPP_MSVC) #define BENCHMARK_UNUSED #define BENCHMARK_ALWAYS_INLINE __forceinline #if _MSC_VER >= 1900