aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphunit.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2008-07-16 23:38:15 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2008-07-16 21:38:15 +0000
commit7386e3ee260414735222ea6559f3bb94ecd011f9 (patch)
treee06ba8171841b599b4229f871ff4b5a27a61ccb2 /gcc/cgraphunit.c
parentde498dd486218343a3db23354de14e6da81ada81 (diff)
downloadgcc-7386e3ee260414735222ea6559f3bb94ecd011f9.zip
gcc-7386e3ee260414735222ea6559f3bb94ecd011f9.tar.gz
gcc-7386e3ee260414735222ea6559f3bb94ecd011f9.tar.bz2
cgraph.h (varpool_empty_needed_queue): Declare.
* cgraph.h (varpool_empty_needed_queue): Declare. * cgraphunit.c (output_in_order): Mark all variables as needed; empty the queue. * varpool.c (varpool_assemble_node): Update debug queue. (varpool_assemble_pending_decls): Don't do it here. (varpool_empty_needed_queue): New function. From-SVN: r137903
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r--gcc/cgraphunit.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 2dcccc1..5994ad1 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -1291,6 +1291,16 @@ cgraph_output_in_order (void)
nodes[i].u.a = pa;
}
+ /* In toplevel reorder mode we output all statics; mark them as needed. */
+ for (i = 0; i < max; ++i)
+ {
+ if (nodes[i].kind == ORDER_VAR)
+ {
+ varpool_mark_needed_node (nodes[i].u.v);
+ }
+ }
+ varpool_empty_needed_queue ();
+
for (i = 0; i < max; ++i)
{
switch (nodes[i].kind)