authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2025-03-08 12:21:32-08:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-03-09 09:44:11+01:00
log0f6056903b4d7a50fbc5124af5c07a7d8fd13e8d
tree939a96f7ae7a6c2901b7b58f3d082ceb0b9cf9e1
parenteace31c6b34037225a8331156a1faec9a2831beb

std: Abi.default: only require an os tag


3 files changed, 7 insertions(+), 7 deletions(-)

lib/compiler/aro/aro/target.zig+3-3
......@@ -204,7 +204,7 @@ pub fn unnamedFieldAffectsAlignment(target: std.Target) bool {
204204 },
205205 .armeb => {
206206 if (std.Target.arm.featureSetHas(target.cpu.features, .has_v7)) {
207 if (std.Target.Abi.default(target.cpu.arch, target.os) == .eabi) return true;
207 if (std.Target.Abi.default(target.cpu.arch, target.os.tag) == .eabi) return true;
208208 }
209209 },
210210 .arm => return true,
......@@ -716,7 +716,7 @@ test "alignment functions - smoke test" {
716716 const x86 = std.Target.Cpu.Arch.x86_64;
717717 target.os = std.Target.Os.Tag.defaultVersionRange(.linux, x86, .none);
718718 target.cpu = std.Target.Cpu.baseline(x86, target.os);
719 target.abi = std.Target.Abi.default(x86, target.os);
719 target.abi = std.Target.Abi.default(x86, target.os.tag);
720720
721721 try std.testing.expect(isTlsSupported(target));
722722 try std.testing.expect(!ignoreNonZeroSizedBitfieldTypeAlignment(target));
......@@ -729,7 +729,7 @@ test "alignment functions - smoke test" {
729729 const arm = std.Target.Cpu.Arch.arm;
730730 target.os = std.Target.Os.Tag.defaultVersionRange(.ios, arm, .none);
731731 target.cpu = std.Target.Cpu.baseline(arm, target.os);
732 target.abi = std.Target.Abi.default(arm, target.os);
732 target.abi = std.Target.Abi.default(arm, target.os.tag);
733733
734734 try std.testing.expect(!isTlsSupported(target));
735735 try std.testing.expect(ignoreNonZeroSizedBitfieldTypeAlignment(target));
lib/std/Target.zig+2-2
......@@ -803,8 +803,8 @@ pub const Abi = enum {
803803 // - raygeneration
804804 // - vertex
805805
806 pub fn default(arch: Cpu.Arch, os: Os) Abi {
807 return switch (os.tag) {
806 pub fn default(arch: Cpu.Arch, os_tag: Os.Tag) Abi {
807 return switch (os_tag) {
808808 .freestanding, .other => switch (arch) {
809809 // Soft float is usually a sane default for freestanding.
810810 .arm,
lib/std/zig/system.zig+2-2
......@@ -539,7 +539,7 @@ pub fn abiAndDynamicLinkerFromFile(
539539 var result: Target = .{
540540 .cpu = cpu,
541541 .os = os,
542 .abi = query.abi orelse Target.Abi.default(cpu.arch, os),
542 .abi = query.abi orelse Target.Abi.default(cpu.arch, os.tag),
543543 .ofmt = query.ofmt orelse Target.ObjectFormat.default(os.tag, cpu.arch),
544544 .dynamic_linker = query.dynamic_linker,
545545 };
......@@ -1213,7 +1213,7 @@ fn detectAbiAndDynamicLinker(
12131213}
12141214
12151215fn defaultAbiAndDynamicLinker(cpu: Target.Cpu, os: Target.Os, query: Target.Query) Target {
1216 const abi = query.abi orelse Target.Abi.default(cpu.arch, os);
1216 const abi = query.abi orelse Target.Abi.default(cpu.arch, os.tag);
12171217 return .{
12181218 .cpu = cpu,
12191219 .os = os,