Define debug mode function for C++98
authorJonathan Wakely <jwakely@redhat.com>
Thu, 23 Aug 2018 15:23:31 +0000 (16:23 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Thu, 23 Aug 2018 15:23:31 +0000 (16:23 +0100)
This function is declared unconditionally but was only defined for C++11
and later, leading to linker errors when the testsuite was run with
-std=gnu++98 -D_GLIBCXX_DEBUG added to the flags.

* include/debug/vector (__niter_base): Define for C++98.

From-SVN: r263816

libstdc++-v3/ChangeLog
libstdc++-v3/include/debug/vector

index 9d579baa20499170be32bc767bd0ad8e81f09518..c74cee2148d2187d9be3f26271d513b378a61074 100644 (file)
@@ -1,5 +1,7 @@
 2018-08-23  Jonathan Wakely  <jwakely@redhat.com>
 
+       * include/debug/vector (__niter_base): Define for C++98.
+
        * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
        Fix C++98 test to not use C++11 features.
        * testsuite/25_algorithms/fill_n/2.cc: Likewise.
index bd09b2414fc813a60f327e7598a7e518289f244c..e8d0928c7c07d26f704baf17cafd2d43d1b794ea 100644 (file)
@@ -774,9 +774,9 @@ namespace __debug
 
 } // namespace __debug
 
-#if __cplusplus >= 201103L
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
+#if __cplusplus >= 201103L
   // DR 1182.
   /// std::hash specialization for vector<bool>.
   template<typename _Alloc>
@@ -787,6 +787,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       operator()(const __debug::vector<bool, _Alloc>& __b) const noexcept
       { return std::hash<_GLIBCXX_STD_C::vector<bool, _Alloc>>()(__b); }
     };
+#endif
 
  template<typename _Iterator, typename _Container, typename _Sequence>
     _Iterator
@@ -796,8 +797,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     { return std::__niter_base(__it.base()); }
 
 _GLIBCXX_END_NAMESPACE_VERSION
-#endif
-
 } // namespace std
 
 namespace __gnu_debug