compiler: avoid crashing on bad self-referential type

The compiler was crashing partway through emitting an error for a bad
self-referential struct type (which refers to one of its own fields
via an unsafe.Offset expression). Tweak the offset logic to check for
this class of type error and exit cleanly.

Fixes golang/go#24180

Change-Id: Iebf86df5eeb1a24b1c8363fdf61fef0317f084da
Reviewed-on: https://go-review.googlesource.com/97855
Reviewed-by: Ian Lance Taylor <iant@golang.org>
1 file changed