diff options
author | raksit <raksit@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-09-10 20:45:15 +0000 |
---|---|---|
committer | raksit <raksit@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-09-10 20:45:15 +0000 |
commit | 76d9a888c9704051d95ebbe86bf0ad65c544eeee (patch) | |
tree | 5d1c666b3f2e50935e308774e8fc1177dae73385 | |
parent | 8af42de39f05bed2e16bc4ed4858f455c5f7ba20 (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.c | 8 |
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)); } } |