basic_string.tcc (reserve): Allow shrink-to-fit.
authorNeil Ferguson <nferguso@eso.org>
Thu, 11 Dec 2003 22:29:12 +0000 (22:29 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Thu, 11 Dec 2003 22:29:12 +0000 (22:29 +0000)
2003-12-11  Neil Ferguson  <nferguso@eso.org>
    Paolo Carlini  <pcarlini@suse.de>

* include/bits/basic_string.tcc (reserve): Allow shrink-to-fit.
* testsuite/21_strings/basic_string/capacity/1.cc: Tweak.
* testsuite/21_strings/basic_string/capacity/char/1.cc: Ditto.
* testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Ditto.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
From-SVN: r74551

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/basic_string.tcc
libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc
libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc
libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc

index 39fcdb90191c26898d8ab720dd92a98d1d4b9b2e..45d7c7e55353c177536416b269996c412ee1ef98 100644 (file)
@@ -1,3 +1,11 @@
+2003-12-11  Neil Ferguson  <nferguso@eso.org>
+            Paolo Carlini  <pcarlini@suse.de>
+
+       * include/bits/basic_string.tcc (reserve): Allow shrink-to-fit.
+       * testsuite/21_strings/basic_string/capacity/1.cc: Tweak.
+       * testsuite/21_strings/basic_string/capacity/char/1.cc: Ditto.
+       * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Ditto.
+
 2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
 
        PR libstdc++/6243
index 204757b3dc6b464aafc2cf4b679c7f92197a338e..3a1e8468eb030f33e09da13c2380de7b072d2333 100644 (file)
@@ -474,7 +474,7 @@ namespace std
     void
     basic_string<_CharT, _Traits, _Alloc>::reserve(size_type __res)
     {
-      if (__res > this->capacity() || _M_rep()->_M_is_shared())
+      if (__res != this->capacity() || _M_rep()->_M_is_shared())
         {
          if (__res > this->max_size())
            __throw_length_error("basic_string::reserve");
index c37e01fb04644b5c974751a3ebaeed31aa8eced2..2599d4298ffbf5d8dda73b96f40293c58c3464d1 100644 (file)
@@ -140,7 +140,7 @@ void test01()
   VERIFY( sz04 >= 100 );
   str02.reserve();
   sz03 = str02.capacity();
-  VERIFY( sz03 > 0 );
+  VERIFY( sz03 >= 0 );
 
   sz03 = str02.size() + 5;
   str02.resize(sz03);
index 649c5418ba6cd21260c2222cb8d94f40c98d7258..9cdc4f0457cf63408ced184a8ad757ee11a2bd46 100644 (file)
@@ -37,7 +37,7 @@ void test01()
   VERIFY( sz02 >= 100 );
   str01.reserve();
   sz01 = str01.capacity();
-  VERIFY( sz01 > 0 );
+  VERIFY( sz01 >= 0 );
 
   sz01 = str01.size() + 5;
   str01.resize(sz01);
index f10a25578a01acb3f2a91dcf6449a1c21e78c6c5..925d812c7481fd847cf63171fff2acb405a4a87d 100644 (file)
@@ -37,7 +37,7 @@ void test01()
   VERIFY( sz02 >= 100 );
   str01.reserve();
   sz01 = str01.capacity();
-  VERIFY( sz01 > 0 );
+  VERIFY( sz01 >= 0 );
 
   sz01 = str01.size() + 5;
   str01.resize(sz01);