diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2020-10-27 07:29:42 +0100 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2020-10-27 07:30:52 +0100 |
commit | 18cb6195fda69ea8ab8b8a5290dd8c9f8d52b0e6 (patch) | |
tree | 49d1c3e2da8cd9b1fdc576f880e99596d393aaca /gcc | |
parent | 15c908807e8865e5bda12942a68bc919a4a2957d (diff) | |
download | gcc-18cb6195fda69ea8ab8b8a5290dd8c9f8d52b0e6.zip gcc-18cb6195fda69ea8ab8b8a5290dd8c9f8d52b0e6.tar.gz gcc-18cb6195fda69ea8ab8b8a5290dd8c9f8d52b0e6.tar.bz2 |
Add test for pr97560.
gcc/testsuite/ChangeLog:
PR tree-optimization/97560
* g++.dg/pr97560.C: New test.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/g++.dg/pr97560.C | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/pr97560.C b/gcc/testsuite/g++.dg/pr97560.C new file mode 100644 index 0000000..f9e7edf --- /dev/null +++ b/gcc/testsuite/g++.dg/pr97560.C @@ -0,0 +1,44 @@ +// { dg-do compile } +// { dg-options "-O2 -fno-tree-forwprop -fnon-call-exceptions" } + +template <typename> +struct pv; + +template <typename CY> +struct pv<CY &> { + typedef CY g7; +}; + +template <typename Q6> +typename pv<Q6>::g7 hq (Q6 &&lb) +{ + return static_cast<typename pv<Q6>::g7 &&> (lb); +} + +struct fk { + fk *j6; + fk *od; +}; + +fk *qi; + +struct xz : fk { + xz (xz &&) + { + qi = this; + + if (j6) + od = this; + } +}; + +struct el { + struct { + xz ls; + } eu; +}; + +struct be : el { +}; + +be l1 = hq (l1); |