diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index d6d9856cf3b..d33fa2b96b3 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,9 @@ +2013-05-29 Rainer Orth + + 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 * c-typeck.c (build_array_ref): Added a check to see if array's diff --git a/gcc/c/c-array-notation.c b/gcc/c/c-array-notation.c index c70345cfa98..bf139a855f2 100644 --- a/gcc/c/c-array-notation.c +++ b/gcc/c/c-array-notation.c @@ -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);