From: François Dumont Date: Tue, 19 Sep 2023 16:56:57 +0000 (+0200) Subject: libstdc++: [_GLIBCXX_INLINE_VERSION] Provide handle_contract_violation symbol X-Git-Tag: releases/gcc-13.3.0~787 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fa48423394a3456ebbecb11a503813fc8c0b5d52;p=thirdparty%2Fgcc.git libstdc++: [_GLIBCXX_INLINE_VERSION] Provide handle_contract_violation symbol libstdc++-v3/ChangeLog: * src/experimental/contract.cc [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Provide symbol without version namespace decoration for gcc. --- diff --git a/libstdc++-v3/src/experimental/contract.cc b/libstdc++-v3/src/experimental/contract.cc index 504a6c041f17..39ad4bd7d075 100644 --- a/libstdc++-v3/src/experimental/contract.cc +++ b/libstdc++-v3/src/experimental/contract.cc @@ -67,3 +67,12 @@ handle_contract_violation (const std::experimental::contract_violation &violatio std::cerr << std::endl; #endif } + +#if _GLIBCXX_INLINE_VERSION +// 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); } +#endif