aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-inline-transform.c
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2014-04-04 16:11:06 +0200
committerMartin Jambor <jamborm@gcc.gnu.org>2014-04-04 16:11:06 +0200
commit610c8ef0a420e5267cbccd5a4509f0ce3095e14c (patch)
treea981c037f8ae40dbdb770ab5dcc5d5474cb95903 /gcc/ipa-inline-transform.c
parent57ef133bab005d4a7eb1cb189b632fd2dd7fd95c (diff)
downloadgcc-610c8ef0a420e5267cbccd5a4509f0ce3095e14c.zip
gcc-610c8ef0a420e5267cbccd5a4509f0ce3095e14c.tar.gz
gcc-610c8ef0a420e5267cbccd5a4509f0ce3095e14c.tar.bz2
re PR ipa/60640 (ICE edge points to wrong declaration / verify_cgraph_node failed)
2014-04-04 Martin Jambor <mjambor@suse.cz> PR ipa/60640 * cgraph.h (cgraph_clone_node): New parameter added to declaration. Adjust all callers. * cgraph.c (clone_of_p): Also return true if thunks match. (verify_edge_corresponds_to_fndecl): Removed extraneous call to cgraph_function_or_thunk_node and an obsolete comment. * cgraphclones.c (build_function_type_skip_args): Moved upwards in the file. (build_function_decl_skip_args): Likewise. (set_new_clone_decl_and_node_flags): New function. (duplicate_thunk_for_node): Likewise. (redirect_edge_duplicating_thunks): Likewise. (cgraph_clone_node): New parameter args_to_skip, pass it to redirect_edge_duplicating_thunks which is called instead of cgraph_redirect_edge_callee. (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node, moved setting of a lot of flags to set_new_clone_decl_and_node_flags. testsuite/ * g++.dg/ipa/pr60640-1.C: New test. * g++.dg/ipa/pr60640-2.C: Likewise. * g++.dg/ipa/pr60640-3.C: Likewise. * g++.dg/ipa/pr60640-4.C: Likewise. From-SVN: r209097
Diffstat (limited to 'gcc/ipa-inline-transform.c')
-rw-r--r--gcc/ipa-inline-transform.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ipa-inline-transform.c b/gcc/ipa-inline-transform.c
index b2e0285..a45aab1 100644
--- a/gcc/ipa-inline-transform.c
+++ b/gcc/ipa-inline-transform.c
@@ -184,7 +184,7 @@ clone_inlined_nodes (struct cgraph_edge *e, bool duplicate,
freq_scale = e->frequency;
n = cgraph_clone_node (e->callee, e->callee->decl,
e->count, freq_scale, update_original,
- vNULL, true, inlining_into);
+ vNULL, true, inlining_into, NULL);
cgraph_redirect_edge_callee (e, n);
}
}