From 072a15d99be4d2c69d727aa2e8bef83951ea1243 Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Wed, 1 May 2002 04:17:35 +0200 Subject: [PATCH] re PR libstdc++/6513 (sigfaults on trivial code) 2002-05-01 Paolo Carlini PR libstdc++/6513 * include/bits/stl_uninitialized.h (uninitialized_copy(_InputIter, _InputIter, _ForwardIter)): Fix typo in 2001-07-17 commit: typedef _ValueType to iterator_traits<_ForwardIter> not <_InputIter>. * testsuite/23_containers/vector_ctor.cc: Add test04. From-SVN: r52985 --- libstdc++-v3/ChangeLog | 9 +++++++++ libstdc++-v3/include/bits/stl_uninitialized.h | 2 +- .../testsuite/23_containers/vector_ctor.cc | 14 ++++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 7394140d57a..ab097808f54 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,12 @@ +2002-05-01 Paolo Carlini + + PR libstdc++/6513 + * include/bits/stl_uninitialized.h + (uninitialized_copy(_InputIter, _InputIter, _ForwardIter)): + Fix typo in 2001-07-17 commit: typedef _ValueType to + iterator_traits<_ForwardIter> not <_InputIter>. + * testsuite/23_containers/vector_ctor.cc: Add test04. + 2002-04-30 John David Anglin PR libstdc++/6501 diff --git a/libstdc++-v3/include/bits/stl_uninitialized.h b/libstdc++-v3/include/bits/stl_uninitialized.h index 866b20bf37e..b5f7b8c40b6 100644 --- a/libstdc++-v3/include/bits/stl_uninitialized.h +++ b/libstdc++-v3/include/bits/stl_uninitialized.h @@ -107,7 +107,7 @@ namespace std inline _ForwardIter uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result) { - typedef typename iterator_traits<_InputIter>::value_type _ValueType; + typedef typename iterator_traits<_ForwardIter>::value_type _ValueType; typedef typename __type_traits<_ValueType>::is_POD_type _Is_POD; return __uninitialized_copy_aux(__first, __last, __result, _Is_POD()); } diff --git a/libstdc++-v3/testsuite/23_containers/vector_ctor.cc b/libstdc++-v3/testsuite/23_containers/vector_ctor.cc index 6ac74e778a6..c5caf3d797e 100644 --- a/libstdc++-v3/testsuite/23_containers/vector_ctor.cc +++ b/libstdc++-v3/testsuite/23_containers/vector_ctor.cc @@ -21,6 +21,7 @@ // 23.2.4.1 vector constructors, copy, and assignment #include +#include #include template @@ -81,11 +82,24 @@ test03() #endif } +// libstdc++/6513 +void test04() +{ + bool test = true; + const char* c_strings[5] = { "1", "2", "3", "4", "5" }; + std::vector strings(c_strings, c_strings + 5); + +#ifdef DEBUG_ASSERT + assert(test); +#endif +} + int main() { test01(); test02(); test03(); + test04(); return 0; } -- 2.30.2