diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2024-04-25 12:44:14 +0200 |
---|---|---|
committer | Eric Botcazou <ebotcazou@adacore.com> | 2024-04-25 12:47:57 +0200 |
commit | 1d238c84025aaef1641e4000bd2a8f4328b474dd (patch) | |
tree | 8773b08a8d5d395a90f8f0e9db6444c8afc67f14 /libgcc | |
parent | af7d981ba40f145256f6f6d3409451e8fa647f75 (diff) | |
download | gcc-1d238c84025aaef1641e4000bd2a8f4328b474dd.zip gcc-1d238c84025aaef1641e4000bd2a8f4328b474dd.tar.gz gcc-1d238c84025aaef1641e4000bd2a8f4328b474dd.tar.bz2 |
Fix calling convention incompatibility with vendor compiler
For the 20th anniversary of https://gcc.gnu.org/gcc-3.4/sparc-abi.html,
a new calling convention incompatibility with the vendor compiler (and
the ABI) has been discovered in 64-bit mode, affecting small structures
containing arrays of floating-point components. The decision has been
made to fix it on Solaris only at this point.
gcc/
PR target/114416
* config/sparc/sparc.h (SUN_V9_ABI_COMPATIBILITY): New macro.
* config/sparc/sol2.h (SUN_V9_ABI_COMPATIBILITY): Redefine it.
* config/sparc/sparc.cc (fp_type_for_abi): New predicate.
(traverse_record_type): Use it to spot floating-point types.
(compute_fp_layout): Also deal with array types.
gcc/testsuite/
* gcc.target/sparc/small-struct-1.c: New test.
* gcc.target/sparc/pr105573.c: Rename to...
* gcc.target/sparc/20230425-1.c: ...this.
* gcc.target/sparc/pr109541.c: Rename to...
* gcc.target/sparc/20230607-1.c: ...this
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions