aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphclones.c
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2017-03-30 15:51:02 +0200
committerMartin Jambor <jamborm@gcc.gnu.org>2017-03-30 15:51:02 +0200
commitb0fd4d7e328f0b967d61fdfe44b5e01b26cf3c30 (patch)
tree0d0aa00b6327fc3693098541fb8b4b3c966bfa64 /gcc/cgraphclones.c
parentde008ec4d69a5f7e9b75b25dc9e1fa937d65ff80 (diff)
downloadgcc-b0fd4d7e328f0b967d61fdfe44b5e01b26cf3c30.zip
gcc-b0fd4d7e328f0b967d61fdfe44b5e01b26cf3c30.tar.gz
gcc-b0fd4d7e328f0b967d61fdfe44b5e01b26cf3c30.tar.bz2
[PR 77333] Fixup fntypes of gimple calls of clones
2017-03-30 Martin Jambor <mjambor@suse.cz> PR ipa/77333 * cgraph.h (cgraph_build_function_type_skip_args): Declare. * cgraph.c (redirect_call_stmt_to_callee): Set gimple fntype so that it reflects the signature changes performed at the callee side. * cgraphclones.c (build_function_type_skip_args): Make public, renamed to cgraph_build_function_type_skip_args. (build_function_decl_skip_args): Adjust call to the above function. testsuite/ * g++.dg/ipa/pr77333.C: New test. From-SVN: r246589
Diffstat (limited to 'gcc/cgraphclones.c')
-rw-r--r--gcc/cgraphclones.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c
index c2337e8..69572b9 100644
--- a/gcc/cgraphclones.c
+++ b/gcc/cgraphclones.c
@@ -152,9 +152,9 @@ cgraph_edge::clone (cgraph_node *n, gcall *call_stmt, unsigned stmt_uid,
/* Build variant of function type ORIG_TYPE skipping ARGS_TO_SKIP and the
return value if SKIP_RETURN is true. */
-static tree
-build_function_type_skip_args (tree orig_type, bitmap args_to_skip,
- bool skip_return)
+tree
+cgraph_build_function_type_skip_args (tree orig_type, bitmap args_to_skip,
+ bool skip_return)
{
tree new_type = NULL;
tree args, new_args = NULL;
@@ -219,7 +219,8 @@ build_function_decl_skip_args (tree orig_decl, bitmap args_to_skip,
if (prototype_p (new_type)
|| (skip_return && !VOID_TYPE_P (TREE_TYPE (new_type))))
new_type
- = build_function_type_skip_args (new_type, args_to_skip, skip_return);
+ = cgraph_build_function_type_skip_args (new_type, args_to_skip,
+ skip_return);
TREE_TYPE (new_decl) = new_type;
/* For declarations setting DECL_VINDEX (i.e. methods)