From b928e2faa8d90989276ff0880aaef666c970cc68 Mon Sep 17 00:00:00 2001 From: David Lazar Date: Sat, 27 May 2017 17:43:37 -0400 Subject: cmd/compile: retain source positions of arguments to inlined calls Arguments to inlined calls are hidden from setPos as follows: args := as.Rlist as.Rlist.Set(nil) // setPos... as.Rlist.Set(args.Slice()) Previously, this code had no effect since the value of as was overwritten by the assignment in the retvars loop. Fixes #19799. Change-Id: Iaf97259f82fdba8b236136337cc42b2774c7fef5 Reviewed-on: https://go-review.googlesource.com/44351 Run-TryBot: David Lazar TryBot-Result: Gobot Gobot Reviewed-by: Matthew Dempsky Reviewed-by: Josh Bleecher Snyder --- src/cmd/compile/internal/gc/inl.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/cmd/compile/internal/gc/inl.go b/src/cmd/compile/internal/gc/inl.go index 54317d99d8..dfa13e3c3b 100644 --- a/src/cmd/compile/internal/gc/inl.go +++ b/src/cmd/compile/internal/gc/inl.go @@ -726,9 +726,9 @@ func mkinlcall1(n *Node, fn *Node, isddd bool) *Node { // Zero the return parameters. for _, n := range retvars { - as = nod(OAS, n, nil) - as = typecheck(as, Etop) - ninit.Append(as) + ras := nod(OAS, n, nil) + ras = typecheck(ras, Etop) + ninit.Append(ras) } retlabel := autolabel(".i") -- cgit v1.3-5-g9baa