https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69518
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 37518 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37518&action=edit gcc6-pr69518.patch Untested fix. The problem is that when type variants are created, the generic code copies there also the TYPE_VFIELD aka C_TYPE_INCOMPLETE_VARS. We clear it only in the main type variant, but not in other variants, so if not anything else, it is at least undesirable for GC purposes, plus we leak the C FE use of that field into the middle-end.