From 83da0fd989d7e5c981bde26a8a9cc0d0f88fe9ed Mon Sep 17 00:00:00 2001
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.