From 568d5ee44d1d6897a9b7750a3934d4539e1a7ded Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Thu, 23 Aug 2018 16:23:31 +0100 Subject: [PATCH] Define debug mode function for C++98 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 | 2 ++ libstdc++-v3/include/debug/vector | 5 ++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 9d579baa204..c74cee2148d 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,7 @@ 2018-08-23 Jonathan Wakely + * 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. diff --git a/libstdc++-v3/include/debug/vector b/libstdc++-v3/include/debug/vector index bd09b2414fc..e8d0928c7c0 100644 --- a/libstdc++-v3/include/debug/vector +++ b/libstdc++-v3/include/debug/vector @@ -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. template @@ -787,6 +787,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION operator()(const __debug::vector& __b) const noexcept { return std::hash<_GLIBCXX_STD_C::vector>()(__b); } }; +#endif template _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 -- 2.30.2