Fix gnu versioned namespace mode 01/03
Iain Sandoe
idsandoe@googlemail.com
Tue May 7 16:08:57 GMT 2024
Hi François
As you know I am keen to see this land - but having had some experience with applying previous patches to actual toolchain builds ..
> On 4 May 2024, at 22:11, François Dumont <frs.dumont@gmail.com> wrote:
>
> libstdc++: Bump gnu versioned namespace to __9
I think that the namespace version should be a top-level configure choice. —with-libstdcxx-namespace-version= (for example) - we ought to be able to make that the only thing that is required to trigger the process.
The reasons are:
1. (significant) The information is needed by both the (FE) testsuites and the library ( I do not think the it’s a nice maintenance job to have to go through all the testcases that have the namespace visible and change them for each GCC release); instead we should arrange to set some variable in gcc/site.exp that the FE tests can consume (I do not think that this is too hard to arrange - although it might be necessary to figure out how to make scan* tests work with it)
2. (nice-to-have) For targets which have never used a versioned namespace it seems odd to jump straight from 6 to 9.
Iain
>
> libstdc++-v3/ChangeLog:
>
> * acinclude.m4 (libtool_VERSION): Bump to 9:0:0.
> * config/abi/pre/gnu-versioned-namespace.ver (GLIBCXX_8.0): Replace by GLIBCXX_9.0.
> Adapt all references to __8 namespace.
> * configure: Regenerate.
> * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Define as 'namespace __9{'.
> (_GLIBCXX_STD_V): Adapt.
> * include/std/format (to_chars): Update namespace version in symbols alias definitions.
> (__format::_Arg_store): Update namespace version in make_format_args friend
> declaration.
> * python/libstdcxx/v6/printers.py (_versioned_namespace): Assign '__9::'.
> * python/libstdcxx/v6/xmethods.py: Likewise.
> * testsuite/23_containers/map/48101_neg.cc: Adapt dg-error.
> * testsuite/23_containers/multimap/48101_neg.cc: Likewise.
> * testsuite/20_util/function/cons/70692.cc: Likewise.
> * testsuite/20_util/function_objects/bind_back/111327.cc: Likewise.
> * testsuite/20_util/function_objects/bind_front/111327.cc: Likewise.
> * testsuite/lib/prune.exp (libstdc++-dg-prune): Bump version namespace.
>
> Ok to commit ?
>
> François
> <bump_version_ns_patch.txt>
More information about the Libstdc++
mailing list