]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/5g etc: mechanical cleanup
authorRuss Cox <rsc@golang.org>
Mon, 2 Mar 2015 19:22:05 +0000 (14:22 -0500)
committerRuss Cox <rsc@golang.org>
Tue, 3 Mar 2015 20:32:24 +0000 (20:32 +0000)
Run rsc.io/grind rev 796d0f2 on C->Go conversions.

This replaces various awkward := initializations with plain var declarations.

Checked bit-for-bit compatibility with toolstash + buildall.

Change-Id: I601101d8177894adb9b0e3fb55dfe0ed4f544716
Reviewed-on: https://go-review.googlesource.com/6517
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
50 files changed:
src/cmd/5g/cgen.go
src/cmd/5g/cgen64.go
src/cmd/5g/ggen.go
src/cmd/5g/gsubr.go
src/cmd/6g/cgen.go
src/cmd/6g/ggen.go
src/cmd/6g/gsubr.go
src/cmd/6g/peep.go
src/cmd/8g/cgen.go
src/cmd/8g/cgen64.go
src/cmd/8g/ggen.go
src/cmd/8g/gsubr.go
src/cmd/9g/cgen.go
src/cmd/9g/ggen.go
src/cmd/internal/gc/closure.go
src/cmd/internal/gc/const.go
src/cmd/internal/gc/cplx.go
src/cmd/internal/gc/dcl.go
src/cmd/internal/gc/esc.go
src/cmd/internal/gc/gen.go
src/cmd/internal/gc/init.go
src/cmd/internal/gc/inl.go
src/cmd/internal/gc/md5.go
src/cmd/internal/gc/obj.go
src/cmd/internal/gc/order.go
src/cmd/internal/gc/plive.go
src/cmd/internal/gc/popt.go
src/cmd/internal/gc/racewalk.go
src/cmd/internal/gc/range.go
src/cmd/internal/gc/reflect.go
src/cmd/internal/gc/select.go
src/cmd/internal/gc/sinit.go
src/cmd/internal/gc/subr.go
src/cmd/internal/gc/typecheck.go
src/cmd/internal/gc/walk.go
src/cmd/internal/ld/data.go
src/cmd/internal/ld/dwarf.go
src/cmd/internal/ld/elf.go
src/cmd/internal/ld/go.go
src/cmd/internal/ld/ldelf.go
src/cmd/internal/ld/ldpe.go
src/cmd/internal/ld/macho.go
src/cmd/internal/ld/objfile.go
src/cmd/internal/ld/pcln.go
src/cmd/internal/ld/pe.go
src/cmd/internal/obj/arm/obj5.go
src/cmd/internal/obj/i386/obj8.go
src/cmd/internal/obj/objfile.go
src/cmd/internal/obj/ppc64/obj9.go
src/cmd/internal/obj/x86/obj6.go

index fdfd185f21b5f4abd13db00d4fd5c4fb29aee9c4..1fd31113b67232200fde8533bf696405ef86fcf9 100644 (file)
@@ -678,7 +678,7 @@ func agen(n *gc.Node, res *gc.Node) {
        }
 
        if n.Addable != 0 {
-               n1 := gc.Node{}
+               var n1 gc.Node
                n1.Op = gc.OADDR
                n1.Left = n
                var n2 gc.Node
@@ -983,7 +983,7 @@ func agenr(n *gc.Node, a *gc.Node, res *gc.Node) {
                gc.Cgen_checknil(a)
 
        case gc.OINDEX:
-               p2 := (*obj.Prog)(nil) // to be patched to panicindex.
+               var p2 *obj.Prog // to be patched to panicindex.
                w := uint32(n.Type.Width)
                bounded := gc.Debug['B'] != 0 || n.Bounded
                var n1 gc.Node
@@ -1199,7 +1199,7 @@ func bgen(n *gc.Node, true_ bool, likely int, to *obj.Prog) {
                return
        }
 
-       nr := (*gc.Node)(nil)
+       var nr *gc.Node
 
        var nl *gc.Node
        switch n.Op {
@@ -1658,7 +1658,7 @@ func sgen(n *gc.Node, res *gc.Node, w int64) {
        regalloc(&tmp, gc.Types[gc.TUINT32], nil)
 
        // set up end marker
-       nend := gc.Node{}
+       var nend gc.Node
 
        if c >= 4 {
                regalloc(&nend, gc.Types[gc.TUINT32], nil)
index b9e5b7cc955c738b6c4b05eb5463bb0c83825e84..9a3e8ab7d636b02c535c83db54b7238e6a2a934a 100644 (file)
@@ -790,7 +790,7 @@ func cmp64(nl *gc.Node, nr *gc.Node, op int, likely int, to *obj.Prog) {
        regfree(&r1)
        regfree(&r2)
 
-       br := (*obj.Prog)(nil)
+       var br *obj.Prog
        switch op {
        default:
                gc.Fatal("cmp64 %v %v", gc.Oconv(int(op), 0), gc.Tconv(t, 0))
index aa0e6f49bea6b709e1bcdf24eee416c01a79af10..374d5e32eed97207ec80a976aef509da3e0056e7 100644 (file)
@@ -366,7 +366,7 @@ func cgen_callret(n *gc.Node, res *gc.Node) {
                gc.Fatal("cgen_callret: nil")
        }
 
-       nod := gc.Node{}
+       var nod gc.Node
        nod.Op = gc.OINDREG
        nod.Val.U.Reg = arm.REGSP
        nod.Addable = 1
@@ -393,7 +393,7 @@ func cgen_aret(n *gc.Node, res *gc.Node) {
                gc.Fatal("cgen_aret: nil")
        }
 
-       nod1 := gc.Node{}
+       var nod1 gc.Node
        nod1.Op = gc.OINDREG
        nod1.Val.U.Reg = arm.REGSP
        nod1.Addable = 1
index 1df0f491f4a01b5c31b613590e068f288787cc17..b8547dd4f180285bbcaaf9d4ab042283c4870951 100644 (file)
@@ -840,9 +840,9 @@ func gins(as int, f *gc.Node, t *gc.Node) *obj.Prog {
        //              constnode.vconst = v;
        //              idx.reg = nod.reg;
        //              regfree(&nod);
-       af := obj.Addr{}
+       var af obj.Addr
 
-       at := obj.Addr{}
+       var at obj.Addr
        if f != nil {
                gc.Naddr(f, &af, 1)
        }
index 696e12c11ee0bf1cb748753c030cdd68a4bad7d5..7f1da8ec460ff3977213f8dd284bd6137ae51d21 100644 (file)
@@ -1114,7 +1114,7 @@ func bgen(n *gc.Node, true_ bool, likely int, to *obj.Prog) {
                return
        }
 
-       nr := (*gc.Node)(nil)
+       var nr *gc.Node
 
        for n.Op == gc.OCONVNOP {
                n = n.Left
index fa526de29718151375ae8a997d6e37c42a4434d1..2934f1e249c348a839127d3fb8b17fb5c2c38773 100644 (file)
@@ -180,7 +180,7 @@ func ginscall(f *gc.Node, proc int) {
 
        case 1, // call in new proc (go)
                2: // deferred call (defer)
-               stk := gc.Node{}
+               var stk gc.Node
 
                stk.Op = gc.OINDREG
                stk.Val.U.Reg = x86.REG_SP
@@ -370,7 +370,7 @@ func cgen_callret(n *gc.Node, res *gc.Node) {
                gc.Fatal("cgen_callret: nil")
        }
 
-       nod := gc.Node{}
+       var nod gc.Node
        nod.Op = gc.OINDREG
        nod.Val.U.Reg = x86.REG_SP
        nod.Addable = 1
@@ -397,7 +397,7 @@ func cgen_aret(n *gc.Node, res *gc.Node) {
                gc.Fatal("cgen_aret: nil")
        }
 
-       nod1 := gc.Node{}
+       var nod1 gc.Node
        nod1.Op = gc.OINDREG
        nod1.Val.U.Reg = x86.REG_SP
        nod1.Addable = 1
@@ -503,7 +503,7 @@ func dodiv(op int, nl *gc.Node, nr *gc.Node, res *gc.Node) {
                gmove(&n31, &n3)
        }
 
-       p2 := (*obj.Prog)(nil)
+       var p2 *obj.Prog
        var n4 gc.Node
        if gc.Nacl {
                // Native Client does not relay the divide-by-zero trap
@@ -842,7 +842,7 @@ func cgen_shift(op int, bounded bool, nl *gc.Node, nr *gc.Node, res *gc.Node) {
        var cx gc.Node
        gc.Nodreg(&cx, gc.Types[gc.TUINT64], x86.REG_CX)
 
-       oldcx := gc.Node{}
+       var oldcx gc.Node
        if rcx > 0 && !gc.Samereg(&cx, res) {
                regalloc(&oldcx, gc.Types[gc.TUINT64], nil)
                gmove(&cx, &oldcx)
index 9434dff2a4b4406fe0c5d2e1e0f8f5428056987d..73afb935014a2cadc9ef71e1c4e8ea2badfdfe28 100644 (file)
@@ -743,8 +743,8 @@ func gins(as int, f *gc.Node, t *gc.Node) *obj.Prog {
                }
        }
 
-       af := obj.Addr{}
-       at := obj.Addr{}
+       var af obj.Addr
+       var at obj.Addr
        if f != nil {
                gc.Naddr(f, &af, 1)
        }
index f81be87aab32efafe1d6ddec869ece328d5c0dd1..9c36c6be303d7448b41c902a49c14337ebade96f 100644 (file)
@@ -308,7 +308,7 @@ func pushback(r0 *gc.Flow) {
        var r *gc.Flow
        var p *obj.Prog
 
-       b := (*gc.Flow)(nil)
+       var b *gc.Flow
        p0 := (*obj.Prog)(r0.Prog)
        for r = gc.Uniqp(r0); r != nil && gc.Uniqs(r) != nil; r = gc.Uniqp(r) {
                p = r.Prog
index a2bd6ec4f659988d4681a8e20de263db1ab24bf8..93934fb40ef7cfe72b2aed72b16499e1cb812fde 100644 (file)
@@ -622,7 +622,7 @@ func agen(n *gc.Node, res *gc.Node) {
                agen(&n1, res)
 
        case gc.OINDEX:
-               p2 := (*obj.Prog)(nil) // to be patched to panicindex.
+               var p2 *obj.Prog // to be patched to panicindex.
                w := uint32(n.Type.Width)
                bounded := gc.Debug['B'] != 0 || n.Bounded
                var n3 gc.Node
@@ -1005,7 +1005,7 @@ func bgen(n *gc.Node, true_ bool, likely int, to *obj.Prog) {
        }
 
        nl := n.Left
-       nr := (*gc.Node)(nil)
+       var nr *gc.Node
 
        if nl != nil && gc.Isfloat[nl.Type.Etype] {
                bgen_float(n, bool2int(true_), likely, to)
index f0b9e490e05372382534fff8263979678ec90cdd..523527033fbc1a1bbc4aaf4542d593776bc9f634 100644 (file)
@@ -236,7 +236,7 @@ func cgen64(n *gc.Node, res *gc.Node) {
 
                // load shift value into register.
                // if high bits are set, zero value.
-               p1 := (*obj.Prog)(nil)
+               var p1 *obj.Prog
 
                if gc.Is64(r.Type) {
                        gins(i386.ACMPL, &hi2, ncon(0))
@@ -337,7 +337,7 @@ func cgen64(n *gc.Node, res *gc.Node) {
 
                // load shift value into register.
                // if high bits are set, zero value.
-               p1 := (*obj.Prog)(nil)
+               var p1 *obj.Prog
 
                if gc.Is64(r.Type) {
                        gins(i386.ACMPL, &hi2, ncon(0))
@@ -529,7 +529,7 @@ func cmp64(nl *gc.Node, nr *gc.Node, op int, likely int, to *obj.Prog) {
                regfree(&rr)
        }
 
-       br := (*obj.Prog)(nil)
+       var br *obj.Prog
        switch op {
        default:
                gc.Fatal("cmp64 %v %v", gc.Oconv(int(op), 0), gc.Tconv(t, 0))
index 27938c7458e179f118fff4e6516836a2e7d7035f..1cc9a2bd02b94a1e5c8b9eac9dfbb0bf93729fa1 100644 (file)
@@ -253,7 +253,7 @@ func ginscall(f *gc.Node, proc int) {
 
        case 1, // call in new proc (go)
                2: // deferred call (defer)
-               stk := gc.Node{}
+               var stk gc.Node
 
                stk.Op = gc.OINDREG
                stk.Val.U.Reg = i386.REG_SP
@@ -429,7 +429,7 @@ func cgen_callret(n *gc.Node, res *gc.Node) {
                gc.Fatal("cgen_callret: nil")
        }
 
-       nod := gc.Node{}
+       var nod gc.Node
        nod.Op = gc.OINDREG
        nod.Val.U.Reg = i386.REG_SP
        nod.Addable = 1
@@ -456,7 +456,7 @@ func cgen_aret(n *gc.Node, res *gc.Node) {
                gc.Fatal("cgen_aret: nil")
        }
 
-       nod1 := gc.Node{}
+       var nod1 gc.Node
        nod1.Op = gc.OINDREG
        nod1.Val.U.Reg = i386.REG_SP
        nod1.Addable = 1
@@ -565,7 +565,7 @@ func dodiv(op int, nl *gc.Node, nr *gc.Node, res *gc.Node, ax *gc.Node, dx *gc.N
        }
        gmove(&t2, &n1)
        gmove(&t1, ax)
-       p2 := (*obj.Prog)(nil)
+       var p2 *obj.Prog
        var n4 gc.Node
        if gc.Nacl {
                // Native Client does not relay the divide-by-zero trap
@@ -709,7 +709,7 @@ func cgen_shift(op int, bounded bool, nl *gc.Node, nr *gc.Node, res *gc.Node) {
                return
        }
 
-       oldcx := gc.Node{}
+       var oldcx gc.Node
        var cx gc.Node
        gc.Nodreg(&cx, gc.Types[gc.TUINT32], i386.REG_CX)
        if reg[i386.REG_CX] > 1 && !gc.Samereg(&cx, res) {
index 0d26a41c07948b57930a8db9e086882d68f090df..6931ea8732e81726ef5d0483f4baa848b0dfdc62 100644 (file)
@@ -1842,8 +1842,8 @@ func gins(as int, f *gc.Node, t *gc.Node) *obj.Prog {
                }
        }
 
-       af := obj.Addr{}
-       at := obj.Addr{}
+       var af obj.Addr
+       var at obj.Addr
        if f != nil {
                gc.Naddr(f, &af, 1)
        }
index aca5b99b7eb221ad71001f907ad44d0c70466f38..059ec5e4bdaf2e5710b33044f7cb8ad7c0d1aac5 100644 (file)
@@ -690,7 +690,7 @@ func agenr(n *gc.Node, a *gc.Node, res *gc.Node) {
                gc.Cgen_checknil(a)
 
        case gc.OINDEX:
-               p2 := (*obj.Prog)(nil) // to be patched to panicindex.
+               var p2 *obj.Prog // to be patched to panicindex.
                w := uint32(n.Type.Width)
 
                //bounded = debug['B'] || n->bounded;
@@ -894,7 +894,7 @@ func agen(n *gc.Node, res *gc.Node) {
                clearfat(&n1)
                var n2 gc.Node
                regalloc(&n2, gc.Types[gc.Tptr], res)
-               n3 := gc.Node{}
+               var n3 gc.Node
                n3.Op = gc.OADDR
                n3.Left = &n1
                gins(ppc64.AMOVD, &n3, &n2)
@@ -904,7 +904,7 @@ func agen(n *gc.Node, res *gc.Node) {
        }
 
        if n.Addable != 0 {
-               n1 := gc.Node{}
+               var n1 gc.Node
                n1.Op = gc.OADDR
                n1.Left = n
                var n2 gc.Node
@@ -1132,7 +1132,7 @@ func bgen(n *gc.Node, true_ bool, likely int, to *obj.Prog) {
                return
        }
 
-       nr := (*gc.Node)(nil)
+       var nr *gc.Node
 
        for n.Op == gc.OCONVNOP {
                n = n.Left
@@ -1538,7 +1538,7 @@ func sgen(n *gc.Node, ns *gc.Node, w int64) {
        regalloc(&tmp, gc.Types[gc.Tptr], nil)
 
        // set up end marker
-       nend := gc.Node{}
+       var nend gc.Node
 
        // move src and dest to the end of block if necessary
        if dir < 0 {
index dc989631f384f670aeb0cd54a008cad4275b99a7..98357eb525b4f7db34932aa364b606a0011bbe8a 100644 (file)
@@ -374,7 +374,7 @@ func cgen_callret(n *gc.Node, res *gc.Node) {
                gc.Fatal("cgen_callret: nil")
        }
 
-       nod := gc.Node{}
+       var nod gc.Node
        nod.Op = gc.OINDREG
        nod.Val.U.Reg = ppc64.REGSP
        nod.Addable = 1
@@ -401,7 +401,7 @@ func cgen_aret(n *gc.Node, res *gc.Node) {
                gc.Fatal("cgen_aret: nil")
        }
 
-       nod1 := gc.Node{}
+       var nod1 gc.Node
        nod1.Op = gc.OINDREG
        nod1.Val.U.Reg = ppc64.REGSP
        nod1.Addable = 1
index d954ad0aa319c6a45d407381eca55c6043683018..8f13a3e85325a1212ac020942b9ccb9ee4552249 100644 (file)
@@ -262,7 +262,7 @@ func capturevars(xfunc *Node) {
                }
 
                if Debug['m'] > 1 {
-                       name := (*Sym)(nil)
+                       var name *Sym
                        if v.Curfn != nil && v.Curfn.Nname != nil {
                                name = v.Curfn.Nname.Sym
                        }
@@ -362,7 +362,7 @@ func transformclosure(xfunc *Node) {
                // The closure is not called, so it is going to stay as closure.
                nvar := 0
 
-               body := (*NodeList)(nil)
+               var body *NodeList
                offset := int64(Widthptr)
                var addr *Node
                var v *Node
@@ -526,7 +526,7 @@ func makepartialcall(fn *Node, t0 *Type, meth *Node) *Node {
                Fatal("missing base type for %v", Tconv(rcvrtype, 0))
        }
 
-       spkg := (*Pkg)(nil)
+       var spkg *Pkg
        if basetype.Sym != nil {
                spkg = basetype.Sym.Pkg
        }
@@ -549,8 +549,8 @@ func makepartialcall(fn *Node, t0 *Type, meth *Node) *Node {
 
        xtype := Nod(OTFUNC, nil, nil)
        i := 0
-       l := (*NodeList)(nil)
-       callargs := (*NodeList)(nil)
+       var l *NodeList
+       var callargs *NodeList
        ddd := 0
        xfunc := Nod(ODCLFUNC, nil, nil)
        Curfn = xfunc
@@ -575,7 +575,7 @@ func makepartialcall(fn *Node, t0 *Type, meth *Node) *Node {
        xtype.List = l
        i = 0
        l = nil
-       retargs := (*NodeList)(nil)
+       var retargs *NodeList
        for t := getoutargx(t0).Type; t != nil; t = t.Down {
                namebuf = fmt.Sprintf("r%d", i)
                i++
@@ -596,7 +596,7 @@ func makepartialcall(fn *Node, t0 *Type, meth *Node) *Node {
        declare(xfunc.Nname, PFUNC)
 
        // Declare and initialize variable holding receiver.
-       body := (*NodeList)(nil)
+       var body *NodeList
 
        xfunc.Needctxt = true
        cv := Nod(OCLOSUREVAR, nil, nil)
index 0a182f924b7cdda02e57a4d323152b4cf6daae3c..724505b5f7be0178b5bf43f60c943cda229bb226 100644 (file)
@@ -15,7 +15,7 @@ func truncfltlit(oldv *Mpflt, t *Type) *Mpflt {
                return oldv
        }
 
-       v := Val{}
+       var v Val
        v.Ctype = CTFLT
        v.U.Fval = oldv
        overflow(v, t)
index 10d1ab0e8545a5489600c62ce030aeef764ac8a3..5351d2b0c365c3ee4c42227f9c85e554f05f75f3 100644 (file)
@@ -54,7 +54,7 @@ func Complexbool(op int, nl *Node, nr *Node, true_ bool, likely int, to *obj.Pro
        var n4 Node
        subnode(&n3, &n4, nr)
 
-       na := Node{}
+       var na Node
        na.Op = OANDAND
        var nb Node
        na.Left = &nb
@@ -107,7 +107,7 @@ func subnode(nr *Node, ni *Node, nc *Node) {
 
 // generate code res = -nl
 func minus(nl *Node, res *Node) {
-       ra := Node{}
+       var ra Node
        ra.Op = OMINUS
        ra.Left = nl
        ra.Type = nl.Type
@@ -145,7 +145,7 @@ func complexadd(op int, nl *Node, nr *Node, res *Node) {
        subnode(&n3, &n4, nr)
        subnode(&n5, &n6, res)
 
-       ra := Node{}
+       var ra Node
        ra.Op = uint8(op)
        ra.Left = &n1
        ra.Right = &n3
@@ -179,20 +179,20 @@ func complexmul(nl *Node, nr *Node, res *Node) {
        Tempname(&tmp, n5.Type)
 
        // real part -> tmp
-       rm1 := Node{}
+       var rm1 Node
 
        rm1.Op = OMUL
        rm1.Left = &n1
        rm1.Right = &n3
        rm1.Type = n1.Type
 
-       rm2 := Node{}
+       var rm2 Node
        rm2.Op = OMUL
        rm2.Left = &n2
        rm2.Right = &n4
        rm2.Type = n2.Type
 
-       ra := Node{}
+       var ra Node
        ra.Op = OSUB
        ra.Left = &rm1
        ra.Right = &rm2
index 0eef37b102037e946edb815bd31daa5168ea004a..97271ba410b28141e8415c199da816b448a216fb 100644 (file)
@@ -247,7 +247,7 @@ func addvar(n *Node, t *Type, ctxt int) {
  * new_name_list (type | [type] = expr_list)
  */
 func variter(vl *NodeList, t *Node, el *NodeList) *NodeList {
-       init := (*NodeList)(nil)
+       var init *NodeList
        doexpr := el != nil
 
        if count(el) == 1 && count(vl) > 1 {
@@ -313,7 +313,7 @@ func variter(vl *NodeList, t *Node, el *NodeList) *NodeList {
  * new_name_list [[type] = expr_list]
  */
 func constiter(vl *NodeList, t *Node, cl *NodeList) *NodeList {
-       vv := (*NodeList)(nil)
+       var vv *NodeList
        if cl == nil {
                if t != nil {
                        Yyerror("const declaration cannot have type without expression")
@@ -1081,7 +1081,7 @@ func checkarglist(all *NodeList, input int) *NodeList {
        }
 
        if named != 0 {
-               n := (*Node)(nil)
+               var n *Node
                var l *NodeList
                for l = all; l != nil; l = l.Next {
                        n = l.N
@@ -1096,7 +1096,7 @@ func checkarglist(all *NodeList, input int) *NodeList {
                }
        }
 
-       nextt := (*Node)(nil)
+       var nextt *Node
        var t *Node
        var n *Node
        for l := all; l != nil; l = l.Next {
@@ -1195,7 +1195,7 @@ func isifacemethod(f *Type) bool {
 func functype(this *Node, in *NodeList, out *NodeList) *Type {
        t := typ(TFUNC)
 
-       rcvr := (*NodeList)(nil)
+       var rcvr *NodeList
        if this != nil {
                rcvr = list1(this)
        }
@@ -1413,7 +1413,7 @@ func addmethod(sf *Sym, t *Type, local bool, nointerface bool) {
        n := Nod(ODCLFIELD, newname(sf), nil)
        n.Type = t
 
-       d := (*Type)(nil) // last found
+       var d *Type // last found
        for f := pa.Method; f != nil; f = f.Down {
                d = f
                if f.Etype != TFIELD {
index d1f45b67b38452d3d08706a0b9e3d7fb8bb15451..f54e550b60a13ae989c5f3f8ed613796480706e3 100644 (file)
@@ -258,7 +258,7 @@ func parsetag(note *Strlit) int {
 }
 
 func escAnalyze(all *NodeList, recursive bool) {
-       es := EscState{}
+       var es EscState
        e := &es
        e.theSink.Op = ONAME
        e.theSink.Orig = &e.theSink
@@ -985,7 +985,7 @@ func esccall(e *EscState, n *Node, up *Node) {
        var lr *NodeList
        var fntype *Type
 
-       fn := (*Node)(nil)
+       var fn *Node
        switch n.Op {
        default:
                Fatal("esccall")
index e8ca4d7cfb236032aae407f799cfd83744671f1b..7089b9cec4960a81dbf4242f8d59230f434432bc 100644 (file)
@@ -171,9 +171,9 @@ func checkgoto(from *Node, to *Node) {
                // decide what to complain about.
                // prefer to complain about 'into block' over declarations,
                // so scan backward to find most recent block or else dcl.
-               block := (*Sym)(nil)
+               var block *Sym
 
-               dcl := (*Sym)(nil)
+               var dcl *Sym
                ts := to.Sym
                for ; nt > nf; nt-- {
                        if ts.Pkg == nil {
@@ -332,7 +332,7 @@ func cgen_discard(nr *Node) {
  * clearslim generates code to zero a slim node.
  */
 func Clearslim(n *Node) {
-       z := Node{}
+       var z Node
        z.Op = OLITERAL
        z.Type = n.Type
        z.Addable = 1
@@ -418,7 +418,7 @@ func Cgen_eface(n *Node, res *Node) {
 func Cgen_slice(n *Node, res *Node) {
        cap := n.List.N
        len := n.List.Next.N
-       offs := (*Node)(nil)
+       var offs *Node
        if n.List.Next.Next != nil {
                offs = n.List.Next.Next.N
        }
index 3c27bd69029369a022291ce8440ac8a053095400..5b1dca08e0eb5138f42b23153c9436aec0cc3ba0 100644 (file)
@@ -115,7 +115,7 @@ func fninit(n *NodeList) {
                return
        }
 
-       r := (*NodeList)(nil)
+       var r *NodeList
 
        // (1)
        namebuf = "initdone·"
index f77bc483f27779da3fd6be5e7c647bfaec7677cb..c00881ee2f4094f44fe0465876d4f575275b7608 100644 (file)
@@ -231,7 +231,7 @@ func ishairy(n *Node, budget *int) bool {
 // Any name-like node of non-local class is marked for re-export by adding it to
 // the exportlist.
 func inlcopylist(ll *NodeList) *NodeList {
-       l := (*NodeList)(nil)
+       var l *NodeList
        for ; ll != nil; ll = ll.Next {
                l = list(l, inlcopy(ll.N))
        }
@@ -628,7 +628,7 @@ func mkinlcall1(np **Node, fn *Node, isddd int) {
        // check if inlined function is variadic.
        variadic := false
 
-       varargtype := (*Type)(nil)
+       var varargtype *Type
        varargcount := 0
        for t := fn.Type.Type.Down.Down.Type; t != nil; t = t.Down {
                if t.Isddd != 0 {
@@ -694,8 +694,8 @@ func mkinlcall1(np **Node, fn *Node, isddd int) {
        // append ordinary arguments to LHS.
        chkargcount := n.List != nil && n.List.Next != nil
 
-       vararg := (*Node)(nil)      // the slice argument to a variadic call
-       varargs := (*NodeList)(nil) // the list of LHS names to put in vararg.
+       var vararg *Node      // the slice argument to a variadic call
+       var varargs *NodeList // the list of LHS names to put in vararg.
        if !chkargcount {
                // 0 or 1 expression on RHS.
                var i int
@@ -897,7 +897,7 @@ func newlabel_inl() *Node {
 // to input/output parameters with ones to the tmpnames, and
 // substituting returns with assignments to the output.
 func inlsubstlist(ll *NodeList) *NodeList {
-       l := (*NodeList)(nil)
+       var l *NodeList
        for ; ll != nil; ll = ll.Next {
                l = list(l, inlsubst(ll.N))
        }
index 3b5190013ea2614f0fff40fafb3a19cf23a618e9..b8935daf7ae6ab137e7115031d9ffaa56b62b6bb 100644 (file)
@@ -73,7 +73,7 @@ func md5sum(d *MD5, hi *uint64) uint64 {
        // Padding.  Add a 1 bit and 0 bits until 56 bytes mod 64.
        len := d.len
 
-       tmp := [64]uint8{}
+       var tmp [64]uint8
        tmp[0] = 0x80
        if len%64 < 56 {
                md5write(d, tmp[:], int(56-len%64))
index 27a18118324e8a2bd3c803877e718a0afb5760d8..7f1582b1e3bf557ef80c8b5ebab5797040285779 100644 (file)
@@ -71,7 +71,7 @@ func dumpobj() {
 
        fmt.Fprintf(bout, "\n!\n")
 
-       externs := (*NodeList)(nil)
+       var externs *NodeList
        if externdcl != nil {
                externs = externdcl.End
        }
index e8744d7d0b48f5db1b1fe55e0452cb9c72be9175..35c8a13b117b821f55547fe77cda25841249aeae 100644 (file)
@@ -256,7 +256,7 @@ func orderstmtlist(l *NodeList, order *Order) {
 // Orderblock orders the block of statements *l onto a new list,
 // and then replaces *l with that list.
 func orderblock(l **NodeList) {
-       order := Order{}
+       var order Order
        mark := marktemp(&order)
        orderstmtlist(*l, &order)
        cleantemp(mark, &order)
@@ -267,7 +267,7 @@ func orderblock(l **NodeList) {
 // leaves them as the init list of the final *np.
 func orderexprinplace(np **Node, outer *Order) {
        n := *np
-       order := Order{}
+       var order Order
        orderexpr(&n, &order)
        addinit(&n, order.out)
 
@@ -288,7 +288,7 @@ func orderexprinplace(np **Node, outer *Order) {
 // and replaces it with the resulting statement list.
 func orderstmtinplace(np **Node) {
        n := *np
-       order := Order{}
+       var order Order
        mark := marktemp(&order)
        orderstmt(n, &order)
        cleantemp(mark, &order)
@@ -332,8 +332,8 @@ func copyret(n *Node, order *Order) *NodeList {
                Fatal("copyret %v %d", Tconv(n.Type, 0), n.Left.Type.Outtuple)
        }
 
-       l1 := (*NodeList)(nil)
-       l2 := (*NodeList)(nil)
+       var l1 *NodeList
+       var l2 *NodeList
        var tl Iter
        var tmp *Node
        for t := Structfirst(&tl, &n.Type); t != nil; t = structnext(&tl) {
@@ -413,7 +413,7 @@ func ordermapassign(n *Node, order *Order) {
                OAS2DOTTYPE,
                OAS2MAPR,
                OAS2FUNC:
-               post := (*NodeList)(nil)
+               var post *NodeList
                var m *Node
                var a *Node
                for l := n.List; l != nil; l = l.Next {
@@ -644,7 +644,7 @@ func orderstmt(n *Node, order *Order) {
                t := marktemp(order)
 
                orderexprinplace(&n.Ntest, order)
-               l := (*NodeList)(nil)
+               var l *NodeList
                cleantempnopop(t, order, &l)
                n.Nbody = concat(l, n.Nbody)
                orderblock(&n.Nbody)
@@ -658,7 +658,7 @@ func orderstmt(n *Node, order *Order) {
                t := marktemp(order)
 
                orderexprinplace(&n.Ntest, order)
-               l := (*NodeList)(nil)
+               var l *NodeList
                cleantempnopop(t, order, &l)
                n.Nbody = concat(l, n.Nbody)
                l = nil
@@ -1060,7 +1060,7 @@ func orderexpr(np **Node, order *Order) {
                // Clean temporaries from first branch at beginning of second.
                // Leave them on the stack so that they can be killed in the outer
                // context in case the short circuit is taken.
-               l := (*NodeList)(nil)
+               var l *NodeList
 
                cleantempnopop(mark, order, &l)
                n.Right.Ninit = concat(l, n.Right.Ninit)
index e6211e1ebf7c1517eddf40b19b778b401d5ec1b1..dad53b6f5cd2d438b11240f0686d2ba7870ac18b 100644 (file)
@@ -1296,7 +1296,7 @@ func livenessepilogue(lv *Liveness) {
        any := bvalloc(nvars)
        all := bvalloc(nvars)
        ambig := bvalloc(localswords() * obj.BitsPerPointer)
-       msg := []string(nil)
+       var msg []string
        nmsg := int32(0)
        startmsg := int32(0)
 
index 756f8ebd9404f69455d57affa3aecc2b465122f8..1346128d6fc70cc7fe4ce13297696b2e4922720d 100644 (file)
@@ -283,7 +283,7 @@ func fixjmp(firstp *obj.Prog) {
        mark(firstp)
 
        // pass 3: delete dead code (mostly JMPs).
-       last := (*obj.Prog)(nil)
+       var last *obj.Prog
 
        for p := firstp; p != nil; p = p.Link {
                if p.Opt == dead {
@@ -315,7 +315,7 @@ func fixjmp(firstp *obj.Prog) {
        // pass 4: elide JMP to next instruction.
        // only safe if there are no jumps to JMPs anymore.
        if jmploop == 0 {
-               last := (*obj.Prog)(nil)
+               var last *obj.Prog
                for p := firstp; p != nil; p = p.Link {
                        if p.As == obj.AJMP && p.To.Type == obj.TYPE_BRANCH && p.To.U.Branch == p.Link {
                                if Debug['R'] != 0 && Debug['v'] != 0 {
@@ -1187,7 +1187,7 @@ func nilwalkfwd(fcheck *Flow) {
        // avoid problems like:
        //      _ = *x // should panic
        //      for {} // no writes but infinite loop may be considered visible
-       last := (*Flow)(nil)
+       var last *Flow
 
        for f := Uniqs(fcheck); f != nil; f = Uniqs(f) {
                p = f.Prog
index 3619fed28048e2f466eed44dada4ce9eb2d68f6d..3fd2c268f3712fa2b0bf8fc76b7e34f12907c65a 100644 (file)
@@ -163,7 +163,7 @@ func racewalknode(np **Node, init **NodeList, wr int, skip int) {
                        OCALLINTER:
                        racewalknode(&n.List.N, &n.List.N.Ninit, 0, 0)
 
-                       fini := (*NodeList)(nil)
+                       var fini *NodeList
                        racewalklist(n.List.Next, &fini)
                        n.List = concat(n.List, fini)
 
index 5cc05ea3e5c4aa3ac4b4ea021e9e5cb1a97a2c20..ed50bdf67ea1ad44fbf68f97e7d5fd7f98d830f5 100644 (file)
@@ -136,16 +136,16 @@ out:
 
 func walkrange(n *Node) {
        t := n.Type
-       init := (*NodeList)(nil)
+       var init *NodeList
 
        a := n.Right
        lno := int(setlineno(a))
 
-       v1 := (*Node)(nil)
+       var v1 *Node
        if n.List != nil {
                v1 = n.List.N
        }
-       v2 := (*Node)(nil)
+       var v2 *Node
        if n.List != nil && n.List.Next != nil && !isblank(n.List.Next.N) {
                v2 = n.List.Next.N
        }
@@ -154,7 +154,7 @@ func walkrange(n *Node) {
        // to avoid erroneous processing by racewalk.
        n.List = nil
 
-       hv2 := (*Node)(nil)
+       var hv2 *Node
 
        var body *NodeList
        switch t.Etype {
@@ -250,7 +250,7 @@ func walkrange(n *Node) {
 
                hv1 := temp(Types[TINT])
                hn := temp(Types[TINT])
-               hp := (*Node)(nil)
+               var hp *Node
 
                init = list(init, Nod(OAS, hv1, nil))
                init = list(init, Nod(OAS, hn, Nod(OLEN, ha, nil)))
index 732dd366c6fba932d42696e275496039526fd4cc..e2be03df02e98a757854229accfaca7f99eef0d0 100644 (file)
@@ -275,7 +275,7 @@ func hiter(t *Type) *Type {
  * return function type, receiver as first argument (or not).
  */
 func methodfunc(f *Type, receiver *Type) *Type {
-       in := (*NodeList)(nil)
+       var in *NodeList
        if receiver != nil {
                d := Nod(ODCLFIELD, nil, nil)
                d.Type = receiver
@@ -290,7 +290,7 @@ func methodfunc(f *Type, receiver *Type) *Type {
                in = list(in, d)
        }
 
-       out := (*NodeList)(nil)
+       var out *NodeList
        for t := getoutargx(f).Type; t != nil; t = t.Down {
                d = Nod(ODCLFIELD, nil, nil)
                d.Type = t.Type
@@ -328,7 +328,7 @@ func methods(t *Type) *Sig {
 
        // make list of methods for t,
        // generating code if necessary.
-       a := (*Sig)(nil)
+       var a *Sig
 
        var this *Type
        var b *Sig
@@ -412,8 +412,8 @@ func imethods(t *Type) *Sig {
        var method *Sym
        var isym *Sym
 
-       all := (*Sig)(nil)
-       last := (*Sig)(nil)
+       var all *Sig
+       var last *Sig
        for f := t.Type; f != nil; f = f.Down {
                if f.Etype != TFIELD {
                        Fatal("imethods: not field")
@@ -687,7 +687,7 @@ func dcommontype(s *Sym, ot int, t *Type) int {
        }
        dowidth(t)
        alg := algtype(t)
-       algsym := (*Sym)(nil)
+       var algsym *Sym
        if alg < 0 || alg == AMEM {
                algsym = dalgsym(t)
        }
index ca6a21def9581393e58325c09577f9ee9cbe7665..4fbf826dd2fc4863c6d85255968cee85153de2a3 100644 (file)
@@ -11,7 +11,7 @@ func typecheckselect(sel *Node) {
        var ncase *Node
        var n *Node
 
-       def := (*Node)(nil)
+       var def *Node
        lno := int(setlineno(sel))
        count := 0
        typechecklist(sel.Ninit, Etop)
index 4da2426f9a04c1cce4b02f758f5d19d60a2b284a..60e62e205b9e4a2a0167140f71c5ab325773bd38 100644 (file)
@@ -260,7 +260,7 @@ func initreorder(l *NodeList, out **NodeList) {
 // declarations and outputs the corresponding list of statements
 // to include in the init() function body.
 func initfix(l *NodeList) *NodeList {
-       lout := (*NodeList)(nil)
+       var lout *NodeList
        lno := int(lineno)
        initreorder(l, &lout)
        lineno = int32(lno)
@@ -772,7 +772,7 @@ func slicelit(ctxt int, n *Node, var_ *Node, init **NodeList) {
 
        // if the literal contains constants,
        // make static initialized array (1),(2)
-       vstat := (*Node)(nil)
+       var vstat *Node
 
        mode := getdyn(n, 1)
        if mode&MODECONST != 0 {
@@ -1011,9 +1011,9 @@ func maplit(ctxt int, n *Node, var_ *Node, init **NodeList) {
        }
 
        // put in dynamic entries one-at-a-time
-       key := (*Node)(nil)
+       var key *Node
 
-       val := (*Node)(nil)
+       var val *Node
        for l := n.List; l != nil; l = l.Next {
                r = l.N
 
index 541e2a4e44d7917ddb588dd1c45b53384e134493..4bc26f20945228f15a383f797f515ec2fba99ae8 100644 (file)
@@ -2332,7 +2332,7 @@ func structargs(tl **Type, mustname int) *NodeList {
        var n *Node
        var buf string
 
-       args := (*NodeList)(nil)
+       var args *NodeList
        gen := 0
        for t := Structfirst(&savet, tl); t != nil; t = structnext(&savet) {
                n = nil
@@ -2431,7 +2431,7 @@ func genwrapper(rcvr *Type, method *Type, newnam *Sym, iface int) {
        funchdr(fn)
 
        // arg list
-       args := (*NodeList)(nil)
+       var args *NodeList
 
        isddd := 0
        for l := in; l != nil; l = l.Next {
@@ -2450,7 +2450,7 @@ func genwrapper(rcvr *Type, method *Type, newnam *Sym, iface int) {
 
                // these strings are already in the reflect tables,
                // so no space cost to use them here.
-               l := (*NodeList)(nil)
+               var l *NodeList
 
                var v Val
                v.Ctype = CTSTR
@@ -2670,7 +2670,7 @@ func genhash(sym *Sym, t *Type) {
                // Walk the struct using memhash for runs of AMEM
        // and calling specific hash functions for the others.
        case TSTRUCT:
-               first := (*Type)(nil)
+               var first *Type
 
                offend := int64(0)
                var size int64
@@ -2915,7 +2915,7 @@ func geneq(sym *Sym, t *Type) {
        // and calling specific equality tests for the others.
        // Skip blank-named fields.
        case TSTRUCT:
-               first := (*Type)(nil)
+               var first *Type
 
                offend := int64(0)
                var size int64
@@ -3231,7 +3231,7 @@ func listsort(l **NodeList, f func(*Node, *Node) int) {
 }
 
 func listtreecopy(l *NodeList) *NodeList {
-       out := (*NodeList)(nil)
+       var out *NodeList
        for ; l != nil; l = l.Next {
                out = list(out, treecopy(l.N))
        }
index 3690985407028fe0a4c9983d500b4b109e7b8015..69af782dbc2e4d1cce38940d9eaf1fb7c246cd3c 100644 (file)
@@ -1473,7 +1473,7 @@ reswitch:
                        l = args.N
                        args = args.Next
                        typecheck(&l, Erv)
-                       r := (*Node)(nil)
+                       var r *Node
                        if args != nil {
                                r = args.N
                                args = args.Next
@@ -2282,7 +2282,7 @@ func twoarg(n *Node) int {
 }
 
 func lookdot1(errnode *Node, s *Sym, t *Type, f *Type, dostrcmp int) *Type {
-       r := (*Type)(nil)
+       var r *Type
        for ; f != nil; f = f.Down {
                if dostrcmp != 0 && f.Sym.Name == s.Name {
                        return f
@@ -2361,12 +2361,12 @@ func lookdot(n *Node, t *Type, dostrcmp int) bool {
        s := n.Right.Sym
 
        dowidth(t)
-       f1 := (*Type)(nil)
+       var f1 *Type
        if t.Etype == TSTRUCT || t.Etype == TINTER {
                f1 = lookdot1(n, s, t, t.Type, dostrcmp)
        }
 
-       f2 := (*Type)(nil)
+       var f2 *Type
        if n.Left.Type == t || n.Left.Type.Sym == nil {
                f2 = methtype(t, 0)
                if f2 != nil {
@@ -2713,7 +2713,7 @@ func keydup(n *Node, hash []*Node) {
        }
 
        h := uint(b % uint32(len(hash)))
-       cmp := Node{}
+       var cmp Node
        for a := hash[h]; a != nil; a = a.Ntest {
                cmp.Op = OEQ
                cmp.Left = n
index cc09b4da13f306a7e6125cb33306811bd5ca00bc..22f1ea7eb59d1c7eb574d0e10a1aaecb12702c13 100644 (file)
@@ -287,7 +287,7 @@ func walkstmt(np **Node) {
                if (Curfn.Type.Outnamed != 0 && count(n.List) > 1) || paramoutheap(Curfn) != 0 {
                        // assign to the function out parameters,
                        // so that reorder3 can fix up conflicts
-                       rl := (*NodeList)(nil)
+                       var rl *NodeList
 
                        var cl int
                        for ll := Curfn.Dcl; ll != nil; ll = ll.Next {
@@ -552,7 +552,7 @@ func walkexpr(np **Node, init **NodeList) {
                // cannot put side effects from n->right on init,
                // because they cannot run before n->left is checked.
                // save elsewhere and store on the eventual n->right.
-               ll := (*NodeList)(nil)
+               var ll *NodeList
 
                walkexpr(&n.Right, &ll)
                addinit(&n.Right, ll)
@@ -942,7 +942,7 @@ func walkexpr(np **Node, init **NodeList) {
                buf := fmt.Sprintf("conv%s2%s", from, to)
 
                fn := syslook(buf, 1)
-               ll := (*NodeList)(nil)
+               var ll *NodeList
                if !Isinter(n.Left.Type) {
                        ll = list(ll, typename(n.Left.Type))
                }
@@ -1654,7 +1654,7 @@ func ascompatee(op int, nl *NodeList, nr *NodeList, init **NodeList) *NodeList {
                lr.N = safeexpr(lr.N, init)
        }
 
-       nn := (*NodeList)(nil)
+       var nn *NodeList
        ll = nl
        lr = nr
        for ; ll != nil && lr != nil; (func() { ll = ll.Next; lr = lr.Next })() {
@@ -1682,7 +1682,7 @@ func fncall(l *Node, rt *Type) bool {
        if l.Ullman >= UINF || l.Op == OINDEXMAP {
                return true
        }
-       r := Node{}
+       var r Node
        if needwritebarrier(l, &r) {
                return true
        }
@@ -1706,8 +1706,8 @@ func ascompatet(op int, nl *NodeList, nr **Type, fp int, init **NodeList) *NodeL
         */
        r := Structfirst(&saver, nr)
 
-       nn := (*NodeList)(nil)
-       mm := (*NodeList)(nil)
+       var nn *NodeList
+       var mm *NodeList
        ucount := 0
        for ll = nl; ll != nil; ll = ll.Next {
                if r == nil {
@@ -1846,11 +1846,11 @@ func ascompatte(op int, call *Node, isddd int, nl **Type, lr *NodeList, fp int,
 
        lr0 := lr
        l := Structfirst(&savel, nl)
-       r := (*Node)(nil)
+       var r *Node
        if lr != nil {
                r = lr.N
        }
-       nn := (*NodeList)(nil)
+       var nn *NodeList
 
        // f(g()) where g has multiple return values
        var a *Node
@@ -1869,7 +1869,7 @@ func ascompatte(op int, call *Node, isddd int, nl **Type, lr *NodeList, fp int,
 
                // conversions involved.
                // copy into temporaries.
-               alist := (*NodeList)(nil)
+               var alist *NodeList
 
                for l := Structfirst(&savel, &r.Type); l != nil; l = structnext(&savel) {
                        a = temp(l.Type)
@@ -1958,7 +1958,7 @@ func walkprint(nn *Node, init **NodeList) *Node {
 
        op := int(nn.Op)
        all := nn.List
-       calls := (*NodeList)(nil)
+       var calls *NodeList
        notfirst := false
 
        // Hoist all the argument evaluation up before the lock.
@@ -2337,9 +2337,9 @@ func reorder1(all *NodeList) *NodeList {
                return all
        }
 
-       g := (*NodeList)(nil) // fncalls assigned to tempnames
-       f := (*Node)(nil)     // last fncall assigned to stack
-       r := (*NodeList)(nil) // non fncalls and tempnames assigned to stack
+       var g *NodeList // fncalls assigned to tempnames
+       var f *Node     // last fncall assigned to stack
+       var r *NodeList // non fncalls and tempnames assigned to stack
        d := 0
        var a *Node
        for l := all; l != nil; l = l.Next {
@@ -2388,9 +2388,9 @@ func reorder3(all *NodeList) *NodeList {
        // If a needed expression may be affected by an
        // earlier assignment, make an early copy of that
        // expression and use the copy instead.
-       early := (*NodeList)(nil)
+       var early *NodeList
 
-       mapinit := (*NodeList)(nil)
+       var mapinit *NodeList
        for list := all; list != nil; list = list.Next {
                l = list.N.Left
 
@@ -2691,7 +2691,7 @@ func paramstoheap(argin **Type, out int) *NodeList {
        var v *Node
        var as *Node
 
-       nn := (*NodeList)(nil)
+       var nn *NodeList
        for t := Structfirst(&savet, argin); t != nil; t = structnext(&savet) {
                v = t.Nname
                if v != nil && v.Sym != nil && v.Sym.Name[0] == '~' && v.Sym.Name[1] == 'r' { // unnamed result
@@ -2738,7 +2738,7 @@ func returnsfromheap(argin **Type) *NodeList {
        var savet Iter
        var v *Node
 
-       nn := (*NodeList)(nil)
+       var nn *NodeList
        for t := Structfirst(&savet, argin); t != nil; t = structnext(&savet) {
                v = t.Nname
                if v == nil || v.Class != PHEAP|PPARAMOUT {
@@ -2772,7 +2772,7 @@ func vmkcall(fn *Node, t *Type, init **NodeList, va []*Node) *Node {
                Fatal("mkcall %v %v", Nconv(fn, 0), Tconv(fn.Type, 0))
        }
 
-       args := (*NodeList)(nil)
+       var args *NodeList
        n := fn.Type.Intuple
        for i := 0; i < n; i++ {
                args = list(args, va[i])
@@ -2937,7 +2937,7 @@ func appendslice(n *Node, init **NodeList) *Node {
        l2 := n.List.Next.N
 
        s := temp(l1.Type) // var s []T
-       l := (*NodeList)(nil)
+       var l *NodeList
        l = list(l, Nod(OAS, s, l1)) // s = l1
 
        nt := temp(Types[TINT])
@@ -3057,7 +3057,7 @@ func walkappend(n *Node, init **NodeList) *Node {
                return nsrc
        }
 
-       l := (*NodeList)(nil)
+       var l *NodeList
 
        ns := temp(nsrc.Type)
        l = list(l, Nod(OAS, ns, nsrc)) // s = src
@@ -3129,7 +3129,7 @@ func copyany(n *Node, init **NodeList, runtimecall int) *Node {
        walkexpr(&n.Right, init)
        nl := temp(n.Left.Type)
        nr := temp(n.Right.Type)
-       l := (*NodeList)(nil)
+       var l *NodeList
        l = list(l, Nod(OAS, nl, n.Left))
        l = list(l, Nod(OAS, nr, n.Right))
 
@@ -3235,9 +3235,9 @@ func sliceany(n *Node, init **NodeList) *Node {
 
        // Checking src[lb:hb:cb] or src[lb:hb].
        // if chk0 || chk1 || chk2 { panicslice() }
-       chk0 := (*Node)(nil) // cap(src) < cb
-       chk1 := (*Node)(nil) // cb < hb for src[lb:hb:cb]; cap(src) < hb for src[lb:hb]
-       chk2 := (*Node)(nil) // hb < lb
+       var chk0 *Node // cap(src) < cb
+       var chk1 *Node // cb < hb for src[lb:hb:cb]; cap(src) < hb for src[lb:hb]
+       var chk2 *Node // hb < lb
 
        // All comparisons are unsigned to avoid testing < 0.
        bt := Types[Simtype[TUINT]]
@@ -3421,9 +3421,9 @@ func walkcompare(np **Node, init **NodeList) {
        // Handle != similarly.
        // This avoids the allocation that would be required
        // to convert r to l for comparison.
-       l := (*Node)(nil)
+       var l *Node
 
-       r := (*Node)(nil)
+       var r *Node
        if Isinter(n.Left.Type) && !Isinter(n.Right.Type) {
                l = n.Left
                r = n.Right
@@ -4251,7 +4251,7 @@ func walkprintfunc(np **Node, init **NodeList) {
 
        t := Nod(OTFUNC, nil, nil)
        num := 0
-       printargs := (*NodeList)(nil)
+       var printargs *NodeList
        var a *Node
        var buf string
        for l := n.List; l != nil; l = l.Next {
index 369d3a41f20c79ba70a31ed4e265405954a75942..e1f79e8207b0a75e2207bc8059969b2635278cc8 100644 (file)
@@ -1153,7 +1153,7 @@ func dodata() {
        }
        Bflush(&Bso)
 
-       last := (*LSym)(nil)
+       var last *LSym
        datap = nil
 
        for s := Ctxt.Allsym; s != nil; s = s.Allsym {
@@ -1643,10 +1643,10 @@ func address() {
        if HEADTYPE == Hplan9 {
                Segdata.Fileoff = Segtext.Fileoff + Segtext.Filelen
        }
-       data := (*Section)(nil)
-       noptr := (*Section)(nil)
-       bss := (*Section)(nil)
-       noptrbss := (*Section)(nil)
+       var data *Section
+       var noptr *Section
+       var bss *Section
+       var noptrbss *Section
        var vlen int64
        for s := Segdata.Sect; s != nil; s = s.Next {
                vlen = int64(s.Length)
index 4d3715bd479ec95819ebd721585cac4e325fb443..f85018082295231726c6bd2dc6c54923523700a2 100644 (file)
@@ -995,7 +995,7 @@ func putdie(die *DWDie) {
 
 func reverselist(list **DWDie) {
        curr := *list
-       prev := (*DWDie)(nil)
+       var prev *DWDie
        for curr != nil {
                var next *DWDie = curr.link
                curr.link = prev
@@ -1537,7 +1537,7 @@ func defdwsymb(sym *LSym, s string, t int, v int64, size int64, ver int, gotype
                return
        }
 
-       dv := (*DWDie)(nil)
+       var dv *DWDie
 
        var dt *DWDie
        switch t {
@@ -1678,9 +1678,9 @@ func writelines() {
        unitstart := int64(-1)
        headerend := int64(-1)
        epc := int64(0)
-       epcs := (*LSym)(nil)
+       var epcs *LSym
        lineo = Cpos()
-       dwinfo := (*DWDie)(nil)
+       var dwinfo *DWDie
 
        flushunit(dwinfo, epc, epcs, unitstart, int32(headerend-unitstart-10))
        unitstart = Cpos()
@@ -2488,7 +2488,7 @@ func dwarfaddelfheaders() {
                sh.addralign = 1
        }
 
-       sharanges := (*ElfShdr)(nil)
+       var sharanges *ElfShdr
        if arangessize != 0 {
                sh := newElfShdr(elfstrdbg[ElfStrDebugAranges])
                sh.type_ = SHT_PROGBITS
index be66fab4da5e1ca80e0b6df8eb3cf259a7337c91..32c9aeb9d547e1cdff7f0b386d59df00ad558d08 100644 (file)
@@ -1260,7 +1260,7 @@ func elfdynhash() {
                i >>= 1
        }
 
-       needlib := (*Elflib)(nil)
+       var needlib *Elflib
        need := make([]*Elfaux, nsym)
        chain := make([]uint32, nsym)
        buckets := make([]uint32, nbucket)
@@ -1885,7 +1885,7 @@ func Asmbelf(symo int64) {
        startva := INITTEXT - int64(HEADR)
        resoff := int64(ELFRESERVE)
 
-       pph := (*ElfPhdr)(nil)
+       var pph *ElfPhdr
        var pnote *ElfPhdr
        if Linkmode == LinkExternal {
                /* skip program headers */
@@ -1958,7 +1958,7 @@ func Asmbelf(symo int64) {
 
        pnote = nil
        if HEADTYPE == Hnetbsd || HEADTYPE == Hopenbsd {
-               sh := (*ElfShdr)(nil)
+               var sh *ElfShdr
                switch HEADTYPE {
                case Hnetbsd:
                        sh = elfshname(".note.netbsd.ident")
index f529cea9a7d2172cf3a22f7192aefd9ca9e630d5..93ba58cbad275d86aff405c6ad52539705640dcc 100644 (file)
@@ -664,7 +664,7 @@ func deadcode() {
        }
 
        // remove dead text but keep file information (z symbols).
-       last := (*LSym)(nil)
+       var last *LSym
 
        for s := Ctxt.Textp; s != nil; s = s.Next {
                if !s.Reachable {
index 372dc182d29bc8e0d5958e9ac919ca503185a616..d5d048901e0f4076a2bc99a991874da19e921e63 100644 (file)
@@ -285,8 +285,6 @@ func valuecmp(a *LSym, b *LSym) int {
 }
 
 func ldelf(f *Biobuf, pkg string, length int64, pn string) {
-       symbols := []*LSym(nil)
-
        if Debug['v'] != 0 {
                fmt.Fprintf(&Bso, "%5.2f ldelf %s\n", obj.Cputime(), pn)
        }
@@ -314,6 +312,7 @@ func ldelf(f *Biobuf, pkg string, length int64, pn string) {
        var s *LSym
        var sect *ElfSect
        var sym ElfSym
+       var symbols []*LSym
        if Bread(f, hdrbuf[:]) != len(hdrbuf) {
                goto bad
        }
@@ -835,7 +834,7 @@ func readelfsym(elfobj *ElfObj, i int, sym *ElfSym, needSym int) (err error) {
                sym.other = b.Other
        }
 
-       s := (*LSym)(nil)
+       var s *LSym
        if sym.name == "_GLOBAL_OFFSET_TABLE_" {
                sym.name = ".got"
        }
index 0daf88780a8acff424fa2aa10816a3fee4908f95..bd33fce4d6a0967fdee3efc6622939f1bc704b45 100644 (file)
@@ -131,7 +131,7 @@ func ldpe(f *Biobuf, pkg string, length int64, pn string) {
                fmt.Fprintf(&Bso, "%5.2f ldpe %s\n", obj.Cputime(), pn)
        }
 
-       sect := (*PeSect)(nil)
+       var sect *PeSect
        Ctxt.Version++
        base := int32(Boffset(f))
 
index 9fe63f3f77fb737efb4706073a93a1d12e4db4ca..2cef2debe925b6a6fc2afe57d063bc0a38e3c0df 100644 (file)
@@ -423,7 +423,7 @@ func Asmbmacho() {
                mh.subcpu = MACHO_SUBCPU_X86
        }
 
-       ms := (*MachoSeg)(nil)
+       var ms *MachoSeg
        if Linkmode == LinkExternal {
                /* segment for entire file */
                ms = newMachoSeg("", 40)
index 003c1063fcbe671ac6484a8aae652710cde40a01..5d0eb0257b21e95dd07b25c13804719cbe49f83b 100644 (file)
@@ -19,7 +19,7 @@ var endmagic string = "\xff\xffgo13ld"
 func ldobjfile(ctxt *Link, f *Biobuf, pkg string, length int64, pn string) {
        start := Boffset(f)
        ctxt.Version++
-       buf := [8]uint8{}
+       var buf [8]uint8
        Bread(f, buf[:])
        if string(buf[:]) != startmagic {
                log.Fatalf("%s: invalid file start %x %x %x %x %x %x %x %x", pn, buf[0], buf[1], buf[2], buf[3], buf[4], buf[5], buf[6], buf[7])
@@ -82,7 +82,7 @@ func readsym(ctxt *Link, f *Biobuf, pkg string, pn string) {
                v = ctxt.Version
        }
        s := Linklookup(ctxt, name, v)
-       dup := (*LSym)(nil)
+       var dup *LSym
        if s.Type != 0 && s.Type != SXREF {
                if (t == SDATA || t == SBSS || t == SNOPTRBSS) && len(data) == 0 && nreloc == 0 {
                        if s.Size < int64(size) {
index e8ef252a19678a3496c8bf9fccbc3f56379d6be5..a74143d9fd24f4a8b9236997ea656c60f02beb86 100644 (file)
@@ -153,7 +153,7 @@ func renumberfiles(ctxt *Link, files []*LSym, d *Pcdata) {
        }
 
        newval := int32(-1)
-       out := Pcdata{}
+       var out Pcdata
 
        var dv int32
        var it Pciter
@@ -229,7 +229,7 @@ func pclntab() {
        setuintxx(Ctxt, ftab, 8, uint64(nfunc), int64(Thearch.Ptrsize))
 
        nfunc = 0
-       last := (*LSym)(nil)
+       var last *LSym
        var end int32
        var frameptrsize int32
        var funcstart int32
index 30fe400bb3fb1861594c6dbbb8e3c12387df81ab..7af1e5a63d3572c114d8d1a975ae9b7527a3503b 100644 (file)
@@ -467,7 +467,7 @@ func initdynimport() *Dll {
        var d *Dll
 
        dr = nil
-       m := (*Imp)(nil)
+       var m *Imp
        for s := Ctxt.Allsym; s != nil; s = s.Allsym {
                if !s.Reachable || s.Type != SDYNIMPORT {
                        continue
index 5a1d6b9c0b5ab8a61e86bda297824b6e9c14a42f..ca464b6de6929ded6860dcd97d52c17e615e261c 100644 (file)
@@ -187,8 +187,6 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) {
                ctxt.Symmorestack[1] = obj.Linklookup(ctxt, "runtime.morestack_noctxt", 0)
        }
 
-       q := (*obj.Prog)(nil)
-
        ctxt.Cursym = cursym
 
        if cursym.Text == nil || cursym.Text.Link == nil {
@@ -271,6 +269,7 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) {
         * expand BECOME pseudo
         */
        var q1 *obj.Prog
+       var q *obj.Prog
        for p := cursym.Text; p != nil; p = p.Link {
                switch p.As {
                case ACASE:
index 5663afb1fe21f26932d093c246cc6bcfde40d907..c925cff0e912b14414e0e359b65bb878b105d4c6 100644 (file)
@@ -244,13 +244,12 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) {
        cursym.Locals = autoffset
        cursym.Args = p.To.U.Argsize
 
-       q := (*obj.Prog)(nil)
-
        if p.From3.Offset&obj.NOSPLIT == 0 || (p.From3.Offset&obj.WRAPPER != 0) {
                p = obj.Appendp(ctxt, p)
                p = load_g_cx(ctxt, p) // load g into CX
        }
 
+       var q *obj.Prog
        if cursym.Text.From3.Offset&obj.NOSPLIT == 0 {
                p = stacksplit(ctxt, p, autoffset, cursym.Text.From3.Offset&obj.NEEDCTXT == 0, &q) // emit split check
        }
@@ -523,7 +522,7 @@ func stacksplit(ctxt *obj.Link, p *obj.Prog, framesize int32, noctxt bool, jmpok
                q1.Pcond = p
        }
 
-       q1 := (*obj.Prog)(nil)
+       var q1 *obj.Prog
 
        if framesize <= obj.StackSmall {
                // small stack: SP <= stackguard
index 6e76a39c5374a84fba0c970507324d4b175644c3..ef17d721f762763a5a079a85e49c23ffd014a806 100644 (file)
@@ -26,12 +26,12 @@ func Writeobjdirect(ctxt *Link, b *Biobuf) {
        // Build list of symbols, and assign instructions to lists.
        // Ignore ctxt->plist boundaries. There are no guarantees there,
        // and the C compilers and assemblers just use one big list.
-       text := (*LSym)(nil)
+       var text *LSym
 
-       curtext := (*LSym)(nil)
-       data := (*LSym)(nil)
-       etext := (*LSym)(nil)
-       edata := (*LSym)(nil)
+       var curtext *LSym
+       var data *LSym
+       var etext *LSym
+       var edata *LSym
        for pl := ctxt.Plist; pl != nil; pl = pl.Link {
                for p = pl.Firstpc; p != nil; p = plink {
                        if ctxt.Debugasm != 0 && ctxt.Debugvlog != 0 {
index 67057f09dfa21738246241468c56180fb694ccdd..75eca370573c4182c6f77af3b53b5d4d4d2f675f 100644 (file)
@@ -144,7 +144,7 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) {
        }
        obj.Bflush(ctxt.Bso)
 
-       q := (*obj.Prog)(nil)
+       var q *obj.Prog
        var q1 *obj.Prog
        for p := cursym.Text; p != nil; p = p.Link {
                switch p.As {
@@ -645,7 +645,7 @@ func stacksplit(ctxt *obj.Link, p *obj.Prog, framesize int32, noctxt bool) *obj.
        p.To.Type = obj.TYPE_REG
        p.To.Reg = REG_R3
 
-       q := (*obj.Prog)(nil)
+       var q *obj.Prog
        if framesize <= obj.StackSmall {
                // small stack: SP < stackguard
                //      CMP     stackguard, SP
index 2b1c3a2cc1121517c1faad86b5f590683ca69ecf..5060049d58cef7f2aa45718d6b7d65fc88046b1f 100644 (file)
@@ -363,12 +363,12 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) {
        noleaf:
        }
 
-       q := (*obj.Prog)(nil)
        if p.From3.Offset&obj.NOSPLIT == 0 || (p.From3.Offset&obj.WRAPPER != 0) {
                p = obj.Appendp(ctxt, p)
                p = load_g_cx(ctxt, p) // load g into CX
        }
 
+       var q *obj.Prog
        if cursym.Text.From3.Offset&obj.NOSPLIT == 0 {
                p = stacksplit(ctxt, p, autoffset, int32(textarg), cursym.Text.From3.Offset&obj.NEEDCTXT == 0, &q) // emit split check
        }
@@ -718,7 +718,7 @@ func stacksplit(ctxt *obj.Link, p *obj.Prog, framesize int32, textarg int32, noc
                sub = ASUBL
        }
 
-       q1 := (*obj.Prog)(nil)
+       var q1 *obj.Prog
        if framesize <= obj.StackSmall {
                // small stack: SP <= stackguard
                //      CMPQ SP, stackguard