This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Use version namespace in normal mode
- From: Jonathan Wakely <jwakely at redhat dot com>
- To: François Dumont <frs dot dumont at gmail dot com>
- Cc: "libstdc++ at gcc dot gnu dot org" <libstdc++ at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 30 Sep 2016 16:40:34 +0100
- Subject: Re: Use version namespace in normal mode
- Authentication-results: sourceware.org; auth=none
- References: <34ba2c69-d663-4bd3-dc7a-8efef3e56afe@gmail.com>
On 29/09/16 21:59 +0200, François Dumont wrote:
Hi
I think _GLIBCXX_BEGIN_NAMESPACE_ALGO should default to
_GLIBCXX_BEGIN_NAMESPACE_VERSION when parallel mode is not active.
Same for _GLIBCXX_BEGIN_NAMESPACE_CONTAINER, no ?
Hmm, yes, I think this is correct, otherwise we're missing the VERSION
namespace in normal mode. But it seems we've always been missing it
since those macros were introduced in GCC 4.6 so I'd like to
investigate the consequences for gnu-versioned-namespace more
carefuly.
* include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_ALGO)
(_GLIBCXX_END_NAMESPACE_ALGO): Default to respectively
_GLIBCXX_BEGIN_NAMESPACE_VERSION and _GLIBCXX_END_NAMESPACE_VERSION
when parallel mode is not active.
(_GLIBCXX_BEGIN_NAMESPACE_CONTAINER, _GLIBCXX_END_NAMESPACE_CONTAINER):
Likewise.
Ok to commit after normal check ? Should I rebuild library with
versioned namespace activated ?
Any change affecting the NAMESPACE_VERSION macros should be tested
with the gnu-versioned-namespace, since those macros are only used for
that mode.
But it can't be tested currently, see PR 77794. So let's wait until
I've fixed 77794, when we can test it.