]> Cypherpunks repositories - gostls13.git/commitdiff
src/cmd/compile/internal/gc: fix type assertion in overflow check
authorRobert Griesemer <gri@golang.org>
Tue, 15 Sep 2015 18:16:58 +0000 (11:16 -0700)
committerRobert Griesemer <gri@golang.org>
Tue, 15 Sep 2015 19:50:09 +0000 (19:50 +0000)
Fixes #11600.

Change-Id: I8871d4e525168fed35115855483a237bbd6e5445
Reviewed-on: https://go-review.googlesource.com/14596
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
src/cmd/compile/internal/gc/const.go

index de231906784f87757e0f08b8222343ac9ea954d8..a6428ac4279f979e984722150d3372b577c2f81b 100644 (file)
@@ -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)
        }
 }