aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2006-10-27 23:49:42 +0000
committerJoseph Myers <joseph@codesourcery.com>2006-10-27 23:49:42 +0000
commit9798370ce37b19286df8c35702222b52c3374ac1 (patch)
tree332b44f06ea02d1accd51573461f4f209cc502a1 /gcc/testsuite
parentb672ba532209833f92638e10d6b176fff9434a03 (diff)
2006-10-27 Joseph Myers <joseph@codesourcery.com>
Richard Sandiford <richard@codesourcery.com> gcc/testsuite/ * lib/target-supports.exp (get_compiler_messages): Append options as a single list element. (check_profiling_available): Return 0 for uClibc with -p or -pg. (check_effective_target_arm_vfp_ok): New. * lib/c-torture.exp: Load target-supports.exp. * gcc.c-torture/execute/20030125-1.x: Disable test for uClibc. * gcc.dg/arm-vfp1.c, gcc.target/arm/vfp-ldmdbd.c, gcc.target/arm/vfp-ldmdbs.c, gcc.target/arm/vfp-ldmiad.c, gcc.target/arm/vfp-ldmias.c, gcc.target/arm/vfp-stmdbd.c, gcc.target/arm/vfp-stmdbs.c, gcc.target/arm/vfp-stmiad.c, gcc.target/arm/vfp-stmias.c: Use arm_vfp_ok. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@118092 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20030125-1.x1
-rw-r--r--gcc/testsuite/gcc.dg/arm-vfp1.c3
-rw-r--r--gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c3
-rw-r--r--gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c3
-rw-r--r--gcc/testsuite/gcc.target/arm/vfp-ldmiad.c3
-rw-r--r--gcc/testsuite/gcc.target/arm/vfp-ldmias.c3
-rw-r--r--gcc/testsuite/gcc.target/arm/vfp-stmdbd.c3
-rw-r--r--gcc/testsuite/gcc.target/arm/vfp-stmdbs.c3
-rw-r--r--gcc/testsuite/gcc.target/arm/vfp-stmiad.c3
-rw-r--r--gcc/testsuite/gcc.target/arm/vfp-stmias.c3
-rw-r--r--gcc/testsuite/lib/c-torture.exp1
-rw-r--r--gcc/testsuite/lib/target-supports.exp23
12 files changed, 33 insertions, 19 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20030125-1.x b/gcc/testsuite/gcc.c-torture/execute/20030125-1.x
index 773a9a37a9b..6a0ec4819d9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20030125-1.x
+++ b/gcc/testsuite/gcc.c-torture/execute/20030125-1.x
@@ -1,3 +1,4 @@
# Only GNU/Linux includes all c99 functions at the moment.
if { ! [istarget "*-linux*"] } { return 1 }
+if { [check_effective_target_uclibc] } { return 1 }
return 0
diff --git a/gcc/testsuite/gcc.dg/arm-vfp1.c b/gcc/testsuite/gcc.dg/arm-vfp1.c
index 3b6a45dc23f..bbf91409842 100644
--- a/gcc/testsuite/gcc.dg/arm-vfp1.c
+++ b/gcc/testsuite/gcc.dg/arm-vfp1.c
@@ -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);
diff --git a/gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c b/gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c
index 74b7c135208..c540108723f 100644
--- a/gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c
+++ b/gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c
@@ -1,7 +1,6 @@
/* { dg-do compile } */
-/* { dg-require-effective-target arm32 } */
+/* { dg-require-effective-target arm_vfp_ok } */
/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
-/* { dg-skip-if "" { *-*-* } { "-mcpu=iwmmxt" "-march=iwmmxt" } { "" } } */
extern void bar (double);
diff --git a/gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c b/gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c
index aeb59d98073..83849c8b5af 100644
--- a/gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c
+++ b/gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c
@@ -1,7 +1,6 @@
/* { dg-do compile } */
-/* { dg-require-effective-target arm32 } */
+/* { dg-require-effective-target arm_vfp_ok } */
/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
-/* { dg-skip-if "" { *-*-* } { "-mcpu=iwmmxt" "-march=iwmmxt" } { "" } } */
extern void baz (float);
diff --git a/gcc/testsuite/gcc.target/arm/vfp-ldmiad.c b/gcc/testsuite/gcc.target/arm/vfp-ldmiad.c
index 2c52984a47b..1f849194f49 100644
--- a/gcc/testsuite/gcc.target/arm/vfp-ldmiad.c
+++ b/gcc/testsuite/gcc.target/arm/vfp-ldmiad.c
@@ -1,7 +1,6 @@
/* { dg-do compile } */
-/* { dg-require-effective-target arm32 } */
+/* { dg-require-effective-target arm_vfp_ok } */
/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
-/* { dg-skip-if "" { *-*-* } { "-mcpu=iwmmxt" "-march=iwmmxt" } { "" } } */
extern void bar (double);
diff --git a/gcc/testsuite/gcc.target/arm/vfp-ldmias.c b/gcc/testsuite/gcc.target/arm/vfp-ldmias.c
index 6ef0120898d..061cdd9564d 100644
--- a/gcc/testsuite/gcc.target/arm/vfp-ldmias.c
+++ b/gcc/testsuite/gcc.target/arm/vfp-ldmias.c
@@ -1,7 +1,6 @@
/* { dg-do compile } */
-/* { dg-require-effective-target arm32 } */
+/* { dg-require-effective-target arm_vfp_ok } */
/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
-/* { dg-skip-if "" { *-*-* } { "-mcpu=iwmmxt" "-march=iwmmxt" } { "" } } */
extern void baz (float);
diff --git a/gcc/testsuite/gcc.target/arm/vfp-stmdbd.c b/gcc/testsuite/gcc.target/arm/vfp-stmdbd.c
index 4bad30c3641..f80c4038379 100644
--- a/gcc/testsuite/gcc.target/arm/vfp-stmdbd.c
+++ b/gcc/testsuite/gcc.target/arm/vfp-stmdbd.c
@@ -1,7 +1,6 @@
/* { dg-do compile } */
-/* { dg-require-effective-target arm32 } */
+/* { dg-require-effective-target arm_vfp_ok } */
/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
-/* { dg-skip-if "" { *-*-* } { "-mcpu=iwmmxt" "-march=iwmmxt" } { "" } } */
void
foo (double *p, double a, double b, int n)
diff --git a/gcc/testsuite/gcc.target/arm/vfp-stmdbs.c b/gcc/testsuite/gcc.target/arm/vfp-stmdbs.c
index 3508e144e34..79b3c81e33c 100644
--- a/gcc/testsuite/gcc.target/arm/vfp-stmdbs.c
+++ b/gcc/testsuite/gcc.target/arm/vfp-stmdbs.c
@@ -1,7 +1,6 @@
/* { dg-do compile } */
-/* { dg-require-effective-target arm32 } */
+/* { dg-require-effective-target arm_vfp_ok } */
/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
-/* { dg-skip-if "" { *-*-* } { "-mcpu=iwmmxt" "-march=iwmmxt" } { "" } } */
void
foo (float *p, float a, float b, int n)
diff --git a/gcc/testsuite/gcc.target/arm/vfp-stmiad.c b/gcc/testsuite/gcc.target/arm/vfp-stmiad.c
index 32664ef8ab4..20742c26657 100644
--- a/gcc/testsuite/gcc.target/arm/vfp-stmiad.c
+++ b/gcc/testsuite/gcc.target/arm/vfp-stmiad.c
@@ -1,7 +1,6 @@
/* { dg-do compile } */
-/* { dg-require-effective-target arm32 } */
+/* { dg-require-effective-target arm_vfp_ok } */
/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
-/* { dg-skip-if "" { *-*-* } { "-mcpu=iwmmxt" "-march=iwmmxt" } { "" } } */
void
foo (double *p, double a, double b, int n)
diff --git a/gcc/testsuite/gcc.target/arm/vfp-stmias.c b/gcc/testsuite/gcc.target/arm/vfp-stmias.c
index b671c60ed30..05ce39987d4 100644
--- a/gcc/testsuite/gcc.target/arm/vfp-stmias.c
+++ b/gcc/testsuite/gcc.target/arm/vfp-stmias.c
@@ -1,7 +1,6 @@
/* { dg-do compile } */
-/* { dg-require-effective-target arm32 } */
+/* { dg-require-effective-target arm_vfp_ok } */
/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
-/* { dg-skip-if "" { *-*-* } { "-mcpu=iwmmxt" "-march=iwmmxt" } { "" } } */
void
foo (float *p, float a, float b, int n)
diff --git a/gcc/testsuite/lib/c-torture.exp b/gcc/testsuite/lib/c-torture.exp
index 185775d2249..fbad6a6ffd3 100644
--- a/gcc/testsuite/lib/c-torture.exp
+++ b/gcc/testsuite/lib/c-torture.exp
@@ -18,6 +18,7 @@
load_lib file-format.exp
load_lib target-libpath.exp
+load_lib target-supports.exp
# The default option list can be overridden by
# TORTURE_OPTIONS="{ { list1 } ... { listN } }"
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index f28a5ac49d8..bada6b467d6 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -30,7 +30,7 @@ proc get_compiler_messages {basename 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 ""
}
@@ -306,6 +306,13 @@ proc check_profiling_available { test_what } {
return 0
}
+ # uClibc does not have gcrt1.o.
+ if { [check_effective_target_uclibc]
+ && ([lindex $test_what 1] == "-p"
+ || [lindex $test_what 1] == "-pg") } {
+ return 0
+ }
+
# Now examine the cache variable.
if {![info exists profiling_available_saved]} {
# Some targets don't have any implementation of __bb_init_func or are
@@ -1093,6 +1100,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 an ARM target supporting -mfpu=neon
# -mfloat-abi=softfp. Some multilibs may be incompatible with these
# options.