diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2014-07-24 17:12:45 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@gcc.gnu.org> | 2014-07-24 17:12:45 +0000 |
commit | e1089c7a5caebffb0986d87435d2bfaf6bb55d89 (patch) | |
tree | e86a439386e107b23e13426ef34eeb7a7aa96180 /gcc/testsuite | |
parent | ff46d64d829740dee098b0181d60db1231d90c09 (diff) | |
download | gcc-e1089c7a5caebffb0986d87435d2bfaf6bb55d89.zip gcc-e1089c7a5caebffb0986d87435d2bfaf6bb55d89.tar.gz gcc-e1089c7a5caebffb0986d87435d2bfaf6bb55d89.tar.bz2 |
rs6000.c (rs6000_function_arg_boundary): In the AIX and ELFv2 ABI...
gcc/
* config/rs6000/rs6000.c (rs6000_function_arg_boundary): In the AIX
and ELFv2 ABI, do not use the "mode == BLKmode" check to test for
aggregate types. Instead, *all* aggregate types, except for single-
element or homogeneous float/vector aggregates, are quadword-aligned
if required by their type alignment. Issue -Wpsabi note when a type
is now treated differently than before.
gcc/testsuite/
* gcc.target/powerpc/ppc64-abi-warn-2.c: New test.
From-SVN: r213016
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/ppc64-abi-warn-2.c | 11 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f64ab59..bf929fa 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,9 @@ 2014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + * gcc.target/powerpc/ppc64-abi-warn-2.c: New test. + +2014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + * gcc.target/powerpc/ppc64-abi-warn-1.c: New test. 2014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> diff --git a/gcc/testsuite/gcc.target/powerpc/ppc64-abi-warn-2.c b/gcc/testsuite/gcc.target/powerpc/ppc64-abi-warn-2.c new file mode 100644 index 0000000..fdbeddf --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/ppc64-abi-warn-2.c @@ -0,0 +1,11 @@ +/* { dg-do compile { target { powerpc*-*-linux* && lp64 } } } */ + +struct test + { + long a __attribute__((aligned (16))); + }; + +void test (struct test a) /* { dg-message "note: the ABI of passing aggregates with 16-byte alignment has changed" } */ +{ +} + |