summaryrefslogtreecommitdiff
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
commit8fad972163af95723c7b53d83ce46a45261f4c46 (patch)
tree20a3e17667f20cf08d2736d09ea7fe9fd7a3e783 /test/nilptr4.go
parentda2fe8deff666387ed72dab99263740d3c83874f (diff)
downloadgo-8fad972163af95723c7b53d83ce46a45261f4c46.tar.gz
cmd/gc: fix bad checknil with ints on 32 bit compilers
Fixes issue 7413. LGTM=rsc R=remyoudompheng CC=golang-codereviews, r, rsc https://codereview.appspot.com/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 000000000..3dd7d4e02
--- /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() {}