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
Reviewed-on: https://go-review.googlesource.com/97855
From-SVN: r258112
-821960465883fbdd96568f2325f55ee4b05de1cb
+262d629b1592f681fef396166a671e46cdb31230
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
return false;
if (st->named_type() != NULL)
st->named_type()->convert(this->gogo_);
+ if (st->is_error_type())
+ {
+ go_assert(saw_errors());
+ return false;
+ }
int64_t offset;
this->seen_ = true;
bool ok = st->struct_type()->backend_field_offset(this->gogo_,