https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127774
Steve Kargl <kargl at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
CC| |kargl at gcc dot gnu.org
Last reconfirmed| |2026-10-08
--- Comment #1 from Steve Kargl <kargl at gcc dot gnu.org> ---
Confirmed.
flang gives
% flang21 -o z ja.f90
% ./z
3. 2. 1.
The dump tree shows the problems.
parm.2.span = 4;
parm.2.dtype = {.elem_len=4, .version=0, .rank=1, .type=3};
parm.2.dim[0].lbound = 1;
parm.2.dim[0].ubound = 3;
parm.2.dim[0].stride = -1;
parm.2.data = (void *) &a[2];
parm.2.offset = 1;
t.1.x = parm.2;
if (parm.2.data != 0B)
{
D.4795 = (parm.2.dim[0].ubound - parm.2.dim[0].lbound) + 1;
D.4796 = parm.2.dim[0].stride * D.4795;
D.4797 = (void * restrict) __builtin_malloc (MAX_EXPR <(unsigned long)
(D.4796 * 4), 1>);
D.4796 is -3 and the cast to 'unsigned long' is certainly not a good thing.