diff options
author | Richard Biener <rguenther@suse.de> | 2017-02-28 12:38:57 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2017-02-28 12:38:57 +0000 |
commit | dd3f45609c0e668b5f6382a17605cdf3aa394dd3 (patch) | |
tree | f89480b6e70620e8cbd0c7f8795d35e1dfb531e2 /gcc | |
parent | c7d97b2846c5647a81548caa3264d77c0a595010 (diff) | |
download | gcc-dd3f45609c0e668b5f6382a17605cdf3aa394dd3.zip gcc-dd3f45609c0e668b5f6382a17605cdf3aa394dd3.tar.gz gcc-dd3f45609c0e668b5f6382a17605cdf3aa394dd3.tar.bz2 |
re PR middle-end/79732 (ICE in set_ssa_default_def, at tree-dfa.c:327)
2017-02-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/79732
* tree-inline.c (expand_call_inline): Do not shadow var.
* gcc.dg/torture/pr79732.c: New testcase.
From-SVN: r245773
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr79732.c | 5 | ||||
-rw-r--r-- | gcc/tree-inline.c | 2 |
4 files changed, 16 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a98a08e..96e1508 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2017-02-28 Richard Biener <rguenther@suse.de> + PR tree-optimization/79732 + * tree-inline.c (expand_call_inline): Do not shadow var. + +2017-02-28 Richard Biener <rguenther@suse.de> + PR tree-optimization/79723 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Preserve address-space properly. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8c0514c..b616b8a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2017-02-28 Richard Biener <rguenther@suse.de> + PR tree-optimization/79732 + * gcc.dg/torture/pr79732.c: New testcase. + +2017-02-28 Richard Biener <rguenther@suse.de> + PR tree-optimization/79723 * gcc.target/i386/pr79723.c: New testcase. diff --git a/gcc/testsuite/gcc.dg/torture/pr79732.c b/gcc/testsuite/gcc.dg/torture/pr79732.c new file mode 100644 index 0000000..7231ba4 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr79732.c @@ -0,0 +1,5 @@ +/* { dg-do link } */ + +int bar () __attribute__ ((alias ("foo"))); +void foo () { } +int main () { return bar(); } diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 138b992..bd4b48e 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -4782,7 +4782,7 @@ expand_call_inline (basic_block bb, gimple *stmt, copy_body_data *id) { if (!var) { - tree var = create_tmp_reg_fn (cfun, TREE_TYPE (name), NULL); + var = create_tmp_reg_fn (cfun, TREE_TYPE (name), NULL); SET_SSA_NAME_VAR_OR_IDENTIFIER (name, var); } /* Otherwise make this variable undefined. */ |