summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/include/debug/vector
diff options
context:
space:
mode:
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>2014-03-21 18:54:06 +0000
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>2014-03-21 18:54:06 +0000
commit85f1350d81a4837c919b181b787d2df5e316bb73 (patch)
tree4f7628858105e6cecedd5d7a5be9c8a910ee8da7 /libstdc++-v3/include/debug/vector
parent4236a702c4f0f811605f8189a513f521fde8cc91 (diff)
downloadppe42-gcc-85f1350d81a4837c919b181b787d2df5e316bb73.tar.gz
ppe42-gcc-85f1350d81a4837c919b181b787d2df5e316bb73.zip
PR libstdc++/60587
* include/debug/functions.h (_Is_contiguous_sequence): Define. (__foreign_iterator): Accept additional iterator. Do not dispatch on iterator category. (__foreign_iterator_aux2): Likewise. Add overload for iterators from different types of debug container. Use _Is_contiguous_sequence instead of is_lvalue_reference. (__foreign_iterator_aux3): Accept additional iterator. Avoid dereferencing past-the-end iterator. (__foreign_iterator_aux4): Use const value_type* instead of potentially user-defined const_pointer type. * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment and pass end iterator to __gnu_debug::__foreign_iterator. (__glibcxx_check_insert_range_after): Likewise. (__glibcxx_check_max_load_factor): Fix comment. * include/debug/vector (_Is_contiguous_sequence): Define partial specializations. * testsuite/23_containers/vector/debug/57779_neg.cc: Remove -std=gnu++11 option and unused header. * testsuite/23_containers/vector/debug/60587.cc: New. * testsuite/23_containers/vector/debug/60587_neg.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208755 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/debug/vector')
-rw-r--r--libstdc++-v3/include/debug/vector13
1 files changed, 13 insertions, 0 deletions
diff --git a/libstdc++-v3/include/debug/vector b/libstdc++-v3/include/debug/vector
index bcca52035d3..2e9cd656b5c 100644
--- a/libstdc++-v3/include/debug/vector
+++ b/libstdc++-v3/include/debug/vector
@@ -718,4 +718,17 @@ namespace __debug
} // namespace std
+namespace __gnu_debug
+{
+ template<typename _Tp, typename _Alloc>
+ struct _Is_contiguous_sequence<std::__debug::vector<_Tp, _Alloc> >
+ : std::__true_type
+ { };
+
+ template<typename _Alloc>
+ struct _Is_contiguous_sequence<std::__debug::vector<bool, _Alloc> >
+ : std::__false_type
+ { };
+}
+
#endif
OpenPOWER on IntegriCloud