diff options
author | Russ Cox <rsc@golang.org> | 2009-06-25 16:32:33 -0700 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2009-06-25 16:32:33 -0700 |
commit | 69a4a5031b0c710664faaac271eca8ac383f17cd (patch) | |
tree | 2b3eeb6527a9f7303c730357a9d190a2aee6769b /src/cmd/gc/subr.c | |
parent | aba3b944e7aa3de7f76d449c6cdec249e8b7dae6 (diff) | |
download | golang-69a4a5031b0c710664faaac271eca8ac383f17cd.tar.gz |
better error; clean up lineno in a few places
wreck.mtv=; cat x.go
package main
var x = string.Split()
wreck.mtv=; 6g x.go
x.go:2: type string used as expression
x.go:2: undefined DOT Split on string
x.go:3: illegal types for operand: AS
undefined
wreck.mtv=;
BUG=1938751
R=ken
OCL=30766
CL=30766
Diffstat (limited to 'src/cmd/gc/subr.c')
-rw-r--r-- | src/cmd/gc/subr.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/cmd/gc/subr.c b/src/cmd/gc/subr.c index b2b8e77d6..4f646fbc1 100644 --- a/src/cmd/gc/subr.c +++ b/src/cmd/gc/subr.c @@ -106,7 +106,14 @@ setlineno(Node *n) int32 lno; lno = lineno; - if(n != N && n->op != ONAME) { + if(n != N) + switch(n->op) { + case ONAME: + case OTYPE: + case OPACK: + case OLITERAL: + break; + default: lineno = n->lineno; if(lineno == 0) { if(debug['K']) |