diff options
| -rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
| -rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/ieee/mul-subnormal-single-1.x | 5 | ||||
| -rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 10 |
3 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8575ad558af..4870ee4fa51 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2007-02-09 Richard Sandiford <richard@codesourcery.com> + + * lib/target-supports.exp (check_effective_target_coldfire_fpu): New + procedure. + * gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: XFAIL on + m68k targets if check_effective_target_coldfire_fpu returns true. + 2007-02-09 Zdenek Dvorak <dvorakz@suse.cz> Richard Guenther <rguenther@suse.de> diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/mul-subnormal-single-1.x b/gcc/testsuite/gcc.c-torture/execute/ieee/mul-subnormal-single-1.x index 8e3b5f146f1..bb8aa0765b8 100644 --- a/gcc/testsuite/gcc.c-torture/execute/ieee/mul-subnormal-single-1.x +++ b/gcc/testsuite/gcc.c-torture/execute/ieee/mul-subnormal-single-1.x @@ -3,4 +3,9 @@ if [istarget "mips-sgi-irix6*"] { # isn't expected to work for n32 and n64 on MIPS IV targets. return 1 } +if {[istarget "m68k-*-linux-gnu*"] && [check_effective_target_coldfire_fpu]} { + # ColdFire FPUs require software handling of subnormals. Linux 2.6.10 + # does not have this. + set torture_execute_xfail "m68k-*-linux-gnu*" +} return 0 diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 2c9d3c4622a..7c4d4b58aee 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -2024,6 +2024,16 @@ proc check_effective_target_sync_char_short { } { return $et_sync_char_short_saved } +# Return 1 if the target uses a ColdFire FPU. + +proc check_effective_target_coldfire_fpu { } { + return [check_no_compiler_messages coldfire_fpu assembly { + #ifndef __mcffpu__ + #error FOO + #endif + }] +} + # Return 1 if the target matches the effective target 'arg', 0 otherwise. # This can be used with any check_* proc that takes no argument and # returns only 1 or 0. It could be used with check_* procs that take |

