aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-11-01[release-branch.go1.2] os: do not return Lstat errors from ReaddirAndrew Gerrand
««« CL 18870043 / eca0ca43a863 os: do not return Lstat errors from Readdir This CL restores the Go 1.1.2 semantics for os.File's Readdir method. The code in Go 1.1.2 was rewritten mainly because it looked buggy. This new version attempts to be clearer but still provide the 1.1.2 results. The important diff is not this CL's version against tip but this CL's version against Go 1.1.2. Go 1.1.2: names, err := f.Readdirnames(n) fi = make([]FileInfo, len(names)) for i, filename := range names { fip, err := Lstat(dirname + filename) if err == nil { fi[i] = fip } else { fi[i] = &fileStat{name: filename} } } return fi, err This CL: names, err := f.Readdirnames(n) fi = make([]FileInfo, len(names)) for i, filename := range names { fip, lerr := lstat(dirname + filename) if lerr != nil { fi[i] = &fileStat{name: filename} continue } fi[i] = fip } return fi, err The changes from Go 1.1.2 are stylistic, not semantic: 1. Use lstat instead of Lstat, for testing (done before this CL). 2. Make error handling in loop body look more like an error case. 3. Use separate error variable name in loop body, to be clear we are not trying to influence the final return result. Fixes #6656. Fixes #6680. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/18870043 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20110045
2013-11-01[release-branch.go1.2] cmd/gc: silence clang warningAndrew Gerrand
««« CL 19160043 / 104d56b5d664 cmd/gc: silence clang warning This code is only built when you run 'make' in cmd/gc, not in all.bash. R=golang-dev, jsing, iant CC=golang-dev https://golang.org/cl/19160043 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20290046
2013-11-01[release-branch.go1.2] misc/emacs: support godef-jump on import statementsAndrew Gerrand
««« CL 18230043 / f2b59b5163b0 misc/emacs: support godef-jump on import statements The newest version of godef supports jumping to a package's source directory if point is on an import statement. R=adonovan CC=golang-dev https://golang.org/cl/18230043 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20620043
2013-11-01[release-branch.go1.2] debug/dwarf: add DWARF 4 form constantsAndrew Gerrand
««« CL 18460043 / 08e6655618f5 debug/dwarf: add DWARF 4 form constants Some versions of clang generate DWARF 4-format attributes even when using -gdwarf-2. We don't care much about the values, but we do need to be able to parse past them. This fixes a bug in Go 1.2 rc2 reported via private mail using a near-tip version of clang. R=golang-dev, iant, dvyukov CC=golang-dev https://golang.org/cl/18460043 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20470045
2013-11-01[release-branch.go1.2] doc: update front page summary textAndrew Gerrand
««« CL 18080045 / 5ffdb9cc0bfe doc: update front page summary text R=rsc CC=golang-dev https://golang.org/cl/18080045 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20540044
2013-11-01[release-branch.go1.2] cmd/cgo: stop using -fno-eliminate-unused-debug-typesAndrew Gerrand
««« CL 18850043 / 5ef4bf9eb256 cmd/cgo: stop using -fno-eliminate-unused-debug-types This flag was added in January 2010, in CL 181102, to fix issue 497. (Numbers were just shorter back then.) The fix was for OS X machines and the llvm-gcc frontend. In July 2011 we had to change the way we get enum values, because there were no flags available to force Xcode's llvm-gcc to include the enum names and values in DWARF debug output. We now use clang, not llvm-gcc, on OS X machines. Earlier versions of clang printed a warning about not knowing the flag. Newer versions of clang now make that an error. That is: - The flag was added for OS X machines. - The flag is no longer necessary on OS X machines. - The flag now breaks some OS X machines. Remove it. I have run the original program from issue 497 successfully without the flag on both OS X and Linux machines. Fixes #6678. R=golang-dev, minux.ma CC=golang-dev https://golang.org/cl/18850043 »»» R=golang-dev CC=golang-dev https://golang.org/cl/19850048
2013-11-01[release-branch.go1.2] runtime: relax preemption assertion during stack splitAndrew Gerrand
««« CL 18740044 / 1a8903f0a577 runtime: relax preemption assertion during stack split The case can happen when starttheworld is calling acquirep to get things moving again and acquirep gets preempted. The stack trace is in golang.org/issue/6644. It is difficult to build a short test case for this, but the person who reported issue 6644 confirms that this solves the problem. Fixes #6644. R=golang-dev, r CC=golang-dev https://golang.org/cl/18740044 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20460044
2013-11-01[release-branch.go1.2] net: handle single-line non-\n-terminated files ↵Andrew Gerrand
correctly in readLine ««« CL 15960047 / a0d4544cdb2a net: handle single-line non-\n-terminated files correctly in readLine Fixes #6646. R=rsc, bradfitz CC=golang-dev https://golang.org/cl/15960047 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20560044
2013-11-01[release-branch.go1.2] net/url: fix Encode doc commentAndrew Gerrand
««« CL 16430043 / f9af8b83c78c net/url: fix Encode doc comment Encoded query strings are always sorted by key; the example wasn't. R=golang-dev, dsymonds, minux.ma, bradfitz CC=golang-dev https://golang.org/cl/16430043 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20480044
2013-11-01[release-branch.go1.2] misc/linkcheck: better redirect handling, use ↵Andrew Gerrand
meaningful exit code ««« CL 14425049 / 093d299d669e misc/linkcheck: better redirect handling, use meaningful exit code Prevent linkcheck from following redirects that lead beyond the outside the root URL. Return a non-zero exit code when there are problems. Some minor refactoring for clarity. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/14425049 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20360044
2013-11-01[release-branch.go1.2] strings: fix Replacer bug with prefix matchesAndrew Gerrand
««« CL 16880043 / 0eb6508d3e88 strings: fix Replacer bug with prefix matches singleStringReplacer had a bug where if a string was replaced at the beginning and no output had yet been produced into the temp buffer before matching ended, an invalid nil check (used as a proxy for having matched anything) meant it always returned its input. Fixes #6659 R=golang-dev, r CC=golang-dev https://golang.org/cl/16880043 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20570044
2013-11-01[release-branch.go1.2] database/sql: link to wiki in package docsAndrew Gerrand
««« CL 14087043 / 7ebbddd21330 database/sql: link to wiki in package docs Update #5886 R=golang-dev, kamil.kisiel, adg, r, rsc, dave, arnehormann, bradfitz CC=golang-dev https://golang.org/cl/14087043 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20610043
2013-11-01[release-branch.go1.2] C+A: add Matthew Cottingham (Individual CLA)Andrew Gerrand
««« CL 16650043 / afb8e00de04a C+A: add Matthew Cottingham (Individual CLA) Done by addca, but codereview failed with a Python stacktrace, so submitting by hand. R=golang-dev CC=golang-dev https://golang.org/cl/16650043 »»» R=golang-dev CC=golang-dev https://golang.org/cl/19560046
2013-11-01[release-branch.go1.2] plan9: correct create permissions with union directoryAndrew Gerrand
««« CL 15360045 / f257b02e7ffe plan9: correct create permissions with union directory R=golang-dev, rsc CC=golang-dev https://golang.org/cl/15360045 »»» R=golang-dev CC=golang-dev https://golang.org/cl/19960046
2013-11-01[release-branch.go1.2] misc/dist: use go.tools release branchAndrew Gerrand
««« CL 15450047 / 1f81a19c2ee2 misc/dist: use go.tools release branch R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/15450047 »»» R=golang-dev CC=golang-dev https://golang.org/cl/19850047
2013-11-01[release-branch.go1.2] test/mapnan: use time.Now instead of syscall.GetrusageAndrew Gerrand
««« CL 15570046 / 9169cb38c3e8 test/mapnan: use time.Now instead of syscall.Getrusage Avoids a dependency on a somewhat nonstandard part of package syscall. R=golang-dev, dave, r CC=golang-dev https://golang.org/cl/15570046 »»» R=golang-dev CC=golang-dev https://golang.org/cl/19960045
2013-11-01[release-branch.go1.2] cmd/cgo: use __typeof__, -w instead of typeof, -Wno-allAndrew Gerrand
««« CL 14920052 / 98840b3349f4 cmd/cgo: use __typeof__, -w instead of typeof, -Wno-all Suggested by iant in earlier CL. R=golang-dev, bradfitz, iant CC=golang-dev https://golang.org/cl/14920052 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20600043
2013-11-01[release-branch.go1.2] time: fix ParseDuration overflow when given more than ↵Andrew Gerrand
9 digits on 32-bit arch ««« CL 15080043 / fbf3b853e00b time: fix ParseDuration overflow when given more than 9 digits on 32-bit arch Fixes #6617. R=golang-dev, rsc, r CC=golang-dev https://golang.org/cl/15080043 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20050045
2013-11-01[release-branch.go1.2] misc/emacs: handle empty "import ()" in go-goto-importsAndrew Gerrand
««« CL 14454058 / 6b8f33ab7ca4 misc/emacs: handle empty "import ()" in go-goto-imports R=adonovan CC=golang-dev https://golang.org/cl/14454058 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20590043
2013-11-01[release-branch.go1.2] math: remove unnecessary source fileAndrew Gerrand
««« CL 15750046 / 2d1e1adf8ece math: remove unnecessary source file The routines in this file are dregs from a very early copy of the math API. There are no Go prototypes and no non-amd64 implementations. R=golang-dev, minux.ma CC=golang-dev https://golang.org/cl/15750046 »»» R=golang-dev CC=golang-dev https://golang.org/cl/19560045
2013-11-01[release-branch.go1.2] go/build: document the go1.2 build tagAndrew Gerrand
««« CL 14930046 / d4f6533fad0b go/build: document the go1.2 build tag R=golang-dev, adg CC=golang-dev https://golang.org/cl/14930046 »»» R=golang-dev CC=golang-dev https://golang.org/cl/19960044
2013-11-01[release-branch.go1.2] crypto/x509: name constraints should be a disjunction.Andrew Gerrand
««« CL 15570044 / b4c37131e846 crypto/x509: name constraints should be a disjunction. The code was requiring that all constraints be met, but it should be satisfied by meeting *any* of them. R=golang-dev, bradfitz, r CC=golang-dev https://golang.org/cl/15570044 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20580043
2013-11-01[release-branch.go1.2] crypto/tls: advertise support for RSA+SHA1 in TLS 1.2 ↵Andrew Gerrand
handshake. ««« CL 15650043 / 29d3ab5ced5a crypto/tls: advertise support for RSA+SHA1 in TLS 1.2 handshake. Despite SHA256 support being required for TLS 1.2 handshakes, some servers are aborting handshakes that don't offer SHA1 support. This change adds support for signing TLS 1.2 ServerKeyExchange messages with SHA1. It does not add support for signing TLS 1.2 client certificates with SHA1 as that would require the handshake to be buffered. Fixes #6618. R=golang-dev, r CC=golang-dev https://golang.org/cl/15650043 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20570043
2013-11-01[release-branch.go1.2] net/mail: fix minor doc typo.Andrew Gerrand
««« CL 15510043 / 6752a7aad603 net/mail: fix minor doc typo. R=golang-dev, minux.ma CC=golang-dev https://golang.org/cl/15510043 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20560043
2013-11-01[release-branch.go1.2] cmd/yacc: fix stderr on Windows.Andrew Gerrand
««« CL 15330043 / 69bf31787310 cmd/yacc: fix stderr on Windows. Fixes #6620. R=golang-dev, dave, r CC=golang-dev https://golang.org/cl/15330043 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20550043
2013-11-01[release-branch.go1.2] cmd/cgo: fix line number in an error messageAndrew Gerrand
««« CL 14870046 / b508daf6dae6 cmd/cgo: fix line number in an error message Fixes #6563. R=golang-dev, iant CC=golang-dev https://golang.org/cl/14870046 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20150045
2013-11-01[release-branch.go1.2] cmd/cgo: stop using compiler error message text to ↵Andrew Gerrand
analyze C names ««« CL 15070043 / 90a628ac54ed cmd/cgo: stop using compiler error message text to analyze C names The old approach to determining whether "name" was a type, constant, or expression was to compile the C program name; and scan the errors and warnings generated by the compiler. This requires looking for specific substrings in the errors and warnings, which ties the implementation to specific compiler versions. As compilers change their errors or drop warnings, cgo breaks. This happens slowly but it does happen. Clang in particular (now required on OS X) has a significant churn rate. The new approach compiles a slightly more complex program that is either valid C or not valid C depending on what kind of thing "name" is. It uses only the presence or absence of an error message on a particular line, not the error text itself. The program is: // error if and only if name is undeclared void f1(void) { typeof(name) *x; } // error if and only if name is not a type void f2(void) { name *x; } // error if and only if name is not an integer constant void f3(void) { enum { x = (name)*1 }; } I had not been planning to do this until Go 1.3, because it is a non-trivial change, but it fixes a real Xcode 5 problem in Go 1.2, and the new code is easier to understand than the old code. It should be significantly more robust. Fixes #6596. Fixes #6612. R=golang-dev, r, james, iant CC=golang-dev https://golang.org/cl/15070043 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20060044
2013-11-01[release-branch.go1.2] cmd/gc: shorten name used for map bucket typeAndrew Gerrand
««« CL 15110044 / 95336afd420c cmd/gc: shorten name used for map bucket type Before: type.struct { buckets *struct { overflow *struct { overflow *struct { overflow *struct { overflow *struct { overflow *<...>; keys [8]string; values [8]*"".RangeTable }; keys [8]string; values [8]*"".RangeTable }; keys [8]string; values [8]*"".RangeTable }; keys [8]string; values [8]*"".RangeTable }; keys [8]string; values [8]*"".RangeTable }; oldbuckets *struct { overflow *struct { overflow *struct { overflow *struct { overflow *struct { overflow *<...>; keys [8]string; values [8]*"".RangeTable }; keys [8]string; values [8]*"".RangeTable }; keys [8]string; values [8]*"".RangeTable }; keys [8]string; values [8]*"".RangeTable }; keys [8]string; values [8]*"".RangeTable } } After: type.map.bucket[string]*"".RangeTable This makes debugging maps a little nicer, and it takes up less space in the binary. R=golang-dev, r CC=golang-dev, khr https://golang.org/cl/15110044 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20050044
2013-11-01[release-branch.go1.2] net: make sure failed Dial returns nil ConnAndrew Gerrand
««« CL 14950045 / 1e60ffd5933d net: make sure failed Dial returns nil Conn Fixes #6614. R=golang-dev, bradfitz, mikioh.mikioh CC=golang-dev https://golang.org/cl/14950045 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20170047
2013-11-01[release-branch.go1.2] runtime: remove nomemprofAndrew Gerrand
««« CL 14695044 / 35d5bae6aac8 runtime: remove nomemprof Nomemprof seems to be unneeded now, there is no recursion. If the recursion will be re-introduced, it will break loudly by deadlocking. Fixes #6566. R=golang-dev, minux.ma, rsc CC=golang-dev https://golang.org/cl/14695044 »»» R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/20540043
2013-11-01[release-branch.go1.2] misc/dist: build race packages when os suffix presentAndrew Gerrand
««« CL 14930043 / 5746e3a5443b misc/dist: build race packages when os suffix present The "darwin-amd64-osx10.8" target was not matching "darwin-amd64". R=golang-dev CC=golang-dev https://golang.org/cl/14930043 »»» R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/20290045
2013-10-18go1.2rc2go1.2rc2Andrew Gerrand
2013-10-18api: add go1.2.txt, use in testsAndrew Gerrand
R=golang-dev, iant CC=golang-dev https://golang.org/cl/14860043
2013-10-18misc/dist: set default go.tools tagAndrew Gerrand
Fixes #6607. R=dsymonds CC=golang-dev https://golang.org/cl/14830043
2013-10-17net/url: fix regression when serializing relative URLsBrad Fitzpatrick
Only add a slash to path if it's a separator between a host and path. Fixes #6609 R=golang-dev, dsymonds, r CC=golang-dev https://golang.org/cl/14815043
2013-10-17runtime: correct test for when to poll networkIan Lance Taylor
Fixes #6610. R=golang-dev, khr CC=golang-dev https://golang.org/cl/14793043
2013-10-17runtime: correct parameter name in MCentral_AllocList commentIan Lance Taylor
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/14792043
2013-10-17encoding/xml: accept chains of interfaces and pointersRuss Cox
Fixes #6556. R=golang-dev, iant, adg CC=golang-dev https://golang.org/cl/14747043
2013-10-17database/sql: make tests repeatable with -cpu=n,nAlberto García Hierro
New test added in CL 14611045 causes a deadlock when running the tests with -cpu=n,n because the fakedb driver always waits when opening a new connection after running TestConnectionLeak. Reset its state after. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/14780043
2013-10-17A+C: add Jamie Turner (Dropbox corporate CLA).David Symonds
R=golang-dev, iant CC=golang-dev https://golang.org/cl/14765043
2013-10-16database/sql: fix some test fmt verbsBrad Fitzpatrick
Found by vet. R=golang-dev, r CC=golang-dev https://golang.org/cl/14762044
2013-10-16spec: clarify re-use of underlying arrays in slice operationsRobert Griesemer
Please note the slight rewording for append: The spec now requires that append reuses the underlying array if it is sufficiently large. Per majority sentiment. This is technically a language change but the current implementation always worked this way. Fixes #5818. Fixes #5180. R=rsc, iant, r, ken, minux.ma, dan.kortschak, rogpeppe, go.peter.90 CC=golang-dev https://golang.org/cl/14419054
2013-10-16database/sql: Fix connection leak and potential deadlockAlberto García Hierro
CL 10726044 introduced a race condition which causes connections to be leaked under certain circumstances. If SetMaxOpenConns is used, the application eventually deadlocks. Otherwise, the number of open connections just keep growing indefinitely. Fixes #6593 R=golang-dev, bradfitz, tad.glines, bketelsen CC=golang-dev https://golang.org/cl/14611045
2013-10-16database/sql: fix double decrement of numOpen count; test for connection leaksAlberto García Hierro
Add a check at the end of every test to make sure there are no leaked connections after running a test. Avoid incorrectly decrementing the number of open connections when the driver connection ends up it a bad state (numOpen was decremented twice). Prevent leaking a Rows struct (which ends up leaking a connection) in Row.Scan() when a *RawBytes destination is improperly used. Close the Rows struct in TestRowsColumns. Update #6593 R=golang-dev, bradfitz, dave CC=golang-dev https://golang.org/cl/14642044
2013-10-15cmd/cgo: simpler fix for issue 6506.Shenghou Ma
Replaces CL 14682044. Fixes #6506. R=rsc, iant, dave CC=golang-dev https://golang.org/cl/14717043
2013-10-15doc/effective_go.html: fix code exampleShenghou Ma
Fixes #6595. R=golang-dev, adg CC=golang-dev https://golang.org/cl/14425062
2013-10-15cmd/cgo: print the builtin prolog after the per-file preambleRuss Cox
The preamble may want to #define some special symbols and then #include <sys/types.h> itself. The builtin prolog also #includes <sys/types.h>, which would break such a preamble (because the second #include will be a no-op). The use of sys/types.h in the builtin prolog is new since Go 1.1, so this should preserve the semantics of more existing cgo code than we would otherwise. It also fixes src/pkg/syscall/mkall.sh's use of go tool cgo -godefs on some Linux systems. Thanks to fullung@ for identifying the problem. Fixes #6558. R=golang-dev, iant CC=golang-dev https://golang.org/cl/14684044
2013-10-15undo CL 14231047 / 2f4c2dde2756Alex Brainman
undone because the change slows down profile collection significantly and unpredictable at times (see comments at https://golang.org/cl/14231047 for details) ««« original CL description runtime: collect profiles even while on g0 stack Fixes #6417 R=golang-dev, rsc CC=golang-dev https://golang.org/cl/14231047 »»» R=golang-dev, rsc CC=golang-dev https://golang.org/cl/14535046
2013-10-15cmd/cgo: fix Xcode 5 incompatibility for #defined expressionsRuss Cox
Ensure that clang always exits with a non-zero status by giving it something that it always warns about (the statement "1;"). Fixes #6128. R=golang-dev, iant, minux.ma CC=golang-dev https://golang.org/cl/14702043
2013-10-15misc/cgo/test: cut out non-standard functionsRuss Cox
Otherwise the link fails. Fixes build. TBR=golang-dev CC=golang-dev https://golang.org/cl/14483050