diff options
author | Joseph Myers <joseph@codesourcery.com> | 2006-10-27 23:49:42 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2006-10-27 23:49:42 +0000 |
commit | 9798370ce37b19286df8c35702222b52c3374ac1 (patch) | |
tree | 332b44f06ea02d1accd51573461f4f209cc502a1 /gcc/testsuite | |
parent | b672ba532209833f92638e10d6b176fff9434a03 (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.x | 1 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/arm-vfp1.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/vfp-ldmiad.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/vfp-ldmias.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/vfp-stmdbd.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/vfp-stmdbs.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/vfp-stmiad.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/vfp-stmias.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/lib/c-torture.exp | 1 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 23 |
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. |