authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-11-27 16:50:35+02:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-11-30 15:14:33+02:00
log63ae7899ae6803ba8113ed3176877c864ce889df
treec88732bd93fa84cd4e197d1bb32a9bb74d7551f2
parent71038c42f554da86ee23c9c448d39e457d5818eb

cbe: ensure test and tagName function names are unique


7 files changed, 7 insertions(+), 10 deletions(-)

src/codegen/c.zig+7-2
...@@ -1961,7 +1961,7 @@ pub const DeclGen = struct {...@@ -1961,7 +1961,7 @@ pub const DeclGen = struct {
1961 try buffer.appendSlice("static ");1961 try buffer.appendSlice("static ");
1962 try dg.renderType(bw, name_slice_ty, .Complete);1962 try dg.renderType(bw, name_slice_ty, .Complete);
1963 const name_begin = buffer.items.len + " ".len;1963 const name_begin = buffer.items.len + " ".len;
1964 try bw.print(" zig_tagName_{}(", .{typeToCIdentifier(enum_ty, dg.module)});1964 try bw.print(" zig_tagName_{}_{d}(", .{ typeToCIdentifier(enum_ty, dg.module), @enumToInt(enum_ty.getOwnerDecl()) });
1965 const name_end = buffer.items.len - "(".len;1965 const name_end = buffer.items.len - "(".len;
1966 try dg.renderTypeAndName(bw, enum_ty, .{ .identifier = "tag" }, .Const, 0, .Complete);1966 try dg.renderTypeAndName(bw, enum_ty, .{ .identifier = "tag" }, .Const, 0, .Complete);
1967 try buffer.appendSlice(") {\n switch (tag) {\n");1967 try buffer.appendSlice(") {\n switch (tag) {\n");
...@@ -2111,11 +2111,16 @@ pub const DeclGen = struct {...@@ -2111,11 +2111,16 @@ pub const DeclGen = struct {
2111 return writer.writeAll(exports.items[0].options.name);2111 return writer.writeAll(exports.items[0].options.name);
2112 } else if (decl.isExtern()) {2112 } else if (decl.isExtern()) {
2113 return writer.writeAll(mem.sliceTo(decl.name, 0));2113 return writer.writeAll(mem.sliceTo(decl.name, 0));
2114 } else if (dg.module.test_functions.get(decl_index)) |_| {
2115 const gpa = dg.gpa;
2116 const name = try decl.getFullyQualifiedName(dg.module);
2117 defer gpa.free(name);
2118 return writer.print("{}_{d}", .{ fmtIdent(name), @enumToInt(decl_index) });
2114 } else {2119 } else {
2115 const gpa = dg.gpa;2120 const gpa = dg.gpa;
2116 const name = try decl.getFullyQualifiedName(dg.module);2121 const name = try decl.getFullyQualifiedName(dg.module);
2117 defer gpa.free(name);2122 defer gpa.free(name);
2118 return writer.print("{ }", .{fmtIdent(name)});2123 return writer.print("{}", .{fmtIdent(name)});
2119 }2124 }
2120 }2125 }
21212126
test/behavior/basic.zig-1
...@@ -739,7 +739,6 @@ test "thread local variable" {...@@ -739,7 +739,6 @@ test "thread local variable" {
739}739}
740740
741test "result location is optional inside error union" {741test "result location is optional inside error union" {
742 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
743 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO742 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
744 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO743 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
745744
test/behavior/bugs/13064.zig-1
...@@ -5,7 +5,6 @@ const expect = std.testing.expect;...@@ -5,7 +5,6 @@ const expect = std.testing.expect;
5test {5test {
6 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO6 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
7 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO7 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
8 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
98
10 var x: [10][10]u32 = undefined;9 var x: [10][10]u32 = undefined;
1110
test/behavior/bugs/13065.zig-1
...@@ -10,7 +10,6 @@ const U = union(enum) {...@@ -10,7 +10,6 @@ const U = union(enum) {
10test {10test {
11 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO11 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
12 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO12 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
13 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1413
15 var x = U{ .array = undefined };14 var x = U{ .array = undefined };
1615
test/behavior/bugs/13069.zig-1
...@@ -6,7 +6,6 @@ test {...@@ -6,7 +6,6 @@ test {
6 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO6 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
7 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO7 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
8 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO8 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
109
11 var opt_x: ?[3]f32 = [_]f32{0.0} ** 3;10 var opt_x: ?[3]f32 = [_]f32{0.0} ** 3;
1211
test/behavior/enum.zig-1
...@@ -1101,7 +1101,6 @@ test "enum literal in array literal" {...@@ -1101,7 +1101,6 @@ test "enum literal in array literal" {
1101}1101}
11021102
1103test "tag name functions are unique" {1103test "tag name functions are unique" {
1104 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
1105 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO1104 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
1106 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;1105 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
1107 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;1106 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
test/behavior/math.zig-3
...@@ -315,8 +315,6 @@ test "comptime_int multi-limb partial shift right" {...@@ -315,8 +315,6 @@ test "comptime_int multi-limb partial shift right" {
315}315}
316316
317test "xor" {317test "xor" {
318 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
319
320 try test_xor();318 try test_xor();
321 comptime try test_xor();319 comptime try test_xor();
322}320}
...@@ -572,7 +570,6 @@ fn testShrTrunc(x: u16) !void {...@@ -572,7 +570,6 @@ fn testShrTrunc(x: u16) !void {
572}570}
573571
574test "f128" {572test "f128" {
575 if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
576 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO573 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
577 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO574 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
578 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO575 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO