@@ -17,6 +17,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
+// { dg-options "-Wno-stringop-overflow" }
+
// 21.3.3 string capacity
#include <string>
@@ -59,6 +61,7 @@ void test01()
std::string str05(30, 'q');
std::string str06 = str05;
+ // The following triggers -Wstringop-overflow. See PR 103332.
str05 = str06 + str05;
VERIFY( str05.capacity() >= str05.size() );
VERIFY( str06.capacity() >= str06.size() );
@@ -17,6 +17,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
+// { dg-options "-Wno-stringop-overflow" }
+
// 21.3.6 string operations
#include <string>
@@ -31,6 +33,7 @@ int test01(void)
// Should get this:
// 1:8-chars_8-chars_
// 2:8-chars_8-chars_
+ // The following triggers -Wstringop-overread. See PR 103332.
str1 = std::string("8-chars_") + "8-chars_";
str1.c_str();
// printf("1:%s\n", str1.c_str());
@@ -15,7 +15,7 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-options "-lstdc++fs -fchar8_t" }
+// { dg-options "-lstdc++fs -fchar8_t -Wno-stringop-overread" }
// { dg-do run { target c++11 } }
// { dg-require-filesystem-ts "" }
@@ -36,10 +36,12 @@ test01()
p = fs::u8path(u8"\xf0\x9d\x84\x9e");
VERIFY( p.u8string() == u8"\U0001D11E" );
+ // The following triggers -Wstringop-overread. See PR 103332.
std::u8string s1 = u8"filename2";
p = fs::u8path(s1);
VERIFY( p.u8string() == u8"filename2" );
+ // The following triggers -Wstringop-overread. See PR 103332.
std::u8string s2 = u8"filename3";
p = fs::u8path(s2.begin(), s2.end());
VERIFY( p.u8string() == u8"filename3" );