authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2021-02-22 19:26:19+02:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2021-02-22 19:26:19+02:00
log011bc1b84fc0ea1147cc96ccd30962bc38b65e02
tree957eb81107764d89d864801ca9cd5e11da11a4ae
parentce9b3ee0f908a776b67a5d7bedc2075559e7643c
signaturelock-open Commit is signed but in an unrecognized format.

translate-c: switch default should have an empty block not break


2 files changed, 8 insertions(+), 1 deletions(-)

src/translate_c.zig+1-1
......@@ -2276,7 +2276,7 @@ fn transSwitch(
22762276 }
22772277
22782278 if (!has_default) {
2279 const else_prong = try Tag.switch_else.create(c.arena, Tag.@"break".init());
2279 const else_prong = try Tag.switch_else.create(c.arena, Tag.empty_block.init());
22802280 try cases.append(else_prong);
22812281 }
22822282
test/translate_c.zig+7
......@@ -2055,6 +2055,9 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
20552055 \\ return;
20562056 \\ }
20572057 \\ case 6:
2058 \\ switch (res) {
2059 \\ case 9: break;
2060 \\ }
20582061 \\ res = 1;
20592062 \\ return;
20602063 \\ }
......@@ -2084,6 +2087,10 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
20842087 \\ }
20852088 \\ },
20862089 \\ @as(c_int, 6) => {
2090 \\ switch (res) {
2091 \\ @as(c_int, 9) => {},
2092 \\ else => {},
2093 \\ }
20872094 \\ res = 1;
20882095 \\ return;
20892096 \\ },