diff options
Diffstat (limited to 'src/cmd')
42 files changed, 73 insertions, 64 deletions
diff --git a/src/cmd/api/main_test.go b/src/cmd/api/main_test.go index 7985055b5c..1363ade1b9 100644 --- a/src/cmd/api/main_test.go +++ b/src/cmd/api/main_test.go @@ -168,7 +168,7 @@ func Check(t *testing.T) { bw := bufio.NewWriter(os.Stdout) defer bw.Flush() - var required []string + var required = make([]string, 0, len(checkFiles)) for _, file := range checkFiles { required = append(required, fileFeatures(file, needApproval(file))...) } @@ -657,7 +657,7 @@ func (w *Walker) importFrom(fromPath, fromDir string, mode types.ImportMode) (*a filenames := append(append([]string{}, info.GoFiles...), info.CgoFiles...) // Parse package files. - var files []*ast.File + var files = make([]*ast.File, 0, len(filenames)) for _, file := range filenames { f, err := w.parseFile(dir, file) if err != nil { diff --git a/src/cmd/asm/internal/asm/endtoend_test.go b/src/cmd/asm/internal/asm/endtoend_test.go index 6e1aa1cd95..5981f9ed2c 100644 --- a/src/cmd/asm/internal/asm/endtoend_test.go +++ b/src/cmd/asm/internal/asm/endtoend_test.go @@ -363,7 +363,7 @@ func testErrors(t *testing.T, goarch, file string, flags ...string) { } delete(errors, fileline) } - var extra []string + extra := make([]string, 0, len(errors)) for key := range errors { extra = append(extra, key) } diff --git a/src/cmd/asm/internal/lex/input.go b/src/cmd/asm/internal/lex/input.go index da4ebe6d6e..d9bbd90d82 100644 --- a/src/cmd/asm/internal/lex/input.go +++ b/src/cmd/asm/internal/lex/input.go @@ -309,7 +309,7 @@ func (in *Input) invokeMacro(macro *Macro) { return } actuals := in.argsFor(macro) - var tokens []Token + tokens := make([]Token, 0, len(macro.tokens)) for _, tok := range macro.tokens { if tok.ScanToken != scanner.Ident { tokens = append(tokens, tok) diff --git a/src/cmd/cgo/ast.go b/src/cmd/cgo/ast.go index 3cbbeafdca..861479db7a 100644 --- a/src/cmd/cgo/ast.go +++ b/src/cmd/cgo/ast.go @@ -181,7 +181,7 @@ func (f *File) ParseGo(abspath string, src []byte) { // Like ast.CommentGroup's Text method but preserves // leading blank lines, so that line numbers line up. func commentText(g *ast.CommentGroup) string { - var pieces []string + pieces := make([]string, 0, len(g.List)) for _, com := range g.List { c := com.Text // Remove comment markers. diff --git a/src/cmd/cgo/gcc.go b/src/cmd/cgo/gcc.go index 6e7556de96..e5366435cc 100644 --- a/src/cmd/cgo/gcc.go +++ b/src/cmd/cgo/gcc.go @@ -281,9 +281,11 @@ func (p *Package) loadDefines(f *File) { func (p *Package) guessKinds(f *File) []*Name { // Determine kinds for names we already know about, // like #defines or 'struct foo', before bothering with gcc. - var names, needType []*Name + keys := nameKeys(f.Name) + names := make([]*Name, 0, len(keys)) + needType := make([]*Name, 0, len(keys)) optional := map[*Name]bool{} - for _, key := range nameKeys(f.Name) { + for _, key := range keys { n := f.Name[key] // If we've already found this name as a #define // and we can translate it as a constant value, do so. diff --git a/src/cmd/cgo/main.go b/src/cmd/cgo/main.go index fce2671c2c..111ccddffc 100644 --- a/src/cmd/cgo/main.go +++ b/src/cmd/cgo/main.go @@ -80,7 +80,7 @@ func (f *File) offset(p token.Pos) int { } func nameKeys(m map[string]*Name) []string { - var ks []string + ks := make([]string, 0, len(m)) for k := range m { ks = append(ks, k) } diff --git a/src/cmd/compile/internal/ssa/loopbce.go b/src/cmd/compile/internal/ssa/loopbce.go index dd1f39dbef..931dc60af7 100644 --- a/src/cmd/compile/internal/ssa/loopbce.go +++ b/src/cmd/compile/internal/ssa/loopbce.go @@ -83,7 +83,7 @@ func parseIndVar(ind *Value) (min, inc, nxt *Value) { // // exit_loop: func findIndVar(f *Func) []indVar { - var iv []indVar + iv := make([]indVar, 0, len(f.Blocks)) sdom := f.Sdom() for _, b := range f.Blocks { diff --git a/src/cmd/compile/internal/ssa/regalloc.go b/src/cmd/compile/internal/ssa/regalloc.go index 2325b9ee45..e65652c12b 100644 --- a/src/cmd/compile/internal/ssa/regalloc.go +++ b/src/cmd/compile/internal/ssa/regalloc.go @@ -892,10 +892,10 @@ var tmpVal Value func (s *regAllocState) regalloc(f *Func) { regValLiveSet := f.newSparseSet(f.NumValues()) // set of values that may be live in register defer f.retSparseSet(regValLiveSet) - var oldSched []*Value - var phis []*Value - var phiRegs []register - var args []*Value + oldSched := make([]*Value, 0, len(s.visitOrder)) + phis := make([]*Value, 0, len(s.visitOrder)) + phiRegs := make([]register, 0, len(s.visitOrder)) + args := make([]*Value, 0, len(s.visitOrder)) // Data structure used for computing desired registers. var desired desiredState @@ -2082,7 +2082,7 @@ func (s *regAllocState) placeSpills() { } // Insert spill instructions into the block schedules. - var oldSched []*Value + oldSched := make([]*Value, 0, len(s.visitOrder)) for _, b := range s.visitOrder { nfirst := 0 for _, v := range b.Values { diff --git a/src/cmd/compile/internal/ssa/schedule.go b/src/cmd/compile/internal/ssa/schedule.go index fb38f40d63..d67d1d5a0b 100644 --- a/src/cmd/compile/internal/ssa/schedule.go +++ b/src/cmd/compile/internal/ssa/schedule.go @@ -440,7 +440,7 @@ func storeOrder(values []*Value, sset *sparseSet, storeNumber []int32) []*Value } w = w.MemoryArg() } - var stack []*Value + stack := make([]*Value, 0, len(values)) for _, v := range values { if sset.contains(v.ID) { // in sset means v is a store, or already pushed to stack, or already assigned a store number diff --git a/src/cmd/compile/internal/ssagen/ssa.go b/src/cmd/compile/internal/ssagen/ssa.go index df933ec1cf..90388d2b0f 100644 --- a/src/cmd/compile/internal/ssagen/ssa.go +++ b/src/cmd/compile/internal/ssagen/ssa.go @@ -753,7 +753,7 @@ func dumpSourcesColumn(writer *ssa.HTMLWriter, fn *ir.Func) { } // Read sources of inlined functions. - var inlFns []*ssa.FuncLines + inlFns := make([]*ssa.FuncLines, 0, len(ssaDumpInlined)) for _, fi := range ssaDumpInlined { elno := fi.Endlineno fname := base.Ctxt.PosTable.Pos(fi.Pos()).Filename() @@ -4152,7 +4152,7 @@ type intrinsicKey struct { func InitTables() { intrinsics = map[intrinsicKey]intrinsicBuilder{} - var all []*sys.Arch + all := make([]*sys.Arch, 0, len(sys.Archs)) var p4 []*sys.Arch var p8 []*sys.Arch var lwatomics []*sys.Arch diff --git a/src/cmd/compile/internal/test/ssa_test.go b/src/cmd/compile/internal/test/ssa_test.go index 7f2faa1140..fb397820c7 100644 --- a/src/cmd/compile/internal/test/ssa_test.go +++ b/src/cmd/compile/internal/test/ssa_test.go @@ -76,7 +76,6 @@ func TestCode(t *testing.T) { tmpdir := t.TempDir() // Find all the test functions (and the files containing them). - var srcs []string // files containing Test functions type test struct { name string // TestFoo usesFloat bool // might use float operations @@ -86,6 +85,7 @@ func TestCode(t *testing.T) { if err != nil { t.Fatalf("can't read testdata directory: %v", err) } + srcs := make([]string, 0, len(files)) // files containing Test functions for _, f := range files { if !strings.HasSuffix(f.Name(), "_test.go") { continue diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go index 96199bcbfa..f778c85475 100644 --- a/src/cmd/dist/build.go +++ b/src/cmd/dist/build.go @@ -707,7 +707,7 @@ func runInstall(pkg string, ch chan struct{}) { // Start final link command line. // Note: code below knows that link.p[targ] is the target. var ( - link []string + link = make([]string, 0, 1) targ int ispackcmd bool ) @@ -1914,7 +1914,7 @@ func cmdlist() { brokenFlag := flag.Bool("broken", false, "include broken ports") xflagparse(0) - var plats []string + plats := make([]string, 0, len(cgoEnabled)) for p := range cgoEnabled { if broken[p] && !*brokenFlag { continue @@ -1937,7 +1937,7 @@ func cmdlist() { FirstClass bool Broken bool `json:",omitempty"` } - var results []jsonResult + results := make([]jsonResult, 0, len(plats)) for _, p := range plats { fields := strings.Split(p, "/") results = append(results, jsonResult{ diff --git a/src/cmd/doc/pkg.go b/src/cmd/doc/pkg.go index a21d8a4688..bef480ab92 100644 --- a/src/cmd/doc/pkg.go +++ b/src/cmd/doc/pkg.go @@ -443,7 +443,7 @@ func (pkg *Package) formatTypeParams(list *ast.FieldList, depth int) string { // oneLineField returns a one-line summary of the field. func (pkg *Package) oneLineField(field *ast.Field, depth int) string { - var names []string + names := make([]string, 0, len(field.Names)) for _, name := range field.Names { names = append(names, name.Name) } diff --git a/src/cmd/fix/typecheck.go b/src/cmd/fix/typecheck.go index b115987390..173de52e90 100644 --- a/src/cmd/fix/typecheck.go +++ b/src/cmd/fix/typecheck.go @@ -303,7 +303,7 @@ func typecheck(cfg *TypeConfig, f *ast.File) (typeof map[any]string, assign map[ var reportCgoError func(err error) func makeExprList(a []*ast.Ident) []ast.Expr { - var b []ast.Expr + b := make([]ast.Expr, 0, len(a)) for _, x := range a { b = append(b, x) } diff --git a/src/cmd/go/internal/base/path.go b/src/cmd/go/internal/base/path.go index 64f213b408..797cb37dd0 100644 --- a/src/cmd/go/internal/base/path.go +++ b/src/cmd/go/internal/base/path.go @@ -46,7 +46,7 @@ func ShortPath(path string) string { // RelPaths returns a copy of paths with absolute paths // made relative to the current directory if they would be shorter. func RelPaths(paths []string) []string { - var out []string + out := make([]string, 0, len(paths)) for _, p := range paths { rel, err := filepath.Rel(Cwd(), p) if err == nil && len(rel) < len(p) { diff --git a/src/cmd/go/internal/imports/scan.go b/src/cmd/go/internal/imports/scan.go index ee11a8708b..e18f28c351 100644 --- a/src/cmd/go/internal/imports/scan.go +++ b/src/cmd/go/internal/imports/scan.go @@ -98,7 +98,7 @@ Files: var ErrNoGo = fmt.Errorf("no Go source files") func keys(m map[string]bool) []string { - var list []string + list := make([]string, 0, len(m)) for k := range m { list = append(list, k) } diff --git a/src/cmd/go/internal/load/flag_test.go b/src/cmd/go/internal/load/flag_test.go index d3223e12d5..f0d970421d 100644 --- a/src/cmd/go/internal/load/flag_test.go +++ b/src/cmd/go/internal/load/flag_test.go @@ -95,7 +95,7 @@ var ppfTests = []ppfTest{ } func ppfDirTest(pattern string, nmatch int, dirs ...string) ppfTest { - var pkgs []ppfTestPackage + pkgs := make([]ppfTestPackage, 0, len(dirs)) for i, d := range dirs { flags := []string{} if i < nmatch { diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go index 1549800afb..b06b597334 100644 --- a/src/cmd/go/internal/load/pkg.go +++ b/src/cmd/go/internal/load/pkg.go @@ -3180,7 +3180,7 @@ func GoFilesPackage(ctx context.Context, opts PackageOpts, gofiles []string) *Pa // to make it look like this is a standard package or // command directory. So that local imports resolve // consistently, the files must all be in the same directory. - var dirent []fs.FileInfo + dirent := make([]os.FileInfo, 0, len(gofiles)) var dir string for _, file := range gofiles { fi, err := fsys.Stat(file) diff --git a/src/cmd/go/internal/load/test.go b/src/cmd/go/internal/load/test.go index d09ababfdd..a35632b2bd 100644 --- a/src/cmd/go/internal/load/test.go +++ b/src/cmd/go/internal/load/test.go @@ -109,7 +109,7 @@ func TestPackagesAndErrors(ctx context.Context, done func(), opts PackageOpts, p pre.preloadImports(ctx, opts, allImports, p.Internal.Build) var ptestErr, pxtestErr *PackageError - var imports, ximports []*Package + imports := make([]*Package, 0, len(p.TestImports)) var stk ImportStack var testEmbed, xtestEmbed map[string][]string var incomplete bool @@ -144,6 +144,7 @@ func TestPackagesAndErrors(ctx context.Context, done func(), opts PackageOpts, p pxtestNeedsPtest := false var pxtestIncomplete bool rawXTestImports := str.StringList(p.XTestImports) + ximports := make([]*Package, 0, len(p.XTestImports)) for i, path := range p.XTestImports { p1, err := loadImport(ctx, opts, pre, path, p.Dir, p, &stk, p.Internal.Build.XTestImportPos[path], ResolveImport) if err != nil && pxtestErr == nil { diff --git a/src/cmd/go/internal/mvs/mvs.go b/src/cmd/go/internal/mvs/mvs.go index 468a985927..f30677b3b6 100644 --- a/src/cmd/go/internal/mvs/mvs.go +++ b/src/cmd/go/internal/mvs/mvs.go @@ -242,7 +242,7 @@ func Req(mainModule module.Version, base []string, reqs Reqs) ([]module.Version, return nil } // First walk the base modules that must be listed. - var min []module.Version + min := make([]module.Version, 0, len(base)) haveBase := map[string]bool{} for _, path := range base { if haveBase[path] { diff --git a/src/cmd/go/internal/search/search.go b/src/cmd/go/internal/search/search.go index 9f216d5756..e5949d318d 100644 --- a/src/cmd/go/internal/search/search.go +++ b/src/cmd/go/internal/search/search.go @@ -399,7 +399,7 @@ func CleanPatterns(patterns []string) []string { if len(patterns) == 0 { return []string{"."} } - var out []string + out := make([]string, 0, len(patterns)) for _, a := range patterns { var p, v string if build.IsLocalImport(a) || filepath.IsAbs(a) { diff --git a/src/cmd/go/internal/test/test.go b/src/cmd/go/internal/test/test.go index 8a40547f2e..99d1c0a6f8 100644 --- a/src/cmd/go/internal/test/test.go +++ b/src/cmd/go/internal/test/test.go @@ -943,7 +943,7 @@ func runTest(ctx context.Context, cmd *base.Command, args []string) { } // Collect all the packages imported by the packages being tested. - allImports := make(map[*load.Package]bool) + allImports := make(map[*load.Package]bool, len(pkgs)) for _, p := range pkgs { if p.Error != nil && p.Error.IsImportCycle { continue diff --git a/src/cmd/go/internal/work/action.go b/src/cmd/go/internal/work/action.go index a59072e591..b4f96988ab 100644 --- a/src/cmd/go/internal/work/action.go +++ b/src/cmd/go/internal/work/action.go @@ -208,7 +208,7 @@ func actionGraphJSON(a *Action) string { } } - var list []*actionJSON + list := make([]*actionJSON, 0, len(workq)) for id, a := range workq { if a.json == nil { a.json = &actionJSON{ diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go index 408edb5119..60034f3071 100644 --- a/src/cmd/go/internal/work/build.go +++ b/src/cmd/go/internal/work/build.go @@ -729,7 +729,7 @@ func runInstall(ctx context.Context, cmd *base.Command, args []string) { // omitTestOnly returns pkgs with test-only packages removed. func omitTestOnly(pkgs []*load.Package) []*load.Package { - var list []*load.Package + list := make([]*load.Package, 0, len(pkgs)) for _, p := range pkgs { if len(p.GoFiles)+len(p.CgoFiles) == 0 && !p.Internal.CmdlinePkgLiteral { // Package has no source files, diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go index f6aa2b3534..3200dd76a5 100644 --- a/src/cmd/go/internal/work/exec.go +++ b/src/cmd/go/internal/work/exec.go @@ -1069,8 +1069,9 @@ func (b *Builder) loadCachedVet(a *Action) error { if err != nil { return fmt.Errorf("reading srcfiles list: %w", err) } - var srcfiles []string - for _, name := range strings.Split(string(list), "\n") { + listSplits := strings.Split(string(list), "\n") + srcfiles := make([]string, 0, len(listSplits)) + for _, name := range listSplits { if name == "" { // end of list continue } @@ -1093,8 +1094,12 @@ func (b *Builder) loadCachedCompiledGoFiles(a *Action) error { if err != nil { return fmt.Errorf("reading srcfiles list: %w", err) } - var gofiles []string - for _, name := range strings.Split(string(list), "\n") { + var ( + listSplits = strings.Split(string(list), "\n") + gofiles = make([]string, 0, len(listSplits)) + name string + ) + for _, name = range listSplits { if name == "" { // end of list continue } else if !strings.HasSuffix(name, ".go") { diff --git a/src/cmd/go/internal/work/gc.go b/src/cmd/go/internal/work/gc.go index 09ea8259e0..541392ecc0 100644 --- a/src/cmd/go/internal/work/gc.go +++ b/src/cmd/go/internal/work/gc.go @@ -387,7 +387,7 @@ func (gcToolchain) asm(b *Builder, a *Action, sfiles []string) ([]string, error) p := a.Package args := asmArgs(a, p) - var ofiles []string + ofiles := make([]string, 0, len(sfiles)) for _, sfile := range sfiles { overlayPath, _ := fsys.OverlayPath(mkAbs(p.Dir, sfile)) ofile := a.Objdir + sfile[:len(sfile)-len(".s")] + ".o" @@ -463,7 +463,7 @@ func toolVerify(a *Action, b *Builder, p *load.Package, newTool string, ofile st } func (gcToolchain) pack(b *Builder, a *Action, afile string, ofiles []string) error { - var absOfiles []string + absOfiles := make([]string, 0, len(ofiles)) for _, f := range ofiles { absOfiles = append(absOfiles, mkAbs(a.Objdir, f)) } diff --git a/src/cmd/go/internal/work/gccgo.go b/src/cmd/go/internal/work/gccgo.go index 2dce9f1ace..e07f866739 100644 --- a/src/cmd/go/internal/work/gccgo.go +++ b/src/cmd/go/internal/work/gccgo.go @@ -194,7 +194,7 @@ func buildImportcfgSymlinks(sh *Shell, root string, importcfg []byte) error { func (tools gccgoToolchain) asm(b *Builder, a *Action, sfiles []string) ([]string, error) { p := a.Package - var ofiles []string + ofiles := make([]string, 0, len(sfiles)) for _, sfile := range sfiles { base := filepath.Base(sfile) ofile := a.Objdir + base[:len(base)-len(".s")] + ".o" @@ -229,7 +229,7 @@ func (tools gccgoToolchain) pack(b *Builder, a *Action, afile string, ofiles []s p := a.Package sh := b.Shell(a) objdir := a.Objdir - var absOfiles []string + absOfiles := make([]string, 0, len(ofiles)) for _, f := range ofiles { absOfiles = append(absOfiles, mkAbs(objdir, f)) } diff --git a/src/cmd/internal/edit/edit.go b/src/cmd/internal/edit/edit.go index 2d470f4c8a..57c0820eb1 100644 --- a/src/cmd/internal/edit/edit.go +++ b/src/cmd/internal/edit/edit.go @@ -71,7 +71,7 @@ func (b *Buffer) Bytes() []byte { // to be applied before a replacement of the text at [x, y). sort.Stable(b.q) - var new []byte + new := make([]byte, 0, len(b.q)) offset := 0 for i, e := range b.q { if e.start < offset { diff --git a/src/cmd/internal/objfile/elf.go b/src/cmd/internal/objfile/elf.go index f25e4a65d6..e12e273684 100644 --- a/src/cmd/internal/objfile/elf.go +++ b/src/cmd/internal/objfile/elf.go @@ -32,7 +32,7 @@ func (f *elfFile) symbols() ([]Sym, error) { return nil, err } - var syms []Sym + syms := make([]Sym, 0, len(elfSyms)) for _, s := range elfSyms { sym := Sym{Addr: s.Value, Name: s.Name, Size: int64(s.Size), Code: '?'} switch s.Section { diff --git a/src/cmd/internal/objfile/macho.go b/src/cmd/internal/objfile/macho.go index c92497527a..cdea87d9a9 100644 --- a/src/cmd/internal/objfile/macho.go +++ b/src/cmd/internal/objfile/macho.go @@ -44,7 +44,7 @@ func (f *machoFile) symbols() ([]Sym, error) { } sort.Sort(uint64s(addrs)) - var syms []Sym + syms := make([]Sym, 0, len(f.macho.Symtab.Syms)) for _, s := range f.macho.Symtab.Syms { if s.Type&stabTypeMask != 0 { // Skip stab debug info. diff --git a/src/cmd/internal/objfile/pe.go b/src/cmd/internal/objfile/pe.go index 4c4be1e6b7..df7e5f8cea 100644 --- a/src/cmd/internal/objfile/pe.go +++ b/src/cmd/internal/objfile/pe.go @@ -29,11 +29,11 @@ func openPE(r io.ReaderAt) (rawFile, error) { func (f *peFile) symbols() ([]Sym, error) { // Build sorted list of addresses of all symbols. // We infer the size of a symbol by looking at where the next symbol begins. - var addrs []uint64 + addrs := make([]uint64, 0, len(f.pe.Symbols)) imageBase, _ := f.imageBase() - var syms []Sym + syms := make([]Sym, 0, len(f.pe.Symbols)) for _, s := range f.pe.Symbols { const ( N_UNDEF = 0 // An undefined (extern) symbol diff --git a/src/cmd/internal/objfile/plan9obj.go b/src/cmd/internal/objfile/plan9obj.go index da0b345f53..86d052ec4d 100644 --- a/src/cmd/internal/objfile/plan9obj.go +++ b/src/cmd/internal/objfile/plan9obj.go @@ -44,7 +44,7 @@ func (f *plan9File) symbols() ([]Sym, error) { // Build sorted list of addresses of all symbols. // We infer the size of a symbol by looking at where the next symbol begins. - var addrs []uint64 + addrs := make([]uint64, 0, len(plan9Syms)) for _, s := range plan9Syms { if !validSymType[s.Type] { continue @@ -53,7 +53,7 @@ func (f *plan9File) symbols() ([]Sym, error) { } sort.Sort(uint64s(addrs)) - var syms []Sym + syms := make([]Sym, 0, len(plan9Syms)) for _, s := range plan9Syms { if !validSymType[s.Type] { diff --git a/src/cmd/internal/objfile/xcoff.go b/src/cmd/internal/objfile/xcoff.go index d6df4db8f0..fc32fc7c19 100644 --- a/src/cmd/internal/objfile/xcoff.go +++ b/src/cmd/internal/objfile/xcoff.go @@ -27,7 +27,7 @@ func openXcoff(r io.ReaderAt) (rawFile, error) { } func (f *xcoffFile) symbols() ([]Sym, error) { - var syms []Sym + syms := make([]Sym, 0, len(f.xcoff.Symbols)) for _, s := range f.xcoff.Symbols { const ( N_UNDEF = 0 // An undefined (extern) symbol diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go index 0219beeb10..0db830e2c8 100644 --- a/src/cmd/link/internal/ld/lib.go +++ b/src/cmd/link/internal/ld/lib.go @@ -2528,8 +2528,9 @@ func ldshlibsyms(ctxt *Link, shlib string) { Errorf(nil, "cannot read dep list from shared library %s: %v", libpath, err) return } - var deps []string - for _, dep := range strings.Split(string(depsbytes), "\n") { + depsSplit := strings.Split(string(depsbytes), "\n") + deps := make([]string, 0, len(depsSplit)) + for _, dep := range depsSplit { if dep == "" { continue } diff --git a/src/cmd/link/internal/ld/macho_combine_dwarf.go b/src/cmd/link/internal/ld/macho_combine_dwarf.go index 2e8bfcdbed..4fb3465fe8 100644 --- a/src/cmd/link/internal/ld/macho_combine_dwarf.go +++ b/src/cmd/link/internal/ld/macho_combine_dwarf.go @@ -256,7 +256,7 @@ func machoCompressSections(ctxt *Link, dwarfm *macho.File) ([]*macho.Section, [] } dwarfseg := dwarfm.Segment("__DWARF") - var sects []*macho.Section + sects := make([]*macho.Section, 0, len(dwarfm.Sections)) var buf bytes.Buffer for _, sect := range dwarfm.Sections { diff --git a/src/cmd/link/internal/ld/xcoff.go b/src/cmd/link/internal/ld/xcoff.go index d915ab393b..1ddd3a630b 100644 --- a/src/cmd/link/internal/ld/xcoff.go +++ b/src/cmd/link/internal/ld/xcoff.go @@ -1355,10 +1355,10 @@ func Loaderblk(ctxt *Link, off uint64) { } func (f *xcoffFile) writeLdrScn(ctxt *Link, globalOff uint64) { - var symtab []*XcoffLdSym64 - var strtab []*XcoffLdStr64 - var importtab []*XcoffLdImportFile64 - var reloctab []*XcoffLdRel64 + symtab := make([]*XcoffLdSym64, 0, len(f.loaderSymbols)) + strtab := make([]*XcoffLdStr64, 0, len(f.loaderSymbols)) + importtab := make([]*XcoffLdImportFile64, 0, len(f.dynLibraries)) + reloctab := make([]*XcoffLdRel64, 0, len(f.loaderReloc)) var dynimpreloc []*XcoffLdRel64 // As the string table is updated in any loader subsection, diff --git a/src/cmd/link/internal/loadxcoff/ldxcoff.go b/src/cmd/link/internal/loadxcoff/ldxcoff.go index 29d162596a..50b472047a 100644 --- a/src/cmd/link/internal/loadxcoff/ldxcoff.go +++ b/src/cmd/link/internal/loadxcoff/ldxcoff.go @@ -46,14 +46,14 @@ func Load(l *loader.Loader, arch *sys.Arch, localSymVersion int, input *bio.Read return nil, fmt.Errorf("loadxcoff: %v: %v", pn, fmt.Sprintf(str, args...)) } - var ldSections []*ldSection - f, err := xcoff.NewFile((*xcoffBiobuf)(input)) if err != nil { return nil, err } defer f.Close() + ldSections := make([]*ldSection, 0, len(f.Sections)) + for _, sect := range f.Sections { //only text, data and bss section if sect.Type < xcoff.STYP_TEXT || sect.Type > xcoff.STYP_BSS { diff --git a/src/cmd/trace/annotations.go b/src/cmd/trace/annotations.go index df194a7598..bc586cb551 100644 --- a/src/cmd/trace/annotations.go +++ b/src/cmd/trace/annotations.go @@ -194,7 +194,7 @@ func httpUserTask(w http.ResponseWriter, r *http.Request) { base := time.Duration(firstTimestamp()) * time.Nanosecond // trace start - var data []entry + data := make([]entry, 0, len(tasks)) for _, task := range tasks { if !filter.match(task) { diff --git a/src/cmd/trace/annotations_test.go b/src/cmd/trace/annotations_test.go index 36d3ec9d6d..8707cd5058 100644 --- a/src/cmd/trace/annotations_test.go +++ b/src/cmd/trace/annotations_test.go @@ -149,7 +149,7 @@ func TestAnalyzeAnnotations(t *testing.T) { "task0.region1", "task0.region2", } - var gotRegions []string + gotRegions := make([]string, 0, len(res.regions)) for regionID := range res.regions { gotRegions = append(gotRegions, regionID.Type) } diff --git a/src/cmd/trace/goroutines.go b/src/cmd/trace/goroutines.go index 28eace82fa..ede7604056 100644 --- a/src/cmd/trace/goroutines.go +++ b/src/cmd/trace/goroutines.go @@ -61,7 +61,7 @@ func httpGoroutines(w http.ResponseWriter, r *http.Request) { gs1.ExecTime += g.ExecTime gss[g.PC] = gs1 } - var glist []gtype + glist := make([]gtype, 0, len(gss)) for k, v := range gss { v.ID = k // If goroutine didn't run during the trace (no sampled PC), @@ -107,7 +107,7 @@ func httpGoroutine(w http.ResponseWriter, r *http.Request) { } analyzeGoroutines(events) var ( - glist []*trace.GDesc + glist = make([]*trace.GDesc, 0, len(gs)) name string totalExecTime, execTime int64 maxTotalTime int64 diff --git a/src/cmd/vendor/golang.org/x/mod/modfile/rule.go b/src/cmd/vendor/golang.org/x/mod/modfile/rule.go index 35fd1f534c..cc91a8d430 100644 --- a/src/cmd/vendor/golang.org/x/mod/modfile/rule.go +++ b/src/cmd/vendor/golang.org/x/mod/modfile/rule.go @@ -1549,7 +1549,7 @@ func removeDups(syntax *FileSyntax, exclude *[]*Exclude, replace *[]*Replace) { // Duplicate require and retract directives are not removed. // Drop killed statements from the syntax tree. - var stmts []Expr + stmts := make([]Expr, 0, len(syntax.Stmt)) for _, stmt := range syntax.Stmt { switch stmt := stmt.(type) { case *Line: diff --git a/src/cmd/vendor/golang.org/x/mod/sumdb/dirhash/hash.go b/src/cmd/vendor/golang.org/x/mod/sumdb/dirhash/hash.go index 51ec4db873..7cd05740db 100644 --- a/src/cmd/vendor/golang.org/x/mod/sumdb/dirhash/hash.go +++ b/src/cmd/vendor/golang.org/x/mod/sumdb/dirhash/hash.go @@ -118,7 +118,7 @@ func HashZip(zipfile string, hash Hash) (string, error) { return "", err } defer z.Close() - var files []string + files := make([]string, 0, len(z.File)) zfiles := make(map[string]*zip.File) for _, file := range z.File { files = append(files, file.Name) |
