zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit c01d8c8b20514add5bb7b7a10ab570d2ae72df4d (tree)
parent 06d9f88f971143db8adca936aa9dddf74f564729
Author: Veikka Tuominen <git@vexu.eu>
Date:   Sun,  2 Jun 2024 10:10:35 +0300

pass `-fno-builtin` when testing `lib/c.zig`, `lib/compiler_rt.zig`

Diffstat:
Mbuild.zig | 2++
Mlib/std/Build/Step/Compile.zig | 6++++++
Msrc/codegen/llvm.zig | 3+--
Mtest/tests.zig | 2++
4 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/build.zig b/build.zig @@ -489,6 +489,7 @@ pub fn build(b: *std.Build) !void { .skip_single_threaded = true, .skip_non_native = skip_non_native, .skip_libc = true, + .no_builtin = true, })); test_step.dependOn(tests.addModuleTests(b, .{ @@ -501,6 +502,7 @@ pub fn build(b: *std.Build) !void { .skip_single_threaded = true, .skip_non_native = skip_non_native, .skip_libc = true, + .no_builtin = true, })); test_step.dependOn(tests.addCompareOutputTests(b, test_filters, optimization_modes)); diff --git a/lib/std/Build/Step/Compile.zig b/lib/std/Build/Step/Compile.zig @@ -211,6 +211,8 @@ is_linking_libc: bool = false, /// Computed during make(). is_linking_libcpp: bool = false, +no_builtin: bool = false, + pub const ExpectedCompileErrors = union(enum) { contains: []const u8, exact: []const []const u8, @@ -1572,6 +1574,10 @@ fn make(step: *Step, prog_node: std.Progress.Node) !void { } } + if (compile.no_builtin) { + try zig_args.append("-fno-builtin"); + } + if (b.sysroot) |sysroot| { try zig_args.appendSlice(&[_][]const u8{ "--sysroot", sysroot }); } diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig @@ -3115,8 +3115,7 @@ pub const Object = struct { try variable_index.setInitializer(try o.lowerValue(decl_val), &o.builder); variable_index.setLinkage(.internal, &o.builder); - const llvm_miscompiles_const_anon = o.module.getTarget().isDarwin(); - if (!llvm_miscompiles_const_anon) variable_index.setMutability(.constant, &o.builder); + variable_index.setMutability(.constant, &o.builder); variable_index.setUnnamedAddr(.unnamed_addr, &o.builder); variable_index.setAlignment(alignment.toLlvm(), &o.builder); return variable_index; diff --git a/test/tests.zig b/test/tests.zig @@ -984,6 +984,7 @@ const ModuleTestOptions = struct { skip_non_native: bool, skip_libc: bool, max_rss: usize = 0, + no_builtin: bool = false, }; pub fn addModuleTests(b: *std.Build, options: ModuleTestOptions) *Step { @@ -1070,6 +1071,7 @@ pub fn addModuleTests(b: *std.Build, options: ModuleTestOptions) *Step { .pic = test_target.pic, .strip = test_target.strip, }); + if (options.no_builtin) these_tests.no_builtin = true; const single_threaded_suffix = if (test_target.single_threaded == true) "-single" else ""; const backend_suffix = if (test_target.use_llvm == true) "-llvm"