2013-04-03 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
+ 2013-03-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/56539
+ * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
+ instead of GSI_CONTINUE_LINKING as last argument to
+ force_gimple_operand_gsi. Adjust function comment.
+
2013-03-05 Jakub Jelinek <jakub@redhat.com>
PR debug/56510
2013-04-03 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
+ 2013-03-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/56539
+ * gcc.c-torture/compile/pr56539.c: New test.
+
2013-03-05 Jakub Jelinek <jakub@redhat.com>
PR debug/56510
--- /dev/null
+/* PR tree-optimization/56539 */
+
+short
+foo (const char *x, unsigned y)
+{
+ return y > 1 ? (x[y - 1] - '0') + 10 * foo (x, y - 1) : (*x - '0');
+}
}
/* Creates a GIMPLE statement which computes the operation specified by
- CODE, OP0 and OP1 to a new variable with name LABEL and inserts the
- statement in the position specified by GSI and UPDATE. Returns the
+ CODE, ACC and OP1 to a new variable with name LABEL and inserts the
+ statement in the position specified by GSI. Returns the
tree node of the statement's result. */
static tree
fold_convert (TREE_TYPE (op1), acc),
op1));
rhs = force_gimple_operand_gsi (&gsi, rhs,
- false, NULL, true, GSI_CONTINUE_LINKING);
+ false, NULL, true, GSI_SAME_STMT);
stmt = gimple_build_assign (NULL_TREE, rhs);
}