|
|
e88ed2 |
From 8a7f364afd86a4c4c2c747ae9cb4216fe992acc8 Mon Sep 17 00:00:00 2001
|
|
|
e88ed2 |
From: David Malcolm <dmalcolm@redhat.com>
|
|
|
e88ed2 |
Date: Wed, 25 Aug 2021 12:36:42 -0400
|
|
|
e88ed2 |
Subject: [PATCH 01/17] basic_string::reserve(n) semantics are not available in
|
|
|
e88ed2 |
DTS
|
|
|
e88ed2 |
|
|
|
e88ed2 |
Various tests were added upstream 2020-08-06 as part of:
|
|
|
e88ed2 |
"libstdc++: Implement P0966 std::string::reserve should not shrink"
|
|
|
e88ed2 |
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=140cf935cd118f7208b7c3826a8b9d50936242f0
|
|
|
e88ed2 |
|
|
|
e88ed2 |
std::string and std::wstring are instantiated in the system libstdc++.so
|
|
|
e88ed2 |
via explicit instantiation definitions, so the new basic_string::reserve(n)
|
|
|
e88ed2 |
semantics are not available in DTS.
|
|
|
e88ed2 |
|
|
|
e88ed2 |
Update/disable the pertinent parts of the tests to reflect the behavior
|
|
|
e88ed2 |
when run against the system libstdc++.so.
|
|
|
e88ed2 |
---
|
|
|
e88ed2 |
.../testsuite/21_strings/basic_string/capacity/char/1.cc | 6 ------
|
|
|
e88ed2 |
.../21_strings/basic_string/capacity/char/18654.cc | 2 +-
|
|
|
e88ed2 |
.../testsuite/21_strings/basic_string/capacity/wchar_t/1.cc | 6 ------
|
|
|
e88ed2 |
.../21_strings/basic_string/capacity/wchar_t/18654.cc | 2 +-
|
|
|
e88ed2 |
4 files changed, 2 insertions(+), 14 deletions(-)
|
|
|
e88ed2 |
|
|
|
e88ed2 |
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
|
|
|
e88ed2 |
index eea69771f..64187718d 100644
|
|
|
e88ed2 |
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc
|
|
|
e88ed2 |
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc
|
|
|
e88ed2 |
@@ -41,12 +41,6 @@ void test01()
|
|
|
e88ed2 |
sz01 = str01.capacity();
|
|
|
e88ed2 |
VERIFY( sz01 < sz02 );
|
|
|
e88ed2 |
|
|
|
e88ed2 |
- // P0966: reserve should not shrink
|
|
|
e88ed2 |
- str01.reserve(100);
|
|
|
e88ed2 |
- sz01 = str01.capacity();
|
|
|
e88ed2 |
- str01.reserve(sz01 - 1);
|
|
|
e88ed2 |
- VERIFY( str01.capacity() == sz01 );
|
|
|
e88ed2 |
-
|
|
|
e88ed2 |
sz01 = str01.size() + 5;
|
|
|
e88ed2 |
str01.resize(sz01);
|
|
|
e88ed2 |
sz02 = str01.size();
|
|
|
e88ed2 |
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
|
|
|
e88ed2 |
index 02ce78ea6..3a7352123 100644
|
|
|
e88ed2 |
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
|
|
|
e88ed2 |
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
|
|
|
e88ed2 |
@@ -51,7 +51,7 @@ void test01()
|
|
|
e88ed2 |
VERIFY( cap >= 3 * i );
|
|
|
e88ed2 |
|
|
|
e88ed2 |
str.reserve(2 * i);
|
|
|
e88ed2 |
- VERIFY( str.capacity() == cap );
|
|
|
e88ed2 |
+ VERIFY( str.capacity() == 2 * i );
|
|
|
e88ed2 |
|
|
|
e88ed2 |
#if __cplusplus <= 201703L
|
|
|
e88ed2 |
str.reserve();
|
|
|
e88ed2 |
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
|
|
|
e88ed2 |
index f01a27e8c..70915a94d 100644
|
|
|
e88ed2 |
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc
|
|
|
e88ed2 |
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc
|
|
|
e88ed2 |
@@ -41,12 +41,6 @@ void test01()
|
|
|
e88ed2 |
sz01 = str01.capacity();
|
|
|
e88ed2 |
VERIFY( sz01 < sz02 );
|
|
|
e88ed2 |
|
|
|
e88ed2 |
- // P0966: reserve should not shrink
|
|
|
e88ed2 |
- str01.reserve(100);
|
|
|
e88ed2 |
- sz01 = str01.capacity();
|
|
|
e88ed2 |
- str01.reserve(sz01 - 1);
|
|
|
e88ed2 |
- VERIFY( str01.capacity() == sz01 );
|
|
|
e88ed2 |
-
|
|
|
e88ed2 |
sz01 = str01.size() + 5;
|
|
|
e88ed2 |
str01.resize(sz01);
|
|
|
e88ed2 |
sz02 = str01.size();
|
|
|
e88ed2 |
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
|
|
|
e88ed2 |
index 267fd198b..c9711a294 100644
|
|
|
e88ed2 |
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
|
|
|
e88ed2 |
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
|
|
|
e88ed2 |
@@ -51,7 +51,7 @@ void test01()
|
|
|
e88ed2 |
VERIFY( cap >= 3 * i );
|
|
|
e88ed2 |
|
|
|
e88ed2 |
str.reserve(2 * i);
|
|
|
e88ed2 |
- VERIFY( str.capacity() == cap );
|
|
|
e88ed2 |
+ VERIFY( str.capacity() == 2 * i );
|
|
|
e88ed2 |
|
|
|
e88ed2 |
#if __cplusplus <= 201703L
|
|
|
e88ed2 |
str.reserve();
|
|
|
e88ed2 |
--
|
|
|
e88ed2 |
2.31.1
|