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)"