[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