diff options
| author | Veikka Tuominen <git@vexu.eu> | 2022-10-24 15:17:01 +0300 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2022-10-27 01:31:18 +0300 |
| commit | 4fc944dde813638410850515b0d1b156e5b6e920 (patch) | |
| tree | 57af939346f904b0da8348d10de6666a1e948022 /src | |
| parent | d773b7e71f8d9fd3d69c1f90cec9a941fc9f9a12 (diff) | |
| download | zig-4fc944dde813638410850515b0d1b156e5b6e920.tar.gz zig-4fc944dde813638410850515b0d1b156e5b6e920.zip | |
translate-c: fix redefinition of label on left recursive comma operator
Closes #13239
Diffstat (limited to 'src')
| -rw-r--r-- | src/translate_c.zig | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/translate_c.zig b/src/translate_c.zig index 219635859c..7cc843e17c 100644 --- a/src/translate_c.zig +++ b/src/translate_c.zig @@ -5651,13 +5651,14 @@ const ParseError = Error || error{ParseError}; fn parseCExpr(c: *Context, m: *MacroCtx, scope: *Scope) ParseError!Node { // TODO parseCAssignExpr here - const node = try parseCCondExpr(c, m, scope); + var block_scope = try Scope.Block.init(c, scope, true); + defer block_scope.deinit(); + + const node = try parseCCondExpr(c, m, &block_scope.base); if (m.next().? != .Comma) { m.i -= 1; return node; } - var block_scope = try Scope.Block.init(c, scope, true); - defer block_scope.deinit(); var last = node; while (true) { |
