On 24 Jan 2016, at 12:20, Mark Millard <[email protected]> wrote:
> 
> My current trial powerpc64-gcc based buildworld is well past where it stopped 
> before (in a clang 3.8.0 part of the build). What I changed in libc++ was 
> just a little of __config:

It appears upstream has done approximately the same thing here:
http://llvm.org/viewvc/llvm-project?view=revision&revision=255585


> # svnlite diff /usr/src/contrib/libc++/include/__config
> Index: /usr/src/contrib/libc++/include/__config
> ===================================================================
> --- /usr/src/contrib/libc++/include/__config  (revision 294609)
> +++ /usr/src/contrib/libc++/include/__config  (working copy)
> @@ -432,13 +432,15 @@
> // No version of GCC supports relaxed constexpr rules
> #define _LIBCPP_HAS_NO_CXX14_CONSTEXPR
> // GCC 5 will support variable templates
> +#if !defined(__cpp_variable_templates) || __cpp_variable_templates < 201304L
> #define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES
> +#endif
> 
> #define _NOEXCEPT throw()
> #define _NOEXCEPT_(x)
> #define _NOEXCEPT_OR_FALSE(x) false
> 
> -#ifndef __GXX_EXPERIMENTAL_CXX0X__
> +#if !defined(__GXX_EXPERIMENTAL_CXX0X__) && __cplusplus < 201103L

Except for this change.  Why was this needed?

> 
> #define _LIBCPP_HAS_NO_ADVANCED_SFINAE
> #define _LIBCPP_HAS_NO_DECLTYPE
> @@ -454,7 +456,10 @@
> 
> #else  // __GXX_EXPERIMENTAL_CXX0X__
> 
> +#if _GNUC_VER < 404
> #define _LIBCPP_HAS_NO_TRAILING_RETURN
> +#endif
> +
> #define _LIBCPP_HAS_NO_ALWAYS_INLINE_VARIADICS

Upstream put this in a different part, but semantically it means the
same.

Eventually I will just import a newer libc++ snapshot wholesale, or when
the 3.8.0 version is released, but as I have enough on my plate for now,
I will postpone it until clang 3.8.0 hits head.

-Dimitry

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to