aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@unitus.it>2002-06-04 20:20:38 +0200
committerPaolo Carlini <paolo@gcc.gnu.org>2002-06-04 18:20:38 +0000
commit05261e700c01eaeefaa00ac00df69969630b221b (patch)
treeda209529506df3f240c1f8ad6df1ee317f6aec05
parent1ba7b41497efa87150d2325d74d130c4104593ea (diff)
downloadgcc-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/ChangeLog8
-rw-r--r--libstdc++-v3/include/bits/basic_string.tcc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc14
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;
}