This patch adds test directives to skip 5 tests in gcc.target/arm if the flags specified for the test would be overridden by or conflict with flags used for all tests, such as multilib flags.
Tested on arm-none-eabi with a variety of test flags. I'll wait a day or two before checking it in to give ARM experts a chance to comment. I plan to backport to the 4.7 branch soon after it's in trunk. Janis
2012-09-20 Janis Johnson <jani...@codesourcery.com> * gcc.target/arm/pr40887.c: Avoid conflicting flags. * gcc.target/arm/pr51835.c: Likewise. * gcc.target/arm/pr51915.c: Likewise. * gcc.target/arm/pr52006.c: Likewise. * gcc.target/arm/pr53187.c: Likewise. Index: gcc.target/arm/pr40887.c =================================================================== --- gcc.target/arm/pr40887.c (revision 191502) +++ gcc.target/arm/pr40887.c (working copy) @@ -1,3 +1,4 @@ +/* { dg-skip-if " do not override -march" { *-*-* } { "-march=*" } { "-march=armv5te" } } */ /* { dg-options "-O2 -march=armv5te" } */ /* { dg-final { scan-assembler "blx" } } */ Index: gcc.target/arm/pr51835.c =================================================================== --- gcc.target/arm/pr51835.c (revision 191502) +++ gcc.target/arm/pr51835.c (working copy) @@ -1,6 +1,8 @@ /* { dg-do compile } */ +/* { dg-require-effective-target arm_thumb2_ok } */ +/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */ +/* { dg-skip-if "do not override -mfpu" { *-*-* } { "-mfpu=*" } { "-mfpu=fpv4-sp-d16" } } */ /* { dg-options "-O2 -mfloat-abi=hard -mfpu=fpv4-sp-d16" } */ -/* { dg-require-effective-target arm_thumb2_ok } */ int func1 (double d) { Index: gcc.target/arm/pr51915.c =================================================================== --- gcc.target/arm/pr51915.c (revision 191502) +++ gcc.target/arm/pr51915.c (working copy) @@ -1,5 +1,7 @@ /* PR target/51915 */ /* { dg-do compile } */ +/* { dg-skip-if "do not override -march" { *-*-* } { "-march=*" } { "-march=armv7-a" } } */ +/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */ /* { dg-options "-march=armv7-a -mfloat-abi=hard -O2" } */ struct S { int s1; void *s2; }; Index: gcc.target/arm/pr52006.c =================================================================== --- gcc.target/arm/pr52006.c (revision 191502) +++ gcc.target/arm/pr52006.c (working copy) @@ -1,5 +1,7 @@ /* PR target/52006 */ /* { dg-do compile } */ +/* { dg-skip-if "do not override -march=" { *-*-* } { "-march=*" } { "-march=armv7-a" } } */ +/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" } } */ /* { dg-options "-march=armv7-a -mfloat-abi=hard -O2 -fPIC" } */ unsigned long a; Index: gcc.target/arm/pr53187.c =================================================================== --- gcc.target/arm/pr53187.c (revision 191502) +++ gcc.target/arm/pr53187.c (working copy) @@ -1,5 +1,6 @@ /* PR target/53187 */ /* { dg-do compile } */ +/* { dg-skip-if "do not override -march" { *-*-* } { "-march=*" } { "-march=armv7-a" } } */ /* { dg-options "-march=armv7-a -mfloat-abi=hard -O2" } */ void bar (int);