From 2d21bf4252781e3997c30a873e56325436ca3f76 Mon Sep 17 00:00:00 2001 From: Matthew Dempsky Date: Wed, 13 Mar 2019 15:51:15 -0700 Subject: [PATCH] cmd/compile: cleanup OREAL/OIMAG constant folding Based on suggestion from gri@ on golang.org/cl/166980. Passes toolstash-check. Change-Id: I79b66bb09b5635f3a9daecaa5d605b661a0ab108 Reviewed-on: https://go-review.googlesource.com/c/go/+/167501 Run-TryBot: Matthew Dempsky Reviewed-by: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- src/cmd/compile/internal/gc/const.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/cmd/compile/internal/gc/const.go b/src/cmd/compile/internal/gc/const.go index 825f08ca8a..ef4b933f68 100644 --- a/src/cmd/compile/internal/gc/const.go +++ b/src/cmd/compile/internal/gc/const.go @@ -676,17 +676,17 @@ func evconst(n *Node) { case OREAL, OIMAG: if nl.Op == OLITERAL { var re, im *Mpflt - switch consttype(nl) { - case CTINT, CTRUNE: + switch u := nl.Val().U.(type) { + case *Mpint: re = newMpflt() - re.SetInt(nl.Val().U.(*Mpint)) + re.SetInt(u) // im = 0 - case CTFLT: - re = nl.Val().U.(*Mpflt) + case *Mpflt: + re = u // im = 0 - case CTCPLX: - re = &nl.Val().U.(*Mpcplx).Real - im = &nl.Val().U.(*Mpcplx).Imag + case *Mpcplx: + re = &u.Real + im = &u.Imag default: Fatalf("impossible") } -- 2.48.1