aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/src/experimental/contract.cc
diff options
context:
space:
mode:
authorFrançois Dumont <fdumont@gcc.gnu.org>2023-10-30 19:35:35 +0100
committerFrançois Dumont <fdumont@gcc.gnu.org>2023-10-30 21:49:31 +0100
commit5ea11700e5c25d5213d80104a402c8fd427cda76 (patch)
treecfb2de1069bad502ae4b52c79301df3bffa23490 /libstdc++-v3/src/experimental/contract.cc
parent434975cb1bd0286079d3b8a71b924c2cdd6adc11 (diff)
downloadgcc-5ea11700e5c25d5213d80104a402c8fd427cda76.zip
gcc-5ea11700e5c25d5213d80104a402c8fd427cda76.tar.gz
gcc-5ea11700e5c25d5213d80104a402c8fd427cda76.tar.bz2
libstdc++: [_GLIBCXX_INLINE_VERSION] Un-weak handle_contract_violation
libstdc++-v3/ChangeLog: * src/experimental/contract.cc [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Rework comment. Remove weak attribute.
Diffstat (limited to 'libstdc++-v3/src/experimental/contract.cc')
-rw-r--r--libstdc++-v3/src/experimental/contract.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/libstdc++-v3/src/experimental/contract.cc b/libstdc++-v3/src/experimental/contract.cc
index d550b49..39ad4bd 100644
--- a/libstdc++-v3/src/experimental/contract.cc
+++ b/libstdc++-v3/src/experimental/contract.cc
@@ -69,8 +69,9 @@ handle_contract_violation (const std::experimental::contract_violation &violatio
}
#if _GLIBCXX_INLINE_VERSION
-// Provide symbol without version namespace decoration for gcc.
-extern "C" __attribute__ ((weak)) void
+// The compiler expects the contract_violation class to be in an unversioned
+// namespace, so provide a forwarding function with the expected symbol name.
+extern "C" void
_Z25handle_contract_violationRKNSt12experimental18contract_violationE
(const std::experimental::contract_violation &violation)
{ handle_contract_violation(violation); }