mirror of
https://github.com/ziglang/zig.git
synced 2026-02-13 04:48:20 +00:00
std.Build: fix wrong variable used in parseTargetQuery
Also address clobbering diagnostics field with an assert and doc comment to use the Target.Query.parse function themselves. Fixes #18876
This commit is contained in:
parent
7e83e7d9a8
commit
c280811d1d
@ -1284,11 +1284,16 @@ pub fn standardTargetOptions(b: *Build, args: StandardTargetOptionsArgs) Resolve
|
||||
return b.resolveTargetQuery(query);
|
||||
}
|
||||
|
||||
/// Obtain a target query from a string, reporting diagnostics to stderr if the
|
||||
/// parsing failed.
|
||||
/// Asserts that the `diagnostics` field of `options` is `null`. This use case
|
||||
/// is handled instead by calling `std.Target.Query.parse` directly.
|
||||
pub fn parseTargetQuery(options: std.Target.Query.ParseOptions) error{ParseFailed}!std.Target.Query {
|
||||
assert(options.diagnostics == null);
|
||||
var diags: Target.Query.ParseOptions.Diagnostics = .{};
|
||||
var opts_copy = options;
|
||||
opts_copy.diagnostics = &diags;
|
||||
return std.Target.Query.parse(options) catch |err| switch (err) {
|
||||
return std.Target.Query.parse(opts_copy) catch |err| switch (err) {
|
||||
error.UnknownCpuModel => {
|
||||
std.debug.print("unknown CPU: '{s}'\navailable CPUs for architecture '{s}':\n", .{
|
||||
diags.cpu_name.?, @tagName(diags.arch.?),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user