authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2022-10-06 04:31:18-04:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2022-10-25 05:11:28-04:00
log5ae3ac9c431de65c2c075793e98a4a3257ac039e
treebaf244783495029377244087f9cc5233c853caca
parentf81651932af18938fc88dc536806f3adbe5c11c4

c: fix redefinition of typedef warnings

Closes #11651

1 files changed, 6 insertions(+), 4 deletions(-)

src/codegen/c.zig+6-4
...@@ -1259,17 +1259,19 @@ pub const DeclGen = struct {...@@ -1259,17 +1259,19 @@ pub const DeclGen = struct {
1259 const bw = buffer.writer();1259 const bw = buffer.writer();
12601260
1261 const elem_type = t.elemType();1261 const elem_type = t.elemType();
1262 const sentinel_bit = @boolToInt(t.sentinel() != null);
1263 const c_len = t.arrayLen() + sentinel_bit;
12641262
1265 try bw.writeAll("typedef ");1263 try bw.writeAll("typedef ");
1266 try dg.renderType(bw, elem_type);1264 try dg.renderType(bw, elem_type);
12671265
1268 const name_start = buffer.items.len + 1;1266 const name_start = buffer.items.len + 1;
1269 try bw.print(" zig_A_{s}_{d}", .{ typeToCIdentifier(elem_type, dg.module), c_len });1267 try bw.print(" zig_A_{s}_{d}", .{ typeToCIdentifier(elem_type, dg.module), t.arrayLen() });
1268 if (t.sentinel()) |s| {
1269 try bw.writeAll("_s_");
1270 try dg.renderValue(bw, elem_type, s, .Identifier);
1271 }
1270 const name_end = buffer.items.len;1272 const name_end = buffer.items.len;
12711273
1272 try bw.print("[{d}];\n", .{c_len});1274 try bw.print("[{d}];\n", .{t.arrayLenIncludingSentinel()});
12731275
1274 const rendered = buffer.toOwnedSlice();1276 const rendered = buffer.toOwnedSlice();
1275 errdefer dg.typedefs.allocator.free(rendered);1277 errdefer dg.typedefs.allocator.free(rendered);