(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
torture/
pr85496.C
// PR middle-end/85496
// Reported by Marek Polacek <mpolacek@gcc.gnu.org>

template <typename> class complex;
template <typename _Tp> complex<_Tp> operator*(complex<_Tp>, complex<_Tp>);
template <> struct complex<float> { _Complex float _M_value; };
class A {
  complex<float> _f0, _f1;

public:
  complex<float> &m_fn1() { return _f1; }
};
complex<float> a;
void cos() {
  A b;
  complex<float> c;
  b.m_fn1() = c * a;
}