summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver7
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_abi.cc13
2 files changed, 20 insertions, 0 deletions
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index dedee8c1b0a..9b80a31768b 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -2337,8 +2337,10 @@ GLIBCXX_3.4.28 {
GLIBCXX_3.4.29 {
+#ifdef HAVE_USELOCALE
# std::from_chars
_ZSt10from_charsPKcS0_R[def]St12chars_format;
+#endif
# std::__istream_extract(istream&, char*, streamsize)
_ZSt17__istream_extractRSiPc[ilx];
@@ -2416,6 +2418,11 @@ GLIBCXX_3.4.29 {
GLIBCXX_3.4.30 {
+#ifndef HAVE_USELOCALE
+ # std::from_chars
+ _ZSt10from_charsPKcS0_R[def]St12chars_format;
+#endif
+
_ZSt21__glibcxx_assert_fail*;
#ifdef HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT
diff --git a/libstdc++-v3/testsuite/util/testsuite_abi.cc b/libstdc++-v3/testsuite/util/testsuite_abi.cc
index 3dee737b2e5..5c8383554e5 100644
--- a/libstdc++-v3/testsuite/util/testsuite_abi.cc
+++ b/libstdc++-v3/testsuite/util/testsuite_abi.cc
@@ -499,6 +499,19 @@ compare_symbols(const char* baseline_file, const char* test_file,
else
undesignated.push_back(stest);
}
+ // See PR libstdc++/103407 - abi_check FAILs on Solaris
+ else if (stest.type == symbol::function
+ && stest.name.compare(0, 23, "_ZSt10from_charsPKcS0_R") == 0
+ && stest.name.find_first_of("def", 23) == 23
+ && (stest.version_name == "GLIBCXX_3.4.29"
+ || stest.version_name == "GLIBCXX_3.4.30"))
+ {
+ stest.status = symbol::undesignated;
+ if (!check_version(stest, false))
+ incompatible.push_back(symbol_pair(stest, stest));
+ else
+ undesignated.push_back(stest);
+ }
else
{
stest.status = symbol::added;