Fix c/c-array-notation.c compilation failure (PR bootstrap/57450)

PR bootstrap/57450
	* c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
	(build_array_notation_expr): Likewise.

From-SVN: r199410
This commit is contained in:
Rainer Orth 2013-05-29 15:00:29 +00:00 committed by Rainer Orth
parent 16023efc1e
commit 065ce7f179
2 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR bootstrap/57450
* c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
(build_array_notation_expr): Likewise.
2013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
* c-typeck.c (build_array_ref): Added a check to see if array's

View File

@ -116,7 +116,7 @@ length_mismatch_in_expr_p (location_t loc, tree **list, size_t x, size_t y)
{
l_node = int_cst_value (list[ii][jj]);
l_start = int_cst_value (start);
if (abs (l_start) != abs (l_node))
if (absu_hwi (l_start) != absu_hwi (l_node))
{
error_at (loc, "length mismatch in expression");
return true;
@ -1561,7 +1561,7 @@ build_array_notation_expr (location_t location, tree lhs, tree lhs_origtype,
HOST_WIDE_INT r_length = int_cst_value (rhs_length[0][0]);
/* Length can be negative or positive. As long as the magnitude is OK,
then the array notation is valid. */
if (abs (l_length) != abs (r_length))
if (absu_hwi (l_length) != absu_hwi (r_length))
{
error_at (location, "length mismatch between LHS and RHS");
pop_stmt_list (an_init);