diff options
author | Martin Jambor <mjambor@suse.cz> | 2019-09-30 10:18:59 +0200 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2019-09-30 10:18:59 +0200 |
commit | be525d9221f61c17e0fa34823ffd1624b0f8518a (patch) | |
tree | 8674735d0491388b7801692da4d645704aa61b17 /gcc/tree-inline.h | |
parent | 15bbad92434a184a0baac0c93c7111e6e7fcd9c2 (diff) | |
download | gcc-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.h | 1 |
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. */ |