aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/gc
diff options
context:
space:
mode:
authorJan Ziak <0xe2.0x9a.0x9b@gmail.com>2014-03-29 15:45:40 +0100
committerJan Ziak <0xe2.0x9a.0x9b@gmail.com>2014-03-29 15:45:40 +0100
commit2ca99505f6cfc1390b5b69eecb35e46d0e36456d (patch)
tree84e2ae600ff31395d0f69e0ce3bf1fa0295bae0b /src/cmd/gc
parent83ac901fb9298bf29059d52bc8b084c885586d1b (diff)
downloadgo-2ca99505f6cfc1390b5b69eecb35e46d0e36456d.tar.xz
cmd/gc: suppress array index error caused by a previously reported error
Fixes #7153 LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/82180043
Diffstat (limited to 'src/cmd/gc')
-rw-r--r--src/cmd/gc/typecheck.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cmd/gc/typecheck.c b/src/cmd/gc/typecheck.c
index f6e77acebd..5a025a15b6 100644
--- a/src/cmd/gc/typecheck.c
+++ b/src/cmd/gc/typecheck.c
@@ -2525,8 +2525,9 @@ typecheckcomplit(Node **np)
typecheck(&l->left, Erv);
evconst(l->left);
i = nonnegconst(l->left);
- if(i < 0) {
+ if(i < 0 && !l->left->diag) {
yyerror("array index must be non-negative integer constant");
+ l->left->diag = 1;
i = -(1<<30); // stay negative for a while
}
if(i >= 0)