diff options
author | Richard Biener <rguenther@suse.de> | 2017-03-28 10:10:01 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2017-03-28 10:10:01 +0000 |
commit | 737f500a0bb2cfdf1e28975a27403e555ede633e (patch) | |
tree | e79b9e94380748bba99a522e52b8dd348721a2c6 /gcc/testsuite | |
parent | 62f96a79f10e0c6772e5302c076b8c062e42b0d9 (diff) | |
download | gcc-737f500a0bb2cfdf1e28975a27403e555ede633e.zip gcc-737f500a0bb2cfdf1e28975a27403e555ede633e.tar.gz gcc-737f500a0bb2cfdf1e28975a27403e555ede633e.tar.bz2 |
re PR middle-end/80222 (may_alias folded away)
2017-03-28 Richard Biener <rguenther@suse.de>
PR middle-end/80222
* gimple-fold.c (gimple_fold_indirect_ref): Do not touch
TYPE_REF_CAN_ALIAS_ALL references.
* fold-const.c (fold_indirect_ref_1): Likewise.
* g++.dg/pr80222.C: New testcase.
From-SVN: r246527
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/pr80222.C | 13 |
2 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a896f75..4abe1dc 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2017-03-28 Richard Biener <rguenther@suse.de> + + PR middle-end/80222 + * g++.dg/pr80222.C: New testcase. + 2017-03-28 Martin Liska <mliska@suse.cz> PR ipa/80104 diff --git a/gcc/testsuite/g++.dg/pr80222.C b/gcc/testsuite/g++.dg/pr80222.C new file mode 100644 index 0000000..ed1b37f --- /dev/null +++ b/gcc/testsuite/g++.dg/pr80222.C @@ -0,0 +1,13 @@ +// { dg-do compile } +// { dg-options "-O2 -fdump-tree-optimized" } */ + +struct C { int i; }__attribute__((may_alias)) ; + +C a, b; + +int main() +{ + a = static_cast <C&> (b); +} + +// { dg-final { scan-tree-dump "{ref-all}\\\)&b\];" "optimized" } } */ |