[Bug c++/96354] [10/11 Regression] ICE in maybe_canonicalize_mem_ref_addr, at gimple-fold.c:4903 since r10-2271-gd81ab49d0586fca0

marxin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jul 28 14:18:58 GMT 2020


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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |NEW

--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> ---
Reduced test-case:

cat /tmp/RMSD.ii
template <int _Nm> struct __array_traits { typedef double _Type[_Nm]; };
template <int _Nm> struct array {
  typename __array_traits<_Nm>::_Type _M_elems;
  double *data() { return _M_elems; }
};
template <unsigned n> class VectorGeneric {
  array<n> d;
public:
  VectorGeneric();
};
template <unsigned n> VectorGeneric<n>::VectorGeneric() {
  double __trans_tmp_3 = *d.data();
}
template <unsigned n>
void operator-(VectorGeneric<n>, const VectorGeneric<n> &);
template <unsigned> class TensorGeneric {};
template <unsigned n, unsigned m>
VectorGeneric<n> matmul(TensorGeneric<n>, VectorGeneric<m>) {
  VectorGeneric<n> t;
  return t;
}
int doCoreCalc_n;
class RMSDCoreData {
  TensorGeneric<3> rotation;
  void doCoreCalc();
};
void RMSDCoreData::doCoreCalc() {
  for (unsigned iat;;)
#pragma omp simd
    for (iat = 0; iat < doCoreCalc_n; iat++) {
      VectorGeneric<3> __trans_tmp_2, __trans_tmp_4;
      __trans_tmp_4 - matmul(rotation, __trans_tmp_2);
    }
}

@Jakub: Can you please take a look?


More information about the Gcc-bugs mailing list