The __cow_string used with -D_GLIBCXX_USE_CXX11_ABI=0, does not provide
erase accepting const_iterator, so we adjust __detail::__erase.if
(introduced in r16-6889-g3287) to call __cont.erase with mutable iterators.
libstdc++-v3/ChangeLog:
* include/bits/erase_if.h (__detail::__erase_if): Pass mutable
iterators to __cont.erase.
---
libstdc++-v3/include/bits/erase_if.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Tested on x86_64-linux. Pushed to trunk.
diff --git a/libstdc++-v3/include/bits/erase_if.h
b/libstdc++-v3/include/bits/erase_if.h
index d5a5278d128..9d14b63a289 100644
--- a/libstdc++-v3/include/bits/erase_if.h
+++ b/libstdc++-v3/include/bits/erase_if.h
@@ -58,8 +58,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
std::move(__pred));
if (__removed != __end)
{
- __cont.erase(__niter_wrap(__cont.cbegin(), __removed),
- __cont.cend());
+ __cont.erase(__niter_wrap(__cont.begin(), __removed),
+ __cont.end());
return __osz - __ucont.size();
}
--
2.52.0