cmd/compile: remove more superfluous int(lineno) conversions

Change-Id: Ia3e5d62b9d38a6c356baec8eb88b2bdabff5820f
Reviewed-on: https://go-review.googlesource.com/20150
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Robert Griesemer <gri@golang.org>
diff --git a/src/cmd/compile/internal/gc/align.go b/src/cmd/compile/internal/gc/align.go
index 3d2d12e..03c6a0e 100644
--- a/src/cmd/compile/internal/gc/align.go
+++ b/src/cmd/compile/internal/gc/align.go
@@ -123,15 +123,12 @@
 	}
 
 	if t.Width == -2 {
-		lno := int(lineno)
-		lineno = int32(t.Lineno)
 		if !t.Broke {
 			t.Broke = true
-			Yyerror("invalid recursive type %v", t)
+			yyerrorl(int32(t.Lineno), "invalid recursive type %v", t)
 		}
 
 		t.Width = 0
-		lineno = int32(lno)
 		return
 	}
 
@@ -144,7 +141,7 @@
 	// defer checkwidth calls until after we're done
 	defercalc++
 
-	lno := int(lineno)
+	lno := lineno
 	lineno = int32(t.Lineno)
 	t.Width = -2
 	t.Align = 0
@@ -320,7 +317,7 @@
 		t.Align = uint8(w)
 	}
 
-	lineno = int32(lno)
+	lineno = lno
 
 	if defercalc == 1 {
 		resumecheckwidth()
diff --git a/src/cmd/compile/internal/gc/closure.go b/src/cmd/compile/internal/gc/closure.go
index 72b5a74..40829d0 100644
--- a/src/cmd/compile/internal/gc/closure.go
+++ b/src/cmd/compile/internal/gc/closure.go
@@ -219,7 +219,7 @@
 func capturevars(xfunc *Node) {
 	var outer *Node
 
-	lno := int(lineno)
+	lno := lineno
 	lineno = xfunc.Lineno
 
 	func_ := xfunc.Func.Closure
@@ -268,13 +268,13 @@
 		func_.Func.Enter.Append(outer)
 	}
 
-	lineno = int32(lno)
+	lineno = lno
 }
 
 // transformclosure is called in a separate phase after escape analysis.
 // It transform closure bodies to properly reference captured variables.
 func transformclosure(xfunc *Node) {
-	lno := int(lineno)
+	lno := lineno
 	lineno = xfunc.Lineno
 	func_ := xfunc.Func.Closure
 
@@ -401,7 +401,7 @@
 		}
 	}
 
-	lineno = int32(lno)
+	lineno = lno
 }
 
 func walkclosure(func_ *Node, init **NodeList) *Node {
diff --git a/src/cmd/compile/internal/gc/const.go b/src/cmd/compile/internal/gc/const.go
index 059f832..ed39dde 100644
--- a/src/cmd/compile/internal/gc/const.go
+++ b/src/cmd/compile/internal/gc/const.go
@@ -630,7 +630,7 @@
 
 	nr := n.Right
 	var rv Val
-	var lno int
+	var lno int32
 	var wr EType
 	var v Val
 	var norig *Node
@@ -1104,10 +1104,9 @@
 	n.SetVal(v)
 
 	// check range.
-	lno = int(setlineno(n))
-
+	lno = setlineno(n)
 	overflow(v, n.Type)
-	lineno = int32(lno)
+	lineno = lno
 
 	// truncate precision for non-ideal float.
 	if v.Ctype() == CTFLT && n.Type.Etype != TIDEAL {
@@ -1258,7 +1257,7 @@
 		*np = n
 	}
 
-	lno := int(setlineno(n))
+	lno := setlineno(n)
 	ctype := idealkind(n)
 	var t1 *Type
 	switch ctype {
@@ -1269,7 +1268,7 @@
 		}
 
 		if n.Val().Ctype() == CTNIL {
-			lineno = int32(lno)
+			lineno = lno
 			if n.Diag == 0 {
 				Yyerror("use of untyped nil")
 				n.Diag = 1
@@ -1314,7 +1313,7 @@
 		goto num
 	}
 
-	lineno = int32(lno)
+	lineno = lno
 	return
 
 num:
@@ -1341,7 +1340,7 @@
 		overflow(n.Val(), t1)
 	}
 	Convlit(np, t1)
-	lineno = int32(lno)
+	lineno = lno
 	return
 }
 
diff --git a/src/cmd/compile/internal/gc/dcl.go b/src/cmd/compile/internal/gc/dcl.go
index da0c4575..893fb6b 100644
--- a/src/cmd/compile/internal/gc/dcl.go
+++ b/src/cmd/compile/internal/gc/dcl.go
@@ -755,7 +755,7 @@
 }
 
 func structfield(n *Node) *Type {
-	lno := int(lineno)
+	lno := lineno
 	lineno = n.Lineno
 
 	if n.Op != ODCLFIELD {
@@ -802,14 +802,14 @@
 		f.Sym = f.Nname.Sym
 	}
 
-	lineno = int32(lno)
+	lineno = lno
 	return f
 }
 
 var uniqgen uint32
 
 func checkdupfields(t *Type, what string) {
-	lno := int(lineno)
+	lno := lineno
 
 	for ; t != nil; t = t.Down {
 		if t.Sym != nil && t.Nname != nil && !isblank(t.Nname) {
@@ -822,7 +822,7 @@
 		}
 	}
 
-	lineno = int32(lno)
+	lineno = lno
 }
 
 // convert a parsed id/type list into
@@ -888,7 +888,7 @@
 }
 
 func interfacefield(n *Node) *Type {
-	lno := int(lineno)
+	lno := lineno
 	lineno = n.Lineno
 
 	if n.Op != ODCLFIELD {
@@ -950,7 +950,7 @@
 		f.Broke = true
 	}
 
-	lineno = int32(lno)
+	lineno = lno
 	return f
 }
 
diff --git a/src/cmd/compile/internal/gc/esc.go b/src/cmd/compile/internal/gc/esc.go
index 30eacc6..aa74408 100644
--- a/src/cmd/compile/internal/gc/esc.go
+++ b/src/cmd/compile/internal/gc/esc.go
@@ -602,7 +602,7 @@
 		return
 	}
 
-	lno := int(setlineno(n))
+	lno := setlineno(n)
 
 	// ninit logically runs at a different loopdepth than the rest of the for loop.
 	esclist(e, n.Ninit, n)
@@ -944,7 +944,7 @@
 		}
 	}
 
-	lineno = int32(lno)
+	lineno = lno
 }
 
 // Assert that expr somehow gets assigned to dst, if non nil.  for
@@ -1012,7 +1012,7 @@
 		dst = &e.theSink
 	}
 
-	lno := int(setlineno(src))
+	lno := setlineno(src)
 	e.pdepth++
 
 	switch src.Op {
@@ -1120,7 +1120,7 @@
 	}
 
 	e.pdepth--
-	lineno = int32(lno)
+	lineno = lno
 }
 
 // Common case for escapes is 16 bits 000000000xxxEEEE
diff --git a/src/cmd/compile/internal/gc/gen.go b/src/cmd/compile/internal/gc/gen.go
index 13fac83..92ee2ae 100644
--- a/src/cmd/compile/internal/gc/gen.go
+++ b/src/cmd/compile/internal/gc/gen.go
@@ -162,7 +162,7 @@
 		fs = fs.Link
 	}
 	if fs != to.Sym {
-		lno := int(lineno)
+		lno := lineno
 		setlineno(from)
 
 		// decide what to complain about.
@@ -196,7 +196,7 @@
 		} else {
 			Yyerror("goto %v jumps over declaration of %v at %v", from.Left.Sym, dcl, linestr(dcl.Lastlineno))
 		}
-		lineno = int32(lno)
+		lineno = lno
 	}
 }
 
diff --git a/src/cmd/compile/internal/gc/order.go b/src/cmd/compile/internal/gc/order.go
index 88a19f9..5071d3e 100644
--- a/src/cmd/compile/internal/gc/order.go
+++ b/src/cmd/compile/internal/gc/order.go
@@ -485,7 +485,7 @@
 		return
 	}
 
-	lno := int(setlineno(n))
+	lno := setlineno(n)
 
 	orderinit(n, order)
 
@@ -975,7 +975,7 @@
 		cleantemp(t, order)
 	}
 
-	lineno = int32(lno)
+	lineno = lno
 }
 
 // Orderexprlist orders the expression list l into order.
@@ -1007,7 +1007,7 @@
 		return
 	}
 
-	lno := int(setlineno(n))
+	lno := setlineno(n)
 	orderinit(n, order)
 
 	switch n.Op {
@@ -1218,7 +1218,7 @@
 		}
 	}
 
-	lineno = int32(lno)
+	lineno = lno
 
 	*np = n
 }
diff --git a/src/cmd/compile/internal/gc/range.go b/src/cmd/compile/internal/gc/range.go
index 2270d71..b6fd388b 100644
--- a/src/cmd/compile/internal/gc/range.go
+++ b/src/cmd/compile/internal/gc/range.go
@@ -143,7 +143,7 @@
 	t := n.Type
 
 	a := n.Right
-	lno := int(setlineno(a))
+	lno := setlineno(a)
 	n.Right = nil
 
 	var v1 *Node
@@ -167,7 +167,7 @@
 
 	case TARRAY:
 		if memclrrange(n, v1, v2, a) {
-			lineno = int32(lno)
+			lineno = lno
 			return
 		}
 
@@ -323,7 +323,7 @@
 	n.Nbody.Set(append(body, n.Nbody.Slice()...))
 	walkstmt(&n)
 
-	lineno = int32(lno)
+	lineno = lno
 }
 
 // Lower n into runtime·memclr if possible, for
diff --git a/src/cmd/compile/internal/gc/select.go b/src/cmd/compile/internal/gc/select.go
index 0243947..5c3eea8 100644
--- a/src/cmd/compile/internal/gc/select.go
+++ b/src/cmd/compile/internal/gc/select.go
@@ -10,7 +10,7 @@
 	var n *Node
 
 	var def *Node
-	lno := int(setlineno(sel))
+	lno := setlineno(sel)
 	count := 0
 	typechecklist(sel.Ninit, Etop)
 	for l := sel.List; l != nil; l = l.Next {
@@ -83,7 +83,7 @@
 	}
 
 	sel.Xoffset = int64(count)
-	lineno = int32(lno)
+	lineno = lno
 }
 
 func walkselect(sel *Node) {
@@ -91,7 +91,7 @@
 		Fatalf("double walkselect") // already rewrote
 	}
 
-	lno := int(setlineno(sel))
+	lno := setlineno(sel)
 	i := count(sel.List)
 
 	// optimization: zero-case select
@@ -322,7 +322,7 @@
 out:
 	sel.List = nil
 	walkstmtslice(sel.Nbody.Slice())
-	lineno = int32(lno)
+	lineno = lno
 }
 
 // Keep in sync with src/runtime/runtime2.go and src/runtime/select.go.
diff --git a/src/cmd/compile/internal/gc/sinit.go b/src/cmd/compile/internal/gc/sinit.go
index bee045f..c3b2b66 100644
--- a/src/cmd/compile/internal/gc/sinit.go
+++ b/src/cmd/compile/internal/gc/sinit.go
@@ -246,9 +246,9 @@
 func initfix(l *NodeList) []*Node {
 	var lout []*Node
 	initplans = make(map[*Node]*InitPlan)
-	lno := int(lineno)
+	lno := lineno
 	initreorder(l, &lout)
-	lineno = int32(lno)
+	lineno = lno
 	initplans = nil
 	return lout
 }
diff --git a/src/cmd/compile/internal/gc/swt.go b/src/cmd/compile/internal/gc/swt.go
index 7ad66c3..1835642 100644
--- a/src/cmd/compile/internal/gc/swt.go
+++ b/src/cmd/compile/internal/gc/swt.go
@@ -58,7 +58,7 @@
 
 // typecheckswitch typechecks a switch statement.
 func typecheckswitch(n *Node) {
-	lno := int(lineno)
+	lno := lineno
 	typechecklist(n.Ninit, Etop)
 
 	var nilonly string
@@ -184,7 +184,7 @@
 		typecheckslice(ncase.Nbody.Slice(), Etop)
 	}
 
-	lineno = int32(lno)
+	lineno = lno
 }
 
 // walkswitch walks a switch statement.
@@ -290,7 +290,7 @@
 		var cas *NodeList
 		for _, c := range cc {
 			n := c.node
-			lno := int(setlineno(n))
+			lno := setlineno(n)
 
 			a := Nod(OIF, nil, nil)
 			if (s.kind != switchKindTrue && s.kind != switchKindFalse) || assignop(n.Left.Type, s.exprname.Type, nil) == OCONVIFACE || assignop(s.exprname.Type, n.Left.Type, nil) == OCONVIFACE {
@@ -306,7 +306,7 @@
 			a.Nbody.Set([]*Node{n.Right}) // goto l
 
 			cas = list(cas, a)
-			lineno = int32(lno)
+			lineno = lno
 		}
 		return liststmt(cas)
 	}
diff --git a/src/cmd/compile/internal/gc/typecheck.go b/src/cmd/compile/internal/gc/typecheck.go
index 05a1b26..17ea693 100644
--- a/src/cmd/compile/internal/gc/typecheck.go
+++ b/src/cmd/compile/internal/gc/typecheck.go
@@ -122,7 +122,7 @@
 		return nil
 	}
 
-	lno := int(setlineno(n))
+	lno := setlineno(n)
 
 	// Skip over parens.
 	for n.Op == OPAREN {
@@ -142,7 +142,7 @@
 			break
 
 		default:
-			lineno = int32(lno)
+			lineno = lno
 			return n
 		}
 	}
@@ -176,7 +176,7 @@
 			Yyerror("typechecking loop involving %v%s", n, fmt_)
 		}
 
-		lineno = int32(lno)
+		lineno = lno
 		return n
 	}
 
@@ -192,7 +192,7 @@
 	typecheck_tcstack[last] = nil
 	typecheck_tcstack = typecheck_tcstack[:last]
 
-	lineno = int32(lno)
+	lineno = lno
 	return n
 }
 
@@ -2612,7 +2612,7 @@
 	var n1 int
 	var n2 int
 
-	lno := int(lineno)
+	lno := lineno
 
 	if tstruct.Broke {
 		goto out
@@ -2749,7 +2749,7 @@
 	}
 
 out:
-	lineno = int32(lno)
+	lineno = lno
 	return
 
 notenough:
@@ -3552,7 +3552,7 @@
 	}
 
 	// Double-check use of type as embedded type.
-	lno := int(lineno)
+	lno := lineno
 
 	if embedlineno != 0 {
 		lineno = int32(embedlineno)
@@ -3561,7 +3561,7 @@
 		}
 	}
 
-	lineno = int32(lno)
+	lineno = lno
 
 	// Queue check for map until all the types are done settling.
 	if maplineno != 0 {
@@ -3572,7 +3572,7 @@
 
 func typecheckdeftype(n *Node) {
 	ntypecheckdeftype++
-	lno := int(lineno)
+	lno := lineno
 	setlineno(n)
 	n.Type.Sym = n.Sym
 	n.Typecheck = 1
@@ -3596,7 +3596,7 @@
 	copytype(n, t)
 
 ret:
-	lineno = int32(lno)
+	lineno = lno
 
 	// if there are no type definitions going on, it's safe to
 	// try to resolve the method types for the interfaces
@@ -3619,7 +3619,7 @@
 			maptype(l.N.Type, Types[TBOOL])
 		}
 
-		lineno = int32(lno)
+		lineno = lno
 	}
 
 	ntypecheckdeftype--
@@ -3635,7 +3635,7 @@
 }
 
 func typecheckdef(n *Node) *Node {
-	lno := int(lineno)
+	lno := lineno
 	setlineno(n)
 
 	if n.Op == ONONAME {
@@ -3806,7 +3806,7 @@
 	typecheckdefstack[last] = nil
 	typecheckdefstack = typecheckdefstack[:last]
 
-	lineno = int32(lno)
+	lineno = lno
 	n.Walkdef = 1
 	return n
 }
diff --git a/src/cmd/compile/internal/gc/walk.go b/src/cmd/compile/internal/gc/walk.go
index f72176b..2abc8df 100644
--- a/src/cmd/compile/internal/gc/walk.go
+++ b/src/cmd/compile/internal/gc/walk.go
@@ -25,7 +25,7 @@
 		dumpslice(s, Curfn.Nbody.Slice())
 	}
 
-	lno := int(lineno)
+	lno := lineno
 
 	// Final typecheck for any unused variables.
 	// It's hard to be on the heap when not-used, but best to be consistent about &~PHEAP here and below.
@@ -60,7 +60,7 @@
 		}
 	}
 
-	lineno = int32(lno)
+	lineno = lno
 	if nerrors != 0 {
 		return
 	}