On 04/05/17 22:16 +0200, François Dumont wrote:
Hi

Here is the patch to remove the useless _Is_pod_comparator _Rb_tree_impl template parameter. As this is an ABI breaking change it is limited to the versioned namespace mode and the patch also bump the namespace version.

Working on this patch I wonder if the gnu-versioned-namespace.ver is really up to date. The list of export expressions is far smaller than the one in gnu.ver.

Because it uses wildcards that match all symbols, because using the
versioned namespace everything gets the same symbol version. We don't
need to assign different versions to different symbols.

Would the testsuite show that some symbols are not properly exported ?

Yes (as long as we have a test that exercises the feature).


   Bump version namespace.
   * config/abi/pre/gnu-versioned-namespace.ver: Bump version namespace
   from __7 to __8. Bump GLIBCXX_7.0 into GLIBCXX_8.0.
   * include/bits/c++config: Adapt.
   * include/bits/regex.h: Adapt.
   * include/experimental/bits/fs_fwd.h: Adapt.
   * include/experimental/bits/lfts_config.h: Adapt.
   * include/std/variant: Adapt.
   * python/libstdcxx/v6/printers.py: Adapt.
   * testsuite/libstdc++-prettyprinters/48362.cc: Adapt.
   * include/bits/stl_tree.h (_Rb_tree_impl<>): Remove _Is_pod_comparator
   template parameter when version namespace is active.

The patch also needs to update libtool_VERSION in acinclude.m4 so that
the shared library goes from libstdc++.so.7 to libstdc++.so.8 (because
after this change we're absolutely not compatible with libstdc++.so.7)


Reply via email to