From: Josh Bleecher Snyder Date: Sun, 23 Apr 2017 23:34:35 +0000 (-0700) Subject: cmd/compile: count init functions from 0, not 1 X-Git-Tag: go1.9beta1~518 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=a73a330cdfba1d9960f4e8de3f238a00caba1a14;p=gostls13.git cmd/compile: count init functions from 0, not 1 While we're here, do minor style cleanup. Also, since we know exactly how many init functions there are, use that knowledge. This is cleanup prior to a more substantive CL. Change-Id: I2bba60b3c051c852590f798f45e8268f8bc54ca8 Reviewed-on: https://go-review.googlesource.com/41499 Run-TryBot: Josh Bleecher Snyder TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- diff --git a/src/cmd/compile/internal/gc/init.go b/src/cmd/compile/internal/gc/init.go index df2d70fcaf..7dee46a17c 100644 --- a/src/cmd/compile/internal/gc/init.go +++ b/src/cmd/compile/internal/gc/init.go @@ -6,17 +6,16 @@ package gc import "cmd/compile/internal/types" -// a function named init is a special case. -// it is called by the initialization before -// main is run. to make it unique within a -// package and also uncallable, the name, -// normally "pkg.init", is altered to "pkg.init.1". - -var renameinit_initgen int +// A function named init is a special case. +// It is called by the initialization before main is run. +// To make it unique within a package and also uncallable, +// the name, normally "pkg.init", is altered to "pkg.init.0". +var renameinitgen int func renameinit() *types.Sym { - renameinit_initgen++ - return lookupN("init.", renameinit_initgen) + s := lookupN("init.", renameinitgen) + renameinitgen++ + return s } // anyinit reports whether there any interesting init statements. @@ -39,7 +38,7 @@ func anyinit(n []*Node) bool { } // is there an explicit init function - if s := lookup("init.1"); s.Def != nil { + if renameinitgen > 0 { return true } @@ -126,11 +125,8 @@ func fninit(n []*Node) { // (8) // could check that it is fn of no args/returns - for i := 1; ; i++ { + for i := 0; i < renameinitgen; i++ { s := lookupN("init.", i) - if s.Def == nil { - break - } a = nod(OCALL, asNode(s.Def), nil) r = append(r, a) }