From: Jan Hubicka Date: Thu, 10 May 2012 21:41:38 +0000 (+0200) Subject: * ipa.c (symtab_remove_unreachable_nodes): Fix marking of clones. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=57228a699857bbc47b6df2042f3fe77dc280876d;p=gcc.git * ipa.c (symtab_remove_unreachable_nodes): Fix marking of clones. From-SVN: r187381 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 47b258e9260..b6508c3e57e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2012-05-10 Jan Hubicka + + * ipa.c (symtab_remove_unreachable_nodes): Fix marking of clones. + 2012-05-10 Jan Hubicka * cgraph.h (cgraph_remove_unreachable_nodes): Rename to ... diff --git a/gcc/ipa.c b/gcc/ipa.c index 766b26f0313..a107c6f0ec5 100644 --- a/gcc/ipa.c +++ b/gcc/ipa.c @@ -310,12 +310,12 @@ symtab_remove_unreachable_nodes (bool before_inlining_p, FILE *file) /* For non-inline clones, force their origins to the boundary and ensure that body is not removed. */ - while (cnode->clone_of && !cnode->clone_of->symbol.aux + while (cnode->clone_of && !gimple_has_body_p (cnode->symbol.decl)) { bool noninline = cnode->clone_of->symbol.decl != cnode->symbol.decl; cnode = cnode->clone_of; - if (noninline && !cnode->symbol.aux) + if (noninline) { pointer_set_insert (body_needed_for_clonning, cnode->symbol.decl); enqueue_node ((symtab_node)cnode, &first, reachable);