From dace9397b10e85db15c4760eb283ca43855d87d2 Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Tue, 15 Sep 2015 11:16:58 -0700 Subject: [PATCH] src/cmd/compile/internal/gc: fix type assertion in overflow check Fixes #11600. Change-Id: I8871d4e525168fed35115855483a237bbd6e5445 Reviewed-on: https://go-review.googlesource.com/14596 Reviewed-by: Josh Bleecher Snyder --- src/cmd/compile/internal/gc/const.go | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/src/cmd/compile/internal/gc/const.go b/src/cmd/compile/internal/gc/const.go index de23190678..a6428ac427 100644 --- a/src/cmd/compile/internal/gc/const.go +++ b/src/cmd/compile/internal/gc/const.go @@ -434,19 +434,8 @@ func overflow(v Val, t *Type) { return } - if !doesoverflow(v, t) { - return - } - - switch v.Ctype() { - case CTINT, CTRUNE: - Yyerror("constant %v overflows %v", v.U.(*Mpint), t) - - case CTFLT: - Yyerror("constant %v overflows %v", Fconv(v.U.(*Mpflt), obj.FmtSharp), t) - - case CTCPLX: - Yyerror("constant %v overflows %v", Fconv(v.U.(*Mpflt), obj.FmtSharp), t) + if doesoverflow(v, t) { + Yyerror("constant %s overflows %v", Vconv(v, 0), t) } } -- 2.48.1