From: Mikael Morin Date: Tue, 7 Nov 2023 10:24:03 +0000 (+0100) Subject: libgfortran: Remove early return if extent is zero [PR112371] X-Git-Tag: basepoints/gcc-15~4894 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=85a9688180a5523ae1704119978f3d634493300f;p=thirdparty%2Fgcc.git libgfortran: Remove early return if extent is zero [PR112371] Remove the early return present in function templates for transformational functions doing a (masked) reduction of an array along a dimension. This early return, which triggered if the extent in the reduction dimension was zero, was wrong because even if the reduction operation degenerates to a constant value in that case, one has to loop anyway along the other dimensions to initialize every element of the resulting array with that constant value. The case of negative extent (not sure whether it may happen in practice) which was also early returning, is handled by clamping to zero. The offending piece of code was present in several places, and this removes them all. Namely, the impacted m4 files are ifunction.m4 for regular functions and types, ifunction-s.m4 for character minloc and maxloc, and ifunction-s2.m4 for character minval and maxval. PR fortran/112371 libgfortran/ChangeLog: * m4/ifunction.m4 (START_MASKED_ARRAY_FUNCTION): Remove early return if extent is zero or less, and clamp negative value to zero. * m4/ifunction-s.m4 (START_MASKED_ARRAY_FUNCTION): Ditto. * m4/ifunction-s2.m4 (START_MASKED_ARRAY_FUNCTION): Ditto. * generated/iall_i1.c: Regenerate. * generated/iall_i16.c: Regenerate. * generated/iall_i2.c: Regenerate. * generated/iall_i4.c: Regenerate. * generated/iall_i8.c: Regenerate. * generated/iany_i1.c: Regenerate. * generated/iany_i16.c: Regenerate. * generated/iany_i2.c: Regenerate. * generated/iany_i4.c: Regenerate. * generated/iany_i8.c: Regenerate. * generated/iparity_i1.c: Regenerate. * generated/iparity_i16.c: Regenerate. * generated/iparity_i2.c: Regenerate. * generated/iparity_i4.c: Regenerate. * generated/iparity_i8.c: Regenerate. * generated/maxloc1_16_i1.c: Regenerate. * generated/maxloc1_16_i16.c: Regenerate. * generated/maxloc1_16_i2.c: Regenerate. * generated/maxloc1_16_i4.c: Regenerate. * generated/maxloc1_16_i8.c: Regenerate. * generated/maxloc1_16_r10.c: Regenerate. * generated/maxloc1_16_r16.c: Regenerate. * generated/maxloc1_16_r17.c: Regenerate. * generated/maxloc1_16_r4.c: Regenerate. * generated/maxloc1_16_r8.c: Regenerate. * generated/maxloc1_16_s1.c: Regenerate. * generated/maxloc1_16_s4.c: Regenerate. * generated/maxloc1_4_i1.c: Regenerate. * generated/maxloc1_4_i16.c: Regenerate. * generated/maxloc1_4_i2.c: Regenerate. * generated/maxloc1_4_i4.c: Regenerate. * generated/maxloc1_4_i8.c: Regenerate. * generated/maxloc1_4_r10.c: Regenerate. * generated/maxloc1_4_r16.c: Regenerate. * generated/maxloc1_4_r17.c: Regenerate. * generated/maxloc1_4_r4.c: Regenerate. * generated/maxloc1_4_r8.c: Regenerate. * generated/maxloc1_4_s1.c: Regenerate. * generated/maxloc1_4_s4.c: Regenerate. * generated/maxloc1_8_i1.c: Regenerate. * generated/maxloc1_8_i16.c: Regenerate. * generated/maxloc1_8_i2.c: Regenerate. * generated/maxloc1_8_i4.c: Regenerate. * generated/maxloc1_8_i8.c: Regenerate. * generated/maxloc1_8_r10.c: Regenerate. * generated/maxloc1_8_r16.c: Regenerate. * generated/maxloc1_8_r17.c: Regenerate. * generated/maxloc1_8_r4.c: Regenerate. * generated/maxloc1_8_r8.c: Regenerate. * generated/maxloc1_8_s1.c: Regenerate. * generated/maxloc1_8_s4.c: Regenerate. * generated/maxval1_s1.c: Regenerate. * generated/maxval1_s4.c: Regenerate. * generated/maxval_i1.c: Regenerate. * generated/maxval_i16.c: Regenerate. * generated/maxval_i2.c: Regenerate. * generated/maxval_i4.c: Regenerate. * generated/maxval_i8.c: Regenerate. * generated/maxval_r10.c: Regenerate. * generated/maxval_r16.c: Regenerate. * generated/maxval_r17.c: Regenerate. * generated/maxval_r4.c: Regenerate. * generated/maxval_r8.c: Regenerate. * generated/minloc1_16_i1.c: Regenerate. * generated/minloc1_16_i16.c: Regenerate. * generated/minloc1_16_i2.c: Regenerate. * generated/minloc1_16_i4.c: Regenerate. * generated/minloc1_16_i8.c: Regenerate. * generated/minloc1_16_r10.c: Regenerate. * generated/minloc1_16_r16.c: Regenerate. * generated/minloc1_16_r17.c: Regenerate. * generated/minloc1_16_r4.c: Regenerate. * generated/minloc1_16_r8.c: Regenerate. * generated/minloc1_16_s1.c: Regenerate. * generated/minloc1_16_s4.c: Regenerate. * generated/minloc1_4_i1.c: Regenerate. * generated/minloc1_4_i16.c: Regenerate. * generated/minloc1_4_i2.c: Regenerate. * generated/minloc1_4_i4.c: Regenerate. * generated/minloc1_4_i8.c: Regenerate. * generated/minloc1_4_r10.c: Regenerate. * generated/minloc1_4_r16.c: Regenerate. * generated/minloc1_4_r17.c: Regenerate. * generated/minloc1_4_r4.c: Regenerate. * generated/minloc1_4_r8.c: Regenerate. * generated/minloc1_4_s1.c: Regenerate. * generated/minloc1_4_s4.c: Regenerate. * generated/minloc1_8_i1.c: Regenerate. * generated/minloc1_8_i16.c: Regenerate. * generated/minloc1_8_i2.c: Regenerate. * generated/minloc1_8_i4.c: Regenerate. * generated/minloc1_8_i8.c: Regenerate. * generated/minloc1_8_r10.c: Regenerate. * generated/minloc1_8_r16.c: Regenerate. * generated/minloc1_8_r17.c: Regenerate. * generated/minloc1_8_r4.c: Regenerate. * generated/minloc1_8_r8.c: Regenerate. * generated/minloc1_8_s1.c: Regenerate. * generated/minloc1_8_s4.c: Regenerate. * generated/minval1_s1.c: Regenerate. * generated/minval1_s4.c: Regenerate. * generated/minval_i1.c: Regenerate. * generated/minval_i16.c: Regenerate. * generated/minval_i2.c: Regenerate. * generated/minval_i4.c: Regenerate. * generated/minval_i8.c: Regenerate. * generated/minval_r10.c: Regenerate. * generated/minval_r16.c: Regenerate. * generated/minval_r17.c: Regenerate. * generated/minval_r4.c: Regenerate. * generated/minval_r8.c: Regenerate. * generated/product_c10.c: Regenerate. * generated/product_c16.c: Regenerate. * generated/product_c17.c: Regenerate. * generated/product_c4.c: Regenerate. * generated/product_c8.c: Regenerate. * generated/product_i1.c: Regenerate. * generated/product_i16.c: Regenerate. * generated/product_i2.c: Regenerate. * generated/product_i4.c: Regenerate. * generated/product_i8.c: Regenerate. * generated/product_r10.c: Regenerate. * generated/product_r16.c: Regenerate. * generated/product_r17.c: Regenerate. * generated/product_r4.c: Regenerate. * generated/product_r8.c: Regenerate. * generated/sum_c10.c: Regenerate. * generated/sum_c16.c: Regenerate. * generated/sum_c17.c: Regenerate. * generated/sum_c4.c: Regenerate. * generated/sum_c8.c: Regenerate. * generated/sum_i1.c: Regenerate. * generated/sum_i16.c: Regenerate. * generated/sum_i2.c: Regenerate. * generated/sum_i4.c: Regenerate. * generated/sum_i8.c: Regenerate. * generated/sum_r10.c: Regenerate. * generated/sum_r16.c: Regenerate. * generated/sum_r17.c: Regenerate. * generated/sum_r4.c: Regenerate. * generated/sum_r8.c: Regenerate. gcc/testsuite/ChangeLog: * gfortran.dg/bound_10.f90: New test. --- diff --git a/gcc/testsuite/gfortran.dg/bound_10.f90 b/gcc/testsuite/gfortran.dg/bound_10.f90 new file mode 100644 index 000000000000..cbe065cf2b6f --- /dev/null +++ b/gcc/testsuite/gfortran.dg/bound_10.f90 @@ -0,0 +1,207 @@ +! { dg-do run } +! +! PR fortran/112371 +! The library used to not set the bounds and content of the resulting array +! of a reduction function if the input array had zero extent along the +! reduction dimension. + +program p + implicit none + call check_iall + call check_iany + call check_iparity + call check_minloc_int + call check_minloc_char + call check_maxloc_real + call check_maxloc_char + call check_minval_int + call check_minval_char + call check_maxval_real + call check_maxval_char + call check_sum + call check_product +contains + subroutine check_iall + integer :: a(3,0,2) + logical(kind=1) :: m(3,0,2) + integer :: i + integer, allocatable :: r(:,:) + a = reshape((/ integer:: /), shape(a)) + m = reshape((/ logical(kind=1):: /), shape(m)) + i = 2 + r = iall(a, dim=i, mask=m) + if (any(lbound(r) /= 1)) stop 11 + if (any(ubound(r) /= (/ 3, 2 /))) stop 12 + if (any(shape(r) /= (/ 3, 2 /))) stop 13 + if (any(r /= int(z'FFFFFFFF'))) stop 14 + end subroutine + subroutine check_iany + integer(kind=8) :: a(2,3,0) + logical(kind=1) :: m(2,3,0) + integer :: i + integer(kind=8), allocatable :: r(:,:) + a = reshape((/ integer(kind=8):: /), shape(a)) + m = reshape((/ logical(kind=1):: /), shape(m)) + i = 3 + r = iany(a, dim=i, mask=m) + if (any(lbound(r) /= 1)) stop 21 + if (any(ubound(r) /= (/ 2, 3 /))) stop 22 + if (any(shape(r) /= (/ 2, 3 /))) stop 23 + if (any(r /= 0)) stop 24 + end subroutine + subroutine check_iparity + integer(kind=2) :: a(0,2,3) + logical(kind=1) :: m(0,2,3) + integer :: i + integer, allocatable :: r(:,:) + a = reshape((/ integer(kind=2):: /), shape(a)) + m = reshape((/ logical(kind=1):: /), shape(m)) + i = 1 + r = iparity(a, dim=i, mask=m) + if (any(lbound(r) /= 1)) stop 31 + if (any(ubound(r) /= (/ 2, 3 /))) stop 32 + if (any(shape(r) /= (/ 2, 3 /))) stop 33 + if (any(r /= 0)) stop 34 + end subroutine + subroutine check_minloc_int + integer :: a(3,0,2) + logical(kind=1) :: m(3,0,2) + integer :: i, j + integer, allocatable :: r(:,:) + a = reshape((/ integer:: /), shape(a)) + m = reshape((/ logical(kind=1):: /), shape(m)) + i = 2 + r = minloc(a, dim=i, mask=m) + if (any(lbound(r) /= 1)) stop 41 + if (any(ubound(r) /= (/ 3, 2 /))) stop 42 + if (any(shape(r) /= (/ 3, 2 /))) stop 43 + if (any(r /= 0)) stop 44 + end subroutine + subroutine check_minloc_char + character :: a(2,3,0) + logical(kind=1) :: m(2,3,0) + integer :: i + integer, allocatable :: r(:,:) + a = reshape((/ character:: /), shape(a)) + m = reshape((/ logical(kind=1):: /), shape(m)) + i = 3 + r = minloc(a, dim=i, mask=m) + if (any(lbound(r) /= 1)) stop 51 + if (any(ubound(r) /= (/ 2, 3 /))) stop 52 + if (any(shape(r) /= (/ 2, 3 /))) stop 53 + if (any(r /= 0)) stop 54 + end subroutine + subroutine check_maxloc_real + real :: a(0,2,3) + logical(kind=1) :: m(0,2,3) + integer :: i + integer, allocatable :: r(:,:) + a = reshape((/ real:: /), shape(a)) + m = reshape((/ logical(kind=1):: /), shape(m)) + i = 1 + r = maxloc(a, dim=i, mask=m) + if (any(lbound(r) /= 1)) stop 61 + if (any(ubound(r) /= (/ 2, 3 /))) stop 62 + if (any(shape(r) /= (/ 2, 3 /))) stop 63 + if (any(r /= 0)) stop 64 + end subroutine + subroutine check_maxloc_char + character(len=2) :: a(3,0,2) + logical(kind=1) :: m(3,0,2) + integer :: i + integer, allocatable :: r(:,:) + a = reshape((/ character(len=2):: /), shape(a)) + m = reshape((/ logical(kind=1):: /), shape(m)) + i = 2 + r = maxloc(a, dim=i, mask=m) + if (any(lbound(r) /= 1)) stop 71 + if (any(ubound(r) /= (/ 3, 2 /))) stop 72 + if (any(shape(r) /= (/ 3, 2 /))) stop 73 + if (any(r /= 0)) stop 74 + end subroutine + subroutine check_minval_int + integer(kind=2) :: a(3,2,0) + logical(kind=1) :: m(3,2,0) + integer :: i, j + integer, allocatable :: r(:,:) + a = reshape((/ integer(kind=2):: /), shape(a)) + m = reshape((/ logical(kind=1):: /), shape(m)) + i = 3 + r = minval(a, dim=i, mask=m) + if (any(lbound(r) /= 1)) stop 81 + if (any(ubound(r) /= (/ 3, 2 /))) stop 82 + if (any(shape(r) /= (/ 3, 2 /))) stop 83 + if (any(r /= huge(1_2))) stop 84 + end subroutine + subroutine check_minval_char + character(kind=4) :: a(0,3,2) + logical(kind=1) :: m(0,3,2) + integer :: i + character(kind=4), allocatable :: r(:,:) + a = reshape((/ character(kind=4):: /), shape(a)) + m = reshape((/ logical(kind=1):: /), shape(m)) + i = 1 + r = minval(a, dim=i, mask=m) + if (any(lbound(r) /= 1)) stop 91 + if (any(ubound(r) /= (/ 3, 2 /))) stop 92 + if (any(shape(r) /= (/ 3, 2 /))) stop 93 + if (any(r /= char(int(z'FFFFFFFF', kind=8), kind=4))) stop 94 + end subroutine + subroutine check_maxval_real + real(kind=8) :: a(0,2,3) + logical(kind=1) :: m(0,2,3) + integer :: i + real(kind=8), allocatable :: r(:,:) + a = reshape((/ real(kind=8):: /), shape(a)) + m = reshape((/ logical(kind=1):: /), shape(m)) + i = 1 + r = maxval(a, dim=i, mask=m) + if (any(lbound(r) /= 1)) stop 101 + if (any(ubound(r) /= (/ 2, 3 /))) stop 102 + if (any(shape(r) /= (/ 2, 3 /))) stop 103 + if (any(r /= -huge(1._8))) stop 104 + end subroutine + subroutine check_maxval_char + character(kind=4,len=2) :: a(3,0,2), e + logical(kind=1) :: m(3,0,2) + integer :: i + character(len=2,kind=4), allocatable :: r(:,:) + a = reshape((/ character(kind=4,len=2):: /), shape(a)) + m = reshape((/ logical(kind=1):: /), shape(m)) + i = 2 + r = maxval(a, dim=i, mask=m) + if (any(lbound(r) /= 1)) stop 111 + if (any(ubound(r) /= (/ 3, 2 /))) stop 112 + if (any(shape(r) /= (/ 3, 2 /))) stop 113 + e = repeat(char(0, kind=4), len(a)) + if (any(r /= e)) stop 114 + end subroutine + subroutine check_sum + integer(kind=1) :: a(2,3,0) + logical(kind=1) :: m(2,3,0) + integer :: i + integer, allocatable :: r(:,:) + a = reshape((/ integer:: /), shape(a)) + m = reshape((/ logical(kind=1):: /), shape(m)) + i = 3 + r = sum(a, dim=i, mask=m) + if (any(lbound(r) /= 1)) stop 121 + if (any(ubound(r) /= (/ 2, 3 /))) stop 122 + if (any(shape(r) /= (/ 2, 3 /))) stop 123 + if (any(r /= 0)) stop 124 + end subroutine + subroutine check_product + real(kind=8) :: a(0,2,3) + logical(kind=1) :: m(0,2,3) + integer :: i + integer, allocatable :: r(:,:) + a = reshape((/ real(kind=8):: /), shape(a)) + m = reshape((/ logical(kind=1):: /), shape(m)) + i = 1 + r = product(a, dim=i, mask=m) + if (any(lbound(r) /= 1)) stop 131 + if (any(ubound(r) /= (/ 2, 3 /))) stop 132 + if (any(shape(r) /= (/ 2, 3 /))) stop 133 + if (any(r /= 1.0_8)) stop 134 + end subroutine +end program diff --git a/libgfortran/generated/iall_i1.c b/libgfortran/generated/iall_i1.c index c9696c924852..2236f044e650 100644 --- a/libgfortran/generated/iall_i1.c +++ b/libgfortran/generated/iall_i1.c @@ -242,8 +242,8 @@ miall_i1 (gfc_array_i1 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/iall_i16.c b/libgfortran/generated/iall_i16.c index f0a1b3adcf29..96ca5a57c9ce 100644 --- a/libgfortran/generated/iall_i16.c +++ b/libgfortran/generated/iall_i16.c @@ -242,8 +242,8 @@ miall_i16 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/iall_i2.c b/libgfortran/generated/iall_i2.c index 4d14d71cab21..4d895db2b356 100644 --- a/libgfortran/generated/iall_i2.c +++ b/libgfortran/generated/iall_i2.c @@ -242,8 +242,8 @@ miall_i2 (gfc_array_i2 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/iall_i4.c b/libgfortran/generated/iall_i4.c index cb7ce755bfc5..673e98094831 100644 --- a/libgfortran/generated/iall_i4.c +++ b/libgfortran/generated/iall_i4.c @@ -242,8 +242,8 @@ miall_i4 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/iall_i8.c b/libgfortran/generated/iall_i8.c index c7dab3e2e564..4de6ff1782df 100644 --- a/libgfortran/generated/iall_i8.c +++ b/libgfortran/generated/iall_i8.c @@ -242,8 +242,8 @@ miall_i8 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/iany_i1.c b/libgfortran/generated/iany_i1.c index 539c53895613..ab191d6bdd27 100644 --- a/libgfortran/generated/iany_i1.c +++ b/libgfortran/generated/iany_i1.c @@ -242,8 +242,8 @@ miany_i1 (gfc_array_i1 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/iany_i16.c b/libgfortran/generated/iany_i16.c index d690dff60be8..8fda0efea828 100644 --- a/libgfortran/generated/iany_i16.c +++ b/libgfortran/generated/iany_i16.c @@ -242,8 +242,8 @@ miany_i16 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/iany_i2.c b/libgfortran/generated/iany_i2.c index dd37c1e5b484..43080b859922 100644 --- a/libgfortran/generated/iany_i2.c +++ b/libgfortran/generated/iany_i2.c @@ -242,8 +242,8 @@ miany_i2 (gfc_array_i2 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/iany_i4.c b/libgfortran/generated/iany_i4.c index e96899049513..d8430ca4e905 100644 --- a/libgfortran/generated/iany_i4.c +++ b/libgfortran/generated/iany_i4.c @@ -242,8 +242,8 @@ miany_i4 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/iany_i8.c b/libgfortran/generated/iany_i8.c index 79f6c381a3f7..7d3ac16412da 100644 --- a/libgfortran/generated/iany_i8.c +++ b/libgfortran/generated/iany_i8.c @@ -242,8 +242,8 @@ miany_i8 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/iparity_i1.c b/libgfortran/generated/iparity_i1.c index 8e0f4529d4de..53b15cbb73fb 100644 --- a/libgfortran/generated/iparity_i1.c +++ b/libgfortran/generated/iparity_i1.c @@ -242,8 +242,8 @@ miparity_i1 (gfc_array_i1 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/iparity_i16.c b/libgfortran/generated/iparity_i16.c index 912ca591ddaf..848ac6284fbc 100644 --- a/libgfortran/generated/iparity_i16.c +++ b/libgfortran/generated/iparity_i16.c @@ -242,8 +242,8 @@ miparity_i16 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/iparity_i2.c b/libgfortran/generated/iparity_i2.c index 6e7e60a5a2e6..f435fd27edd9 100644 --- a/libgfortran/generated/iparity_i2.c +++ b/libgfortran/generated/iparity_i2.c @@ -242,8 +242,8 @@ miparity_i2 (gfc_array_i2 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/iparity_i4.c b/libgfortran/generated/iparity_i4.c index 0bb1be1dedb6..ea876bdd31ad 100644 --- a/libgfortran/generated/iparity_i4.c +++ b/libgfortran/generated/iparity_i4.c @@ -242,8 +242,8 @@ miparity_i4 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/iparity_i8.c b/libgfortran/generated/iparity_i8.c index e219d6e3dce5..0fee2e5025d8 100644 --- a/libgfortran/generated/iparity_i8.c +++ b/libgfortran/generated/iparity_i8.c @@ -242,8 +242,8 @@ miparity_i8 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_16_i1.c b/libgfortran/generated/maxloc1_16_i1.c index e126c18bc80e..bc0643cde1e1 100644 --- a/libgfortran/generated/maxloc1_16_i1.c +++ b/libgfortran/generated/maxloc1_16_i1.c @@ -270,8 +270,8 @@ mmaxloc1_16_i1 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_16_i16.c b/libgfortran/generated/maxloc1_16_i16.c index 04ced535df90..5dca85c4bc02 100644 --- a/libgfortran/generated/maxloc1_16_i16.c +++ b/libgfortran/generated/maxloc1_16_i16.c @@ -270,8 +270,8 @@ mmaxloc1_16_i16 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_16_i2.c b/libgfortran/generated/maxloc1_16_i2.c index 9f7447e9de96..118d7c527a14 100644 --- a/libgfortran/generated/maxloc1_16_i2.c +++ b/libgfortran/generated/maxloc1_16_i2.c @@ -270,8 +270,8 @@ mmaxloc1_16_i2 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_16_i4.c b/libgfortran/generated/maxloc1_16_i4.c index 8663dfc7e243..858dfc0e8509 100644 --- a/libgfortran/generated/maxloc1_16_i4.c +++ b/libgfortran/generated/maxloc1_16_i4.c @@ -270,8 +270,8 @@ mmaxloc1_16_i4 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_16_i8.c b/libgfortran/generated/maxloc1_16_i8.c index c0593a67f117..36469e49797e 100644 --- a/libgfortran/generated/maxloc1_16_i8.c +++ b/libgfortran/generated/maxloc1_16_i8.c @@ -270,8 +270,8 @@ mmaxloc1_16_i8 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_16_r10.c b/libgfortran/generated/maxloc1_16_r10.c index a5e0665fccf2..dfc55681b1fb 100644 --- a/libgfortran/generated/maxloc1_16_r10.c +++ b/libgfortran/generated/maxloc1_16_r10.c @@ -270,8 +270,8 @@ mmaxloc1_16_r10 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_16_r16.c b/libgfortran/generated/maxloc1_16_r16.c index cbb20002665b..17daa796afcc 100644 --- a/libgfortran/generated/maxloc1_16_r16.c +++ b/libgfortran/generated/maxloc1_16_r16.c @@ -270,8 +270,8 @@ mmaxloc1_16_r16 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_16_r17.c b/libgfortran/generated/maxloc1_16_r17.c index 719ae09772db..46fd4ab320c4 100644 --- a/libgfortran/generated/maxloc1_16_r17.c +++ b/libgfortran/generated/maxloc1_16_r17.c @@ -270,8 +270,8 @@ mmaxloc1_16_r17 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_16_r4.c b/libgfortran/generated/maxloc1_16_r4.c index 37a0657dab24..b52932f70bf0 100644 --- a/libgfortran/generated/maxloc1_16_r4.c +++ b/libgfortran/generated/maxloc1_16_r4.c @@ -270,8 +270,8 @@ mmaxloc1_16_r4 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_16_r8.c b/libgfortran/generated/maxloc1_16_r8.c index 305613694b2b..c26c4b4ed0af 100644 --- a/libgfortran/generated/maxloc1_16_r8.c +++ b/libgfortran/generated/maxloc1_16_r8.c @@ -270,8 +270,8 @@ mmaxloc1_16_r8 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_16_s1.c b/libgfortran/generated/maxloc1_16_s1.c index b9a8a6395965..54f57238367d 100644 --- a/libgfortran/generated/maxloc1_16_s1.c +++ b/libgfortran/generated/maxloc1_16_s1.c @@ -263,8 +263,8 @@ mmaxloc1_16_s1 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_16_s4.c b/libgfortran/generated/maxloc1_16_s4.c index fdaad7fd2dc8..eb015eabef2a 100644 --- a/libgfortran/generated/maxloc1_16_s4.c +++ b/libgfortran/generated/maxloc1_16_s4.c @@ -263,8 +263,8 @@ mmaxloc1_16_s4 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_4_i1.c b/libgfortran/generated/maxloc1_4_i1.c index b68d92ef44e0..4b0bd56a60bd 100644 --- a/libgfortran/generated/maxloc1_4_i1.c +++ b/libgfortran/generated/maxloc1_4_i1.c @@ -270,8 +270,8 @@ mmaxloc1_4_i1 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_4_i16.c b/libgfortran/generated/maxloc1_4_i16.c index 9221e22505b3..d976d2d4b8e6 100644 --- a/libgfortran/generated/maxloc1_4_i16.c +++ b/libgfortran/generated/maxloc1_4_i16.c @@ -270,8 +270,8 @@ mmaxloc1_4_i16 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_4_i2.c b/libgfortran/generated/maxloc1_4_i2.c index 3fa2e3678983..ba8228925d46 100644 --- a/libgfortran/generated/maxloc1_4_i2.c +++ b/libgfortran/generated/maxloc1_4_i2.c @@ -270,8 +270,8 @@ mmaxloc1_4_i2 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_4_i4.c b/libgfortran/generated/maxloc1_4_i4.c index 5ef2abb98e15..644e48e547fb 100644 --- a/libgfortran/generated/maxloc1_4_i4.c +++ b/libgfortran/generated/maxloc1_4_i4.c @@ -270,8 +270,8 @@ mmaxloc1_4_i4 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_4_i8.c b/libgfortran/generated/maxloc1_4_i8.c index 102d394b3096..fd5d31b51624 100644 --- a/libgfortran/generated/maxloc1_4_i8.c +++ b/libgfortran/generated/maxloc1_4_i8.c @@ -270,8 +270,8 @@ mmaxloc1_4_i8 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_4_r10.c b/libgfortran/generated/maxloc1_4_r10.c index 623204d792cc..00c90fa3c66a 100644 --- a/libgfortran/generated/maxloc1_4_r10.c +++ b/libgfortran/generated/maxloc1_4_r10.c @@ -270,8 +270,8 @@ mmaxloc1_4_r10 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_4_r16.c b/libgfortran/generated/maxloc1_4_r16.c index 92209ce79cea..92372b8d8375 100644 --- a/libgfortran/generated/maxloc1_4_r16.c +++ b/libgfortran/generated/maxloc1_4_r16.c @@ -270,8 +270,8 @@ mmaxloc1_4_r16 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_4_r17.c b/libgfortran/generated/maxloc1_4_r17.c index 6ee34b52719e..10c687521885 100644 --- a/libgfortran/generated/maxloc1_4_r17.c +++ b/libgfortran/generated/maxloc1_4_r17.c @@ -270,8 +270,8 @@ mmaxloc1_4_r17 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_4_r4.c b/libgfortran/generated/maxloc1_4_r4.c index ea6123a987c8..b0750c19361a 100644 --- a/libgfortran/generated/maxloc1_4_r4.c +++ b/libgfortran/generated/maxloc1_4_r4.c @@ -270,8 +270,8 @@ mmaxloc1_4_r4 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_4_r8.c b/libgfortran/generated/maxloc1_4_r8.c index ba83b4d6a6d4..3be87685eed7 100644 --- a/libgfortran/generated/maxloc1_4_r8.c +++ b/libgfortran/generated/maxloc1_4_r8.c @@ -270,8 +270,8 @@ mmaxloc1_4_r8 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_4_s1.c b/libgfortran/generated/maxloc1_4_s1.c index 7d2ab07915ee..91628645d1cb 100644 --- a/libgfortran/generated/maxloc1_4_s1.c +++ b/libgfortran/generated/maxloc1_4_s1.c @@ -263,8 +263,8 @@ mmaxloc1_4_s1 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_4_s4.c b/libgfortran/generated/maxloc1_4_s4.c index 7a4950d3e5cb..7cb056ea10b1 100644 --- a/libgfortran/generated/maxloc1_4_s4.c +++ b/libgfortran/generated/maxloc1_4_s4.c @@ -263,8 +263,8 @@ mmaxloc1_4_s4 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_8_i1.c b/libgfortran/generated/maxloc1_8_i1.c index d243e6e027cd..42b113b1d0cf 100644 --- a/libgfortran/generated/maxloc1_8_i1.c +++ b/libgfortran/generated/maxloc1_8_i1.c @@ -270,8 +270,8 @@ mmaxloc1_8_i1 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_8_i16.c b/libgfortran/generated/maxloc1_8_i16.c index 5871aa52379c..594c735ad77e 100644 --- a/libgfortran/generated/maxloc1_8_i16.c +++ b/libgfortran/generated/maxloc1_8_i16.c @@ -270,8 +270,8 @@ mmaxloc1_8_i16 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_8_i2.c b/libgfortran/generated/maxloc1_8_i2.c index 9337f47c9ca5..9e141af3ecd4 100644 --- a/libgfortran/generated/maxloc1_8_i2.c +++ b/libgfortran/generated/maxloc1_8_i2.c @@ -270,8 +270,8 @@ mmaxloc1_8_i2 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_8_i4.c b/libgfortran/generated/maxloc1_8_i4.c index 747b9979fdcc..b94c627dfd67 100644 --- a/libgfortran/generated/maxloc1_8_i4.c +++ b/libgfortran/generated/maxloc1_8_i4.c @@ -270,8 +270,8 @@ mmaxloc1_8_i4 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_8_i8.c b/libgfortran/generated/maxloc1_8_i8.c index adc0ebae28de..18e45033b40a 100644 --- a/libgfortran/generated/maxloc1_8_i8.c +++ b/libgfortran/generated/maxloc1_8_i8.c @@ -270,8 +270,8 @@ mmaxloc1_8_i8 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_8_r10.c b/libgfortran/generated/maxloc1_8_r10.c index 4c8d00d937d2..22cd8c26e1bb 100644 --- a/libgfortran/generated/maxloc1_8_r10.c +++ b/libgfortran/generated/maxloc1_8_r10.c @@ -270,8 +270,8 @@ mmaxloc1_8_r10 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_8_r16.c b/libgfortran/generated/maxloc1_8_r16.c index df3edbe611bc..646fe18a9750 100644 --- a/libgfortran/generated/maxloc1_8_r16.c +++ b/libgfortran/generated/maxloc1_8_r16.c @@ -270,8 +270,8 @@ mmaxloc1_8_r16 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_8_r17.c b/libgfortran/generated/maxloc1_8_r17.c index 162806132f19..cc6bb86546c1 100644 --- a/libgfortran/generated/maxloc1_8_r17.c +++ b/libgfortran/generated/maxloc1_8_r17.c @@ -270,8 +270,8 @@ mmaxloc1_8_r17 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_8_r4.c b/libgfortran/generated/maxloc1_8_r4.c index dee860a1a8fe..2c482bc8ed4c 100644 --- a/libgfortran/generated/maxloc1_8_r4.c +++ b/libgfortran/generated/maxloc1_8_r4.c @@ -270,8 +270,8 @@ mmaxloc1_8_r4 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_8_r8.c b/libgfortran/generated/maxloc1_8_r8.c index 215d9668adbf..32452d49ff3c 100644 --- a/libgfortran/generated/maxloc1_8_r8.c +++ b/libgfortran/generated/maxloc1_8_r8.c @@ -270,8 +270,8 @@ mmaxloc1_8_r8 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_8_s1.c b/libgfortran/generated/maxloc1_8_s1.c index 7b1091d596c1..96ac1ac0bd4a 100644 --- a/libgfortran/generated/maxloc1_8_s1.c +++ b/libgfortran/generated/maxloc1_8_s1.c @@ -263,8 +263,8 @@ mmaxloc1_8_s1 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxloc1_8_s4.c b/libgfortran/generated/maxloc1_8_s4.c index a61c08c6f647..068c4ff7a725 100644 --- a/libgfortran/generated/maxloc1_8_s4.c +++ b/libgfortran/generated/maxloc1_8_s4.c @@ -263,8 +263,8 @@ mmaxloc1_8_s4 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxval1_s1.c b/libgfortran/generated/maxval1_s1.c index fd65f4b62ecc..6ad5366b8f36 100644 --- a/libgfortran/generated/maxval1_s1.c +++ b/libgfortran/generated/maxval1_s1.c @@ -258,8 +258,8 @@ mmaxval1_s1 (gfc_array_s1 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxval1_s4.c b/libgfortran/generated/maxval1_s4.c index 3558e61c76aa..6337b043a3ef 100644 --- a/libgfortran/generated/maxval1_s4.c +++ b/libgfortran/generated/maxval1_s4.c @@ -258,8 +258,8 @@ mmaxval1_s4 (gfc_array_s4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxval_i1.c b/libgfortran/generated/maxval_i1.c index bc52cd74a955..19feced68618 100644 --- a/libgfortran/generated/maxval_i1.c +++ b/libgfortran/generated/maxval_i1.c @@ -256,8 +256,8 @@ mmaxval_i1 (gfc_array_i1 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxval_i16.c b/libgfortran/generated/maxval_i16.c index 1d9d33369d45..cd75603b0660 100644 --- a/libgfortran/generated/maxval_i16.c +++ b/libgfortran/generated/maxval_i16.c @@ -256,8 +256,8 @@ mmaxval_i16 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxval_i2.c b/libgfortran/generated/maxval_i2.c index fe3c6fecce7a..9c7eb7702e3e 100644 --- a/libgfortran/generated/maxval_i2.c +++ b/libgfortran/generated/maxval_i2.c @@ -256,8 +256,8 @@ mmaxval_i2 (gfc_array_i2 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxval_i4.c b/libgfortran/generated/maxval_i4.c index 0412c7a75834..40bf1ce97ab2 100644 --- a/libgfortran/generated/maxval_i4.c +++ b/libgfortran/generated/maxval_i4.c @@ -256,8 +256,8 @@ mmaxval_i4 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxval_i8.c b/libgfortran/generated/maxval_i8.c index 2037b96b3c55..0b6b9f671ee9 100644 --- a/libgfortran/generated/maxval_i8.c +++ b/libgfortran/generated/maxval_i8.c @@ -256,8 +256,8 @@ mmaxval_i8 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxval_r10.c b/libgfortran/generated/maxval_r10.c index 7c397eeea771..f83c4e9965a0 100644 --- a/libgfortran/generated/maxval_r10.c +++ b/libgfortran/generated/maxval_r10.c @@ -256,8 +256,8 @@ mmaxval_r10 (gfc_array_r10 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxval_r16.c b/libgfortran/generated/maxval_r16.c index 1f2144e5253b..ec2d7a92be58 100644 --- a/libgfortran/generated/maxval_r16.c +++ b/libgfortran/generated/maxval_r16.c @@ -256,8 +256,8 @@ mmaxval_r16 (gfc_array_r16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxval_r17.c b/libgfortran/generated/maxval_r17.c index f85460366aa3..442e2b3a3875 100644 --- a/libgfortran/generated/maxval_r17.c +++ b/libgfortran/generated/maxval_r17.c @@ -256,8 +256,8 @@ mmaxval_r17 (gfc_array_r17 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxval_r4.c b/libgfortran/generated/maxval_r4.c index e2fd59e92bc5..6c08b342752a 100644 --- a/libgfortran/generated/maxval_r4.c +++ b/libgfortran/generated/maxval_r4.c @@ -256,8 +256,8 @@ mmaxval_r4 (gfc_array_r4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/maxval_r8.c b/libgfortran/generated/maxval_r8.c index d3aadc625299..30d259f7708a 100644 --- a/libgfortran/generated/maxval_r8.c +++ b/libgfortran/generated/maxval_r8.c @@ -256,8 +256,8 @@ mmaxval_r8 (gfc_array_r8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_16_i1.c b/libgfortran/generated/minloc1_16_i1.c index 541d71fe2146..80abb3cf8e06 100644 --- a/libgfortran/generated/minloc1_16_i1.c +++ b/libgfortran/generated/minloc1_16_i1.c @@ -280,8 +280,8 @@ mminloc1_16_i1 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_16_i16.c b/libgfortran/generated/minloc1_16_i16.c index baaf02597b67..388a8f912084 100644 --- a/libgfortran/generated/minloc1_16_i16.c +++ b/libgfortran/generated/minloc1_16_i16.c @@ -280,8 +280,8 @@ mminloc1_16_i16 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_16_i2.c b/libgfortran/generated/minloc1_16_i2.c index e4f78b65de36..51ae92b91fba 100644 --- a/libgfortran/generated/minloc1_16_i2.c +++ b/libgfortran/generated/minloc1_16_i2.c @@ -280,8 +280,8 @@ mminloc1_16_i2 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_16_i4.c b/libgfortran/generated/minloc1_16_i4.c index c561d71319eb..675fc333d52c 100644 --- a/libgfortran/generated/minloc1_16_i4.c +++ b/libgfortran/generated/minloc1_16_i4.c @@ -280,8 +280,8 @@ mminloc1_16_i4 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_16_i8.c b/libgfortran/generated/minloc1_16_i8.c index ebdb68dd3c56..6a417880a12b 100644 --- a/libgfortran/generated/minloc1_16_i8.c +++ b/libgfortran/generated/minloc1_16_i8.c @@ -280,8 +280,8 @@ mminloc1_16_i8 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_16_r10.c b/libgfortran/generated/minloc1_16_r10.c index 98d3fb3879bc..f5d9c347ef95 100644 --- a/libgfortran/generated/minloc1_16_r10.c +++ b/libgfortran/generated/minloc1_16_r10.c @@ -280,8 +280,8 @@ mminloc1_16_r10 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_16_r16.c b/libgfortran/generated/minloc1_16_r16.c index ad445a42dfa7..3405c0e4befe 100644 --- a/libgfortran/generated/minloc1_16_r16.c +++ b/libgfortran/generated/minloc1_16_r16.c @@ -280,8 +280,8 @@ mminloc1_16_r16 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_16_r17.c b/libgfortran/generated/minloc1_16_r17.c index 339d9ad96628..e3d0d417e5de 100644 --- a/libgfortran/generated/minloc1_16_r17.c +++ b/libgfortran/generated/minloc1_16_r17.c @@ -280,8 +280,8 @@ mminloc1_16_r17 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_16_r4.c b/libgfortran/generated/minloc1_16_r4.c index 780bcc267fd9..8af09702f5ca 100644 --- a/libgfortran/generated/minloc1_16_r4.c +++ b/libgfortran/generated/minloc1_16_r4.c @@ -280,8 +280,8 @@ mminloc1_16_r4 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_16_r8.c b/libgfortran/generated/minloc1_16_r8.c index 124587f5fb36..9397dc6ff917 100644 --- a/libgfortran/generated/minloc1_16_r8.c +++ b/libgfortran/generated/minloc1_16_r8.c @@ -280,8 +280,8 @@ mminloc1_16_r8 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_16_s1.c b/libgfortran/generated/minloc1_16_s1.c index f4763dc6e646..c6d8861a5f48 100644 --- a/libgfortran/generated/minloc1_16_s1.c +++ b/libgfortran/generated/minloc1_16_s1.c @@ -263,8 +263,8 @@ mminloc1_16_s1 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_16_s4.c b/libgfortran/generated/minloc1_16_s4.c index ba0475a9ca00..0f5eb2db8696 100644 --- a/libgfortran/generated/minloc1_16_s4.c +++ b/libgfortran/generated/minloc1_16_s4.c @@ -263,8 +263,8 @@ mminloc1_16_s4 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_4_i1.c b/libgfortran/generated/minloc1_4_i1.c index 433a25a8ef88..4274e70dc921 100644 --- a/libgfortran/generated/minloc1_4_i1.c +++ b/libgfortran/generated/minloc1_4_i1.c @@ -280,8 +280,8 @@ mminloc1_4_i1 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_4_i16.c b/libgfortran/generated/minloc1_4_i16.c index 9d2c606186bc..ded68f0b0fb5 100644 --- a/libgfortran/generated/minloc1_4_i16.c +++ b/libgfortran/generated/minloc1_4_i16.c @@ -280,8 +280,8 @@ mminloc1_4_i16 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_4_i2.c b/libgfortran/generated/minloc1_4_i2.c index 73737011e9a4..a053dd352e56 100644 --- a/libgfortran/generated/minloc1_4_i2.c +++ b/libgfortran/generated/minloc1_4_i2.c @@ -280,8 +280,8 @@ mminloc1_4_i2 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_4_i4.c b/libgfortran/generated/minloc1_4_i4.c index d18416ebcc42..6292fc2d9b77 100644 --- a/libgfortran/generated/minloc1_4_i4.c +++ b/libgfortran/generated/minloc1_4_i4.c @@ -280,8 +280,8 @@ mminloc1_4_i4 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_4_i8.c b/libgfortran/generated/minloc1_4_i8.c index 4f7dfdfdf73a..9240e3fe5bda 100644 --- a/libgfortran/generated/minloc1_4_i8.c +++ b/libgfortran/generated/minloc1_4_i8.c @@ -280,8 +280,8 @@ mminloc1_4_i8 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_4_r10.c b/libgfortran/generated/minloc1_4_r10.c index ff5af01130d6..42a9de0b6d04 100644 --- a/libgfortran/generated/minloc1_4_r10.c +++ b/libgfortran/generated/minloc1_4_r10.c @@ -280,8 +280,8 @@ mminloc1_4_r10 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_4_r16.c b/libgfortran/generated/minloc1_4_r16.c index 2d664467df3c..06193f13598e 100644 --- a/libgfortran/generated/minloc1_4_r16.c +++ b/libgfortran/generated/minloc1_4_r16.c @@ -280,8 +280,8 @@ mminloc1_4_r16 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_4_r17.c b/libgfortran/generated/minloc1_4_r17.c index 711fd841d345..d021d46b9fad 100644 --- a/libgfortran/generated/minloc1_4_r17.c +++ b/libgfortran/generated/minloc1_4_r17.c @@ -280,8 +280,8 @@ mminloc1_4_r17 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_4_r4.c b/libgfortran/generated/minloc1_4_r4.c index 0739d9bd178b..e6990c6e70e0 100644 --- a/libgfortran/generated/minloc1_4_r4.c +++ b/libgfortran/generated/minloc1_4_r4.c @@ -280,8 +280,8 @@ mminloc1_4_r4 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_4_r8.c b/libgfortran/generated/minloc1_4_r8.c index d625195e432b..fd1574f64139 100644 --- a/libgfortran/generated/minloc1_4_r8.c +++ b/libgfortran/generated/minloc1_4_r8.c @@ -280,8 +280,8 @@ mminloc1_4_r8 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_4_s1.c b/libgfortran/generated/minloc1_4_s1.c index 13ebc76524d6..5bbc844e1963 100644 --- a/libgfortran/generated/minloc1_4_s1.c +++ b/libgfortran/generated/minloc1_4_s1.c @@ -263,8 +263,8 @@ mminloc1_4_s1 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_4_s4.c b/libgfortran/generated/minloc1_4_s4.c index 5c9a5900237d..4f2ab20ab9f4 100644 --- a/libgfortran/generated/minloc1_4_s4.c +++ b/libgfortran/generated/minloc1_4_s4.c @@ -263,8 +263,8 @@ mminloc1_4_s4 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_8_i1.c b/libgfortran/generated/minloc1_8_i1.c index fab5619979fd..1b8b24064d95 100644 --- a/libgfortran/generated/minloc1_8_i1.c +++ b/libgfortran/generated/minloc1_8_i1.c @@ -280,8 +280,8 @@ mminloc1_8_i1 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_8_i16.c b/libgfortran/generated/minloc1_8_i16.c index 742e2ea73b27..9561270e1502 100644 --- a/libgfortran/generated/minloc1_8_i16.c +++ b/libgfortran/generated/minloc1_8_i16.c @@ -280,8 +280,8 @@ mminloc1_8_i16 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_8_i2.c b/libgfortran/generated/minloc1_8_i2.c index defef3c653c9..979856579f98 100644 --- a/libgfortran/generated/minloc1_8_i2.c +++ b/libgfortran/generated/minloc1_8_i2.c @@ -280,8 +280,8 @@ mminloc1_8_i2 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_8_i4.c b/libgfortran/generated/minloc1_8_i4.c index 3e696aafcac2..1c303ed6dea3 100644 --- a/libgfortran/generated/minloc1_8_i4.c +++ b/libgfortran/generated/minloc1_8_i4.c @@ -280,8 +280,8 @@ mminloc1_8_i4 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_8_i8.c b/libgfortran/generated/minloc1_8_i8.c index 9a017433ee62..6249f20ae62d 100644 --- a/libgfortran/generated/minloc1_8_i8.c +++ b/libgfortran/generated/minloc1_8_i8.c @@ -280,8 +280,8 @@ mminloc1_8_i8 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_8_r10.c b/libgfortran/generated/minloc1_8_r10.c index 18f294f2180d..2c6a0fd8a58b 100644 --- a/libgfortran/generated/minloc1_8_r10.c +++ b/libgfortran/generated/minloc1_8_r10.c @@ -280,8 +280,8 @@ mminloc1_8_r10 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_8_r16.c b/libgfortran/generated/minloc1_8_r16.c index 1dd45dead267..f7d06648c379 100644 --- a/libgfortran/generated/minloc1_8_r16.c +++ b/libgfortran/generated/minloc1_8_r16.c @@ -280,8 +280,8 @@ mminloc1_8_r16 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_8_r17.c b/libgfortran/generated/minloc1_8_r17.c index 85dc6cb04fe2..0cc70c439d0d 100644 --- a/libgfortran/generated/minloc1_8_r17.c +++ b/libgfortran/generated/minloc1_8_r17.c @@ -280,8 +280,8 @@ mminloc1_8_r17 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_8_r4.c b/libgfortran/generated/minloc1_8_r4.c index 6d7764a5eb76..b2ae3dfcc06a 100644 --- a/libgfortran/generated/minloc1_8_r4.c +++ b/libgfortran/generated/minloc1_8_r4.c @@ -280,8 +280,8 @@ mminloc1_8_r4 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_8_r8.c b/libgfortran/generated/minloc1_8_r8.c index e17d3c881c06..bafd72d0893a 100644 --- a/libgfortran/generated/minloc1_8_r8.c +++ b/libgfortran/generated/minloc1_8_r8.c @@ -280,8 +280,8 @@ mminloc1_8_r8 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_8_s1.c b/libgfortran/generated/minloc1_8_s1.c index 0449575a5a3e..8a40b52a188f 100644 --- a/libgfortran/generated/minloc1_8_s1.c +++ b/libgfortran/generated/minloc1_8_s1.c @@ -263,8 +263,8 @@ mminloc1_8_s1 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minloc1_8_s4.c b/libgfortran/generated/minloc1_8_s4.c index 682b89b27657..906d1df9a2e2 100644 --- a/libgfortran/generated/minloc1_8_s4.c +++ b/libgfortran/generated/minloc1_8_s4.c @@ -263,8 +263,8 @@ mminloc1_8_s4 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minval1_s1.c b/libgfortran/generated/minval1_s1.c index 9c577ed004c6..d83fef19d3c8 100644 --- a/libgfortran/generated/minval1_s1.c +++ b/libgfortran/generated/minval1_s1.c @@ -258,8 +258,8 @@ mminval1_s1 (gfc_array_s1 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minval1_s4.c b/libgfortran/generated/minval1_s4.c index 9a30bf0bfb58..5ef09cdeebb6 100644 --- a/libgfortran/generated/minval1_s4.c +++ b/libgfortran/generated/minval1_s4.c @@ -258,8 +258,8 @@ mminval1_s4 (gfc_array_s4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minval_i1.c b/libgfortran/generated/minval_i1.c index 174161af4d4b..544a996a01c3 100644 --- a/libgfortran/generated/minval_i1.c +++ b/libgfortran/generated/minval_i1.c @@ -256,8 +256,8 @@ mminval_i1 (gfc_array_i1 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minval_i16.c b/libgfortran/generated/minval_i16.c index b220391e4f89..1bcdf58792ac 100644 --- a/libgfortran/generated/minval_i16.c +++ b/libgfortran/generated/minval_i16.c @@ -256,8 +256,8 @@ mminval_i16 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minval_i2.c b/libgfortran/generated/minval_i2.c index 3a050c1eb824..61801f163f28 100644 --- a/libgfortran/generated/minval_i2.c +++ b/libgfortran/generated/minval_i2.c @@ -256,8 +256,8 @@ mminval_i2 (gfc_array_i2 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minval_i4.c b/libgfortran/generated/minval_i4.c index 194967d2f923..019a880e2abe 100644 --- a/libgfortran/generated/minval_i4.c +++ b/libgfortran/generated/minval_i4.c @@ -256,8 +256,8 @@ mminval_i4 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minval_i8.c b/libgfortran/generated/minval_i8.c index 07acc60d4a06..abbbd06da078 100644 --- a/libgfortran/generated/minval_i8.c +++ b/libgfortran/generated/minval_i8.c @@ -256,8 +256,8 @@ mminval_i8 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minval_r10.c b/libgfortran/generated/minval_r10.c index d49244c1dff9..d5b9d76d9e6a 100644 --- a/libgfortran/generated/minval_r10.c +++ b/libgfortran/generated/minval_r10.c @@ -256,8 +256,8 @@ mminval_r10 (gfc_array_r10 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minval_r16.c b/libgfortran/generated/minval_r16.c index 50305430d60e..9fdde79f4fcd 100644 --- a/libgfortran/generated/minval_r16.c +++ b/libgfortran/generated/minval_r16.c @@ -256,8 +256,8 @@ mminval_r16 (gfc_array_r16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minval_r17.c b/libgfortran/generated/minval_r17.c index 2479a864af3a..3e75af04b2da 100644 --- a/libgfortran/generated/minval_r17.c +++ b/libgfortran/generated/minval_r17.c @@ -256,8 +256,8 @@ mminval_r17 (gfc_array_r17 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minval_r4.c b/libgfortran/generated/minval_r4.c index ceca490cfcd7..f096473e5ad7 100644 --- a/libgfortran/generated/minval_r4.c +++ b/libgfortran/generated/minval_r4.c @@ -256,8 +256,8 @@ mminval_r4 (gfc_array_r4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/minval_r8.c b/libgfortran/generated/minval_r8.c index 091cb74d30dd..8fafc3c1869d 100644 --- a/libgfortran/generated/minval_r8.c +++ b/libgfortran/generated/minval_r8.c @@ -256,8 +256,8 @@ mminval_r8 (gfc_array_r8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/product_c10.c b/libgfortran/generated/product_c10.c index b888769130d5..7ecd80e3346d 100644 --- a/libgfortran/generated/product_c10.c +++ b/libgfortran/generated/product_c10.c @@ -242,8 +242,8 @@ mproduct_c10 (gfc_array_c10 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/product_c16.c b/libgfortran/generated/product_c16.c index b783367ff05b..e1d0c932a089 100644 --- a/libgfortran/generated/product_c16.c +++ b/libgfortran/generated/product_c16.c @@ -242,8 +242,8 @@ mproduct_c16 (gfc_array_c16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/product_c17.c b/libgfortran/generated/product_c17.c index e89e9eea0c32..2ed08b31f1ee 100644 --- a/libgfortran/generated/product_c17.c +++ b/libgfortran/generated/product_c17.c @@ -242,8 +242,8 @@ mproduct_c17 (gfc_array_c17 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/product_c4.c b/libgfortran/generated/product_c4.c index 08b2878930b3..dbf00aacf7aa 100644 --- a/libgfortran/generated/product_c4.c +++ b/libgfortran/generated/product_c4.c @@ -242,8 +242,8 @@ mproduct_c4 (gfc_array_c4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/product_c8.c b/libgfortran/generated/product_c8.c index cb721e50b65a..1a3f27d329e6 100644 --- a/libgfortran/generated/product_c8.c +++ b/libgfortran/generated/product_c8.c @@ -242,8 +242,8 @@ mproduct_c8 (gfc_array_c8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/product_i1.c b/libgfortran/generated/product_i1.c index 8af7d63c6548..35f4f6ec8042 100644 --- a/libgfortran/generated/product_i1.c +++ b/libgfortran/generated/product_i1.c @@ -242,8 +242,8 @@ mproduct_i1 (gfc_array_i1 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/product_i16.c b/libgfortran/generated/product_i16.c index de9b7fb503af..3b815036f4fa 100644 --- a/libgfortran/generated/product_i16.c +++ b/libgfortran/generated/product_i16.c @@ -242,8 +242,8 @@ mproduct_i16 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/product_i2.c b/libgfortran/generated/product_i2.c index bb0283286c1e..e998c0d59c3a 100644 --- a/libgfortran/generated/product_i2.c +++ b/libgfortran/generated/product_i2.c @@ -242,8 +242,8 @@ mproduct_i2 (gfc_array_i2 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/product_i4.c b/libgfortran/generated/product_i4.c index 9491031c3a82..7dbc77aff9f7 100644 --- a/libgfortran/generated/product_i4.c +++ b/libgfortran/generated/product_i4.c @@ -242,8 +242,8 @@ mproduct_i4 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/product_i8.c b/libgfortran/generated/product_i8.c index 49d09318335a..aaa688b69ffb 100644 --- a/libgfortran/generated/product_i8.c +++ b/libgfortran/generated/product_i8.c @@ -242,8 +242,8 @@ mproduct_i8 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/product_r10.c b/libgfortran/generated/product_r10.c index 47af031fe905..8a7dba54fddd 100644 --- a/libgfortran/generated/product_r10.c +++ b/libgfortran/generated/product_r10.c @@ -242,8 +242,8 @@ mproduct_r10 (gfc_array_r10 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/product_r16.c b/libgfortran/generated/product_r16.c index 3ecafc170e39..38c9922ed9bf 100644 --- a/libgfortran/generated/product_r16.c +++ b/libgfortran/generated/product_r16.c @@ -242,8 +242,8 @@ mproduct_r16 (gfc_array_r16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/product_r17.c b/libgfortran/generated/product_r17.c index 8f79c8c9c650..37ed80c9d3a5 100644 --- a/libgfortran/generated/product_r17.c +++ b/libgfortran/generated/product_r17.c @@ -242,8 +242,8 @@ mproduct_r17 (gfc_array_r17 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/product_r4.c b/libgfortran/generated/product_r4.c index f9b09b3c6dc7..616fd5be89de 100644 --- a/libgfortran/generated/product_r4.c +++ b/libgfortran/generated/product_r4.c @@ -242,8 +242,8 @@ mproduct_r4 (gfc_array_r4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/product_r8.c b/libgfortran/generated/product_r8.c index ff6aa5221764..c4b710dfc6ff 100644 --- a/libgfortran/generated/product_r8.c +++ b/libgfortran/generated/product_r8.c @@ -242,8 +242,8 @@ mproduct_r8 (gfc_array_r8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/sum_c10.c b/libgfortran/generated/sum_c10.c index 45018f88c6fe..6de84a7e2ea5 100644 --- a/libgfortran/generated/sum_c10.c +++ b/libgfortran/generated/sum_c10.c @@ -242,8 +242,8 @@ msum_c10 (gfc_array_c10 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/sum_c16.c b/libgfortran/generated/sum_c16.c index df4297c5a84f..96fc88829021 100644 --- a/libgfortran/generated/sum_c16.c +++ b/libgfortran/generated/sum_c16.c @@ -242,8 +242,8 @@ msum_c16 (gfc_array_c16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/sum_c17.c b/libgfortran/generated/sum_c17.c index 65322e789899..1472fe577334 100644 --- a/libgfortran/generated/sum_c17.c +++ b/libgfortran/generated/sum_c17.c @@ -242,8 +242,8 @@ msum_c17 (gfc_array_c17 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/sum_c4.c b/libgfortran/generated/sum_c4.c index 11ce95d53c3a..250aa416cb36 100644 --- a/libgfortran/generated/sum_c4.c +++ b/libgfortran/generated/sum_c4.c @@ -242,8 +242,8 @@ msum_c4 (gfc_array_c4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/sum_c8.c b/libgfortran/generated/sum_c8.c index 16b9ed40e92f..510a25847aca 100644 --- a/libgfortran/generated/sum_c8.c +++ b/libgfortran/generated/sum_c8.c @@ -242,8 +242,8 @@ msum_c8 (gfc_array_c8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/sum_i1.c b/libgfortran/generated/sum_i1.c index c2df9619f989..974522b3bbff 100644 --- a/libgfortran/generated/sum_i1.c +++ b/libgfortran/generated/sum_i1.c @@ -242,8 +242,8 @@ msum_i1 (gfc_array_i1 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/sum_i16.c b/libgfortran/generated/sum_i16.c index d4b3d970e51b..00f644bff718 100644 --- a/libgfortran/generated/sum_i16.c +++ b/libgfortran/generated/sum_i16.c @@ -242,8 +242,8 @@ msum_i16 (gfc_array_i16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/sum_i2.c b/libgfortran/generated/sum_i2.c index 044361c61674..448273594f4e 100644 --- a/libgfortran/generated/sum_i2.c +++ b/libgfortran/generated/sum_i2.c @@ -242,8 +242,8 @@ msum_i2 (gfc_array_i2 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/sum_i4.c b/libgfortran/generated/sum_i4.c index b37393e4c709..529fb2e94a0b 100644 --- a/libgfortran/generated/sum_i4.c +++ b/libgfortran/generated/sum_i4.c @@ -242,8 +242,8 @@ msum_i4 (gfc_array_i4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/sum_i8.c b/libgfortran/generated/sum_i8.c index 235a98e5fb71..7b7ca72aa710 100644 --- a/libgfortran/generated/sum_i8.c +++ b/libgfortran/generated/sum_i8.c @@ -242,8 +242,8 @@ msum_i8 (gfc_array_i8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/sum_r10.c b/libgfortran/generated/sum_r10.c index 4e2071fa5701..71e71dd91f00 100644 --- a/libgfortran/generated/sum_r10.c +++ b/libgfortran/generated/sum_r10.c @@ -242,8 +242,8 @@ msum_r10 (gfc_array_r10 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/sum_r16.c b/libgfortran/generated/sum_r16.c index 47571d9b0100..813cc33dd907 100644 --- a/libgfortran/generated/sum_r16.c +++ b/libgfortran/generated/sum_r16.c @@ -242,8 +242,8 @@ msum_r16 (gfc_array_r16 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/sum_r17.c b/libgfortran/generated/sum_r17.c index d479f200a809..8e82e871bb26 100644 --- a/libgfortran/generated/sum_r17.c +++ b/libgfortran/generated/sum_r17.c @@ -242,8 +242,8 @@ msum_r17 (gfc_array_r17 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/sum_r4.c b/libgfortran/generated/sum_r4.c index 227ea34124fc..1b37711b99f7 100644 --- a/libgfortran/generated/sum_r4.c +++ b/libgfortran/generated/sum_r4.c @@ -242,8 +242,8 @@ msum_r4 (gfc_array_r4 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/generated/sum_r8.c b/libgfortran/generated/sum_r8.c index d0d0c111d4c8..294211ba9bef 100644 --- a/libgfortran/generated/sum_r8.c +++ b/libgfortran/generated/sum_r8.c @@ -242,8 +242,8 @@ msum_r8 (gfc_array_r8 * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/m4/ifunction-s.m4 b/libgfortran/m4/ifunction-s.m4 index bc5ce55e81c4..72793e435aaf 100644 --- a/libgfortran/m4/ifunction-s.m4 +++ b/libgfortran/m4/ifunction-s.m4 @@ -244,8 +244,8 @@ m'name`'rtype_qual`_'atype_code` ('rtype` * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/m4/ifunction-s2.m4 b/libgfortran/m4/ifunction-s2.m4 index 22ba00899d73..b936d7c392c4 100644 --- a/libgfortran/m4/ifunction-s2.m4 +++ b/libgfortran/m4/ifunction-s2.m4 @@ -244,8 +244,8 @@ void } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr; diff --git a/libgfortran/m4/ifunction.m4 b/libgfortran/m4/ifunction.m4 index c80aa86c8902..f3ab4ebd58dc 100644 --- a/libgfortran/m4/ifunction.m4 +++ b/libgfortran/m4/ifunction.m4 @@ -232,8 +232,8 @@ m'name`'rtype_qual`_'atype_code` ('rtype` * const restrict retarray, } len = GFC_DESCRIPTOR_EXTENT(array,dim); - if (len <= 0) - return; + if (len < 0) + len = 0; mbase = mask->base_addr;