diff options
| author | Robert Griesemer <gri@golang.org> | 2015-11-27 15:27:14 -0800 |
|---|---|---|
| committer | Robert Griesemer <gri@golang.org> | 2015-11-28 03:36:00 +0000 |
| commit | e18cd34c76892cd62f4857e56ffbbe503acd508a (patch) | |
| tree | 8ac0c715d3ef9799dc437d0976899ab2a4388b8a /src | |
| parent | a0ea93dea5f5741addc8c96b7ed037d0e359e33f (diff) | |
| download | go-e18cd34c76892cd62f4857e56ffbbe503acd508a.tar.xz | |
cmd/compile: use correct line number for := (LCOLAS)
- use same local variable name (lno) for line number for LCOLAS everywhere
- remove now unneeded assignment of line number to yylval.i in lexer
Fix per suggestion of mdempsky.
Fixes #13415.
Change-Id: Ie3c7f5681615042a12b81b26724b3a5d8a979c25
Reviewed-on: https://go-review.googlesource.com/17248
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src')
| -rw-r--r-- | src/cmd/compile/internal/gc/lex.go | 1 | ||||
| -rw-r--r-- | src/cmd/compile/internal/gc/parser.go | 7 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/cmd/compile/internal/gc/lex.go b/src/cmd/compile/internal/gc/lex.go index 6e8745caa5..55ba2ed3f4 100644 --- a/src/cmd/compile/internal/gc/lex.go +++ b/src/cmd/compile/internal/gc/lex.go @@ -1253,7 +1253,6 @@ l0: c1 = getc() if c1 == '=' { c = int(LCOLAS) - yylval.i = int(lexlineno) goto lx } diff --git a/src/cmd/compile/internal/gc/parser.go b/src/cmd/compile/internal/gc/parser.go index 22e3c4b7cf..20a1202d25 100644 --- a/src/cmd/compile/internal/gc/parser.go +++ b/src/cmd/compile/internal/gc/parser.go @@ -717,7 +717,7 @@ func (p *parser) simple_stmt(labelOk, rangeOk bool) *Node { return stmt case LCOLAS: - line := lineno + lno := lineno p.next() if rangeOk && p.got(LRANGE) { @@ -746,7 +746,7 @@ func (p *parser) simple_stmt(labelOk, rangeOk bool) *Node { } // it's a colas, so must not re-use an oldname return ts } - return colas(lhs, rhs, int32(line)) + return colas(lhs, rhs, int32(lno)) default: p.syntax_error("expecting := or = or comma") @@ -849,6 +849,7 @@ func (p *parser) case_(tswitch *Node) *Node { case LCOLAS: // LCASE expr_or_type_list LCOLAS expr ':' + lno := lineno p.next() rhs := p.expr() @@ -857,7 +858,7 @@ func (p *parser) case_(tswitch *Node) *Node { // done in casebody() markdcl() // matching popdcl in caseblock stmt := Nod(OXCASE, nil, nil) - stmt.List = list1(colas(cases, list1(rhs), int32(p.op))) + stmt.List = list1(colas(cases, list1(rhs), int32(lno))) p.want(':') // consume ':' after declaring select cases for correct lineno return stmt |
