aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2024-04-25 12:44:14 +0200
committerEric Botcazou <ebotcazou@adacore.com>2024-04-25 12:47:57 +0200
commit1d238c84025aaef1641e4000bd2a8f4328b474dd (patch)
tree8773b08a8d5d395a90f8f0e9db6444c8afc67f14 /libgcc
parentaf7d981ba40f145256f6f6d3409451e8fa647f75 (diff)
downloadgcc-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