From d3363b7a61cc0833d6eb60077b90cf12b95155f0 Mon Sep 17 00:00:00 2001 From: Ryan Liptak Date: Sat, 28 Jun 2025 18:30:39 -0700 Subject: [PATCH] Replace `unreachable` with error return for non-standard Windows targets This new error mirrors the error returned from the Elf struct (error.UnsupportedElfArchitecture): https://github.com/ziglang/zig/blob/0adcfd60f4fcfd01c74a6477cbcef187ce06f533/src/link/Lld.zig#L112 Before: ``` $ zig build-exe -target riscv64-windows-gnu main.zig thread 543087 panic: reached unreachable code ``` After: ``` $ zig build-exe -target riscv64-windows-gnu main.zig error: unable to create compilation: UnsupportedCoffArchitecture ``` Closes #24287 --- src/link/Lld.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/link/Lld.zig b/src/link/Lld.zig index 45ef112dc4..4b3c611b4a 100644 --- a/src/link/Lld.zig +++ b/src/link/Lld.zig @@ -37,12 +37,12 @@ const Coff = struct { .Exe => switch (target.cpu.arch) { .aarch64, .x86_64 => 0x140000000, .thumb, .x86 => 0x400000, - else => unreachable, + else => return error.UnsupportedCoffArchitecture, }, .Lib => switch (target.cpu.arch) { .aarch64, .x86_64 => 0x180000000, .thumb, .x86 => 0x10000000, - else => unreachable, + else => return error.UnsupportedCoffArchitecture, }, .Obj => 0, },