mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: fix corner case in DWARF inline info generation
The helper routine for returning pre-inlining parameter declarations wasn't properly handling the case where you have more than one parameter named "_" in a function signature; this triggered a map collision later on when the function was inlined and DWARF was generated for the inlined routine instance. Fixes #23179. Change-Id: I12e5d6556ec5ce08e982a6b53666a4dcc1d22201 Reviewed-on: https://go-review.googlesource.com/84755 Run-TryBot: Than McIntosh <thanm@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Heschi Kreinick <heschi@google.com> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Cherry Zhang <cherryyz@google.com>
This commit is contained in:
parent
3aeb3950a9
commit
0447216316
4 changed files with 30 additions and 1 deletions
|
|
@ -599,7 +599,9 @@ func preInliningDcls(fnsym *obj.LSym) []*Node {
|
|||
}
|
||||
for _, n := range dcl {
|
||||
c := n.Sym.Name[0]
|
||||
if c == '.' || n.Type.IsUntyped() {
|
||||
// Avoid reporting "_" parameters, since if there are more tham
|
||||
// one, it can result in a collision later on, as in #23179.
|
||||
if unversion(n.Sym.Name) == "_" || c == '.' || n.Type.IsUntyped() {
|
||||
continue
|
||||
}
|
||||
rdcl = append(rdcl, n)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue