This is an archive of the discontinued LLVM Phabricator instance.

[libcxxabi] Check __SEH__, when checking if ARM EHABI is implied
ClosedPublic

Authored by mstorsjo on Jun 2 2022, 2:35 AM.

Details

Summary

ARM EHABI isn't signalled by any specific compiler builtin define,
but is implied by the lack of defines specifying any other
exception handling mechanism, __USING_SJLJ_EXCEPTIONS__ or
__ARM_DWARF_EH__.

As Windows SEH also can be used for unwinding, check for the
__SEH__ define too, in the same way.

Diff Detail

Event Timeline

mstorsjo created this revision.Jun 2 2022, 2:35 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 2 2022, 2:35 AM
mstorsjo requested review of this revision.Jun 2 2022, 2:35 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 2 2022, 2:35 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
MaskRay accepted this revision.Jun 5 2022, 11:38 AM

LGTM. As I mentioned in a previous patch, I don't know SEH enough to perform proper checks but I have read these changes and can confirm they are all reasonable.
The code change is similar to D126867. You may need to change either one to refer to the other differential.

ldionne accepted this revision.Jun 6 2022, 7:32 AM
This revision is now accepted and ready to land.Jun 6 2022, 7:32 AM