commit a67ea4a4ae6f8392e2cf9672279aa1b2f80dab72 (tree)
parent 2dcac348e57a2b071270cd3183d3e4f63af4ca7c
Author: Veikka Tuominen <git@vexu.eu>
Date: Sun, 27 Nov 2022 21:47:41 +0200
cbe: include hash in tuple type name
Different (simple) tuple types do not necessarily print out as different strings.
This is issue would be caused by passing std.fmt.Formatter to std.fmt.format.
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/codegen/c.zig b/src/codegen/c.zig
@@ -1468,7 +1468,7 @@ pub const DeclGen = struct {
if (field_id == 0) try buffer.appendSlice(" char empty_tuple;\n");
}
const name_begin = buffer.items.len + "} ".len;
- try buffer.writer().print("}} zig_T_{};\n", .{typeToCIdentifier(t, dg.module)});
+ try buffer.writer().print("}} zig_T_{}_{d};\n", .{ typeToCIdentifier(t, dg.module), @truncate(u16, t.hash(dg.module)) });
const name_end = buffer.items.len - ";\n".len;
const rendered = try buffer.toOwnedSlice();