From 4f3cc3ed446170a161cf8ecb644a740ac233b005 Mon Sep 17 00:00:00 2001 From: Alan Justino <alan.justino@yahoo.com.br> Date: Wed, 7 Mar 2018 19:30:45 -0300 Subject: [PATCH] Fix int underflow on 32bit CPUs --- tools/pkgc.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tools/pkgc.go b/tools/pkgc.go index e04017c7..93a6fe7d 100644 --- a/tools/pkgc.go +++ b/tools/pkgc.go @@ -75,6 +75,16 @@ func getConst(name string, v constant.Value) string { } else { format = "float64(%s)" } + } else { + if i, exact := constant.Int64Val(v); exact { + if i > math.MinInt8 { + format = "int(%s)" + } else if i > math.MinInt32 { + format = "int32(%s)" + } else { + format = "int64(%s)" + } + } } case constant.Float: format = "float64(%s)"