This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
This patch fixes a problem where lto_fixup_decls does not replace all reachable copies of an unprevailing DECL before deleting the DECL. This is bootstrapped and tested on target i686-unknown-linux-gnu. 2008-10-08 Doug Kwan <dougkwan@google.com> testsuite/ChaneLog * g++.dg/lto/20081008.C: New test. lto/ChangeLog * lto.c (lto_fixup_tree): Remove ATTRIBUTE_UNUSED from DATA. Handle new tree codes RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE and TREE_BINFO. Also move code handling FUNCTION_DECL and VAR_DECL from lto_fixup_state to here. (lto_fixup_state): Take an lto_fixup_data_t object DATA instead of just a free-list. Fix up types also. Move decl merging code to lto_fixup_tree. (lto_fixup_state_aux): Change AUX to point to an lto_fixup_data_t object. (lto_fixup_decls): Use another pointer set to avoid multiple walking of nodes except for DECLs to be replaced. Pass an lto_fixup_data_t object to tree-walker.
Attachment:
patch.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |