Tests gcc.target/powerpc/warn-[12].c fail for soft-float multilibs with
the unexpected warning "-mvsx requires hardware floating point [enabled
by default]".  This patch skips those tests for soft-float multilibs and
modifies the powerpc check for a soft-float effective target to return
true for either __NO_FPRS__ or _SOFT_FLOAT being defined.

Is this OK for trunk?  I must admit that I'm not sure what all those
Power float variants are for.
2011-10-10  Janis Johnson  <jani...@codesourcery.com>

        gcc/testsuite/
        * lib/target-supports.exp (check_effective_target_hard_float):
        Special-case powerpc.
        * gcc.target/powerpc/warn-1.c: Skip if not hard_float.
        * gcc.target/powerpc/warn-2.c: Ditto.

Index: gcc/testsuite/lib/target-supports.exp
===================================================================
--- gcc/testsuite/lib/target-supports.exp       (revision 179771)
+++ gcc/testsuite/lib/target-supports.exp       (working copy)
@@ -792,6 +792,14 @@
        }]
     }
 
+    if { [istarget powerpc*-*-*] } {
+       return [check_no_compiler_messages hard_float assembly {
+               #if (defined _SOFT_FLOAT || defined __NO_FPRS__)
+               #error FOO
+               #endif
+       }]
+    }
+
     # This proc is actually checking the availabilty of FPU
     # support for doubles, so on the RX we must fail if the
     # 64-bit double multilib has been selected.
Index: gcc/testsuite/gcc.target/powerpc/warn-1.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/warn-1.c   (revision 179771)
+++ gcc/testsuite/gcc.target/powerpc/warn-1.c   (working copy)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target { powerpc*-*-* } } } */
+/* { dg-require-effective-target hard_float } */
 /* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
 /* { dg-options "-O -mvsx -mno-altivec" } */
 
Index: gcc/testsuite/gcc.target/powerpc/warn-2.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/warn-2.c   (revision 179771)
+++ gcc/testsuite/gcc.target/powerpc/warn-2.c   (working copy)
@@ -1,4 +1,5 @@
 /* { dg-do compile { target { powerpc*-*-* } } } */
+/* { dg-require-effective-target hard_float } */
 /* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
 /* { dg-options "-O -mcpu=power7 -mno-altivec" } */
 

Reply via email to