Use version namespace in normal mode

Jonathan Wakely jwakely@redhat.com
Fri Sep 30 15:40:00 GMT 2016


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.



More information about the Libstdc++ mailing list