Commit 7c295f3f authored by Shenghou Ma's avatar Shenghou Ma

cmd/gc: fix invalid indirect error at statement level

Fixes #4429.

R=golang-dev, remyoudompheng, daniel.morsing, rsc
CC=golang-dev
https://golang.org/cl/6850097
parent 26377775
...@@ -482,7 +482,7 @@ reswitch: ...@@ -482,7 +482,7 @@ reswitch:
n->left = N; n->left = N;
goto ret; goto ret;
} }
if((top & Erv) && !isptr[t->etype]) { if((top & (Erv | Etop)) && !isptr[t->etype]) {
yyerror("invalid indirect of %lN", n->left); yyerror("invalid indirect of %lN", n->left);
goto error; goto error;
} }
......
// 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"
}
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