Done - committed as r221905, and PR target/65689 filed on bugzilla.
Cheers, Alan
James Greenhalgh wrote:
On Wed, Mar 25, 2015 at 06:27:49PM +0000, James Greenhalgh wrote:
I think your original patch to add -O is just fine, but Marcus or
Richard will need to approve it.
I haven't seen any howls of objection from Marcus/Richard on this.
As you say, your preferred fix for the "S" constraint is far too intrusive
for GCC 5, but it seems sensible to investigate it for GCC 6. This implies
that we do actually have some undesirable behaviour (albeit behaviour
which we won't fix this year). So, we need a bugzilla ticket for the
"S" constraint failing - and with it a testcase, which will probably
look a lot like the one you are patching here!
As for this testcase... The purpose is to check that the "%c" output
modifier works properly with a complex label (see pr48637 for where this
went wrong for the arm target), not to check the "S" constraint. As such,
adding -O to cause the operand to be a symbol+offset again is a perfectly
fine approach.
In other words...
gcc/testsuite/ChangeLog:
gcc.target/aarch64/c-output-template.c: Add -O, remove
-Wno-pointer-arith.
diff --git a/gcc/testsuite/gcc.target/aarch64/c-output-template-3.c b/gcc/testsu
index c28837c..8bde4cb 100644
--- a/gcc/testsuite/gcc.target/aarch64/c-output-template-3.c
+++ b/gcc/testsuite/gcc.target/aarch64/c-output-template-3.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-Wno-pointer-arith" } */
+/* { dg-options "-O" } */
void
test (void)
This patch is OK.
Cheers,
James