summaryrefslogtreecommitdiff
path: root/include
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
commite159d3ec4a6cf7f2f5231307ef4ed991f7387f33 (patch)
tree5c395a64679c6d25912a2b8f6eeb0179dccd1358 /include
parentd5f800aab34ae03ecd3b2d4618aa0baba53fe8ab (diff)
downloadllvm-e159d3ec4a6cf7f2f5231307ef4ed991f7387f33.tar.gz
llvm-e159d3ec4a6cf7f2f5231307ef4ed991f7387f33.tar.bz2
llvm-e159d3ec4a6cf7f2f5231307ef4ed991f7387f33.tar.xz
Revert "[C++11] Do not check __GXX_EXPERIMENTAL_CXX0X__."
This reverts commit r204964 because it disabled "= delete", "constexpr" and "explicit" on GCC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204973 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Support/Compiler.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/include/llvm/Support/Compiler.h b/include/llvm/Support/Compiler.h
index 8ede85539b..1edcd45bc3 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