From 5ae3ac9c431de65c2c075793e98a4a3257ac039e Mon Sep 17 00:00:00 2001 From: Jacob Young Date: Thu, 6 Oct 2022 04:31:18 -0400 Subject: [PATCH] c: fix redefinition of typedef warnings Closes #11651 --- src/codegen/c.zig | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/codegen/c.zig b/src/codegen/c.zig index b884e2fb0f57776ce59a41629a6201b5fb4b053e..fddf33defdb51f51bfea3867093588ae53bc900e 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -1259,17 +1259,19 @@ pub const DeclGen = struct { const bw = buffer.writer(); const elem_type = t.elemType(); - const sentinel_bit = @boolToInt(t.sentinel() != null); - const c_len = t.arrayLen() + sentinel_bit; try bw.writeAll("typedef "); try dg.renderType(bw, elem_type); const name_start = buffer.items.len + 1; - try bw.print(" zig_A_{s}_{d}", .{ typeToCIdentifier(elem_type, dg.module), c_len }); + try bw.print(" zig_A_{s}_{d}", .{ typeToCIdentifier(elem_type, dg.module), t.arrayLen() }); + if (t.sentinel()) |s| { + try bw.writeAll("_s_"); + try dg.renderValue(bw, elem_type, s, .Identifier); + } const name_end = buffer.items.len; - try bw.print("[{d}];\n", .{c_len}); + try bw.print("[{d}];\n", .{t.arrayLenIncludingSentinel()}); const rendered = buffer.toOwnedSlice(); errdefer dg.typedefs.allocator.free(rendered); -- 2.54.0