http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57945
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Even better something that uses it and that even declares the original: extern int j; static int i __attribute__((weakref("j"))); int foo (void) { return &i ? i : 0; } This ICEs with cc1plus even at -O2, since r199971. The problem is that node->alias_target is IDENTIFIER_NODE, some places cope with it being IDENTIFIER_NODE (in fact, I don't see where it would become something different), but some places just blindly assume it must be a DECL_P.