From: Robert Griesemer Date: Tue, 15 Sep 2015 18:16:58 +0000 (-0700) Subject: src/cmd/compile/internal/gc: fix type assertion in overflow check X-Git-Tag: go1.6beta1~1071 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=dace9397b10e85db15c4760eb283ca43855d87d2;p=gostls13.git 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 --- 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) } }