diff --git a/src/cmd/api/goapi.go b/src/cmd/api/goapi.go index b9460772764c4c7f935b819c6220f85fdb7a5ce8..982c40b08597330fc7dddded73cfa6c324333956 100644 --- a/src/cmd/api/goapi.go +++ b/src/cmd/api/goapi.go @@ -368,15 +368,6 @@ func (w *Walker) parseFile(dir, file string) (*ast.File, error) { return f, nil } -func contains(list []string, s string) bool { - for _, t := range list { - if t == s { - return true - } - } - return false -} - // The package cache doesn't operate correctly in rare (so far artificial) // circumstances (issue 8425). Disable before debugging non-obvious errors // from the type-checker. diff --git a/src/cmd/cgo/gcc.go b/src/cmd/cgo/gcc.go index b2835a495fb848f0ee5ac1ead536311f40cdabe3..84cd2e816a1644ef5e571b4b024087e14dcc517c 100644 --- a/src/cmd/cgo/gcc.go +++ b/src/cmd/cgo/gcc.go @@ -1282,8 +1282,7 @@ func runGcc(stdin []byte, args []string) (string, string) { // with equivalent memory layout. type typeConv struct { // Cache of already-translated or in-progress types. - m map[dwarf.Type]*Type - typedef map[string]ast.Expr + m map[dwarf.Type]*Type // Map from types to incomplete pointers to those types. ptrs map[dwarf.Type][]*Type diff --git a/src/cmd/dist/util.go b/src/cmd/dist/util.go index 57b1d2dd8421ea84075a0ebbfcdd3b33365bc1c2..34f7372de8b093b3769a753d0ecdc94d056cb797 100644 --- a/src/cmd/dist/util.go +++ b/src/cmd/dist/util.go @@ -131,7 +131,6 @@ var maxbg = 4 /* maximum number of jobs to run at once */ var ( bgwork = make(chan func(), 1e5) - bgdone = make(chan struct{}, 1e5) bghelpers sync.WaitGroup diff --git a/src/cmd/doc/pkg.go b/src/cmd/doc/pkg.go index a14ccdb59b549f73c0108b6a87671bc5b5c1e0f0..d0983d447d5dd1c6964d818199fc489b4addfb25 100644 --- a/src/cmd/doc/pkg.go +++ b/src/cmd/doc/pkg.go @@ -29,17 +29,15 @@ const ( ) type Package struct { - writer io.Writer // Destination for output. - name string // Package name, json for encoding/json. - userPath string // String the user used to find this package. - unexported bool - matchCase bool - pkg *ast.Package // Parsed package. - file *ast.File // Merged from all files in the package - doc *doc.Package - build *build.Package - fs *token.FileSet // Needed for printing. - buf bytes.Buffer + writer io.Writer // Destination for output. + name string // Package name, json for encoding/json. + userPath string // String the user used to find this package. + pkg *ast.Package // Parsed package. + file *ast.File // Merged from all files in the package + doc *doc.Package + build *build.Package + fs *token.FileSet // Needed for printing. + buf bytes.Buffer } type PackageError string // type returned by pkg.Fatalf. diff --git a/src/cmd/go/build.go b/src/cmd/go/build.go index b63c195f78203826fd8a96715094d665b6e85cd2..08062ea9a536171da2c12a725a3bf9588eeecf50 100644 --- a/src/cmd/go/build.go +++ b/src/cmd/go/build.go @@ -1312,16 +1312,6 @@ func (b *builder) do(root *action) { wg.Wait() } -// hasString reports whether s appears in the list of strings. -func hasString(strings []string, s string) bool { - for _, t := range strings { - if s == t { - return true - } - } - return false -} - // build is the action for building a single package or command. func (b *builder) build(a *action) (err error) { // Return an error if the package has CXX files but it's not using diff --git a/src/cmd/go/generate.go b/src/cmd/go/generate.go index cbedacb34d6166dbc6610c0fc837811d1df8033a..749e28c24d3f6df06880e5cd057592bf81b9ab43 100644 --- a/src/cmd/go/generate.go +++ b/src/cmd/go/generate.go @@ -17,7 +17,6 @@ import ( "runtime" "strconv" "strings" - "unicode" ) var cmdGenerate = &Command{ @@ -371,17 +370,6 @@ func (g *Generator) expandVar(word string) string { return os.Getenv(word) } -// identLength returns the length of the identifier beginning the string. -func (g *Generator) identLength(word string) int { - for i, r := range word { - if r == '_' || unicode.IsLetter(r) || unicode.IsDigit(r) { - continue - } - return i - } - return len(word) -} - // setShorthand installs a new shorthand as defined by a -command directive. func (g *Generator) setShorthand(words []string) { // Create command shorthand. diff --git a/src/cmd/go/main.go b/src/cmd/go/main.go index 65cbab2b0db5ad135d13ca5e83d5a1a8756ed580..4e0987d69e6bf4da05205c799f9aa8e5d71dc4c0 100644 --- a/src/cmd/go/main.go +++ b/src/cmd/go/main.go @@ -403,8 +403,6 @@ func errorf(format string, args ...interface{}) { setExitStatus(1) } -var logf = log.Printf - func exitIfErrors() { if exitStatus != 0 { exit() @@ -428,19 +426,6 @@ func run(cmdargs ...interface{}) { } } -func runOut(dir string, cmdargs ...interface{}) []byte { - cmdline := stringList(cmdargs...) - cmd := exec.Command(cmdline[0], cmdline[1:]...) - cmd.Dir = dir - out, err := cmd.CombinedOutput() - if err != nil { - os.Stderr.Write(out) - errorf("%v", err) - out = nil - } - return out -} - // envForDir returns a copy of the environment // suitable for running in the given directory. // The environment is the current process's environment diff --git a/src/cmd/go/pkg.go b/src/cmd/go/pkg.go index 927d68d1c60d5b76d9dd735e2d0e8f76e957d457..fa923c88737d38b4702b55945853698a1a511585 100644 --- a/src/cmd/go/pkg.go +++ b/src/cmd/go/pkg.go @@ -90,7 +90,6 @@ type Package struct { target string // installed file for this package (may be executable) fake bool // synthesized package external bool // synthesized external test package - forceBuild bool // this package must be rebuilt forceLibrary bool // this package is a library (even if named "main") cmdline bool // defined by files listed on command line local bool // imported via local path (./ or ../) diff --git a/src/cmd/pprof/internal/report/report.go b/src/cmd/pprof/internal/report/report.go index b2b07b24f989a1275542bb9f3d1754939481152a..86bd4a280b2ea5ac285a982e220ab50431d38a42 100644 --- a/src/cmd/pprof/internal/report/report.go +++ b/src/cmd/pprof/internal/report/report.go @@ -10,7 +10,6 @@ import ( "fmt" "io" "math" - "os" "path/filepath" "regexp" "sort" @@ -248,14 +247,6 @@ func valueOrDot(value int64, rpt *Report) string { return rpt.formatValue(value) } -// canAccessFile determines if the filename can be opened for reading. -func canAccessFile(path string) bool { - if fi, err := os.Stat(path); err == nil { - return fi.Mode().Perm()&0400 != 0 - } - return false -} - // printTags collects all tags referenced in the profile and prints // them in a sorted table. func printTags(w io.Writer, rpt *Report) error { @@ -764,14 +755,6 @@ type node struct { tags tagMap } -func (ts tags) string() string { - var ret string - for _, s := range ts { - ret = ret + fmt.Sprintf("%s %s %d %d\n", s.name, s.unit, s.value, s.weight) - } - return ret -} - type nodeInfo struct { name string origName string @@ -1697,22 +1680,3 @@ type Report struct { sampleValue func(*profile.Sample) int64 formatValue func(int64) string } - -func (rpt *Report) formatTags(s *profile.Sample) (string, bool) { - var labels []string - for key, vals := range s.Label { - for _, v := range vals { - labels = append(labels, key+":"+v) - } - } - for key, nvals := range s.NumLabel { - for _, v := range nvals { - labels = append(labels, scaledValueLabel(v, key, "auto")) - } - } - if len(labels) == 0 { - return "", false - } - sort.Strings(labels) - return strings.Join(labels, `\n`), true -} diff --git a/src/cmd/yacc/yacc.go b/src/cmd/yacc/yacc.go index 4f9d13c5453f5c69a6c40122fc3e4d12c953c07c..cce330793d5ced4e2af464aa8216b962b2e3b1c2 100644 --- a/src/cmd/yacc/yacc.go +++ b/src/cmd/yacc/yacc.go @@ -237,7 +237,6 @@ var defact = make([]int, NSTATES) // default actions of states // lookahead set information -var lkst []Lkset var nolook = 0 // flag to turn off lookahead computations var tbitset = 0 // size of lookahead sets var clset Lkset // temporary storage for lookahead computations @@ -3185,8 +3184,6 @@ func isword(c rune) bool { return c >= 0xa0 || c == '_' || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') } -func mktemp(t string) string { return t } - // // return 1 if 2 arrays are equal // return 0 if not equal @@ -3204,13 +3201,6 @@ func aryeq(a []int, b []int) int { return 1 } -func putrune(f *bufio.Writer, c int) { - s := string(c) - for i := 0; i < len(s); i++ { - f.WriteByte(s[i]) - } -} - func getrune(f *bufio.Reader) rune { var r rune diff --git a/src/compress/bzip2/bzip2.go b/src/compress/bzip2/bzip2.go index 71e5372972a19c40c9d0286f6b67bd32b199a397..90e9aebab6236d71dc9b9b3b57077b861a352475 100644 --- a/src/compress/bzip2/bzip2.go +++ b/src/compress/bzip2/bzip2.go @@ -29,7 +29,6 @@ type reader struct { setupDone bool // true if we have parsed the bzip2 header. blockSize int // blockSize in bytes, i.e. 900 * 1000. eof bool - buf []byte // stores Burrows-Wheeler transformed data. c [256]uint // the `C' array for the inverse BWT. tt []uint32 // mirrors the `tt' array in the bzip2 source and contains the P array in the upper 24 bits. tPos uint32 // Index of the next output byte in tt. diff --git a/src/compress/flate/token.go b/src/compress/flate/token.go index c485939d3453b54f5a79c8f7ffa8255973e79ce9..ae01391f9cfc3d7b8c4f8623fed3472776b7801b 100644 --- a/src/compress/flate/token.go +++ b/src/compress/flate/token.go @@ -75,9 +75,6 @@ func matchToken(xlength uint32, xoffset uint32) token { return token(matchType + xlength<<lengthShift + xoffset) } -// Returns the type of a token -func (t token) typ() uint32 { return uint32(t) & typeMask } - // Returns the literal of a literal token func (t token) literal() uint32 { return uint32(t - literalType) } diff --git a/src/crypto/tls/common.go b/src/crypto/tls/common.go index 28971ce078f649066d485b9f467392b120f5d6d0..572266bc8f5e5b985981aef5c2b4411b4b776b07 100644 --- a/src/crypto/tls/common.go +++ b/src/crypto/tls/common.go @@ -590,13 +590,6 @@ type Certificate struct { Leaf *x509.Certificate } -// A TLS record. -type record struct { - contentType recordType - major, minor uint8 - payload []byte -} - type handshakeMessage interface { marshal() []byte unmarshal([]byte) bool diff --git a/src/crypto/tls/conn.go b/src/crypto/tls/conn.go index e0dab08ddccd1c90190b5164a13a090d341e9051..2b1875d903b3e4e315d1895263813dec365ec717 100644 --- a/src/crypto/tls/conn.go +++ b/src/crypto/tls/conn.go @@ -174,13 +174,6 @@ func (hc *halfConn) incSeq() { panic("TLS: sequence number wraparound") } -// resetSeq resets the sequence number to zero. -func (hc *halfConn) resetSeq() { - for i := range hc.seq { - hc.seq[i] = 0 - } -} - // removePadding returns an unpadded slice, in constant time, which is a prefix // of the input. It also returns a byte which is equal to 255 if the padding // was valid and 0 otherwise. See RFC 2246, section 6.2.3.2 diff --git a/src/database/sql/sql.go b/src/database/sql/sql.go index 7ba7ce5c905ca53e5336e6d5b2790f5fd0aa9bbc..e7482a8e2f2ac61ec7003d4a3e42b8b72d48a59c 100644 --- a/src/database/sql/sql.go +++ b/src/database/sql/sql.go @@ -838,11 +838,6 @@ func (db *DB) conn(strategy connReuseStrategy) (*driverConn, error) { return dc, nil } -var ( - errConnClosed = errors.New("database/sql: internal sentinel error: conn is closed") - errConnBusy = errors.New("database/sql: internal sentinel error: conn is busy") -) - // putConnHook is a hook for testing. var putConnHook func(*DB, *driverConn) diff --git a/src/debug/macho/macho.go b/src/debug/macho/macho.go index 7b614286648f383cea864d41a3ef131368013b1f..31647536ac5e6732aacede56a7ba01a3a18e8c51 100644 --- a/src/debug/macho/macho.go +++ b/src/debug/macho/macho.go @@ -291,26 +291,3 @@ func stringName(i uint32, names []intName, goSyntax bool) string { } return strconv.FormatUint(uint64(i), 10) } - -func flagName(i uint32, names []intName, goSyntax bool) string { - s := "" - for _, n := range names { - if n.i&i == n.i { - if len(s) > 0 { - s += "+" - } - if goSyntax { - s += "macho." - } - s += n.s - i -= n.i - } - } - if len(s) == 0 { - return "0x" + strconv.FormatUint(uint64(i), 16) - } - if i != 0 { - s += "+0x" + strconv.FormatUint(uint64(i), 16) - } - return s -} diff --git a/src/encoding/xml/marshal.go b/src/encoding/xml/marshal.go index b9f5a39fde537ab873a7493b7fc3e0821e5ccfe6..ec4822b5c141567d22b73dc949a33568d7205720 100644 --- a/src/encoding/xml/marshal.go +++ b/src/encoding/xml/marshal.go @@ -175,10 +175,9 @@ func (enc *Encoder) EncodeElement(v interface{}, start StartElement) error { } var ( - begComment = []byte("<!--") - endComment = []byte("-->") - endProcInst = []byte("?>") - endDirective = []byte(">") + begComment = []byte("<!--") + endComment = []byte("-->") + endProcInst = []byte("?>") ) // EncodeToken writes the given XML token to the stream. diff --git a/src/html/escape.go b/src/html/escape.go index ab6fd1c7b4b3460d29d2a47a693463c2666b1e25..71906ac5863c313782d3690aa984259b4518eb75 100644 --- a/src/html/escape.go +++ b/src/html/escape.go @@ -10,10 +10,6 @@ import ( "unicode/utf8" ) -type writer interface { - WriteString(string) (int, error) -} - // These replacements permit compatibility with old numeric entities that // assumed Windows-1252 encoding. // http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#consume-a-character-reference diff --git a/src/io/pipe.go b/src/io/pipe.go index 179515e78d3a03866bfcaaf7800bf670b48a14e1..7e98cd2eb788a7be13b8a92d38efd3bf95c7b7af 100644 --- a/src/io/pipe.go +++ b/src/io/pipe.go @@ -15,11 +15,6 @@ import ( // ErrClosedPipe is the error used for read or write operations on a closed pipe. var ErrClosedPipe = errors.New("io: read/write on closed pipe") -type pipeResult struct { - n int - err error -} - // A pipe is the shared pipe structure underlying PipeReader and PipeWriter. type pipe struct { rl sync.Mutex // gates readers one at a time diff --git a/src/net/http/fcgi/fcgi.go b/src/net/http/fcgi/fcgi.go index 06bba0488a20f897936a2489dfef46ff8fbba72c..337484139d3dd04a2ab73cd409bd2fc98e7eee91 100644 --- a/src/net/http/fcgi/fcgi.go +++ b/src/net/http/fcgi/fcgi.go @@ -58,8 +58,6 @@ const ( statusUnknownRole ) -const headerLen = 8 - type header struct { Version uint8 Type recType @@ -158,11 +156,6 @@ func (c *conn) writeRecord(recType recType, reqId uint16, b []byte) error { return err } -func (c *conn) writeBeginRequest(reqId uint16, role uint16, flags uint8) error { - b := [8]byte{byte(role >> 8), byte(role), flags} - return c.writeRecord(typeBeginRequest, reqId, b[:]) -} - func (c *conn) writeEndRequest(reqId uint16, appStatus int, protocolStatus uint8) error { b := make([]byte, 8) binary.BigEndian.PutUint32(b, uint32(appStatus)) diff --git a/src/net/http/httputil/dump.go b/src/net/http/httputil/dump.go index 3af53958980dc049d32fbde52cbbe2f7541569f0..ddde11a0e403c60be090be382b0764a5abb73d54 100644 --- a/src/net/http/httputil/dump.go +++ b/src/net/http/httputil/dump.go @@ -168,13 +168,6 @@ var reqWriteExcludeHeaderDump = map[string]bool{ "Trailer": true, } -// dumpAsReceived writes req to w in the form as it was received, or -// at least as accurately as possible from the information retained in -// the request. -func dumpAsReceived(req *http.Request, w io.Writer) error { - return nil -} - // DumpRequest returns the given request in its HTTP/1.x wire // representation. It should only be used by servers to debug client // requests. The returned representation is an approximation only; diff --git a/src/net/http/transport.go b/src/net/http/transport.go index d6cd9a1cb39abfee951bd44ec7c9d4f666d14358..386971d9282a0dbcbdc26d7bef8a51242df92e99 100644 --- a/src/net/http/transport.go +++ b/src/net/http/transport.go @@ -1371,7 +1371,6 @@ func (e *httpError) Timeout() bool { return e.timeout } func (e *httpError) Temporary() bool { return true } var errTimeout error = &httpError{err: "net/http: timeout awaiting response headers", timeout: true} -var errClosed error = &httpError{err: "net/http: server closed connection before response was received"} var errRequestCanceled = errors.New("net/http: request canceled") var errRequestCanceledConn = errors.New("net/http: request canceled while waiting for connection") // TODO: unify? @@ -1697,17 +1696,6 @@ type fakeLocker struct{} func (fakeLocker) Lock() {} func (fakeLocker) Unlock() {} -func isNetWriteError(err error) bool { - switch e := err.(type) { - case *url.Error: - return isNetWriteError(e.Err) - case *net.OpError: - return e.Op == "write" - default: - return false - } -} - // cloneTLSConfig returns a shallow clone of the exported // fields of cfg, ignoring the unexported sync.Once, which // contains a mutex and must not be copied. diff --git a/src/reflect/value.go b/src/reflect/value.go index 1305bbfff41d6a5d8865b01a94005f103b7fa00c..262545d973ccc4570beeee8a8d6617defc06ed29 100644 --- a/src/reflect/value.go +++ b/src/reflect/value.go @@ -11,7 +11,6 @@ import ( ) const ptrSize = 4 << (^uintptr(0) >> 63) // unsafe.Sizeof(uintptr(0)) but an ideal const -const cannotSet = "cannot set value obtained from unexported struct field" // Value is the reflection interface to a Go value. // diff --git a/src/regexp/backtrack.go b/src/regexp/backtrack.go index 93334c3aff3c04594dd96c7cd15713d20ed2e267..29f624b54c7da8e37e0f7b06ae058bb02d64c552 100644 --- a/src/regexp/backtrack.go +++ b/src/regexp/backtrack.go @@ -36,7 +36,6 @@ type bitState struct { end int cap []int - input input jobs []job visited []uint32 } diff --git a/src/regexp/exec.go b/src/regexp/exec.go index 6c6329e0b0f3a0617d562945ffda6723fa1f5788..4fd61b5d8d1a8977f79a5ffdd3c58366fb62bcfb 100644 --- a/src/regexp/exec.go +++ b/src/regexp/exec.go @@ -107,14 +107,6 @@ func (m *machine) alloc(i *syntax.Inst) *thread { return t } -// free returns t to the free pool. -func (m *machine) free(t *thread) { - m.inputBytes.str = nil - m.inputString.str = "" - m.inputReader.r = nil - m.pool = append(m.pool, t) -} - // match runs the machine over the input starting at pos. // It reports whether a match was found. // If so, m.matchcap holds the submatch information. @@ -192,7 +184,6 @@ func (m *machine) match(i input, pos int) bool { func (m *machine) clear(q *queue) { for _, d := range q.dense { if d.t != nil { - // m.free(d.t) m.pool = append(m.pool, d.t) } } @@ -213,7 +204,6 @@ func (m *machine) step(runq, nextq *queue, pos, nextPos int, c rune, nextCond sy continue } if longest && m.matched && len(t.cap) > 0 && m.matchcap[0] < t.cap[0] { - // m.free(t) m.pool = append(m.pool, t) continue } @@ -232,7 +222,6 @@ func (m *machine) step(runq, nextq *queue, pos, nextPos int, c rune, nextCond sy // First-match mode: cut off all lower-priority threads. for _, d := range runq.dense[j+1:] { if d.t != nil { - // m.free(d.t) m.pool = append(m.pool, d.t) } } @@ -253,7 +242,6 @@ func (m *machine) step(runq, nextq *queue, pos, nextPos int, c rune, nextCond sy t = m.add(nextq, i.Out, nextPos, t.cap, nextCond, t) } if t != nil { - // m.free(t) m.pool = append(m.pool, t) } } diff --git a/src/regexp/regexp.go b/src/regexp/regexp.go index 92af6bb45bfb8d74c949b49d82d5437b40799c21..fe3db9f78b0f505943890a7c7d14f94d2860fb8d 100644 --- a/src/regexp/regexp.go +++ b/src/regexp/regexp.go @@ -75,8 +75,6 @@ import ( "unicode/utf8" ) -var debug = false - // Regexp is the representation of a compiled regular expression. // A Regexp is safe for concurrent use by multiple goroutines. type Regexp struct { diff --git a/src/sort/sort.go b/src/sort/sort.go index b322c0eddffd059c7318ee5eca2001bdbc4f53da..d07a0c27b84e84078ea6da7c85b386e705725a8f 100644 --- a/src/sort/sort.go +++ b/src/sort/sort.go @@ -19,13 +19,6 @@ type Interface interface { Swap(i, j int) } -func min(a, b int) int { - if a < b { - return a - } - return b -} - // Insertion sort func insertionSort(data Interface, a, b int) { for i := a + 1; i < b; i++ { diff --git a/src/text/template/funcs.go b/src/text/template/funcs.go index 0bfcffa795d595a8ef7b3bab222077b93fe8a27b..cd0b82b243d592620a7ba960c3dcbf2c03303850 100644 --- a/src/text/template/funcs.go +++ b/src/text/template/funcs.go @@ -322,7 +322,6 @@ const ( complexKind intKind floatKind - integerKind stringKind uintKind ) diff --git a/src/time/time.go b/src/time/time.go index 9693286fd5e31d0559a8d40cef23e4b548360084..4b9a0db7302cf15264acf5310160595c6921612f 100644 --- a/src/time/time.go +++ b/src/time/time.go @@ -225,9 +225,6 @@ const ( // Assumed by the unixToInternal computation below. internalYear = 1 - // The year of the zero Unix time. - unixYear = 1970 - // Offsets to convert between internal and absolute or Unix times. absoluteToInternal int64 = (absoluteZeroYear - internalYear) * 365.2425 * secondsPerDay internalToAbsolute = -absoluteToInternal