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

Reply via email to