diff options
author | Paolo Carlini <pcarlini@unitus.it> | 2002-06-04 20:20:38 +0200 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2002-06-04 18:20:38 +0000 |
commit | 05261e700c01eaeefaa00ac00df69969630b221b (patch) | |
tree | da209529506df3f240c1f8ad6df1ee317f6aec05 | |
parent | 1ba7b41497efa87150d2325d74d130c4104593ea (diff) | |
download | gcc-05261e700c01eaeefaa00ac00df69969630b221b.zip gcc-05261e700c01eaeefaa00ac00df69969630b221b.tar.gz gcc-05261e700c01eaeefaa00ac00df69969630b221b.tar.bz2 |
2002-06-04 Paolo Carlini <pcarlini@unitus.it>
Gaby Dos Reis <gdr@codesourcery.com>
* include/bits/basic_string.tcc
(basic_string::_S_construct(forward_iterator_tag):
Fix typo in null pointer check.
* testsuite/21_strings/ctor_copy_dtor.cc: Add test04.
Co-Authored-By: Gabriel Dos Reis <gdr@codesourcery.com>
From-SVN: r54255
-rw-r--r-- | libstdc++-v3/ChangeLog | 8 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/basic_string.tcc | 2 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc | 14 |
3 files changed, 23 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index d6987c4..e1ea9e1 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,4 +1,12 @@ 2002-06-04 Paolo Carlini <pcarlini@unitus.it> + Gaby Dos Reis <gdr@codesourcery.com> + + * include/bits/basic_string.tcc + (basic_string::_S_construct(forward_iterator_tag): + Fix typo in null pointer check. + * testsuite/21_strings/ctor_copy_dtor.cc: Add test04. + +2002-06-04 Paolo Carlini <pcarlini@unitus.it> * testsuite/22_locale/money_get_members_char.cc (test02): Add decimal point to long double constants. diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc index 3f4b5fb..296d43a 100644 --- a/libstdc++-v3/include/bits/basic_string.tcc +++ b/libstdc++-v3/include/bits/basic_string.tcc @@ -140,7 +140,7 @@ namespace std size_type __dnew = static_cast<size_type>(distance(__beg, __end)); // NB: Not required, but considered best practice. - if (__builtin_expect(__beg == _InIter(0), 0)) + if (__builtin_expect(__beg == _InIter(), 0)) __throw_logic_error("attempt to create string with null pointer"); if (__beg == __end && __a == _Alloc()) diff --git a/libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc b/libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc index 9247a99..ea22cfc 100644 --- a/libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc +++ b/libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc @@ -201,11 +201,25 @@ void test03() } } +// http://gcc.gnu.org/ml/libstdc++/2002-06/msg00025.html +void test04() +{ + bool test = true; + + std::string str01("portofino"); + + std::string::reverse_iterator i1 = str01.rbegin(); + std::string::reverse_iterator i2 = str01.rend(); + std::string str02(i1, i2); + VERIFY( str02 == "onifotrop" ); +} + int main() { __set_testsuite_memlimit(); test01(); test02(); test03(); + test04(); return 0; } |