aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/c.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/codegen/c.zig')
-rw-r--r--src/codegen/c.zig9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig
index 304728b602..0b9a4ef4fc 100644
--- a/src/codegen/c.zig
+++ b/src/codegen/c.zig
@@ -1961,7 +1961,7 @@ pub const DeclGen = struct {
try buffer.appendSlice("static ");
try dg.renderType(bw, name_slice_ty, .Complete);
const name_begin = buffer.items.len + " ".len;
- try bw.print(" zig_tagName_{}(", .{typeToCIdentifier(enum_ty, dg.module)});
+ try bw.print(" zig_tagName_{}_{d}(", .{ typeToCIdentifier(enum_ty, dg.module), @enumToInt(enum_ty.getOwnerDecl()) });
const name_end = buffer.items.len - "(".len;
try dg.renderTypeAndName(bw, enum_ty, .{ .identifier = "tag" }, .Const, 0, .Complete);
try buffer.appendSlice(") {\n switch (tag) {\n");
@@ -2111,11 +2111,16 @@ pub const DeclGen = struct {
return writer.writeAll(exports.items[0].options.name);
} else if (decl.isExtern()) {
return writer.writeAll(mem.sliceTo(decl.name, 0));
+ } else if (dg.module.test_functions.get(decl_index)) |_| {
+ const gpa = dg.gpa;
+ const name = try decl.getFullyQualifiedName(dg.module);
+ defer gpa.free(name);
+ return writer.print("{}_{d}", .{ fmtIdent(name), @enumToInt(decl_index) });
} else {
const gpa = dg.gpa;
const name = try decl.getFullyQualifiedName(dg.module);
defer gpa.free(name);
- return writer.print("{ }", .{fmtIdent(name)});
+ return writer.print("{}", .{fmtIdent(name)});
}
}