[gcc(refs/users/marxin/heads/marxin-gcc-benchmark-branch)] libstdc++: Fix std::string error in Debug Mode

Martin Liska marxin@gcc.gnu.org
Mon Mar 30 10:25:36 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