Tests target/arm/vfp-ldm*.c and vfp-sdm*.c add -mfloat-abi=softfp but
fail if multilib flags override that option.  This patch skips the test
for multilibs that specify a different value for -mfloat-abi.

Tested on arm-none-linux-gnueabi with 43 sets of multlib flags.  OK for
trunk, and later for 4.6?

Janis
2011-06-23  Janis Johnson  <jani...@codesourcer.com>

        * gcc.target/arm/vfp-ldmdbd.c: Skip if multilib flags override
        -mfloat-abi from test.
        * gcc.target/arm/vfp-ldmdbs.c: Ditto.
        * gcc.target/arm/vfp-ldmiad.c: Ditto.
        * gcc.target/arm/vfp-ldmias.c: Ditto.
        * gcc.target/arm/vfp-stmdbd.c: Ditto.
        * gcc.target/arm/vfp-stmdbs.c: Ditto.
        * gcc.target/arm/vfp-stmiad.c: Ditto.
        * gcc.target/arm/vfp-stmias.c: Ditto.

Index: gcc.target/arm/vfp-ldmdbd.c
===================================================================
--- gcc.target/arm/vfp-ldmdbd.c (revision 175313)
+++ gcc.target/arm/vfp-ldmdbd.c (working copy)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-skip-if "don't override float abi" { *-*-* } { "-mfloat-abi=*" } { 
"-mfloat-abi=softfp" } } */
 /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
 
 extern void bar (double);
Index: gcc.target/arm/vfp-ldmdbs.c
===================================================================
--- gcc.target/arm/vfp-ldmdbs.c (revision 175313)
+++ gcc.target/arm/vfp-ldmdbs.c (working copy)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-skip-if "don't override float abi" { *-*-* } { "-mfloat-abi=*" } { 
"-mfloat-abi=softfp" } } */
 /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
 
 extern void baz (float);
Index: gcc.target/arm/vfp-ldmiad.c
===================================================================
--- gcc.target/arm/vfp-ldmiad.c (revision 175313)
+++ gcc.target/arm/vfp-ldmiad.c (working copy)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-skip-if "don't override float abi" { *-*-* } { "-mfloat-abi=*" } { 
"-mfloat-abi=softfp" } } */
 /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
 
 extern void bar (double);
Index: gcc.target/arm/vfp-ldmias.c
===================================================================
--- gcc.target/arm/vfp-ldmias.c (revision 175313)
+++ gcc.target/arm/vfp-ldmias.c (working copy)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-skip-if "don't override float abi" { *-*-* } { "-mfloat-abi=*" } { 
"-mfloat-abi=softfp" } } */
 /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
 
 extern void baz (float);
Index: gcc.target/arm/vfp-stmdbd.c
===================================================================
--- gcc.target/arm/vfp-stmdbd.c (revision 175313)
+++ gcc.target/arm/vfp-stmdbd.c (working copy)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-skip-if "don't override float abi" { *-*-* } { "-mfloat-abi=*" } { 
"-mfloat-abi=softfp" } } */
 /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
 
 void
Index: gcc.target/arm/vfp-stmdbs.c
===================================================================
--- gcc.target/arm/vfp-stmdbs.c (revision 175313)
+++ gcc.target/arm/vfp-stmdbs.c (working copy)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-skip-if "don't override float abi" { *-*-* } { "-mfloat-abi=*" } { 
"-mfloat-abi=softfp" } } */
 /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
 
 void
Index: gcc.target/arm/vfp-stmiad.c
===================================================================
--- gcc.target/arm/vfp-stmiad.c (revision 175313)
+++ gcc.target/arm/vfp-stmiad.c (working copy)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-skip-if "don't override float abi" { *-*-* } { "-mfloat-abi=*" } { 
"-mfloat-abi=softfp" } } */
 /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
 
 void
Index: gcc.target/arm/vfp-stmias.c
===================================================================
--- gcc.target/arm/vfp-stmias.c (revision 175313)
+++ gcc.target/arm/vfp-stmias.c (working copy)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_vfp_ok } */
+/* { dg-skip-if "don't override float abi" { *-*-* } { "-mfloat-abi=*" } { 
"-mfloat-abi=softfp" } } */
 /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
 
 void

Reply via email to