mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 23:25:24 +02:00
libstdc++: Define __glibcxx_assert_fail for non-verbose build [PR115585]
When the library is configured with --disable-libstdcxx-verbose the assertions just abort instead of calling __glibcxx_assert_fail, and so I didn't export that function for the non-verbose build. However, that option is documented to not change the library ABI, so we still need to export the symbol from the library. It could be needed by programs compiled against the headers from a verbose build. The non-verbose definition can just call abort so that it doesn't pull in I/O symbols, which are unwanted in a non-verbose build. libstdc++-v3/ChangeLog: PR libstdc++/115585 * src/c++11/assert_fail.cc (__glibcxx_assert_fail): Add definition for non-verbose builds.
This commit is contained in:
committed by
Jonathan Wakely
parent
fab60eaa94
commit
52370c839e
@@ -22,10 +22,10 @@
|
||||
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include <cstdio> // for std::fprintf, stderr
|
||||
#include <cstdlib> // for std::abort
|
||||
|
||||
#ifdef _GLIBCXX_VERBOSE_ASSERT
|
||||
#include <cstdio> // for std::fprintf, stderr
|
||||
namespace std
|
||||
{
|
||||
[[__noreturn__]]
|
||||
@@ -41,4 +41,12 @@ namespace std
|
||||
abort();
|
||||
}
|
||||
}
|
||||
#else
|
||||
namespace std
|
||||
{
|
||||
[[__noreturn__]]
|
||||
void
|
||||
__glibcxx_assert_fail(const char*, int, const char*, const char*) noexcept
|
||||
{ abort(); }
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user