aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorraksit <raksit@138bc75d-0d04-0410-961f-82ee72b054a4>2009-09-10 20:45:15 +0000
committerraksit <raksit@138bc75d-0d04-0410-961f-82ee72b054a4>2009-09-10 20:45:15 +0000
commit76d9a888c9704051d95ebbe86bf0ad65c544eeee (patch)
tree5d1c666b3f2e50935e308774e8fc1177dae73385
parent8af42de39f05bed2e16bc4ed4858f455c5f7ba20 (diff)
Change which builtins we save/restore post-parsing. This fixes a LIPO cfg-checksum mismatch problem.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lw-ipo@151615 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/cp/cp-objcp-common.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/cp/cp-objcp-common.c b/gcc/cp/cp-objcp-common.c
index e23b108994e..6a2a33102cc 100644
--- a/gcc/cp/cp-objcp-common.c
+++ b/gcc/cp/cp-objcp-common.c
@@ -627,14 +627,16 @@ cp_save_built_in_decl_post_parsing (void)
for (i = 0; VEC_iterate (saved_builtin,
saved_builtins, i, bi); ++i)
{
- if (!TREE_STATIC (bi->decl) || DECL_ARTIFICIAL (bi->decl))
- continue;
+ if (DECL_ARTIFICIAL (bi->decl)
+ || TREE_CODE (bi->decl) != FUNCTION_DECL
+ || DECL_BUILT_IN (bi->decl))
+ continue;
/* Remember the defining module. */
cgraph_link_node (cgraph_node (bi->decl));
if (!bi->decl_fini_copy)
bi->decl_fini_copy = lipo_save_decl (bi->decl);
else
- gcc_assert (TREE_STATIC (bi->decl_fini_copy));
+ gcc_assert (!DECL_BUILT_IN (bi->decl_fini_copy));
}
}