diff options
| author | Jan Ziak <0xe2.0x9a.0x9b@gmail.com> | 2014-03-29 15:45:40 +0100 |
|---|---|---|
| committer | Jan Ziak <0xe2.0x9a.0x9b@gmail.com> | 2014-03-29 15:45:40 +0100 |
| commit | 2ca99505f6cfc1390b5b69eecb35e46d0e36456d (patch) | |
| tree | 84e2ae600ff31395d0f69e0ce3bf1fa0295bae0b /src/cmd/gc | |
| parent | 83ac901fb9298bf29059d52bc8b084c885586d1b (diff) | |
| download | go-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.c | 3 |
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) |
