mirror of
https://github.com/ziglang/zig.git
synced 2026-02-12 20:37:54 +00:00
stage2: resolve file before putting them into cache
This was an accidental misuse of the Cache API which intends to call resolve on all file paths going into it. This one callsite was failing to do that; fixed now. Fixes relative file paths from making it into the global cache manifest. See #13050
This commit is contained in:
parent
f4c6e5d94e
commit
6152f043c0
@ -4478,9 +4478,17 @@ pub fn semaFile(mod: *Module, file: *File) SemaError!void {
|
||||
try reportRetryableFileError(mod, file, "unable to load source: {s}", .{@errorName(err)});
|
||||
return error.AnalysisFail;
|
||||
};
|
||||
const resolved_path = try file.pkg.root_src_directory.join(gpa, &.{
|
||||
file.sub_file_path,
|
||||
});
|
||||
|
||||
const resolved_path = std.fs.path.resolve(
|
||||
gpa,
|
||||
if (file.pkg.root_src_directory.path) |pkg_path|
|
||||
&[_][]const u8{ pkg_path, file.sub_file_path }
|
||||
else
|
||||
&[_][]const u8{file.sub_file_path},
|
||||
) catch |err| {
|
||||
try reportRetryableFileError(mod, file, "unable to resolve path: {s}", .{@errorName(err)});
|
||||
return error.AnalysisFail;
|
||||
};
|
||||
errdefer gpa.free(resolved_path);
|
||||
|
||||
try man.addFilePostContents(resolved_path, source.bytes, source.stat);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user