[all-commits] [llvm/llvm-project] e9c2e0: [AArch64] Match GCC behaviour for zero-size struct...
Oliver Stannard via All-commits
all-commits at lists.llvm.org
Wed Jan 29 07:03:02 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e9c2e0acd747b7b5260cf022233fa9b5336d2d30
https://github.com/llvm/llvm-project/commit/e9c2e0acd747b7b5260cf022233fa9b5336d2d30
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/test/CodeGen/AArch64/args.cpp
Log Message:
-----------
[AArch64] Match GCC behaviour for zero-size structs (#124760)
We had a test claiming that this empty struct type consumes a register
slot when passing it to a function with GCC, but that does not appear to
be the case, at least with GCC versions going back to 4.8.
This also caused a miscompilation when passing one of these structs to a
variadic function, but it turned out that our implementation of `va_arg`
matches GCC's ABI, so the one change fixes both bugs.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list