testing: add test for issue 5599

Update issue 5599

R=golang-dev, r, minux.ma
CC=golang-dev
https://codereview.appspot.com/9738052
spec: better wording re: receiving from closed channels

As suggested by ej@evanjones.ca.

Fixes issue 5604.

R=r
CC=golang-dev
https://codereview.appspot.com/9899043
cmd/go: Add support for including C++ files in packages

* Add a CXXFiles field to Package, which includes .cc, .cpp and .cxx  files.
* CXXFiles are compiled using g++, which can be overridden using the CXX environment variable.
* Include .hh, .hpp and .hxx files in HFiles.
* Add support for CPPFLAGS (used for both C and C++) and CXXFLAGS (used only for C++) in cgo directive.
* Changed pkg-config cgo directive to modify CPPFLAGS rather than CFLAGS, so both C and C++ files get any flag returned by pkg-config --cflags.

Fixes issue 1476.

R=iant, r
CC=bradfitz, gobot, golang-dev, iant, minux.ma, remyoudompheng, seb.binet
https://codereview.appspot.com/8248043

Committer: Ian Lance Taylor <iant@golang.org>
misc/dashboard/builder: add environment variables for Plan 9

We require $objtype in make.rc and rc needs $path for finding commands.

Also include $cputype which we may use in the future.

R=golang-dev, minux.ma, r
CC=golang-dev
https://codereview.appspot.com/9905043
cmd/5g, cmd/6g, cmd/8g: provide embedded trampolines with argument size information

An embedded trampoline is a function that exists to marshal
a receiver of type *S to a receiver of type *T when T is an
embedded field in S.

Embedded trampolines are generated by a special path through
the compiler and are not subject to the general analysis and
annotation done to functions.  Their effects must be provided
explicitly.

R=golang-dev, r, daniel.morsing, minux.ma
CC=golang-dev
https://codereview.appspot.com/9874043
lib9/utf: remove unneccesary includes

R=golang-dev, r, bradfitz
CC=golang-dev
https://codereview.appspot.com/8651043
runtime/gc: Run garbage collector on g0 stack
instead of regular g stack. We do this so that the g stack
we're currently running on is no longer changing.  Cuts
the root set down a bit (g0 stacks are not scanned, and
we don't need to scan gc's internal state).  Also an
enabler for copyable stacks.

R=golang-dev, cshapiro, khr, 0xe2.0x9a.0x9b, dvyukov, rsc, iant
CC=golang-dev
https://codereview.appspot.com/9754044
runtime: do hashmap grow work during reads.

Before this change, grow work was done only
during map writes to ensure multithreaded safety.
This can lead to maps remaining in a partially
grown state for a long time, potentially forever.
This change allows grow work to happen during reads,
which will lead to grow work finishing sooner, making
the resulting map smaller and faster.

Grow work is not done in parallel.  Reads can
happen in parallel while grow work is happening.

R=golang-dev, dvyukov, khr, iant
CC=golang-dev
https://codereview.appspot.com/8852047
runtime: revert of CL 8852047: do hashmap grow work during reads.
seems to break freebsd-386.

R=golang-dev, dave
CC=golang-dev
https://codereview.appspot.com/9915047
doc/go1.1.html: remove extra space; close some tags.

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/9941043

Committer: Rob Pike <r@golang.org>
cmd/gc: fix overflow in array bounds calculation.

Fixes issue 5609.

R=golang-dev, remyoudompheng, r
CC=golang-dev
https://codereview.appspot.com/9757045
build: remove special definition of Runemax on Plan 9

The Bell Labs distribution now supports 21-bit runes.

R=golang-dev, akumar
CC=golang-dev
https://codereview.appspot.com/9249045
runtime: minor code style improvements (followup to change 9778049)

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/9693044
testing: fix rounding error in roundDown10

Fixes issue 5599.

Thanks to minux.ma for the suggested fix.

As we now have a harness to test testing internal functions I added some coverage for testing.roundUp, as it is the main consumer of roundDown10.

R=minux.ma, kr, r
CC=golang-dev
https://codereview.appspot.com/9926043
hgignore: cleanup obsolete entries.

R=golang-dev, dave, r
CC=golang-dev
https://codereview.appspot.com/9935043
cmd/fix: check type assertion in netipv6zone rule.

Fixes issue 5461.

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/9947043
cmd/fix: remove obsolete testdata.

The corresponding rules have been removed for Go 1.

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/9940044
cmd/cgo: using __typeof__(a->r) instead of putting invalid TYPE in "a->r = (const TYPE)"
Thanks kballard for the hint.
Fixes issue 4857.

R=golang-dev, iant
CC=golang-dev
https://codereview.appspot.com/9649045
test: correct sizeof.go.

It would not pass on amd64 due to alignment of pointers.

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/9949043
doc/go1.2.txt: update for CL 8248043.

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/9949044