| ... | @@ -1297,7 +1297,8 @@ pub const DeclGen = struct { | ... | @@ -1297,7 +1297,8 @@ pub const DeclGen = struct { |
| 1297 | var fqn_buf = std.ArrayList(u8).init(dg.typedefs.allocator); | 1297 | var fqn_buf = std.ArrayList(u8).init(dg.typedefs.allocator); |
| 1298 | defer fqn_buf.deinit(); | 1298 | defer fqn_buf.deinit(); |
| 1299 | | 1299 | |
| 1300 | const owner_decl = dg.module.declPtr(child_ty.getOwnerDecl()); | 1300 | const owner_decl_index = child_ty.getOwnerDecl(); |
| | 1301 | const owner_decl = dg.module.declPtr(owner_decl_index); |
| 1301 | try owner_decl.renderFullyQualifiedName(dg.module, fqn_buf.writer()); | 1302 | try owner_decl.renderFullyQualifiedName(dg.module, fqn_buf.writer()); |
| 1302 | | 1303 | |
| 1303 | var buffer = std.ArrayList(u8).init(dg.typedefs.allocator); | 1304 | var buffer = std.ArrayList(u8).init(dg.typedefs.allocator); |
| ... | @@ -1309,7 +1310,11 @@ pub const DeclGen = struct { | ... | @@ -1309,7 +1310,11 @@ pub const DeclGen = struct { |
| 1309 | else => unreachable, | 1310 | else => unreachable, |
| 1310 | }; | 1311 | }; |
| 1311 | const name_begin = buffer.items.len + "typedef ".len + tag.len; | 1312 | const name_begin = buffer.items.len + "typedef ".len + tag.len; |
| 1312 | try buffer.writer().print("typedef {s}zig_S_{} ", .{ tag, fmtIdent(fqn_buf.items) }); | 1313 | try buffer.writer().print("typedef {s}zig_S_{}__{d} ", .{ |
| | 1314 | tag, |
| | 1315 | fmtIdent(fqn_buf.items), |
| | 1316 | @enumToInt(owner_decl_index), |
| | 1317 | }); |
| 1313 | const name_end = buffer.items.len - " ".len; | 1318 | const name_end = buffer.items.len - " ".len; |
| 1314 | try buffer.ensureUnusedCapacity((name_end - name_begin) + ";\n".len); | 1319 | try buffer.ensureUnusedCapacity((name_end - name_begin) + ";\n".len); |
| 1315 | buffer.appendSliceAssumeCapacity(buffer.items[name_begin..name_end]); | 1320 | buffer.appendSliceAssumeCapacity(buffer.items[name_begin..name_end]); |