mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: fix irgen reports wrong error message for misuse of //go:embed
Fixes #48230 Change-Id: Ic6490e065e7e79793faa0d0201dc94f5fcea694a Reviewed-on: https://go-review.googlesource.com/c/go/+/355529 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: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Dan Scales <danscales@google.com>
This commit is contained in:
parent
9e8ed86813
commit
0c45ed0561
5 changed files with 28 additions and 4 deletions
|
|
@ -147,6 +147,9 @@ type irgen struct {
|
|||
// laterFuncs records tasks that need to run after all declarations
|
||||
// are processed.
|
||||
laterFuncs []func()
|
||||
// haveEmbed indicates whether the current node belongs to file that
|
||||
// imports "embed" package.
|
||||
haveEmbed bool
|
||||
|
||||
// exprStmtOK indicates whether it's safe to generate expressions or
|
||||
// statements yet.
|
||||
|
|
@ -254,8 +257,11 @@ Outer:
|
|||
types.ResumeCheckSize()
|
||||
|
||||
// 3. Process all remaining declarations.
|
||||
for _, declList := range declLists {
|
||||
for i, declList := range declLists {
|
||||
old := g.haveEmbed
|
||||
g.haveEmbed = noders[i].importedEmbed
|
||||
g.decls((*ir.Nodes)(&g.target.Decls), declList)
|
||||
g.haveEmbed = old
|
||||
}
|
||||
g.exprStmtOK = true
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue