https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66181
--- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> --- I suppose the problem here is that stor-layout adds TYPE_NO_FORCE_BLK on the main variant. I suppose either we can copy it consistently: Index: stor-layout.c =================================================================== --- stor-layout.c (revision 222869) +++ stor-layout.c (working copy) @@ -1834,6 +1834,7 @@ TYPE_ALIGN (variant) = valign; TYPE_PRECISION (variant) = precision; SET_TYPE_MODE (variant, mode); + TYPE_NO_FORCE_BLK (variant) = TYPE_NO_FORCE_BLK (type); } } } or declare the flag to be local to stor-layout, clear it in free_lang_data and avoid its LTO streaming.