Commit 66020052 authored by Robert Griesemer's avatar Robert Griesemer

cmd/compile: don't implicitly dereference pointer to arrays for real/imag

Fixes #20602.

Change-Id: Iac1589484dec626c018314e0cea7efce091fd87d
Reviewed-on: https://go-review.googlesource.com/45075Reviewed-by: 's avatarMatthew Dempsky <mdempsky@google.com>
parent ef0f7fb9
...@@ -1349,7 +1349,9 @@ OpSwitch: ...@@ -1349,7 +1349,9 @@ OpSwitch:
} }
n.Left = typecheck(n.Left, Erv) n.Left = typecheck(n.Left, Erv)
n.Left = defaultlit(n.Left, nil) n.Left = defaultlit(n.Left, nil)
if n.Op == OCAP || n.Op == OLEN {
n.Left = implicitstar(n.Left) n.Left = implicitstar(n.Left)
}
l := n.Left l := n.Left
t := l.Type t := l.Type
if t == nil { if t == nil {
......
// errorcheck
// Copyright 2017 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 the correct (not implicitly dereferenced)
// type is reported in the error message.
package p
var p = &[1]complex128{0}
var _ = real(p) // ERROR "type \*\[1\]complex128"
var _ = imag(p) // ERROR "type \*\[1\]complex128"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment