mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/cgo: dont override declared struct type
Fixes #52611
Change-Id: I835df8d6a98a37482446ec00af768c96fd8ee4fe
GitHub-Last-Rev: ea54dd69ee
GitHub-Pull-Request: golang/go#52733
Reviewed-on: https://go-review.googlesource.com/c/go/+/404497
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Dexter Ouyang <kkhaike@gmail.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Reviewed-by: Alex Rakoczy <alex@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
parent
92c9b81447
commit
f571518139
6 changed files with 72 additions and 0 deletions
|
|
@ -2551,6 +2551,11 @@ func (c *typeConv) loadType(dtype dwarf.Type, pos token.Pos, parent string) *Typ
|
|||
t.Go = name // publish before recursive calls
|
||||
goIdent[name.Name] = name
|
||||
if dt.ByteSize < 0 {
|
||||
// Don't override old type
|
||||
if _, ok := typedef[name.Name]; ok {
|
||||
break
|
||||
}
|
||||
|
||||
// Size calculation in c.Struct/c.Opaque will die with size=-1 (unknown),
|
||||
// so execute the basic things that the struct case would do
|
||||
// other than try to determine a Go representation.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue