From f041425e48b2f65fd4262d3c9ba210c410322d02 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 23 Feb 2021 13:55:12 -0700 Subject: [PATCH] translate-c: fix using wrong slice and AST tag --- CMakeLists.txt | 2 +- src/translate_c/ast.zig | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 80b586e9cd..4f2dc4fa4a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -572,12 +572,12 @@ set(ZIG_STAGE2_SOURCES "${CMAKE_SOURCE_DIR}/src/target.zig" "${CMAKE_SOURCE_DIR}/src/tracy.zig" "${CMAKE_SOURCE_DIR}/src/translate_c.zig" + "${CMAKE_SOURCE_DIR}/src/translate_c/ast.zig" "${CMAKE_SOURCE_DIR}/src/type.zig" "${CMAKE_SOURCE_DIR}/src/value.zig" "${CMAKE_SOURCE_DIR}/src/windows_sdk.zig" "${CMAKE_SOURCE_DIR}/src/zir.zig" "${CMAKE_SOURCE_DIR}/src/zir_sema.zig" - "${CMAKE_SOURCE_DIR}/src/translate_c/ast.zig" ) if(MSVC) diff --git a/src/translate_c/ast.zig b/src/translate_c/ast.zig index b3a05656e3..3bc20271cc 100644 --- a/src/translate_c/ast.zig +++ b/src/translate_c/ast.zig @@ -1809,7 +1809,16 @@ fn renderRecord(c: *Context, node: Node) !NodeIndex { } _ = try c.addToken(.r_brace, "}"); - if (members.len <= 2) { + if (payload.fields.len == 0) { + return c.addNode(.{ + .tag = .container_decl_two, + .main_token = kind_tok, + .data = .{ + .lhs = 0, + .rhs = 0, + }, + }); + } else if (payload.fields.len <= 2) { return c.addNode(.{ .tag = .container_decl_two_trailing, .main_token = kind_tok,