This fixes the following testsuite failures on ia32 when compiled with
-D_GLIBCXX_DEBUG:
FAIL: 23_containers/map/modifiers/erase/dr130-linkage-check.cc
FAIL: 23_containers/multimap/modifiers/erase/dr130-linkage-check.cc
FAIL: 23_containers/multiset/modifiers/erase/dr130-linkage-check.cc
FAIL: 23_containers/set/modifiers/erase/dr130-linkage-check.cc
The normal mode containers already use the abi-tag to mangle these
overloads differently, but the debug mode versions weren't fixed.
* include/debug/map.h (map::erase(iterator)): Add abi-tag so that
C++11 version mangles differently from incompatible C++98 version.
* include/debug/multimap.h (multimap::erase(iterator)): Likewise.
* include/debug/multiset.h (multiset::erase(iterator))
(multiset::erase(const_iterator, const_iterator)): Likewise.
* include/debug/set.h (set::erase(iterator))
(multiset::erase(const_iterator, const_iterator)): Likewise.
From-SVN: r265313
+2018-10-19 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/debug/map.h (map::erase(iterator)): Add abi-tag so that
+ C++11 version mangles differently from incompatible C++98 version.
+ * include/debug/multimap.h (multimap::erase(iterator)): Likewise.
+ * include/debug/multiset.h (multiset::erase(iterator))
+ (multiset::erase(const_iterator, const_iterator)): Likewise.
+ * include/debug/set.h (set::erase(iterator))
+ (multiset::erase(const_iterator, const_iterator)): Likewise.
+
2018-10-18 Jonathan Wakely <jwakely@redhat.com>
* testsuite/20_util/duration/cons/2.cc: Add -ffloat-store to fix
return { _Base::erase(__position.base()), this };
}
+ _GLIBCXX_ABI_TAG_CXX11
iterator
erase(iterator __position)
{ return erase(const_iterator(__position)); }
return { _Base::erase(__position.base()), this };
}
+ _GLIBCXX_ABI_TAG_CXX11
iterator
erase(iterator __position)
{ return erase(const_iterator(__position)); }
#endif // C++17
#if __cplusplus >= 201103L
+ _GLIBCXX_ABI_TAG_CXX11
iterator
erase(const_iterator __position)
{
}
#if __cplusplus >= 201103L
+ _GLIBCXX_ABI_TAG_CXX11
iterator
erase(const_iterator __first, const_iterator __last)
{
#endif // C++17
#if __cplusplus >= 201103L
+ _GLIBCXX_ABI_TAG_CXX11
iterator
erase(const_iterator __position)
{
}
#if __cplusplus >= 201103L
+ _GLIBCXX_ABI_TAG_CXX11
iterator
erase(const_iterator __first, const_iterator __last)
{