+2008-04-29 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/36077
+ * fold-const.c (extract_muldiv_1): In combining division constants
+ make sure to never overflow.
+
2008-04-29 Nick Clifton <nickc@redhat.com>
* doc/tm.texi (RETURN_ADDR_RTX): Fix typo.
/* If these are the same operation types, we can associate them
assuming no overflow. */
if (tcode == code
- && 0 != (t1 = const_binop (MULT_EXPR, fold_convert (ctype, op1),
- fold_convert (ctype, c), 0))
+ && 0 != (t1 = int_const_binop (MULT_EXPR, fold_convert (ctype, op1),
+ fold_convert (ctype, c), 1))
+ && 0 != (t1 = force_fit_type_double (ctype, TREE_INT_CST_LOW (t1),
+ TREE_INT_CST_HIGH (t1),
+ (TYPE_UNSIGNED (ctype)
+ && tcode != MULT_EXPR) ? -1 : 1,
+ TREE_OVERFLOW (t1)))
&& !TREE_OVERFLOW (t1))
return fold_build2 (tcode, ctype, fold_convert (ctype, op0), t1);
+2008-04-29 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/36077
+ * gcc.c-torture/execute/pr36077.c: New testcase.
+
2008-04-29 Kai Tietz <kai.tietz@onevision.com>
* testsuite/gcc.dg/sync-2.c: Set dg-options "-ansi".