[PATCH][_GLIBCXX_INLINE_VERSION] Fix <format> friend declarations

François Dumont frs.dumont@gmail.com
Thu Sep 7 16:59:45 GMT 2023


Hi

Any news regarding this problem ?

François

On 23/08/2023 19:35, François Dumont wrote:
> Hi
>
> The few tests that are failing in versioned namespace mode are due to 
> those friend declarations.
>
> This is a fix proposal even if I considered 2 other options:
>
> 1. Make __format::_Arg_store a struct and so do not bother with friend 
> declarations.
>
> 2. Consider it as a compiler bug and do nothing. In this case I think 
> we might still need this patch to avoid a non-working format library 
> in versioned namespace mode in gcc 14 if compiler bug is not fixed.
>
> I can also define _GLIBCXX_STD_V at <format> level to limit impact.
>
>     libstdc++: [_GLIBCXX_INLINE_VERSION] Fix <format> friend declarations
>
>     GCC do not consider the inline namespace in friend declarations. 
> We need
>     to explicit this namespace.
>
>     libstdc++-v3/ChangeLog:
>
>             * include/bits/c++config (_GLIBCXX_STD_V): New macro 
> giving current
>             std namespace with optionally the version namespace.
>             * include/std/format (std::__format::_Arg_store): Use 
> latter on friend
>             declarations.
>
> Tested under versioned mode.
>
> Ok to commit ?
>
> François


More information about the Libstdc++ mailing list