mirror of
https://github.com/golang/go
synced 2024-11-16 21:04:45 -07:00
cmd/compile: don't attach lines to SB, SP, similar constants
Attaching positions to SB, SP, initial mem can result in less-good line-numbering when compiled for debugging. This "fix" also removes source position from a zero-valued struct (but not from its fields) and from a zero-length array constant. This may be a general problem for constants in entry blocks. Fixes #20367. Change-Id: I7e9df3341be2e2f60f127d35bb31e43cdcfce9a1 Reviewed-on: https://go-review.googlesource.com/43531 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
parent
256210c719
commit
27da3ba5af
@ -434,7 +434,7 @@ func (s *state) newValue4(op ssa.Op, t *types.Type, arg0, arg1, arg2, arg3 *ssa.
|
||||
|
||||
// entryNewValue0 adds a new value with no arguments to the entry block.
|
||||
func (s *state) entryNewValue0(op ssa.Op, t *types.Type) *ssa.Value {
|
||||
return s.f.Entry.NewValue0(s.peekPos(), op, t)
|
||||
return s.f.Entry.NewValue0(src.NoXPos, op, t)
|
||||
}
|
||||
|
||||
// entryNewValue0A adds a new value with no arguments and an aux value to the entry block.
|
||||
@ -442,11 +442,6 @@ func (s *state) entryNewValue0A(op ssa.Op, t *types.Type, aux interface{}) *ssa.
|
||||
return s.f.Entry.NewValue0A(s.peekPos(), op, t, aux)
|
||||
}
|
||||
|
||||
// entryNewValue0I adds a new value with no arguments and an auxint value to the entry block.
|
||||
func (s *state) entryNewValue0I(op ssa.Op, t *types.Type, auxint int64) *ssa.Value {
|
||||
return s.f.Entry.NewValue0I(s.peekPos(), op, t, auxint)
|
||||
}
|
||||
|
||||
// entryNewValue1 adds a new value with one argument to the entry block.
|
||||
func (s *state) entryNewValue1(op ssa.Op, t *types.Type, arg *ssa.Value) *ssa.Value {
|
||||
return s.f.Entry.NewValue1(s.peekPos(), op, t, arg)
|
||||
|
Loading…
Reference in New Issue
Block a user