https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65243
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |WAITING Last reconfirmed|2015-03-02 00:00:00 |2015-03-18 Ever confirmed|0 |1 --- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> --- The original ICE means that in inline hashval_t external_ref_hasher::hash (const value_type *r) { dw_die_ref die = r->type; hashval_t h = 0; /* We can't use the address of the DIE for hashing, because that will make the order of the stub DIEs non-deterministic. */ if (! die->comdat_type_p) /* We have a symbol; use it to compute a hash. */ h = htab_hash_string (die->die_id.die_symbol); die->die_id.die_symbol is NULL (I suppose). I suppose the guard means that in non-LTO this _is_ a comdat type. But LTO somehow demoted it? We still lack a proper testcase.