diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2005-10-20 19:30:23 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2005-10-20 19:30:23 +0000 |
commit | cdcba1ea35704e2e6e9197eb8ed2f211ddccb0f3 (patch) | |
tree | 371eace32311ca26ea6a068562168710b5a04b4e /gcc/cgraphunit.c | |
parent | 94c813b4572f371dcdb8aca1ed4bf0d37cde47a6 (diff) | |
download | gcc-cdcba1ea35704e2e6e9197eb8ed2f211ddccb0f3.zip gcc-cdcba1ea35704e2e6e9197eb8ed2f211ddccb0f3.tar.gz gcc-cdcba1ea35704e2e6e9197eb8ed2f211ddccb0f3.tar.bz2 |
re PR middle-end/24295 (Xorg broken, #pragma weak foo = bar no longer causes bar to be referenced)
gcc/ChangeLog:
PR middle-end/24295
* cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Mark
alias targets.
* varasm.c (find_decl_and_mark_needed): After cgraph global info
is ready, stop marking functions, but still mark variables.
gcc/testsuite/ChangeLog:
PR middle-end/24295
* g++.old-deja/g++.abi/vtable2.C: Do not introduce external
declarations with the same names as thunks' alias targets, use
aliases instead.
* gcc.dg/attr-alias-3.c: New test.
* gcc.dg/weak/weak-14.c, gcc.dg/weak/weak-14a.c: New test.
From-SVN: r105688
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r-- | gcc/cgraphunit.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 181ee4e..244367d 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -322,6 +322,8 @@ cgraph_varpool_remove_unreferenced_decls (void) node = next; } + /* Make sure we mark alias targets as used targets. */ + finish_aliases_1 (); cgraph_varpool_analyze_pending_decls (); } |