From: cuiweixie Date: Sun, 4 Sep 2022 12:01:19 +0000 (+0800) Subject: cmd/cgo: use strings.Builder X-Git-Tag: go1.20rc1~1120 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=33628ce1950287721fd30b333c962984f3524b00;p=gostls13.git cmd/cgo: use strings.Builder Change-Id: I427776e5b2d9c7279932548c86c8faded0eed041 Reviewed-on: https://go-review.googlesource.com/c/go/+/428285 Run-TryBot: Ian Lance Taylor Reviewed-by: Michael Knyszek Auto-Submit: Ian Lance Taylor TryBot-Result: Gopher Robot Reviewed-by: Ian Lance Taylor Run-TryBot: xie cui <523516579@qq.com> --- diff --git a/src/cmd/cgo/gcc.go b/src/cmd/cgo/gcc.go index 43f94bb0e5..06cf46f63f 100644 --- a/src/cmd/cgo/gcc.go +++ b/src/cmd/cgo/gcc.go @@ -2915,7 +2915,7 @@ func (c *typeConv) Struct(dt *dwarf.StructType, pos token.Pos) (expr *ast.Struct // Minimum alignment for a struct is 1 byte. align = 1 - var buf bytes.Buffer + var buf strings.Builder buf.WriteString("struct {") fld := make([]*ast.Field, 0, 2*len(dt.Field)+1) // enough for padding around every field sizes := make([]int64, 0, 2*len(dt.Field)+1) diff --git a/src/cmd/cgo/godefs.go b/src/cmd/cgo/godefs.go index 3a27b31bfb..f62867053f 100644 --- a/src/cmd/cgo/godefs.go +++ b/src/cmd/cgo/godefs.go @@ -5,7 +5,6 @@ package main import ( - "bytes" "fmt" "go/ast" "go/printer" @@ -17,7 +16,7 @@ import ( // godefs returns the output for -godefs mode. func (p *Package) godefs(f *File, args []string) string { - var buf bytes.Buffer + var buf strings.Builder fmt.Fprintf(&buf, "// Code generated by cmd/cgo -godefs; DO NOT EDIT.\n") fmt.Fprintf(&buf, "// %s %s\n", filepath.Base(args[0]), strings.Join(args[1:], " ")) @@ -115,7 +114,7 @@ func (p *Package) godefs(f *File, args []string) string { return buf.String() } -var gofmtBuf bytes.Buffer +var gofmtBuf strings.Builder // gofmt returns the gofmt-formatted string for an AST node. func gofmt(n interface{}) string { diff --git a/src/cmd/cgo/out.go b/src/cmd/cgo/out.go index 6a224598cc..9522358825 100644 --- a/src/cmd/cgo/out.go +++ b/src/cmd/cgo/out.go @@ -43,7 +43,7 @@ func (p *Package) writeDefs() { } fm := creat(*objDir + "_cgo_main.c") - var gccgoInit bytes.Buffer + var gccgoInit strings.Builder fflg := creat(*objDir + "_cgo_flags") for k, v := range p.CgoFlags { @@ -438,7 +438,7 @@ func checkImportSymName(s string) { // Also assumes that gc convention is to word-align the // input and output parameters. func (p *Package) structType(n *Name) (string, int64) { - var buf bytes.Buffer + var buf strings.Builder fmt.Fprint(&buf, "struct {\n") off := int64(0) for i, t := range n.FuncType.Params { @@ -1114,7 +1114,7 @@ func (p *Package) writeGccgoExports(fgo2, fm, fgcc, fgcch io.Writer) { fn := exp.Func fntype := fn.Type - cdeclBuf := new(bytes.Buffer) + cdeclBuf := new(strings.Builder) resultCount := 0 forFieldList(fntype.Results, func(i int, aname string, atype ast.Expr) { resultCount++ }) @@ -1146,7 +1146,7 @@ func (p *Package) writeGccgoExports(fgo2, fm, fgcc, fgcch io.Writer) { cRet := cdeclBuf.String() - cdeclBuf = new(bytes.Buffer) + cdeclBuf = new(strings.Builder) fmt.Fprintf(cdeclBuf, "(") if fn.Recv != nil { fmt.Fprintf(cdeclBuf, "%s recv", p.cgoType(fn.Recv.List[0].Type).C.String())