Compiler.h: Disable initializer list usage with clang-cl
[oota-llvm.git] / include / llvm / Support / Compiler.h
index 860f43e9423e5ad3b692e810d89dff8ad8522095..ea394a40019794803a5f010db415fbcc44dfc9e6 100644 (file)
 #endif
 
 /// \brief Does the compiler support generalized initializers (using braced
-/// lists and std::initializer_list).
-#if __has_feature(cxx_generalized_initializers)
+/// lists and std::initializer_list).  While clang may claim it supports general
+/// initializers, if we're using MSVC's headers, we might not have a usable
+/// std::initializer list type from the STL.  Disable this for now.
+#if __has_feature(cxx_generalized_initializers) && !defined(_MSC_VER)
 #define LLVM_HAS_INITIALIZER_LISTS 1
 #else
 #define LLVM_HAS_INITIALIZER_LISTS 0