OSDN Git Service

* tree.h (build_function_decl_skip_args): Add boolean parameter.
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Jan 2012 18:47:28 +0000 (18:47 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Jan 2012 18:47:28 +0000 (18:47 +0000)
commit7a3ec97816539146d730f3cd3f0202cafc59684e
treef3e48a68df89c7419d086f7a678f0af82c975f18
parentaa2edcb90b593dbf9e2123ee4653466ae6823d35
* tree.h (build_function_decl_skip_args): Add boolean parameter.
(build_function_type_skip_args): Delete.
* tree.c (build_function_type_skip_args): Make static and add
SKIP_RETURN parameter.  Fix thinko in the handling of variants.
(build_function_decl_skip_args): Add SKIP_RETURN parameter and
pass it to build_function_type_skip_args.
* cgraph.h (cgraph_function_versioning): Add boolean parameter.
(tree_function_versioning): Likewise.
* cgraph.c (cgraph_create_virtual_clone): Adjust call to
build_function_decl_skip_args.
* cgraphunit.c (cgraph_function_versioning): Add SKIP_RETURN parameter
and pass it to build_function_decl_skip_args/tree_function_versioning.
(cgraph_materialize_clone): Adjust call to tree_function_versioning.
* ipa-inline-transform.c (save_inline_function_body): Likewise.
* trans-mem.c (ipa_tm_create_version): Likewise.
* tree-sra.c (modify_function): Ditto for cgraph_function_versioning.
* tree-inline.c (declare_return_variable): Remove always-true test.
(tree_function_versioning): Add SKIP_RETURN parameter.  If the function
returns non-void and SKIP_RETURN, create a void-typed RESULT_DECL.
* ipa-split.c (split_function): Skip the return value for the split
part if it doesn't return.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183102 138bc75d-0d04-0410-961f-82ee72b054a4
18 files changed:
gcc/ChangeLog
gcc/cgraph.c
gcc/cgraph.h
gcc/cgraphunit.c
gcc/ipa-inline-transform.c
gcc/ipa-split.c
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/opt23.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/opt23.ads [new file with mode: 0644]
gcc/testsuite/gnat.dg/opt23_pkg.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/opt23_pkg.ads [new file with mode: 0644]
gcc/testsuite/gnat.dg/opt24.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/opt24.ads [new file with mode: 0644]
gcc/trans-mem.c
gcc/tree-inline.c
gcc/tree-sra.c
gcc/tree.c
gcc/tree.h