Message ID | 20191217155854.pjzovhvqqfuiz7o5@kam.mff.cuni.cz |
---|---|
State | New |
Headers | show |
Series | Fix partitioning ICE with external comdats | expand |
On Dez 17 2019, Jan Hubicka wrote: > Index: symtab.c > =================================================================== > --- symtab.c (revision 279178) > +++ symtab.c (working copy) > @@ -1952,6 +1952,11 @@ symtab_node::get_partitioning_class (voi > if (DECL_EXTERNAL (decl)) > return SYMBOL_EXTERNAL; > > + /* Even static aliases of external functions as external. Those can happen s/as/are/ Andreas.
Index: symtab.c =================================================================== --- symtab.c (revision 279178) +++ symtab.c (working copy) @@ -1952,6 +1952,11 @@ symtab_node::get_partitioning_class (voi if (DECL_EXTERNAL (decl)) return SYMBOL_EXTERNAL; + /* Even static aliases of external functions as external. Those can happen + when COMDAT got resolved to non-IL implementation. */ + if (alias && DECL_EXTERNAL (ultimate_alias_target ()->decl)) + return SYMBOL_EXTERNAL; + if (varpool_node *vnode = dyn_cast <varpool_node *> (this)) { if (alias && definition && !ultimate_alias_target ()->definition)