[PATCH] D108905: [ItaniumCXXABI] Set nounwind on __cxa_begin_catch/__cxa_end_catch
Chuanqi Xu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 30 01:00:16 PDT 2021
ChuanqiXu added inline comments.
================
Comment at: clang/lib/CodeGen/ItaniumCXXABI.cpp:4435-4448
struct CallEndCatch final : EHScopeStack::Cleanup {
CallEndCatch(bool MightThrow) : MightThrow(MightThrow) {}
bool MightThrow;
void Emit(CodeGenFunction &CGF, Flags flags) override {
if (!MightThrow) {
CGF.EmitNounwindRuntimeCall(getEndCatchFn(CGF.CGM));
----------------
If `__cxa_end_catch ` is nounwind always now, do we need to refactor this one? Like:
```
struct CallEndCatch final : EHScopeStack::Cleanup {
CallEndCatch() {}
void Emit(CodeGenFunction &CGF, Flags flags) override {
CGF.EmitNounwindRuntimeCall(getEndCatchFn(CGF.CGM));
}
};
```
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D108905/new/
https://reviews.llvm.org/D108905
More information about the cfe-commits
mailing list