mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
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>
This commit is contained in:
parent
a0ea93dea5
commit
e18cd34c76
3 changed files with 23 additions and 4 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue