[committed][_GLIBCXX_INLINE_VERSION] Fix constract violation
Jonathan Wakely
jwakely.gcc@gmail.com
Mon Oct 30 19:14:46 GMT 2023
On Mon, 30 Oct 2023, 18:31 François Dumont, <frs.dumont@gmail.com> wrote:
>
> On 30/10/2023 14:45, Jonathan Wakely wrote:
> > On Sun, 29 Oct 2023 at 21:11, François Dumont <frs.dumont@gmail.com>
> wrote:
> >> This fixes handle_contract_violation under versioned namespace mode.
> >>
> >> Tested under Linux x64 and confirmed to also fix Darwin build.
> >>
> >> 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.
> >> +#if _GLIBCXX_INLINE_VERSION
> >> +// Provide symbol without version namespace decoration for gcc.
> > For the comment in the code, I think this would be better:
> >
> > // The compiler expects the contract_violation class to be in an
> unversioned
> > // namespace, so provide a forwarding function with the expected symbol
> name.
> Sure, I'll update it.
> > Do we want the forwarding function to be a weak symbol? The main
> > handler function is weak because we want users to be able to override
> > it with their own handler. But for this new forwarding function, they
> > can't even declare it (because it has a reserved name that doesn't
> > demangle to a valid type for the versioned namespace build).
> >
> Good point, I see no reason neither so I'll remove it.
>
Thanks, looks good for trunk (and gcc-13 maybe?) with that change.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://gcc.gnu.org/pipermail/libstdc++/attachments/20231030/96bbfa42/attachment.htm>
More information about the Libstdc++
mailing list