https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85672

--- Comment #7 from Marc Glisse <glisse at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #5)
> > - -Wsystem-headers -Wundef will warn
> 
> That's the status quo. It would take a ton of effort to avoid -Wundef
> warnings in libstdc++ and that's not something I'm going to work on.

I was only listing it as a way to introduce the next point, you can forget it.

> > - it still leaves a weird situation where _GLIBCXX_USE_FLOAT128 may be 1, 0
> > or undefined, instead of just 2 choices.
> 
> Ah yes, good point. So we could either change include/Makefile.am to #undef
> it instead of setting it to 0, or do:
> 
> --- a/libstdc++-v3/include/bits/c++config
> +++ b/libstdc++-v3/include/bits/c++config
> @@ -611,7 +611,10 @@ namespace std
>  
>  /* Define if __float128 is supported on this host. */
>  #define _GLIBCXX_USE_FLOAT128
> -#if !defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)
> +#if _GLIBCXX_USE_FLOAT128 == 0
> +#undef _GLIBCXX_USE_FLOAT128
> +#endif
> +#elif !defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)
>  #undef _GLIBCXX_USE_FLOAT128
>  #endif
>  
> 
> I think I'd prefer to change include/Makefile.am
> 
> Then no changes to <bits/std_abs.h> and <type_traits> would be needed.

Yes, or maybe don't generate #define _GLIBCXX_USE_FLOAT128 0 but instead /*
#undef _GLIBCXX_USE_FLOAT128 */ as we used to do and as the rest of the
c++config.h file does. Actually, I am not sure why r259813 needed to change so
many things...

Reply via email to