aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrançois Dumont <fdumont@gcc.gnu.org>2018-10-20 20:00:45 +0000
committerFrançois Dumont <fdumont@gcc.gnu.org>2018-10-20 20:00:45 +0000
commitf65c0c735ee8abb8669193571a491fb407bac11d (patch)
treeee7edc30a7f08910a3e808d8d66300bf044a908f
parentbe515b4ce0891e0019511d65c2073e0ebf9f9309 (diff)
downloadgcc-f65c0c735ee8abb8669193571a491fb407bac11d.zip
gcc-f65c0c735ee8abb8669193571a491fb407bac11d.tar.gz
gcc-f65c0c735ee8abb8669193571a491fb407bac11d.tar.bz2
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
-rw-r--r--libstdc++-v3/ChangeLog7
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver1
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_containers.h17
3 files changed, 21 insertions, 4 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 0399ec6..438206b 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -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>
* testsuite/23_containers/array/requirements/explicit_instantiation/
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index f90ead3..e8cd286 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -2054,6 +2054,7 @@ GLIBCXX_3.4.26 {
# 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.
diff --git a/libstdc++-v3/testsuite/util/testsuite_containers.h b/libstdc++-v3/testsuite/util/testsuite_containers.h
index eadd437..250dfda 100644
--- a/libstdc++-v3/testsuite/util/testsuite_containers.h
+++ b/libstdc++-v3/testsuite/util/testsuite_containers.h
@@ -176,11 +176,12 @@ namespace __gnu_test
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.
@@ -196,12 +197,20 @@ namespace __gnu_test
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,