aboutsummaryrefslogtreecommitdiff
path: root/gcc/c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/c')
-rw-r--r--gcc/c/ChangeLog5
-rw-r--r--gcc/c/c-array-notation.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index 7f5b5a9..5fbb31f 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,5 +1,10 @@
2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
+ * c-array-notation.c (expand_array_notation_exprs): Added
+ ARRAY_NOTATION_REF case.
+
+2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
+
* c-array-notation.c (length_mismatch_in_expr_p): Moved this
function to c-family/array-notation-common.c.
(is_cilkplus_reduce_builtin): Likewise.
diff --git a/gcc/c/c-array-notation.c b/gcc/c/c-array-notation.c
index 7b13687..b1040da 100644
--- a/gcc/c/c-array-notation.c
+++ b/gcc/c/c-array-notation.c
@@ -2317,6 +2317,14 @@ expand_array_notation_exprs (tree t)
case RETURN_EXPR:
if (contains_array_notation_expr (t))
t = fix_return_expr (t);
+ return t;
+ case ARRAY_NOTATION_REF:
+ /* IF we are here, then we are dealing with cases like this:
+ A[:];
+ A[x:y:z];
+ A[x:y];
+ Replace those with just void zero node. */
+ t = void_zero_node;
default:
return t;
}