| author | |
| committer | |
| log | 3cc4f2f0dc660ff505ad35ee68b8f66484648530 |
| tree | 64685490cff3dfdf9c293d2bcd0459d8082c7012 |
| parent | 1157dd95714e57a699f06066ccfc7ed511ebf43f |
18 files changed, 965 insertions(+), 620 deletions(-)
build.zig+8-6| ... | ... | @@ -504,12 +504,6 @@ pub fn build(b: *std.Build) !void { |
| 504 | 504 | .skip_linux = skip_linux, |
| 505 | 505 | .skip_llvm = skip_llvm, |
| 506 | 506 | .skip_libc = skip_libc, |
| 507 | }, .{ | |
| 508 | .enable_llvm = enable_llvm, | |
| 509 | .llvm_has_m68k = llvm_has_m68k, | |
| 510 | .llvm_has_csky = llvm_has_csky, | |
| 511 | .llvm_has_arc = llvm_has_arc, | |
| 512 | .llvm_has_xtensa = llvm_has_xtensa, | |
| 513 | 507 | }); |
| 514 | 508 | test_step.dependOn(test_cases_step); |
| 515 | 509 | |
| ... | ... | @@ -804,6 +798,10 @@ pub fn build(b: *std.Build) !void { |
| 804 | 798 | .skip_darwin = skip_darwin, |
| 805 | 799 | .skip_linux = skip_linux, |
| 806 | 800 | .skip_llvm = skip_llvm, |
| 801 | .llvm_has_m68k = llvm_has_m68k, | |
| 802 | .llvm_has_csky = llvm_has_csky, | |
| 803 | .llvm_has_arc = llvm_has_arc, | |
| 804 | .llvm_has_xtensa = llvm_has_xtensa, | |
| 807 | 805 | .gdb = b.option([]const u8, "gdb", "path to gdb binary"), |
| 808 | 806 | .lldb = b.option([]const u8, "lldb", "path to lldb binary"), |
| 809 | 807 | }; |
| ... | ... | @@ -821,6 +819,10 @@ pub fn build(b: *std.Build) !void { |
| 821 | 819 | const test_llvm_ir_step = b.step("test-llvm-ir", "Run the LLVM IR tests"); |
| 822 | 820 | try tests.addRunnerTests(b, runner, test_llvm_ir_step, "test/llvm-ir", @import("test/llvm-ir/matrix.zon"), runner_opts); |
| 823 | 821 | test_step.dependOn(test_llvm_ir_step); |
| 822 | ||
| 823 | const test_llvm_targets_step = b.step("test-llvm-targets", "Run the LLVM targets tests"); | |
| 824 | try tests.addRunnerTests(b, runner, test_llvm_targets_step, "test/llvm-targets", @import("test/llvm-targets/matrix.zon"), runner_opts); | |
| 825 | test_step.dependOn(test_llvm_targets_step); | |
| 824 | 826 | } |
| 825 | 827 | |
| 826 | 828 | fn addWasiUpdateStep(b: *std.Build, version: [:0]const u8) !void { |
lib/std/Target/Query.zig+61-97| ... | ... | @@ -261,13 +261,11 @@ pub fn parse(args: ParseOptions) !Query { |
| 261 | 261 | if (abi_it.next() != null) { |
| 262 | 262 | if (abi.isGnu()) { |
| 263 | 263 | result.glibc_version = parseVersion(abi_ver_text) catch |err| switch (err) { |
| 264 | error.Overflow => return error.InvalidAbiVersion, | |
| 265 | error.InvalidVersion => return error.InvalidAbiVersion, | |
| 264 | error.Overflow, error.InvalidVersion => return error.InvalidAbiVersion, | |
| 266 | 265 | }; |
| 267 | 266 | } else if (abi.isAndroid()) { |
| 268 | 267 | result.android_api_level = std.fmt.parseUnsigned(u32, abi_ver_text, 10) catch |err| switch (err) { |
| 269 | error.InvalidCharacter => return error.InvalidVersion, | |
| 270 | error.Overflow => |e| return e, | |
| 268 | error.InvalidCharacter, error.Overflow => return error.InvalidAbiVersion, | |
| 271 | 269 | }; |
| 272 | 270 | } else { |
| 273 | 271 | return error.InvalidAbiVersion; |
| ... | ... | @@ -428,139 +426,105 @@ pub fn canDetectLibC(self: Query) bool { |
| 428 | 426 | return false; |
| 429 | 427 | } |
| 430 | 428 | |
| 431 | /// Formats a version with the patch component omitted if it is zero, | |
| 429 | /// Prints a version with the patch component omitted if it is zero, | |
| 432 | 430 | /// unlike SemanticVersion.format which formats all its version components regardless. |
| 433 | fn formatVersion(version: SemanticVersion, gpa: Allocator, list: *ArrayList(u8)) !void { | |
| 434 | if (version.patch == 0) { | |
| 435 | try list.print(gpa, "{d}.{d}", .{ version.major, version.minor }); | |
| 436 | } else { | |
| 437 | try list.print(gpa, "{d}.{d}.{d}", .{ version.major, version.minor, version.patch }); | |
| 431 | pub const PrintVersion = struct { | |
| 432 | version: SemanticVersion, | |
| 433 | pub fn format(print: PrintVersion, w: *std.Io.Writer) std.Io.Writer.Error!void { | |
| 434 | try w.print("{d}.{d}", .{ print.version.major, print.version.minor }); | |
| 435 | switch (print.version.patch) { | |
| 436 | 0 => {}, | |
| 437 | else => |patch| try w.print(".{d}", .{patch}), | |
| 438 | } | |
| 438 | 439 | } |
| 439 | } | |
| 440 | ||
| 441 | pub fn zigTriple(self: Query, gpa: Allocator) Allocator.Error![]u8 { | |
| 442 | if (self.isNativeTriple()) return gpa.dupe(u8, "native"); | |
| 443 | ||
| 444 | const arch_name = if (self.cpu_arch) |arch| @tagName(arch) else "native"; | |
| 445 | const os_name = if (self.os_tag) |os_tag| @tagName(os_tag) else "native"; | |
| 440 | }; | |
| 446 | 441 | |
| 447 | var result: ArrayList(u8) = .empty; | |
| 448 | defer result.deinit(gpa); | |
| 442 | pub fn printZigTriple(query: *const Query, w: *std.Io.Writer) std.Io.Writer.Error!void { | |
| 443 | if (query.isNativeTriple()) return w.writeAll("native"); | |
| 449 | 444 | |
| 450 | try result.print(gpa, "{s}-{s}", .{ arch_name, os_name }); | |
| 445 | try w.print("{s}-{s}", .{ | |
| 446 | if (query.cpu_arch) |arch| @tagName(arch) else "native", | |
| 447 | if (query.os_tag) |os_tag| @tagName(os_tag) else "native", | |
| 448 | }); | |
| 451 | 449 | |
| 452 | 450 | // The zig target syntax does not allow specifying a max os version with no min, so |
| 453 | 451 | // if either are present, we need the min. |
| 454 | if (self.os_version_min) |min| { | |
| 452 | if (query.os_version_min) |min| { | |
| 455 | 453 | switch (min) { |
| 456 | 454 | .none => {}, |
| 457 | .semver => |v| { | |
| 458 | try result.appendSlice(gpa, "."); | |
| 459 | try formatVersion(v, gpa, &result); | |
| 460 | }, | |
| 461 | .windows => |v| { | |
| 462 | try result.print(gpa, "{f}", .{v}); | |
| 463 | }, | |
| 455 | .semver => |v| try w.print(".{f}", .{PrintVersion{ .version = v }}), | |
| 456 | .windows => |v| try w.print("{f}", .{v}), | |
| 464 | 457 | } |
| 465 | 458 | } |
| 466 | if (self.os_version_max) |max| { | |
| 459 | if (query.os_version_max) |max| { | |
| 467 | 460 | switch (max) { |
| 468 | 461 | .none => {}, |
| 469 | .semver => |v| { | |
| 470 | try result.appendSlice(gpa, "..."); | |
| 471 | try formatVersion(v, gpa, &result); | |
| 472 | }, | |
| 473 | .windows => |v| { | |
| 474 | // This is counting on a custom format() function defined on `WindowsVersion` | |
| 475 | // to add a prefix '.' and make there be a total of three dots. | |
| 476 | try result.print(gpa, "..{f}", .{v}); | |
| 477 | }, | |
| 462 | .semver => |v| try w.print("...{f}", .{PrintVersion{ .version = v }}), | |
| 463 | // This is counting on a custom format() function defined on `WindowsVersion` | |
| 464 | // to add a prefix '.' and make there be a total of three dots. | |
| 465 | .windows => |v| try w.print("..{f}", .{v}), | |
| 478 | 466 | } |
| 479 | 467 | } |
| 480 | 468 | |
| 481 | if (self.glibc_version) |v| { | |
| 482 | const name = @tagName(self.abi.?); | |
| 483 | try result.ensureUnusedCapacity(gpa, name.len + 2); | |
| 484 | result.appendAssumeCapacity('-'); | |
| 485 | result.appendSliceAssumeCapacity(name); | |
| 486 | result.appendAssumeCapacity('.'); | |
| 487 | try formatVersion(v, gpa, &result); | |
| 488 | } else if (self.android_api_level) |lvl| { | |
| 489 | const name = @tagName(self.abi.?); | |
| 490 | try result.ensureUnusedCapacity(gpa, name.len + 2); | |
| 491 | result.appendAssumeCapacity('-'); | |
| 492 | result.appendSliceAssumeCapacity(name); | |
| 493 | result.appendAssumeCapacity('.'); | |
| 494 | try result.print(gpa, "{d}", .{lvl}); | |
| 495 | } else if (self.abi) |abi| { | |
| 496 | const name = @tagName(abi); | |
| 497 | try result.ensureUnusedCapacity(gpa, name.len + 1); | |
| 498 | result.appendAssumeCapacity('-'); | |
| 499 | result.appendSliceAssumeCapacity(name); | |
| 469 | if (query.glibc_version) |v| { | |
| 470 | try w.print("-{t}.{f}", .{ query.abi.?, PrintVersion{ .version = v } }); | |
| 471 | } else if (query.android_api_level) |lvl| { | |
| 472 | try w.print("-{t}.{d}", .{ query.abi.?, lvl }); | |
| 473 | } else if (query.abi) |abi| { | |
| 474 | try w.print("-{t}", .{abi}); | |
| 500 | 475 | } |
| 501 | ||
| 502 | return result.toOwnedSlice(gpa); | |
| 503 | 476 | } |
| 504 | 477 | |
| 505 | /// Renders the query into a textual representation that can be parsed via the | |
| 478 | /// Prints the query into a textual representation that can be parsed via the | |
| 506 | 479 | /// `-mcpu` flag passed to the Zig compiler. |
| 507 | /// Appends the result to `buffer`. | |
| 508 | pub fn serializeCpu(q: Query, buffer: *std.array_list.Managed(u8)) Allocator.Error!void { | |
| 509 | try buffer.ensureUnusedCapacity(8); | |
| 510 | switch (q.cpu_model) { | |
| 511 | .native => { | |
| 512 | buffer.appendSliceAssumeCapacity("native"); | |
| 513 | }, | |
| 514 | .baseline => { | |
| 515 | buffer.appendSliceAssumeCapacity("baseline"); | |
| 516 | }, | |
| 517 | .determined_by_arch_os => { | |
| 518 | if (q.cpu_arch == null) { | |
| 519 | buffer.appendSliceAssumeCapacity("native"); | |
| 520 | } else { | |
| 521 | buffer.appendSliceAssumeCapacity("baseline"); | |
| 522 | } | |
| 523 | }, | |
| 524 | .explicit => |model| { | |
| 525 | try buffer.appendSlice(model.name); | |
| 526 | }, | |
| 480 | pub fn printCpu(query: *const Query, w: *std.Io.Writer) std.Io.Writer.Error!void { | |
| 481 | cpu_model: switch (query.cpu_model) { | |
| 482 | .native, .baseline => |_, cpu_model| try w.print("{t}", .{cpu_model}), | |
| 483 | .determined_by_arch_os => continue :cpu_model if (query.cpu_arch) |_| .baseline else .native, | |
| 484 | .explicit => |model| try w.writeAll(model.name), | |
| 527 | 485 | } |
| 528 | 486 | |
| 529 | if (q.cpu_features_add.isEmpty() and q.cpu_features_sub.isEmpty()) { | |
| 487 | if (query.cpu_features_add.isEmpty() and query.cpu_features_sub.isEmpty()) { | |
| 530 | 488 | // The CPU name alone is sufficient. |
| 531 | 489 | return; |
| 532 | 490 | } |
| 533 | 491 | |
| 534 | const cpu_arch = q.cpu_arch orelse builtin.cpu.arch; | |
| 492 | const cpu_arch = query.cpu_arch orelse builtin.cpu.arch; | |
| 535 | 493 | const all_features = cpu_arch.allFeaturesList(); |
| 536 | 494 | |
| 537 | 495 | for (all_features, 0..) |feature, i_usize| { |
| 538 | 496 | const i: Target.Cpu.Feature.Set.Index = @intCast(i_usize); |
| 539 | try buffer.ensureUnusedCapacity(feature.name.len + 1); | |
| 540 | if (q.cpu_features_sub.isEnabled(i)) { | |
| 541 | buffer.appendAssumeCapacity('-'); | |
| 542 | buffer.appendSliceAssumeCapacity(feature.name); | |
| 543 | } else if (q.cpu_features_add.isEnabled(i)) { | |
| 544 | buffer.appendAssumeCapacity('+'); | |
| 545 | buffer.appendSliceAssumeCapacity(feature.name); | |
| 497 | if (query.cpu_features_sub.isEnabled(i)) { | |
| 498 | try w.print("-{s}", .{feature.name}); | |
| 499 | } else if (query.cpu_features_add.isEnabled(i)) { | |
| 500 | try w.print("+{s}", .{feature.name}); | |
| 546 | 501 | } |
| 547 | 502 | } |
| 548 | 503 | } |
| 549 | 504 | |
| 550 | pub fn serializeCpuAlloc(q: Query, ally: Allocator) Allocator.Error![]u8 { | |
| 551 | var buffer = std.array_list.Managed(u8).init(ally); | |
| 552 | try serializeCpu(q, &buffer); | |
| 553 | return buffer.toOwnedSlice(); | |
| 505 | /// Deprecated; use `printZigTriple` instead. Will be removed in 0.19.0. | |
| 506 | pub fn zigTriple(query: Query, gpa: Allocator) Allocator.Error![]u8 { | |
| 507 | return gpa.print("{f}", .{std.fmt.alt(&query, .printZigTriple)}); | |
| 508 | } | |
| 509 | ||
| 510 | /// Deprecated; use `printCpu` instead. Will be removed in 0.19.0. | |
| 511 | pub fn serializeCpu(query: Query, buffer: *std.array_list.Managed(u8)) Allocator.Error!void { | |
| 512 | try buffer.print("{f}", .{std.fmt.alt(&query, .printCpu)}); | |
| 513 | } | |
| 514 | ||
| 515 | /// Deprecated; use `printCpu` instead. Will be removed in 0.19.0. | |
| 516 | pub fn serializeCpuAlloc(query: Query, gpa: Allocator) Allocator.Error![]u8 { | |
| 517 | return gpa.print("{f}", .{std.fmt.alt(&query, .printCpu)}); | |
| 554 | 518 | } |
| 555 | 519 | |
| 556 | 520 | /// Deprecated; use `zigTriple` instead. Will be removed in 0.18.0. |
| 557 | pub fn allocDescription(self: Query, allocator: Allocator) ![]u8 { | |
| 558 | return self.zigTriple(allocator); | |
| 521 | pub fn allocDescription(query: Query, allocator: Allocator) ![]u8 { | |
| 522 | return query.zigTriple(allocator); | |
| 559 | 523 | } |
| 560 | 524 | |
| 561 | 525 | /// Deprecated; set `glibc_version` directly. Will be removed in 0.18.0. |
| 562 | pub fn setGnuLibCVersion(self: *Query, major: u32, minor: u32, patch: u32) void { | |
| 563 | self.glibc_version = SemanticVersion{ .major = major, .minor = minor, .patch = patch }; | |
| 526 | pub fn setGnuLibCVersion(query: *Query, major: u32, minor: u32, patch: u32) void { | |
| 527 | query.glibc_version = SemanticVersion{ .major = major, .minor = minor, .patch = patch }; | |
| 564 | 528 | } |
| 565 | 529 | |
| 566 | 530 | fn parseOs(result: *Query, diags: *ParseOptions.Diagnostics, text: []const u8) !void { |
test/Runner.zig+303-6| ... | ... | @@ -3,6 +3,256 @@ const builtin = @import("builtin"); |
| 3 | 3 | const std = @import("std"); |
| 4 | 4 | const Runner = @This(); |
| 5 | 5 | |
| 6 | /// These are passed as `<target>-<cache_mode>-<backend>-<linker>-<pic>` strings. | |
| 7 | /// | |
| 8 | /// If only one specific test is failing on a target, instead of entirely disabling the target here, you | |
| 9 | /// can skip the target for that specific test only by adding a line like this to top of the manifest: | |
| 10 | /// | |
| 11 | /// #skip x86_64-linux-none-baseline-whole-selfhosted-new-pic | |
| 12 | pub const Target = struct { | |
| 13 | cpu: Cpu = .{ .native = .{} }, | |
| 14 | os: Os = .native, | |
| 15 | abi: Abi = .default, | |
| 16 | ofmt: ObjectFormat = .default, | |
| 17 | dynamic_linker: DynamicLinker = .default, | |
| 18 | ||
| 19 | cache_mode: enum { whole, incremental }, | |
| 20 | backend: enum { selfhosted, llvm, llvmir, cbe }, | |
| 21 | linker: enum { lld, old, new }, | |
| 22 | pic: enum { nopic, pic, pie }, | |
| 23 | ||
| 24 | pub const Cpu = Cpu: { | |
| 25 | @setEvalBranchQuota(3_000); | |
| 26 | const Arch = std.Target.Cpu.Arch; | |
| 27 | const arch_info = @typeInfo(Arch).@"enum"; | |
| 28 | const field_names = .{"native"} ++ arch_info.field_names; | |
| 29 | var field_types: [field_names.len]type = undefined; | |
| 30 | field_types[0] = struct { | |
| 31 | model: Model = .native, | |
| 32 | ||
| 33 | pub const Model = enum { native, baseline }; | |
| 34 | }; | |
| 35 | for (field_types[1..], field_names[1..]) |*field_type, field_name| { | |
| 36 | const arch = @field(Arch, field_name); | |
| 37 | const models = arch.allCpuModels(); | |
| 38 | const family = @field(std.Target, @tagName(arch.family())); | |
| 39 | field_type.* = struct { | |
| 40 | model: Model = .baseline, | |
| 41 | features: struct { | |
| 42 | add: []const Feature = &.{}, | |
| 43 | remove: []const Feature = &.{}, | |
| 44 | comptime { | |
| 45 | _ = &family; // hack around compiler bug | |
| 46 | } | |
| 47 | } = .{}, | |
| 48 | ||
| 49 | pub const Model = Model: { | |
| 50 | const explicit_models = @typeInfo(family.cpu).@"struct".decl_names; | |
| 51 | var model_names: []const []const u8 = &.{"native"}; | |
| 52 | if (!@hasDecl(family.cpu, "baseline")) model_names = model_names ++ .{"baseline"}; | |
| 53 | model_names = model_names ++ explicit_models; | |
| 54 | const TagInt = std.math.IntFittingRange(0, model_names.len - 1); | |
| 55 | var model_values: [model_names.len]TagInt = undefined; | |
| 56 | var model_index = 0; | |
| 57 | { | |
| 58 | var model_value = explicit_models.len; | |
| 59 | model_values[model_index] = model_value; | |
| 60 | model_index += 1; | |
| 61 | model_value += 1; | |
| 62 | if (!@hasDecl(family.cpu, "baseline")) { | |
| 63 | model_values[model_index] = model_value; | |
| 64 | model_index += 1; | |
| 65 | model_value += 1; | |
| 66 | } | |
| 67 | } | |
| 68 | for (model_values[model_index..], 0..) |*model_value, value| model_value.* = value; | |
| 69 | break :Model @Enum(TagInt, .exhaustive, model_names, &model_values); | |
| 70 | }; | |
| 71 | ||
| 72 | pub const Feature = family.Feature; | |
| 73 | ||
| 74 | pub fn updateQuery(cpu: *const @This(), query: *std.Target.Query) void { | |
| 75 | query.cpu_model = switch (cpu.model) { | |
| 76 | .native => .native, | |
| 77 | .baseline => .baseline, | |
| 78 | else => |model| .{ .explicit = models[@backingInt(model)] }, | |
| 79 | }; | |
| 80 | for (cpu.features.add) |add_feature| | |
| 81 | query.cpu_features_add.addFeature(@backingInt(add_feature)); | |
| 82 | for (cpu.features.remove) |remove_feature| | |
| 83 | query.cpu_features_sub.addFeature(@backingInt(remove_feature)); | |
| 84 | } | |
| 85 | }; | |
| 86 | } | |
| 87 | const TagInt = std.math.IntFittingRange(0, field_names.len - 1); | |
| 88 | var field_values: [field_names.len]TagInt = undefined; | |
| 89 | field_values[0] = field_names.len - 1; | |
| 90 | for (field_values[1..], arch_info.field_values) |*field_value, value| field_value.* = value; | |
| 91 | const Tag = @Enum(TagInt, .exhaustive, field_names, &field_values); | |
| 92 | break :Cpu @Union(.auto, Tag, field_names, &field_types, &@splat(.{})); | |
| 93 | }; | |
| 94 | ||
| 95 | pub const Os = Os: { | |
| 96 | const os_info = @typeInfo(std.Target.Os.Tag).@"enum"; | |
| 97 | const field_names = .{"native"} ++ os_info.field_names; | |
| 98 | var field_types: [field_names.len]type = undefined; | |
| 99 | field_types[0] = void; | |
| 100 | for (field_types[1..], field_names[1..]) |*field_type, field_name| { | |
| 101 | const version: enum { | |
| 102 | none, | |
| 103 | semver, | |
| 104 | windows, | |
| 105 | } = switch (@field(std.Target.Os.Tag, field_name).versionRangeTag()) { | |
| 106 | .none => .none, | |
| 107 | .semver, .hurd, .linux => .semver, | |
| 108 | .windows => .windows, | |
| 109 | }; | |
| 110 | field_type.* = struct { | |
| 111 | version: ?Version = null, | |
| 112 | ||
| 113 | pub const Version = switch (version) { | |
| 114 | .none => struct {}, | |
| 115 | .semver => struct { | |
| 116 | min: std.SemanticVersion, | |
| 117 | max: ?std.SemanticVersion = null, | |
| 118 | }, | |
| 119 | .windows => struct { | |
| 120 | min: std.Target.Os.WindowsVersion, | |
| 121 | max: ?std.Target.Os.WindowsVersion = null, | |
| 122 | }, | |
| 123 | }; | |
| 124 | ||
| 125 | pub fn updateQuery(os: *const @This(), query: *std.Target.Query) void { | |
| 126 | if (os.version) |v| switch (version) { | |
| 127 | .none => {}, | |
| 128 | .semver => { | |
| 129 | query.os_version_min = .{ .semver = v.min }; | |
| 130 | if (v.max) |max| query.os_version_max = .{ .semver = max }; | |
| 131 | }, | |
| 132 | .windows => { | |
| 133 | query.os_version_min = .{ .windows = v.min }; | |
| 134 | if (v.max) |max| query.os_version_max = .{ .windows = max }; | |
| 135 | }, | |
| 136 | }; | |
| 137 | } | |
| 138 | }; | |
| 139 | } | |
| 140 | const TagInt = std.math.IntFittingRange(0, field_names.len - 1); | |
| 141 | var field_values: [field_names.len]TagInt = undefined; | |
| 142 | field_values[0] = field_names.len - 1; | |
| 143 | for (field_values[1..], os_info.field_values) |*field_value, value| field_value.* = value; | |
| 144 | const Tag = @Enum(TagInt, .exhaustive, field_names, &field_values); | |
| 145 | break :Os @Union(.auto, Tag, field_names, &field_types, &@splat(.{})); | |
| 146 | }; | |
| 147 | ||
| 148 | pub const Abi = Abi: { | |
| 149 | const abi_info = @typeInfo(std.Target.Abi).@"enum"; | |
| 150 | const field_names = .{"default"} ++ abi_info.field_names; | |
| 151 | var field_types: [field_names.len]type = undefined; | |
| 152 | field_types[0] = void; | |
| 153 | for (field_types[1..], field_names[1..]) |*field_type, field_name| { | |
| 154 | const abi_tag = @field(std.Target.Abi, field_name); | |
| 155 | const version: enum { none, libc, android } = if (abi_tag.isAndroid()) | |
| 156 | .android | |
| 157 | else if (abi_tag.isGnu() or abi_tag.isMusl()) | |
| 158 | .libc | |
| 159 | else | |
| 160 | .none; | |
| 161 | field_type.* = struct { | |
| 162 | version: ?Version = null, | |
| 163 | ||
| 164 | pub const Version = switch (version) { | |
| 165 | .none => struct {}, | |
| 166 | .libc => std.SemanticVersion, | |
| 167 | .android => u32, | |
| 168 | }; | |
| 169 | ||
| 170 | pub fn updateQuery(abi: *const @This(), query: *std.Target.Query) void { | |
| 171 | if (abi.version) |v| switch (version) { | |
| 172 | .none => {}, | |
| 173 | .libc => query.glibc_version = v, | |
| 174 | .android => query.android_api_level = v, | |
| 175 | }; | |
| 176 | } | |
| 177 | }; | |
| 178 | } | |
| 179 | const TagInt = std.math.IntFittingRange(0, field_names.len - 1); | |
| 180 | var field_values: [field_names.len]TagInt = undefined; | |
| 181 | field_values[0] = field_names.len - 1; | |
| 182 | for (field_values[1..], abi_info.field_values) |*field_value, value| field_value.* = value; | |
| 183 | const Tag = @Enum(TagInt, .exhaustive, field_names, &field_values); | |
| 184 | break :Abi @Union(.auto, Tag, field_names, &field_types, &@splat(.{})); | |
| 185 | }; | |
| 186 | ||
| 187 | pub const ObjectFormat = ObjectFormat: { | |
| 188 | const ofmt_info = @typeInfo(std.Target.ObjectFormat).@"enum"; | |
| 189 | const field_names = .{"default"} ++ ofmt_info.field_names; | |
| 190 | const TagInt = std.math.IntFittingRange(0, field_names.len - 1); | |
| 191 | var field_values: [field_names.len]TagInt = undefined; | |
| 192 | field_values[0] = field_names.len - 1; | |
| 193 | for (field_values[1..], ofmt_info.field_values) |*field_value, value| field_value.* = value; | |
| 194 | break :ObjectFormat @Enum(TagInt, .exhaustive, field_names, &field_values); | |
| 195 | }; | |
| 196 | ||
| 197 | pub const DynamicLinker = union(enum) { | |
| 198 | default, | |
| 199 | none, | |
| 200 | explicit: []const u8, | |
| 201 | }; | |
| 202 | ||
| 203 | pub fn toQuery(target: *const Target) std.Target.Query { | |
| 204 | var query: std.Target.Query = .{}; | |
| 205 | query.cpu_arch = switch (target.cpu) { | |
| 206 | .native => null, | |
| 207 | else => |_, arch| @fromBackingInt(@backingInt(arch)), | |
| 208 | }; | |
| 209 | switch (target.cpu) { | |
| 210 | .native => |native| query.cpu_model = switch (native.model) { | |
| 211 | .native => .native, | |
| 212 | .baseline => .baseline, | |
| 213 | }, | |
| 214 | inline else => |cpu| cpu.updateQuery(&query), | |
| 215 | } | |
| 216 | query.os_tag = switch (target.os) { | |
| 217 | .native => null, | |
| 218 | else => |_, os| @fromBackingInt(@backingInt(os)), | |
| 219 | }; | |
| 220 | switch (target.os) { | |
| 221 | .native => {}, | |
| 222 | inline else => |os| os.updateQuery(&query), | |
| 223 | } | |
| 224 | query.abi = switch (target.abi) { | |
| 225 | .default => null, | |
| 226 | else => |_, abi| @fromBackingInt(@backingInt(abi)), | |
| 227 | }; | |
| 228 | switch (target.abi) { | |
| 229 | .default => {}, | |
| 230 | inline else => |abi| abi.updateQuery(&query), | |
| 231 | } | |
| 232 | query.ofmt = switch (target.ofmt) { | |
| 233 | .default => null, | |
| 234 | else => |ofmt| @fromBackingInt(@backingInt(ofmt)), | |
| 235 | }; | |
| 236 | query.dynamic_linker = switch (target.dynamic_linker) { | |
| 237 | .default => null, | |
| 238 | .none => .none, | |
| 239 | .explicit => |dynamic_linker| .init(dynamic_linker), | |
| 240 | }; | |
| 241 | return query; | |
| 242 | } | |
| 243 | ||
| 244 | pub fn format(target: *const Target, w: *std.Io.Writer) std.Io.Writer.Error!void { | |
| 245 | try w.print("{f}-{f}-{t}-{t}-{t}-{t}", .{ | |
| 246 | std.fmt.alt(&target.toQuery(), .printZigTriple), | |
| 247 | std.fmt.alt(&target.toQuery(), .printCpu), | |
| 248 | target.cache_mode, | |
| 249 | target.backend, | |
| 250 | target.linker, | |
| 251 | target.pic, | |
| 252 | }); | |
| 253 | } | |
| 254 | }; | |
| 255 | ||
| 6 | 256 | gpa: std.mem.Allocator, |
| 7 | 257 | arena: *std.heap.ArenaAllocator, |
| 8 | 258 | environ_map: std.process.Environ.Map, |
| ... | ... | @@ -908,22 +1158,69 @@ fn handleCommand( |
| 908 | 1158 | return update.fail("target {q} unknown cache mode {q}", .{ |
| 909 | 1159 | update.target_query, cache_mode_str, |
| 910 | 1160 | }); |
| 911 | const triple = component_it.rest(); | |
| 1161 | const triple_cpu = component_it.rest(); | |
| 1162 | var triple_len: usize = 0; | |
| 1163 | for (0..3) |_| { | |
| 1164 | triple_len = if (std.mem.findScalarPos(u8, triple_cpu, triple_len, '-')) |dash_pos| | |
| 1165 | dash_pos + 1 | |
| 1166 | else | |
| 1167 | return update.fail("target {q} missing cpu", .{update.target_query}); | |
| 1168 | if (std.mem.eql(u8, triple_cpu[0..triple_len], "native-")) break; | |
| 1169 | } | |
| 1170 | const triple = triple_cpu[0 .. triple_len - 1]; | |
| 1171 | const cpu = triple_cpu[triple_len..]; | |
| 1172 | var query_parse_diags: std.Target.Query.ParseOptions.Diagnostics = undefined; | |
| 912 | 1173 | break :target .{ |
| 913 | 1174 | .triple = triple, |
| 914 | 1175 | .resolved = std.zig.system.resolveTargetQuery( |
| 915 | 1176 | runner.io, |
| 916 | std.Build.parseTargetQuery(.{ | |
| 1177 | std.Target.Query.parse(.{ | |
| 917 | 1178 | .arch_os_abi = triple, |
| 1179 | .cpu_features = cpu, | |
| 918 | 1180 | .object_format = switch (backend) { |
| 919 | 1181 | .sema, .selfhosted, .llvm => null, |
| 920 | 1182 | .llvmir => "llvmir", |
| 921 | 1183 | .cbe => "c", |
| 922 | 1184 | }, |
| 1185 | .diagnostics = &query_parse_diags, | |
| 923 | 1186 | }) catch |err| switch (err) { |
| 924 | error.ParseFailed => return update.fail("unable to parse triple {q}", .{ | |
| 925 | triple, | |
| 926 | }), | |
| 1187 | error.UnknownArchitecture => return update.fail( | |
| 1188 | "unable to resolve target {q}: unknown architecture: {q}", | |
| 1189 | .{ update.target_query, query_parse_diags.unknown_architecture_name.? }, | |
| 1190 | ), | |
| 1191 | error.MissingOperatingSystem => return update.fail( | |
| 1192 | "unable to resolve target {q}: missing operating system", | |
| 1193 | .{update.target_query}, | |
| 1194 | ), | |
| 1195 | error.UnknownOperatingSystem => return update.fail( | |
| 1196 | "unable to resolve target {q}: unknown operating system: {q}", | |
| 1197 | .{ update.target_query, query_parse_diags.os_name.? }, | |
| 1198 | ), | |
| 1199 | error.InvalidOperatingSystemVersion => return update.fail( | |
| 1200 | "unable to resolve target {q}: invalid operating system version", | |
| 1201 | .{update.target_query}, | |
| 1202 | ), | |
| 1203 | error.UnknownApplicationBinaryInterface => return update.fail( | |
| 1204 | "unable to resolve target {q}: unknown abi", | |
| 1205 | .{update.target_query}, | |
| 1206 | ), | |
| 1207 | error.InvalidAbiVersion => return update.fail( | |
| 1208 | "unable to resolve target {q}: invalid abi version", | |
| 1209 | .{update.target_query}, | |
| 1210 | ), | |
| 1211 | error.UnexpectedExtraField => unreachable, // validated above | |
| 1212 | error.UnknownCpuModel => return update.fail( | |
| 1213 | "unable to resolve target {q}: unknown cpu: {q}", | |
| 1214 | .{ update.target_query, query_parse_diags.cpu_name.? }, | |
| 1215 | ), | |
| 1216 | error.UnknownCpuFeature => return update.fail( | |
| 1217 | "unable to resolve target {q}: unknown cpu feature: {q}", | |
| 1218 | .{ update.target_query, query_parse_diags.unknown_feature_name.? }, | |
| 1219 | ), | |
| 1220 | error.UnknownObjectFormat => return update.fail( | |
| 1221 | "unable to resolve target {q}: unknown object format", | |
| 1222 | .{update.target_query}, | |
| 1223 | ), | |
| 927 | 1224 | }, |
| 928 | 1225 | ) catch |err| switch (err) { |
| 929 | 1226 | error.Canceled => |e| return e, |
| ... | ... | @@ -1265,7 +1562,7 @@ const Compiler = struct { |
| 1265 | 1562 | mr_buffer: std.Io.File.MultiReader.Buffer(2), |
| 1266 | 1563 | mr: std.Io.File.MultiReader, |
| 1267 | 1564 | client: std.zig.Client, |
| 1268 | target: Target, | |
| 1565 | target: Compiler.Target, | |
| 1269 | 1566 | out_name: []const u8, |
| 1270 | 1567 | config: ?std.zig.Server.Message.Config, |
| 1271 | 1568 |
test/cases.zig+1-2| ... | ... | @@ -9,7 +9,6 @@ pub const BuildOptions = struct { |
| 9 | 9 | llvm_has_xtensa: bool, |
| 10 | 10 | }; |
| 11 | 11 | |
| 12 | pub fn addCases(cases: *Cases, build_options: BuildOptions, b: *std.Build) !void { | |
| 12 | pub fn addCases(cases: *Cases, b: *std.Build) !void { | |
| 13 | 13 | try @import("compile_errors.zig").addCases(cases, b); |
| 14 | try @import("llvm_targets.zig").addCases(cases, build_options, b); | |
| 15 | 14 | } |
test/debugger/enums+4-4| ... | ... | @@ -1,8 +1,8 @@ |
| 1 | 1 | #todo "passes, but prints errors" |
| 2 | #skip x86_64-linux-none-whole-selfhosted-new-nopic | |
| 3 | #skip x86_64-linux-none-whole-selfhosted-new-pic | |
| 4 | #skip x86_64-linux-none-incremental-selfhosted-new-nopic | |
| 5 | #skip x86_64-linux-none-incremental-selfhosted-new-pic | |
| 2 | #skip x86_64-linux-none-baseline-whole-selfhosted-new-nopic | |
| 3 | #skip x86_64-linux-none-baseline-whole-selfhosted-new-pic | |
| 4 | #skip x86_64-linux-none-baseline-incremental-selfhosted-new-nopic | |
| 5 | #skip x86_64-linux-none-baseline-incremental-selfhosted-new-pic | |
| 6 | 6 | |
| 7 | 7 | #exe { |
| 8 | 8 | --name enums |
test/debugger/errors+4-4| ... | ... | @@ -1,8 +1,8 @@ |
| 1 | 1 | #todo "passes, but prints errors" |
| 2 | #skip x86_64-linux-none-whole-selfhosted-new-nopic | |
| 3 | #skip x86_64-linux-none-whole-selfhosted-new-pic | |
| 4 | #skip x86_64-linux-none-incremental-selfhosted-new-nopic | |
| 5 | #skip x86_64-linux-none-incremental-selfhosted-new-pic | |
| 2 | #skip x86_64-linux-none-baseline-whole-selfhosted-new-nopic | |
| 3 | #skip x86_64-linux-none-baseline-whole-selfhosted-new-pic | |
| 4 | #skip x86_64-linux-none-baseline-incremental-selfhosted-new-nopic | |
| 5 | #skip x86_64-linux-none-baseline-incremental-selfhosted-new-pic | |
| 6 | 6 | |
| 7 | 7 | #exe { |
| 8 | 8 | --name errors |
test/debugger/inline_call/manifest+2-2| ... | ... | @@ -1,6 +1,6 @@ |
| 1 | 1 | #todo "implement inline line info in lldb" |
| 2 | #skip x86_64-linux-none-incremental-selfhosted-new-nopic | |
| 3 | #skip x86_64-linux-none-incremental-selfhosted-new-pic | |
| 2 | #skip x86_64-linux-none-baseline-incremental-selfhosted-new-nopic | |
| 3 | #skip x86_64-linux-none-baseline-incremental-selfhosted-new-pic | |
| 4 | 4 | |
| 5 | 5 | #exe { |
| 6 | 6 | --name inline_call |
test/debugger/matrix.zon+18-30| ... | ... | @@ -1,65 +1,53 @@ |
| 1 | 1 | .{ |
| 2 | 2 | .{ |
| 3 | .target = .{ | |
| 4 | .cpu_arch = .x86_64, | |
| 5 | .os_tag = .linux, | |
| 6 | .abi = .none, | |
| 7 | }, | |
| 3 | .cpu = .{ .x86_64 = .{} }, | |
| 4 | .os = .{ .linux = .{} }, | |
| 5 | .abi = .{ .none = .{} }, | |
| 8 | 6 | .cache_mode = .whole, |
| 9 | 7 | .backend = .selfhosted, |
| 10 | 8 | .linker = .old, |
| 11 | 9 | .pic = .nopic, |
| 12 | 10 | }, |
| 13 | 11 | .{ |
| 14 | .target = .{ | |
| 15 | .cpu_arch = .x86_64, | |
| 16 | .os_tag = .linux, | |
| 17 | .abi = .none, | |
| 18 | }, | |
| 12 | .cpu = .{ .x86_64 = .{} }, | |
| 13 | .os = .{ .linux = .{} }, | |
| 14 | .abi = .{ .none = .{} }, | |
| 19 | 15 | .cache_mode = .whole, |
| 20 | 16 | .backend = .selfhosted, |
| 21 | 17 | .linker = .old, |
| 22 | 18 | .pic = .pic, |
| 23 | 19 | }, |
| 24 | 20 | .{ |
| 25 | .target = .{ | |
| 26 | .cpu_arch = .x86_64, | |
| 27 | .os_tag = .linux, | |
| 28 | .abi = .none, | |
| 29 | }, | |
| 21 | .cpu = .{ .x86_64 = .{} }, | |
| 22 | .os = .{ .linux = .{} }, | |
| 23 | .abi = .{ .none = .{} }, | |
| 30 | 24 | .cache_mode = .whole, |
| 31 | 25 | .backend = .selfhosted, |
| 32 | 26 | .linker = .new, |
| 33 | 27 | .pic = .nopic, |
| 34 | 28 | }, |
| 35 | 29 | .{ |
| 36 | .target = .{ | |
| 37 | .cpu_arch = .x86_64, | |
| 38 | .os_tag = .linux, | |
| 39 | .abi = .none, | |
| 40 | }, | |
| 30 | .cpu = .{ .x86_64 = .{} }, | |
| 31 | .os = .{ .linux = .{} }, | |
| 32 | .abi = .{ .none = .{} }, | |
| 41 | 33 | .cache_mode = .whole, |
| 42 | 34 | .backend = .selfhosted, |
| 43 | 35 | .linker = .new, |
| 44 | 36 | .pic = .pic, |
| 45 | 37 | }, |
| 46 | 38 | .{ |
| 47 | .target = .{ | |
| 48 | .cpu_arch = .x86_64, | |
| 49 | .os_tag = .linux, | |
| 50 | .abi = .none, | |
| 51 | }, | |
| 39 | .cpu = .{ .x86_64 = .{} }, | |
| 40 | .os = .{ .linux = .{} }, | |
| 41 | .abi = .{ .none = .{} }, | |
| 52 | 42 | .cache_mode = .incremental, |
| 53 | 43 | .backend = .selfhosted, |
| 54 | 44 | .linker = .new, |
| 55 | 45 | .pic = .nopic, |
| 56 | 46 | }, |
| 57 | 47 | .{ |
| 58 | .target = .{ | |
| 59 | .cpu_arch = .x86_64, | |
| 60 | .os_tag = .linux, | |
| 61 | .abi = .none, | |
| 62 | }, | |
| 48 | .cpu = .{ .x86_64 = .{} }, | |
| 49 | .os = .{ .linux = .{} }, | |
| 50 | .abi = .{ .none = .{} }, | |
| 63 | 51 | .cache_mode = .incremental, |
| 64 | 52 | .backend = .selfhosted, |
| 65 | 53 | .linker = .new, |
test/debugger/unions+4-4| ... | ... | @@ -1,8 +1,8 @@ |
| 1 | 1 | #todo "passes, but prints errors" |
| 2 | #skip x86_64-linux-none-whole-selfhosted-new-nopic | |
| 3 | #skip x86_64-linux-none-whole-selfhosted-new-pic | |
| 4 | #skip x86_64-linux-none-incremental-selfhosted-new-nopic | |
| 5 | #skip x86_64-linux-none-incremental-selfhosted-new-pic | |
| 2 | #skip x86_64-linux-none-baseline-whole-selfhosted-new-nopic | |
| 3 | #skip x86_64-linux-none-baseline-whole-selfhosted-new-pic | |
| 4 | #skip x86_64-linux-none-baseline-incremental-selfhosted-new-nopic | |
| 5 | #skip x86_64-linux-none-baseline-incremental-selfhosted-new-pic | |
| 6 | 6 | |
| 7 | 7 | #exe { |
| 8 | 8 | --name unions |
test/incremental/matrix.zon+15-25| ... | ... | @@ -3,22 +3,18 @@ |
| 3 | 3 | // to run due to the output (C source code or LLVM IR) being built non-incrementally (by Clang |
| 4 | 4 | // or LLVM). We just have a couple here to make sure that it works. |
| 5 | 5 | .{ |
| 6 | .target = .{ | |
| 7 | .cpu_arch = .x86_64, | |
| 8 | .os_tag = .linux, | |
| 9 | .abi = .musl, | |
| 10 | }, | |
| 6 | .cpu = .{ .x86_64 = .{} }, | |
| 7 | .os = .{ .linux = .{} }, | |
| 8 | .abi = .{ .musl = .{} }, | |
| 11 | 9 | .cache_mode = .incremental, |
| 12 | 10 | .backend = .cbe, |
| 13 | 11 | .linker = .old, |
| 14 | 12 | .pic = .nopic, |
| 15 | 13 | }, |
| 16 | 14 | .{ |
| 17 | .target = .{ | |
| 18 | .cpu_arch = .x86_64, | |
| 19 | .os_tag = .linux, | |
| 20 | .abi = .none, | |
| 21 | }, | |
| 15 | .cpu = .{ .x86_64 = .{} }, | |
| 16 | .os = .{ .linux = .{} }, | |
| 17 | .abi = .{ .none = .{} }, | |
| 22 | 18 | .cache_mode = .incremental, |
| 23 | 19 | .backend = .llvm, |
| 24 | 20 | .linker = .lld, |
| ... | ... | @@ -26,33 +22,27 @@ |
| 26 | 22 | }, |
| 27 | 23 | |
| 28 | 24 | .{ |
| 29 | .target = .{ | |
| 30 | .cpu_arch = .x86_64, | |
| 31 | .os_tag = .linux, | |
| 32 | .abi = .none, | |
| 33 | }, | |
| 25 | .cpu = .{ .x86_64 = .{} }, | |
| 26 | .os = .{ .linux = .{} }, | |
| 27 | .abi = .{ .none = .{} }, | |
| 34 | 28 | .cache_mode = .incremental, |
| 35 | 29 | .backend = .selfhosted, |
| 36 | 30 | .linker = .new, |
| 37 | 31 | .pic = .nopic, |
| 38 | 32 | }, |
| 39 | 33 | .{ |
| 40 | .target = .{ | |
| 41 | .cpu_arch = .x86_64, | |
| 42 | .os_tag = .windows, | |
| 43 | .abi = .none, | |
| 44 | }, | |
| 34 | .cpu = .{ .x86_64 = .{} }, | |
| 35 | .os = .{ .windows = .{} }, | |
| 36 | .abi = .{ .none = .{} }, | |
| 45 | 37 | .cache_mode = .incremental, |
| 46 | 38 | .backend = .selfhosted, |
| 47 | 39 | .linker = .old, |
| 48 | 40 | .pic = .pic, |
| 49 | 41 | }, |
| 50 | 42 | .{ |
| 51 | .target = .{ | |
| 52 | .cpu_arch = .wasm32, | |
| 53 | .os_tag = .wasi, | |
| 54 | .abi = .none, | |
| 55 | }, | |
| 43 | .cpu = .{ .wasm32 = .{} }, | |
| 44 | .os = .{ .wasi = .{} }, | |
| 45 | .abi = .{ .none = .{} }, | |
| 56 | 46 | .cache_mode = .incremental, |
| 57 | 47 | .backend = .selfhosted, |
| 58 | 48 | .linker = .old, |
test/llvm-ir/matrix.zon-1| ... | ... | @@ -1,6 +1,5 @@ |
| 1 | 1 | .{ |
| 2 | 2 | .{ |
| 3 | .target = .{}, | |
| 4 | 3 | .cache_mode = .whole, |
| 5 | 4 | .backend = .llvmir, |
| 6 | 5 | .linker = .old, |
test/llvm-targets/empty_analyze created+50| ... | ... | @@ -0,0 +1,50 @@ |
| 1 | #skip amdgcn-amdpal-none-baseline-whole-llvm-lld-pic | |
| 2 | #skip amdgcn-mesa3d-none-baseline-whole-llvm-lld-pic | |
| 3 | ||
| 4 | #skip arm-uefi-eabi-baseline-whole-llvm-lld-pic | |
| 5 | #skip arm-uefi-eabihf-baseline-whole-llvm-lld-pic | |
| 6 | ||
| 7 | #skip csky-freestanding-eabi-baseline-whole-llvm-lld-pic | |
| 8 | #skip csky-freestanding-eabihf-baseline-whole-llvm-lld-pic | |
| 9 | #skip csky-linux-eabi-baseline-whole-llvm-lld-pic | |
| 10 | #skip csky-linux-eabihf-baseline-whole-llvm-lld-pic | |
| 11 | #skip csky-linux-gnueabi-baseline-whole-llvm-lld-pic | |
| 12 | #skip csky-linux-gnueabihf-baseline-whole-llvm-lld-pic | |
| 13 | ||
| 14 | #skip loongarch32-linux-gnuf32-baseline-whole-llvm-lld-pic | |
| 15 | #skip loongarch32-linux-musl-baseline-whole-llvm-lld-pic | |
| 16 | #skip loongarch32-linux-muslf32-baseline-whole-llvm-lld-pic | |
| 17 | #skip loongarch32-linux-muslsf-baseline-whole-llvm-lld-pic | |
| 18 | #skip loongarch32-uefi-none-baseline-whole-llvm-lld-pic | |
| 19 | ||
| 20 | #skip loongarch64-linux-gnuf32-baseline-whole-llvm-lld-pic | |
| 21 | #skip loongarch64-linux-muslf32-baseline-whole-llvm-lld-pic | |
| 22 | #skip loongarch64-uefi-none-baseline-whole-llvm-lld-pic | |
| 23 | ||
| 24 | #skip mipsel-psx-eabi-baseline-whole-llvm-lld-pic | |
| 25 | ||
| 26 | #skip riscv32-uefi-none-baseline-whole-llvm-lld-pic | |
| 27 | ||
| 28 | #skip riscv32be-freestanding-none-baseline-whole-llvm-lld-pic | |
| 29 | ||
| 30 | #skip riscv64-uefi-none-baseline-whole-llvm-lld-pic | |
| 31 | ||
| 32 | #skip riscv64be-freestanding-none-baseline-whole-llvm-lld-pic | |
| 33 | ||
| 34 | #skip spirv32-opencl-none-baseline-whole-llvm-lld-pic | |
| 35 | #skip spirv32-opengl-none-baseline-whole-llvm-lld-pic | |
| 36 | #skip spirv32-vulkan-none-baseline-whole-llvm-lld-pic | |
| 37 | ||
| 38 | #skip spirv64-amdhsa-none-baseline-whole-llvm-lld-pic | |
| 39 | #skip spirv64-opencl-none-baseline-whole-llvm-lld-pic | |
| 40 | #skip spirv64-vulkan-none-baseline-whole-llvm-lld-pic | |
| 41 | ||
| 42 | #obj { | |
| 43 | --name llvm_targets | |
| 44 | -Mroot=analyze.zig | |
| 45 | -fno-emit-asm -fno-emit-bin | |
| 46 | #} | |
| 47 | ||
| 48 | #write analyze.zig | |
| 49 | #update | |
| 50 | #check errors |
test/llvm-targets/empty_assembly created+55| ... | ... | @@ -0,0 +1,55 @@ |
| 1 | #skip amdgcn-amdpal-none-baseline-whole-llvm-lld-pic | |
| 2 | #skip amdgcn-mesa3d-none-baseline-whole-llvm-lld-pic | |
| 3 | ||
| 4 | #skip arm-uefi-eabi-baseline-whole-llvm-lld-pic | |
| 5 | #skip arm-uefi-eabihf-baseline-whole-llvm-lld-pic | |
| 6 | ||
| 7 | #skip csky-freestanding-eabi-baseline-whole-llvm-lld-pic | |
| 8 | #skip csky-freestanding-eabihf-baseline-whole-llvm-lld-pic | |
| 9 | #skip csky-linux-eabi-baseline-whole-llvm-lld-pic | |
| 10 | #skip csky-linux-eabihf-baseline-whole-llvm-lld-pic | |
| 11 | #skip csky-linux-gnueabi-baseline-whole-llvm-lld-pic | |
| 12 | #skip csky-linux-gnueabihf-baseline-whole-llvm-lld-pic | |
| 13 | ||
| 14 | #skip loongarch32-linux-gnuf32-baseline-whole-llvm-lld-pic | |
| 15 | #skip loongarch32-linux-musl-baseline-whole-llvm-lld-pic | |
| 16 | #skip loongarch32-linux-muslf32-baseline-whole-llvm-lld-pic | |
| 17 | #skip loongarch32-linux-muslsf-baseline-whole-llvm-lld-pic | |
| 18 | #skip loongarch32-uefi-none-baseline-whole-llvm-lld-pic | |
| 19 | ||
| 20 | #skip loongarch64-linux-gnuf32-baseline-whole-llvm-lld-pic | |
| 21 | #skip loongarch64-linux-muslf32-baseline-whole-llvm-lld-pic | |
| 22 | #skip loongarch64-uefi-none-baseline-whole-llvm-lld-pic | |
| 23 | ||
| 24 | #skip mipsel-psx-eabi-baseline-whole-llvm-lld-pic | |
| 25 | ||
| 26 | #skip riscv32-uefi-none-baseline-whole-llvm-lld-pic | |
| 27 | ||
| 28 | #skip riscv32be-freestanding-none-baseline-whole-llvm-lld-pic | |
| 29 | ||
| 30 | #skip riscv64-uefi-none-baseline-whole-llvm-lld-pic | |
| 31 | ||
| 32 | #skip riscv64be-freestanding-none-baseline-whole-llvm-lld-pic | |
| 33 | ||
| 34 | #skip spirv32-opencl-none-baseline-whole-llvm-lld-pic | |
| 35 | #skip spirv32-opengl-none-baseline-whole-llvm-lld-pic | |
| 36 | #skip spirv32-vulkan-none-baseline-whole-llvm-lld-pic | |
| 37 | ||
| 38 | #skip spirv64-amdhsa-none-baseline-whole-llvm-lld-pic | |
| 39 | #skip spirv64-opencl-none-baseline-whole-llvm-lld-pic | |
| 40 | #skip spirv64-vulkan-none-baseline-whole-llvm-lld-pic | |
| 41 | ||
| 42 | #skip xtensa-freestanding-call0-baseline-whole-llvm-lld-pic | |
| 43 | #skip xtensa-freestanding-none-baseline-whole-llvm-lld-pic | |
| 44 | #skip xtensa-linux-call0-baseline-whole-llvm-lld-pic | |
| 45 | #skip xtensa-linux-none-baseline-whole-llvm-lld-pic | |
| 46 | ||
| 47 | #obj { | |
| 48 | --name llvm_targets | |
| 49 | -Mroot=assembly.zig | |
| 50 | -femit-asm -fno-emit-bin | |
| 51 | #} | |
| 52 | ||
| 53 | #write assembly.zig | |
| 54 | #update | |
| 55 | #check errors |
test/llvm-targets/empty_object created+67| ... | ... | @@ -0,0 +1,67 @@ |
| 1 | #skip amdgcn-amdpal-none-baseline-whole-llvm-lld-pic | |
| 2 | #skip amdgcn-mesa3d-none-baseline-whole-llvm-lld-pic | |
| 3 | ||
| 4 | #skip arc-freestanding-none-baseline-whole-llvm-lld-pic | |
| 5 | #skip arc-linux-gnu-baseline-whole-llvm-lld-pic | |
| 6 | #skip arc-linux-none-baseline-whole-llvm-lld-pic | |
| 7 | ||
| 8 | #skip arm-uefi-eabi-baseline-whole-llvm-lld-pic | |
| 9 | #skip arm-uefi-eabihf-baseline-whole-llvm-lld-pic | |
| 10 | ||
| 11 | #skip csky-freestanding-eabi-baseline-whole-llvm-lld-pic | |
| 12 | #skip csky-freestanding-eabihf-baseline-whole-llvm-lld-pic | |
| 13 | #skip csky-linux-eabi-baseline-whole-llvm-lld-pic | |
| 14 | #skip csky-linux-eabihf-baseline-whole-llvm-lld-pic | |
| 15 | #skip csky-linux-gnueabi-baseline-whole-llvm-lld-pic | |
| 16 | #skip csky-linux-gnueabihf-baseline-whole-llvm-lld-pic | |
| 17 | ||
| 18 | #skip loongarch32-linux-gnuf32-baseline-whole-llvm-lld-pic | |
| 19 | #skip loongarch32-linux-musl-baseline-whole-llvm-lld-pic | |
| 20 | #skip loongarch32-linux-muslf32-baseline-whole-llvm-lld-pic | |
| 21 | #skip loongarch32-linux-muslsf-baseline-whole-llvm-lld-pic | |
| 22 | #skip loongarch32-uefi-none-baseline-whole-llvm-lld-pic | |
| 23 | ||
| 24 | #skip loongarch64-linux-gnuf32-baseline-whole-llvm-lld-pic | |
| 25 | #skip loongarch64-linux-muslf32-baseline-whole-llvm-lld-pic | |
| 26 | #skip loongarch64-uefi-none-baseline-whole-llvm-lld-pic | |
| 27 | ||
| 28 | #skip mipsel-psx-eabi-baseline-whole-llvm-lld-pic | |
| 29 | ||
| 30 | #skip nvptx-cuda-none-baseline-whole-llvm-lld-pic | |
| 31 | #skip nvptx-nvcl-none-baseline-whole-llvm-lld-pic | |
| 32 | ||
| 33 | #skip nvptx64-cuda-none-baseline-whole-llvm-lld-pic | |
| 34 | #skip nvptx64-nvcl-none-baseline-whole-llvm-lld-pic | |
| 35 | ||
| 36 | #skip riscv32-uefi-none-baseline-whole-llvm-lld-pic | |
| 37 | ||
| 38 | #skip riscv32be-freestanding-none-baseline-whole-llvm-lld-pic | |
| 39 | ||
| 40 | #skip riscv64-uefi-none-baseline-whole-llvm-lld-pic | |
| 41 | ||
| 42 | #skip riscv64be-freestanding-none-baseline-whole-llvm-lld-pic | |
| 43 | ||
| 44 | #skip spirv32-opencl-none-baseline-whole-llvm-lld-pic | |
| 45 | #skip spirv32-opengl-none-baseline-whole-llvm-lld-pic | |
| 46 | #skip spirv32-vulkan-none-baseline-whole-llvm-lld-pic | |
| 47 | ||
| 48 | #skip spirv64-amdhsa-none-baseline-whole-llvm-lld-pic | |
| 49 | #skip spirv64-opencl-none-baseline-whole-llvm-lld-pic | |
| 50 | #skip spirv64-vulkan-none-baseline-whole-llvm-lld-pic | |
| 51 | ||
| 52 | #skip xcore-freestanding-none-baseline-whole-llvm-lld-pic | |
| 53 | ||
| 54 | #skip xtensa-freestanding-call0-baseline-whole-llvm-lld-pic | |
| 55 | #skip xtensa-freestanding-none-baseline-whole-llvm-lld-pic | |
| 56 | #skip xtensa-linux-call0-baseline-whole-llvm-lld-pic | |
| 57 | #skip xtensa-linux-none-baseline-whole-llvm-lld-pic | |
| 58 | ||
| 59 | #obj { | |
| 60 | --name llvm_targets | |
| 61 | -Mroot=object.zig | |
| 62 | -fno-emit-asm -femit-bin | |
| 63 | #} | |
| 64 | ||
| 65 | #write object.zig | |
| 66 | #update | |
| 67 | #check errors |
test/llvm-targets/matrix.zon created+355| ... | ... | @@ -0,0 +1,355 @@ |
| 1 | .{ | |
| 2 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .driverkit = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .old, .pic = .pic }, | |
| 3 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .freebsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 4 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 5 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .fuchsia = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 6 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .haiku = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 7 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .hurd = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 8 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .ios = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .old, .pic = .pic }, | |
| 9 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .ios = .{} }, .abi = .{ .simulator = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .old, .pic = .pic }, | |
| 10 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .android = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 11 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 12 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musl = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 13 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 14 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .ohos = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 15 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .maccatalyst = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .old, .pic = .pic }, | |
| 16 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .macos = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .old, .pic = .pic }, | |
| 17 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 18 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .openbsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 19 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 20 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .serenity = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 21 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .@"switch" = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 22 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .tvos = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .old, .pic = .pic }, | |
| 23 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .tvos = .{} }, .abi = .{ .simulator = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .old, .pic = .pic }, | |
| 24 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .uefi = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 25 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .visionos = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .old, .pic = .pic }, | |
| 26 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .visionos = .{} }, .abi = .{ .simulator = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .old, .pic = .pic }, | |
| 27 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .watchos = .{} }, .abi = .{ .ilp32 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .old, .pic = .pic }, | |
| 28 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .watchos = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .old, .pic = .pic }, | |
| 29 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .watchos = .{} }, .abi = .{ .simulator = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .old, .pic = .pic }, | |
| 30 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .windows = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 31 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .windows = .{} }, .abi = .{ .itanium = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 32 | .{ .cpu = .{ .aarch64 = .{} }, .os = .{ .windows = .{} }, .abi = .{ .msvc = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 33 | ||
| 34 | .{ .cpu = .{ .aarch64_be = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 35 | .{ .cpu = .{ .aarch64_be = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 36 | .{ .cpu = .{ .aarch64_be = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musl = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 37 | .{ .cpu = .{ .aarch64_be = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 38 | .{ .cpu = .{ .aarch64_be = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 39 | ||
| 40 | .{ .cpu = .{ .amdgcn = .{} }, .os = .{ .amdhsa = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 41 | .{ .cpu = .{ .amdgcn = .{} }, .os = .{ .amdpal = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 42 | .{ .cpu = .{ .amdgcn = .{} }, .os = .{ .mesa3d = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 43 | ||
| 44 | .{ .cpu = .{ .arc = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 45 | .{ .cpu = .{ .arc = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 46 | .{ .cpu = .{ .arc = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 47 | ||
| 48 | .{ .cpu = .{ .arm = .{} }, .os = .{ .@"3ds" = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 49 | .{ .cpu = .{ .arm = .{} }, .os = .{ .freebsd = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 50 | .{ .cpu = .{ .arm = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 51 | .{ .cpu = .{ .arm = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 52 | .{ .cpu = .{ .arm = .{} }, .os = .{ .fuchsia = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 53 | .{ .cpu = .{ .arm = .{} }, .os = .{ .gba = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 54 | .{ .cpu = .{ .arm = .{} }, .os = .{ .haiku = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 55 | .{ .cpu = .{ .arm = .{} }, .os = .{ .linux = .{} }, .abi = .{ .androideabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 56 | .{ .cpu = .{ .arm = .{} }, .os = .{ .linux = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 57 | .{ .cpu = .{ .arm = .{} }, .os = .{ .linux = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 58 | .{ .cpu = .{ .arm = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnueabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 59 | .{ .cpu = .{ .arm = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnueabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 60 | .{ .cpu = .{ .arm = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musleabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 61 | .{ .cpu = .{ .arm = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musleabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 62 | .{ .cpu = .{ .arm = .{} }, .os = .{ .linux = .{} }, .abi = .{ .ohoseabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 63 | .{ .cpu = .{ .arm = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 64 | .{ .cpu = .{ .arm = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 65 | .{ .cpu = .{ .arm = .{} }, .os = .{ .openbsd = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 66 | .{ .cpu = .{ .arm = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 67 | .{ .cpu = .{ .arm = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 68 | .{ .cpu = .{ .arm = .{} }, .os = .{ .uefi = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 69 | .{ .cpu = .{ .arm = .{} }, .os = .{ .uefi = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 70 | .{ .cpu = .{ .arm = .{} }, .os = .{ .vita = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 71 | ||
| 72 | .{ .cpu = .{ .armeb = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 73 | .{ .cpu = .{ .armeb = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 74 | .{ .cpu = .{ .armeb = .{} }, .os = .{ .linux = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 75 | .{ .cpu = .{ .armeb = .{} }, .os = .{ .linux = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 76 | .{ .cpu = .{ .armeb = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnueabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 77 | .{ .cpu = .{ .armeb = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnueabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 78 | .{ .cpu = .{ .armeb = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musleabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 79 | .{ .cpu = .{ .armeb = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musleabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 80 | .{ .cpu = .{ .armeb = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 81 | .{ .cpu = .{ .armeb = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 82 | .{ .cpu = .{ .armeb = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 83 | .{ .cpu = .{ .armeb = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 84 | ||
| 85 | .{ .cpu = .{ .avr = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 86 | .{ .cpu = .{ .avr = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 87 | ||
| 88 | .{ .cpu = .{ .bpfeb = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 89 | ||
| 90 | .{ .cpu = .{ .bpfel = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 91 | ||
| 92 | .{ .cpu = .{ .csky = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 93 | .{ .cpu = .{ .csky = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 94 | .{ .cpu = .{ .csky = .{} }, .os = .{ .linux = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 95 | .{ .cpu = .{ .csky = .{} }, .os = .{ .linux = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 96 | .{ .cpu = .{ .csky = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnueabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 97 | .{ .cpu = .{ .csky = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnueabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 98 | ||
| 99 | .{ .cpu = .{ .hexagon = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 100 | .{ .cpu = .{ .hexagon = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musl = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 101 | .{ .cpu = .{ .hexagon = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 102 | ||
| 103 | .{ .cpu = .{ .lanai = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 104 | ||
| 105 | .{ .cpu = .{ .loongarch32 = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 106 | .{ .cpu = .{ .loongarch32 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 107 | .{ .cpu = .{ .loongarch32 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnuf32 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 108 | .{ .cpu = .{ .loongarch32 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnusf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 109 | .{ .cpu = .{ .loongarch32 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musl = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 110 | .{ .cpu = .{ .loongarch32 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .muslf32 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 111 | .{ .cpu = .{ .loongarch32 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .muslsf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 112 | .{ .cpu = .{ .loongarch32 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 113 | .{ .cpu = .{ .loongarch32 = .{} }, .os = .{ .uefi = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 114 | ||
| 115 | .{ .cpu = .{ .loongarch64 = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 116 | .{ .cpu = .{ .loongarch64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 117 | .{ .cpu = .{ .loongarch64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnuf32 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 118 | .{ .cpu = .{ .loongarch64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnusf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 119 | .{ .cpu = .{ .loongarch64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musl = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 120 | .{ .cpu = .{ .loongarch64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .muslf32 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 121 | .{ .cpu = .{ .loongarch64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .muslsf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 122 | .{ .cpu = .{ .loongarch64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 123 | .{ .cpu = .{ .loongarch64 = .{} }, .os = .{ .uefi = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 124 | ||
| 125 | .{ .cpu = .{ .m68k = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 126 | .{ .cpu = .{ .m68k = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 127 | .{ .cpu = .{ .m68k = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musl = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 128 | .{ .cpu = .{ .m68k = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 129 | .{ .cpu = .{ .m68k = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 130 | .{ .cpu = .{ .m68k = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 131 | ||
| 132 | .{ .cpu = .{ .mips = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 133 | .{ .cpu = .{ .mips = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 134 | .{ .cpu = .{ .mips = .{} }, .os = .{ .linux = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 135 | .{ .cpu = .{ .mips = .{} }, .os = .{ .linux = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 136 | .{ .cpu = .{ .mips = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnueabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 137 | .{ .cpu = .{ .mips = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnueabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 138 | .{ .cpu = .{ .mips = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musleabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 139 | .{ .cpu = .{ .mips = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musleabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 140 | .{ .cpu = .{ .mips = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 141 | .{ .cpu = .{ .mips = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 142 | .{ .cpu = .{ .mips = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 143 | .{ .cpu = .{ .mips = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 144 | ||
| 145 | .{ .cpu = .{ .mipsel = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 146 | .{ .cpu = .{ .mipsel = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 147 | .{ .cpu = .{ .mipsel = .{} }, .os = .{ .linux = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 148 | .{ .cpu = .{ .mipsel = .{} }, .os = .{ .linux = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 149 | .{ .cpu = .{ .mipsel = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnueabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 150 | .{ .cpu = .{ .mipsel = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnueabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 151 | .{ .cpu = .{ .mipsel = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musleabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 152 | .{ .cpu = .{ .mipsel = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musleabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 153 | .{ .cpu = .{ .mipsel = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 154 | .{ .cpu = .{ .mipsel = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 155 | .{ .cpu = .{ .mipsel = .{} }, .os = .{ .psx = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 156 | .{ .cpu = .{ .mipsel = .{} }, .os = .{ .psp = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 157 | .{ .cpu = .{ .mipsel = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 158 | .{ .cpu = .{ .mipsel = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 159 | ||
| 160 | .{ .cpu = .{ .mips64 = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 161 | .{ .cpu = .{ .mips64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .abin32 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 162 | .{ .cpu = .{ .mips64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnuabi64 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 163 | .{ .cpu = .{ .mips64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnuabin32 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 164 | .{ .cpu = .{ .mips64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .muslabi64 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 165 | .{ .cpu = .{ .mips64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .muslabin32 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 166 | .{ .cpu = .{ .mips64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 167 | .{ .cpu = .{ .mips64 = .{} }, .os = .{ .openbsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 168 | ||
| 169 | .{ .cpu = .{ .mips64el = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 170 | .{ .cpu = .{ .mips64el = .{} }, .os = .{ .linux = .{} }, .abi = .{ .abin32 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 171 | .{ .cpu = .{ .mips64el = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnuabi64 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 172 | .{ .cpu = .{ .mips64el = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnuabin32 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 173 | .{ .cpu = .{ .mips64el = .{} }, .os = .{ .linux = .{} }, .abi = .{ .muslabi64 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 174 | .{ .cpu = .{ .mips64el = .{} }, .os = .{ .linux = .{} }, .abi = .{ .muslabin32 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 175 | .{ .cpu = .{ .mips64el = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 176 | .{ .cpu = .{ .mips64el = .{} }, .os = .{ .openbsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 177 | ||
| 178 | .{ .cpu = .{ .msp430 = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 179 | ||
| 180 | .{ .cpu = .{ .nvptx = .{} }, .os = .{ .cuda = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 181 | .{ .cpu = .{ .nvptx = .{} }, .os = .{ .nvcl = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 182 | ||
| 183 | .{ .cpu = .{ .nvptx64 = .{} }, .os = .{ .cuda = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 184 | .{ .cpu = .{ .nvptx64 = .{} }, .os = .{ .nvcl = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 185 | ||
| 186 | .{ .cpu = .{ .powerpc = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 187 | .{ .cpu = .{ .powerpc = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 188 | .{ .cpu = .{ .powerpc = .{} }, .os = .{ .linux = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 189 | .{ .cpu = .{ .powerpc = .{} }, .os = .{ .linux = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 190 | .{ .cpu = .{ .powerpc = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musleabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 191 | .{ .cpu = .{ .powerpc = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musleabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 192 | .{ .cpu = .{ .powerpc = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 193 | .{ .cpu = .{ .powerpc = .{} }, .os = .{ .openbsd = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 194 | .{ .cpu = .{ .powerpc = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 195 | .{ .cpu = .{ .powerpc = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 196 | .{ .cpu = .{ .powerpc = .{} }, .os = .{ .wiiu = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 197 | ||
| 198 | .{ .cpu = .{ .powerpcle = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 199 | .{ .cpu = .{ .powerpcle = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 200 | ||
| 201 | .{ .cpu = .{ .powerpc64 = .{} }, .os = .{ .freebsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 202 | .{ .cpu = .{ .powerpc64 = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 203 | .{ .cpu = .{ .powerpc64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musl = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 204 | .{ .cpu = .{ .powerpc64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 205 | .{ .cpu = .{ .powerpc64 = .{} }, .os = .{ .openbsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 206 | .{ .cpu = .{ .powerpc64 = .{} }, .os = .{ .ps3 = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 207 | .{ .cpu = .{ .powerpc64 = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 208 | ||
| 209 | .{ .cpu = .{ .powerpc64le = .{} }, .os = .{ .freebsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 210 | .{ .cpu = .{ .powerpc64le = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 211 | .{ .cpu = .{ .powerpc64le = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 212 | .{ .cpu = .{ .powerpc64le = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musl = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 213 | .{ .cpu = .{ .powerpc64le = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 214 | ||
| 215 | .{ .cpu = .{ .riscv32 = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 216 | .{ .cpu = .{ .riscv32 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 217 | .{ .cpu = .{ .riscv32 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musl = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 218 | .{ .cpu = .{ .riscv32 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 219 | .{ .cpu = .{ .riscv32 = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 220 | .{ .cpu = .{ .riscv32 = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 221 | .{ .cpu = .{ .riscv32 = .{} }, .os = .{ .uefi = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 222 | ||
| 223 | .{ .cpu = .{ .riscv32be = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 224 | ||
| 225 | .{ .cpu = .{ .riscv64 = .{} }, .os = .{ .freebsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 226 | .{ .cpu = .{ .riscv64 = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 227 | .{ .cpu = .{ .riscv64 = .{} }, .os = .{ .fuchsia = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 228 | .{ .cpu = .{ .riscv64 = .{} }, .os = .{ .haiku = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 229 | .{ .cpu = .{ .riscv64 = .{} }, .os = .{ .hurd = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 230 | .{ .cpu = .{ .riscv64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .android = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 231 | .{ .cpu = .{ .riscv64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 232 | .{ .cpu = .{ .riscv64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musl = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 233 | .{ .cpu = .{ .riscv64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 234 | .{ .cpu = .{ .riscv64 = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 235 | .{ .cpu = .{ .riscv64 = .{} }, .os = .{ .openbsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 236 | .{ .cpu = .{ .riscv64 = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 237 | .{ .cpu = .{ .riscv64 = .{} }, .os = .{ .serenity = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 238 | .{ .cpu = .{ .riscv64 = .{} }, .os = .{ .uefi = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 239 | ||
| 240 | .{ .cpu = .{ .riscv64be = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 241 | ||
| 242 | .{ .cpu = .{ .s390x = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 243 | .{ .cpu = .{ .s390x = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 244 | .{ .cpu = .{ .s390x = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musl = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 245 | .{ .cpu = .{ .s390x = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 246 | ||
| 247 | .{ .cpu = .{ .sparc = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 248 | .{ .cpu = .{ .sparc = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 249 | .{ .cpu = .{ .sparc = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 250 | .{ .cpu = .{ .sparc = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 251 | .{ .cpu = .{ .sparc = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 252 | ||
| 253 | .{ .cpu = .{ .sparc64 = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 254 | .{ .cpu = .{ .sparc64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 255 | .{ .cpu = .{ .sparc64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 256 | .{ .cpu = .{ .sparc64 = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 257 | .{ .cpu = .{ .sparc64 = .{} }, .os = .{ .openbsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 258 | .{ .cpu = .{ .sparc64 = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 259 | ||
| 260 | .{ .cpu = .{ .spirv32 = .{} }, .os = .{ .opencl = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 261 | .{ .cpu = .{ .spirv32 = .{} }, .os = .{ .opengl = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 262 | .{ .cpu = .{ .spirv32 = .{} }, .os = .{ .vulkan = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 263 | ||
| 264 | .{ .cpu = .{ .spirv64 = .{} }, .os = .{ .amdhsa = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 265 | .{ .cpu = .{ .spirv64 = .{} }, .os = .{ .opencl = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 266 | .{ .cpu = .{ .spirv64 = .{} }, .os = .{ .vulkan = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 267 | ||
| 268 | .{ .cpu = .{ .thumb = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 269 | .{ .cpu = .{ .thumb = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 270 | .{ .cpu = .{ .thumb = .{} }, .os = .{ .fuchsia = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 271 | .{ .cpu = .{ .thumb = .{} }, .os = .{ .gba = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 272 | .{ .cpu = .{ .thumb = .{} }, .os = .{ .linux = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 273 | .{ .cpu = .{ .thumb = .{} }, .os = .{ .linux = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 274 | .{ .cpu = .{ .thumb = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musleabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 275 | .{ .cpu = .{ .thumb = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musleabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 276 | .{ .cpu = .{ .thumb = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 277 | .{ .cpu = .{ .thumb = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 278 | .{ .cpu = .{ .thumb = .{} }, .os = .{ .vita = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 279 | .{ .cpu = .{ .thumb = .{} }, .os = .{ .windows = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 280 | .{ .cpu = .{ .thumb = .{} }, .os = .{ .windows = .{} }, .abi = .{ .itanium = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 281 | .{ .cpu = .{ .thumb = .{} }, .os = .{ .windows = .{} }, .abi = .{ .msvc = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 282 | ||
| 283 | .{ .cpu = .{ .thumbeb = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 284 | .{ .cpu = .{ .thumbeb = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 285 | .{ .cpu = .{ .thumbeb = .{} }, .os = .{ .linux = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 286 | .{ .cpu = .{ .thumbeb = .{} }, .os = .{ .linux = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 287 | .{ .cpu = .{ .thumbeb = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musleabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 288 | .{ .cpu = .{ .thumbeb = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musleabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 289 | .{ .cpu = .{ .thumbeb = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .eabi = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 290 | .{ .cpu = .{ .thumbeb = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .eabihf = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 291 | ||
| 292 | .{ .cpu = .{ .ve = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 293 | .{ .cpu = .{ .ve = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 294 | ||
| 295 | .{ .cpu = .{ .wasm32 = .{} }, .os = .{ .emscripten = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 296 | .{ .cpu = .{ .wasm32 = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 297 | .{ .cpu = .{ .wasm32 = .{} }, .os = .{ .wasi = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 298 | ||
| 299 | .{ .cpu = .{ .wasm64 = .{} }, .os = .{ .emscripten = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 300 | .{ .cpu = .{ .wasm64 = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 301 | .{ .cpu = .{ .wasm64 = .{} }, .os = .{ .wasi = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 302 | ||
| 303 | .{ .cpu = .{ .x86 = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 304 | .{ .cpu = .{ .x86 = .{} }, .os = .{ .haiku = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 305 | .{ .cpu = .{ .x86 = .{} }, .os = .{ .hurd = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 306 | .{ .cpu = .{ .x86 = .{} }, .os = .{ .illumos = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 307 | .{ .cpu = .{ .x86 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .android = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 308 | .{ .cpu = .{ .x86 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 309 | .{ .cpu = .{ .x86 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musl = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 310 | .{ .cpu = .{ .x86 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 311 | .{ .cpu = .{ .x86 = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 312 | .{ .cpu = .{ .x86 = .{} }, .os = .{ .openbsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 313 | .{ .cpu = .{ .x86 = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 314 | .{ .cpu = .{ .x86 = .{} }, .os = .{ .uefi = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 315 | .{ .cpu = .{ .x86 = .{} }, .os = .{ .windows = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 316 | .{ .cpu = .{ .x86 = .{} }, .os = .{ .windows = .{} }, .abi = .{ .itanium = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 317 | .{ .cpu = .{ .x86 = .{} }, .os = .{ .windows = .{} }, .abi = .{ .msvc = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 318 | ||
| 319 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .freebsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 320 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 321 | .{ .cpu = .{ .x86_64 = .{ .features = .{ .add = .{.soft_float}, .remove = .{ .mmx, .sse, .sse2, .avx, .avx2 } } } }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 322 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .fuchsia = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 323 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .dragonfly = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 324 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .driverkit = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .old, .pic = .pic }, | |
| 325 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .haiku = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 326 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .hurd = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 327 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .illumos = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 328 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .android = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 329 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 330 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .gnux32 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 331 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .musl = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 332 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .muslx32 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 333 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 334 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .ohos = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 335 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .linux = .{} }, .abi = .{ .x32 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 336 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .maccatalyst = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .old, .pic = .pic }, | |
| 337 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .macos = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .old, .pic = .pic }, | |
| 338 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .netbsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 339 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .openbsd = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 340 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .ps4 = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 341 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .ps5 = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 342 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .rtems = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 343 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .serenity = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 344 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .uefi = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 345 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .windows = .{} }, .abi = .{ .gnu = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 346 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .windows = .{} }, .abi = .{ .itanium = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 347 | .{ .cpu = .{ .x86_64 = .{} }, .os = .{ .windows = .{} }, .abi = .{ .msvc = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 348 | ||
| 349 | .{ .cpu = .{ .xcore = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 350 | ||
| 351 | .{ .cpu = .{ .xtensa = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .call0 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 352 | .{ .cpu = .{ .xtensa = .{} }, .os = .{ .freestanding = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 353 | .{ .cpu = .{ .xtensa = .{} }, .os = .{ .linux = .{} }, .abi = .{ .call0 = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 354 | .{ .cpu = .{ .xtensa = .{} }, .os = .{ .linux = .{} }, .abi = .{ .none = .{} }, .cache_mode = .whole, .backend = .llvm, .linker = .lld, .pic = .pic }, | |
| 355 | } |
test/llvm_targets.zig deleted-382| ... | ... | @@ -1,382 +0,0 @@ |
| 1 | const std = @import("std"); | |
| 2 | const Cases = @import("src/Cases.zig"); | |
| 3 | ||
| 4 | const targets = [_]std.Target.Query{ | |
| 5 | .{ .cpu_arch = .aarch64, .os_tag = .driverkit, .abi = .none }, | |
| 6 | .{ .cpu_arch = .aarch64, .os_tag = .freebsd, .abi = .none }, | |
| 7 | .{ .cpu_arch = .aarch64, .os_tag = .freestanding, .abi = .none }, | |
| 8 | .{ .cpu_arch = .aarch64, .os_tag = .fuchsia, .abi = .none }, | |
| 9 | .{ .cpu_arch = .aarch64, .os_tag = .haiku, .abi = .none }, | |
| 10 | .{ .cpu_arch = .aarch64, .os_tag = .hurd, .abi = .gnu }, | |
| 11 | .{ .cpu_arch = .aarch64, .os_tag = .ios, .abi = .none }, | |
| 12 | .{ .cpu_arch = .aarch64, .os_tag = .ios, .abi = .simulator }, | |
| 13 | .{ .cpu_arch = .aarch64, .os_tag = .linux, .abi = .android }, | |
| 14 | .{ .cpu_arch = .aarch64, .os_tag = .linux, .abi = .gnu }, | |
| 15 | .{ .cpu_arch = .aarch64, .os_tag = .linux, .abi = .musl }, | |
| 16 | .{ .cpu_arch = .aarch64, .os_tag = .linux, .abi = .none }, | |
| 17 | .{ .cpu_arch = .aarch64, .os_tag = .linux, .abi = .ohos }, | |
| 18 | .{ .cpu_arch = .aarch64, .os_tag = .maccatalyst, .abi = .none }, | |
| 19 | .{ .cpu_arch = .aarch64, .os_tag = .macos, .abi = .none }, | |
| 20 | .{ .cpu_arch = .aarch64, .os_tag = .netbsd, .abi = .none }, | |
| 21 | .{ .cpu_arch = .aarch64, .os_tag = .openbsd, .abi = .none }, | |
| 22 | .{ .cpu_arch = .aarch64, .os_tag = .rtems, .abi = .none }, | |
| 23 | .{ .cpu_arch = .aarch64, .os_tag = .serenity, .abi = .none }, | |
| 24 | .{ .cpu_arch = .aarch64, .os_tag = .@"switch", .abi = .none }, | |
| 25 | .{ .cpu_arch = .aarch64, .os_tag = .tvos, .abi = .none }, | |
| 26 | .{ .cpu_arch = .aarch64, .os_tag = .tvos, .abi = .simulator }, | |
| 27 | .{ .cpu_arch = .aarch64, .os_tag = .uefi, .abi = .none }, | |
| 28 | .{ .cpu_arch = .aarch64, .os_tag = .visionos, .abi = .none }, | |
| 29 | .{ .cpu_arch = .aarch64, .os_tag = .visionos, .abi = .simulator }, | |
| 30 | .{ .cpu_arch = .aarch64, .os_tag = .watchos, .abi = .ilp32 }, | |
| 31 | .{ .cpu_arch = .aarch64, .os_tag = .watchos, .abi = .none }, | |
| 32 | .{ .cpu_arch = .aarch64, .os_tag = .watchos, .abi = .simulator }, | |
| 33 | .{ .cpu_arch = .aarch64, .os_tag = .windows, .abi = .gnu }, | |
| 34 | .{ .cpu_arch = .aarch64, .os_tag = .windows, .abi = .itanium }, | |
| 35 | .{ .cpu_arch = .aarch64, .os_tag = .windows, .abi = .msvc }, | |
| 36 | ||
| 37 | .{ .cpu_arch = .aarch64_be, .os_tag = .freestanding, .abi = .none }, | |
| 38 | .{ .cpu_arch = .aarch64_be, .os_tag = .linux, .abi = .gnu }, | |
| 39 | .{ .cpu_arch = .aarch64_be, .os_tag = .linux, .abi = .musl }, | |
| 40 | .{ .cpu_arch = .aarch64_be, .os_tag = .linux, .abi = .none }, | |
| 41 | .{ .cpu_arch = .aarch64_be, .os_tag = .netbsd, .abi = .none }, | |
| 42 | ||
| 43 | .{ .cpu_arch = .amdgcn, .os_tag = .amdhsa, .abi = .none }, | |
| 44 | // .{ .cpu_arch = .amdgcn, .os_tag = .amdpal, .abi = .none }, | |
| 45 | // .{ .cpu_arch = .amdgcn, .os_tag = .mesa3d, .abi = .none }, | |
| 46 | ||
| 47 | .{ .cpu_arch = .arc, .os_tag = .freestanding, .abi = .none }, | |
| 48 | .{ .cpu_arch = .arc, .os_tag = .linux, .abi = .gnu }, | |
| 49 | .{ .cpu_arch = .arc, .os_tag = .linux, .abi = .none }, | |
| 50 | ||
| 51 | .{ .cpu_arch = .arm, .os_tag = .@"3ds", .abi = .eabihf }, | |
| 52 | .{ .cpu_arch = .arm, .os_tag = .freebsd, .abi = .eabihf }, | |
| 53 | .{ .cpu_arch = .arm, .os_tag = .freestanding, .abi = .eabi }, | |
| 54 | .{ .cpu_arch = .arm, .os_tag = .freestanding, .abi = .eabihf }, | |
| 55 | .{ .cpu_arch = .arm, .os_tag = .fuchsia, .abi = .eabihf }, | |
| 56 | .{ .cpu_arch = .arm, .os_tag = .gba, .abi = .eabi }, | |
| 57 | .{ .cpu_arch = .arm, .os_tag = .haiku, .abi = .eabihf }, | |
| 58 | .{ .cpu_arch = .arm, .os_tag = .linux, .abi = .androideabi }, | |
| 59 | .{ .cpu_arch = .arm, .os_tag = .linux, .abi = .eabi }, | |
| 60 | .{ .cpu_arch = .arm, .os_tag = .linux, .abi = .eabihf }, | |
| 61 | .{ .cpu_arch = .arm, .os_tag = .linux, .abi = .gnueabi }, | |
| 62 | .{ .cpu_arch = .arm, .os_tag = .linux, .abi = .gnueabihf }, | |
| 63 | .{ .cpu_arch = .arm, .os_tag = .linux, .abi = .musleabi }, | |
| 64 | .{ .cpu_arch = .arm, .os_tag = .linux, .abi = .musleabihf }, | |
| 65 | .{ .cpu_arch = .arm, .os_tag = .linux, .abi = .ohoseabi }, | |
| 66 | .{ .cpu_arch = .arm, .os_tag = .netbsd, .abi = .eabi }, | |
| 67 | .{ .cpu_arch = .arm, .os_tag = .netbsd, .abi = .eabihf }, | |
| 68 | .{ .cpu_arch = .arm, .os_tag = .openbsd, .abi = .eabi }, | |
| 69 | .{ .cpu_arch = .arm, .os_tag = .rtems, .abi = .eabi }, | |
| 70 | .{ .cpu_arch = .arm, .os_tag = .rtems, .abi = .eabihf }, | |
| 71 | // .{ .cpu_arch = .arm, .os_tag = .uefi, .abi = .eabi }, | |
| 72 | // .{ .cpu_arch = .arm, .os_tag = .uefi, .abi = .eabihf }, | |
| 73 | .{ .cpu_arch = .arm, .os_tag = .vita, .abi = .eabihf }, | |
| 74 | ||
| 75 | .{ .cpu_arch = .armeb, .os_tag = .freestanding, .abi = .eabi }, | |
| 76 | .{ .cpu_arch = .armeb, .os_tag = .freestanding, .abi = .eabihf }, | |
| 77 | .{ .cpu_arch = .armeb, .os_tag = .linux, .abi = .eabi }, | |
| 78 | .{ .cpu_arch = .armeb, .os_tag = .linux, .abi = .eabihf }, | |
| 79 | .{ .cpu_arch = .armeb, .os_tag = .linux, .abi = .gnueabi }, | |
| 80 | .{ .cpu_arch = .armeb, .os_tag = .linux, .abi = .gnueabihf }, | |
| 81 | .{ .cpu_arch = .armeb, .os_tag = .linux, .abi = .musleabi }, | |
| 82 | .{ .cpu_arch = .armeb, .os_tag = .linux, .abi = .musleabihf }, | |
| 83 | .{ .cpu_arch = .armeb, .os_tag = .netbsd, .abi = .eabi }, | |
| 84 | .{ .cpu_arch = .armeb, .os_tag = .netbsd, .abi = .eabihf }, | |
| 85 | .{ .cpu_arch = .armeb, .os_tag = .rtems, .abi = .eabi }, | |
| 86 | .{ .cpu_arch = .armeb, .os_tag = .rtems, .abi = .eabihf }, | |
| 87 | ||
| 88 | .{ .cpu_arch = .avr, .os_tag = .freestanding, .abi = .none }, | |
| 89 | .{ .cpu_arch = .avr, .os_tag = .rtems, .abi = .none }, | |
| 90 | ||
| 91 | .{ .cpu_arch = .bpfeb, .os_tag = .freestanding, .abi = .none }, | |
| 92 | ||
| 93 | .{ .cpu_arch = .bpfel, .os_tag = .freestanding, .abi = .none }, | |
| 94 | ||
| 95 | // .{ .cpu_arch = .csky, .os_tag = .freestanding, .abi = .eabi }, | |
| 96 | // .{ .cpu_arch = .csky, .os_tag = .freestanding, .abi = .eabihf }, | |
| 97 | // .{ .cpu_arch = .csky, .os_tag = .linux, .abi = .eabi }, | |
| 98 | // .{ .cpu_arch = .csky, .os_tag = .linux, .abi = .eabihf }, | |
| 99 | // .{ .cpu_arch = .csky, .os_tag = .linux, .abi = .gnueabi }, | |
| 100 | // .{ .cpu_arch = .csky, .os_tag = .linux, .abi = .gnueabihf }, | |
| 101 | ||
| 102 | .{ .cpu_arch = .hexagon, .os_tag = .freestanding, .abi = .none }, | |
| 103 | .{ .cpu_arch = .hexagon, .os_tag = .linux, .abi = .musl }, | |
| 104 | .{ .cpu_arch = .hexagon, .os_tag = .linux, .abi = .none }, | |
| 105 | ||
| 106 | .{ .cpu_arch = .lanai, .os_tag = .freestanding, .abi = .none }, | |
| 107 | ||
| 108 | .{ .cpu_arch = .loongarch32, .os_tag = .freestanding, .abi = .none }, | |
| 109 | .{ .cpu_arch = .loongarch32, .os_tag = .linux, .abi = .gnu }, | |
| 110 | // .{ .cpu_arch = .loongarch32, .os_tag = .linux, .abi = .gnuf32 }, | |
| 111 | .{ .cpu_arch = .loongarch32, .os_tag = .linux, .abi = .gnusf }, | |
| 112 | // .{ .cpu_arch = .loongarch32, .os_tag = .linux, .abi = .musl }, | |
| 113 | // .{ .cpu_arch = .loongarch32, .os_tag = .linux, .abi = .muslf32 }, | |
| 114 | // .{ .cpu_arch = .loongarch32, .os_tag = .linux, .abi = .muslsf }, | |
| 115 | .{ .cpu_arch = .loongarch32, .os_tag = .linux, .abi = .none }, | |
| 116 | // .{ .cpu_arch = .loongarch32, .os_tag = .uefi, .abi = .none }, | |
| 117 | ||
| 118 | .{ .cpu_arch = .loongarch64, .os_tag = .freestanding, .abi = .none }, | |
| 119 | .{ .cpu_arch = .loongarch64, .os_tag = .linux, .abi = .gnu }, | |
| 120 | // .{ .cpu_arch = .loongarch64, .os_tag = .linux, .abi = .gnuf32 }, | |
| 121 | .{ .cpu_arch = .loongarch64, .os_tag = .linux, .abi = .gnusf }, | |
| 122 | .{ .cpu_arch = .loongarch64, .os_tag = .linux, .abi = .musl }, | |
| 123 | // .{ .cpu_arch = .loongarch64, .os_tag = .linux, .abi = .muslf32 }, | |
| 124 | .{ .cpu_arch = .loongarch64, .os_tag = .linux, .abi = .muslsf }, | |
| 125 | .{ .cpu_arch = .loongarch64, .os_tag = .linux, .abi = .none }, | |
| 126 | // .{ .cpu_arch = .loongarch64, .os_tag = .uefi, .abi = .none }, | |
| 127 | ||
| 128 | .{ .cpu_arch = .m68k, .os_tag = .freestanding, .abi = .none }, | |
| 129 | .{ .cpu_arch = .m68k, .os_tag = .linux, .abi = .gnu }, | |
| 130 | .{ .cpu_arch = .m68k, .os_tag = .linux, .abi = .musl }, | |
| 131 | .{ .cpu_arch = .m68k, .os_tag = .linux, .abi = .none }, | |
| 132 | .{ .cpu_arch = .m68k, .os_tag = .netbsd, .abi = .none }, | |
| 133 | .{ .cpu_arch = .m68k, .os_tag = .rtems, .abi = .none }, | |
| 134 | ||
| 135 | .{ .cpu_arch = .mips, .os_tag = .freestanding, .abi = .eabi }, | |
| 136 | .{ .cpu_arch = .mips, .os_tag = .freestanding, .abi = .eabihf }, | |
| 137 | .{ .cpu_arch = .mips, .os_tag = .linux, .abi = .eabi }, | |
| 138 | .{ .cpu_arch = .mips, .os_tag = .linux, .abi = .eabihf }, | |
| 139 | .{ .cpu_arch = .mips, .os_tag = .linux, .abi = .gnueabi }, | |
| 140 | .{ .cpu_arch = .mips, .os_tag = .linux, .abi = .gnueabihf }, | |
| 141 | .{ .cpu_arch = .mips, .os_tag = .linux, .abi = .musleabi }, | |
| 142 | .{ .cpu_arch = .mips, .os_tag = .linux, .abi = .musleabihf }, | |
| 143 | .{ .cpu_arch = .mips, .os_tag = .netbsd, .abi = .eabi }, | |
| 144 | .{ .cpu_arch = .mips, .os_tag = .netbsd, .abi = .eabihf }, | |
| 145 | .{ .cpu_arch = .mips, .os_tag = .rtems, .abi = .eabi }, | |
| 146 | .{ .cpu_arch = .mips, .os_tag = .rtems, .abi = .eabihf }, | |
| 147 | ||
| 148 | .{ .cpu_arch = .mipsel, .os_tag = .freestanding, .abi = .eabi }, | |
| 149 | .{ .cpu_arch = .mipsel, .os_tag = .freestanding, .abi = .eabihf }, | |
| 150 | .{ .cpu_arch = .mipsel, .os_tag = .linux, .abi = .eabi }, | |
| 151 | .{ .cpu_arch = .mipsel, .os_tag = .linux, .abi = .eabihf }, | |
| 152 | .{ .cpu_arch = .mipsel, .os_tag = .linux, .abi = .gnueabi }, | |
| 153 | .{ .cpu_arch = .mipsel, .os_tag = .linux, .abi = .gnueabihf }, | |
| 154 | .{ .cpu_arch = .mipsel, .os_tag = .linux, .abi = .musleabi }, | |
| 155 | .{ .cpu_arch = .mipsel, .os_tag = .linux, .abi = .musleabihf }, | |
| 156 | .{ .cpu_arch = .mipsel, .os_tag = .netbsd, .abi = .eabi }, | |
| 157 | .{ .cpu_arch = .mipsel, .os_tag = .netbsd, .abi = .eabihf }, | |
| 158 | // .{ .cpu_arch = .mipsel, .os_tag = .psx, .abi = .eabi }, | |
| 159 | .{ .cpu_arch = .mipsel, .os_tag = .psp, .abi = .eabihf }, | |
| 160 | .{ .cpu_arch = .mipsel, .os_tag = .rtems, .abi = .eabi }, | |
| 161 | .{ .cpu_arch = .mipsel, .os_tag = .rtems, .abi = .eabihf }, | |
| 162 | ||
| 163 | .{ .cpu_arch = .mips64, .os_tag = .freestanding, .abi = .none }, | |
| 164 | .{ .cpu_arch = .mips64, .os_tag = .linux, .abi = .abin32 }, | |
| 165 | .{ .cpu_arch = .mips64, .os_tag = .linux, .abi = .gnuabi64 }, | |
| 166 | .{ .cpu_arch = .mips64, .os_tag = .linux, .abi = .gnuabin32 }, | |
| 167 | .{ .cpu_arch = .mips64, .os_tag = .linux, .abi = .muslabi64 }, | |
| 168 | .{ .cpu_arch = .mips64, .os_tag = .linux, .abi = .muslabin32 }, | |
| 169 | .{ .cpu_arch = .mips64, .os_tag = .linux, .abi = .none }, | |
| 170 | .{ .cpu_arch = .mips64, .os_tag = .openbsd, .abi = .none }, | |
| 171 | ||
| 172 | .{ .cpu_arch = .mips64el, .os_tag = .freestanding, .abi = .none }, | |
| 173 | .{ .cpu_arch = .mips64el, .os_tag = .linux, .abi = .abin32 }, | |
| 174 | .{ .cpu_arch = .mips64el, .os_tag = .linux, .abi = .gnuabi64 }, | |
| 175 | .{ .cpu_arch = .mips64el, .os_tag = .linux, .abi = .gnuabin32 }, | |
| 176 | .{ .cpu_arch = .mips64el, .os_tag = .linux, .abi = .muslabi64 }, | |
| 177 | .{ .cpu_arch = .mips64el, .os_tag = .linux, .abi = .muslabin32 }, | |
| 178 | .{ .cpu_arch = .mips64el, .os_tag = .linux, .abi = .none }, | |
| 179 | .{ .cpu_arch = .mips64el, .os_tag = .openbsd, .abi = .none }, | |
| 180 | ||
| 181 | .{ .cpu_arch = .msp430, .os_tag = .freestanding, .abi = .none }, | |
| 182 | ||
| 183 | .{ .cpu_arch = .nvptx, .os_tag = .cuda, .abi = .none }, | |
| 184 | .{ .cpu_arch = .nvptx, .os_tag = .nvcl, .abi = .none }, | |
| 185 | ||
| 186 | .{ .cpu_arch = .nvptx64, .os_tag = .cuda, .abi = .none }, | |
| 187 | .{ .cpu_arch = .nvptx64, .os_tag = .nvcl, .abi = .none }, | |
| 188 | ||
| 189 | .{ .cpu_arch = .powerpc, .os_tag = .freestanding, .abi = .eabi }, | |
| 190 | .{ .cpu_arch = .powerpc, .os_tag = .freestanding, .abi = .eabihf }, | |
| 191 | .{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .eabi }, | |
| 192 | .{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .eabihf }, | |
| 193 | .{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .musleabi }, | |
| 194 | .{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .musleabihf }, | |
| 195 | .{ .cpu_arch = .powerpc, .os_tag = .netbsd, .abi = .eabihf }, | |
| 196 | .{ .cpu_arch = .powerpc, .os_tag = .openbsd, .abi = .eabihf }, | |
| 197 | .{ .cpu_arch = .powerpc, .os_tag = .rtems, .abi = .eabi }, | |
| 198 | .{ .cpu_arch = .powerpc, .os_tag = .rtems, .abi = .eabihf }, | |
| 199 | .{ .cpu_arch = .powerpc, .os_tag = .wiiu, .abi = .eabihf }, | |
| 200 | ||
| 201 | .{ .cpu_arch = .powerpcle, .os_tag = .freestanding, .abi = .eabi }, | |
| 202 | .{ .cpu_arch = .powerpcle, .os_tag = .freestanding, .abi = .eabihf }, | |
| 203 | ||
| 204 | .{ .cpu_arch = .powerpc64, .os_tag = .freebsd, .abi = .none }, | |
| 205 | .{ .cpu_arch = .powerpc64, .os_tag = .freestanding, .abi = .none }, | |
| 206 | .{ .cpu_arch = .powerpc64, .os_tag = .linux, .abi = .musl }, | |
| 207 | .{ .cpu_arch = .powerpc64, .os_tag = .linux, .abi = .none }, | |
| 208 | .{ .cpu_arch = .powerpc64, .os_tag = .openbsd, .abi = .none }, | |
| 209 | .{ .cpu_arch = .powerpc64, .os_tag = .ps3, .abi = .ilp32 }, | |
| 210 | .{ .cpu_arch = .powerpc64, .os_tag = .rtems, .abi = .none }, | |
| 211 | ||
| 212 | .{ .cpu_arch = .powerpc64le, .os_tag = .freebsd, .abi = .none }, | |
| 213 | .{ .cpu_arch = .powerpc64le, .os_tag = .freestanding, .abi = .none }, | |
| 214 | .{ .cpu_arch = .powerpc64le, .os_tag = .linux, .abi = .gnu }, | |
| 215 | .{ .cpu_arch = .powerpc64le, .os_tag = .linux, .abi = .musl }, | |
| 216 | .{ .cpu_arch = .powerpc64le, .os_tag = .linux, .abi = .none }, | |
| 217 | ||
| 218 | .{ .cpu_arch = .riscv32, .os_tag = .freestanding, .abi = .none }, | |
| 219 | .{ .cpu_arch = .riscv32, .os_tag = .linux, .abi = .gnu }, | |
| 220 | .{ .cpu_arch = .riscv32, .os_tag = .linux, .abi = .musl }, | |
| 221 | .{ .cpu_arch = .riscv32, .os_tag = .linux, .abi = .none }, | |
| 222 | .{ .cpu_arch = .riscv32, .os_tag = .netbsd, .abi = .none }, | |
| 223 | .{ .cpu_arch = .riscv32, .os_tag = .rtems, .abi = .none }, | |
| 224 | // .{ .cpu_arch = .riscv32, .os_tag = .uefi, .abi = .none }, | |
| 225 | ||
| 226 | // .{ .cpu_arch = .riscv32be, .os_tag = .freestanding, .abi = .none }, | |
| 227 | ||
| 228 | .{ .cpu_arch = .riscv64, .os_tag = .freebsd, .abi = .none }, | |
| 229 | .{ .cpu_arch = .riscv64, .os_tag = .freestanding, .abi = .none }, | |
| 230 | .{ .cpu_arch = .riscv64, .os_tag = .fuchsia, .abi = .none }, | |
| 231 | .{ .cpu_arch = .riscv64, .os_tag = .haiku, .abi = .none }, | |
| 232 | .{ .cpu_arch = .riscv64, .os_tag = .hurd, .abi = .gnu }, | |
| 233 | .{ .cpu_arch = .riscv64, .os_tag = .linux, .abi = .android }, | |
| 234 | .{ .cpu_arch = .riscv64, .os_tag = .linux, .abi = .gnu }, | |
| 235 | .{ .cpu_arch = .riscv64, .os_tag = .linux, .abi = .musl }, | |
| 236 | .{ .cpu_arch = .riscv64, .os_tag = .linux, .abi = .none }, | |
| 237 | .{ .cpu_arch = .riscv64, .os_tag = .netbsd, .abi = .none }, | |
| 238 | .{ .cpu_arch = .riscv64, .os_tag = .openbsd, .abi = .none }, | |
| 239 | .{ .cpu_arch = .riscv64, .os_tag = .rtems, .abi = .none }, | |
| 240 | .{ .cpu_arch = .riscv64, .os_tag = .serenity, .abi = .none }, | |
| 241 | // .{ .cpu_arch = .riscv64, .os_tag = .uefi, .abi = .none }, | |
| 242 | ||
| 243 | // .{ .cpu_arch = .riscv64be, .os_tag = .freestanding, .abi = .none }, | |
| 244 | ||
| 245 | .{ .cpu_arch = .s390x, .os_tag = .freestanding, .abi = .none }, | |
| 246 | .{ .cpu_arch = .s390x, .os_tag = .linux, .abi = .gnu }, | |
| 247 | .{ .cpu_arch = .s390x, .os_tag = .linux, .abi = .musl }, | |
| 248 | .{ .cpu_arch = .s390x, .os_tag = .linux, .abi = .none }, | |
| 249 | ||
| 250 | .{ .cpu_arch = .sparc, .os_tag = .freestanding, .abi = .none }, | |
| 251 | .{ .cpu_arch = .sparc, .os_tag = .linux, .abi = .gnu }, | |
| 252 | .{ .cpu_arch = .sparc, .os_tag = .linux, .abi = .none }, | |
| 253 | .{ .cpu_arch = .sparc, .os_tag = .netbsd, .abi = .none }, | |
| 254 | .{ .cpu_arch = .sparc, .os_tag = .rtems, .abi = .none }, | |
| 255 | ||
| 256 | .{ .cpu_arch = .sparc64, .os_tag = .freestanding, .abi = .none }, | |
| 257 | .{ .cpu_arch = .sparc64, .os_tag = .linux, .abi = .gnu }, | |
| 258 | .{ .cpu_arch = .sparc64, .os_tag = .linux, .abi = .none }, | |
| 259 | .{ .cpu_arch = .sparc64, .os_tag = .netbsd, .abi = .none }, | |
| 260 | .{ .cpu_arch = .sparc64, .os_tag = .openbsd, .abi = .none }, | |
| 261 | .{ .cpu_arch = .sparc64, .os_tag = .rtems, .abi = .none }, | |
| 262 | ||
| 263 | // .{ .cpu_arch = .spirv32, .os_tag = .opencl, .abi = .none }, | |
| 264 | // .{ .cpu_arch = .spirv32, .os_tag = .opengl, .abi = .none }, | |
| 265 | // .{ .cpu_arch = .spirv32, .os_tag = .vulkan, .abi = .none }, | |
| 266 | // .{ .cpu_arch = .spirv64, .os_tag = .amdhsa, .abi = .none }, | |
| 267 | // .{ .cpu_arch = .spirv64, .os_tag = .opencl, .abi = .none }, | |
| 268 | // .{ .cpu_arch = .spirv64, .os_tag = .vulkan, .abi = .none }, | |
| 269 | ||
| 270 | .{ .cpu_arch = .thumb, .os_tag = .freestanding, .abi = .eabi }, | |
| 271 | .{ .cpu_arch = .thumb, .os_tag = .freestanding, .abi = .eabihf }, | |
| 272 | .{ .cpu_arch = .thumb, .os_tag = .fuchsia, .abi = .eabihf }, | |
| 273 | .{ .cpu_arch = .thumb, .os_tag = .gba, .abi = .eabi }, | |
| 274 | .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .eabi }, | |
| 275 | .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .eabihf }, | |
| 276 | .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .musleabi }, | |
| 277 | .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .musleabihf }, | |
| 278 | .{ .cpu_arch = .thumb, .os_tag = .rtems, .abi = .eabi }, | |
| 279 | .{ .cpu_arch = .thumb, .os_tag = .rtems, .abi = .eabihf }, | |
| 280 | .{ .cpu_arch = .thumb, .os_tag = .vita, .abi = .eabihf }, | |
| 281 | .{ .cpu_arch = .thumb, .os_tag = .windows, .abi = .gnu }, | |
| 282 | .{ .cpu_arch = .thumb, .os_tag = .windows, .abi = .itanium }, | |
| 283 | .{ .cpu_arch = .thumb, .os_tag = .windows, .abi = .msvc }, | |
| 284 | ||
| 285 | .{ .cpu_arch = .thumbeb, .os_tag = .freestanding, .abi = .eabi }, | |
| 286 | .{ .cpu_arch = .thumbeb, .os_tag = .freestanding, .abi = .eabihf }, | |
| 287 | .{ .cpu_arch = .thumbeb, .os_tag = .linux, .abi = .eabi }, | |
| 288 | .{ .cpu_arch = .thumbeb, .os_tag = .linux, .abi = .eabihf }, | |
| 289 | .{ .cpu_arch = .thumbeb, .os_tag = .linux, .abi = .musleabi }, | |
| 290 | .{ .cpu_arch = .thumbeb, .os_tag = .linux, .abi = .musleabihf }, | |
| 291 | .{ .cpu_arch = .thumbeb, .os_tag = .rtems, .abi = .eabi }, | |
| 292 | .{ .cpu_arch = .thumbeb, .os_tag = .rtems, .abi = .eabihf }, | |
| 293 | ||
| 294 | .{ .cpu_arch = .ve, .os_tag = .freestanding, .abi = .none }, | |
| 295 | .{ .cpu_arch = .ve, .os_tag = .linux, .abi = .none }, | |
| 296 | ||
| 297 | .{ .cpu_arch = .wasm32, .os_tag = .emscripten, .abi = .none }, | |
| 298 | .{ .cpu_arch = .wasm32, .os_tag = .freestanding, .abi = .none }, | |
| 299 | .{ .cpu_arch = .wasm32, .os_tag = .wasi, .abi = .none }, | |
| 300 | ||
| 301 | .{ .cpu_arch = .wasm64, .os_tag = .emscripten, .abi = .none }, | |
| 302 | .{ .cpu_arch = .wasm64, .os_tag = .freestanding, .abi = .none }, | |
| 303 | .{ .cpu_arch = .wasm64, .os_tag = .wasi, .abi = .none }, | |
| 304 | ||
| 305 | .{ .cpu_arch = .x86, .os_tag = .freestanding, .abi = .none }, | |
| 306 | .{ .cpu_arch = .x86, .os_tag = .haiku, .abi = .none }, | |
| 307 | .{ .cpu_arch = .x86, .os_tag = .hurd, .abi = .gnu }, | |
| 308 | .{ .cpu_arch = .x86, .os_tag = .illumos, .abi = .none }, | |
| 309 | .{ .cpu_arch = .x86, .os_tag = .linux, .abi = .android }, | |
| 310 | .{ .cpu_arch = .x86, .os_tag = .linux, .abi = .gnu }, | |
| 311 | .{ .cpu_arch = .x86, .os_tag = .linux, .abi = .musl }, | |
| 312 | .{ .cpu_arch = .x86, .os_tag = .linux, .abi = .none }, | |
| 313 | .{ .cpu_arch = .x86, .os_tag = .netbsd, .abi = .none }, | |
| 314 | .{ .cpu_arch = .x86, .os_tag = .openbsd, .abi = .none }, | |
| 315 | .{ .cpu_arch = .x86, .os_tag = .rtems, .abi = .none }, | |
| 316 | .{ .cpu_arch = .x86, .os_tag = .uefi, .abi = .none }, | |
| 317 | .{ .cpu_arch = .x86, .os_tag = .windows, .abi = .gnu }, | |
| 318 | .{ .cpu_arch = .x86, .os_tag = .windows, .abi = .itanium }, | |
| 319 | .{ .cpu_arch = .x86, .os_tag = .windows, .abi = .msvc }, | |
| 320 | ||
| 321 | .{ .cpu_arch = .x86_64, .os_tag = .freebsd, .abi = .none }, | |
| 322 | .{ .cpu_arch = .x86_64, .os_tag = .freestanding, .abi = .none }, | |
| 323 | .{ | |
| 324 | .cpu_arch = .x86_64, | |
| 325 | .os_tag = .freestanding, | |
| 326 | .abi = .none, | |
| 327 | .cpu_features_add = std.Target.x86.featureSet(&.{.soft_float}), | |
| 328 | .cpu_features_sub = std.Target.x86.featureSet(&.{ .mmx, .sse, .sse2, .avx, .avx2 }), | |
| 329 | }, | |
| 330 | .{ .cpu_arch = .x86_64, .os_tag = .fuchsia, .abi = .none }, | |
| 331 | .{ .cpu_arch = .x86_64, .os_tag = .dragonfly, .abi = .none }, | |
| 332 | .{ .cpu_arch = .x86_64, .os_tag = .driverkit, .abi = .none }, | |
| 333 | .{ .cpu_arch = .x86_64, .os_tag = .haiku, .abi = .none }, | |
| 334 | .{ .cpu_arch = .x86_64, .os_tag = .hurd, .abi = .gnu }, | |
| 335 | .{ .cpu_arch = .x86_64, .os_tag = .illumos, .abi = .none }, | |
| 336 | .{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .android }, | |
| 337 | .{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .gnu }, | |
| 338 | .{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .gnux32 }, | |
| 339 | .{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .musl }, | |
| 340 | .{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .muslx32 }, | |
| 341 | .{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .none }, | |
| 342 | .{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .ohos }, | |
| 343 | .{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .x32 }, | |
| 344 | .{ .cpu_arch = .x86_64, .os_tag = .maccatalyst, .abi = .none }, | |
| 345 | .{ .cpu_arch = .x86_64, .os_tag = .macos, .abi = .none }, | |
| 346 | .{ .cpu_arch = .x86_64, .os_tag = .netbsd, .abi = .none }, | |
| 347 | .{ .cpu_arch = .x86_64, .os_tag = .openbsd, .abi = .none }, | |
| 348 | .{ .cpu_arch = .x86_64, .os_tag = .ps4, .abi = .none }, | |
| 349 | .{ .cpu_arch = .x86_64, .os_tag = .ps5, .abi = .none }, | |
| 350 | .{ .cpu_arch = .x86_64, .os_tag = .rtems, .abi = .none }, | |
| 351 | .{ .cpu_arch = .x86_64, .os_tag = .serenity, .abi = .none }, | |
| 352 | .{ .cpu_arch = .x86_64, .os_tag = .uefi, .abi = .none }, | |
| 353 | .{ .cpu_arch = .x86_64, .os_tag = .windows, .abi = .gnu }, | |
| 354 | .{ .cpu_arch = .x86_64, .os_tag = .windows, .abi = .itanium }, | |
| 355 | .{ .cpu_arch = .x86_64, .os_tag = .windows, .abi = .msvc }, | |
| 356 | ||
| 357 | .{ .cpu_arch = .xcore, .os_tag = .freestanding, .abi = .none }, | |
| 358 | ||
| 359 | .{ .cpu_arch = .xtensa, .os_tag = .freestanding, .abi = .call0 }, | |
| 360 | .{ .cpu_arch = .xtensa, .os_tag = .freestanding, .abi = .none }, | |
| 361 | .{ .cpu_arch = .xtensa, .os_tag = .linux, .abi = .call0 }, | |
| 362 | .{ .cpu_arch = .xtensa, .os_tag = .linux, .abi = .none }, | |
| 363 | }; | |
| 364 | ||
| 365 | pub fn addCases( | |
| 366 | ctx: *Cases, | |
| 367 | build_options: @import("cases.zig").BuildOptions, | |
| 368 | b: *std.Build, | |
| 369 | ) !void { | |
| 370 | if (!build_options.enable_llvm) return; | |
| 371 | for (targets) |target_query| { | |
| 372 | if (target_query.cpu_arch) |arch| switch (arch) { | |
| 373 | .m68k => if (!build_options.llvm_has_m68k) continue, | |
| 374 | .csky => if (!build_options.llvm_has_csky) continue, | |
| 375 | .arc => if (!build_options.llvm_has_arc) continue, | |
| 376 | .xtensa => if (!build_options.llvm_has_xtensa) continue, | |
| 377 | else => {}, | |
| 378 | }; | |
| 379 | var case = ctx.addObjLlvm("llvm_targets", b.resolveTargetQuery(target_query)); | |
| 380 | case.addCompile(""); | |
| 381 | } | |
| 382 | } |
test/src/Cases.zig-32| ... | ... | @@ -164,38 +164,6 @@ pub fn exeFromCompiledC(ctx: *Cases, name: []const u8, target_query: std.Target. |
| 164 | 164 | return &ctx.cases.items[ctx.cases.items.len - 1]; |
| 165 | 165 | } |
| 166 | 166 | |
| 167 | pub fn addObjLlvm(ctx: *Cases, name: []const u8, target: std.Build.ResolvedTarget) *Case { | |
| 168 | const can_emit_asm = switch (target.result.cpu.arch) { | |
| 169 | .csky, | |
| 170 | .xtensa, | |
| 171 | => false, | |
| 172 | else => true, | |
| 173 | }; | |
| 174 | const can_emit_bin = switch (target.result.cpu.arch) { | |
| 175 | .arc, | |
| 176 | .csky, | |
| 177 | .nvptx, | |
| 178 | .nvptx64, | |
| 179 | .xcore, | |
| 180 | .xtensa, | |
| 181 | => false, | |
| 182 | else => true, | |
| 183 | }; | |
| 184 | ||
| 185 | ctx.cases.append(.{ | |
| 186 | .name = name, | |
| 187 | .target = target, | |
| 188 | .files = .init(ctx.arena), | |
| 189 | .case = null, | |
| 190 | .output_mode = .Obj, | |
| 191 | .deps = std.array_list.Managed(DepModule).init(ctx.arena), | |
| 192 | .backend = .llvm, | |
| 193 | .emit_bin = can_emit_bin, | |
| 194 | .emit_asm = can_emit_asm, | |
| 195 | }) catch @panic("out of memory"); | |
| 196 | return &ctx.cases.items[ctx.cases.items.len - 1]; | |
| 197 | } | |
| 198 | ||
| 199 | 167 | pub fn addObj( |
| 200 | 168 | ctx: *Cases, |
| 201 | 169 | name: []const u8, |
test/tests.zig+18-25| ... | ... | @@ -2186,19 +2186,6 @@ const link_targets = blk: { |
| 2186 | 2186 | }; |
| 2187 | 2187 | }; |
| 2188 | 2188 | |
| 2189 | /// These are passed to `src/Runner.zig` as `<target>-<cache_mode>-<backend>-<linker>-<pic>` strings. | |
| 2190 | /// | |
| 2191 | /// If only one specific test is failing on a target, instead of entirely disabling the target here, you | |
| 2192 | /// can skip the target for that specific test only by adding a line like this to top of the manifest: | |
| 2193 | /// #skip x86_64-linux-selfhosted | |
| 2194 | const RunnerTarget = struct { | |
| 2195 | target: std.Target.Query, | |
| 2196 | cache_mode: enum { whole, incremental }, | |
| 2197 | backend: enum { selfhosted, llvm, llvmir, cbe }, | |
| 2198 | linker: enum { lld, old, new }, | |
| 2199 | pic: enum { nopic, pic, pie }, | |
| 2200 | }; | |
| 2201 | ||
| 2202 | 2189 | pub fn addStackTraceTests(b: *std.Build, options: StackTracesContext.Options) *Step { |
| 2203 | 2190 | const step = b.step("test-stack-traces", "Run the stack trace tests"); |
| 2204 | 2191 | |
| ... | ... | @@ -3037,7 +3024,6 @@ pub fn addCases( |
| 3037 | 3024 | b: *std.Build, |
| 3038 | 3025 | parent_step: *Step, |
| 3039 | 3026 | case_test_options: @import("src/Cases.zig").CaseTestOptions, |
| 3040 | build_options: @import("cases.zig").BuildOptions, | |
| 3041 | 3027 | ) !void { |
| 3042 | 3028 | const arena = b.allocator; |
| 3043 | 3029 | const gpa = b.allocator; |
| ... | ... | @@ -3051,7 +3037,7 @@ pub fn addCases( |
| 3051 | 3037 | defer dir.close(io); |
| 3052 | 3038 | |
| 3053 | 3039 | cases.addFromDir(dir, "test/cases", b); |
| 3054 | try @import("cases.zig").addCases(&cases, build_options, b); | |
| 3040 | try @import("cases.zig").addCases(&cases, b); | |
| 3055 | 3041 | |
| 3056 | 3042 | cases.lowerToBuildSteps( |
| 3057 | 3043 | b, |
| ... | ... | @@ -3060,6 +3046,7 @@ pub fn addCases( |
| 3060 | 3046 | ); |
| 3061 | 3047 | } |
| 3062 | 3048 | |
| 3049 | pub const RunnerTarget = @import("Runner.zig").Target; | |
| 3063 | 3050 | pub const RunnerOptions = struct { |
| 3064 | 3051 | test_filters: []const []const u8, |
| 3065 | 3052 | test_target_filters: []const []const u8, |
| ... | ... | @@ -3072,10 +3059,13 @@ pub const RunnerOptions = struct { |
| 3072 | 3059 | skip_darwin: bool, |
| 3073 | 3060 | skip_linux: bool, |
| 3074 | 3061 | skip_llvm: bool, |
| 3062 | llvm_has_m68k: bool, | |
| 3063 | llvm_has_csky: bool, | |
| 3064 | llvm_has_arc: bool, | |
| 3065 | llvm_has_xtensa: bool, | |
| 3075 | 3066 | gdb: ?[]const u8, |
| 3076 | 3067 | lldb: ?[]const u8, |
| 3077 | 3068 | }; |
| 3078 | ||
| 3079 | 3069 | pub fn addRunnerTests( |
| 3080 | 3070 | b: *std.Build, |
| 3081 | 3071 | runner: *std.Build.Step.Compile, |
| ... | ... | @@ -3119,7 +3109,7 @@ pub fn addRunnerTests( |
| 3119 | 3109 | _ = run.addPrefixedOutputDirectoryArg("--src=", "src"); |
| 3120 | 3110 | |
| 3121 | 3111 | for (matrix) |test_target| { |
| 3122 | const resolved_target = b.resolveTargetQuery(test_target.target); | |
| 3112 | const resolved_target = b.resolveTargetQuery(test_target.toQuery()); | |
| 3123 | 3113 | |
| 3124 | 3114 | if (options.skip_non_native and !std.zig.target.isNative(&resolved_target.query, &resolved_target.result, &b.graph.host.result)) |
| 3125 | 3115 | continue; |
| ... | ... | @@ -3135,15 +3125,18 @@ pub fn addRunnerTests( |
| 3135 | 3125 | if (options.skip_darwin and target.os.tag.isDarwin()) continue; |
| 3136 | 3126 | if (options.skip_linux and target.os.tag == .linux) continue; |
| 3137 | 3127 | |
| 3138 | if (options.skip_llvm and test_target.backend == .llvm) continue; | |
| 3128 | if (test_target.backend == .llvm) { | |
| 3129 | if (options.skip_llvm) continue; | |
| 3130 | switch (target.cpu.arch) { | |
| 3131 | else => {}, | |
| 3132 | .m68k => if (!options.llvm_has_m68k) continue, | |
| 3133 | .csky => if (!options.llvm_has_csky) continue, | |
| 3134 | .arc => if (!options.llvm_has_arc) continue, | |
| 3135 | .xtensa => if (!options.llvm_has_xtensa) continue, | |
| 3136 | } | |
| 3137 | } | |
| 3139 | 3138 | |
| 3140 | const target_str = b.fmt("{s}-{t}-{t}-{t}-{t}", .{ | |
| 3141 | resolved_target.query.zigTriple(b.allocator) catch @panic("OOM"), | |
| 3142 | test_target.cache_mode, | |
| 3143 | test_target.backend, | |
| 3144 | test_target.linker, | |
| 3145 | test_target.pic, | |
| 3146 | }); | |
| 3139 | const target_str = b.fmt("{f}", .{test_target}); | |
| 3147 | 3140 | |
| 3148 | 3141 | for (options.test_target_filters) |filter| { |
| 3149 | 3142 | if (std.mem.find(u8, target_str, filter) != null) break; |