PR middle-end/30253
* gimplify (voidify_wrapper_expr): Update for
GIMPLIFY_MODIFY_STMT.
2007-01-01 Andrew Pinski <pinskia@gmail.com>
PR middle-end/30253
* gcc.c-torture/compile/statement-expression-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120321
138bc75d-0d04-0410-961f-
82ee72b054a4
+2007-01-01 Andrew Pinski <pinskia@gmail.com>
+
+ PR middle-end/30253
+ * gimplify (voidify_wrapper_expr): Update for
+ GIMPLIFY_MODIFY_STMT.
+
2007-01-01 Andreas Schwab <schwab@suse.de>
PR target/29166
/* The wrapper is on the RHS of an assignment that we're pushing
down. */
gcc_assert (TREE_CODE (temp) == INIT_EXPR
+ || TREE_CODE (temp) == GIMPLIFY_MODIFY_STMT
|| TREE_CODE (temp) == MODIFY_EXPR);
- TREE_OPERAND (temp, 1) = *p;
+ GENERIC_TREE_OPERAND (temp, 1) = *p;
*p = temp;
}
else
+2007-01-01 Andrew Pinski <pinskia@gmail.com>
+
+ PR middle-end/30253
+ * gcc.c-torture/compile/statement-expression-1.c: New test.
+
2007-01-01 Andreas Schwab <schwab@suse.de>
PR target/29166
--- /dev/null
+/* PR middle-end/30253, We would ICE with statement expressions
+ in a conditional expression because we forgot to update the wrapper
+ function for the gimple modify statement. */
+
+#define f(x) ({ unsigned tmp=x; tmp; })
+
+unsigned foo(unsigned x) {
+ return __builtin_constant_p(x) ? 0 : f(x);
+}
+