From 527f3518dac8554161fd0535ab2c35df507062ff Mon Sep 17 00:00:00 2001 From: Matthew Dempsky Date: Tue, 7 Mar 2017 10:57:55 -0800 Subject: [PATCH] cmd/compile/internal/gc: skip autotmp vars in gc again Instead of skipping them based on string matching much later in the compilation process, skip them up front using the proper API. Passes toolstash-check. Change-Id: Ibd4c0448a0701ba0de3235d4689ef300235fa1d9 Reviewed-on: https://go-review.googlesource.com/37930 Run-TryBot: Matthew Dempsky Reviewed-by: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- src/cmd/compile/internal/gc/pgen.go | 4 ++++ src/cmd/internal/dwarf/dwarf.go | 8 +------- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/cmd/compile/internal/gc/pgen.go b/src/cmd/compile/internal/gc/pgen.go index 33811b80c29..0b4a62fd6c7 100644 --- a/src/cmd/compile/internal/gc/pgen.go +++ b/src/cmd/compile/internal/gc/pgen.go @@ -478,6 +478,10 @@ func debuginfo(fnsym *obj.LSym) []*dwarf.Var { Gotype: gotype, }) + if n.IsAutoTmp() { + continue + } + typename := dwarf.InfoPrefix + gotype.Name[len("type."):] vars = append(vars, &dwarf.Var{ Name: n.Sym.Name, diff --git a/src/cmd/internal/dwarf/dwarf.go b/src/cmd/internal/dwarf/dwarf.go index 3644146725a..99cb2d53ce3 100644 --- a/src/cmd/internal/dwarf/dwarf.go +++ b/src/cmd/internal/dwarf/dwarf.go @@ -7,10 +7,7 @@ // this package contains the shared code. package dwarf -import ( - "fmt" - "strings" -) +import "fmt" // InfoPrefix is the prefix for all the symbols containing DWARF info entries. const InfoPrefix = "go.info." @@ -576,9 +573,6 @@ func PutFunc(ctxt Context, s Sym, name string, external bool, startPC Sym, size putattr(ctxt, s, DW_ABRV_FUNCTION, DW_FORM_flag, DW_CLS_FLAG, ev, 0) names := make(map[string]bool) for _, v := range vars { - if strings.Contains(v.Name, ".autotmp_") { - continue - } var n string if names[v.Name] { n = fmt.Sprintf("%s#%d", v.Name, len(names))