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.

Reply via email to