From 37d0212c572c3f224b10848c325dbb2b9acff673 Mon Sep 17 00:00:00 2001 From: Yaron Keren Date: Fri, 22 Nov 2013 09:22:12 +0000 Subject: [PATCH] Compiling libcxx with gcc 4.6.4 (MingW) produces these errors: type_traits:3280:31: error: expected primary-expression before 'decltype' type_traits:3280:29: error: expected ';' at end of member declaration memory:2415:49: error: function 'std::__1::default_delete<_Tp>::default_delete()' defaulted on its first declaration must not have an exception-specification memory:2435:49: error: function 'std::__1::default_delete<_Tp []>::default_delete()' defaulted on its first declaration must not have an exception-specification The attached patch defines _LIBCPP_HAS_NO_ADVANCED_SFINAE and _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS for gcc version < 4.7, making the library compile with gcc 4.6.4. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@195431 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/__config | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/include/__config b/include/__config index 874bcc15..45207392 100644 --- a/include/__config +++ b/include/__config @@ -389,9 +389,7 @@ namespace std { #endif #if _GNUC_VER < 404 -#define _LIBCPP_HAS_NO_ADVANCED_SFINAE #define _LIBCPP_HAS_NO_DECLTYPE -#define _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS #define _LIBCPP_HAS_NO_DELETED_FUNCTIONS #define _LIBCPP_HAS_NO_UNICODE_CHARS #define _LIBCPP_HAS_NO_VARIADICS @@ -402,6 +400,11 @@ namespace std { #define _LIBCPP_HAS_NO_NULLPTR #endif +#if _GNUC_VER < 407 +#define _LIBCPP_HAS_NO_ADVANCED_SFINAE +#define _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS +#endif + #endif // __GXX_EXPERIMENTAL_CXX0X__ #define _LIBCPP_BEGIN_NAMESPACE_STD namespace std { namespace _LIBCPP_NAMESPACE {