authorgravatar for vasyapulopapik@gmail.comKleshzz <vasyapulopapik@gmail.com> 2026-08-26 10:02:45+03:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-08-27 14:35:44+02:00
logc3723c05f0349efb6f2b28655f886d58853a9d3a
treea44f9b8de818027e77ee3151a6ae0e041d123bf1
parent896bd9e1538ed9d06ff6b212e3df1da978c7e34e

std.Target: add gba os tag


7 files changed, 23 insertions(+), 0 deletions(-)

lib/std/Build/Configuration.zig+1
...@@ -2401,6 +2401,7 @@ pub const TargetQuery = struct {...@@ -2401,6 +2401,7 @@ pub const TargetQuery = struct {
2401 @"3ds",2401 @"3ds",
2402 wiiu,2402 wiiu,
2403 @"switch",2403 @"switch",
2404 gba,
2404 psx,2405 psx,
2405 ps3,2406 ps3,
2406 ps4,2407 ps4,
lib/std/Target.zig+16
...@@ -51,6 +51,7 @@ pub const Os = struct {...@@ -51,6 +51,7 @@ pub const Os = struct {
51 @"3ds",51 @"3ds",
52 wiiu,52 wiiu,
53 @"switch",53 @"switch",
54 gba,
5455
55 psx,56 psx,
56 ps3,57 ps3,
...@@ -167,6 +168,7 @@ pub const Os = struct {...@@ -167,6 +168,7 @@ pub const Os = struct {
167 .ps3,168 .ps3,
168 .ps4,169 .ps4,
169 .ps5,170 .ps5,
171 .gba,
170172
171 .emscripten,173 .emscripten,
172174
...@@ -407,6 +409,7 @@ pub const Os = struct {...@@ -407,6 +409,7 @@ pub const Os = struct {
407 .ps3,409 .ps3,
408 .ps4,410 .ps4,
409 .ps5,411 .ps5,
412 .gba,
410413
411 .emscripten,414 .emscripten,
412415
...@@ -933,6 +936,7 @@ pub const Abi = enum {...@@ -933,6 +936,7 @@ pub const Abi = enum {
933 .uefi => .msvc,936 .uefi => .msvc,
934 .@"3ds" => .eabihf,937 .@"3ds" => .eabihf,
935 .wiiu => .eabihf,938 .wiiu => .eabihf,
939 .gba => .eabi,
936 .psx => .eabi,940 .psx => .eabi,
937 .psp => .eabihf,941 .psp => .eabihf,
938 .vita => .eabihf,942 .vita => .eabihf,
...@@ -2071,10 +2075,12 @@ pub const Cpu = struct {...@@ -2071,10 +2075,12 @@ pub const Cpu = struct {
2071 .arm => switch (os.tag) {2075 .arm => switch (os.tag) {
2072 .@"3ds" => &arm.cpu.mpcore,2076 .@"3ds" => &arm.cpu.mpcore,
2073 .vita => &arm.cpu.cortex_a9,2077 .vita => &arm.cpu.cortex_a9,
2078 .gba => &arm.cpu.arm7tdmi,
2074 else => &arm.cpu.baseline,2079 else => &arm.cpu.baseline,
2075 },2080 },
2076 .thumb => switch (os.tag) {2081 .thumb => switch (os.tag) {
2077 .vita => &arm.cpu.cortex_a9,2082 .vita => &arm.cpu.cortex_a9,
2083 .gba => &arm.cpu.arm7tdmi,
2078 else => &arm.cpu.baseline,2084 else => &arm.cpu.baseline,
2079 },2085 },
2080 .armeb, .thumbeb => &arm.cpu.baseline,2086 .armeb, .thumbeb => &arm.cpu.baseline,
...@@ -2306,6 +2312,7 @@ pub fn requiresLibC(target: *const Target) bool {...@@ -2306,6 +2312,7 @@ pub fn requiresLibC(target: *const Target) bool {
2306 .ps3,2312 .ps3,
2307 .ps4,2313 .ps4,
2308 .ps5,2314 .ps5,
2315 .gba,
2309 .psp,2316 .psp,
2310 .vita,2317 .vita,
2311 .mesa3d,2318 .mesa3d,
...@@ -2474,6 +2481,7 @@ pub const DynamicLinker = struct {...@@ -2474,6 +2481,7 @@ pub const DynamicLinker = struct {
2474 .@"3ds",2481 .@"3ds",
2475 .wiiu,2482 .wiiu,
2476 .@"switch",2483 .@"switch",
2484 .gba,
24772485
2478 .emscripten,2486 .emscripten,
2479 .wasi,2487 .wasi,
...@@ -2913,6 +2921,7 @@ pub const DynamicLinker = struct {...@@ -2913,6 +2921,7 @@ pub const DynamicLinker = struct {
2913 .@"3ds",2921 .@"3ds",
2914 .wiiu,2922 .wiiu,
2915 .@"switch",2923 .@"switch",
2924 .gba,
29162925
2917 .psx,2926 .psx,
2918 .psp,2927 .psp,
...@@ -3492,6 +3501,13 @@ pub fn cTypeBitSize(target: *const Target, c_type: CType) ?u16 {...@@ -3492,6 +3501,13 @@ pub fn cTypeBitSize(target: *const Target, c_type: CType) ?u16 {
3492 .longdouble => return 128,3501 .longdouble => return 128,
3493 },3502 },
34943503
3504 .gba => switch (c_type) {
3505 .char => return 8,
3506 .short, .ushort => return 16,
3507 .int, .uint, .long, .ulong, .float => return 32,
3508 .longlong, .ulonglong, .double, .longdouble => return 64,
3509 },
3510
3495 .psx => switch (c_type) {3511 .psx => switch (c_type) {
3496 .char => return 8,3512 .char => return 8,
3497 .short, .ushort => return 16,3513 .short, .ushort => return 16,
lib/std/debug.zig+1
...@@ -520,6 +520,7 @@ pub fn defaultPanic(msg: []const u8, first_trace_addr: ?usize) noreturn {...@@ -520,6 +520,7 @@ pub fn defaultPanic(msg: []const u8, first_trace_addr: ?usize) noreturn {
520 .@"3ds",520 .@"3ds",
521 .wiiu,521 .wiiu,
522 .@"switch",522 .@"switch",
523 .gba,
523524
524 .psx,525 .psx,
525 .psp,526 .psp,
lib/std/start.zig+1
...@@ -79,6 +79,7 @@ comptime {...@@ -79,6 +79,7 @@ comptime {
79 .@"3ds",79 .@"3ds",
80 .wiiu,80 .wiiu,
81 .@"switch",81 .@"switch",
82 .gba,
8283
83 .psx,84 .psx,
84 .psp,85 .psp,
lib/std/zig/llvm/Builder.zig+1
...@@ -295,6 +295,7 @@ pub fn tripleForTarget(allocator: Allocator, target: *const std.Target) ![]const...@@ -295,6 +295,7 @@ pub fn tripleForTarget(allocator: Allocator, target: *const std.Target) ![]const
295 .@"3ds",295 .@"3ds",
296 .wiiu,296 .wiiu,
297 .@"switch",297 .@"switch",
298 .gba,
298 .ashetos,299 .ashetos,
299 => "unknown",300 => "unknown",
300 };301 };
src/Compilation.zig+1
...@@ -6297,6 +6297,7 @@ fn addCommonCCArgs(...@@ -6297,6 +6297,7 @@ fn addCommonCCArgs(
6297 .@"3ds" => try argv.append("-D__3DS__"),6297 .@"3ds" => try argv.append("-D__3DS__"),
6298 .wiiu => try argv.append("-D__WIIU__"),6298 .wiiu => try argv.append("-D__WIIU__"),
6299 .@"switch" => try argv.append("-D__SWITCH__"),6299 .@"switch" => try argv.append("-D__SWITCH__"),
6300 .gba => try argv.append("-D__GBA__"),
6300 .psx => try argv.append("-D__psx__"),6301 .psx => try argv.append("-D__psx__"),
6301 .psp => try argv.append("-D__PSP__"),6302 .psp => try argv.append("-D__PSP__"),
6302 .vita => try argv.append("-D__vita__"),6303 .vita => try argv.append("-D__vita__"),
test/llvm_targets.zig+2
...@@ -54,6 +54,7 @@ const targets = [_]std.Target.Query{...@@ -54,6 +54,7 @@ const targets = [_]std.Target.Query{
54 .{ .cpu_arch = .arm, .os_tag = .freestanding, .abi = .eabi },54 .{ .cpu_arch = .arm, .os_tag = .freestanding, .abi = .eabi },
55 .{ .cpu_arch = .arm, .os_tag = .freestanding, .abi = .eabihf },55 .{ .cpu_arch = .arm, .os_tag = .freestanding, .abi = .eabihf },
56 .{ .cpu_arch = .arm, .os_tag = .fuchsia, .abi = .eabihf },56 .{ .cpu_arch = .arm, .os_tag = .fuchsia, .abi = .eabihf },
57 .{ .cpu_arch = .arm, .os_tag = .gba, .abi = .eabi },
57 .{ .cpu_arch = .arm, .os_tag = .haiku, .abi = .eabihf },58 .{ .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 = .androideabi },
59 .{ .cpu_arch = .arm, .os_tag = .linux, .abi = .eabi },60 .{ .cpu_arch = .arm, .os_tag = .linux, .abi = .eabi },
...@@ -263,6 +264,7 @@ const targets = [_]std.Target.Query{...@@ -263,6 +264,7 @@ const targets = [_]std.Target.Query{
263 .{ .cpu_arch = .thumb, .os_tag = .freestanding, .abi = .eabi },264 .{ .cpu_arch = .thumb, .os_tag = .freestanding, .abi = .eabi },
264 .{ .cpu_arch = .thumb, .os_tag = .freestanding, .abi = .eabihf },265 .{ .cpu_arch = .thumb, .os_tag = .freestanding, .abi = .eabihf },
265 .{ .cpu_arch = .thumb, .os_tag = .fuchsia, .abi = .eabihf },266 .{ .cpu_arch = .thumb, .os_tag = .fuchsia, .abi = .eabihf },
267 .{ .cpu_arch = .thumb, .os_tag = .gba, .abi = .eabi },
266 .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .eabi },268 .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .eabi },
267 .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .eabihf },269 .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .eabihf },
268 .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .musleabi },270 .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .musleabi },