This is an archive of the discontinued LLVM Phabricator instance.

Update libstdc++ hack comment
ClosedPublic

Authored by urnathan on Apr 28 2021, 4:07 AM.

Details

Summary

This libstc++ hack isn't ready for removal. Updating the comment to note what I found. While I have not proven Ville's __is_throw_swappable patch made this go away, that patch did remove the use of noexcept(noexcept(swap(....))). I'm not sure when gcc grew deferred noexcept parsing.

Diff Detail

Event Timeline

urnathan requested review of this revision.Apr 28 2021, 4:07 AM
urnathan created this revision.
bruno accepted this revision.Apr 28 2021, 9:54 AM

LGTM

This revision is now accepted and ready to land.Apr 28 2021, 9:54 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptApr 29 2021, 3:57 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript

Here are my findings around this issue: https://godbolt.org/z/TE9rdxae8

So GCC started parsing this correctly from 9.4 to 10.1.
It does not look like they have a workaround for their own older libstdc++.

It seems to me this HACK is ready for removal. Is there something else I might be missing?

It seems to me this HACK is ready for removal. Is there something else I might be missing?

we want to support all the way back to gcc 4.8.3, IIRC that's the version in CentOS $SOMEPOPULARVERSION

see https://reviews.llvm.org/D100465 for that documentation