[PATCH][_GLIBCXX_INLINE_VERSION] Fix <contracts>

François Dumont frs.dumont@gmail.com
Wed Sep 20 17:51:35 GMT 2023


libstdc++: [_GLIBCXX_INLINE_VERSION] Add handle_contract_violation 
symbol alias

libstdc++-v3/ChangeLog:

     * src/experimental/contract.cc
     [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Provide 
symbol alias
     without version namespace decoration for gcc.

Here is what I'm testing eventually, ok to commit if successful ?

François

On 20/09/2023 11:32, Jonathan Wakely wrote:
> On Wed, 20 Sept 2023 at 05:51, François Dumont via Libstdc++
> <libstdc++@gcc.gnu.org> wrote:
>> libstdc++: Remove std::constract_violation from versioned namespace
> Spelling mistake in contract_violation, and it's not
> std::contract_violation, it's std::experimental::contract_violation
>
>> GCC expects this type to be in std namespace directly.
> Again, it's in std::experimental not in std directly.
>
> Will this change cause problems when including another experimental
> header, which does put experimental below std::__8?
>
> I think std::__8::experimental and std::experimental will become ambiguous.
>
> Maybe we do want to remove the inline __8 namespace from all
> experimental headers. That needs a bit more thought though.
>
>> libstdc++-v3/ChangeLog:
>>
>>       * include/experimental/contract:
>>       Remove _GLIBCXX_BEGIN_NAMESPACE_VERSION/_GLIBCXX_END_NAMESPACE_VERSION.
> This line is too long for the changelog.
>
>> It does fix 29 g++.dg/contracts in gcc testsuite.
>>
>> Ok to commit ?
>>
>> François
-------------- next part --------------
A non-text attachment was scrubbed...
Name: contract.patch
Type: text/x-patch
Size: 743 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/libstdc++/attachments/20230920/05fbf6a5/attachment.bin>


More information about the Libstdc++ mailing list