atomic-inst-cas.c has code to skip __atomic_compare_exchange_n calls for invalid memory orderings, but -Winvalid-memory-model applies before the dead code is removed (which is the right behaviour IMO). This patch therefore suppresses the warning for this test.
Tested on aarch64-linux-gnu & pushed. Richard gcc/testsuite/ * gcc.target/aarch64/atomic-inst-cas.c: Add -Wno-invalid-memory-model. --- gcc/testsuite/gcc.target/aarch64/atomic-inst-cas.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.target/aarch64/atomic-inst-cas.c b/gcc/testsuite/gcc.target/aarch64/atomic-inst-cas.c index f6f28922319..0b4533adade 100644 --- a/gcc/testsuite/gcc.target/aarch64/atomic-inst-cas.c +++ b/gcc/testsuite/gcc.target/aarch64/atomic-inst-cas.c @@ -1,5 +1,7 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -march=armv8-a+lse" } */ +/* -Winvalid-memory-model warnings are issued before the dead invalid calls + are removed. */ +/* { dg-options "-O2 -march=armv8-a+lse -Wno-invalid-memory-model" } */ /* Test ARMv8.1-A CAS instruction. */ -- 2.25.1