Pārlūkot izejas kodu

Fix nested `defer` blocks

gingerBill 7 gadi atpakaļ
vecāks
revīzija
2c0b08145f
1 mainītis faili ar 1 papildinājumiem un 1 dzēšanām
  1. 1 1
      src/ir.cpp

+ 1 - 1
src/ir.cpp

@@ -1691,7 +1691,7 @@ void ir_emit_defer_stmts(irProcedure *proc, irDeferExitKind kind, irBlock *block
 		irDefer d = proc->defer_stmts[i];
 		if (kind == irDeferExit_Default) {
 			if (proc->scope_index == d.scope_index &&
-			    d.scope_index > 1) {
+			    d.scope_index > 0) { // TODO(bill): Which is correct: > 0 or > 1?
 				ir_build_defer_stmt(proc, d);
 				array_pop(&proc->defer_stmts);
 				continue;