]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/compile: generalize fix for lvalue-init evaluation
authorMatthew Dempsky <mdempsky@google.com>
Fri, 23 Apr 2021 19:18:59 +0000 (12:18 -0700)
committerMatthew Dempsky <mdempsky@google.com>
Fri, 23 Apr 2021 20:57:54 +0000 (20:57 +0000)
commit691e1b84c11d038060807f9c79107996ca2f19ae
treef8f31ea29406493f4cd1640cd6f9271c3b66a318
parent768a39975d8851f1c309b163a8eb4b7a5388aa24
cmd/compile: generalize fix for lvalue-init evaluation

The previous fix to ensure early evaluation of lvalue-init statements
(CL 312632) added it after we'd already peeled away any array-OINDEX
expressions. But those might have init statements too, so we need to
do this earlier actually and perhaps more than once.

Longer term, lvalue expressions shouldn't have init statements anyway.
But rsc and I both spent a while looking into this earlier in the dev
cycle and couldn't come up with anything reasonable.

Fixes #45706.

Change-Id: I2d19c5ba421b3f019c62eec45774c84cf04b30ef
Reviewed-on: https://go-review.googlesource.com/c/go/+/313011
Trust: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/cmd/compile/internal/walk/assign.go
test/fixedbugs/issue45706.go