From: Rob Pike
-TODO: write prose +Go 1.2 has several semantic changes to the workings of the gc compiler suite. +Most users will be unaffected by them.
-
+The cgo command now
+works when C++ is included in the library being linked against.
+See the cgo documentation
+for details.
+
+The gc compiler displayed a vestigial detail of its origins when
+a program had no package clause: it assumed
+the file was in package main.
+The past has been erased, and a missing package clause
+is now an error.
+
+On the ARM, the toolchain supports "external linking", which +is a step towards being able to build shared libraries with the gc +tool chain and to provide dynamic linking support for environments +in which that is necessary. +
-
+In the runtime for the ARM, with 5a, it used to be possible to refer
+to the runtime-internal m (machine) and g
+(goroutine) variables using R9 and R10 directly.
+It is now necessary to refer to them by their proper names.
+
+Also on the ARM, the 5l linker (sic) now defines the
+MOVBS and MOVHS instructions
+as synonyms of MOVB and MOVH,
+to make clearer the separation between signed and unsigned
+sub-word moves; the unsigned versions already existed with a
+U suffix.
+
-Finally, the package -now correctly diagnoses unmatched right delimiters. -They were accepted without complaint before, and templates that had them -will now fail to parse. -
-
Updating: Neither the "else if" change nor the comparison functions
affect existing programs. Those that
already define functions called eq and so on through a function
map are unaffected because the associated function map will override the new
default function definitions.
-Templates with unmatched right delimiters will now fail to parse and will need
-to be fixed by hand.