diff options
author | Daniel Kiss <daniel.kiss@arm.com> | 2021-10-27 10:32:11 +0200 |
---|---|---|
committer | Daniel Kiss <daniel.kiss@arm.com> | 2021-10-28 16:49:19 +0200 |
commit | b6420e575f3bbb6b6df848c0284d6b60eeb07350 (patch) | |
tree | f9f6a10f0a31d18548ea188b121ce02231bf6faf /clang/lib/Parse/ParseOpenMP.cpp | |
parent | 9358384fd646aa0999ced1d4fafd294c14680527 (diff) | |
download | llvm-b6420e575f3bbb6b6df848c0284d6b60eeb07350.zip llvm-b6420e575f3bbb6b6df848c0284d6b60eeb07350.tar.gz llvm-b6420e575f3bbb6b6df848c0284d6b60eeb07350.tar.bz2 |
Reland "[ARM] __cxa_end_cleanup should be called instead of _UnwindResume."
This is relanding commit da1d1a08694bbfe0ea7a23ea094612436e8a2dd0 .
This patch additionally addresses failures found in buildbots & post review comments.
ARM EHABI[1] specifies the __cxa_end_cleanup to be called after cleanup.
It will call the UnwindResume.
__cxa_begin_cleanup will be called from libcxxabi while __cxa_end_cleanup is never called.
This will trigger a termination when a foreign exception is processed while UnwindResume is called
because the global state will be wrong due to the missing __cxa_end_cleanup call.
Additional test here: D109856
[1] https://github.com/ARM-software/abi-aa/blob/main/ehabi32/ehabi32.rst#941compiler-helper-functions
Reviewed By: logan
Differential Revision: https://reviews.llvm.org/D111703
Diffstat (limited to 'clang/lib/Parse/ParseOpenMP.cpp')
0 files changed, 0 insertions, 0 deletions