Daniel Jacobowitz <dan@codesourcery.com>
* tree-eh.c (tree_could_trap_p): Allow non-constant floating point
trapping divide.
* rtlanal.c (may_trap_p): Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97582
138bc75d-0d04-0410-961f-
82ee72b054a4
+2005-04-04 David Edelsohn <edelsohn@gnu.org>
+ Daniel Jacobowitz <dan@codesourcery.com>
+
+ * tree-eh.c (tree_could_trap_p): Allow non-constant floating point
+ trapping divide.
+ * rtlanal.c (may_trap_p): Same.
+
2005-04-04 Dale Johannesen <dalej@apple.com>
* ChangeLog: remove reference to ChangeLog.12.
case UMOD:
if (HONOR_SNANS (GET_MODE (x)))
return 1;
- if (! CONSTANT_P (XEXP (x, 1))
- || (GET_MODE_CLASS (GET_MODE (x)) == MODE_FLOAT
- && flag_trapping_math))
- return 1;
- if (XEXP (x, 1) == const0_rtx)
+ if (GET_MODE_CLASS (GET_MODE (x)) == MODE_FLOAT)
+ return flag_trapping_math;
+ if (!CONSTANT_P (XEXP (x, 1)) || (XEXP (x, 1) == const0_rtx))
return 1;
break;
case RDIV_EXPR:
if (honor_snans || honor_trapv)
return true;
- if (fp_operation && flag_trapping_math)
- return true;
+ if (fp_operation)
+ return flag_trapping_math;
t = TREE_OPERAND (expr, 1);
if (!TREE_CONSTANT (t) || integer_zerop (t))
return true;