zig/lib/compiler
Alex Rønne Petersen d1d95294fd std.Target.Cpu.Arch: Remove the aarch64_32 tag.
This is a misfeature that we inherited from LLVM:

* https://reviews.llvm.org/D61259
* https://reviews.llvm.org/D61939

(`aarch64_32` and `arm64_32` are equivalent.)

I truly have no idea why this triple passed review in LLVM. It is, to date, the
*only* tag in the architecture component that is not, in fact, an architecture.
In reality, it is just an ILP32 ABI for AArch64 (*not* AArch32).

The triples that use `aarch64_32` look like `aarch64_32-apple-watchos`. Yes,
that triple is exactly what you think; it has no ABI component. They really,
seriously did this.

Since only Apple could come up with silliness like this, it should come as no
surprise that no one else uses `aarch64_32`. Later on, a GNU ILP32 ABI for
AArch64 was developed, and support was added to LLVM:

* https://reviews.llvm.org/D94143
* https://reviews.llvm.org/D104931

Here, sanity seems to have prevailed, and a triple using this ABI looks like
`aarch64-linux-gnu_ilp32` as you would expect.

As can be seen from the diffs in this commit, there was plenty of confusion
throughout the Zig codebase about what exactly `aarch64_32` was. So let's just
remove it. In its place, we'll use `aarch64-watchos-ilp32`,
`aarch64-linux-gnuilp32`, and so on. We'll then translate these appropriately
when talking to LLVM. Hence, this commit adds the `ilp32` ABI tag (we already
have `gnuilp32`).
2024-07-28 19:44:52 -07:00
..
aro std.Target.Cpu.Arch: Remove the aarch64_32 tag. 2024-07-28 19:44:52 -07:00
aro_translate_c fix(fmt): pointer type syntax to index (take 2) (#20336) 2024-07-21 01:55:52 -07:00
reduce reduce: fix compile errors 2024-03-24 17:29:39 +01:00
resinator std: Convert deprecated aliases to compile errors and fix usages 2024-06-13 10:18:59 -04:00
aro_translate_c.zig translate-c: Use mangled name for local extern in condition/loop 2024-07-28 02:58:49 +03:00
build_runner.zig add --debug-rt CLI arg to the compiler + bonus edits 2024-07-25 18:52:21 -07:00
fmt.zig zig fmt: ignore hidden files and directories 2024-05-29 10:09:40 -07:00
libc.zig zig libc: allow non-native targets 2024-03-13 02:17:28 -04:00
objcopy.zig objcopy: use the fatal helper method 2024-07-12 00:14:08 -07:00
reduce.zig Rename Dir.writeFile2 -> Dir.writeFile and update all callsites 2024-05-03 13:29:22 -07:00
std-docs.zig std: restructure child process namespace 2024-05-26 09:31:55 -07:00
test_runner.zig riscv: clean up and unify encoding logic 2024-07-26 04:19:13 -07:00