+2004-08-08 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/16790
+ * fold-const.c (expand_muldiv_1) <NOP_EXPR>: Disallow local
+ truncations, not just global truncations.
+
2004-08-02 Ulrich Weigand <uweigand@de.ibm.com>
Backport from mainline:
&& TYPE_IS_SIZETYPE (TREE_TYPE (op0)))
&& (GET_MODE_SIZE (TYPE_MODE (ctype))
> GET_MODE_SIZE (TYPE_MODE (TREE_TYPE (op0)))))
- /* ... or its type is larger than ctype,
- then we cannot pass through this truncation. */
- || (GET_MODE_SIZE (TYPE_MODE (ctype))
+ /* ... or this is a truncation (t is narrower than op0),
+ then we cannot pass through this narrowing. */
+ || (GET_MODE_SIZE (TYPE_MODE (type))
< GET_MODE_SIZE (TYPE_MODE (TREE_TYPE (op0))))
/* ... or signedness changes for division or modulus,
then we cannot pass through this conversion. */
+2004-08-08 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/16790
+ * gcc.c-torture/execute/pr16790-1.c: New test case.
+
2004-08-04 Ulrich Weigand <uweigand@de.ibm.com>
Backport from mainline: