diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2021-02-11 23:45:40 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2021-02-11 23:45:40 -0700 |
| commit | b4e344bcf859f2df89637e0825a2e0e57d092ef6 (patch) | |
| tree | 44465c5c3eadcfdc57f0a0a3eb5cffff9107bd7f /lib/std/build | |
| parent | 3d0f4b90305bc1815ccc86613cb3da715e9b62c0 (diff) | |
| parent | d3565ed6b48c9c66128f181e7b90b5348504cb3f (diff) | |
| download | zig-b4e344bcf859f2df89637e0825a2e0e57d092ef6.tar.gz zig-b4e344bcf859f2df89637e0825a2e0e57d092ef6.zip | |
Merge remote-tracking branch 'origin/master' into ast-memory-layout
Conflicts:
* lib/std/zig/ast.zig
* lib/std/zig/parse.zig
* lib/std/zig/parser_test.zig
* lib/std/zig/render.zig
* src/Module.zig
* src/zir.zig
I resolved some of the conflicts by reverting a small portion of
@tadeokondrak's stage2 logic here regarding `callconv(.Inline)`.
It will need to get reworked as part of this branch.
Diffstat (limited to 'lib/std/build')
| -rw-r--r-- | lib/std/build/check_file.zig | 4 | ||||
| -rw-r--r-- | lib/std/build/run.zig | 13 | ||||
| -rw-r--r-- | lib/std/build/translate_c.zig | 4 | ||||
| -rw-r--r-- | lib/std/build/write_file.zig | 5 |
4 files changed, 16 insertions, 10 deletions
diff --git a/lib/std/build/check_file.zig b/lib/std/build/check_file.zig index 31966fad52..28c98547b7 100644 --- a/lib/std/build/check_file.zig +++ b/lib/std/build/check_file.zig @@ -27,8 +27,8 @@ pub const CheckFileStep = struct { self.* = CheckFileStep{ .builder = builder, .step = Step.init(.CheckFile, "CheckFile", builder.allocator, make), - .source = source, - .expected_matches = expected_matches, + .source = source.dupe(builder), + .expected_matches = builder.dupeStrings(expected_matches), }; self.source.addStepDependencies(&self.step); return self; diff --git a/lib/std/build/run.zig b/lib/std/build/run.zig index 8f8fa2eba0..ca39b0216e 100644 --- a/lib/std/build/run.zig +++ b/lib/std/build/run.zig @@ -76,7 +76,7 @@ pub const RunStep = struct { self.argv.append(Arg{ .WriteFile = .{ .step = write_file, - .file_name = file_name, + .file_name = self.builder.dupePath(file_name), }, }) catch unreachable; self.step.dependOn(&write_file.step); @@ -119,7 +119,7 @@ pub const RunStep = struct { const new_path = self.builder.fmt("{s}" ++ [1]u8{fs.path.delimiter} ++ "{s}", .{ pp, search_path }); env_map.set(key, new_path) catch unreachable; } else { - env_map.set(key, search_path) catch unreachable; + env_map.set(key, self.builder.dupePath(search_path)) catch unreachable; } } @@ -134,15 +134,18 @@ pub const RunStep = struct { pub fn setEnvironmentVariable(self: *RunStep, key: []const u8, value: []const u8) void { const env_map = self.getEnvMap(); - env_map.set(key, value) catch unreachable; + env_map.set( + self.builder.dupe(key), + self.builder.dupe(value), + ) catch unreachable; } pub fn expectStdErrEqual(self: *RunStep, bytes: []const u8) void { - self.stderr_action = .{ .expect_exact = bytes }; + self.stderr_action = .{ .expect_exact = self.builder.dupe(bytes) }; } pub fn expectStdOutEqual(self: *RunStep, bytes: []const u8) void { - self.stdout_action = .{ .expect_exact = bytes }; + self.stdout_action = .{ .expect_exact = self.builder.dupe(bytes) }; } fn stdIoActionToBehavior(action: StdIoAction) std.ChildProcess.StdIo { diff --git a/lib/std/build/translate_c.zig b/lib/std/build/translate_c.zig index b98b0ae9eb..4009079e3d 100644 --- a/lib/std/build/translate_c.zig +++ b/lib/std/build/translate_c.zig @@ -57,11 +57,11 @@ pub const TranslateCStep = struct { } pub fn addIncludeDir(self: *TranslateCStep, include_dir: []const u8) void { - self.include_dirs.append(include_dir) catch unreachable; + self.include_dirs.append(self.builder.dupePath(include_dir)) catch unreachable; } pub fn addCheckFile(self: *TranslateCStep, expected_matches: []const []const u8) *CheckFileStep { - return CheckFileStep.create(self.builder, .{ .translate_c = self }, expected_matches); + return CheckFileStep.create(self.builder, .{ .translate_c = self }, self.builder.dupeStrings(expected_matches)); } fn make(step: *Step) !void { diff --git a/lib/std/build/write_file.zig b/lib/std/build/write_file.zig index bbe6ec5086..6e88aa5633 100644 --- a/lib/std/build/write_file.zig +++ b/lib/std/build/write_file.zig @@ -32,7 +32,10 @@ pub const WriteFileStep = struct { } pub fn add(self: *WriteFileStep, basename: []const u8, bytes: []const u8) void { - self.files.append(.{ .basename = basename, .bytes = bytes }) catch unreachable; + self.files.append(.{ + .basename = self.builder.dupePath(basename), + .bytes = self.builder.dupe(bytes), + }) catch unreachable; } /// Unless setOutputDir was called, this function must be called only in |
