Terminate pads, cleanup pads with `__clang_call_terminate` call, have `catch` instruction in them because `__clang_call_terminate` takes an exception pointer. But these terminate pads should be reached also in case of foreign exception. So this pass attaches an additional `catch_all` BB after every terminate pad BB, with a call to `std::terminate`. Reviewed By: tlively Differential Revision: https://reviews.llvm.org/D94050
5.8 KiB
5.8 KiB