This was already fixed by the patch for PR97520, but it can't hurt to
keep this test around as well :).

Pushed.

gcc/testsuite/ChangeLog:

        PR tree-optimization/97560
        * g++.dg/pr97560.C: New test.
---
 gcc/testsuite/g++.dg/pr97560.C | 44 ++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 gcc/testsuite/g++.dg/pr97560.C

diff --git a/gcc/testsuite/g++.dg/pr97560.C b/gcc/testsuite/g++.dg/pr97560.C
new file mode 100644
index 00000000000..f9e7edfcaf9
--- /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);
-- 
2.26.2

Reply via email to