From: Matthew Dempsky Date: Wed, 14 Feb 2018 21:51:51 +0000 (-0800) Subject: cmd/compile: fix printing of untyped types in -W output X-Git-Tag: go1.11beta1~1625 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=c3e8da67dd79d84ac04187b5ce577d76d4e0c032;p=gostls13.git cmd/compile: fix printing of untyped types in -W output It's always useful to distinguish "bool" and "string" from "untyped bool" and "untyped string", so change typefmt to do this unconditionally. Also, while here, replace a bare 0 with its named constant FErr. Fixes #23833. Change-Id: I3fcb8d7204686937439caaaf8b3973fc236d0387 Reviewed-on: https://go-review.googlesource.com/94021 Run-TryBot: Matthew Dempsky TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- diff --git a/src/cmd/compile/internal/gc/fmt.go b/src/cmd/compile/internal/gc/fmt.go index 4b2fdb0dca..2cebab28dd 100644 --- a/src/cmd/compile/internal/gc/fmt.go +++ b/src/cmd/compile/internal/gc/fmt.go @@ -701,15 +701,15 @@ func typefmt(t *types.Type, flag FmtFlag, mode fmtMode, depth int) string { } if int(t.Etype) < len(basicnames) && basicnames[t.Etype] != "" { - prefix := "" - if mode == FErr && (t == types.Idealbool || t == types.Idealstring) { - prefix = "untyped " + name := basicnames[t.Etype] + if t == types.Idealbool || t == types.Idealstring { + name = "untyped " + name } - return prefix + basicnames[t.Etype] + return name } if mode == FDbg { - return t.Etype.String() + "-" + typefmt(t, flag, 0, depth) + return t.Etype.String() + "-" + typefmt(t, flag, FErr, depth) } switch t.Etype {