]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: better handling for PAUTOHEAP in DWARF inline gen
authorThan McIntosh <thanm@google.com>
Fri, 22 Mar 2019 12:14:45 +0000 (08:14 -0400)
committerThan McIntosh <thanm@google.com>
Mon, 25 Mar 2019 14:03:40 +0000 (14:03 +0000)
commit68a98d52794fc324841f62732411f6bba23fc62c
tree765ef7935fdb4aee5608a0becf1f7647d3b5a301
parent9eef9648005c17681800fdb55ed2404ab769761e
cmd/compile: better handling for PAUTOHEAP in DWARF inline gen

When generating DWARF inline info records, the post-SSA code looks
through the original "pre-inline" dcl list for the function so as to
handle situations where formal params are promoted or optimized away.
This code was not properly handling the case where an output parameter
was promoted to the heap -- in this case the param node is converted
in place from class PPARAMOUT to class PAUTOHEAP. This caused
inconsistencies later on, since the variable entry in the abstract
subprogram DIE wound up as a local and not an output parameter.

Fixes #30908.

Change-Id: Ia70b89f0cf7f9b16246d95df17ad6e307228b8c7
Reviewed-on: https://go-review.googlesource.com/c/go/+/168818
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/cmd/compile/internal/gc/dwinl.go
src/cmd/compile/internal/gc/pgen.go