diff --git a/include/llvm/Support/Compiler.h b/include/llvm/Support/Compiler.h index 8ede85539b4..1edcd45bc3b 100644 --- a/include/llvm/Support/Compiler.h +++ b/include/llvm/Support/Compiler.h @@ -104,13 +104,14 @@ /// public: /// ... /// }; -#if __has_feature(cxx_deleted_functions) || LLVM_MSC_PREREQ(1800) +#if __has_feature(cxx_deleted_functions) || \ + defined(__GXX_EXPERIMENTAL_CXX0X__) || LLVM_MSC_PREREQ(1800) #define LLVM_DELETED_FUNCTION = delete #else #define LLVM_DELETED_FUNCTION #endif -#if __has_feature(cxx_constexpr) +#if __has_feature(cxx_constexpr) || defined(__GXX_EXPERIMENTAL_CXX0X__) # define LLVM_CONSTEXPR constexpr #else # define LLVM_CONSTEXPR @@ -325,7 +326,8 @@ /// \macro LLVM_EXPLICIT /// \brief Expands to explicit on compilers which support explicit conversion /// operators. Otherwise expands to nothing. -#if __has_feature(cxx_explicit_conversions) || LLVM_MSC_PREREQ(1800) +#if __has_feature(cxx_explicit_conversions) || \ + defined(__GXX_EXPERIMENTAL_CXX0X__) || LLVM_MSC_PREREQ(1800) #define LLVM_EXPLICIT explicit #else #define LLVM_EXPLICIT