! { dg-do compile } ! { dg-options "-fdump-tree-original" } ! ! PR fortran/54208 ! The I and J definitions used to raise an error because ARR's array spec ! was resolved to late for the LBOUND and UBOUND calls to be simplified to ! a constant. ! ! Contributed by Carlos A. Cruz program testit integer, parameter :: n=2 integer, dimension(1-min(n,2)/2:n) :: arr integer, parameter :: i=lbound(arr,1) integer, parameter :: j=ubound(arr,1) ! write(6,*) i, j if (i /= 0) STOP 1 if (j /= 2) STOP 2 end program testit ! { dg-final { scan-tree-dump-times "bound" 0 "original" } } ! { dg-final { scan-tree-dump-times "_gfortran_stop" 0 "original" } }