aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.h
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2019-09-30 10:18:59 +0200
committerMartin Jambor <jamborm@gcc.gnu.org>2019-09-30 10:18:59 +0200
commitbe525d9221f61c17e0fa34823ffd1624b0f8518a (patch)
tree8674735d0491388b7801692da4d645704aa61b17 /gcc/tree-inline.h
parent15bbad92434a184a0baac0c93c7111e6e7fcd9c2 (diff)
downloadgcc-be525d9221f61c17e0fa34823ffd1624b0f8518a.zip
gcc-be525d9221f61c17e0fa34823ffd1624b0f8518a.tar.gz
gcc-be525d9221f61c17e0fa34823ffd1624b0f8518a.tar.bz2
[PR 91853] Prevent IPA-SRA ICEs on type-mismatched calls
2019-09-30 Martin Jambor <mjambor@suse.cz> PR ipa/91853 * tree-inline.c (force_value_to_type): New function. (setup_one_parameter): Use force_value_to_type to convert type. * tree-inline.c (force_value_to_type): Declare. * ipa-param-manipulation.c (ipa_param_adjustments::modify_call): Deal with register type mismatches. testsuite/ * gcc.dg/ipa/pr91853.c: New test. From-SVN: r276296
Diffstat (limited to 'gcc/tree-inline.h')
-rw-r--r--gcc/tree-inline.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-inline.h b/gcc/tree-inline.h
index 87a149c..b226dc0 100644
--- a/gcc/tree-inline.h
+++ b/gcc/tree-inline.h
@@ -250,6 +250,7 @@ extern tree copy_fn (tree, tree&, tree&);
extern const char *copy_forbidden (struct function *fun);
extern tree copy_decl_for_dup_finish (copy_body_data *id, tree decl, tree copy);
extern tree copy_decl_to_var (tree, copy_body_data *);
+extern tree force_value_to_type (tree type, tree value);
/* This is in tree-inline.c since the routine uses
data structures from the inliner. */