[Bug middle-end/46221] [4.6 Regression] huge number of c++ testsuite failures, libstdc++.so alias missing

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Nov 8 13:32:00 GMT 2010


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46221

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|unassigned at gcc dot       |rguenth at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #12 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-08 13:32:24 UTC ---
The first issue I see is that we reclaim the cgraph nodes that constitute
aliases (even though they are TREE_PUBLIC):

Reclaiming functions: wobbly jelly

The 2nd issue is that in remove_unreachable_alias_pairs we remove pairs
for decls that are !DECL_EXTERNAL (huh, I supposed that's to be for _targets_
that are not external!).

As we have reclaimed jelly, the target for wobbly isn't available and
thus we remove the alias.

Now, alias-pairs are indeed a complete mess and need to be re-done
properly integrated with cgraph/varpool and ipa-references.

I have a ha^Wpatch that makes us emit instead

> ./cc1 -quiet t.c -O -fdump-ipa-all-details
t.c:4:13: error: 'wobbly' aliased to undefined symbol 'jelly'

haha, because find_decl_and_mark_needed is stupid as well.  Bah.  We really
need to avoid throwing away the cgraph node.

But the cgraph code is messy^2 as well.  Bah.

I have a pa^Whack.



More information about the Gcc-bugs mailing list