commit d3363b7a61cc0833d6eb60077b90cf12b95155f0 (tree)
parent 6322dbd5bf112356efdf2ec64c5471d6e8586a74
Author: Ryan Liptak <squeek502@hotmail.com>
Date: Sat, 28 Jun 2025 18:30:39 -0700
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
Diffstat:
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git 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,
},