libstdc++: Improve comments in std::string tests
authorJonathan Wakely <jwakely@redhat.com>
Wed, 14 Oct 2020 11:07:31 +0000 (12:07 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Wed, 14 Oct 2020 11:52:47 +0000 (12:52 +0100)
The COW std::string does support some features of C++11 allocators, just
not propagation. Change some comments in the tests to be more precise
about that.

libstdc++-v3/ChangeLog:

* testsuite/21_strings/basic_string/allocator/char/copy.cc: Make
comment more precise about what isn't supported by COW strings.
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/char/move.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/char/noexcept.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/char/operator_plus.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/char/swap.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/operator_plus.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
Likewise.

14 files changed:
libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy.cc
libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy_assign.cc
libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/move.cc
libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/move_assign.cc
libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/noexcept.cc
libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/operator_plus.cc
libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/swap.cc
libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc
libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc
libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/move.cc
libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc
libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc
libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/operator_plus.cc
libstdc++-v3/testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc

index b5c9b5b5315a731176de18f8559354c67985a221..9972cfbdc463f1714fb80652456fbceba91a0adf 100644 (file)
@@ -5,24 +5,24 @@
 // terms of the GNU General Public License as published by the
 // Free Software Foundation; either version 3, or (at your option)
 // any later version.
+
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 // GNU General Public License for more details.
+
 // You should have received a copy of the GNU General Public License along
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do run { target c++11 } }
-// COW strings don't support C++11 allocators:
+// COW strings don't support C++11 allocator propagation:
 // { dg-require-effective-target cxx11-abi }
 
 #include <string>
 #include <testsuite_hooks.h>
 #include <testsuite_allocator.h>
+
 using C = char;
 const C c = 'a';
 using traits = std::char_traits<C>;
index e776f37542b856b88b7daea1a6e3965307b2da6c..038af4d8e059660e4a4f3dda6757800db214e7c9 100644 (file)
@@ -5,25 +5,25 @@
 // terms of the GNU General Public License as published by the
 // Free Software Foundation; either version 3, or (at your option)
 // any later version.
+
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 // GNU General Public License for more details.
+
 // You should have received a copy of the GNU General Public License along
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do run { target c++11 } }
-// COW strings don't support C++11 allocators:
+// COW strings don't support C++11 allocator propagation:
 // { dg-require-effective-target cxx11-abi }
 
 #include <string>
 #include <testsuite_hooks.h>
 #include <testsuite_allocator.h>
 #include <ext/throw_allocator.h>
+
 using C = char;
 const C c = 'a';
 using traits = std::char_traits<C>;
index e4ff0f254758c817d71f7d4c2f5be29023f58dd3..11afd4fce471bbb1f493398e712e721a683f6114 100644 (file)
@@ -16,7 +16,7 @@
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do run { target c++11 } }
-// COW strings don't support C++11 allocators:
+// COW strings don't support C++11 allocator propagation:
 // { dg-require-effective-target cxx11-abi }
 
 #include <string>
index 253d24865770dc2b9f25c87c6e07b22186d47e60..6a2db79a14a56226b7c51d24409f05640f9e1c28 100644 (file)
@@ -5,24 +5,24 @@
 // terms of the GNU General Public License as published by the
 // Free Software Foundation; either version 3, or (at your option)
 // any later version.
+
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 // GNU General Public License for more details.
+
 // You should have received a copy of the GNU General Public License along
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do run { target c++11 } }
-// COW strings don't support C++11 allocators:
+// COW strings don't support C++11 allocator propagation:
 // { dg-require-effective-target cxx11-abi }
 
 #include <string>
 #include <testsuite_hooks.h>
 #include <testsuite_allocator.h>
+
 using C = char;
 const C c = 'a';
 using traits = std::char_traits<C>;
index f97bd2adb6304363201988e8efb6a01ae94b38fc..e194048ca75fb93cdb333c86953bbc97003b0bd3 100644 (file)
@@ -5,23 +5,23 @@
 // terms of the GNU General Public License as published by the
 // Free Software Foundation; either version 3, or (at your option)
 // any later version.
+
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 // GNU General Public License for more details.
+
 // You should have received a copy of the GNU General Public License along
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile { target c++11 } }
-// COW strings don't support C++11 allocators:
+// COW strings don't support C++11 allocator propagation:
 // { dg-require-effective-target cxx11-abi }
 
 #include <string>
 #include <testsuite_allocator.h>
+
 using C = char;
 const C c = 'a';
 using traits = std::char_traits<C>;
index e3a326e6aff0f3ce31707e32a29ba58ce98c5528..eb2e89c25878f11814db8eed98c3ef3af0c6398a 100644 (file)
@@ -17,7 +17,7 @@
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do run { target c++11 } }
-// COW strings don't support C++11 allocators:
+// COW strings don't support C++11 allocator propagation:
 // { dg-require-effective-target cxx11-abi }
 
 #include <string>
index 68c1e69ba5159d4a2fa2caa2b878e64201e975c1..782a13a43ce1c9eacbd87c26605e59724ece5f45 100644 (file)
@@ -5,24 +5,24 @@
 // terms of the GNU General Public License as published by the
 // Free Software Foundation; either version 3, or (at your option)
 // any later version.
+
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 // GNU General Public License for more details.
+
 // You should have received a copy of the GNU General Public License along
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do run { target c++11 } }
-// COW strings don't support C++11 allocators:
+// COW strings don't support C++11 allocator propagation:
 // { dg-require-effective-target cxx11-abi }
 
 #include <string>
 #include <testsuite_hooks.h>
 #include <testsuite_allocator.h>
+
 using C = char;
 const C c = 'a';
 using traits = std::char_traits<C>;
index 90b4bde8cda29f726146d533970c9bb649f336ad..2407c6716478ea20e91942f4e59a1f7934204073 100644 (file)
@@ -5,24 +5,24 @@
 // terms of the GNU General Public License as published by the
 // Free Software Foundation; either version 3, or (at your option)
 // any later version.
+
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 // GNU General Public License for more details.
+
 // You should have received a copy of the GNU General Public License along
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do run { target c++11 } }
-// COW strings don't support C++11 allocators:
+// COW strings don't support C++11 allocator propagation:
 // { dg-require-effective-target cxx11-abi }
 
 #include <string>
 #include <testsuite_hooks.h>
 #include <testsuite_allocator.h>
+
 using C = wchar_t;
 const C c = L'a';
 using traits = std::char_traits<C>;
index d0221a06fa136fde44e124b44c5c71890e79fccc..18b79612679fe1c51fd476e465d076da1b09ed6c 100644 (file)
@@ -5,25 +5,25 @@
 // terms of the GNU General Public License as published by the
 // Free Software Foundation; either version 3, or (at your option)
 // any later version.
+
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 // GNU General Public License for more details.
+
 // You should have received a copy of the GNU General Public License along
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do run { target c++11 } }
-// COW strings don't support C++11 allocators:
+// COW strings don't support C++11 allocator propagation:
 // { dg-require-effective-target cxx11-abi }
 
 #include <string>
 #include <testsuite_hooks.h>
 #include <testsuite_allocator.h>
 #include <ext/throw_allocator.h>
+
 using C = wchar_t;
 const C c = L'a';
 using traits = std::char_traits<C>;
index 9a6abf3ceeb150c45d597a83344436be6b9f5d13..cfc31c410adbadc2fc5794119205b52cc5294844 100644 (file)
@@ -16,7 +16,7 @@
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do run { target c++11 } }
-// COW strings don't support C++11 allocators:
+// COW strings don't support C++11 allocator propagation:
 // { dg-require-effective-target cxx11-abi }
 
 #include <string>
index c7c36ee6b7c397558903b94f00e7baa6456b44d0..f919ddb6bc0a4d9275c426bd72ae6de4f5c27b17 100644 (file)
@@ -5,24 +5,24 @@
 // terms of the GNU General Public License as published by the
 // Free Software Foundation; either version 3, or (at your option)
 // any later version.
+
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 // GNU General Public License for more details.
+
 // You should have received a copy of the GNU General Public License along
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do run { target c++11 } }
-// COW strings don't support C++11 allocators:
+// COW strings don't support C++11 allocator propagation:
 // { dg-require-effective-target cxx11-abi }
 
 #include <string>
 #include <testsuite_hooks.h>
 #include <testsuite_allocator.h>
+
 using C = wchar_t;
 const C c = L'a';
 using traits = std::char_traits<C>;
index 2707205cf8d699f2ffc989193ffb66c34b2d05e5..27b55632d6a4471ec94b245568815dcc3b61495f 100644 (file)
@@ -5,23 +5,23 @@
 // terms of the GNU General Public License as published by the
 // Free Software Foundation; either version 3, or (at your option)
 // any later version.
+
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 // GNU General Public License for more details.
+
 // You should have received a copy of the GNU General Public License along
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile { target c++11 } }
-// COW strings don't support C++11 allocators:
+// COW strings don't support C++11 allocator propagation:
 // { dg-require-effective-target cxx11-abi }
 
 #include <string>
 #include <testsuite_allocator.h>
+
 using C = wchar_t;
 const C c = L'a';
 using traits = std::char_traits<C>;
index 0648113c55ed52fb33f65a79ffba2355c8942ecc..dd7d6504ee4702c23d2996f98bd7b3df2b1da1ba 100644 (file)
@@ -17,7 +17,7 @@
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do run { target c++11 } }
-// COW strings don't support C++11 allocators:
+// COW strings don't support C++11 allocator propagation:
 // { dg-require-effective-target cxx11-abi }
 
 #include <string>
index 9cfb6b7ddf7a55ebfc3768162840816bc48e1590..44e65878ba7f201e7915dd5da0aaa6e5da3e11a4 100644 (file)
@@ -5,24 +5,24 @@
 // terms of the GNU General Public License as published by the
 // Free Software Foundation; either version 3, or (at your option)
 // any later version.
+
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 // GNU General Public License for more details.
+
 // You should have received a copy of the GNU General Public License along
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do run { target c++11 } }
-// COW strings don't support C++11 allocators:
+// COW strings don't support C++11 allocator propagation:
 // { dg-require-effective-target cxx11-abi }
 
 #include <string>
 #include <testsuite_hooks.h>
 #include <testsuite_allocator.h>
+
 using C = wchar_t;
 const C c = L'a';
 using traits = std::char_traits<C>;