[PATCH] D70568: [Support] Possibly use exception handler in the Crash Recovery Context in the same way as global exceptions

Alexandre Ganea via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Dec 9 07:38:28 PST 2019


aganea updated this revision to Diff 232854.
aganea marked 8 inline comments as done.
aganea added a subscriber: vsk.
aganea added a comment.

Addressed comments, and:

- Removed `CrashRecoveryContext::HandleCrash()` and `#pragma clang handle_crash` which wasn't covered by any test and most likely deprecated by `#pragma clang crash`
- Added refcounting to `CrashRecoveryContext::Enable/Disable` as well as lazy installation of the exception handlers in `CrashRecoveryContext`.
- Partially reverted rG4624e83ce7b124545b55e45ba13f2d900ed65654 <https://reviews.llvm.org/rG4624e83ce7b124545b55e45ba13f2d900ed65654>/llvm/lib/Support/Unix/Signals.inc to simplify checks for IntSigs (and to fix the issue mentioned here <https://reviews.llvm.org/rG9a3f892d018238dce5181e458905311db8e682f5#856804>). @vsk

All tests pass on Windows/MSVC2019/Clang9/10 and Linux/Clang9/GCC9.1.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70568/new/

https://reviews.llvm.org/D70568

Files:
  clang/lib/Lex/Pragma.cpp
  llvm/include/llvm/Support/CrashRecoveryContext.h
  llvm/include/llvm/Support/Signals.h
  llvm/lib/Support/CrashRecoveryContext.cpp
  llvm/lib/Support/Unix/Signals.inc
  llvm/lib/Support/Windows/Signals.inc
  llvm/unittests/Support/CrashRecoveryTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70568.232854.patch
Type: text/x-patch
Size: 19047 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20191209/5f51e227/attachment-0001.bin>


More information about the cfe-commits mailing list