[Bug target/108910] [12 Regression] Further ICE in aarch64_layout_arg
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108910 rsandifo at gcc dot gnu.org changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED|RESOLVED --- Comment #20 from rsandifo at gcc dot gnu.org --- Backported to GCC 12 without the assert.
[Bug target/108910] [12 Regression] Further ICE in aarch64_layout_arg
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108910 --- Comment #19 from CVS Commits --- The releases/gcc-12 branch has been updated by Richard Sandiford : https://gcc.gnu.org/g:66700dde0dfb2c2b07d771f90df1fe16d1d61ce9 commit r12-9416-g66700dde0dfb2c2b07d771f90df1fe16d1d61ce9 Author: Richard Sandiford Date: Mon Apr 17 14:41:00 2023 +0100 aarch64: Don't trust TYPE_ALIGN for pointers [PR108910] The aarch64 PCS rules ignore user alignment for scalars and vectors and use the "natural" alignment of the type. GCC tried to calculate that natural alignment using: TYPE_ALIGN (TYPE_MAIN_VARIANT (type)) But as discussed in the PR, it's possible that the main variant of a pointer type is an overaligned type (although that's usually accidental). This isn't known to be a problem for other types, so this patch changes the bare minimum. It might be that we need to ignore TYPE_ALIGN in other cases too. gcc/ PR target/108910 * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Do not trust TYPE_ALIGN for pointer types; use POINTER_SIZE instead. gcc/testsuite/ PR target/108910 * gcc.dg/torture/pr108910.c: New test. (cherry picked from commit 66946624b96b762985de56444d726a0ebd4e0df5)
[Bug target/108910] [12 Regression] Further ICE in aarch64_layout_arg
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108910 --- Comment #18 from Jason Merrill --- (In reply to Jakub Jelinek from comment #13) > Jason, any thoughts on why we for build_type_attribute_qual_variant call > build_distinct_type_copy rather than build_variant_type_copy That does seem weird. It should probably depend on whether any of the attributes have affects_type_identity. And so should setting of TYPE_CANONICAL. Unless we never use it with such attributes, in which case we should checking_assert that, and always use build_variant_type_copy.
[Bug target/108910] [12 Regression] Further ICE in aarch64_layout_arg
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108910 Bug 108910 depends on bug 109510, which changed state. Bug 109510 Summary: [13 Regression] bootstrap with Ada broken on aarch64 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109510 What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED
[Bug target/108910] [12 Regression] Further ICE in aarch64_layout_arg
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108910 --- Comment #17 from Richard Biener --- (In reply to Andreas Schwab from comment #16) > This breaks Ada: > > /opt/gcc/gcc-20230414/Build/./gcc/xgcc -B/opt/gcc/gcc-20230414/Build/./gcc/ > -B/usr/aarch64-suse-linux/bin/ -B/usr/aarch64-suse-linux/lib/ -isystem > /usr/aarch64-suse-linux/include -isystem /usr/aarch64-suse-linux/sys-include > -c -g -O2 -fPIC -fno-lto -W -Wall -gnatpg -nostdinc s-bitfie.ads -o > s-bitfie.o > +===GNAT BUG DETECTED==+ > | 13.0.1 20230414 (experimental) [master 48d0244b605] (aarch64-suse-linux) > GCC error:| > | in aarch64_function_arg_alignment, at config/aarch64/aarch64.cc:7498 | > | Error detected at s-bituti.adb:195:7 [s-bitfie.ads:55:4] | > | Compiling s-bitfie.ads | tracking this in PR109510 now.
[Bug target/108910] [12 Regression] Further ICE in aarch64_layout_arg
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108910 --- Comment #16 from Andreas Schwab --- This breaks Ada: /opt/gcc/gcc-20230414/Build/./gcc/xgcc -B/opt/gcc/gcc-20230414/Build/./gcc/ -B/usr/aarch64-suse-linux/bin/ -B/usr/aarch64-suse-linux/lib/ -isystem /usr/aarch64-suse-linux/include -isystem /usr/aarch64-suse-linux/sys-include -c -g -O2 -fPIC -fno-lto -W -Wall -gnatpg -nostdinc s-bitfie.ads -o s-bitfie.o +===GNAT BUG DETECTED==+ | 13.0.1 20230414 (experimental) [master 48d0244b605] (aarch64-suse-linux) GCC error:| | in aarch64_function_arg_alignment, at config/aarch64/aarch64.cc:7498 | | Error detected at s-bituti.adb:195:7 [s-bitfie.ads:55:4] | | Compiling s-bitfie.ads |
[Bug target/108910] [12 Regression] Further ICE in aarch64_layout_arg
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108910 rsandifo at gcc dot gnu.org changed: What|Removed |Added Summary|[12/13 Regression] Further |[12 Regression] Further ICE |ICE in aarch64_layout_arg |in aarch64_layout_arg Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rsandifo at gcc dot gnu.org --- Comment #15 from rsandifo at gcc dot gnu.org --- Fixed on trunk so far.