[PATCH] PR libstdc++/81064 fix versioned namespace
François Dumont
frs.dumont@gmail.com
Wed Jul 19 21:02:00 GMT 2017
Here is the revisited version passing all tests successfully except 2
that are also failing without the patch:
FAIL: 21_strings/basic_string/modifiers/insert/char/1.cc execution test
FAIL: 21_strings/basic_string/modifiers/insert/wchar_t/1.cc execution test
This is a rather mechanical change except for few files I would like to
comment on:
- include/bits/c++config
I removed many declaration of namespace that are not necessary as
we don't need to declare any nested inline namespace anymore. In this
last version I managed to isolate the versioned namespace value to a
single location: the definition of _GLIBCXX_BEGIN_VERSION_NAMESPACE.
After the patch it is the only location of this version information so
next bump will be resume to updating c++config apart from python and
build scripts.
Note that the PR seems to say that the namespace should be always
declared the same way. In this patch __8 is declared inline only in
c++config, _GLIBCXX_BEGIN_VERSION_NAMESPACE don't repeat the inline keyword.
- include/bits/regex.h
- include/std/variant
In those 2 files we were having:
friend bool __detail::
#if _GLIBCXX_INLINE_VERSION
__8:: // Required due to PR c++/59256
#endif
...
I don't know if the front end change was to fix c++/59256 or if it
is due to the new namespace organization but I removed this code and
tests are successful. They were of course failing because there is no
more __detail::__8.
I am now ready to commit. I'll do it this week-end if I have no
further feedback.
François
-------------- next part --------------
A non-text attachment was scrubbed...
Name: versioned_namespace.patch.bz2
Type: application/x-bzip
Size: 19802 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20170719/b3515d29/attachment.bin>
More information about the Libstdc++
mailing list