]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: fix instantiation of types referenced during inlining
authorCuong Manh Le <cuong.manhle.vn@gmail.com>
Wed, 5 Jan 2022 09:19:19 +0000 (16:19 +0700)
committerCuong Manh Le <cuong.manhle.vn@gmail.com>
Fri, 7 Jan 2022 17:55:52 +0000 (17:55 +0000)
commit98ed91636926b4029bbbbb8c2ab4b66ee15a5734
treebf31fbf031eee32291a9f65d13e91f1d3da45840
parent2f45981679551e88880a18684a4d65ca3d9b45d9
cmd/compile: fix instantiation of types referenced during inlining

CL 352870 added extra phase for instantiation after inlining, to take
care of the new fully-instantiated types. However, when fetching inlined
body of these types's methods, we need to allow OADDR operations on
untyped expressions, the same as what main inlining phase does.

The problem does not show up, until CL 371554, which made the compiler
do not re-typecheck while importing, thus leaving a OXDOT node to be
marked as address taken when it's not safe to do that.

Fixes #50437

Change-Id: I20076b872182c520075a4f8b84230f5bcb05b341
Reviewed-on: https://go-review.googlesource.com/c/go/+/375574
Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dan Scales <danscales@google.com>
Trust: Dan Scales <danscales@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/gc/main.go
src/cmd/compile/internal/typecheck/subr.go
test/typeparam/issue50437.dir/a.go [new file with mode: 0644]
test/typeparam/issue50437.dir/b.go [new file with mode: 0644]
test/typeparam/issue50437.go [new file with mode: 0644]