[PATCH] D150340: [SEH]:Fix assertion when try is used inside catch(...) block with /EHa

Jennifer Yu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu May 11 13:53:46 PDT 2023


jyu2 added inline comments.


================
Comment at: clang/lib/CodeGen/CGException.cpp:650
+        llvm::FunctionCallee SehCppScope = getSehTryBeginFn(CGM);
+        EmitSehScope(SehCppScope);
+      }
----------------
efriedma wrote:
> Do we need to make the same change in EmitSEHTryStmt/ExitSEHTryStmt?
> 
> Is there some reason not to just call EmitSehTryScopeBegin here?
EmitSehTryScopeBegin:  it is emit seh.scope.begin

In here we want to emit seh.try.begin.  call EmitSehSCope with different function.

For EmitSEHTryStmt/ExitSEHTryStmt if is for __try /__except/__finally and it is for C code.  I thought about that.  And tried some test(BTW, try and __try can not be in same construct), I don't see the problem.  So I did not add that. 


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D150340



More information about the cfe-commits mailing list