https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121805
Mikael Morin <mikael at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mikael at gcc dot gnu.org --- Comment #6 from Mikael Morin <mikael at gcc dot gnu.org> --- (In reply to kargls from comment #3) > idx = [(i,i=1,8)] > e%data = idx > dd=>e%data > array_sum = sum(idx(dd)) ... > D.4694 = *(integer(kind=4) *) (dd.data + (sizetype) > ((dd.dim[0].stride * > NON_LVALUE_EXPR <S.3>) * 4)); > D.4695 = (integer(kind=8)) D.4694; > > I think the above should be D.4695 = (integer(kind=8)) D.4694 + 1. Should it? These variables are the values of elements of dd, which is a copy of idx. So the variables should have range [1:8]; why add 1?