diff options
| author | Jacob Young <jacobly0@users.noreply.github.com> | 2022-10-06 04:31:18 -0400 |
|---|---|---|
| committer | Jacob Young <jacobly0@users.noreply.github.com> | 2022-10-25 05:11:28 -0400 |
| commit | 5ae3ac9c431de65c2c075793e98a4a3257ac039e (patch) | |
| tree | baf244783495029377244087f9cc5233c853caca /src/codegen | |
| parent | f81651932af18938fc88dc536806f3adbe5c11c4 (diff) | |
| download | zig-5ae3ac9c431de65c2c075793e98a4a3257ac039e.tar.gz zig-5ae3ac9c431de65c2c075793e98a4a3257ac039e.zip | |
c: fix redefinition of typedef warnings
Closes #11651
Diffstat (limited to 'src/codegen')
| -rw-r--r-- | src/codegen/c.zig | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig index b884e2fb0f..fddf33defd 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); |
