1
0
mirror of https://github.com/golang/go synced 2024-11-27 03:21:18 -07:00
Commit Graph

2002 Commits

Author SHA1 Message Date
Oling Cat
2511d92ffe doc/cmd.html: close a tag.
LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/130560043
2014-08-26 05:26:48 -07:00
Rob Pike
cbf351a0f2 doc/go1.4.txt: go generate
CC=golang-codereviews
https://golang.org/cl/132890043
2014-08-24 11:33:32 -07:00
Russ Cox
2e2beb567c doc/go1.4: mention pc-relative addressing on amd64
CC=golang-codereviews
https://golang.org/cl/124580043
2014-08-18 21:07:11 -04:00
Mikio Hara
0235f6854c doc: make it point to correct go1.3.1 change history
LGTM=minux, adg
R=golang-codereviews, minux, adg
CC=golang-codereviews
https://golang.org/cl/129180043
2014-08-15 08:46:16 +09:00
Rob Pike
937f0d59fc doc/go1.4.txt: cmd/go changes, syscall
CC=golang-codereviews
https://golang.org/cl/129130043
2014-08-13 14:56:58 -07:00
Andrew Gerrand
392bc8985e doc: remove the "the" in "the the" in the release notes
LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/128170043
2014-08-13 23:20:39 +10:00
Rob Pike
8bca148a3e all: copy cmd/ld/textflag.h into pkg/GOOS_GOARCH
The file is used by assembly code to define symbols like NOSPLIT.
Having it hidden inside the cmd directory makes it hard to access
outside the standard repository.
Solution: As with a couple of other files used by cgo, copy the
file into the pkg directory and add a -I argument to the assembler
to access it. Thus one can write just
        #include "textflag.h"
in .s files.

The names in runtime are not updated because in the boot sequence the
file has not been copied yet when runtime is built. All other .s files
in the repository are updated.

Changes to doc/asm.html, src/cmd/dist/build.c, and src/cmd/go/build.go
are hand-made. The rest are just the renaming done by a global
substitution. (Yay sam).

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/128050043
2014-08-12 17:04:45 -07:00
Rob Pike
b049dc3074 doc/compat1.html: link to go.sys
You talked me into it. This and other links should be updated
once the new import paths for the subrepos are established.

LGTM=minux
R=golang-codereviews, minux
CC=golang-codereviews
https://golang.org/cl/124260043
2014-08-12 15:45:35 -07:00
Rob Pike
160b2461b6 syscall: freeze the package
Add a clause to the doc comment for the package and a
paragraph in the compatibility document explaining the
situation.

LGTM=bradfitz, adg, rsc
R=golang-codereviews, adg, bradfitz, minux, rsc
CC=golang-codereviews
https://golang.org/cl/129820043
2014-08-12 15:28:45 -07:00
Andrew Gerrand
f497885c63 doc: document go1.3.1
LGTM=r
R=r, rsc
CC=golang-codereviews
https://golang.org/cl/126060043
2014-08-13 07:39:52 +10:00
Rob Pike
5a17aaa830 doc/go1.4.txt: go.sys subrepo created
CC=golang-codereviews
https://golang.org/cl/124050043
2014-08-08 14:54:04 -07:00
Adam Langley
12666cb91d doc: add note about crypto/tls cert selection callback.
CC=golang-codereviews
https://golang.org/cl/123950043
2014-08-07 14:22:15 -07:00
Andrew Gerrand
af403c08fc doc: document new ParseMultipartForm behavior
Fixes #8403.

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/123860043
2014-08-07 15:42:06 +10:00
Mikio Hara
cdf7767628 doc/go1.4.txt: add support for ALPN
LGTM=minux
R=r, agl, minux
CC=golang-codereviews
https://golang.org/cl/121340043
2014-08-07 09:28:49 +09:00
Alex Brainman
7ce3406c8f doc/go1.4.txt: implement monotonic clocks on windows
LGTM=dave
R=golang-codereviews, dave
CC=golang-codereviews
https://golang.org/cl/126760043
2014-08-07 10:25:50 +10:00
Adam Langley
1d371a0ed2 doc/go1.4.txt: document ASN.1 behaviour change.
CC=golang-codereviews
https://golang.org/cl/116710043
2014-08-05 12:00:14 -07:00
Robert Griesemer
c0fca138d1 spec: comma-ok expressions return untyped boolean 2nd result
Technically a language change, this cleanup is a completely
backward compatible change that brings the boolean results
of comma-ok expressions in line with the boolean results of
comparisons: they are now all untyped booleans.

The implementation effort should be minimal (less than a
handfull lines of code, depending how well factored the
implementation of comma-ok expressions is).

Fixes #8189.

LGTM=iant, r, rsc
R=r, rsc, iant, ken
CC=golang-codereviews
https://golang.org/cl/112320045
2014-08-05 11:31:32 -07:00
Andrew Gerrand
43ad89d627 doc: drop scheme from links that are known to support HTTPS
golang.org now serves HTTPS with a valid cert, so it's reasonable
that users should click through to the HTTPS versions of *.golang.org
and other known sites.

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/112650043
2014-07-25 10:28:39 +10:00
Alex Brainman
b1a3b61f0d doc/go1.4.txt: windows can do symlinks now
R=golang-codereviews
CC=golang-codereviews
https://golang.org/cl/111560043
2014-07-23 16:36:29 +10:00
Russ Cox
d2d7187d31 testing: add Coverage function
I've found this very useful for generating
good test case lists for -short mode for
the disassemblers.

Fixes #7959.

LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/98150043
2014-07-22 22:56:35 -04:00
Rob Pike
81e661aa45 doc/go1.4.txt: permit for range x
CC=golang-codereviews
https://golang.org/cl/110640044
2014-07-14 15:45:14 -07:00
Robert Griesemer
20ae6d9bc5 spec: permit "for range x" (no index variables)
This is a fully backward-compatible language change.

There are not a lot of cases in the std library, but
there are some. Arguably this makes the syntax a bit
more regular - any trailing index variable that is _
can be left away, and there's some analogy to type
switches where the temporary can be left away.

Implementation-wise the change should be trivial as
it can be done completely syntactically. For instance,
the respective change in go/parser is a dozen lines
(see https://golang.org/cl/112970044 ).

Fixes #6102.

LGTM=iant, r, rsc
R=r, rsc, iant, ken
CC=golang-codereviews
https://golang.org/cl/104680043
2014-07-14 15:08:09 -07:00
Robin Eklind
8e902dd726 docs: Make consistent use of optional li closing tags.
LGTM=r
R=golang-codereviews, r
CC=golang-codereviews
https://golang.org/cl/105100044
2014-07-09 14:26:37 -07:00
Tetsuo Kiso
48347cc1eb doc/contribute.html: capitalize the first letter
LGTM=dave
R=golang-codereviews, dave
CC=golang-codereviews
https://golang.org/cl/109080048
2014-07-07 16:31:20 +10:00
Bill Thiede
822b2cbb33 doc/contribute: reorder documented steps to match normal workflow.
LGTM=adg
R=golang-codereviews, bradfitz, adg
CC=golang-codereviews
https://golang.org/cl/109970043
2014-07-03 17:42:23 -04:00
Rob Pike
ed5b694721 doc/go1.4.txt: delete editor and shell support
CC=golang-codereviews
https://golang.org/cl/101590043
2014-07-01 09:22:55 -07:00
Rob Pike
1abab32c65 doc/go1.4.txt: encoding/gob is now safe
CC=golang-codereviews
https://golang.org/cl/103690043
2014-06-30 12:28:20 -07:00
Russ Cox
89f185fe8a all: remove 'extern register M *m' from runtime
The runtime has historically held two dedicated values g (current goroutine)
and m (current thread) in 'extern register' slots (TLS on x86, real registers
backed by TLS on ARM).

This CL removes the extern register m; code now uses g->m.

On ARM, this frees up the register that formerly held m (R9).
This is important for NaCl, because NaCl ARM code cannot use R9 at all.

The Go 1 macrobenchmarks (those with per-op times >= 10 µs) are unaffected:

BenchmarkBinaryTree17              5491374955     5471024381     -0.37%
BenchmarkFannkuch11                4357101311     4275174828     -1.88%
BenchmarkGobDecode                 11029957       11364184       +3.03%
BenchmarkGobEncode                 6852205        6784822        -0.98%
BenchmarkGzip                      650795967      650152275      -0.10%
BenchmarkGunzip                    140962363      141041670      +0.06%
BenchmarkHTTPClientServer          71581          73081          +2.10%
BenchmarkJSONEncode                31928079       31913356       -0.05%
BenchmarkJSONDecode                117470065      113689916      -3.22%
BenchmarkMandelbrot200             6008923        5998712        -0.17%
BenchmarkGoParse                   6310917        6327487        +0.26%
BenchmarkRegexpMatchMedium_1K      114568         114763         +0.17%
BenchmarkRegexpMatchHard_1K        168977         169244         +0.16%
BenchmarkRevcomp                   935294971      914060918      -2.27%
BenchmarkTemplate                  145917123      148186096      +1.55%

Minux previous reported larger variations, but these were caused by
run-to-run noise, not repeatable slowdowns.

Actual code changes by Minux.
I only did the docs and the benchmarking.

LGTM=dvyukov, iant, minux
R=minux, josharian, iant, dave, bradfitz, dvyukov
CC=golang-codereviews
https://golang.org/cl/109050043
2014-06-26 11:54:39 -04:00
Robert Griesemer
187ee2cf2b spec: receiver declaration is just a parameter declaration
This CL removes the special syntax for method receivers and
makes it just like other parameters. Instead, the crucial
receiver-specific rules (exactly one receiver, receiver type
must be of the form T or *T) are specified verbally instead
of syntactically.

This is a fully backward-compatible (and minor) syntax
relaxation. As a result, the following syntactic restrictions
(which are completely irrelevant) and which were only in place
for receivers are removed:

a) receiver types cannot be parenthesized
b) receiver parameter lists cannot have a trailing comma

The result of this CL is a simplication of the spec and the
implementation, with no impact on existing (or future) code.

Noteworthy:

- gc already permits a trailing comma at the end of a receiver
  declaration:

  func (recv T,) m() {}

  This is technically a bug with the current spec; this CL will
  legalize this notation.

- gccgo produces a misleading error when a trailing comma is used:

  error: method has multiple receivers

  (even though there's only one receiver)

- Compilers and type-checkers won't need to report errors anymore
  if receiver types are parenthesized.

Fixes #4496.

LGTM=iant, rsc
R=r, rsc, iant, ken
CC=golang-codereviews
https://golang.org/cl/101500044
2014-06-24 16:25:09 -07:00
Rob Pike
54375081fe doc/go1.4.txt: text/scanner: IsIdentRune
R=gri
CC=golang-codereviews
https://golang.org/cl/104340043
2014-06-24 11:09:13 -07:00
Dave Cheney
88b663b246 doc/go1.4: add note about Set{uid,gid} change
LGTM=iant
R=ruiu, iant
CC=golang-codereviews
https://golang.org/cl/107320044
2014-06-24 09:50:10 +10:00
Dmitriy Vyukov
9bfb66e962 doc: say that race detector is supported on freebsd
R=golang-codereviews
CC=golang-codereviews
https://golang.org/cl/103520044
2014-06-21 20:19:49 +04:00
Dmitriy Vyukov
fd234d6823 doc: say that race detector is supported on freebsd
LGTM=ruiu
R=golang-codereviews, ruiu
CC=golang-codereviews
https://golang.org/cl/109100046
2014-06-21 20:19:32 +04:00
Andrew Gerrand
c70c20db67 doc: document Go 1.3
This is a clone of 101370043, which I accidentally applied to the
release branch first.
No big deal, it needed to be applied there anyway.

LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/108090043
2014-06-19 10:26:57 +10:00
Andrew Gerrand
7d3be61386 doc: link to new downloads page
LGTM=minux
R=golang-codereviews, minux
CC=golang-codereviews
https://golang.org/cl/102340044
2014-06-13 16:34:52 +10:00
Rob Pike
e209a0fa06 time: micro symbol for microseconds
R=rsc
CC=golang-codereviews
https://golang.org/cl/105930043
2014-06-12 17:19:33 -07:00
Russ Cox
3a6de21ae1 doc: add go1.4.txt
CC=golang-codereviews
https://golang.org/cl/103340046
2014-06-12 20:06:16 -04:00
Alan Donovan
0476693eaf doc: add release note for 'godoc -analysis'
Contains a link to /lib/godoc/analysis/help.html
       which is not yet live.

LGTM=r
R=r, adg
CC=golang-codereviews
https://golang.org/cl/88560044
2014-06-12 10:08:54 -04:00
Andrew Gerrand
d131ffefad doc: link to release history from /doc/
Fixes #8168.

TBR=bradfitz
R=golang-codereviews
CC=golang-codereviews
https://golang.org/cl/107950043
2014-06-12 13:31:13 +10:00
Rob Pike
b91d2339bb docs: link to the assembler document from the Documents tab
Fixes #8156.

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/108840045
2014-06-10 11:19:53 -07:00
Rob Pike
761dacee62 doc/install.html: fix erroneous HTML annotation
align=middle is invalid; use align=center

LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/106910044
2014-06-10 11:19:41 -07:00
Dmitriy Vyukov
81a93ef24a doc: fix happens-before rules for buffered channels
The current wording is reversed in 2 places.
Not sure how it got 4 LGTMs (mine was there as well).
Update #6242.

LGTM=dan.kortschak, r, rsc
R=golang-codereviews, 0xjnml, dan.kortschak, r, rsc
CC=golang-codereviews
https://golang.org/cl/101980047
2014-06-05 21:08:28 +04:00
Shenghou Ma
ae1b5c7bd9 doc/install-source.html: document that GO386 will be auto-detected when building on both 386 and amd64.
Fixes #8152.

LGTM=iant
R=iant
CC=golang-codereviews
https://golang.org/cl/102150046
2014-06-04 19:53:37 -04:00
Ian Lance Taylor
06b67f304e doc: mention WriteHeapDump in 1.3 release notes
LGTM=r
R=khr, r
CC=golang-codereviews
https://golang.org/cl/103810044
2014-06-02 11:05:46 -07:00
Shenghou Ma
8c9923d5e2 doc/contrib.html: update links, mailing lists and link to 1.3 release note.
LGTM=adg
R=golang-codereviews, r, adg
CC=golang-codereviews
https://golang.org/cl/102020045
2014-06-01 22:48:57 -04:00
Russ Cox
c038c38ac1 doc/go1.3.html: math/big's Int and Rat implement TextMarshaler, TextUnmarshaler
Update #8112

LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/95640043
2014-05-28 15:48:35 -04:00
Russ Cox
0782ee3ad5 cmd/cgo: given typedef struct S T, make C.T and C.struct_S interchangeable
For incomplete struct S, C.T and C.struct_S were interchangeable in Go 1.2
and earlier, because all incomplete types were interchangeable
(even C.struct_S1 and C.struct_S2).

CL 76450043, which fixed issue 7409, made different incomplete types
different from Go's point of view, so that they were no longer completely
interchangeable.

However, imprecision about C.T and C.struct_S - really the same
underlying C type - is the one behavior enabled by the bug that
is most likely to be depended on by existing cgo code.
Explicitly allow it, to keep that code working.

Fixes #7786.

LGTM=iant, r
R=golang-codereviews, iant, r
CC=golang-codereviews
https://golang.org/cl/98580046
2014-05-28 14:04:31 -04:00
Robert Griesemer
94849d5a78 spec: clarify that break/continue do not work across function boundaries
Also made it extra clear for goto statements (even though label scopes
are already limited to the function defining a label).

Fixes #8040.

LGTM=r, rsc
R=r, rsc, iant, ken
CC=golang-codereviews
https://golang.org/cl/99550043
2014-05-28 08:43:47 -07:00
Keith Randall
4b3019b17c doc: mention that reflect.SetMapIndex no longer panics
when deleting from a nil map.  See issue 8051.

LGTM=r
R=golang-codereviews, r, khr
CC=golang-codereviews
https://golang.org/cl/96540051
2014-05-23 17:39:58 -07:00
Robert Griesemer
2c83f1eaf9 spec: explicitly disallow blank methods in interface types
The spec was unclear about whether blank methods should be
permitted in interface types. gccgo permits at most one, gc
crashes if there are more than one, go/types permits at most
one.

Discussion:

Since method sets of non-interface types never contain methods
with blank names (blank methods are never declared), it is impossible
to satisfy an interface with a blank method.

It is possible to declare variables of assignable interface types
(but not necessarily identical types) containing blank methods, and
assign those variables to each other, but the values of those
variables can only be nil.

There appear to be two "reasonable" alternatives:

1) Permit at most one blank method (since method names must be unique),
and consider it part of the interface. This is what appears to happen
now, with corner-case bugs. Such interfaces can never be implemented.

2) Permit arbitrary many blank methods but ignore them. This appears
to be closer to the handling of blank identifiers in declarations.
However, an interface type literal is not a declaration (it's a type
literal). Also, for struct types, blank identifiers are not ignored;
so the analogy with declarations is flawed.

Both these alternatives don't seem to add any benefit and are likely
(if only slightly) more complicated to explain and implement than
disallowing blank methods in interfaces altogether.

Fixes #6604.

LGTM=r, rsc, iant
R=r, rsc, ken, iant
CC=golang-codereviews
https://golang.org/cl/99410046
2014-05-22 12:23:25 -07:00