translate-c: fix using wrong slice and AST tag

This commit is contained in:
Andrew Kelley 2021-02-23 13:55:12 -07:00
parent 01e89c9171
commit f041425e48
2 changed files with 11 additions and 2 deletions

View File

@ -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)

View File

@ -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,