aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-eh.c
diff options
context:
space:
mode:
authorRafael Avila de Espindola <espindola@google.com>2008-05-08 22:16:59 +0000
committerRafael Espindola <espindola@gcc.gnu.org>2008-05-08 22:16:59 +0000
commit04b03edb56633f6e77d7834022d4e49a74f3cce5 (patch)
tree465e7779ecfa60e33ba35e94156083288329e034 /gcc/tree-eh.c
parent96c92f4763242fbf74d70ca52dc5ebecc3c0ce95 (diff)
downloadgcc-04b03edb56633f6e77d7834022d4e49a74f3cce5.zip
gcc-04b03edb56633f6e77d7834022d4e49a74f3cce5.tar.gz
gcc-04b03edb56633f6e77d7834022d4e49a74f3cce5.tar.bz2
tree-complex.c (expand_complex_div_wide): Don't create CONDs that trap.
* tree-complex.c (expand_complex_div_wide): Don't create CONDs that trap. * tree-gimple.c (is_gimple_condexpr): Check that the expression doesn't trap and that both operands are gimple values. (canonicalize_cond_expr_cond): Use is_gimple_condexpr. * gcc/tree-eh.c (tree_could_trap_p): Correctly detect if a comparison is a fp operation. * gcc/testsuite/gcc.dg/vect/vect-111.c: Rename to no-trapping-math-vect-111.c * gcc/testsuite/gcc.dg/vect/vect-ifcvt-11.c: Rename to no-trapping-math-vect-ifcvt-11.c * gcc/testsuite/gcc.dg/vect/vect-ifcvt-12.c: Rename to no-trapping-math-vect-ifcvt-12.c * gcc/testsuite/gcc.dg/vect/vect-ifcvt-13.c: Rename to no-trapping-math-vect-ifcvt-13.c * gcc/testsuite/gcc.dg/vect/vect-ifcvt-14.c: Rename to no-trapping-math-vect-ifcvt-14.c * gcc/testsuite/gcc.dg/vect/vect-ifcvt-15.c: Rename to no-trapping-math-vect-ifcvt-15.c From-SVN: r135093
Diffstat (limited to 'gcc/tree-eh.c')
-rw-r--r--gcc/tree-eh.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c
index 06e4b5a..9428e38 100644
--- a/gcc/tree-eh.c
+++ b/gcc/tree-eh.c
@@ -1896,7 +1896,10 @@ tree_could_trap_p (tree expr)
|| TREE_CODE_CLASS (code) == tcc_binary)
{
t = TREE_TYPE (expr);
- fp_operation = FLOAT_TYPE_P (t);
+ if (COMPARISON_CLASS_P (expr))
+ fp_operation = FLOAT_TYPE_P (TREE_TYPE (TREE_OPERAND (expr, 0)));
+ else
+ fp_operation = FLOAT_TYPE_P (t);
if (fp_operation)
{
honor_nans = flag_trapping_math && !flag_finite_math_only;