diff options
author | Robert Griesemer <gri@golang.org> | 2018-01-10 17:14:20 -0800 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2018-01-11 01:30:49 +0000 |
commit | 08e342d62c222b80c3a0480002eb71976218f589 (patch) | |
tree | 50617c0756b7a37d1c050e45c0c2dc9d1a31f526 | |
parent | 40a17eed9392cea198726d7a5a507b3596417fc9 (diff) | |
download | go-08e342d62c222b80c3a0480002eb71976218f589.tar.gz go-08e342d62c222b80c3a0480002eb71976218f589.zip |
cmd/compile/internal/syntax: don't record semi position if there's none
Fixes #23406.
Change-Id: Ief04e20357c9ca03a5e496f1742428394c8ee658
Reviewed-on: https://go-review.googlesource.com/87317
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
-rw-r--r-- | src/cmd/compile/internal/syntax/parser.go | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/cmd/compile/internal/syntax/parser.go b/src/cmd/compile/internal/syntax/parser.go index ff3e769864..c8dfc967e6 100644 --- a/src/cmd/compile/internal/syntax/parser.go +++ b/src/cmd/compile/internal/syntax/parser.go @@ -1768,9 +1768,13 @@ func (p *parser) header(keyword token) (init SimpleStmt, cond Expr, post SimpleS lit string // valid if pos.IsKnown() } if p.tok != _Lbrace { - semi.pos = p.pos() - semi.lit = p.lit - p.want(_Semi) + if p.tok == _Semi { + semi.pos = p.pos() + semi.lit = p.lit + p.next() + } else { + p.want(_Semi) + } if keyword == _For { if p.tok != _Semi { if p.tok == _Lbrace { |