[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