https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59016
--- Comment #11 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- > In a slightly altered patched, I've added a precondition which examines > first the locus of the current symbol and finally the error reported seems > to comply with the testsuites. Indeed, however the new patch does not prevent the ICEs. AFAICT the basic problem is not with p->sym->declared_at.lb, but with p->sym->name. I have tried to check for p->sym->name==0 which happen sometime, but not always in a seemingly random way. When p->sym->name!=0 and an ICE, p->sym->name seems malformed. So I suspect a bug upstream where the pointer p->sym->name is not reset to NULL. BTW your patches do not follow the gnu coding style.