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?