]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: fix irgen mis-handling invalid function declaration
authorCuong Manh Le <cuong.manhle.vn@gmail.com>
Wed, 1 Sep 2021 03:13:41 +0000 (10:13 +0700)
committerCuong Manh Le <cuong.manhle.vn@gmail.com>
Wed, 1 Sep 2021 19:51:25 +0000 (19:51 +0000)
commit711e1c8224f033ec1d95cdf84465b57b052e8948
tree10bd5da46407428a05ceb1c4e7d654e6380f522e
parent592ee433f5378e4b08f1fd8860be61b9bf20ca19
cmd/compile: fix irgen mis-handling invalid function declaration

In -G=3 mode, irgen use its own generated IR, which is mis-handling of
bodyless function and declared function with //go:noescape pragma.

Fix this by adopting the same logic in noder.funcDecl, which minor
change in linkname detection.

Fixes #48097

Change-Id: Ibef921c1f75e071ca61685e0cb4543f2ee5efc7f
Reviewed-on: https://go-review.googlesource.com/c/go/+/346470
Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Trust: Dan Scales <danscales@google.com>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Dan Scales <danscales@google.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
src/cmd/compile/internal/noder/decl.go
src/cmd/compile/internal/noder/irgen.go
src/cmd/compile/internal/types2/stdlib_test.go
src/go/types/stdlib_test.go
test/fixedbugs/issue48097.go [new file with mode: 0644]