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.

Reply via email to