diff options
author | Bernd Edlinger <bernd.edlinger@hotmail.de> | 2019-08-28 10:20:44 +0000 |
---|---|---|
committer | Bernd Edlinger <edlinger@gcc.gnu.org> | 2019-08-28 10:20:44 +0000 |
commit | 0b778f9f4a9606cff7c9b9b8a923e17f291c527a (patch) | |
tree | 470c635b1e17203ab9fedc92a7802c65edf13867 /gcc | |
parent | 70cdb21e579191fe9f0f1d45e328908e59c0179e (diff) | |
download | gcc-0b778f9f4a9606cff7c9b9b8a923e17f291c527a.zip gcc-0b778f9f4a9606cff7c9b9b8a923e17f291c527a.tar.gz gcc-0b778f9f4a9606cff7c9b9b8a923e17f291c527a.tar.bz2 |
re PR middle-end/89544 (Argument marshalling incorrectly assumes stack slots are naturally aligned.)
2019-08-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR middle-end/89544
* gcc.target/arm/unaligned-argument-3.c: New test.
From-SVN: r274987
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/unaligned-argument-3.c | 14 |
2 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4c58780..333fe3c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2019-08-28 Bernd Edlinger <bernd.edlinger@hotmail.de> + + PR middle-end/89544 + * gcc.target/arm/unaligned-argument-3.c: New test. + 2019-08-27 Marek Polacek <polacek@redhat.com> PR c++/81676 - bogus -Wunused warnings in constexpr if. diff --git a/gcc/testsuite/gcc.target/arm/unaligned-argument-3.c b/gcc/testsuite/gcc.target/arm/unaligned-argument-3.c new file mode 100644 index 0000000..2543038 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/unaligned-argument-3.c @@ -0,0 +1,14 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target arm_arm_ok } */ +/* { dg-options "-marm -mno-unaligned-access -O3" } */ + +typedef int __attribute__((aligned(1))) s; + +void x(char*, s*); +void f(char a, s f) +{ + x(&a, &f); +} + +/* { dg-final { scan-assembler-times "str\t\[^\\n\]*\\\[sp\\\]" 1 } } */ +/* { dg-final { scan-assembler-times "str\t\[^\\n\]*\\\[sp, #3\\\]" 0 } } */ |