mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: consider exported flag in namedata
It is possible to have an unexported name with a nil package, for an embedded field whose type is a pointer to an unexported type. We must encode that fact in the type..namedata symbol name, to avoid incorrectly merging an unexported name with an exported name. Fixes #21120 Change-Id: I2e3879d77fa15c05ad92e0bf8e55f74082db5111 Reviewed-on: https://go-review.googlesource.com/50710 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
This commit is contained in:
parent
6bb88fc280
commit
ee392ac10c
5 changed files with 83 additions and 1 deletions
|
|
@ -582,7 +582,11 @@ func dname(name, tag string, pkg *types.Pkg, exported bool) *obj.LSym {
|
|||
sname += "-noname-unexported." + tag
|
||||
}
|
||||
} else {
|
||||
sname += name + "." + tag
|
||||
if exported {
|
||||
sname += name + "." + tag
|
||||
} else {
|
||||
sname += name + "-" + tag
|
||||
}
|
||||
}
|
||||
} else {
|
||||
sname = fmt.Sprintf(`%s"".%d`, sname, dnameCount)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue