cmd/go: introduce support for $GCCGO env var

This variable allows users to select the compiler when using the
gccgo toolchain.

LGTM=rsc
R=rsc, iant, minux, aram
CC=axwalk, golang-codereviews
https://codereview.appspot.com/106700044

Committer: Russ Cox <rsc@golang.org>
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://codereview.appspot.com/112970044 ).

Fixes issue 6102.

LGTM=iant, r, rsc
R=r, rsc, iant, ken
CC=golang-codereviews
https://codereview.appspot.com/104680043
doc/go1.4.txt: permit for range x

CC=golang-codereviews
https://codereview.appspot.com/110640044
go/*: permit "for range x"

LGTM=rsc
R=rsc
CC=golang-codereviews
https://codereview.appspot.com/112970044
runtime: refactor routines for stopping, running goroutine from m

This CL adds 'dropg', which is called to drop the association
between m and its current goroutine, and it makes schedule
handle locked goroutines correctly, instead of requiring all
callers of schedule to do that.

The effect is that if you want to take over an m for, say,
garbage collection work while still allowing the current g
to run on some other m, you can do an mcall to a function
that is:

        // dissociate gp
        dropg();
        gp->status = Gwaiting; // for ready

        // put gp on run queue for others to find
        runtime·ready(gp);

        /* ... do other work here ... */

        // done with m, let it run goroutines again
        schedule();

Before this CL, the dropg() body had to be written explicitly,
and the check for lockedg before schedule had to be
written explicitly too, both of which make the code a bit
more fragile than it needs to be.

LGTM=iant
R=dvyukov, iant
CC=golang-codereviews, rlh
https://codereview.appspot.com/113110043
A+C: add Chris McGee (individual CLA)

TBR=dsymonds
R=golang-codereviews
CC=golang-codereviews
https://codereview.appspot.com/112300043
go get: Support for IBM DevOps Services (hub.jazz.net) git repos

LGTM=adg
R=golang-codereviews, adg, minux
CC=golang-codereviews
https://codereview.appspot.com/106740044

Committer: Andrew Gerrand <adg@golang.org>
cmd/ld: generate correct upper bound value for array types.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://codereview.appspot.com/115820043
go/ast: fix walk to handle "for range x"

LGTM=rsc
R=rsc
CC=golang-codereviews
https://codereview.appspot.com/117790043
strconv: fix CanBackquote for invalid UTF-8

Make CanBackquote(invalid UTF-8) return false.

Also add two test which show that CanBackquote reports
true for strings containing a BOM.

Fixes issue 7572.

LGTM=r
R=golang-codereviews, bradfitz, r
CC=golang-codereviews
https://codereview.appspot.com/111780045

Committer: Rob Pike <r@golang.org>
cmd/go: skip vcs tests on nacl and android

        Fixes build failures on nacl/* and android/* platforms.

LGTM=adg
R=golang-codereviews, adg
CC=golang-codereviews
https://codereview.appspot.com/113140043
net: Don't read beyond end of slice when parsing resolv.conf options.

Fixes issue 8252.

LGTM=adg
R=ruiu, josharian, adg
CC=golang-codereviews
https://codereview.appspot.com/102470046

Committer: Andrew Gerrand <adg@golang.org>
runtime: zero dangling pointer
I don't see how it can lead to bad things today.
But it's better to kill it before it does.

LGTM=khr
R=golang-codereviews, khr
CC=golang-codereviews, rsc
https://codereview.appspot.com/111130045
runtime: make a test more robust
The issue is discovered during testing of a change to runtime.
Even if it is unlikely to happen, the comment can safe an hour
next person who hits it.

LGTM=khr
R=golang-codereviews, khr
CC=golang-codereviews, rlh, rsc
https://codereview.appspot.com/116790043