diff options
author | Marek Polacek <polacek@redhat.com> | 2015-04-30 18:01:07 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2015-04-30 18:01:07 +0000 |
commit | 59c1f3840203780d04974b37b617ac0d673e8c4a (patch) | |
tree | 762a07445d8d3548df7ea100be93a9cc3394164f /gcc | |
parent | be4e69a962c271bcf9993da7487091d17dab78fa (diff) | |
download | gcc-59c1f3840203780d04974b37b617ac0d673e8c4a.zip gcc-59c1f3840203780d04974b37b617ac0d673e8c4a.tar.gz gcc-59c1f3840203780d04974b37b617ac0d673e8c4a.tar.bz2 |
re PR tree-optimization/63551 (wrong code (segfaults) at -Os on x86_64-linux-gnu)
PR tree-optimization/63551
* g++.dg/ipa/pr63551.C: New test.
From-SVN: r222650
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/ipa/pr63551.C | 23 |
2 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 00af2c4..aa01235 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-04-30 Marek Polacek <polacek@redhat.com> + + PR tree-optimization/63551 + * g++.dg/ipa/pr63551.C: New test. + 2015-04-30 Caroline Tice <cmtice@google.com> PR 65929 diff --git a/gcc/testsuite/g++.dg/ipa/pr63551.C b/gcc/testsuite/g++.dg/ipa/pr63551.C new file mode 100644 index 0000000..03e0339 --- /dev/null +++ b/gcc/testsuite/g++.dg/ipa/pr63551.C @@ -0,0 +1,23 @@ +// { dg-options "-O -Wno-psabi" } +// { dg-do compile } + +struct A { int a; }; +template <typename T, typename V> struct B { V operator[] (T); }; +union U { long double ld; void *v; }; +A a; + +void +bar (U &x) +{ + if (x.v) *reinterpret_cast <A *>(x.v) = a; +} + +struct C { C (A) { c.ld = 0; bar (c); } U c; }; +struct D { A d, e; void foo () { f[0][d] = e; } B <int, B <A, C> > f; }; + +void +baz () +{ + D d; + d.foo (); +} |