| ... | @@ -1939,7 +1939,7 @@ fn blockExpr( | ... | @@ -1939,7 +1939,7 @@ fn blockExpr( |
| 1939 | if (token_tags[lbrace - 1] == .colon and | 1939 | if (token_tags[lbrace - 1] == .colon and |
| 1940 | token_tags[lbrace - 2] == .identifier) | 1940 | token_tags[lbrace - 2] == .identifier) |
| 1941 | { | 1941 | { |
| 1942 | return labeledBlockExpr(gz, scope, rl, block_node, statements, .block); | 1942 | return labeledBlockExpr(gz, scope, rl, block_node, statements); |
| 1943 | } | 1943 | } |
| 1944 | | 1944 | |
| 1945 | try blockExprStmts(gz, scope, statements); | 1945 | try blockExprStmts(gz, scope, statements); |
| ... | @@ -1984,13 +1984,10 @@ fn labeledBlockExpr( | ... | @@ -1984,13 +1984,10 @@ fn labeledBlockExpr( |
| 1984 | rl: ResultLoc, | 1984 | rl: ResultLoc, |
| 1985 | block_node: Ast.Node.Index, | 1985 | block_node: Ast.Node.Index, |
| 1986 | statements: []const Ast.Node.Index, | 1986 | statements: []const Ast.Node.Index, |
| 1987 | zir_tag: Zir.Inst.Tag, | | |
| 1988 | ) InnerError!Zir.Inst.Ref { | 1987 | ) InnerError!Zir.Inst.Ref { |
| 1989 | const tracy = trace(@src()); | 1988 | const tracy = trace(@src()); |
| 1990 | defer tracy.end(); | 1989 | defer tracy.end(); |
| 1991 | | 1990 | |
| 1992 | assert(zir_tag == .block); | | |
| 1993 | | | |
| 1994 | const astgen = gz.astgen; | 1991 | const astgen = gz.astgen; |
| 1995 | const tree = astgen.tree; | 1992 | const tree = astgen.tree; |
| 1996 | const main_tokens = tree.nodes.items(.main_token); | 1993 | const main_tokens = tree.nodes.items(.main_token); |
| ... | @@ -2004,7 +2001,7 @@ fn labeledBlockExpr( | ... | @@ -2004,7 +2001,7 @@ fn labeledBlockExpr( |
| 2004 | | 2001 | |
| 2005 | // Reserve the Block ZIR instruction index so that we can put it into the GenZir struct | 2002 | // Reserve the Block ZIR instruction index so that we can put it into the GenZir struct |
| 2006 | // so that break statements can reference it. | 2003 | // so that break statements can reference it. |
| 2007 | const block_inst = try gz.makeBlockInst(zir_tag, block_node); | 2004 | const block_inst = try gz.makeBlockInst(.block, block_node); |
| 2008 | try gz.instructions.append(astgen.gpa, block_inst); | 2005 | try gz.instructions.append(astgen.gpa, block_inst); |
| 2009 | | 2006 | |
| 2010 | var block_scope = gz.makeSubBlock(parent_scope); | 2007 | var block_scope = gz.makeSubBlock(parent_scope); |
| ... | @@ -2018,7 +2015,7 @@ fn labeledBlockExpr( | ... | @@ -2018,7 +2015,7 @@ fn labeledBlockExpr( |
| 2018 | | 2015 | |
| 2019 | try blockExprStmts(&block_scope, &block_scope.base, statements); | 2016 | try blockExprStmts(&block_scope, &block_scope.base, statements); |
| 2020 | if (!block_scope.endsWithNoReturn()) { | 2017 | if (!block_scope.endsWithNoReturn()) { |
| 2021 | _ = try block_scope.addBreak(.break_inline, block_inst, .void_value); | 2018 | _ = try block_scope.addBreak(.@"break", block_inst, .void_value); |
| 2022 | } | 2019 | } |
| 2023 | | 2020 | |
| 2024 | if (!block_scope.label.?.used) { | 2021 | if (!block_scope.label.?.used) { |