https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119120

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Zoltan Vajda from comment #0)
> This is not an academic problem. The implementation of operator /= of
> std::complex has this behavior until GCC 8.5 (inclusive).

The std::complex's operator /= issue was solved with r9-4332-ge987fb1ebecc74 .

Specifically with this part:
       template<class _Tp>
-        complex&
+        _GLIBCXX20_CONSTEXPR complex&
         operator/=(const complex<_Tp>& __z)
        {
-         _ComplexT __t;
-         __real__ __t = __z.real();
-         __imag__ __t = __z.imag();
+         const _ComplexT __t = __z.__rep();
          _M_value /= __t;
          return *this;
        }

Reply via email to