]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: use embedlineno instead of lineno in copytype
authorYury Smolsky <yury@smolsky.by>
Mon, 28 May 2018 10:20:45 +0000 (13:20 +0300)
committerRobert Griesemer <gri@golang.org>
Wed, 22 Aug 2018 21:16:54 +0000 (21:16 +0000)
Also remove lineno from typecheckdeftype since copytype was
the only user of it and typecheck uses lineno independently.

toolstach-check passed.

Updates #19683.

Change-Id: I1663fdb8cf519d505cc087c8657dcbff3c8b1a0a
Reviewed-on: https://go-review.googlesource.com/114875
Run-TryBot: Yury Smolsky <yury@smolsky.by>
Reviewed-by: Robert Griesemer <gri@golang.org>
src/cmd/compile/internal/gc/typecheck.go

index 51dd0dba87fcb48580ecadc15228e13c155dd6b7..370f21befbdb66bfecd222ccfc5e301ecc6134d8 100644 (file)
@@ -3608,21 +3608,14 @@ func copytype(n *Node, t *types.Type) {
        }
 
        // Double-check use of type as embedded type.
-       lno := lineno
-
        if embedlineno.IsKnown() {
-               lineno = embedlineno
                if t.IsPtr() || t.IsUnsafePtr() {
-                       yyerror("embedded type cannot be a pointer")
+                       yyerrorl(embedlineno, "embedded type cannot be a pointer")
                }
        }
-
-       lineno = lno
 }
 
 func typecheckdeftype(n *Node) {
-       lno := lineno
-       setlineno(n)
        n.Type.Sym = n.Sym
        n.SetTypecheck(1)
        n.Name.Param.Ntype = typecheck(n.Name.Param.Ntype, Etype)
@@ -3637,8 +3630,6 @@ func typecheckdeftype(n *Node) {
                // that don't come along.
                copytype(n, t)
        }
-
-       lineno = lno
 }
 
 func typecheckdef(n *Node) {