Skip to content

Commit 24ce666

Browse files
committed
test-cases: fix incorrectly linking libc when backend is llvm
Now link_libc=1 must be used to link with libc, instead of the test harness assuming that using the llvm backend means additionally linking with libc.
1 parent 4ec209d commit 24ce666

File tree

4 files changed

+8
-2
lines changed

4 files changed

+8
-2
lines changed

test/cases/f32_passed_to_variadic_fn.zig

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ pub fn main() void {
99
// run
1010
// backend=llvm
1111
// target=x86_64-linux-gnu
12+
// link_libc=1
1213
//
1314
// f64: 2.000000
1415
// f32: 10.000000
15-
//
16+
//

test/cases/fn_typeinfo_passed_to_comptime_fn.zig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@ fn foo(comptime info: std.builtin.Type) !void {
1414

1515
// run
1616
// is_test=1
17+
// backend=llvm
1718
//

test/cases/llvm/hello_world.zig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ pub fn main() void {
77
// run
88
// backend=llvm
99
// target=x86_64-linux,x86_64-macos
10+
// link_libc=1
1011
//
1112
// hello world!
1213
//

test/src/Cases.zig

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,7 @@ fn addFromDirInner(
382382
const backends = try manifest.getConfigForKeyAlloc(ctx.arena, "backend", Backend);
383383
const targets = try manifest.getConfigForKeyAlloc(ctx.arena, "target", CrossTarget);
384384
const is_test = try manifest.getConfigForKeyAssertSingle("is_test", bool);
385+
const link_libc = try manifest.getConfigForKeyAssertSingle("link_libc", bool);
385386
const output_mode = try manifest.getConfigForKeyAssertSingle("output_mode", std.builtin.OutputMode);
386387

387388
var cases = std.ArrayList(usize).init(ctx.arena);
@@ -397,7 +398,7 @@ fn addFromDirInner(
397398
.updates = std.ArrayList(Cases.Update).init(ctx.cases.allocator),
398399
.is_test = is_test,
399400
.output_mode = output_mode,
400-
.link_libc = backend == .llvm,
401+
.link_libc = link_libc,
401402
.deps = std.ArrayList(DepModule).init(ctx.cases.allocator),
402403
});
403404
try cases.append(next);
@@ -745,6 +746,8 @@ const TestManifestConfigDefaults = struct {
745746
};
746747
} else if (std.mem.eql(u8, key, "is_test")) {
747748
return "0";
749+
} else if (std.mem.eql(u8, key, "link_libc")) {
750+
return "0";
748751
} else unreachable;
749752
}
750753
};

0 commit comments

Comments
 (0)