]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: another fix initializing blank fields in struct literal
authorCuong Manh Le <cuong.manhle.vn@gmail.com>
Wed, 6 May 2020 17:35:28 +0000 (00:35 +0700)
committerCuong Manh Le <cuong.manhle.vn@gmail.com>
Sat, 15 Aug 2020 03:09:21 +0000 (03:09 +0000)
commit0031fa80a3c6685e44e84533edbae0dad0eb0395
treec02588baefe435d0312287bc76e79de04d10d490
parent441b52f5660ccde7848f034ba345d2f0088ea383
cmd/compile: another fix initializing blank fields in struct literal

CL 230121 fixed the bug that struct literal blank fields type array/struct
can not be initialized. But it still misses some cases when an expression
causes "candiscard(value)" return false. When these happen, we recursively
call fixedlit with "var_" set to "_", and hit the bug again.

To fix it, just making splitnode return "nblank" whenever "var_" is "nblank".

Fixes #38905

Change-Id: I281941b388acbd551a4d8ca1a235477f8d26fb6e
Reviewed-on: https://go-review.googlesource.com/c/go/+/232617
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
src/cmd/compile/internal/gc/sinit.go
test/fixedbugs/issue38905.go [new file with mode: 0644]