blob: 59313f972df3e19091bc501705dc63cdddb757e6 [file] [log] [blame]
// PR tree-optimization/97560
// { dg-do compile { target c++11 } }
// { 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);