(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
vect/
simd-12.cc
/* { dg-do compile } */
/* { dg-additional-options "-ffast-math -g" } */

template <typename> class complex;
template <typename _Tp> complex<_Tp> operator+(complex<_Tp>, complex<_Tp> __y) {
  complex<_Tp> __r;
  __r += __y;
  return __r;
}
template <typename _Tp> complex<_Tp> operator*(complex<_Tp>, complex<_Tp> __y) {
  complex<_Tp> __r;
  __r *= __y;
  return __r;
}
template <> class complex<double> {
public:
  void operator+=(complex __z) { _M_value += __z.__rep(); }
  void operator*=(complex __z) {
    _Complex __t = __z.__rep();
    _M_value *= __t;
  }
  _Complex __rep() { return _M_value; }
  _Complex _M_value;
};
template <typename> class Vector {
  void equ();
  complex<double> *val;
};
template <typename Number> void Vector<Number>::equ() {
  Number c;
  for (int i; i; ++i) {
    complex<double> __trans_tmp_2 = c * val[i];
    val[i] = val[i] + __trans_tmp_2;
  }
}
template class Vector<complex<double> >;