aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2015-11-27 15:27:14 -0800
committerRobert Griesemer <gri@golang.org>2015-11-28 03:36:00 +0000
commite18cd34c76892cd62f4857e56ffbbe503acd508a (patch)
tree8ac0c715d3ef9799dc437d0976899ab2a4388b8a /src
parenta0ea93dea5f5741addc8c96b7ed037d0e359e33f (diff)
downloadgo-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.go1
-rw-r--r--src/cmd/compile/internal/gc/parser.go7
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