libstdc++: Fix std::string error in Debug Mode
authorJonathan Wakely <jwakely@redhat.com>
Thu, 27 Feb 2020 15:13:16 +0000 (15:13 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Thu, 27 Feb 2020 15:13:16 +0000 (15:13 +0000)
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.

libstdc++-v3/ChangeLog
libstdc++-v3/include/debug/string

index 946459c3cb8e08015d1887b6ede493588d027ac0..53fc59c6a0d6691e22d6048c5f2f9ce1c561b64a 100644 (file)
@@ -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.
 
index 6615b08ba6d499625a9f589adbc2eb4cea6a4a5a..1431ebafebab5b82e8bd1167565df10b9275c8a6 100644 (file)
@@ -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));