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

Reply via email to