compiler: guard against implicit double pointer indirection
The code that lowers field references can sometimes introduce a double
pointer indirection in cases where it is not/safe appropriate. For
example, in
var p **struct { f int }
p.f = 0
the assignment LHS was being incorrectly lowered to (*(*p)).f.
Detect this situation and issue an error.
Fixes golang/go#21770
Reviewed-on: https://go-review.googlesource.com/62330
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251918 138bc75d-0d04-0410-961f-82ee72b054a4