]> Cypherpunks repositories - gostls13.git/commitdiff
test: add test for nil check / bounds check compiler confusion
authorJosh Bleecher Snyder <josharian@gmail.com>
Fri, 17 Apr 2020 01:26:12 +0000 (18:26 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Fri, 17 Apr 2020 04:26:54 +0000 (04:26 +0000)
This test started failing at CL 228106 and was fixed by CL 228677.

Fixes #38496

Change-Id: I2dadcd99227347e8d28179039f5f345e728c4595
Reviewed-on: https://go-review.googlesource.com/c/go/+/228698
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
test/fixedbugs/issue38496.go [new file with mode: 0644]

diff --git a/test/fixedbugs/issue38496.go b/test/fixedbugs/issue38496.go
new file mode 100644 (file)
index 0000000..717aa5d
--- /dev/null
@@ -0,0 +1,20 @@
+// run
+
+// Copyright 2020 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.
+
+// Make sure bounds check elision isn't confused with nil check elision.
+
+package main
+
+func main() {
+       defer func() {
+               err := recover()
+               if err == nil {
+                       panic("failed to check nil ptr")
+               }
+       }()
+       var m [2]*int
+       _ = *m[1] // need a nil check, but not a bounds check
+}