From cdcba1ea35704e2e6e9197eb8ed2f211ddccb0f3 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Thu, 20 Oct 2005 19:30:23 +0000 Subject: 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 --- gcc/cgraphunit.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gcc/cgraphunit.c') 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 (); } -- cgit v1.1