On 12/12/14 13:48, Marek Polacek wrote:
On ARM we ICE on fixed-point-exec.c testcase because TYPE_OVERFLOW_WRAPS
was missing the ANY_INTEGRAL_TYPE_P check.
Bootstrapped/regtested on x86_64-linux and ppc64-linux, ok for trunk?
Also arm-none-linux-gnueabihf bootstrap is in late stage3 and looks fine.
Thanks,
Kyril
2014-12-12 Marek Polacek <pola...@redhat.com>
PR middle-end/64274
* fold-const.c (fold_binary_loc): Add ANY_INTEGRAL_TYPE_P check.
diff --git gcc/fold-const.c gcc/fold-const.c
index ec5ad98..d71fa94 100644
--- gcc/fold-const.c
+++ gcc/fold-const.c
@@ -10082,7 +10082,8 @@ fold_binary_loc (location_t loc,
/* Reassociate (plus (plus (mult) (foo)) (mult)) as
(plus (plus (mult) (mult)) (foo)) so that we can
take advantage of the factoring cases below. */
- if (TYPE_OVERFLOW_WRAPS (type)
+ if (ANY_INTEGRAL_TYPE_P (type)
+ && TYPE_OVERFLOW_WRAPS (type)
&& (((TREE_CODE (arg0) == PLUS_EXPR
|| TREE_CODE (arg0) == MINUS_EXPR)
&& TREE_CODE (arg1) == MULT_EXPR)
Marek