+2010-01-09 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42512
+ * tree-scalar-evolution.c (interpret_loop_phi): Make sure
+ the evolution is compatible with the initial condition.
+
2010-01-09 Jakub Jelinek <jakub@redhat.com>
* gcc.c (process_command): Update copyright notice dates.
+2010-01-09 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/42512
+ * gcc.c-torture/execute/pr42512.c: New testcase.
+
2010-01-09 Tobias Burnus <burnus@net-b.de>
PR fortran/41298
init_cond = analyze_initial_condition (loop_phi_node);
res = analyze_evolution_in_loop (loop_phi_node, init_cond);
+ /* Verify we maintained the correct initial condition throughout
+ possible conversions in the SSA chain. */
+ if (res != chrec_dont_know)
+ {
+ tree new_init = res;
+ if (CONVERT_EXPR_P (res)
+ && TREE_CODE (TREE_OPERAND (res, 0)) == POLYNOMIAL_CHREC)
+ new_init = fold_convert (TREE_TYPE (res),
+ CHREC_LEFT (TREE_OPERAND (res, 0)));
+ else if (TREE_CODE (res) == POLYNOMIAL_CHREC)
+ new_init = CHREC_LEFT (res);
+ STRIP_USELESS_TYPE_CONVERSION (new_init);
+ gcc_assert (TREE_CODE (new_init) != POLYNOMIAL_CHREC);
+ if (!operand_equal_p (init_cond, new_init, 0))
+ return chrec_dont_know;
+ }
+
return res;
}