]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile/internal/gc: properly initialize ssa.Func Type field
authorisharipo <iskander.sharipov@intel.com>
Fri, 23 Mar 2018 18:56:21 +0000 (21:56 +0300)
committerJosh Bleecher Snyder <josharian@gmail.com>
Sat, 24 Mar 2018 02:18:52 +0000 (02:18 +0000)
The ssa.Func has Type field that is described as
function signature type.

It never gets any value and remains nil.
This leads to "<T>" signature printed representation.

Given this function declaration:
func foo(x int, f func() string) (int, error)

GOSSAFUNC printed it as below:
compiling foo
foo <T>

After this change:
compiling foo
foo func(int, func() string) (int, error)

Change-Id: Iec5eec8aac5c76ff184659e30f41b2f5fe86d329
Reviewed-on: https://go-review.googlesource.com/102375
Run-TryBot: Iskander Sharipov <iskander.sharipov@intel.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
src/cmd/compile/internal/gc/ssa.go

index c6ecc263d83df23d0fcf5e63282a7203078e3be7..91944357dff4a47d9d0e18fb3140aa30f7b2eb8c 100644 (file)
@@ -110,6 +110,7 @@ func buildssa(fn *Node, worker int) *ssa.Func {
 
        s.f = ssa.NewFunc(&fe)
        s.config = ssaConfig
+       s.f.Type = fn.Type
        s.f.Config = ssaConfig
        s.f.Cache = &ssaCaches[worker]
        s.f.Cache.Reset()