aboutsummaryrefslogtreecommitdiff
path: root/test/nilptr4.go
diff options
context:
space:
mode:
authorJosh Bleecher Snyder <josharian@gmail.com>2014-02-26 12:25:13 -0800
committerJosh Bleecher Snyder <josharian@gmail.com>2014-02-26 12:25:13 -0800
commit3081261b588b1c93da8bf4292e99a535bdb86a3f (patch)
treea02422c9b5ea8e1009aa26b0c95eeddf3f516c1f /test/nilptr4.go
parent7954b2b90be1b424e1dc8d9d50b3edd1d7a60d4c (diff)
downloadgo-3081261b588b1c93da8bf4292e99a535bdb86a3f.tar.gz
go-3081261b588b1c93da8bf4292e99a535bdb86a3f.zip
cmd/gc: fix bad checknil with ints on 32 bit compilers
Fixes #7413. LGTM=rsc R=remyoudompheng CC=golang-codereviews, r, rsc https://golang.org/cl/69180044
Diffstat (limited to 'test/nilptr4.go')
-rw-r--r--test/nilptr4.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/nilptr4.go b/test/nilptr4.go
new file mode 100644
index 0000000000..3dd7d4e026
--- /dev/null
+++ b/test/nilptr4.go
@@ -0,0 +1,24 @@
+// build
+
+// Copyright 2014 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.
+
+// Test that the compiler does not crash during compilation.
+
+package main
+
+import "unsafe"
+
+// Issue 7413
+func f1() {
+ type t struct {
+ i int
+ }
+
+ var v *t
+ _ = int(uintptr(unsafe.Pointer(&v.i)))
+ _ = int32(uintptr(unsafe.Pointer(&v.i)))
+}
+
+func main() {}