From de9c889a0e7b8ef71d1c1d11985bf87e180885a6 Mon Sep 17 00:00:00 2001 From: Techatrix Date: Sat, 25 Jan 2025 19:32:33 +0100 Subject: [PATCH] aro_translate_c: fix ast lowering of continue node fixes #22601 --- lib/compiler/aro_translate_c/ast.zig | 2 +- test/cases/translate_c/continue_from_while.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 test/cases/translate_c/continue_from_while.c diff --git a/lib/compiler/aro_translate_c/ast.zig b/lib/compiler/aro_translate_c/ast.zig index b92db7862f..f491239137 100644 --- a/lib/compiler/aro_translate_c/ast.zig +++ b/lib/compiler/aro_translate_c/ast.zig @@ -993,7 +993,7 @@ fn renderNode(c: *Context, node: Node) Allocator.Error!NodeIndex { .main_token = try c.addToken(.keyword_continue, "continue"), .data = .{ .lhs = 0, - .rhs = undefined, + .rhs = 0, }, }), .return_void => return c.addNode(.{ diff --git a/test/cases/translate_c/continue_from_while.c b/test/cases/translate_c/continue_from_while.c new file mode 100644 index 0000000000..2e2237f752 --- /dev/null +++ b/test/cases/translate_c/continue_from_while.c @@ -0,0 +1,14 @@ +void foo() { + for (;;) { + continue; + } +} + +// translate-c +// c_frontend=clang +// +// pub export fn foo() void { +// while (true) { +// continue; +// } +// }