> The problem here is that we're trying to compare the TYPE_FIELDS of > two variants of an incomplete type, which doesn't make sense; we > shouldn't expect TYPE_FIELDS of an incomplete type to be meaningful. > > Tested x86_64-pc-linux-gnu. OK for trunk?
> commit c6f5cd55d0bbebc2fa46628ebb8fdec2a44abf3a > Author: Jason Merrill <ja...@redhat.com> > Date: Wed Nov 25 10:47:03 2015 -0500 > > PR middle-end/66214 > > * tree.c (gimple_canonical_types_compatible_p) [RECORD_TYPE]: > Don't try to compare the fields of incomplete types. This makes sense to me. I would still add a check that incomplete types have to TYPE_FIELDS during LTO so we are sure that all types are either completed or have no fields at all once the frontends are done. Honza