summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2014-03-27 22:36:06 +0000
committerRui Ueyama <ruiu@google.com>2014-03-27 22:36:06 +0000
commit48d9138c6924c7866752ba4b7e719cc352b9c0e5 (patch)
treee4f2aaf9ef65582514e753f7ca56320ac36ff519
parent85b904d875ca98408b27f773859b15c0aba1bf75 (diff)
downloadbcm5719-llvm-48d9138c6924c7866752ba4b7e719cc352b9c0e5.tar.gz
bcm5719-llvm-48d9138c6924c7866752ba4b7e719cc352b9c0e5.zip
Revert "[C++11] Do not check __GXX_EXPERIMENTAL_CXX0X__."
This reverts commit r204964 because it disabled "= delete", "constexpr" and "explicit" on GCC. llvm-svn: 204973
-rw-r--r--llvm/include/llvm/Support/Compiler.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/include/llvm/Support/Compiler.h b/llvm/include/llvm/Support/Compiler.h
index 8ede85539b4..1edcd45bc3b 100644
--- a/llvm/include/llvm/Support/Compiler.h
+++ b/llvm/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
OpenPOWER on IntegriCloud