[PATCH] D108905: [ItaniumCXXABI] Add -fassume-nothrow-exception-dtor to assume that an exception object' destructor is nothrow

Fangrui Song via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 30 23:47:17 PDT 2023


MaskRay marked an inline comment as done.
MaskRay 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));
----------------
ChuanqiXu wrote:
> 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));
>     }
>   };
> ```
Since `__cxa_end_catch` is no longer `nounwind` in the latest revision, we cannot simplify the code...


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