2006-10-31 Joseph Myers <joseph@codesourcery.com>
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 31 Oct 2006 19:58:21 +0000 (19:58 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 31 Oct 2006 19:58:21 +0000 (19:58 +0000)
            Richard Sandiford  <richard@codesourcery.com>

* lib/target-supports.exp (get_compiler_messages): Append options
as a single list element.
(check_effective_target_arm_vfp_ok): New.
* gcc.dg/arm-vfp1.c: Use arm_vfp_ok.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118334 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/arm-vfp1.c
gcc/testsuite/lib/target-supports.exp

index ec77c16..28d64cb 100644 (file)
@@ -1,3 +1,11 @@
+2006-10-31  Joseph Myers  <joseph@codesourcery.com>
+            Richard Sandiford  <richard@codesourcery.com>
+
+       * lib/target-supports.exp (get_compiler_messages): Append options
+       as a single list element.
+       (check_effective_target_arm_vfp_ok): New.
+       * gcc.dg/arm-vfp1.c: Use arm_vfp_ok.
+
 2006-10-31  Paul Thomas  <pault@gcc.gnu.org>
 
        PR fortran/29387
index 3b6a45d..bbf9140 100644 (file)
@@ -1,7 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
-/* { dg-require-effective-target arm32 } */
-/* { dg-skip-if "" { *-*-* } { "-mcpu=iwmmxt" "-march=iwmmxt" } { "" } } */
+/* { dg-require-effective-target arm_vfp_ok } */
 
 extern float fabsf (float);
 extern float sqrtf (float);
index 9972247..89bb9d1 100644 (file)
@@ -37,7 +37,7 @@ proc get_compiler_messages {basename want_output type contents args} {
     global tool
 
     if { [llength $args] > 0 } {
-       set options "additional_flags=[lindex $args 0]"
+       set options [list "additional_flags=[lindex $args 0]"]
     } else {
        set options ""
     }
@@ -1298,6 +1298,20 @@ proc check_effective_target_arm32 { } {
     return $et_arm32_saved
 }
 
+# Return 1 if this is an ARM target supporting -mfpu=vfp
+# -mfloat-abi=softfp.  Some multilibs may be incompatible with these
+# options.
+
+proc check_effective_target_arm_vfp_ok { } {
+    if { [check_effective_target_arm32] } {
+       return [check_no_compiler_messages arm_vfp_ok object {
+           int dummy;
+       } "-mfpu=vfp -mfloat-abi=softfp"]
+    } else {
+       return 0
+    }
+}
+
 # Return 1 if this is a PowerPC target with floating-point registers.
 
 proc check_effective_target_powerpc_fprs { } {