The COW std::string is not constexpr, so the <stdexcept> exception
classes can't be constexpr either when they're defined in terms of the
COW string.
libstdc++-v3/ChangeLog:
* include/bits/version.def (constexpr_exceptions): Add
cxx11abi=yes.
* include/bits/version.h: Regenerate.
---
Tested x86_64-linux (with old and new string ABIs)
libstdc++-v3/include/bits/version.def | 1 +
libstdc++-v3/include/bits/version.h | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/libstdc++-v3/include/bits/version.def
b/libstdc++-v3/include/bits/version.def
index 1cd75fba8329..9fe6ada4ff46 100644
--- a/libstdc++-v3/include/bits/version.def
+++ b/libstdc++-v3/include/bits/version.def
@@ -2233,6 +2233,7 @@ ftms = {
v = 202502;
cxxmin = 26;
extra_cond = "__cpp_constexpr_exceptions >= 202411L";
+ cxx11abi = yes;
};
};
diff --git a/libstdc++-v3/include/bits/version.h
b/libstdc++-v3/include/bits/version.h
index ab17d0444eb1..08c738d410fb 100644
--- a/libstdc++-v3/include/bits/version.h
+++ b/libstdc++-v3/include/bits/version.h
@@ -2497,7 +2497,7 @@
#undef __glibcxx_want_bitset
#if !defined(__cpp_lib_constexpr_exceptions)
-# if (__cplusplus > 202302L) && (__cpp_constexpr_exceptions >= 202411L)
+# if (__cplusplus > 202302L) && _GLIBCXX_USE_CXX11_ABI &&
(__cpp_constexpr_exceptions >= 202411L)
# define __glibcxx_constexpr_exceptions 202502L
# if defined(__glibcxx_want_all) ||
defined(__glibcxx_want_constexpr_exceptions)
# define __cpp_lib_constexpr_exceptions 202502L
--
2.52.0