summaryrefslogtreecommitdiffstats
path: root/test/fixedbugs/issue13559.go
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--test/fixedbugs/issue13559.go89
1 files changed, 89 insertions, 0 deletions
diff --git a/test/fixedbugs/issue13559.go b/test/fixedbugs/issue13559.go
new file mode 100644
index 0000000..cc139d5
--- /dev/null
+++ b/test/fixedbugs/issue13559.go
@@ -0,0 +1,89 @@
+// errorcheck
+
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Verify that error messages print meaningful values
+// for various extreme floating-point constants.
+
+package p
+
+// failure case in issue
+const _ int64 = 1e-10000 // ERROR "1e\-10000 truncated|.* truncated to int64|truncated"
+
+const (
+ _ int64 = 1e10000000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = 1e1000000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = 1e100000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = 1e10000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = 1e1000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = 1e100 // ERROR "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 overflows|truncated to int64|truncated"
+ _ int64 = 1e10
+ _ int64 = 1e1
+ _ int64 = 1e0
+ _ int64 = 1e-1 // ERROR "0\.1 truncated|.* truncated to int64|truncated"
+ _ int64 = 1e-10 // ERROR "1e\-10 truncated|.* truncated to int64|truncated"
+ _ int64 = 1e-100 // ERROR "1e\-100 truncated|.* truncated to int64|truncated"
+ _ int64 = 1e-1000 // ERROR "1e\-1000 truncated|.* truncated to int64|truncated"
+ _ int64 = 1e-10000 // ERROR "1e\-10000 truncated|.* truncated to int64|truncated"
+ _ int64 = 1e-100000 // ERROR "1e\-100000 truncated|.* truncated to int64|truncated"
+ _ int64 = 1e-1000000 // ERROR "1e\-1000000 truncated|.* truncated to int64|truncated"
+)
+
+const (
+ _ int64 = -1e10000000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = -1e1000000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = -1e100000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = -1e10000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = -1e1000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = -1e100 // ERROR "\-10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 overflows|truncated to int64|truncated"
+ _ int64 = -1e10
+ _ int64 = -1e1
+ _ int64 = -1e0
+ _ int64 = -1e-1 // ERROR "\-0\.1 truncated|.* truncated to int64|truncated"
+ _ int64 = -1e-10 // ERROR "\-1e\-10 truncated|.* truncated to int64|truncated"
+ _ int64 = -1e-100 // ERROR "\-1e\-100 truncated|.* truncated to int64|truncated"
+ _ int64 = -1e-1000 // ERROR "\-1e\-1000 truncated|.* truncated to int64|truncated"
+ _ int64 = -1e-10000 // ERROR "\-1e\-10000 truncated|.* truncated to int64|truncated"
+ _ int64 = -1e-100000 // ERROR "\-1e\-100000 truncated|.* truncated to int64|truncated"
+ _ int64 = -1e-1000000 // ERROR "\-1e\-1000000 truncated|.* truncated to int64|truncated"
+)
+
+const (
+ _ int64 = 1.23456789e10000000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = 1.23456789e1000000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = 1.23456789e100000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = 1.23456789e10000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = 1.23456789e1000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = 1.23456789e100 // ERROR "12345678900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 overflows|truncated to int64|truncated"
+ _ int64 = 1.23456789e10
+ _ int64 = 1.23456789e1 // ERROR "12\.3457 truncated|.* truncated to int64|truncated"
+ _ int64 = 1.23456789e0 // ERROR "1\.23457 truncated|.* truncated to int64|truncated"
+ _ int64 = 1.23456789e-1 // ERROR "0\.123457 truncated|.* truncated to int64|truncated"
+ _ int64 = 1.23456789e-10 // ERROR "1\.23457e\-10 truncated|.* truncated to int64|truncated"
+ _ int64 = 1.23456789e-100 // ERROR "1\.23457e\-100 truncated|.* truncated to int64|truncated"
+ _ int64 = 1.23456789e-1000 // ERROR "1\.23457e\-1000 truncated|.* truncated to int64|truncated"
+ _ int64 = 1.23456789e-10000 // ERROR "1\.23457e\-10000 truncated|.* truncated to int64|truncated"
+ _ int64 = 1.23456789e-100000 // ERROR "1\.23457e\-100000 truncated|.* truncated to int64|truncated"
+ _ int64 = 1.23456789e-1000000 // ERROR "1\.23457e\-1000000 truncated|.* truncated to int64|truncated"
+)
+
+const (
+ _ int64 = -1.23456789e10000000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = -1.23456789e1000000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = -1.23456789e100000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = -1.23456789e10000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = -1.23456789e1000 // ERROR "integer too large|truncated to int64|truncated"
+ _ int64 = -1.23456789e100 // ERROR "\-12345678900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 overflows|truncated to int64|truncated"
+ _ int64 = -1.23456789e10
+ _ int64 = -1.23456789e1 // ERROR "\-12\.3457 truncated|.* truncated to int64|truncated"
+ _ int64 = -1.23456789e0 // ERROR "\-1\.23457 truncated|.* truncated to int64|truncated"
+ _ int64 = -1.23456789e-1 // ERROR "\-0\.123457 truncated|.* truncated to int64|truncated"
+ _ int64 = -1.23456789e-10 // ERROR "\-1\.23457e\-10 truncated|.* truncated to int64|truncated"
+ _ int64 = -1.23456789e-100 // ERROR "\-1\.23457e\-100 truncated|.* truncated to int64|truncated"
+ _ int64 = -1.23456789e-1000 // ERROR "\-1\.23457e\-1000 truncated|.* truncated to int64|truncated"
+ _ int64 = -1.23456789e-10000 // ERROR "\-1\.23457e\-10000 truncated|.* truncated to int64|truncated"
+ _ int64 = -1.23456789e-100000 // ERROR "\-1\.23457e\-100000 truncated|.* truncated to int64|truncated"
+ _ int64 = -1.23456789e-1000000 // ERROR "\-1\.23457e\-1000000 truncated|.* truncated to int64|truncated"
+)