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.

Reply via email to