[clang] [llvm] [WinEH] Fix try scopes leaking to caller on inline (PR #167176)

via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 7 04:38:37 PST 2025


================
@@ -341,9 +341,11 @@ void llvm::calculateSEHStateForAsynchEH(const BasicBlock *BB, int State,
         // Retrive the new State from seh_try_begin
         State = EHInfo.InvokeStateMap[cast<InvokeInst>(TI)];
       else if (Fn && Fn->isIntrinsic() &&
-               Fn->getIntrinsicID() == Intrinsic::seh_try_end)
+               Fn->getIntrinsicID() == Intrinsic::seh_try_end) {
----------------
MuellerMP wrote:

Updated my patch: the current patch now reverts back to emitting a try end for every eha try. The related invoke destination is now also present in the TerminateTryScope cleanup struct.

https://github.com/llvm/llvm-project/pull/167176


More information about the llvm-commits mailing list