mirror of https://github.com/golang/go.git
cmd/compile: don't implicitly dereference pointer to arrays for real/imag
Fixes #20602. Change-Id: Iac1589484dec626c018314e0cea7efce091fd87d Reviewed-on: https://go-review.googlesource.com/45075 Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
parent
ef0f7fb92b
commit
660200528a
|
|
@ -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)
|
||||||
n.Left = implicitstar(n.Left)
|
if n.Op == OCAP || n.Op == OLEN {
|
||||||
|
n.Left = implicitstar(n.Left)
|
||||||
|
}
|
||||||
l := n.Left
|
l := n.Left
|
||||||
t := l.Type
|
t := l.Type
|
||||||
if t == nil {
|
if t == nil {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
// 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"
|
||||||
Loading…
Reference in New Issue