http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60640
--- Comment #12 from Martin Jambor <jamborm at gcc dot gnu.org> --- Author: jamborm Date: Fri Apr 4 14:11:06 2014 New Revision: 209097 URL: http://gcc.gnu.org/viewcvs?rev=209097&root=gcc&view=rev Log: 2014-04-04 Martin Jambor <mjam...@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. Added: trunk/gcc/testsuite/g++.dg/ipa/pr60640-1.C trunk/gcc/testsuite/g++.dg/ipa/pr60640-2.C trunk/gcc/testsuite/g++.dg/ipa/pr60640-3.C trunk/gcc/testsuite/g++.dg/ipa/pr60640-4.C Modified: trunk/gcc/ChangeLog trunk/gcc/cgraph.c trunk/gcc/cgraph.h trunk/gcc/cgraphclones.c trunk/gcc/ipa-inline-transform.c trunk/gcc/ipa-inline.c trunk/gcc/lto-cgraph.c trunk/gcc/testsuite/ChangeLog