Hi François, > On 21 Sep 2023, at 05:41, François Dumont <frs.dum...@gmail.com> wrote: > > Tests were successful, ok to commit ? > > On 20/09/2023 19:51, François Dumont wrote: >> 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.
This does not work in the source on targets without support for symbol aliases (Darwin is one) “../experimental/contract.cc:79:8: warning: alias definitions not supported in Mach-O; ignored” - there might be a way to do it at link-time (for one symbol not too bad); I will have to poke at it a bit. Iain >> >> 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++ >>> <libstd...@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