1
0
mirror of https://github.com/golang/go synced 2024-11-18 16:54:43 -07:00
The Go programming language
Go to file
Alan Donovan 33fcc815f2 go/ssa: fix incorrect SSA code for composite literals
Composite literals are initialized in place where possible, but in
cases the initializer expression refers to the variable that
is being updated

	x = T{a: x.a}

we must ensure that the RHS is fully evaluated before we execute any
stores to x.  This means we need to record the sequence of stores in a
"store buffer" and execute it only once the entire composite literal
has been evaluated.

Fixes issue #10127

Change-Id: If94e3b179beb25feea5b298ed43de6a199aaf347
Reviewed-on: https://go-review.googlesource.com/7533
Reviewed-by: Robert Griesemer <gri@golang.org>
2015-03-17 14:26:39 +00:00
benchmark/parse benchmark/parse: fix cosmetic defect in error str. 2015-02-02 17:07:43 +00:00
blog tools: add import comments. 2014-12-09 22:42:16 +00:00
cmd vet: fix documentation about recursive scanning 2015-03-17 00:40:15 +00:00
container/intsets container/intsets: Intersects, SubsetOf, SymmetricDifference(With) 2015-01-14 20:51:28 +00:00
cover cover: accept inaccurate block endings 2015-01-07 02:00:16 +00:00
go go/ssa: fix incorrect SSA code for composite literals 2015-03-17 14:26:39 +00:00
godoc godoc/static: fix variable reference in search.txt 2015-03-02 02:09:35 +00:00
imports astutil: move to go/ast/astutil 2015-01-13 15:47:47 +00:00
oracle oracle/testdata: avoid sort.Sort so that my $GOROOT doesn't appear in output 2015-03-12 18:36:52 +00:00
playground tools: add import comments. 2014-12-09 22:42:16 +00:00
present tools: add import comments. 2014-12-09 22:42:16 +00:00
refactor go/buildutil: use chan (not func) in the ForEachPackage API 2015-03-05 20:14:20 +00:00
.gitattributes tools: copying .gitattributes to all subrepositories (fixes windows build) 2014-12-23 06:32:51 +00:00
.gitignore dashboard: rearrange tree, in prep for packagification 2015-01-15 02:58:11 +00:00
AUTHORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
CONTRIBUTING.md doc: add CONTRIBUTING.md 2015-02-18 23:43:38 +00:00
CONTRIBUTORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
LICENSE LICENSE: add 2012-03-17 15:20:58 +11:00
PATENTS go.empty: add PATENTS file to the subrepo. 2012-04-16 11:24:04 +10:00
README go.tools/README: minor correction. 2013-10-29 13:20:58 -04:00

This subrepository holds the source for various packages and tools that support
the Go programming language.

Some of the tools, godoc and vet for example, are included in binary Go distributions.
Others, including the Go oracle and the test coverage tool, can be fetched with "go get".

Packages include a type-checker for Go and an implementation of the
Static Single Assignment form (SSA) representation for Go programs.

To submit changes to this repository, see http://golang.org/doc/contribute.html.