aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2021-10-13 10:35:44 +0100
committerJonathan Wakely <jwakely@redhat.com>2021-10-13 10:42:45 +0100
commitc1b6c360fcf3fc1c0045c7358d61a83c91b6fa25 (patch)
tree5bd6e20099b1447d79bb3f9608d698e7cd5ea35c
parent23cd18c60c8188e3d68eda721cdb739199e85e5b (diff)
downloadgcc-c1b6c360fcf3fc1c0045c7358d61a83c91b6fa25.zip
gcc-c1b6c360fcf3fc1c0045c7358d61a83c91b6fa25.tar.gz
gcc-c1b6c360fcf3fc1c0045c7358d61a83c91b6fa25.tar.bz2
libstdc++: Ensure language linkage of std::__terminate()
This is needed because people still find it necessary to do: extern "C" { #include <stdlib.h> } libstdc++-v3/ChangeLog: * include/bits/c++config (__terminate): Add extern "C++".
-rw-r--r--libstdc++-v3/include/bits/c++config2
1 files changed, 1 insertions, 1 deletions
diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config
index b76ffeb..a649580 100644
--- a/libstdc++-v3/include/bits/c++config
+++ b/libstdc++-v3/include/bits/c++config
@@ -296,7 +296,7 @@ namespace std
// This allows the library to terminate without including all of <exception>
// and without making the declaration of std::terminate visible to users.
- __attribute__ ((__noreturn__, __always_inline__))
+ extern "C++" __attribute__ ((__noreturn__, __always_inline__))
inline void __terminate() _GLIBCXX_USE_NOEXCEPT
{
void terminate() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__noreturn__));