From 246d20055749428d3301bf4c1ab6e4bafff4775c Mon Sep 17 00:00:00 2001 From: araq Date: Mon, 1 Sep 2025 18:29:05 +0200 Subject: [PATCH 1/2] WIP; fixes #25037 --- compiler/ccgstmts.nim | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/compiler/ccgstmts.nim b/compiler/ccgstmts.nim index 3aedca9a965d..f297a2d6f809 100644 --- a/compiler/ccgstmts.nim +++ b/compiler/ccgstmts.nim @@ -135,7 +135,7 @@ proc genVarTuple(p: BProc, n: PNode) = initLocalVar(p, v, immediateAsgn=isAssignedImmediately(p.config, n[^1])) var field = initLoc(locExpr, vn, tup.storage) let rtup = rdLoc(tup) - let fieldName = + let fieldName = if t.kind == tyTuple: "Field" & $i else: @@ -858,8 +858,12 @@ proc genRaiseStmt(p: BProc, t: PNode) = of excCpp: blockLeaveActions(p, howManyTrys = 0, howManyExcepts = p.inExceptBlockLen) of excGoto: - blockLeaveActions(p, howManyTrys = 0, - howManyExcepts = (if p.nestedTryStmts.len > 0 and p.nestedTryStmts[^1].inExcept: 1 else: 0)) + var inExcept = 0 + for i in 0.. Date: Thu, 18 Sep 2025 09:46:42 +0200 Subject: [PATCH 2/2] maybe so... --- compiler/ccgstmts.nim | 28 ++++++++++++++++++++++------ lib/system/excpt.nim | 4 ++++ 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/compiler/ccgstmts.nim b/compiler/ccgstmts.nim index f297a2d6f809..2fc92741fbf7 100644 --- a/compiler/ccgstmts.nim +++ b/compiler/ccgstmts.nim @@ -858,12 +858,28 @@ proc genRaiseStmt(p: BProc, t: PNode) = of excCpp: blockLeaveActions(p, howManyTrys = 0, howManyExcepts = p.inExceptBlockLen) of excGoto: - var inExcept = 0 - for i in 0..