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.

Reply via email to