go/test/fixedbugs
Cherry Mui 1c77137d4f cmd/compile: do not use special literal assignment if LHS is address-taken
A composite literal assignment

x = T{field: v}

may be compiled to

x = T{}
x.field = v

We already do not use this form is RHS uses LHS. If LHS is
address-taken, RHS may uses LHS implicitly, e.g.

v = &x.field
x = T{field: *v}

The lowering above would change the value of RHS (*v).

Fixes #52953.

Change-Id: I3f798e00598aaa550b8c17182c7472fef440d483
Reviewed-on: https://go-review.googlesource.com/c/go/+/407014
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
2022-05-18 18:24:59 +00:00
..
2022-05-18 00:47:29 +00:00
2018-10-18 04:57:41 +00:00
2021-08-13 20:49:48 +00:00
2022-03-09 21:31:58 +00:00
2017-09-19 18:08:50 +00:00
2017-09-15 02:39:16 +00:00
2021-02-22 22:53:51 +00:00
2017-05-18 21:33:05 +00:00
2021-04-21 20:24:34 +00:00
2022-03-09 21:31:58 +00:00
2017-09-08 20:10:48 +00:00
2017-09-08 20:10:48 +00:00
2022-03-09 21:31:58 +00:00
2022-03-09 21:31:58 +00:00
2022-03-09 21:31:58 +00:00
2022-03-09 21:31:58 +00:00
2019-04-24 19:55:13 +00:00
2019-07-18 11:34:23 +00:00
2019-07-18 17:24:59 +00:00
2021-02-22 20:00:00 +00:00
2020-10-30 19:30:44 +00:00
2020-11-21 16:46:05 +00:00
2021-05-22 00:51:17 +00:00