]> Cypherpunks repositories - gostls13.git/log
gostls13.git
13 years agocmd/go: fix get github
Russ Cox [Tue, 24 Jan 2012 19:15:37 +0000 (14:15 -0500)]
cmd/go: fix get github

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5569054

13 years agocompress/flate: increase the length of hash table from 1<<15 to 1<<17. 0%-16% speedup.
Ivan Krasin [Tue, 24 Jan 2012 18:52:45 +0000 (13:52 -0500)]
compress/flate: increase the length of hash table from 1<<15 to 1<<17. 0%-16% speedup.

R=rsc, imkrasin
CC=golang-dev
https://golang.org/cl/5569048

13 years agocrypto: rename some FooError to ErrFoo
Brad Fitzpatrick [Tue, 24 Jan 2012 16:32:43 +0000 (08:32 -0800)]
crypto: rename some FooError to ErrFoo

Also, add an explicit error type when the right hand side is an unexported
function.

R=golang-dev, gri, rogpeppe, agl, rsc
CC=golang-dev
https://golang.org/cl/5564048

13 years agogc: static implements check on typeswitches only applies to concrete case types.
Luuk van Dijk [Tue, 24 Jan 2012 12:53:00 +0000 (13:53 +0100)]
gc: static implements check on typeswitches only applies to concrete case types.

Fixes #2700.

R=rsc
CC=golang-dev
https://golang.org/cl/5574046

13 years agoencoding/xml: bring API closer to other packages
Gustavo Niemeyer [Tue, 24 Jan 2012 03:10:32 +0000 (01:10 -0200)]
encoding/xml: bring API closer to other packages

Includes gofix module. The only case not covered should be
xml.Unmarshal, since it remains with a similar interface, and
would require introspecting the type of its first argument
better.

Fixes #2626.

R=golang-dev, rsc, gustavo
CC=golang-dev
https://golang.org/cl/5574053

13 years agogo/doc: removed unused field "Type.Type"
Robert Griesemer [Tue, 24 Jan 2012 00:53:19 +0000 (16:53 -0800)]
go/doc: removed unused field "Type.Type"

CL 5572043 removed the last uses of this field.
The information is readily available from Type.Decl.

R=rsc, golang-dev
CC=golang-dev
https://golang.org/cl/5570049

13 years agodoc/go1: image changes
Rob Pike [Tue, 24 Jan 2012 00:11:49 +0000 (16:11 -0800)]
doc/go1: image changes

R=nigeltao, christoph, rsc, r, tux21b
CC=golang-dev
https://golang.org/cl/5573048

13 years agolib/godoc: use Type.Name directly
Robert Griesemer [Tue, 24 Jan 2012 00:08:05 +0000 (16:08 -0800)]
lib/godoc: use Type.Name directly

Also: remove an unused template variable declaration.

R=adg
CC=golang-dev
https://golang.org/cl/5572043

13 years agomath/big: slight improvement to algorithm used for internal bitLen function
David G. Andersen [Mon, 23 Jan 2012 21:46:28 +0000 (13:46 -0800)]
math/big: slight improvement to algorithm used for internal bitLen function

The bitLen function currently shifts out blocks of 8 bits at a time.
This change replaces this sorta-linear algorithm with a log(N)
one (shift out 16 bits, then 8, then 4, then 2, then 1).
I left the start of it linear at 16 bits at a time so that
the function continues to work with 32 or 64 bit values
without any funkiness.
The algorithm is similar to several of the nlz ("number of
leading zeros") algorithms from "Hacker's Delight" or the
"bit twiddling hacks" pages.

Doesn't make a big difference to the existing benchmarks, but
I'm using the code in a different context that calls bitLen
much more often, so it seemed worthwhile making the existing
codebase faster so that it's a better building block.

Microbenchmark results on a 64-bit Macbook Pro using 6g from weekly.2012-01-20:

benchmark                old ns/op    new ns/op    delta
big.BenchmarkBitLen0             4            6  +50.12%
big.BenchmarkBitLen1             4            6  +33.91%
big.BenchmarkBitLen2             6            6   +3.05%
big.BenchmarkBitLen3             7            6  -19.05%
big.BenchmarkBitLen4             9            6  -30.19%
big.BenchmarkBitLen5            11            6  -42.23%
big.BenchmarkBitLen8            16            6  -61.78%
big.BenchmarkBitLen9             5            6  +18.29%
big.BenchmarkBitLen16           18            7  -60.99%
big.BenchmarkBitLen17            7            6   -4.64%
big.BenchmarkBitLen31           19            7  -62.49%

On an ARM machine (with the previous weekly):

benchmark                old ns/op    new ns/op    delta
big.BenchmarkBitLen0            37           50  +36.56%
big.BenchmarkBitLen1            59           51  -13.69%
big.BenchmarkBitLen2            74           59  -20.40%
big.BenchmarkBitLen3            92           60  -34.89%
big.BenchmarkBitLen4           110           59  -46.09%
big.BenchmarkBitLen5           127           60  -52.68%
big.BenchmarkBitLen8           181           59  -67.24%
big.BenchmarkBitLen9            78           60  -23.05%
big.BenchmarkBitLen16          199           69  -65.13%
big.BenchmarkBitLen17           91           70  -23.17%
big.BenchmarkBitLen31          210           95  -54.43%

R=golang-dev, dave, edsrzf, gri
CC=golang-dev
https://golang.org/cl/5570044

13 years agoexp/ebnflint: test spec during 'go test'
Russ Cox [Mon, 23 Jan 2012 21:35:25 +0000 (16:35 -0500)]
exp/ebnflint: test spec during 'go test'

This avoids the need for a custom Makefile.

R=gri
CC=golang-dev
https://golang.org/cl/5575045

13 years agocmd/go: add missing files (fix build)
Russ Cox [Mon, 23 Jan 2012 20:24:20 +0000 (15:24 -0500)]
cmd/go: add missing files (fix build)

TBR=r
CC=golang-dev
https://golang.org/cl/5571050

13 years agocmd/go: implement go get + bug fixes
Russ Cox [Mon, 23 Jan 2012 20:16:51 +0000 (15:16 -0500)]
cmd/go: implement go get + bug fixes

Move error information into Package struct, so that
a package can be returned even if a dependency failed
to load or did not exist.  This makes it possible to run
'go fix' or 'go fmt' on packages with broken dependencies
or missing imports.  It also enables go get -fix.
The new go list -e flag lets go list process those package
errors as normal data.

Change p.Doc to be first sentence of package doc, not
entire package doc.  Makes go list -json or
go list -f '{{.ImportPath}} {{.Doc}}' much more reasonable.

The go tool now depends on http, which means also
net and crypto/tls, both of which use cgo.  Trying to
make the build scripts that build the go tool understand
and handle cgo is too much work.  Instead, we build
a stripped down version of the go tool, compiled as go_bootstrap,
that substitutes an error stub for the usual HTTP code.
The buildscript builds go_bootstrap, go_bootstrap builds
the standard packages and commands, including the full
including-HTTP-support go tool, and then go_bootstrap
gets deleted.

Also handle the case where the buildscript needs updating
during all.bash: if it fails but a go command can be found on
the current $PATH, try to regenerate it.  This gracefully
handles situations like adding a new file to a package
used by the go tool.

R=r, adg
CC=golang-dev
https://golang.org/cl/5553059

13 years agogo/build: add BuildTags to Context, allow !tag
Russ Cox [Mon, 23 Jan 2012 20:16:38 +0000 (15:16 -0500)]
go/build: add BuildTags to Context, allow !tag

This lets the client of go/build specify additional tags that
can be recognized in a // +build directive.  For example,
a build for a custom environment like App Engine might
include "appengine" in the BuildTags list, so that packages
can be written with some files saying

        // +build appengine   (build only on app engine)

or

        // +build !appengine  (build only when NOT on app engine)

App Engine here is just a hypothetical context.  I plan to use
this in the cmd/go sources to distinguish the bootstrap version
of cmd/go (which will not use networking) from the full version
using a custom tag.  It might also be useful in App Engine.

Also, delete Build and Script, which we did not end up using for
cmd/go and which never got turned on for real in goinstall.

R=r, adg
CC=golang-dev
https://golang.org/cl/5554079

13 years agogc: avoid DOT in error messages
Russ Cox [Mon, 23 Jan 2012 20:10:53 +0000 (15:10 -0500)]
gc: avoid DOT in error messages

R=ken2
CC=golang-dev
https://golang.org/cl/5573047

13 years agocgo: -cdefs should translate unsafe.Pointer to void *
Shenghou Ma [Mon, 23 Jan 2012 19:45:30 +0000 (14:45 -0500)]
cgo: -cdefs should translate unsafe.Pointer to void *
        Fixes #2454.

R=rsc, mikioh.mikioh, golang-dev, iant, iant
CC=golang-dev
https://golang.org/cl/5557068

13 years agogo/doc: test all operation modes
Robert Griesemer [Mon, 23 Jan 2012 18:41:54 +0000 (10:41 -0800)]
go/doc: test all operation modes

Golden files have extension .d.golden where d is the mode value (0 or 1 for now)
(i.e., testdata/file.out is now testdata/file.0.golden, and there is a new file
testdata/file.1.golden for each testcase)

R=rsc
CC=golang-dev
https://golang.org/cl/5573046

13 years agoexp/norm: fixes a subtle bug introduced by change 10087: random offset
Marcel van Lohuizen [Mon, 23 Jan 2012 18:36:52 +0000 (19:36 +0100)]
exp/norm: fixes a subtle bug introduced by change 10087: random offset
for map iteration.  New code makes table output predictable and fixes
bug.

R=rsc, r
CC=golang-dev
https://golang.org/cl/5573044

13 years agonet: consistent OpError message
Mikio Hara [Mon, 23 Jan 2012 17:59:43 +0000 (02:59 +0900)]
net: consistent OpError message

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5562047

13 years agodashboard: fix -commit for new xml package
Russ Cox [Mon, 23 Jan 2012 16:50:39 +0000 (11:50 -0500)]
dashboard: fix -commit for new xml package

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5571046

13 years agoCONTRIBUTORS: add Alexandru Moșoi <brtzsnr@gmail.com>
Rob Pike [Mon, 23 Jan 2012 16:49:30 +0000 (08:49 -0800)]
CONTRIBUTORS: add Alexandru Moșoi <brtzsnr@gmail.com>
Google contributor.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/5554084

13 years agogob: annotate debug.go so it's not normally built
Rob Pike [Mon, 23 Jan 2012 16:40:34 +0000 (08:40 -0800)]
gob: annotate debug.go so it's not normally built
So it's not included in the package by the go tool.

R=iant, fullung, rsc
CC=golang-dev
https://golang.org/cl/5563049

13 years agospec: function invocation, panic on *nil
Rob Pike [Mon, 23 Jan 2012 16:40:13 +0000 (08:40 -0800)]
spec: function invocation, panic on *nil
Document that indirection through a nil pointer will panic.
Explain function invocation.
This section will need more work, but it's a start.

Fixes #1865.
Fixes #2252.

R=rsc, iant, r
CC=golang-dev
https://golang.org/cl/5532114

13 years agoFAQ: update to Go 1.
Rob Pike [Mon, 23 Jan 2012 16:39:53 +0000 (08:39 -0800)]
FAQ: update to Go 1.

R=adg, rsc, r
CC=golang-dev
https://golang.org/cl/5562051

13 years agogc: missed typecheck in subscripting a const string.
Luuk van Dijk [Mon, 23 Jan 2012 15:57:12 +0000 (16:57 +0100)]
gc: missed typecheck in subscripting a const string.

Fixes #2674.

R=rsc
CC=golang-dev
https://golang.org/cl/5574045

13 years agogc: handle function calls in arguments to builtin complex operations.
Luuk van Dijk [Mon, 23 Jan 2012 15:56:57 +0000 (16:56 +0100)]
gc: handle function calls in arguments to builtin complex operations.

Fixes #2582

R=rsc
CC=golang-dev
https://golang.org/cl/5574044

13 years agocompress/flate: delete unused util functions.
Ivan Krasin [Mon, 23 Jan 2012 15:31:51 +0000 (10:31 -0500)]
compress/flate: delete unused util functions.

R=rsc
CC=golang-dev
https://golang.org/cl/5555071

13 years agold: fix Mach-O code signing for non-cgo binaries
Mikkel Krautz [Mon, 23 Jan 2012 14:42:09 +0000 (09:42 -0500)]
ld: fix Mach-O code signing for non-cgo binaries

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5561060

13 years agocompress/flate: use append instead of slice+counter.
Ivan Krasin [Mon, 23 Jan 2012 14:26:14 +0000 (09:26 -0500)]
compress/flate: use append instead of slice+counter.

R=rsc, nigeltao
CC=golang-dev
https://golang.org/cl/5561056

13 years agocompress/flate: reduce memory pressure at cost of additional arithmetic operation.
Ivan Krasin [Mon, 23 Jan 2012 14:19:39 +0000 (09:19 -0500)]
compress/flate: reduce memory pressure at cost of additional arithmetic operation.

R=rsc
CC=golang-dev
https://golang.org/cl/5555070

13 years agogc: fix recursion loop in interface comparison
Russ Cox [Mon, 23 Jan 2012 14:19:02 +0000 (09:19 -0500)]
gc: fix recursion loop in interface comparison

iant's idea.

Fixes #2745.

R=iant, dsymonds
CC=golang-dev
https://golang.org/cl/5536085

13 years agogodoc: log node printing error
Robert Griesemer [Mon, 23 Jan 2012 03:36:34 +0000 (19:36 -0800)]
godoc: log node printing error

Invaluable when changing template files.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5571044

13 years agoencoding/xml: support ignoring fields with "-"
Gustavo Niemeyer [Mon, 23 Jan 2012 03:34:35 +0000 (01:34 -0200)]
encoding/xml: support ignoring fields with "-"

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5564045

13 years agoencoding/xml: minor doc fixup
Gustavo Niemeyer [Mon, 23 Jan 2012 03:32:07 +0000 (01:32 -0200)]
encoding/xml: minor doc fixup

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5564046

13 years agogo/doc: add more test cases
Robert Griesemer [Mon, 23 Jan 2012 02:53:18 +0000 (18:53 -0800)]
go/doc: add more test cases

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5571043

13 years agogo/doc: set Type.Name field
Robert Griesemer [Mon, 23 Jan 2012 02:52:38 +0000 (18:52 -0800)]
go/doc: set Type.Name field

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5569043

13 years agoencoding/xml: improve []byte handling
Gustavo Niemeyer [Mon, 23 Jan 2012 02:50:05 +0000 (00:50 -0200)]
encoding/xml: improve []byte handling

Marshalling of []byte in attributes and the general
marshalling of named []byte types was fixed.

A []byte field also won't be nil if an XML element
was mapped to it, even if the element is empty.

Tests were introduced to make sure that *struct{}
fields works correctly for element presence testing.
No changes to the logic made in that regard.

R=rsc
CC=golang-dev
https://golang.org/cl/5539070

13 years agodoc/progs: Add the usual Copyright notice.
Olivier Duperray [Mon, 23 Jan 2012 00:19:48 +0000 (11:19 +1100)]
doc/progs: Add the usual Copyright notice.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5568043

13 years agodoc/codelab/wiki: Add the usual Copyright notice.
Olivier Duperray [Sun, 22 Jan 2012 22:28:32 +0000 (09:28 +1100)]
doc/codelab/wiki: Add the usual Copyright notice.

R=adg
CC=golang-dev
https://golang.org/cl/5554073

13 years agogo/build: silence all warnings
Andrew Gerrand [Sun, 22 Jan 2012 22:26:46 +0000 (09:26 +1100)]
go/build: silence all warnings

R=rsc
CC=golang-dev
https://golang.org/cl/5529055

13 years agogob: reduce the maximum message size
Rob Pike [Sun, 22 Jan 2012 20:01:12 +0000 (12:01 -0800)]
gob: reduce the maximum message size
It was 2^31, but that could cause overflow and trouble.
Reduce it to 2^30 and add a TODO.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/5562049

13 years agotest: explicitly use variables to avoid gccgo "not used" error
Ian Lance Taylor [Sun, 22 Jan 2012 19:50:45 +0000 (11:50 -0800)]
test: explicitly use variables to avoid gccgo "not used" error

I haven't looked at the source, but the gc compiler appears to
omit "not used" errors when there is an error in the
initializer.  This is harder to do in gccgo, and frankly I
think the "not used" error is still useful even if the
initializer has a problem.  This CL tweaks some tests to avoid
the error, which is not the point of these tests in any case.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5561059

13 years ago6l, 8l: remove unused macro definition
Shenghou Ma [Sun, 22 Jan 2012 18:35:15 +0000 (10:35 -0800)]
6l, 8l: remove unused macro definition
        Their last use is removed in rev 70ed048caad2.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5532115

13 years agoruntime: update out-of-date comment
Shenghou Ma [Sun, 22 Jan 2012 18:34:17 +0000 (10:34 -0800)]
runtime: update out-of-date comment

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5532118

13 years agobytes: delete the test for huge buffers
Rob Pike [Sun, 22 Jan 2012 17:25:47 +0000 (09:25 -0800)]
bytes: delete the test for huge buffers
It takes too much memory to be reliable and causes
trouble on 32-bit machines.
Sigh.

Fixes #2756.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5567043

13 years agobytes.Buffer: remove dead code, complete documentation
Robert Griesemer [Sun, 22 Jan 2012 05:31:21 +0000 (21:31 -0800)]
bytes.Buffer: remove dead code, complete documentation

R=r, dave, r
CC=golang-dev
https://golang.org/cl/5533086

13 years agobytes.Buffer: restore panic on out-of-memory
Rob Pike [Sat, 21 Jan 2012 17:46:59 +0000 (09:46 -0800)]
bytes.Buffer: restore panic on out-of-memory
Make the panic detectable, and use that in ioutil.ReadFile to
give an error if the file is too big.

R=golang-dev, minux.ma, bradfitz
CC=golang-dev
https://golang.org/cl/5563045

13 years agocompress/flate: fix a typo, improve compression rate by 3-4%.
Ivan Krasin [Sat, 21 Jan 2012 17:18:15 +0000 (12:18 -0500)]
compress/flate: fix a typo, improve compression rate by 3-4%.

R=rsc
CC=golang-dev
https://golang.org/cl/5556077

13 years agonet: Dial, ListenPacket with "ip:protocol" network for raw IP sockets
Mikio Hara [Sat, 21 Jan 2012 12:51:53 +0000 (21:51 +0900)]
net: Dial, ListenPacket with "ip:protocol" network for raw IP sockets

Fixes #2654.

R=rsc
CC=golang-dev
https://golang.org/cl/5545058

13 years agogc: test case for recursive interface bug.
David Symonds [Sat, 21 Jan 2012 06:02:54 +0000 (17:02 +1100)]
gc: test case for recursive interface bug.

R=rsc
CC=golang-dev
https://golang.org/cl/5555066

13 years agocmd/go: every test imports regexp
Russ Cox [Sat, 21 Jan 2012 04:35:28 +0000 (23:35 -0500)]
cmd/go: every test imports regexp

This fixes the bug Rob ran into when editing package bytes.
Regexp imports regexp/syntax, which imports bytes, and
regexp/syntax was not being properly recompiled during a
test of a change to package bytes.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5555065

13 years agocompress/flate: make lazy matching work.
Ivan Krasin [Sat, 21 Jan 2012 04:35:18 +0000 (23:35 -0500)]
compress/flate: make lazy matching work.

R=rsc, imkrasin
CC=golang-dev
https://golang.org/cl/5554066

13 years agoos: fix Plan 9 build after more FileMode changes
Anthony Martin [Sat, 21 Jan 2012 04:01:29 +0000 (20:01 -0800)]
os: fix Plan 9 build after more FileMode changes

This should go in after Brad's CL 5553064.

R=bradfitz, rsc
CC=golang-dev
https://golang.org/cl/5555056

13 years agobytes: simplified logic
Robert Griesemer [Fri, 20 Jan 2012 23:39:14 +0000 (15:39 -0800)]
bytes: simplified logic

Also: Avoid potential crash due to reslicing of nil buffer.

R=r
CC=golang-dev
https://golang.org/cl/5556075

13 years agodoc/go1: flag, runtime, testing
Rob Pike [Fri, 20 Jan 2012 23:38:03 +0000 (15:38 -0800)]
doc/go1: flag, runtime, testing

R=golang-dev, dsymonds, gri
CC=golang-dev
https://golang.org/cl/5557076

13 years agodoc: fix typo in Go for C++ programmers
Stefan Nilsson [Fri, 20 Jan 2012 22:44:05 +0000 (14:44 -0800)]
doc: fix typo in Go for C++ programmers

R=iant
CC=golang-dev
https://golang.org/cl/5555062

13 years agodoc/go1: rearrange a bit, sort the packages
Rob Pike [Fri, 20 Jan 2012 22:28:48 +0000 (14:28 -0800)]
doc/go1: rearrange a bit, sort the packages
This should make it easier to add the zillion little changes coming.
No content change here beyond a couple of introductory sentences.
Sections have been moved wholesale without editing them.

R=golang-dev, rsc, gri
CC=golang-dev
https://golang.org/cl/5557074

13 years agogc: undo most of 'fix infinite recursion for embedded interfaces'
Russ Cox [Fri, 20 Jan 2012 22:14:09 +0000 (17:14 -0500)]
gc: undo most of 'fix infinite recursion for embedded interfaces'

Preserve test.

changeset:   11593:f1deaf35e1d1
user:        Luuk van Dijk <lvd@golang.org>
date:        Tue Jan 17 10:00:57 2012 +0100
summary:     gc: fix infinite recursion for embedded interfaces

This is causing 'interface type loop' errors during compilation
of a complex program.  I don't understand what's happening
well enough to boil it down to a simple test case, but undoing
this change fixes the problem.

The change being undone is fixing a corner case (uses of
pointer to interface in an interface definition) that basically
only comes up in erroneous Go programs.  Let's not try to
fix this again until after Go 1.

Unfixes issue 1909.

TBR=lvd
CC=golang-dev
https://golang.org/cl/5555063

13 years agobytes.Buffer: turn buffer size overflows into errors
Rob Pike [Fri, 20 Jan 2012 21:51:49 +0000 (13:51 -0800)]
bytes.Buffer: turn buffer size overflows into errors
Fixes #2743.

R=golang-dev, gri, r
CC=golang-dev
https://golang.org/cl/5556072

13 years agoencoding/varint: deleted WriteXvarint
Robert Griesemer [Fri, 20 Jan 2012 20:57:53 +0000 (12:57 -0800)]
encoding/varint: deleted WriteXvarint

Fixes #2748.

R=rsc, r, r
CC=golang-dev
https://golang.org/cl/5557072

13 years agodoc/go1.html: fix broken links
Robert Griesemer [Fri, 20 Jan 2012 20:57:43 +0000 (12:57 -0800)]
doc/go1.html: fix broken links

R=r
CC=golang-dev
https://golang.org/cl/5555060

13 years agogo run: correctly handle -n and -x flags
Shenghou Ma [Fri, 20 Jan 2012 20:48:01 +0000 (15:48 -0500)]
go run: correctly handle -n and -x flags

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5557069

13 years agogc: do not try to add a key with incorrect type to a hash
Jeff R. Allen [Fri, 20 Jan 2012 18:34:38 +0000 (13:34 -0500)]
gc: do not try to add a key with incorrect type to a hash

Fixes #2623.

R=rsc, bradfitz
CC=golang-dev
https://golang.org/cl/5533043

13 years agolibmach: cross compiling support
Shenghou Ma [Fri, 20 Jan 2012 18:34:30 +0000 (13:34 -0500)]
libmach: cross compiling support
        We already use GOHOSTOS to represent the host OS that the toolchain
        will be run on, so no need to resort to uname(1) to get that (and
        use uname(1) will make cross-compiling for another host impossible).

R=rsc, golang-dev
CC=golang-dev
https://golang.org/cl/5530050

13 years agoA+C: Berengar Lehr (individual CLA)
Russ Cox [Fri, 20 Jan 2012 18:34:25 +0000 (13:34 -0500)]
A+C: Berengar Lehr (individual CLA)

Was added to CONTRIBUTORS file in:

changeset:   7092:638ad4d7d280
user:        Berengar Lehr <Berengar.Lehr@gmx.de>
date:        Tue Jan 11 20:51:35 2011 -0500
summary:     crypto: add twofish package

but never added to AUTHORS file.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5532107

13 years agogo/ast: respect ImportSpec.EndPos
Scott Lawrence [Fri, 20 Jan 2012 18:34:19 +0000 (13:34 -0500)]
go/ast: respect ImportSpec.EndPos

Fixes #2566.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5541068

13 years agogo/doc: avoid the name 'a.out' in the testdata
Russ Cox [Fri, 20 Jan 2012 18:34:11 +0000 (13:34 -0500)]
go/doc: avoid the name 'a.out' in the testdata

R=golang-dev, gri, r
CC=golang-dev
https://golang.org/cl/5561047

13 years agogoyacc: fix indexing bug when yydebug >= 2
Rob Pike [Fri, 20 Jan 2012 18:22:41 +0000 (10:22 -0800)]
goyacc: fix indexing bug when yydebug >= 2
Fixes #2701.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5556070

13 years agomisc/xcode/go.xclangspec: fix typo
Shenghou Ma [Fri, 20 Jan 2012 15:17:52 +0000 (07:17 -0800)]
misc/xcode/go.xclangspec: fix typo

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/5553049

13 years agoruntime: add type algorithms for zero-sized types
Dmitriy Vyukov [Fri, 20 Jan 2012 06:32:55 +0000 (10:32 +0400)]
runtime: add type algorithms for zero-sized types
BenchmarkChanSem old=127ns new=78.6ns

R=golang-dev, bradfitz, sameer, rsc
CC=golang-dev
https://golang.org/cl/5558049

13 years agotag weekly.2012-01-20
Nigel Tao [Fri, 20 Jan 2012 06:01:55 +0000 (17:01 +1100)]
tag weekly.2012-01-20

R=dsymonds
CC=golang-dev
https://golang.org/cl/5558059

13 years agoweekly.2012-01-20 weekly.2012-01-20
Nigel Tao [Fri, 20 Jan 2012 05:57:10 +0000 (16:57 +1100)]
weekly.2012-01-20

R=r
CC=golang-dev
https://golang.org/cl/5557067

13 years agonet: fix linux build
Mikio Hara [Fri, 20 Jan 2012 02:56:17 +0000 (18:56 -0800)]
net: fix linux build

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5558056

13 years agomisc/cgo/test: make tests run on windows
Alex Brainman [Fri, 20 Jan 2012 01:59:44 +0000 (12:59 +1100)]
misc/cgo/test: make tests run on windows

- use proper Win64 gcc calling convention when
  calling initcgo on amd64
- increase g0 stack size to 64K on amd64 to make
  it the same as 386
- implement C.sleep
- do not use C.stat, since it is renamed to C._stat by mingw
- use fopen to implement TestErrno, since C.strtol
  always succeeds on windows
- skip TestSetEnv on windows, because os.Setenv
  sets windows process environment, while C.getenv
  inspects internal C runtime variable instead

R=golang-dev, vcc.163, rsc
CC=golang-dev
https://golang.org/cl/5500094

13 years agodatabase/sql: move from exp/sql
Brad Fitzpatrick [Fri, 20 Jan 2012 00:04:26 +0000 (16:04 -0800)]
database/sql: move from exp/sql

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5536076

13 years agohtml/template: fix docs after API changes
Gustavo Niemeyer [Thu, 19 Jan 2012 23:49:28 +0000 (21:49 -0200)]
html/template: fix docs after API changes

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5528109

13 years agoos: use FileMode instead of uint32 in various functions
Brad Fitzpatrick [Thu, 19 Jan 2012 23:45:18 +0000 (15:45 -0800)]
os: use FileMode instead of uint32 in various functions

Fixes #2733

R=chickencha, ality, rsc
CC=golang-dev
https://golang.org/cl/5553064

13 years agoimage: change the YCbCr image's pixel buffers to start at Rect.Min
Nigel Tao [Thu, 19 Jan 2012 23:44:22 +0000 (10:44 +1100)]
image: change the YCbCr image's pixel buffers to start at Rect.Min
instead of the origin.

This makes YCbCr match the other image types (e.g. RGBA, Gray) in
that an image's bounds is not restricted to the positive quadrant.

Also optimize the YCbCr draw code by hoisting some computation
outside of the loop.

benchmark              old ns/op    new ns/op    delta
draw.BenchmarkYCbCr      2544418      2373558   -6.72%

Like https://golang.org/cl/4681044/ I don't think a gofix is
feasible. People will have to make manual changes. On the other hand,
directly manipulating YCbCr images is relatively rare, compared to
RGBA images, and if other code just uses the jpeg and draw packages
instead of messing directly with a YCbCr's []byte representations,
then things should just continue to work.

R=r
CC=golang-dev
https://golang.org/cl/5558048

13 years agonet: fix windows build
Mikio Hara [Thu, 19 Jan 2012 23:33:37 +0000 (08:33 +0900)]
net: fix windows build

R=golang-dev, alex.brainman
CC=golang-dev
https://golang.org/cl/5532102

13 years agonet: fix broken setDefaultSockopts
Mikio Hara [Thu, 19 Jan 2012 22:31:13 +0000 (07:31 +0900)]
net: fix broken setDefaultSockopts

R=rsc, bradfitz
CC=golang-dev
https://golang.org/cl/5536068

13 years agocrypto/hmac: Deprecate hmac.NewMD5, hmac.NewSHA1 and hmac.NewSHA256
Luit van Drongelen [Thu, 19 Jan 2012 22:28:38 +0000 (17:28 -0500)]
crypto/hmac: Deprecate hmac.NewMD5, hmac.NewSHA1 and hmac.NewSHA256

Remove NewMD5, NewSHA1 and NewSHA256 in favor of using New and
explicitly importing the used hash-function. This way when using, for
example, HMAC with RIPEMD there's no md5, sha1 and sha256 linked in
through the hmac package.

A gofix rule is included, and applied to the standard library (3 files
altered).

This change is the result of a discussion at
https://golang.org/cl/5550043/ to pull the discussion about
deprecating these functions out of that issue.

R=golang-dev, agl
CC=golang-dev, r, rsc
https://golang.org/cl/5556058

13 years agogc: don't emit pkgpath for error type.
David Symonds [Thu, 19 Jan 2012 22:26:17 +0000 (09:26 +1100)]
gc: don't emit pkgpath for error type.

Fixes #2660.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5557060

13 years agonet/http: log handler panic before closing HTTP connection
Brad Fitzpatrick [Thu, 19 Jan 2012 22:19:59 +0000 (14:19 -0800)]
net/http: log handler panic before closing HTTP connection

Fix originally from rogpeppe in 5414048 but was rolled
back due to test breakage.

This CL makes the test more robust to order of operations.

Fixes #2480 again.

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/5536072

13 years agoos/exec: trivial allocation removal in LookPath
Gustavo Niemeyer [Thu, 19 Jan 2012 22:17:46 +0000 (20:17 -0200)]
os/exec: trivial allocation removal in LookPath

R=golang-dev, bsiegert, r
CC=golang-dev
https://golang.org/cl/5549043

13 years agoencoding/xml: marshal/unmarshal xml.Name in field
Gustavo Niemeyer [Thu, 19 Jan 2012 22:15:55 +0000 (20:15 -0200)]
encoding/xml: marshal/unmarshal xml.Name in field

R=rsc
CC=golang-dev
https://golang.org/cl/5542052

13 years agodoc: update out-of-date comments about runtime/cgo
Shenghou Ma [Thu, 19 Jan 2012 22:13:33 +0000 (17:13 -0500)]
doc: update out-of-date comments about runtime/cgo

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5532100

13 years agogo/parser: expressions may have comments
Robert Griesemer [Thu, 19 Jan 2012 21:54:31 +0000 (13:54 -0800)]
go/parser: expressions may have comments

Thanks to 0xE2.0x9A.0x9B for the patch suggestion.

Fixes #2739.

R=r
CC=golang-dev
https://golang.org/cl/5536071

13 years agotext/template/parse: use human error prints
Rob Pike [Thu, 19 Jan 2012 21:51:37 +0000 (13:51 -0800)]
text/template/parse: use human error prints
The previous version of all the node.String methods printed the parse
tree and was useful for developing the parse tree code. Now that that's done,
we might as well print the nodes using the standard template syntax.
It's much easier to read and makes error reporting look more natural.

Helps issue 2644.

R=rsc, n13m3y3r
CC=golang-dev
https://golang.org/cl/5553066

13 years agoruntime: madvise and SysUnused for Darwin
Dave Cheney [Thu, 19 Jan 2012 20:51:29 +0000 (15:51 -0500)]
runtime: madvise and SysUnused for Darwin

SysUnused is a direct call to madvise MADV_FREE.

R=sebastien.paolacci, rsc, minux.ma
CC=golang-dev
https://golang.org/cl/5531073

13 years agogodoc: support canonical Paths in HTML metadata
Andrew Gerrand [Thu, 19 Jan 2012 20:37:36 +0000 (07:37 +1100)]
godoc: support canonical Paths in HTML metadata

Redirect to the canonical path when the old path is accessed.

R=gri
CC=golang-dev
https://golang.org/cl/5536061

13 years agoos: add ModeSticky
Evan Shaw [Thu, 19 Jan 2012 19:29:24 +0000 (11:29 -0800)]
os: add ModeSticky

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5539063

13 years agotesting: do not recover example's panic
Shenghou Ma [Thu, 19 Jan 2012 18:19:33 +0000 (10:19 -0800)]
testing: do not recover example's panic
        So as to give out stack trace for panic in examples.
        This behavior also matches the tests'.
        Fixes #2691.

R=golang-dev
CC=golang-dev
https://golang.org/cl/5554061

13 years agopkg: Add & fix Copyright of "hand generated" files
Olivier Duperray [Thu, 19 Jan 2012 18:14:56 +0000 (10:14 -0800)]
pkg: Add & fix Copyright of "hand generated" files

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5554064

13 years agoexp/sql: rename NullableString to NullString and allow its use as a parameter
Brad Fitzpatrick [Thu, 19 Jan 2012 17:27:45 +0000 (09:27 -0800)]
exp/sql: rename NullableString to NullString and allow its use as a parameter

Prep for Issue 2699

R=rsc
CC=golang-dev
https://golang.org/cl/5536045

13 years agogo/doc, godoc: don't shadow receiver
Robert Griesemer [Thu, 19 Jan 2012 16:52:53 +0000 (08:52 -0800)]
go/doc, godoc: don't shadow receiver

Fixes #2737.

R=bradfitz
CC=golang-dev
https://golang.org/cl/5553062

13 years agonet/http: the documentation should call NewRequest with the right signature.
Christoph Hack [Thu, 19 Jan 2012 14:11:02 +0000 (06:11 -0800)]
net/http: the documentation should call NewRequest with the right signature.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5554063

13 years agocrypto/x509: remove explicit uses of rsa.
Adam Langley [Thu, 19 Jan 2012 13:49:52 +0000 (08:49 -0500)]
crypto/x509: remove explicit uses of rsa.

(Sending to r because of the API change.)

Over time we might want to add support for other key types.

While I was in the code, I also made the use of RawSubject the same
between Subject and Issuer when creating certificates.

R=r, rsc
CC=golang-dev
https://golang.org/cl/5554049

13 years agocrypto/elliptic: add constant-time P224.
Adam Langley [Thu, 19 Jan 2012 13:39:03 +0000 (08:39 -0500)]
crypto/elliptic: add constant-time P224.

(Sending to r because of the API change.)

This change alters the API for crypto/elliptic to permit different
implementations in the future. This will allow us to add faster,
constant-time implementations of the standard curves without any more
API changes.

As a demonstration, it also adds a constant-time implementation of
P224. Since it's only 32-bit, it's actually only about 40% the speed
of the generic code on a 64-bit system.

R=r, rsc
CC=golang-dev
https://golang.org/cl/5528088

13 years agomath/rand: decrease test duration in short mode
Dmitriy Vyukov [Thu, 19 Jan 2012 12:17:44 +0000 (16:17 +0400)]
math/rand: decrease test duration in short mode
TestNonStandardNormalValues runs 1.5s,
the change reduces it to 0.2s in short mode.
The problem is with slow machines, emulators and dynamic tools.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5540065

13 years agogodoc: add anchors to cmd documentation headings
Andrew Gerrand [Thu, 19 Jan 2012 07:59:06 +0000 (18:59 +1100)]
godoc: add anchors to cmd documentation headings

Also, disable server-side generation of TOC for commands as they would
only ever show Overview. The JS does a better job (for now).

Fixes #2732.

R=gri, dsymonds
CC=golang-dev
https://golang.org/cl/5558046

13 years agohtml: in foreign content, check for HTML integration points in breakout
Nigel Tao [Thu, 19 Jan 2012 06:41:10 +0000 (17:41 +1100)]
html: in foreign content, check for HTML integration points in breakout
elements.

Pass tests10.dat, test 33:
<!DOCTYPE html><svg><desc><svg><ul>a

| <!DOCTYPE html>
| <html>
|   <head>
|   <body>
|     <svg svg>
|       <svg desc>
|         <svg svg>
|         <ul>
|           "a"

Also pass test 34:
<!DOCTYPE html><p><svg><desc><p>

R=andybalholm, dsymonds
CC=golang-dev
https://golang.org/cl/5536048