testsuite_containers.h (forward_members_unordered<>::forward_members_unordered (const value_type&)): Add local_iterator pre and post increment checks.
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. From-SVN: r265344
This commit is contained in:
parent
be515b4ce0
commit
f65c0c735e
|
@ -1,3 +1,10 @@
|
||||||
|
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>
|
2018-10-19 Jonathan Wakely <jwakely@redhat.com>
|
||||||
|
|
||||||
* testsuite/23_containers/array/requirements/explicit_instantiation/
|
* testsuite/23_containers/array/requirements/explicit_instantiation/
|
||||||
|
|
|
@ -2054,6 +2054,7 @@ GLIBCXX_3.4.26 {
|
||||||
# std::basic_filebuf::open(const wchar_t*, openmode)
|
# std::basic_filebuf::open(const wchar_t*, openmode)
|
||||||
_ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE4openEPKwSt13_Ios_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;
|
} GLIBCXX_3.4.25;
|
||||||
|
|
||||||
# Symbols in the support library (libsupc++) have their own tag.
|
# Symbols in the support library (libsupc++) have their own tag.
|
||||||
|
|
|
@ -176,11 +176,12 @@ namespace __gnu_test
|
||||||
typename = typename std::iterator_traits<_Iterator>::iterator_category>
|
typename = typename std::iterator_traits<_Iterator>::iterator_category>
|
||||||
struct iterator_concept_checks;
|
struct iterator_concept_checks;
|
||||||
|
|
||||||
|
#if __cplusplus >= 201103L
|
||||||
// DR 691.
|
// DR 691.
|
||||||
template<typename _Tp>
|
template<typename _Tp>
|
||||||
struct forward_members_unordered
|
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
|
// Make sure that even if rel_ops is injected there is no ambiguity
|
||||||
// when comparing iterators.
|
// when comparing iterators.
|
||||||
|
@ -196,12 +197,20 @@ namespace __gnu_test
|
||||||
|
|
||||||
assert( container.cbegin(0) == container.begin(0) );
|
assert( container.cbegin(0) == container.begin(0) );
|
||||||
assert( container.cend(0) == container.end(0) );
|
assert( container.cend(0) == container.end(0) );
|
||||||
const typename test_type::size_type bn = container.bucket(1);
|
const auto bn = container.bucket(1);
|
||||||
assert( container.cbegin(bn) != container.cend(bn) );
|
auto clit = container.cbegin(bn);
|
||||||
assert( container.cbegin(bn) != container.end(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) );
|
assert( container.begin(bn) != container.cend(bn) );
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
template<typename _Iterator>
|
template<typename _Iterator>
|
||||||
struct iterator_concept_checks<_Iterator, false,
|
struct iterator_concept_checks<_Iterator, false,
|
||||||
|
|
Loading…
Reference in New Issue