http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56206
Bug #: 56206 Summary: [4.7.3 regression] "dg-require-effective-target arm_hard_vfp_ok" triggers many test suite errors Classification: Unclassified Product: gcc Version: 4.7.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: testsuite AssignedTo: unassig...@gcc.gnu.org ReportedBy: mi...@it.uu.se Running the test suite from recent gcc-4.7 snapshots on armv5tel-linux-gnueabi shows the following new test suite failures: ERROR: gcc.target/arm/aapcs/neon-vect1.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/neon-vect1.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/neon-vect2.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/neon-vect2.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/neon-vect3.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/neon-vect3.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/neon-vect4.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/neon-vect4.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/neon-vect5.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/neon-vect5.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/neon-vect6.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/neon-vect6.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/neon-vect7.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/neon-vect7.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/neon-vect8.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/neon-vect8.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/vfp1.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/vfp1.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/vfp10.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/vfp10.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/vfp11.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/vfp11.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/vfp12.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/vfp12.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/vfp13.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/vfp13.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/vfp14.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/vfp14.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/vfp15.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/vfp15.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/vfp16.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/vfp16.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/vfp17.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/vfp17.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/vfp2.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/vfp2.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/vfp3.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/vfp3.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/vfp4.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/vfp4.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/vfp5.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/vfp5.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/vfp6.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/vfp6.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/vfp7.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/vfp7.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/vfp8.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/vfp8.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " ERROR: gcc.target/arm/aapcs/vfp9.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " UNRESOLVED: gcc.target/arm/aapcs/vfp9.c: wrong # args: extra words after "else" clause in "if" command for " dg-require-effective-target 4 arm_hard_vfp_ok " gcc-4.7-20130119 was Ok, but 20130126 and 20130202 show this behaviour. I don't see this problem with recent 4.8 snapshots. Diffing the code for arm_hard_vfp_ok reveals: --- gcc-4.7-20130202/gcc/testsuite/lib/target-supports.exp +++ gcc-4.8-20130203/gcc/testsuite/lib/target-supports.exp ... # Return 1 if this is an ARM target supporting -mfpu=vfp # -mfloat-abi=hard. Some multilibs may be incompatible with these # options. proc check_effective_target_arm_hard_vfp_ok { } { - if { [check_effective_target_arm32] } { + if { [check_effective_target_arm32] && ! [check-flags [list "" { *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=hard" }]] } { return [check_no_compiler_messages arm_hard_vfp_ok executable { int main() { return 0;} This typo was introduced by r195456 on 4.7 branch. Adding author to CC: list.