+2018-10-20 François Dumont <fdumont@gcc.gnu.org>
+
+ * testsuite/util/testsuite_containers.h
+ (forward_members_unordered<>::forward_members_unordered
+ (const value_type&)): Add local_iterator pre and post increment checks.
+ * config/abi/pre/gnu.ver: Add GLIBCXX_3.4.26 new symbol.
+
2018-10-19 Jonathan Wakely <jwakely@redhat.com>
* testsuite/23_containers/array/requirements/explicit_instantiation/
# std::basic_filebuf::open(const wchar_t*, openmode)
_ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE4openEPKwSt13_Ios_Openmode;
+ _ZN11__gnu_debug25_Safe_local_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb;
} GLIBCXX_3.4.25;
# Symbols in the support library (libsupc++) have their own tag.
typename = typename std::iterator_traits<_Iterator>::iterator_category>
struct iterator_concept_checks;
+#if __cplusplus >= 201103L
// DR 691.
template<typename _Tp>
struct forward_members_unordered
{
- forward_members_unordered(typename _Tp::value_type& v)
+ forward_members_unordered(const typename _Tp::value_type& v)
{
// Make sure that even if rel_ops is injected there is no ambiguity
// when comparing iterators.
assert( container.cbegin(0) == container.begin(0) );
assert( container.cend(0) == container.end(0) );
- const typename test_type::size_type bn = container.bucket(1);
- assert( container.cbegin(bn) != container.cend(bn) );
- assert( container.cbegin(bn) != container.end(bn) );
+ const auto bn = container.bucket(1);
+ auto clit = container.cbegin(bn);
+ assert( clit != container.cend(bn) );
+ assert( clit != container.end(bn) );
+ assert( clit++ == container.cbegin(bn) );
+ assert( clit == container.end(bn) );
+
+ clit = container.cbegin(bn);
+ assert( ++clit == container.cend(bn) );
+
assert( container.begin(bn) != container.cend(bn) );
}
};
+#endif
template<typename _Iterator>
struct iterator_concept_checks<_Iterator, false,