Skip to content

Commit

Permalink
Merge pull request #20120 from vahur/move-consts-to-rdata
Browse files Browse the repository at this point in the history
mark anondecls as constants in llvm ir
  • Loading branch information
andrewrk authored Jun 5, 2024
2 parents 8c04ffb + c01d8c8 commit 8f27fdb
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 0 deletions.
2 changes: 2 additions & 0 deletions build.zig
Original file line number Diff line number Diff line change
Expand Up @@ -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, .{
Expand All @@ -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));
Expand Down
6 changes: 6 additions & 0 deletions lib/std/Build/Step/Compile.zig
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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 });
}
Expand Down
1 change: 1 addition & 0 deletions src/codegen/llvm.zig
Original file line number Diff line number Diff line change
Expand Up @@ -3126,6 +3126,7 @@ pub const Object = struct {

try variable_index.setInitializer(try o.lowerValue(decl_val), &o.builder);
variable_index.setLinkage(.internal, &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;
Expand Down
2 changes: 2 additions & 0 deletions test/tests.zig
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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"
Expand Down

0 comments on commit 8f27fdb

Please sign in to comment.