@@ -3798,7 +3798,7 @@ changequote([,])dnl
fi
# For libtool versioning info, format is CURRENT:REVISION:AGE
-libtool_VERSION=6:29:0
+libtool_VERSION=6:30:0
# Everything parsed; figure out what files and settings to use.
case $enable_symvers in
@@ -2397,6 +2397,12 @@ GLIBCXX_3.4.29 {
} GLIBCXX_3.4.28;
+GLIBCXX_3.4.30 {
+
+ _ZSt21__glibcxx_assert_fail*;
+
+} GLIBCXX_3.4.29;
+
# Symbols in the support library (libsupc++) have their own tag.
CXXABI_1.3 {
@@ -74892,7 +74892,7 @@ $as_echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
fi
# For libtool versioning info, format is CURRENT:REVISION:AGE
-libtool_VERSION=6:29:0
+libtool_VERSION=6:30:0
# Everything parsed; figure out what files and settings to use.
case $enable_symvers in
@@ -526,22 +526,17 @@ namespace std
// Avoid the use of assert, because we're trying to keep the <cassert>
// include out of the mix.
extern "C++" _GLIBCXX_NORETURN
- inline void
- __replacement_assert(const char* __file, int __line,
- const char* __function, const char* __condition)
- _GLIBCXX_NOEXCEPT
- {
- __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line,
- __function, __condition);
- __builtin_abort();
- }
+ void
+ __glibcxx_assert_fail(const char* __file, int __line,
+ const char* __function, const char* __condition)
+ _GLIBCXX_NOEXCEPT;
}
-#define __glibcxx_assert_impl(_Condition) \
- if (__builtin_expect(!bool(_Condition), false)) \
- { \
- __glibcxx_constexpr_assert(false); \
- std::__replacement_assert(__FILE__, __LINE__, __PRETTY_FUNCTION__, \
- #_Condition); \
+#define __glibcxx_assert_impl(_Condition) \
+ if (__builtin_expect(!bool(_Condition), false)) \
+ { \
+ __glibcxx_constexpr_assert(false); \
+ std::__glibcxx_assert_fail(__FILE__, __LINE__, __PRETTY_FUNCTION__, \
+ #_Condition); \
}
# else // ! VERBOSE_ASSERT
# define __glibcxx_assert_impl(_Condition) \
@@ -550,7 +545,7 @@ namespace std
__glibcxx_constexpr_assert(false); \
__builtin_abort(); \
}
-#endif
+# endif
#endif
#if defined(_GLIBCXX_ASSERTIONS)
@@ -33,7 +33,8 @@
#include <debug/vector>
#include <cassert>
-#include <cstdio>
+#include <cstdio> // for std::fprintf, stderr
+#include <cstdlib> // for std::abort
#include <cctype> // for std::isspace.
#include <cstring> // for std::strstr.
@@ -43,6 +44,21 @@
#include "mutex_pool.h"
+#ifdef _GLIBCXX_VERBOSE_ASSERT
+namespace std
+{
+ [[__noreturn__]]
+ void
+ __glibcxx_assert_fail(const char* file, int line,
+ const char* function, const char* condition) noexcept
+ {
+ fprintf(stderr, "%s:%d: %s: Assertion '%s' failed.\n",
+ file, line, function, condition);
+ abort();
+ }
+}
+#endif
+
using namespace std;
namespace
@@ -210,6 +210,7 @@ check_version(symbol& test, bool added)
known_versions.push_back("GLIBCXX_3.4.27");
known_versions.push_back("GLIBCXX_3.4.28");
known_versions.push_back("GLIBCXX_3.4.29");
+ known_versions.push_back("GLIBCXX_3.4.30");
known_versions.push_back("GLIBCXX_LDBL_3.4.29");
known_versions.push_back("GLIBCXX_IEEE128_3.4.29");
known_versions.push_back("CXXABI_1.3");
@@ -245,7 +246,7 @@ check_version(symbol& test, bool added)
test.version_status = symbol::incompatible;
// Check that added symbols are added in the latest pre-release version.
- bool latestp = (test.version_name == "GLIBCXX_3.4.29"
+ bool latestp = (test.version_name == "GLIBCXX_3.4.30"
// XXX remove next 3 lines when baselines have been regenerated
// to include {IEEE128,LDBL} symbols:
|| test.version_name == "GLIBCXX_LDBL_3.4.29"