diff options
13 files changed, 33 insertions, 14 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 8f24748..c9383a5 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,24 @@ 2003-06-20 Doug Gregor <dgregor@apple.com> + * testsuite/20_util/auto_ptr.cc: don't dereference NULL auto_ptr + * testsuite/21_strings/basic_string/replace/char/4.cc: don't + dereference end iterator. + * testsuite/21_strings/basic_string/replace/wchar_t/4.cc: same. + * testsuite/22_locale/ctype/narrow/char/1.cc: don't subscript with + index equal to the length of a string. + * testsuite/22_locale/ctype/narrow/char/2.cc: same. + * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: same. + * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: same. + * testsuite/22_locale/ctype/widen/char/1.cc: same. + * testsuite/22_locale/ctype/widen/wchar_t/1.cc: same. + * testsuite/23_containers/list_modifiers.cc: don't dereference + singular reverse iterator. + * testsuite/23_containers/vector_bool.cc: don't increment singular + iterator. + * testsuite/24_iterators/rel_ops.cc: don't compare singular iterator. + +2003-06-20 Doug Gregor <dgregor@apple.com> + * include/bits/basic_string.h (basic_string::replace): Dispatch _InputIterator version based on _Is_integer. * include/bits/basic_string.tcc (basic_string::replace): diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr.cc b/libstdc++-v3/testsuite/20_util/auto_ptr.cc index a6dd1c6..d70b63f 100644 --- a/libstdc++-v3/testsuite/20_util/auto_ptr.cc +++ b/libstdc++-v3/testsuite/20_util/auto_ptr.cc @@ -197,8 +197,8 @@ test06() std::auto_ptr<A> A_from_A_ptr(A_from_A.release()); VERIFY( A_from_A.get() == 0 ); VERIFY( A_from_A_ptr.get() != 0 ); - VERIFY( A_from_A->ctor_count == 1 ); - VERIFY( (*A_from_A).dtor_count == 0 ); + VERIFY( A_from_A_ptr->ctor_count == 1 ); + VERIFY( (*A_from_A_ptr).dtor_count == 0 ); A* A_ptr = A_from_A_ptr.get(); diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/4.cc index 47cf335..fcb924a 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/4.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/replace/char/4.cc @@ -55,7 +55,7 @@ test04() str02 = "boards"; char* ptr1 = &*str01.begin(); - char* ptr2 = &*str01.end(); + char* ptr2 = ptr1 + str01.length(); str02.replace(str02.begin(), str02.end(), ptr1, ptr2); VERIFY(str02 == "geogaddi"); } diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/4.cc index bc827d0..94baa82 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/4.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/4.cc @@ -55,7 +55,7 @@ test04() str02 = L"boards"; wchar_t* ptr1 = &*str01.begin(); - wchar_t* ptr2 = &*str01.end(); + wchar_t* ptr2 = ptr1 + str01.length(); str02.replace(str02.begin(), str02.end(), ptr1, ptr2); VERIFY(str02 == L"geogaddi"); } diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/1.cc index b349a38..bbe0c2e 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/1.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/1.cc @@ -56,7 +56,7 @@ void test01() } // narrow(const charT* low, const charT* high, char dfault, char* dest) const - ctype_c.narrow(&wide[0], &wide[wide.length()], dfault, &narrow_chars[0]); + ctype_c.narrow(&wide[0], &wide[0] + wide.length(), dfault, &narrow_chars[0]); VERIFY( narrow_chars[0] != dfault ); for (int i = 0; i < wide.length(); ++i) VERIFY( narrow_chars[i] == narrow[i] ); diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/2.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/2.cc index 31805ae..aa3ff4c 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/2.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/2.cc @@ -60,7 +60,7 @@ void test02() } // narrow(const charT* low, const charT* high, char dfault, char* dest) const - ctype_c.narrow(&wide[0], &wide[wide.length()], dfault, &narrow_chars[0]); + ctype_c.narrow(&wide[0], &wide[0] + wide.length(), dfault, &narrow_chars[0]); VERIFY( narrow_chars[0] != dfault ); for (int i = 0; i < wide.length(); ++i) VERIFY( narrow_chars[i] == narrow[i] ); diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/1.cc index 820fe6c..459dcf7 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/1.cc @@ -56,7 +56,7 @@ void test01() } // narrow(const charT* low, const charT* high, char dfault, char* dest) const - ctype_c.narrow(&wide[0], &wide[wide.length()], dfault, &narrow_chars[0]); + ctype_c.narrow(&wide[0], &wide[0] + wide.length(), dfault, &narrow_chars[0]); VERIFY( narrow_chars[0] != dfault ); for (int i = 0; i < wide.length(); ++i) VERIFY( narrow_chars[i] == narrow[i] ); diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/2.cc index 2d77506..8f8fecc 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/2.cc @@ -60,7 +60,7 @@ void test02() } // narrow(const charT* low, const charT* high, char dfault, char* dest) const - ctype_c.narrow(&wide[0], &wide[wide.length()], dfault, &narrow_chars[0]); + ctype_c.narrow(&wide[0], &wide[0] + wide.length(), dfault, &narrow_chars[0]); VERIFY( narrow_chars[0] != dfault ); for (int i = 0; i < wide.length(); ++i) VERIFY( narrow_chars[i] == narrow[i] ); diff --git a/libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc index ea20605..f7a2c15 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc @@ -55,7 +55,7 @@ void test01() } // widen(const char* low, const char* high, charT* dest) const - ctype_c.widen(&narrow[0], &narrow[narrow.length()], &wide_chars[0]); + ctype_c.widen(&narrow[0], &narrow[0] + narrow.length(), &wide_chars[0]); for (int i = 0; i < narrow.length(); ++i) VERIFY( wide_chars[i] == wide[i] ); } diff --git a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/1.cc index e0b3315..042a0b5 100644 --- a/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/1.cc @@ -55,7 +55,7 @@ void test01() } // widen(const char* low, const char* high, charT* dest) const - ctype_c.widen(&narrow[0], &narrow[narrow.length()], &wide_chars[0]); + ctype_c.widen(&narrow[0], &narrow[0] + narrow.length(), &wide_chars[0]); for (int i = 0; i < narrow.length(); ++i) VERIFY( wide_chars[i] == wide[i] ); } diff --git a/libstdc++-v3/testsuite/23_containers/list_modifiers.cc b/libstdc++-v3/testsuite/23_containers/list_modifiers.cc index 213fc41..8cdc9f0 100644 --- a/libstdc++-v3/testsuite/23_containers/list_modifiers.cc +++ b/libstdc++-v3/testsuite/23_containers/list_modifiers.cc @@ -107,14 +107,12 @@ test01() VERIFY(list0101.size() == 2); VERIFY(T::dtorCount() == 1); VERIFY(i->id() == 1); - VERIFY(j->id() == 1); VERIFY(k->id() == 1); list0101.pop_front(); // list should be [1] VERIFY(list0101.size() == 1); VERIFY(T::dtorCount() == 2); VERIFY(i->id() == 1); - VERIFY(j->id() == 1); VERIFY(k->id() == 1); } diff --git a/libstdc++-v3/testsuite/23_containers/vector_bool.cc b/libstdc++-v3/testsuite/23_containers/vector_bool.cc index 1783649..3deec49 100644 --- a/libstdc++-v3/testsuite/23_containers/vector_bool.cc +++ b/libstdc++-v3/testsuite/23_containers/vector_bool.cc @@ -26,7 +26,8 @@ void test01() { std::vector<bool>::iterator i; - ++i; + if (false) + ++i; } // libstdc++/6886 diff --git a/libstdc++-v3/testsuite/24_iterators/rel_ops.cc b/libstdc++-v3/testsuite/24_iterators/rel_ops.cc index 2c85396..65034b2 100644 --- a/libstdc++-v3/testsuite/24_iterators/rel_ops.cc +++ b/libstdc++-v3/testsuite/24_iterators/rel_ops.cc @@ -30,7 +30,8 @@ void test01() { std::vector<int> v; std::vector<int>::iterator vi; - + v.push_back(1); + vi = v.end(); vi != v.begin(); vi > v.begin(); vi <= v.begin(); |