https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114574
--- Comment #15 from Martin Uecker <muecker at gwdg dot de> --- Created attachment 57874 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57874&action=edit patch Tentative patch for the fix that makes the incomplete types have structural equivalence at the beginning and then sets TYPE_CANONICAL when they are completed. There is some fallout when one removes the flag_isoc23 condition which I need to look into... Assuming this approach is ok, then I think this change should be done also for pre-C23 in the future.