diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h
index d06330e6c48..1be42e415f5 100644
--- a/libstdc++-v3/include/bits/basic_string.h
+++ b/libstdc++-v3/include/bits/basic_string.h
@@ -3407,6 +3407,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
return __sv_type(this->data(), this->size()).starts_with(__x);
}
+ bool
+ starts_with(nullptr_t) const noexcept = delete;
+
constexpr bool
ends_with(basic_string_view<_CharT, _Traits> __x) const noexcept
{ return __sv_type(this->data(), this->size()).ends_with(__x); }
@@ -3421,6 +3424,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
__glibcxx_requires_string(__x);
return __sv_type(this->data(), this->size()).ends_with(__x);
}
+
+ bool
+ ends_with(nullptr_t) const noexcept = delete;
#endif // C++20
#if __cplusplus > 202002L
diff --git a/libstdc++-v3/include/bits/cow_string.h b/libstdc++-v3/include/bits/cow_string.h
index 59b36a1006a..f8f0959554d 100644
--- a/libstdc++-v3/include/bits/cow_string.h
+++ b/libstdc++-v3/include/bits/cow_string.h
@@ -3019,6 +3019,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return __sv_type(this->data(), this->size()).starts_with(__x);
}
+ bool
+ starts_with(nullptr_t) const noexcept = delete;
+
bool
ends_with(basic_string_view<_CharT, _Traits> __x) const noexcept
{ return __sv_type(this->data(), this->size()).ends_with(__x); }
@@ -3033,6 +3036,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__glibcxx_requires_string(__x);
return __sv_type(this->data(), this->size()).ends_with(__x);
}
+
+ bool
+ ends_with(nullptr_t) const noexcept = delete;
#endif // C++20
#if __cplusplus > 202011L
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/ends_with/char_neg.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/ends_with/char_neg.cc
index 7a7b8dd077d..273e9a6a564 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/ends_with/char_neg.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/ends_with/char_neg.cc
@@ -15,10 +15,8 @@
// with this library; see the file COPYING3. If not see
// .
//
-// { dg-options "-std=gnu++2a -O0" }
-// { dg-do run { target c++2a xfail *-*-* } }
-
-#define _GLIBCXX_DEBUG_PEDANTIC
+// { dg-options "-std=gnu++2a" }
+// { dg-do compile { target c++2a xfail *-*-* } }
#include
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/ends_with/wchar_t_neg.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/ends_with/wchar_t_neg.cc
index a6881bf406b..07588ea2bf7 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/ends_with/wchar_t_neg.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/ends_with/wchar_t_neg.cc
@@ -15,10 +15,8 @@
// with this library; see the file COPYING3. If not see
// .
//
-// { dg-options "-std=gnu++2a -O0" }
-// { dg-do run { target c++2a xfail *-*-* } }
-
-#define _GLIBCXX_DEBUG_PEDANTIC
+// { dg-options "-std=gnu++2a" }
+// { dg-do compile { target c++2a xfail *-*-* } }
#include
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/starts_with/char_neg.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/starts_with/char_neg.cc
index f357aef2289..9b6b0d2ddda 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/starts_with/char_neg.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/starts_with/char_neg.cc
@@ -15,10 +15,8 @@
// with this library; see the file COPYING3. If not see
// .
//
-// { dg-options "-std=gnu++2a -O0" }
-// { dg-do run { target c++2a xfail *-*-* } }
-
-#define _GLIBCXX_DEBUG_PEDANTIC
+// { dg-options "-std=gnu++2a" }
+// { dg-do compile { target c++2a xfail *-*-* } }
#include
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/starts_with/wchar_t_neg.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/starts_with/wchar_t_neg.cc
index 90065a459b6..1ea10d1ab39 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/starts_with/wchar_t_neg.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/starts_with/wchar_t_neg.cc
@@ -15,10 +15,8 @@
// with this library; see the file COPYING3. If not see
// .
//
-// { dg-options "-std=gnu++2a -O0" }
-// { dg-do run { target c++2a xfail *-*-* } }
-
-#define _GLIBCXX_DEBUG_PEDANTIC
+// { dg-options "-std=gnu++2a" }
+// { dg-do compile { target c++2a xfail *-*-* } }
#include