| // 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; | |
| } |