https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85391
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|marxin at gcc dot gnu.org |hubicka at gcc dot gnu.org --- Comment #16 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to Jan Hubicka from comment #14) > Created attachment 43947 [details] > Proposed fix > > We looked into this with Maritn todday. There are two bugs: one is the fact > that lto.c forgets to register the type in case it was within strongly > connected component after its outer type. The order depends on hash values > and is not well determined. We do not want to test TYPE_CANONICAL being > non-NULL. Martin is testing it. > > Other is the fact that Eric's last change make odr types compatible when one > of them is incomplete. This is not necessarily the case. The patch should > fix the ordering issue by going the slow path in case type already in > hashtable is incomplete. In this case it won't take long to compare it with > the other type anyway. Unfortunately with the suggested patch I see the same ICE for same types as seen in: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85391#c1 Minimal test-case this time is 12 files, would take a really long time to reduce.