This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patch for PR debug/29614
- From: Steve Ellcey <sje at cup dot hp dot com>
- To: richard dot guenther at gmail dot com
- Cc: gcc-patches at gcc dot gnu dot org, iant at google dot com
- Date: Thu, 22 Feb 2007 12:57:20 -0800 (PST)
- Subject: Re: Patch for PR debug/29614
OK, Here is a new patch for PR debug/29614. I think this is the 'right'
fix, it has no compile time issues and doesn't reorder any definitions.
The fix is to clear the varpool_last_needed_node variable after
varpool_assemble_pending_decls removes everything from the
varpool_nodes_queue list. Then varpool_enqueue_needed_node will do the
right thing and put nodes on the varpool_nodes_queue list and not onto
the varpool_assembled_nodes_queue list where
varpool_assemble_pending_decls moved them.
Bootstrapped and tested on IA64 Linux with no regressions.
OK to checkin?
2007-02-22 Steve Ellcey <sje@cup.hp.com>
PR debug/29614
* varpool.c (varpool_assemble_pending_decls): Set
varpool_last_needed_node to null.
Index: varpool.c
===================================================================
--- varpool.c (revision 122189)
+++ varpool.c (working copy)
@@ -430,6 +430,9 @@ varpool_assemble_pending_decls (void)
else
node->next_needed = NULL;
}
+ /* varpool_nodes_queue is now empty, clear the pointer to the last element
+ in the queue. */
+ varpool_last_needed_node = NULL;
return changed;
}