Hi all,gcc.target/arm/minmax_minus.c is really only valid when we have conditional execution available, that is non Thumb1-only targets. I've added an effective target check for that and used it in the test so that it does not get run and give a false negative when testing Thumb1 targets.
Ok for trunk? Thanks, Kyrill 2013-09-13 Kyrylo Tkachov <kyrylo.tkac...@arm.com> * lib/target-supports.exp (check_effective_target_arm_cond_exec): New procedure. * gcc.target/arm/minmax_minus.c: Check for cond_exec target.
diff --git a/gcc/testsuite/gcc.target/arm/minmax_minus.c b/gcc/testsuite/gcc.target/arm/minmax_minus.c index 4c2dcdf..906342a 100644 --- a/gcc/testsuite/gcc.target/arm/minmax_minus.c +++ b/gcc/testsuite/gcc.target/arm/minmax_minus.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target arm_cond_exec } */ /* { dg-options "-O2" } */ #define MAX(a, b) (a > b ? a : b) diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 0fb135c..fbe756e 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -2577,6 +2577,17 @@ proc check_effective_target_arm_thumb2 { } { } ""] } +# Return 1 if this is an ARM target where conditional execution is available. + +proc check_effective_target_arm_cond_exec { } { + return [check_no_compiler_messages arm_cond_exec assembly { + #if defined(__arm__) && defined(__thumb__) && !defined(__thumb2__) + #error FOO + #endif + int i; + } ""] +} + # Return 1 if this is an ARM cortex-M profile cpu proc check_effective_target_arm_cortex_m { } {