Fixes #4429.
R=golang-dev, remyoudompheng, daniel.morsing, rsc
CC=golang-dev
https://golang.org/cl/
6850097
n->left = N;
goto ret;
}
- if((top & Erv) && !isptr[t->etype]) {
+ if((top & (Erv | Etop)) && !isptr[t->etype]) {
yyerror("invalid indirect of %lN", n->left);
goto error;
}
--- /dev/null
+// errorcheck
+
+// Copyright 2012 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.
+
+package p
+
+type a struct {
+ a int
+}
+
+func main() {
+ av := a{};
+ *a(av); // ERROR "invalid indirect"
+}