Making libcxx compile with gcc 4.6.4
Yaron Keren
yaron.keren at gmail.com
Thu Nov 21 07:34:50 PST 2013
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.
Yaron
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131121/a957abef/attachment.html>
-------------- next part --------------
Index: include/__config
===================================================================
--- include/__config (revision 194869)
+++ include/__config (working copy)
@@ -389,9 +389,7 @@
#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 @@
#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 {
More information about the cfe-commits
mailing list