[gcc(refs/vendors/ibm/heads/perf)] libstdc++: Fix std::string error in Debug Mode
Jiu Fu Guo
guojiufu@gcc.gnu.org
Thu Mar 19 05:55:57 GMT 2020
https://gcc.gnu.org/g:f32a3662cda0492c7d18f32e9a8eac1054e69d62
commit f32a3662cda0492c7d18f32e9a8eac1054e69d62
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Thu Feb 27 15:13:16 2020 +0000
libstdc++: Fix std::string error in Debug Mode
This fixes a test failure with -std=gnu++98 -D_GLIBCXX_DEBUG:
FAIL: 21_strings/basic_string/modifiers/insert/char/1.cc (test for excess errors)
* include/debug/string (__gnu_debug::basic_string::insert): Fix for
C++98 where the member function of the base class returns void.
Diff:
---
libstdc++-v3/ChangeLog | 3 +++
libstdc++-v3/include/debug/string | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 946459c3cb8..53fc59c6a0d 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,8 @@
2020-02-27 Jonathan Wakely <jwakely@redhat.com>
+ * include/debug/string (__gnu_debug::basic_string::insert): Fix for
+ C++98 where the member function of the base class returns void.
+
* testsuite/util/testsuite_iterators.h (forward_iterator_wrapper): Add
equality comparisons that support value-initialized iterators.
diff --git a/libstdc++-v3/include/debug/string b/libstdc++-v3/include/debug/string
index 6615b08ba6d..1431ebafeba 100644
--- a/libstdc++-v3/include/debug/string
+++ b/libstdc++-v3/include/debug/string
@@ -635,7 +635,7 @@ namespace __gnu_debug
__glibcxx_check_insert_range(__p, __first, __last, __dist);
typename _Base::iterator __res;
-#if _GLIBCXX_USE_CXX11_ABI
+#if _GLIBCXX_USE_CXX11_ABI && __cplusplus >= 201103
if (__dist.second >= __dp_sign)
__res = _Base::insert(__p.base(), __gnu_debug::__unsafe(__first),
__gnu_debug::__unsafe(__last));
More information about the Libstdc++-cvs
mailing list