diff options
author | Neil Ferguson <nferguso@eso.org> | 2003-12-11 22:29:12 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2003-12-11 22:29:12 +0000 |
commit | cbc679558590aaada586364f6fb99020f777ae35 (patch) | |
tree | 4f97d2273a1601123a8a49fc99408c59a7923ffc | |
parent | fe16ab7e3e9a7ee336de14045e9c324d1c18080a (diff) | |
download | gcc-cbc679558590aaada586364f6fb99020f777ae35.zip gcc-cbc679558590aaada586364f6fb99020f777ae35.tar.gz gcc-cbc679558590aaada586364f6fb99020f777ae35.tar.bz2 |
basic_string.tcc (reserve): Allow shrink-to-fit.
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
5 files changed, 12 insertions, 4 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 39fcdb9..45d7c7e 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -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 diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc index 204757b..3a1e846 100644 --- a/libstdc++-v3/include/bits/basic_string.tcc +++ b/libstdc++-v3/include/bits/basic_string.tcc @@ -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"); diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc index c37e01f..2599d42 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc @@ -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); diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc index 649c541..9cdc4f0 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc @@ -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); diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc index f10a255..925d812 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc @@ -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); |