testsuite_containers.h (forward_members_unordered<>::forward_members_unordered (const...
authorFrançois Dumont <fdumont@gcc.gnu.org>
Sat, 20 Oct 2018 20:00:45 +0000 (20:00 +0000)
committerFrançois Dumont <fdumont@gcc.gnu.org>
Sat, 20 Oct 2018 20:00:45 +0000 (20:00 +0000)
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

libstdc++-v3/ChangeLog
libstdc++-v3/config/abi/pre/gnu.ver
libstdc++-v3/testsuite/util/testsuite_containers.h

index 0399ec68209686e716ef3937b2b9e7e5cdaf3f9d..438206b33a8355a2076e7c57ad1385288f12520d 100644 (file)
@@ -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/
index f90ead30dd181434d0631ff6008a1998a77779b9..e8cd286ef0cfaf695bb845a0890aef6670766bb7 100644 (file)
@@ -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.
index eadd43768d2b3887303dcc2ecec53c04e3640576..250dfda668da5bb9c2bdb58284f8b8828cb0280b 100644 (file)
@@ -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,