diff options
Diffstat (limited to 'src/cmd')
31 files changed, 50 insertions, 46 deletions
diff --git a/src/cmd/api/main_test.go b/src/cmd/api/main_test.go index ed366be4e7..5bce3fd43b 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 28dce50d60..2ab6aa8ec4 100644 --- a/src/cmd/asm/internal/asm/endtoend_test.go +++ b/src/cmd/asm/internal/asm/endtoend_test.go @@ -368,7 +368,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 342ac5ac48..518ba4372a 100644 --- a/src/cmd/asm/internal/lex/input.go +++ b/src/cmd/asm/internal/lex/input.go @@ -301,7 +301,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/gcc.go b/src/cmd/cgo/gcc.go index 300ccae350..f75d87f89e 100644 --- a/src/cmd/cgo/gcc.go +++ b/src/cmd/cgo/gcc.go @@ -293,9 +293,11 @@ func (f *File) loadDefines(gccOptions []string) bool { 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/compile/internal/ssa/loopbce.go b/src/cmd/compile/internal/ssa/loopbce.go index aa6cc48cac..1aa987e5b6 100644 --- a/src/cmd/compile/internal/ssa/loopbce.go +++ b/src/cmd/compile/internal/ssa/loopbce.go @@ -84,7 +84,7 @@ func parseIndVar(ind *Value) (min, inc, nxt *Value, loopReturn Edge) { // // 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 a0257f3064..d51d41ed30 100644 --- a/src/cmd/compile/internal/ssa/regalloc.go +++ b/src/cmd/compile/internal/ssa/regalloc.go @@ -1000,10 +1000,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 @@ -2298,7 +2298,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 8006253145..a459eb4328 100644 --- a/src/cmd/compile/internal/ssa/schedule.go +++ b/src/cmd/compile/internal/ssa/schedule.go @@ -460,7 +460,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 17feb90df7..cb0508350f 100644 --- a/src/cmd/compile/internal/ssagen/ssa.go +++ b/src/cmd/compile/internal/ssagen/ssa.go @@ -937,7 +937,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() diff --git a/src/cmd/compile/internal/test/ssa_test.go b/src/cmd/compile/internal/test/ssa_test.go index 7d213fceca..c4bd28e6e6 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 e4250e12de..91ea7eb498 100644 --- a/src/cmd/dist/build.go +++ b/src/cmd/dist/build.go @@ -737,7 +737,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 ) @@ -1967,7 +1967,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 @@ -1990,7 +1990,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/go/internal/doc/pkg.go b/src/cmd/go/internal/doc/pkg.go index 3c36d0e05c..f965801889 100644 --- a/src/cmd/go/internal/doc/pkg.go +++ b/src/cmd/go/internal/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/go/internal/load/flag_test.go b/src/cmd/go/internal/load/flag_test.go index 0c2363cb79..2c27f96529 100644 --- a/src/cmd/go/internal/load/flag_test.go +++ b/src/cmd/go/internal/load/flag_test.go @@ -96,7 +96,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 e2a77d7d7d..7f19a99ba2 100644 --- a/src/cmd/go/internal/load/pkg.go +++ b/src/cmd/go/internal/load/pkg.go @@ -3269,7 +3269,7 @@ func GoFilesPackage(loaderstate *modload.State, ctx context.Context, opts Packag // 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 e5c074fa19..3278a821e1 100644 --- a/src/cmd/go/internal/load/test.go +++ b/src/cmd/go/internal/load/test.go @@ -110,7 +110,7 @@ func TestPackagesAndErrors(loaderstate *modload.State, ctx context.Context, done pre.preloadImports(loaderstate, 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 @@ -145,6 +145,7 @@ func TestPackagesAndErrors(loaderstate *modload.State, ctx context.Context, done 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(loaderstate, 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 50f8cb61cc..599845f5d3 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/test/test.go b/src/cmd/go/internal/test/test.go index 9309aa65ed..354e2b8d69 100644 --- a/src/cmd/go/internal/test/test.go +++ b/src/cmd/go/internal/test/test.go @@ -960,7 +960,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/build.go b/src/cmd/go/internal/work/build.go index 75d05d65de..f2966e9fdd 100644 --- a/src/cmd/go/internal/work/build.go +++ b/src/cmd/go/internal/work/build.go @@ -730,7 +730,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/gc.go b/src/cmd/go/internal/work/gc.go index 6300a9135b..6c85096247 100644 --- a/src/cmd/go/internal/work/gc.go +++ b/src/cmd/go/internal/work/gc.go @@ -407,7 +407,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 { ofile := a.Objdir + sfile[:len(sfile)-len(".s")] + ".o" ofiles = append(ofiles, ofile) diff --git a/src/cmd/go/internal/work/gccgo.go b/src/cmd/go/internal/work/gccgo.go index 276e082b71..3d714ba970 100644 --- a/src/cmd/go/internal/work/gccgo.go +++ b/src/cmd/go/internal/work/gccgo.go @@ -197,7 +197,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" 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 6988cea936..bf8d18307c 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 eaf665faee..1acb6804d5 100644 --- a/src/cmd/internal/objfile/macho.go +++ b/src/cmd/internal/objfile/macho.go @@ -45,7 +45,7 @@ func (f *machoFile) symbols() ([]Sym, error) { } slices.Sort(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 e94821298f..a0f2456ca3 100644 --- a/src/cmd/internal/objfile/pe.go +++ b/src/cmd/internal/objfile/pe.go @@ -30,11 +30,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 edd40230ce..648a355f9f 100644 --- a/src/cmd/internal/objfile/plan9obj.go +++ b/src/cmd/internal/objfile/plan9obj.go @@ -45,7 +45,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 @@ -54,7 +54,7 @@ func (f *plan9File) symbols() ([]Sym, error) { } slices.Sort(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 85928621f1..f1dc5dafa3 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 bcad5add4a..f04c45d18d 100644 --- a/src/cmd/link/internal/ld/lib.go +++ b/src/cmd/link/internal/ld/lib.go @@ -2649,8 +2649,9 @@ func ldshlibsyms(ctxt *Link, shlib string) { Errorf("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 2b303cbdae..353dbd7327 100644 --- a/src/cmd/link/internal/ld/macho_combine_dwarf.go +++ b/src/cmd/link/internal/ld/macho_combine_dwarf.go @@ -229,7 +229,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 8edd4ccad8..ee507ca29f 100644 --- a/src/cmd/link/internal/ld/xcoff.go +++ b/src/cmd/link/internal/ld/xcoff.go @@ -1353,10 +1353,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 8c0949ec70..85333cea1d 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/vendor/golang.org/x/mod/modfile/rule.go b/src/cmd/vendor/golang.org/x/mod/modfile/rule.go index c5b8305de7..739e45b034 100644 --- a/src/cmd/vendor/golang.org/x/mod/modfile/rule.go +++ b/src/cmd/vendor/golang.org/x/mod/modfile/rule.go @@ -1791,7 +1791,7 @@ func removeDups(syntax *FileSyntax, exclude *[]*Exclude, replace *[]*Replace, to // 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 117985ac30..3c6b0ffa12 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) |
