commit f041425e48b2f65fd4262d3c9ba210c410322d02 (tree)
parent 01e89c91717b1f9102429d4809c40d53d751a806
Author: Andrew Kelley <andrew@ziglang.org>
Date: Tue, 23 Feb 2021 13:55:12 -0700
translate-c: fix using wrong slice and AST tag
Diffstat:
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git 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
@@ -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,