1
0
mirror of https://github.com/golang/go synced 2024-10-05 20:31:20 -06:00

[dev.ssa] cmd/compile/ssa: fix build

Somehow I missed this in CL 11160.
Without it, all.bash fails on fixedbugs/bug303.go.

The right fix is probably to discard the variable
and keep going, even though the code is dead.

For now, defer the decision by declaring
such situations unimplemented and get the build
fixed.

Change-Id: I679197f780c7a3d3eb7d05e91c86a4cdc3b70131
Reviewed-on: https://go-review.googlesource.com/11440
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Josh Bleecher Snyder 2015-06-24 13:29:05 -07:00
parent 2a846d2bd3
commit 44be0e9c60

View File

@ -649,7 +649,10 @@ func (s *state) boundsCheck(idx, len *ssa.Value) {
// variable returns the value of a variable at the current location. // variable returns the value of a variable at the current location.
func (s *state) variable(name string, t ssa.Type) *ssa.Value { func (s *state) variable(name string, t ssa.Type) *ssa.Value {
if s.curBlock == nil { if s.curBlock == nil {
s.Fatal("nil curblock!") // Unimplemented instead of Fatal because fixedbugs/bug303.go
// demonstrates a case in which this appears to happen legitimately.
// TODO: decide on the correct behavior here.
s.Unimplemented("nil curblock adding variable %v (%v)", name, t)
} }
v := s.vars[name] v := s.vars[name]
if v == nil { if v == nil {