From edd2564566a0b6e9ca7252b3ac66f346deb31a2f Mon Sep 17 00:00:00 2001 From: "Balaji V. Iyer" Date: Mon, 3 Jun 2013 21:07:54 +0000 Subject: [PATCH] re PR c/57474 (FAIL: c-c++-common/cilk-plus/AN/sec_implicit2?.c -fcilkplus (internal compiler error) on x86_64-apple-darwin10) 2013-06-03 Balaji V. Iyer PR c/57474 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length array to NULL_TREE if they are unused. Also added a check for the field to be NULL before its fields are used in future. From-SVN: r199627 --- gcc/c/ChangeLog | 7 +++++++ gcc/c/c-array-notation.c | 6 +++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index d33fa2b96b3..437be919ec4 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,10 @@ +2013-06-03 Balaji V. Iyer + + PR c/57474 + * c-array-notation.c (build_array_notation_expr): Initialized rhs_length + array to NULL_TREE if they are unused. Also added a check for the + field to be NULL before its fields are used in future. + 2013-05-29 Rainer Orth PR bootstrap/57450 diff --git a/gcc/c/c-array-notation.c b/gcc/c/c-array-notation.c index bf139a855f2..080746625a6 100644 --- a/gcc/c/c-array-notation.c +++ b/gcc/c/c-array-notation.c @@ -1541,7 +1541,10 @@ build_array_notation_expr (location_t location, tree lhs, tree lhs_origtype, } else for (jj = 0; jj < rhs_rank; jj++) - rhs_vector[ii][jj] = false; + { + rhs_vector[ii][jj] = false; + rhs_length[ii][jj] = NULL_TREE; + } } if (length_mismatch_in_expr_p (EXPR_LOCATION (lhs), lhs_length, @@ -1555,6 +1558,7 @@ build_array_notation_expr (location_t location, tree lhs, tree lhs_origtype, if (lhs_list_size > 0 && rhs_list_size > 0 && lhs_rank > 0 && rhs_rank > 0 && TREE_CODE (lhs_length[0][0]) == INTEGER_CST + && rhs_length[0][0] && TREE_CODE (rhs_length[0][0]) == INTEGER_CST) { HOST_WIDE_INT l_length = int_cst_value (lhs_length[0][0]); -- 2.30.2