Index: gcc/testsuite/gfortran.dg/pr85816.f90 =================================================================== --- gcc/testsuite/gfortran.dg/pr85816.f90 (nonexistent) +++ gcc/testsuite/gfortran.dg/pr85816.f90 (working copy) @@ -0,0 +1,19 @@ +! { dg-do compile } +! PR fortran/85816 +! Original code from Martin Diehl +! +! Prior to fixing the problem with the array descriptor, gfortran died with +! Operating system error: Cannot allocate memory +! Integer overflow in xmallocarray +! +program test + implicit none + real(8) :: tensor(3,3) = 4 + integer :: grid(3) = 16 + ! ok + write(6,*) spread(spread(tensor,3,grid(1)),4,grid(1)) + ! ok (note the brackets) + write(6,*) spread((spread(spread(tensor,3,grid(1)),4,grid(2))),5,grid(3)) + ! not ok + write(6,*) spread(spread(spread(tensor,3,grid(1)),4,grid(2)),5,grid(3)) +end program Index: gcc/testsuite/gfortran.dg/pr85975.f90 =================================================================== --- gcc/testsuite/gfortran.dg/pr85975.f90 (nonexistent) +++ gcc/testsuite/gfortran.dg/pr85975.f90 (working copy) @@ -0,0 +1,24 @@ +! { dg-do run } +! PR fortran/85976 +! Original code from Stephan Kramer +program foo + + implicit none + + call bar(2, 3, 5, 7) + + contains + + subroutine bar(k, l, m, n) + + integer, intent(in) :: k, l, m, n + real :: a(k), b(k,l), c(k,l,m), d(k,l,m,n) + + if (size(spread(A, 1, 1)) /= k) stop 1 + if (size(spread(b, 1, 1)) /= k * l) stop 2 + if (size(spread(c, 1, 1)) /= k * l * m) stop 3 + if (size(spread(d, 1, 1)) /= k * l * m * n) stop 4 + + end subroutine + +end program Index: libgfortran/generated/all_l1.c =================================================================== --- libgfortran/generated/all_l1.c (revision 261075) +++ libgfortran/generated/all_l1.c (working copy) @@ -97,7 +97,7 @@ all_l1 (gfc_array_l1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/all_l16.c =================================================================== --- libgfortran/generated/all_l16.c (revision 261075) +++ libgfortran/generated/all_l16.c (working copy) @@ -97,7 +97,7 @@ all_l16 (gfc_array_l16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/all_l2.c =================================================================== --- libgfortran/generated/all_l2.c (revision 261075) +++ libgfortran/generated/all_l2.c (working copy) @@ -97,7 +97,7 @@ all_l2 (gfc_array_l2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/all_l4.c =================================================================== --- libgfortran/generated/all_l4.c (revision 261075) +++ libgfortran/generated/all_l4.c (working copy) @@ -97,7 +97,7 @@ all_l4 (gfc_array_l4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/all_l8.c =================================================================== --- libgfortran/generated/all_l8.c (revision 261075) +++ libgfortran/generated/all_l8.c (working copy) @@ -97,7 +97,7 @@ all_l8 (gfc_array_l8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/any_l1.c =================================================================== --- libgfortran/generated/any_l1.c (revision 261075) +++ libgfortran/generated/any_l1.c (working copy) @@ -97,7 +97,7 @@ any_l1 (gfc_array_l1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/any_l16.c =================================================================== --- libgfortran/generated/any_l16.c (revision 261075) +++ libgfortran/generated/any_l16.c (working copy) @@ -97,7 +97,7 @@ any_l16 (gfc_array_l16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/any_l2.c =================================================================== --- libgfortran/generated/any_l2.c (revision 261075) +++ libgfortran/generated/any_l2.c (working copy) @@ -97,7 +97,7 @@ any_l2 (gfc_array_l2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/any_l4.c =================================================================== --- libgfortran/generated/any_l4.c (revision 261075) +++ libgfortran/generated/any_l4.c (working copy) @@ -97,7 +97,7 @@ any_l4 (gfc_array_l4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/any_l8.c =================================================================== --- libgfortran/generated/any_l8.c (revision 261075) +++ libgfortran/generated/any_l8.c (working copy) @@ -97,7 +97,7 @@ any_l8 (gfc_array_l8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/count_16_l.c =================================================================== --- libgfortran/generated/count_16_l.c (revision 261075) +++ libgfortran/generated/count_16_l.c (working copy) @@ -97,7 +97,7 @@ count_16_l (gfc_array_i16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/count_1_l.c =================================================================== --- libgfortran/generated/count_1_l.c (revision 261075) +++ libgfortran/generated/count_1_l.c (working copy) @@ -97,7 +97,7 @@ count_1_l (gfc_array_i1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/count_2_l.c =================================================================== --- libgfortran/generated/count_2_l.c (revision 261075) +++ libgfortran/generated/count_2_l.c (working copy) @@ -97,7 +97,7 @@ count_2_l (gfc_array_i2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/count_4_l.c =================================================================== --- libgfortran/generated/count_4_l.c (revision 261075) +++ libgfortran/generated/count_4_l.c (working copy) @@ -97,7 +97,7 @@ count_4_l (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/count_8_l.c =================================================================== --- libgfortran/generated/count_8_l.c (revision 261075) +++ libgfortran/generated/count_8_l.c (working copy) @@ -97,7 +97,7 @@ count_8_l (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/iall_i1.c =================================================================== --- libgfortran/generated/iall_i1.c (revision 261075) +++ libgfortran/generated/iall_i1.c (working copy) @@ -100,7 +100,7 @@ iall_i1 (gfc_array_i1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ miall_i1 (gfc_array_i1 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ siall_i1 (gfc_array_i1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/iall_i16.c =================================================================== --- libgfortran/generated/iall_i16.c (revision 261075) +++ libgfortran/generated/iall_i16.c (working copy) @@ -100,7 +100,7 @@ iall_i16 (gfc_array_i16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ miall_i16 (gfc_array_i16 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ siall_i16 (gfc_array_i16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/iall_i2.c =================================================================== --- libgfortran/generated/iall_i2.c (revision 261075) +++ libgfortran/generated/iall_i2.c (working copy) @@ -100,7 +100,7 @@ iall_i2 (gfc_array_i2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ miall_i2 (gfc_array_i2 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ siall_i2 (gfc_array_i2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/iall_i4.c =================================================================== --- libgfortran/generated/iall_i4.c (revision 261075) +++ libgfortran/generated/iall_i4.c (working copy) @@ -100,7 +100,7 @@ iall_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ miall_i4 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ siall_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/iall_i8.c =================================================================== --- libgfortran/generated/iall_i8.c (revision 261075) +++ libgfortran/generated/iall_i8.c (working copy) @@ -100,7 +100,7 @@ iall_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ miall_i8 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ siall_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/iany_i1.c =================================================================== --- libgfortran/generated/iany_i1.c (revision 261075) +++ libgfortran/generated/iany_i1.c (working copy) @@ -100,7 +100,7 @@ iany_i1 (gfc_array_i1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ miany_i1 (gfc_array_i1 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ siany_i1 (gfc_array_i1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/iany_i16.c =================================================================== --- libgfortran/generated/iany_i16.c (revision 261075) +++ libgfortran/generated/iany_i16.c (working copy) @@ -100,7 +100,7 @@ iany_i16 (gfc_array_i16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ miany_i16 (gfc_array_i16 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ siany_i16 (gfc_array_i16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/iany_i2.c =================================================================== --- libgfortran/generated/iany_i2.c (revision 261075) +++ libgfortran/generated/iany_i2.c (working copy) @@ -100,7 +100,7 @@ iany_i2 (gfc_array_i2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ miany_i2 (gfc_array_i2 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ siany_i2 (gfc_array_i2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/iany_i4.c =================================================================== --- libgfortran/generated/iany_i4.c (revision 261075) +++ libgfortran/generated/iany_i4.c (working copy) @@ -100,7 +100,7 @@ iany_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ miany_i4 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ siany_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/iany_i8.c =================================================================== --- libgfortran/generated/iany_i8.c (revision 261075) +++ libgfortran/generated/iany_i8.c (working copy) @@ -100,7 +100,7 @@ iany_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ miany_i8 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ siany_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/iparity_i1.c =================================================================== --- libgfortran/generated/iparity_i1.c (revision 261075) +++ libgfortran/generated/iparity_i1.c (working copy) @@ -100,7 +100,7 @@ iparity_i1 (gfc_array_i1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ miparity_i1 (gfc_array_i1 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ siparity_i1 (gfc_array_i1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/iparity_i16.c =================================================================== --- libgfortran/generated/iparity_i16.c (revision 261075) +++ libgfortran/generated/iparity_i16.c (working copy) @@ -100,7 +100,7 @@ iparity_i16 (gfc_array_i16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ miparity_i16 (gfc_array_i16 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ siparity_i16 (gfc_array_i16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/iparity_i2.c =================================================================== --- libgfortran/generated/iparity_i2.c (revision 261075) +++ libgfortran/generated/iparity_i2.c (working copy) @@ -100,7 +100,7 @@ iparity_i2 (gfc_array_i2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ miparity_i2 (gfc_array_i2 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ siparity_i2 (gfc_array_i2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/iparity_i4.c =================================================================== --- libgfortran/generated/iparity_i4.c (revision 261075) +++ libgfortran/generated/iparity_i4.c (working copy) @@ -100,7 +100,7 @@ iparity_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ miparity_i4 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ siparity_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/iparity_i8.c =================================================================== --- libgfortran/generated/iparity_i8.c (revision 261075) +++ libgfortran/generated/iparity_i8.c (working copy) @@ -100,7 +100,7 @@ iparity_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ miparity_i8 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ siparity_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc0_16_i1.c =================================================================== --- libgfortran/generated/maxloc0_16_i1.c (revision 261075) +++ libgfortran/generated/maxloc0_16_i1.c (working copy) @@ -54,7 +54,7 @@ maxloc0_16_i1 (gfc_array_i16 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mmaxloc0_16_i1 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -383,7 +383,7 @@ smaxloc0_16_i1 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/maxloc0_16_i16.c =================================================================== --- libgfortran/generated/maxloc0_16_i16.c (revision 261075) +++ libgfortran/generated/maxloc0_16_i16.c (working copy) @@ -54,7 +54,7 @@ maxloc0_16_i16 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mmaxloc0_16_i16 (gfc_array_i16 * const restrict retarr if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -383,7 +383,7 @@ smaxloc0_16_i16 (gfc_array_i16 * const restrict retarr if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/maxloc0_16_i2.c =================================================================== --- libgfortran/generated/maxloc0_16_i2.c (revision 261075) +++ libgfortran/generated/maxloc0_16_i2.c (working copy) @@ -54,7 +54,7 @@ maxloc0_16_i2 (gfc_array_i16 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mmaxloc0_16_i2 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -383,7 +383,7 @@ smaxloc0_16_i2 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/maxloc0_16_i4.c =================================================================== --- libgfortran/generated/maxloc0_16_i4.c (revision 261075) +++ libgfortran/generated/maxloc0_16_i4.c (working copy) @@ -54,7 +54,7 @@ maxloc0_16_i4 (gfc_array_i16 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mmaxloc0_16_i4 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -383,7 +383,7 @@ smaxloc0_16_i4 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/maxloc0_16_i8.c =================================================================== --- libgfortran/generated/maxloc0_16_i8.c (revision 261075) +++ libgfortran/generated/maxloc0_16_i8.c (working copy) @@ -54,7 +54,7 @@ maxloc0_16_i8 (gfc_array_i16 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mmaxloc0_16_i8 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -383,7 +383,7 @@ smaxloc0_16_i8 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/maxloc0_16_r10.c =================================================================== --- libgfortran/generated/maxloc0_16_r10.c (revision 261075) +++ libgfortran/generated/maxloc0_16_r10.c (working copy) @@ -54,7 +54,7 @@ maxloc0_16_r10 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mmaxloc0_16_r10 (gfc_array_i16 * const restrict retarr if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -383,7 +383,7 @@ smaxloc0_16_r10 (gfc_array_i16 * const restrict retarr if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/maxloc0_16_r16.c =================================================================== --- libgfortran/generated/maxloc0_16_r16.c (revision 261075) +++ libgfortran/generated/maxloc0_16_r16.c (working copy) @@ -54,7 +54,7 @@ maxloc0_16_r16 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mmaxloc0_16_r16 (gfc_array_i16 * const restrict retarr if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -383,7 +383,7 @@ smaxloc0_16_r16 (gfc_array_i16 * const restrict retarr if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/maxloc0_16_r4.c =================================================================== --- libgfortran/generated/maxloc0_16_r4.c (revision 261075) +++ libgfortran/generated/maxloc0_16_r4.c (working copy) @@ -54,7 +54,7 @@ maxloc0_16_r4 (gfc_array_i16 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mmaxloc0_16_r4 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -383,7 +383,7 @@ smaxloc0_16_r4 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/maxloc0_16_r8.c =================================================================== --- libgfortran/generated/maxloc0_16_r8.c (revision 261075) +++ libgfortran/generated/maxloc0_16_r8.c (working copy) @@ -54,7 +54,7 @@ maxloc0_16_r8 (gfc_array_i16 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mmaxloc0_16_r8 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -383,7 +383,7 @@ smaxloc0_16_r8 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/maxloc0_16_s1.c =================================================================== --- libgfortran/generated/maxloc0_16_s1.c (revision 261075) +++ libgfortran/generated/maxloc0_16_s1.c (working copy) @@ -68,7 +68,7 @@ maxloc0_16_s1 (gfc_array_i16 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -181,7 +181,7 @@ mmaxloc0_16_s1 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -322,7 +322,7 @@ smaxloc0_16_s1 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/maxloc0_16_s4.c =================================================================== --- libgfortran/generated/maxloc0_16_s4.c (revision 261075) +++ libgfortran/generated/maxloc0_16_s4.c (working copy) @@ -68,7 +68,7 @@ maxloc0_16_s4 (gfc_array_i16 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -181,7 +181,7 @@ mmaxloc0_16_s4 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -322,7 +322,7 @@ smaxloc0_16_s4 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/maxloc0_4_i1.c =================================================================== --- libgfortran/generated/maxloc0_4_i1.c (revision 261075) +++ libgfortran/generated/maxloc0_4_i1.c (working copy) @@ -54,7 +54,7 @@ maxloc0_4_i1 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mmaxloc0_4_i1 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -383,7 +383,7 @@ smaxloc0_4_i1 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/maxloc0_4_i16.c =================================================================== --- libgfortran/generated/maxloc0_4_i16.c (revision 261075) +++ libgfortran/generated/maxloc0_4_i16.c (working copy) @@ -54,7 +54,7 @@ maxloc0_4_i16 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mmaxloc0_4_i16 (gfc_array_i4 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -383,7 +383,7 @@ smaxloc0_4_i16 (gfc_array_i4 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/maxloc0_4_i2.c =================================================================== --- libgfortran/generated/maxloc0_4_i2.c (revision 261075) +++ libgfortran/generated/maxloc0_4_i2.c (working copy) @@ -54,7 +54,7 @@ maxloc0_4_i2 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mmaxloc0_4_i2 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -383,7 +383,7 @@ smaxloc0_4_i2 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/maxloc0_4_i4.c =================================================================== --- libgfortran/generated/maxloc0_4_i4.c (revision 261075) +++ libgfortran/generated/maxloc0_4_i4.c (working copy) @@ -54,7 +54,7 @@ maxloc0_4_i4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mmaxloc0_4_i4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -383,7 +383,7 @@ smaxloc0_4_i4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/maxloc0_4_i8.c =================================================================== --- libgfortran/generated/maxloc0_4_i8.c (revision 261075) +++ libgfortran/generated/maxloc0_4_i8.c (working copy) @@ -54,7 +54,7 @@ maxloc0_4_i8 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mmaxloc0_4_i8 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -383,7 +383,7 @@ smaxloc0_4_i8 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/maxloc0_4_r10.c =================================================================== --- libgfortran/generated/maxloc0_4_r10.c (revision 261075) +++ libgfortran/generated/maxloc0_4_r10.c (working copy) @@ -54,7 +54,7 @@ maxloc0_4_r10 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mmaxloc0_4_r10 (gfc_array_i4 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -383,7 +383,7 @@ smaxloc0_4_r10 (gfc_array_i4 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/maxloc0_4_r16.c =================================================================== --- libgfortran/generated/maxloc0_4_r16.c (revision 261075) +++ libgfortran/generated/maxloc0_4_r16.c (working copy) @@ -54,7 +54,7 @@ maxloc0_4_r16 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mmaxloc0_4_r16 (gfc_array_i4 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -383,7 +383,7 @@ smaxloc0_4_r16 (gfc_array_i4 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/maxloc0_4_r4.c =================================================================== --- libgfortran/generated/maxloc0_4_r4.c (revision 261075) +++ libgfortran/generated/maxloc0_4_r4.c (working copy) @@ -54,7 +54,7 @@ maxloc0_4_r4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mmaxloc0_4_r4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -383,7 +383,7 @@ smaxloc0_4_r4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/maxloc0_4_r8.c =================================================================== --- libgfortran/generated/maxloc0_4_r8.c (revision 261075) +++ libgfortran/generated/maxloc0_4_r8.c (working copy) @@ -54,7 +54,7 @@ maxloc0_4_r8 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mmaxloc0_4_r8 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -383,7 +383,7 @@ smaxloc0_4_r8 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/maxloc0_4_s1.c =================================================================== --- libgfortran/generated/maxloc0_4_s1.c (revision 261075) +++ libgfortran/generated/maxloc0_4_s1.c (working copy) @@ -68,7 +68,7 @@ maxloc0_4_s1 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -181,7 +181,7 @@ mmaxloc0_4_s1 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -322,7 +322,7 @@ smaxloc0_4_s1 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/maxloc0_4_s4.c =================================================================== --- libgfortran/generated/maxloc0_4_s4.c (revision 261075) +++ libgfortran/generated/maxloc0_4_s4.c (working copy) @@ -68,7 +68,7 @@ maxloc0_4_s4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -181,7 +181,7 @@ mmaxloc0_4_s4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -322,7 +322,7 @@ smaxloc0_4_s4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/maxloc0_8_i1.c =================================================================== --- libgfortran/generated/maxloc0_8_i1.c (revision 261075) +++ libgfortran/generated/maxloc0_8_i1.c (working copy) @@ -54,7 +54,7 @@ maxloc0_8_i1 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mmaxloc0_8_i1 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -383,7 +383,7 @@ smaxloc0_8_i1 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/maxloc0_8_i16.c =================================================================== --- libgfortran/generated/maxloc0_8_i16.c (revision 261075) +++ libgfortran/generated/maxloc0_8_i16.c (working copy) @@ -54,7 +54,7 @@ maxloc0_8_i16 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mmaxloc0_8_i16 (gfc_array_i8 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -383,7 +383,7 @@ smaxloc0_8_i16 (gfc_array_i8 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/maxloc0_8_i2.c =================================================================== --- libgfortran/generated/maxloc0_8_i2.c (revision 261075) +++ libgfortran/generated/maxloc0_8_i2.c (working copy) @@ -54,7 +54,7 @@ maxloc0_8_i2 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mmaxloc0_8_i2 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -383,7 +383,7 @@ smaxloc0_8_i2 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/maxloc0_8_i4.c =================================================================== --- libgfortran/generated/maxloc0_8_i4.c (revision 261075) +++ libgfortran/generated/maxloc0_8_i4.c (working copy) @@ -54,7 +54,7 @@ maxloc0_8_i4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mmaxloc0_8_i4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -383,7 +383,7 @@ smaxloc0_8_i4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/maxloc0_8_i8.c =================================================================== --- libgfortran/generated/maxloc0_8_i8.c (revision 261075) +++ libgfortran/generated/maxloc0_8_i8.c (working copy) @@ -54,7 +54,7 @@ maxloc0_8_i8 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mmaxloc0_8_i8 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -383,7 +383,7 @@ smaxloc0_8_i8 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/maxloc0_8_r10.c =================================================================== --- libgfortran/generated/maxloc0_8_r10.c (revision 261075) +++ libgfortran/generated/maxloc0_8_r10.c (working copy) @@ -54,7 +54,7 @@ maxloc0_8_r10 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mmaxloc0_8_r10 (gfc_array_i8 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -383,7 +383,7 @@ smaxloc0_8_r10 (gfc_array_i8 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/maxloc0_8_r16.c =================================================================== --- libgfortran/generated/maxloc0_8_r16.c (revision 261075) +++ libgfortran/generated/maxloc0_8_r16.c (working copy) @@ -54,7 +54,7 @@ maxloc0_8_r16 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mmaxloc0_8_r16 (gfc_array_i8 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -383,7 +383,7 @@ smaxloc0_8_r16 (gfc_array_i8 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/maxloc0_8_r4.c =================================================================== --- libgfortran/generated/maxloc0_8_r4.c (revision 261075) +++ libgfortran/generated/maxloc0_8_r4.c (working copy) @@ -54,7 +54,7 @@ maxloc0_8_r4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mmaxloc0_8_r4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -383,7 +383,7 @@ smaxloc0_8_r4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/maxloc0_8_r8.c =================================================================== --- libgfortran/generated/maxloc0_8_r8.c (revision 261075) +++ libgfortran/generated/maxloc0_8_r8.c (working copy) @@ -54,7 +54,7 @@ maxloc0_8_r8 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mmaxloc0_8_r8 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -383,7 +383,7 @@ smaxloc0_8_r8 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/maxloc0_8_s1.c =================================================================== --- libgfortran/generated/maxloc0_8_s1.c (revision 261075) +++ libgfortran/generated/maxloc0_8_s1.c (working copy) @@ -68,7 +68,7 @@ maxloc0_8_s1 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -181,7 +181,7 @@ mmaxloc0_8_s1 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -322,7 +322,7 @@ smaxloc0_8_s1 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/maxloc0_8_s4.c =================================================================== --- libgfortran/generated/maxloc0_8_s4.c (revision 261075) +++ libgfortran/generated/maxloc0_8_s4.c (working copy) @@ -68,7 +68,7 @@ maxloc0_8_s4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -181,7 +181,7 @@ mmaxloc0_8_s4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -322,7 +322,7 @@ smaxloc0_8_s4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/maxloc1_16_i1.c =================================================================== --- libgfortran/generated/maxloc1_16_i1.c (revision 261075) +++ libgfortran/generated/maxloc1_16_i1.c (working copy) @@ -103,7 +103,7 @@ maxloc1_16_i1 (gfc_array_i16 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_16_i1 (gfc_array_i16 * const restrict retarra alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_16_i1 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_16_i16.c =================================================================== --- libgfortran/generated/maxloc1_16_i16.c (revision 261075) +++ libgfortran/generated/maxloc1_16_i16.c (working copy) @@ -103,7 +103,7 @@ maxloc1_16_i16 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_16_i16 (gfc_array_i16 * const restrict retarr alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_16_i16 (gfc_array_i16 * const restrict retarr } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_16_i2.c =================================================================== --- libgfortran/generated/maxloc1_16_i2.c (revision 261075) +++ libgfortran/generated/maxloc1_16_i2.c (working copy) @@ -103,7 +103,7 @@ maxloc1_16_i2 (gfc_array_i16 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_16_i2 (gfc_array_i16 * const restrict retarra alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_16_i2 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_16_i4.c =================================================================== --- libgfortran/generated/maxloc1_16_i4.c (revision 261075) +++ libgfortran/generated/maxloc1_16_i4.c (working copy) @@ -103,7 +103,7 @@ maxloc1_16_i4 (gfc_array_i16 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_16_i4 (gfc_array_i16 * const restrict retarra alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_16_i4 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_16_i8.c =================================================================== --- libgfortran/generated/maxloc1_16_i8.c (revision 261075) +++ libgfortran/generated/maxloc1_16_i8.c (working copy) @@ -103,7 +103,7 @@ maxloc1_16_i8 (gfc_array_i16 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_16_i8 (gfc_array_i16 * const restrict retarra alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_16_i8 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_16_r10.c =================================================================== --- libgfortran/generated/maxloc1_16_r10.c (revision 261075) +++ libgfortran/generated/maxloc1_16_r10.c (working copy) @@ -103,7 +103,7 @@ maxloc1_16_r10 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_16_r10 (gfc_array_i16 * const restrict retarr alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_16_r10 (gfc_array_i16 * const restrict retarr } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_16_r16.c =================================================================== --- libgfortran/generated/maxloc1_16_r16.c (revision 261075) +++ libgfortran/generated/maxloc1_16_r16.c (working copy) @@ -103,7 +103,7 @@ maxloc1_16_r16 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_16_r16 (gfc_array_i16 * const restrict retarr alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_16_r16 (gfc_array_i16 * const restrict retarr } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_16_r4.c =================================================================== --- libgfortran/generated/maxloc1_16_r4.c (revision 261075) +++ libgfortran/generated/maxloc1_16_r4.c (working copy) @@ -103,7 +103,7 @@ maxloc1_16_r4 (gfc_array_i16 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_16_r4 (gfc_array_i16 * const restrict retarra alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_16_r4 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_16_r8.c =================================================================== --- libgfortran/generated/maxloc1_16_r8.c (revision 261075) +++ libgfortran/generated/maxloc1_16_r8.c (working copy) @@ -103,7 +103,7 @@ maxloc1_16_r8 (gfc_array_i16 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_16_r8 (gfc_array_i16 * const restrict retarra alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_16_r8 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_16_s1.c =================================================================== --- libgfortran/generated/maxloc1_16_s1.c (revision 261075) +++ libgfortran/generated/maxloc1_16_s1.c (working copy) @@ -115,7 +115,7 @@ maxloc1_16_s1 (gfc_array_i16 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -310,7 +310,7 @@ mmaxloc1_16_s1 (gfc_array_i16 * const restrict retarra alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -489,7 +489,7 @@ smaxloc1_16_s1 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_16_s4.c =================================================================== --- libgfortran/generated/maxloc1_16_s4.c (revision 261075) +++ libgfortran/generated/maxloc1_16_s4.c (working copy) @@ -115,7 +115,7 @@ maxloc1_16_s4 (gfc_array_i16 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -310,7 +310,7 @@ mmaxloc1_16_s4 (gfc_array_i16 * const restrict retarra alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -489,7 +489,7 @@ smaxloc1_16_s4 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_4_i1.c =================================================================== --- libgfortran/generated/maxloc1_4_i1.c (revision 261075) +++ libgfortran/generated/maxloc1_4_i1.c (working copy) @@ -103,7 +103,7 @@ maxloc1_4_i1 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_4_i1 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_4_i1 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_4_i16.c =================================================================== --- libgfortran/generated/maxloc1_4_i16.c (revision 261075) +++ libgfortran/generated/maxloc1_4_i16.c (working copy) @@ -103,7 +103,7 @@ maxloc1_4_i16 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_4_i16 (gfc_array_i4 * const restrict retarray alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_4_i16 (gfc_array_i4 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_4_i2.c =================================================================== --- libgfortran/generated/maxloc1_4_i2.c (revision 261075) +++ libgfortran/generated/maxloc1_4_i2.c (working copy) @@ -103,7 +103,7 @@ maxloc1_4_i2 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_4_i2 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_4_i2 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_4_i4.c =================================================================== --- libgfortran/generated/maxloc1_4_i4.c (revision 261075) +++ libgfortran/generated/maxloc1_4_i4.c (working copy) @@ -103,7 +103,7 @@ maxloc1_4_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_4_i4 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_4_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_4_i8.c =================================================================== --- libgfortran/generated/maxloc1_4_i8.c (revision 261075) +++ libgfortran/generated/maxloc1_4_i8.c (working copy) @@ -103,7 +103,7 @@ maxloc1_4_i8 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_4_i8 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_4_i8 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_4_r10.c =================================================================== --- libgfortran/generated/maxloc1_4_r10.c (revision 261075) +++ libgfortran/generated/maxloc1_4_r10.c (working copy) @@ -103,7 +103,7 @@ maxloc1_4_r10 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_4_r10 (gfc_array_i4 * const restrict retarray alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_4_r10 (gfc_array_i4 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_4_r16.c =================================================================== --- libgfortran/generated/maxloc1_4_r16.c (revision 261075) +++ libgfortran/generated/maxloc1_4_r16.c (working copy) @@ -103,7 +103,7 @@ maxloc1_4_r16 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_4_r16 (gfc_array_i4 * const restrict retarray alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_4_r16 (gfc_array_i4 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_4_r4.c =================================================================== --- libgfortran/generated/maxloc1_4_r4.c (revision 261075) +++ libgfortran/generated/maxloc1_4_r4.c (working copy) @@ -103,7 +103,7 @@ maxloc1_4_r4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_4_r4 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_4_r4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_4_r8.c =================================================================== --- libgfortran/generated/maxloc1_4_r8.c (revision 261075) +++ libgfortran/generated/maxloc1_4_r8.c (working copy) @@ -103,7 +103,7 @@ maxloc1_4_r8 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_4_r8 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_4_r8 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_4_s1.c =================================================================== --- libgfortran/generated/maxloc1_4_s1.c (revision 261075) +++ libgfortran/generated/maxloc1_4_s1.c (working copy) @@ -115,7 +115,7 @@ maxloc1_4_s1 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -310,7 +310,7 @@ mmaxloc1_4_s1 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -489,7 +489,7 @@ smaxloc1_4_s1 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_4_s4.c =================================================================== --- libgfortran/generated/maxloc1_4_s4.c (revision 261075) +++ libgfortran/generated/maxloc1_4_s4.c (working copy) @@ -115,7 +115,7 @@ maxloc1_4_s4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -310,7 +310,7 @@ mmaxloc1_4_s4 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -489,7 +489,7 @@ smaxloc1_4_s4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_8_i1.c =================================================================== --- libgfortran/generated/maxloc1_8_i1.c (revision 261075) +++ libgfortran/generated/maxloc1_8_i1.c (working copy) @@ -103,7 +103,7 @@ maxloc1_8_i1 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_8_i1 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_8_i1 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_8_i16.c =================================================================== --- libgfortran/generated/maxloc1_8_i16.c (revision 261075) +++ libgfortran/generated/maxloc1_8_i16.c (working copy) @@ -103,7 +103,7 @@ maxloc1_8_i16 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_8_i16 (gfc_array_i8 * const restrict retarray alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_8_i16 (gfc_array_i8 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_8_i2.c =================================================================== --- libgfortran/generated/maxloc1_8_i2.c (revision 261075) +++ libgfortran/generated/maxloc1_8_i2.c (working copy) @@ -103,7 +103,7 @@ maxloc1_8_i2 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_8_i2 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_8_i2 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_8_i4.c =================================================================== --- libgfortran/generated/maxloc1_8_i4.c (revision 261075) +++ libgfortran/generated/maxloc1_8_i4.c (working copy) @@ -103,7 +103,7 @@ maxloc1_8_i4 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_8_i4 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_8_i4 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_8_i8.c =================================================================== --- libgfortran/generated/maxloc1_8_i8.c (revision 261075) +++ libgfortran/generated/maxloc1_8_i8.c (working copy) @@ -103,7 +103,7 @@ maxloc1_8_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_8_i8 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_8_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_8_r10.c =================================================================== --- libgfortran/generated/maxloc1_8_r10.c (revision 261075) +++ libgfortran/generated/maxloc1_8_r10.c (working copy) @@ -103,7 +103,7 @@ maxloc1_8_r10 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_8_r10 (gfc_array_i8 * const restrict retarray alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_8_r10 (gfc_array_i8 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_8_r16.c =================================================================== --- libgfortran/generated/maxloc1_8_r16.c (revision 261075) +++ libgfortran/generated/maxloc1_8_r16.c (working copy) @@ -103,7 +103,7 @@ maxloc1_8_r16 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_8_r16 (gfc_array_i8 * const restrict retarray alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_8_r16 (gfc_array_i8 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_8_r4.c =================================================================== --- libgfortran/generated/maxloc1_8_r4.c (revision 261075) +++ libgfortran/generated/maxloc1_8_r4.c (working copy) @@ -103,7 +103,7 @@ maxloc1_8_r4 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_8_r4 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_8_r4 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_8_r8.c =================================================================== --- libgfortran/generated/maxloc1_8_r8.c (revision 261075) +++ libgfortran/generated/maxloc1_8_r8.c (working copy) @@ -103,7 +103,7 @@ maxloc1_8_r8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -317,7 +317,7 @@ mmaxloc1_8_r8 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -523,7 +523,7 @@ smaxloc1_8_r8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_8_s1.c =================================================================== --- libgfortran/generated/maxloc1_8_s1.c (revision 261075) +++ libgfortran/generated/maxloc1_8_s1.c (working copy) @@ -115,7 +115,7 @@ maxloc1_8_s1 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -310,7 +310,7 @@ mmaxloc1_8_s1 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -489,7 +489,7 @@ smaxloc1_8_s1 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxloc1_8_s4.c =================================================================== --- libgfortran/generated/maxloc1_8_s4.c (revision 261075) +++ libgfortran/generated/maxloc1_8_s4.c (working copy) @@ -115,7 +115,7 @@ maxloc1_8_s4 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -310,7 +310,7 @@ mmaxloc1_8_s4 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -489,7 +489,7 @@ smaxloc1_8_s4 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxval1_s1.c =================================================================== --- libgfortran/generated/maxval1_s1.c (revision 261075) +++ libgfortran/generated/maxval1_s1.c (working copy) @@ -114,7 +114,7 @@ maxval1_s1 (gfc_array_s1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1] * string_len; @@ -310,7 +310,7 @@ mmaxval1_s1 (gfc_array_s1 * const restrict retarray, * string_len; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -485,7 +485,7 @@ smaxval1_s1 (gfc_array_s1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1] * string_len; Index: libgfortran/generated/maxval1_s4.c =================================================================== --- libgfortran/generated/maxval1_s4.c (revision 261075) +++ libgfortran/generated/maxval1_s4.c (working copy) @@ -114,7 +114,7 @@ maxval1_s4 (gfc_array_s4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1] * string_len; @@ -310,7 +310,7 @@ mmaxval1_s4 (gfc_array_s4 * const restrict retarray, * string_len; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -485,7 +485,7 @@ smaxval1_s4 (gfc_array_s4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1] * string_len; Index: libgfortran/generated/maxval_i1.c =================================================================== --- libgfortran/generated/maxval_i1.c (revision 261075) +++ libgfortran/generated/maxval_i1.c (working copy) @@ -100,7 +100,7 @@ maxval_i1 (gfc_array_i1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mmaxval_i1 (gfc_array_i1 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ smaxval_i1 (gfc_array_i1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxval_i16.c =================================================================== --- libgfortran/generated/maxval_i16.c (revision 261075) +++ libgfortran/generated/maxval_i16.c (working copy) @@ -100,7 +100,7 @@ maxval_i16 (gfc_array_i16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mmaxval_i16 (gfc_array_i16 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ smaxval_i16 (gfc_array_i16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxval_i2.c =================================================================== --- libgfortran/generated/maxval_i2.c (revision 261075) +++ libgfortran/generated/maxval_i2.c (working copy) @@ -100,7 +100,7 @@ maxval_i2 (gfc_array_i2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mmaxval_i2 (gfc_array_i2 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ smaxval_i2 (gfc_array_i2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxval_i4.c =================================================================== --- libgfortran/generated/maxval_i4.c (revision 261075) +++ libgfortran/generated/maxval_i4.c (working copy) @@ -100,7 +100,7 @@ maxval_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mmaxval_i4 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ smaxval_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxval_i8.c =================================================================== --- libgfortran/generated/maxval_i8.c (revision 261075) +++ libgfortran/generated/maxval_i8.c (working copy) @@ -100,7 +100,7 @@ maxval_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mmaxval_i8 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ smaxval_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxval_r10.c =================================================================== --- libgfortran/generated/maxval_r10.c (revision 261075) +++ libgfortran/generated/maxval_r10.c (working copy) @@ -100,7 +100,7 @@ maxval_r10 (gfc_array_r10 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mmaxval_r10 (gfc_array_r10 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ smaxval_r10 (gfc_array_r10 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxval_r16.c =================================================================== --- libgfortran/generated/maxval_r16.c (revision 261075) +++ libgfortran/generated/maxval_r16.c (working copy) @@ -100,7 +100,7 @@ maxval_r16 (gfc_array_r16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mmaxval_r16 (gfc_array_r16 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ smaxval_r16 (gfc_array_r16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxval_r4.c =================================================================== --- libgfortran/generated/maxval_r4.c (revision 261075) +++ libgfortran/generated/maxval_r4.c (working copy) @@ -100,7 +100,7 @@ maxval_r4 (gfc_array_r4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mmaxval_r4 (gfc_array_r4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ smaxval_r4 (gfc_array_r4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/maxval_r8.c =================================================================== --- libgfortran/generated/maxval_r8.c (revision 261075) +++ libgfortran/generated/maxval_r8.c (working copy) @@ -100,7 +100,7 @@ maxval_r8 (gfc_array_r8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mmaxval_r8 (gfc_array_r8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ smaxval_r8 (gfc_array_r8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc0_16_i1.c =================================================================== --- libgfortran/generated/minloc0_16_i1.c (revision 261075) +++ libgfortran/generated/minloc0_16_i1.c (working copy) @@ -54,7 +54,7 @@ minloc0_16_i1 (gfc_array_i16 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mminloc0_16_i1 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -382,7 +382,7 @@ sminloc0_16_i1 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/minloc0_16_i16.c =================================================================== --- libgfortran/generated/minloc0_16_i16.c (revision 261075) +++ libgfortran/generated/minloc0_16_i16.c (working copy) @@ -54,7 +54,7 @@ minloc0_16_i16 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mminloc0_16_i16 (gfc_array_i16 * const restrict retarr if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -382,7 +382,7 @@ sminloc0_16_i16 (gfc_array_i16 * const restrict retarr if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/minloc0_16_i2.c =================================================================== --- libgfortran/generated/minloc0_16_i2.c (revision 261075) +++ libgfortran/generated/minloc0_16_i2.c (working copy) @@ -54,7 +54,7 @@ minloc0_16_i2 (gfc_array_i16 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mminloc0_16_i2 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -382,7 +382,7 @@ sminloc0_16_i2 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/minloc0_16_i4.c =================================================================== --- libgfortran/generated/minloc0_16_i4.c (revision 261075) +++ libgfortran/generated/minloc0_16_i4.c (working copy) @@ -54,7 +54,7 @@ minloc0_16_i4 (gfc_array_i16 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mminloc0_16_i4 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -382,7 +382,7 @@ sminloc0_16_i4 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/minloc0_16_i8.c =================================================================== --- libgfortran/generated/minloc0_16_i8.c (revision 261075) +++ libgfortran/generated/minloc0_16_i8.c (working copy) @@ -54,7 +54,7 @@ minloc0_16_i8 (gfc_array_i16 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mminloc0_16_i8 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -382,7 +382,7 @@ sminloc0_16_i8 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/minloc0_16_r10.c =================================================================== --- libgfortran/generated/minloc0_16_r10.c (revision 261075) +++ libgfortran/generated/minloc0_16_r10.c (working copy) @@ -54,7 +54,7 @@ minloc0_16_r10 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mminloc0_16_r10 (gfc_array_i16 * const restrict retarr if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -382,7 +382,7 @@ sminloc0_16_r10 (gfc_array_i16 * const restrict retarr if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/minloc0_16_r16.c =================================================================== --- libgfortran/generated/minloc0_16_r16.c (revision 261075) +++ libgfortran/generated/minloc0_16_r16.c (working copy) @@ -54,7 +54,7 @@ minloc0_16_r16 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mminloc0_16_r16 (gfc_array_i16 * const restrict retarr if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -382,7 +382,7 @@ sminloc0_16_r16 (gfc_array_i16 * const restrict retarr if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/minloc0_16_r4.c =================================================================== --- libgfortran/generated/minloc0_16_r4.c (revision 261075) +++ libgfortran/generated/minloc0_16_r4.c (working copy) @@ -54,7 +54,7 @@ minloc0_16_r4 (gfc_array_i16 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mminloc0_16_r4 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -382,7 +382,7 @@ sminloc0_16_r4 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/minloc0_16_r8.c =================================================================== --- libgfortran/generated/minloc0_16_r8.c (revision 261075) +++ libgfortran/generated/minloc0_16_r8.c (working copy) @@ -54,7 +54,7 @@ minloc0_16_r8 (gfc_array_i16 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -205,7 +205,7 @@ mminloc0_16_r8 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -382,7 +382,7 @@ sminloc0_16_r8 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/minloc0_16_s1.c =================================================================== --- libgfortran/generated/minloc0_16_s1.c (revision 261075) +++ libgfortran/generated/minloc0_16_s1.c (working copy) @@ -68,7 +68,7 @@ minloc0_16_s1 (gfc_array_i16 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -181,7 +181,7 @@ mminloc0_16_s1 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -322,7 +322,7 @@ sminloc0_16_s1 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/minloc0_16_s4.c =================================================================== --- libgfortran/generated/minloc0_16_s4.c (revision 261075) +++ libgfortran/generated/minloc0_16_s4.c (working copy) @@ -68,7 +68,7 @@ minloc0_16_s4 (gfc_array_i16 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -181,7 +181,7 @@ mminloc0_16_s4 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } @@ -322,7 +322,7 @@ sminloc0_16_s4 (gfc_array_i16 * const restrict retarra if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_16)); } Index: libgfortran/generated/minloc0_4_i1.c =================================================================== --- libgfortran/generated/minloc0_4_i1.c (revision 261075) +++ libgfortran/generated/minloc0_4_i1.c (working copy) @@ -54,7 +54,7 @@ minloc0_4_i1 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mminloc0_4_i1 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -382,7 +382,7 @@ sminloc0_4_i1 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/minloc0_4_i16.c =================================================================== --- libgfortran/generated/minloc0_4_i16.c (revision 261075) +++ libgfortran/generated/minloc0_4_i16.c (working copy) @@ -54,7 +54,7 @@ minloc0_4_i16 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mminloc0_4_i16 (gfc_array_i4 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -382,7 +382,7 @@ sminloc0_4_i16 (gfc_array_i4 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/minloc0_4_i2.c =================================================================== --- libgfortran/generated/minloc0_4_i2.c (revision 261075) +++ libgfortran/generated/minloc0_4_i2.c (working copy) @@ -54,7 +54,7 @@ minloc0_4_i2 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mminloc0_4_i2 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -382,7 +382,7 @@ sminloc0_4_i2 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/minloc0_4_i4.c =================================================================== --- libgfortran/generated/minloc0_4_i4.c (revision 261075) +++ libgfortran/generated/minloc0_4_i4.c (working copy) @@ -54,7 +54,7 @@ minloc0_4_i4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mminloc0_4_i4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -382,7 +382,7 @@ sminloc0_4_i4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/minloc0_4_i8.c =================================================================== --- libgfortran/generated/minloc0_4_i8.c (revision 261075) +++ libgfortran/generated/minloc0_4_i8.c (working copy) @@ -54,7 +54,7 @@ minloc0_4_i8 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mminloc0_4_i8 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -382,7 +382,7 @@ sminloc0_4_i8 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/minloc0_4_r10.c =================================================================== --- libgfortran/generated/minloc0_4_r10.c (revision 261075) +++ libgfortran/generated/minloc0_4_r10.c (working copy) @@ -54,7 +54,7 @@ minloc0_4_r10 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mminloc0_4_r10 (gfc_array_i4 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -382,7 +382,7 @@ sminloc0_4_r10 (gfc_array_i4 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/minloc0_4_r16.c =================================================================== --- libgfortran/generated/minloc0_4_r16.c (revision 261075) +++ libgfortran/generated/minloc0_4_r16.c (working copy) @@ -54,7 +54,7 @@ minloc0_4_r16 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mminloc0_4_r16 (gfc_array_i4 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -382,7 +382,7 @@ sminloc0_4_r16 (gfc_array_i4 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/minloc0_4_r4.c =================================================================== --- libgfortran/generated/minloc0_4_r4.c (revision 261075) +++ libgfortran/generated/minloc0_4_r4.c (working copy) @@ -54,7 +54,7 @@ minloc0_4_r4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mminloc0_4_r4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -382,7 +382,7 @@ sminloc0_4_r4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/minloc0_4_r8.c =================================================================== --- libgfortran/generated/minloc0_4_r8.c (revision 261075) +++ libgfortran/generated/minloc0_4_r8.c (working copy) @@ -54,7 +54,7 @@ minloc0_4_r8 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -205,7 +205,7 @@ mminloc0_4_r8 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -382,7 +382,7 @@ sminloc0_4_r8 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/minloc0_4_s1.c =================================================================== --- libgfortran/generated/minloc0_4_s1.c (revision 261075) +++ libgfortran/generated/minloc0_4_s1.c (working copy) @@ -68,7 +68,7 @@ minloc0_4_s1 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -181,7 +181,7 @@ mminloc0_4_s1 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -322,7 +322,7 @@ sminloc0_4_s1 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/minloc0_4_s4.c =================================================================== --- libgfortran/generated/minloc0_4_s4.c (revision 261075) +++ libgfortran/generated/minloc0_4_s4.c (working copy) @@ -68,7 +68,7 @@ minloc0_4_s4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -181,7 +181,7 @@ mminloc0_4_s4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } @@ -322,7 +322,7 @@ sminloc0_4_s4 (gfc_array_i4 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_4)); } Index: libgfortran/generated/minloc0_8_i1.c =================================================================== --- libgfortran/generated/minloc0_8_i1.c (revision 261075) +++ libgfortran/generated/minloc0_8_i1.c (working copy) @@ -54,7 +54,7 @@ minloc0_8_i1 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mminloc0_8_i1 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -382,7 +382,7 @@ sminloc0_8_i1 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/minloc0_8_i16.c =================================================================== --- libgfortran/generated/minloc0_8_i16.c (revision 261075) +++ libgfortran/generated/minloc0_8_i16.c (working copy) @@ -54,7 +54,7 @@ minloc0_8_i16 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mminloc0_8_i16 (gfc_array_i8 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -382,7 +382,7 @@ sminloc0_8_i16 (gfc_array_i8 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/minloc0_8_i2.c =================================================================== --- libgfortran/generated/minloc0_8_i2.c (revision 261075) +++ libgfortran/generated/minloc0_8_i2.c (working copy) @@ -54,7 +54,7 @@ minloc0_8_i2 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mminloc0_8_i2 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -382,7 +382,7 @@ sminloc0_8_i2 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/minloc0_8_i4.c =================================================================== --- libgfortran/generated/minloc0_8_i4.c (revision 261075) +++ libgfortran/generated/minloc0_8_i4.c (working copy) @@ -54,7 +54,7 @@ minloc0_8_i4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mminloc0_8_i4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -382,7 +382,7 @@ sminloc0_8_i4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/minloc0_8_i8.c =================================================================== --- libgfortran/generated/minloc0_8_i8.c (revision 261075) +++ libgfortran/generated/minloc0_8_i8.c (working copy) @@ -54,7 +54,7 @@ minloc0_8_i8 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mminloc0_8_i8 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -382,7 +382,7 @@ sminloc0_8_i8 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/minloc0_8_r10.c =================================================================== --- libgfortran/generated/minloc0_8_r10.c (revision 261075) +++ libgfortran/generated/minloc0_8_r10.c (working copy) @@ -54,7 +54,7 @@ minloc0_8_r10 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mminloc0_8_r10 (gfc_array_i8 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -382,7 +382,7 @@ sminloc0_8_r10 (gfc_array_i8 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/minloc0_8_r16.c =================================================================== --- libgfortran/generated/minloc0_8_r16.c (revision 261075) +++ libgfortran/generated/minloc0_8_r16.c (working copy) @@ -54,7 +54,7 @@ minloc0_8_r16 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mminloc0_8_r16 (gfc_array_i8 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -382,7 +382,7 @@ sminloc0_8_r16 (gfc_array_i8 * const restrict retarray if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/minloc0_8_r4.c =================================================================== --- libgfortran/generated/minloc0_8_r4.c (revision 261075) +++ libgfortran/generated/minloc0_8_r4.c (working copy) @@ -54,7 +54,7 @@ minloc0_8_r4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mminloc0_8_r4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -382,7 +382,7 @@ sminloc0_8_r4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/minloc0_8_r8.c =================================================================== --- libgfortran/generated/minloc0_8_r8.c (revision 261075) +++ libgfortran/generated/minloc0_8_r8.c (working copy) @@ -54,7 +54,7 @@ minloc0_8_r8 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -205,7 +205,7 @@ mminloc0_8_r8 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -382,7 +382,7 @@ sminloc0_8_r8 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/minloc0_8_s1.c =================================================================== --- libgfortran/generated/minloc0_8_s1.c (revision 261075) +++ libgfortran/generated/minloc0_8_s1.c (working copy) @@ -68,7 +68,7 @@ minloc0_8_s1 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -181,7 +181,7 @@ mminloc0_8_s1 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -322,7 +322,7 @@ sminloc0_8_s1 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/minloc0_8_s4.c =================================================================== --- libgfortran/generated/minloc0_8_s4.c (revision 261075) +++ libgfortran/generated/minloc0_8_s4.c (working copy) @@ -68,7 +68,7 @@ minloc0_8_s4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -181,7 +181,7 @@ mminloc0_8_s4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } @@ -322,7 +322,7 @@ sminloc0_8_s4 (gfc_array_i8 * const restrict retarray, if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (GFC_INTEGER_8)); } Index: libgfortran/generated/minloc1_16_i1.c =================================================================== --- libgfortran/generated/minloc1_16_i1.c (revision 261075) +++ libgfortran/generated/minloc1_16_i1.c (working copy) @@ -103,7 +103,7 @@ minloc1_16_i1 (gfc_array_i16 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_16_i1 (gfc_array_i16 * const restrict retarra alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_16_i1 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_16_i16.c =================================================================== --- libgfortran/generated/minloc1_16_i16.c (revision 261075) +++ libgfortran/generated/minloc1_16_i16.c (working copy) @@ -103,7 +103,7 @@ minloc1_16_i16 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_16_i16 (gfc_array_i16 * const restrict retarr alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_16_i16 (gfc_array_i16 * const restrict retarr } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_16_i2.c =================================================================== --- libgfortran/generated/minloc1_16_i2.c (revision 261075) +++ libgfortran/generated/minloc1_16_i2.c (working copy) @@ -103,7 +103,7 @@ minloc1_16_i2 (gfc_array_i16 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_16_i2 (gfc_array_i16 * const restrict retarra alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_16_i2 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_16_i4.c =================================================================== --- libgfortran/generated/minloc1_16_i4.c (revision 261075) +++ libgfortran/generated/minloc1_16_i4.c (working copy) @@ -103,7 +103,7 @@ minloc1_16_i4 (gfc_array_i16 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_16_i4 (gfc_array_i16 * const restrict retarra alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_16_i4 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_16_i8.c =================================================================== --- libgfortran/generated/minloc1_16_i8.c (revision 261075) +++ libgfortran/generated/minloc1_16_i8.c (working copy) @@ -103,7 +103,7 @@ minloc1_16_i8 (gfc_array_i16 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_16_i8 (gfc_array_i16 * const restrict retarra alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_16_i8 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_16_r10.c =================================================================== --- libgfortran/generated/minloc1_16_r10.c (revision 261075) +++ libgfortran/generated/minloc1_16_r10.c (working copy) @@ -103,7 +103,7 @@ minloc1_16_r10 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_16_r10 (gfc_array_i16 * const restrict retarr alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_16_r10 (gfc_array_i16 * const restrict retarr } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_16_r16.c =================================================================== --- libgfortran/generated/minloc1_16_r16.c (revision 261075) +++ libgfortran/generated/minloc1_16_r16.c (working copy) @@ -103,7 +103,7 @@ minloc1_16_r16 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_16_r16 (gfc_array_i16 * const restrict retarr alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_16_r16 (gfc_array_i16 * const restrict retarr } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_16_r4.c =================================================================== --- libgfortran/generated/minloc1_16_r4.c (revision 261075) +++ libgfortran/generated/minloc1_16_r4.c (working copy) @@ -103,7 +103,7 @@ minloc1_16_r4 (gfc_array_i16 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_16_r4 (gfc_array_i16 * const restrict retarra alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_16_r4 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_16_r8.c =================================================================== --- libgfortran/generated/minloc1_16_r8.c (revision 261075) +++ libgfortran/generated/minloc1_16_r8.c (working copy) @@ -103,7 +103,7 @@ minloc1_16_r8 (gfc_array_i16 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_16_r8 (gfc_array_i16 * const restrict retarra alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_16_r8 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_16_s1.c =================================================================== --- libgfortran/generated/minloc1_16_s1.c (revision 261075) +++ libgfortran/generated/minloc1_16_s1.c (working copy) @@ -115,7 +115,7 @@ minloc1_16_s1 (gfc_array_i16 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -310,7 +310,7 @@ mminloc1_16_s1 (gfc_array_i16 * const restrict retarra alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -489,7 +489,7 @@ sminloc1_16_s1 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_16_s4.c =================================================================== --- libgfortran/generated/minloc1_16_s4.c (revision 261075) +++ libgfortran/generated/minloc1_16_s4.c (working copy) @@ -115,7 +115,7 @@ minloc1_16_s4 (gfc_array_i16 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -310,7 +310,7 @@ mminloc1_16_s4 (gfc_array_i16 * const restrict retarra alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -489,7 +489,7 @@ sminloc1_16_s4 (gfc_array_i16 * const restrict retarra } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_4_i1.c =================================================================== --- libgfortran/generated/minloc1_4_i1.c (revision 261075) +++ libgfortran/generated/minloc1_4_i1.c (working copy) @@ -103,7 +103,7 @@ minloc1_4_i1 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_4_i1 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_4_i1 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_4_i16.c =================================================================== --- libgfortran/generated/minloc1_4_i16.c (revision 261075) +++ libgfortran/generated/minloc1_4_i16.c (working copy) @@ -103,7 +103,7 @@ minloc1_4_i16 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_4_i16 (gfc_array_i4 * const restrict retarray alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_4_i16 (gfc_array_i4 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_4_i2.c =================================================================== --- libgfortran/generated/minloc1_4_i2.c (revision 261075) +++ libgfortran/generated/minloc1_4_i2.c (working copy) @@ -103,7 +103,7 @@ minloc1_4_i2 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_4_i2 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_4_i2 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_4_i4.c =================================================================== --- libgfortran/generated/minloc1_4_i4.c (revision 261075) +++ libgfortran/generated/minloc1_4_i4.c (working copy) @@ -103,7 +103,7 @@ minloc1_4_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_4_i4 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_4_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_4_i8.c =================================================================== --- libgfortran/generated/minloc1_4_i8.c (revision 261075) +++ libgfortran/generated/minloc1_4_i8.c (working copy) @@ -103,7 +103,7 @@ minloc1_4_i8 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_4_i8 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_4_i8 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_4_r10.c =================================================================== --- libgfortran/generated/minloc1_4_r10.c (revision 261075) +++ libgfortran/generated/minloc1_4_r10.c (working copy) @@ -103,7 +103,7 @@ minloc1_4_r10 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_4_r10 (gfc_array_i4 * const restrict retarray alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_4_r10 (gfc_array_i4 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_4_r16.c =================================================================== --- libgfortran/generated/minloc1_4_r16.c (revision 261075) +++ libgfortran/generated/minloc1_4_r16.c (working copy) @@ -103,7 +103,7 @@ minloc1_4_r16 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_4_r16 (gfc_array_i4 * const restrict retarray alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_4_r16 (gfc_array_i4 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_4_r4.c =================================================================== --- libgfortran/generated/minloc1_4_r4.c (revision 261075) +++ libgfortran/generated/minloc1_4_r4.c (working copy) @@ -103,7 +103,7 @@ minloc1_4_r4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_4_r4 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_4_r4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_4_r8.c =================================================================== --- libgfortran/generated/minloc1_4_r8.c (revision 261075) +++ libgfortran/generated/minloc1_4_r8.c (working copy) @@ -103,7 +103,7 @@ minloc1_4_r8 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_4_r8 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_4_r8 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_4_s1.c =================================================================== --- libgfortran/generated/minloc1_4_s1.c (revision 261075) +++ libgfortran/generated/minloc1_4_s1.c (working copy) @@ -115,7 +115,7 @@ minloc1_4_s1 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -310,7 +310,7 @@ mminloc1_4_s1 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -489,7 +489,7 @@ sminloc1_4_s1 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_4_s4.c =================================================================== --- libgfortran/generated/minloc1_4_s4.c (revision 261075) +++ libgfortran/generated/minloc1_4_s4.c (working copy) @@ -115,7 +115,7 @@ minloc1_4_s4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -310,7 +310,7 @@ mminloc1_4_s4 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -489,7 +489,7 @@ sminloc1_4_s4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_8_i1.c =================================================================== --- libgfortran/generated/minloc1_8_i1.c (revision 261075) +++ libgfortran/generated/minloc1_8_i1.c (working copy) @@ -103,7 +103,7 @@ minloc1_8_i1 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_8_i1 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_8_i1 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_8_i16.c =================================================================== --- libgfortran/generated/minloc1_8_i16.c (revision 261075) +++ libgfortran/generated/minloc1_8_i16.c (working copy) @@ -103,7 +103,7 @@ minloc1_8_i16 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_8_i16 (gfc_array_i8 * const restrict retarray alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_8_i16 (gfc_array_i8 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_8_i2.c =================================================================== --- libgfortran/generated/minloc1_8_i2.c (revision 261075) +++ libgfortran/generated/minloc1_8_i2.c (working copy) @@ -103,7 +103,7 @@ minloc1_8_i2 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_8_i2 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_8_i2 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_8_i4.c =================================================================== --- libgfortran/generated/minloc1_8_i4.c (revision 261075) +++ libgfortran/generated/minloc1_8_i4.c (working copy) @@ -103,7 +103,7 @@ minloc1_8_i4 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_8_i4 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_8_i4 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_8_i8.c =================================================================== --- libgfortran/generated/minloc1_8_i8.c (revision 261075) +++ libgfortran/generated/minloc1_8_i8.c (working copy) @@ -103,7 +103,7 @@ minloc1_8_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_8_i8 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_8_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_8_r10.c =================================================================== --- libgfortran/generated/minloc1_8_r10.c (revision 261075) +++ libgfortran/generated/minloc1_8_r10.c (working copy) @@ -103,7 +103,7 @@ minloc1_8_r10 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_8_r10 (gfc_array_i8 * const restrict retarray alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_8_r10 (gfc_array_i8 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_8_r16.c =================================================================== --- libgfortran/generated/minloc1_8_r16.c (revision 261075) +++ libgfortran/generated/minloc1_8_r16.c (working copy) @@ -103,7 +103,7 @@ minloc1_8_r16 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_8_r16 (gfc_array_i8 * const restrict retarray alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_8_r16 (gfc_array_i8 * const restrict retarray } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_8_r4.c =================================================================== --- libgfortran/generated/minloc1_8_r4.c (revision 261075) +++ libgfortran/generated/minloc1_8_r4.c (working copy) @@ -103,7 +103,7 @@ minloc1_8_r4 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_8_r4 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_8_r4 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_8_r8.c =================================================================== --- libgfortran/generated/minloc1_8_r8.c (revision 261075) +++ libgfortran/generated/minloc1_8_r8.c (working copy) @@ -103,7 +103,7 @@ minloc1_8_r8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -327,7 +327,7 @@ mminloc1_8_r8 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -533,7 +533,7 @@ sminloc1_8_r8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_8_s1.c =================================================================== --- libgfortran/generated/minloc1_8_s1.c (revision 261075) +++ libgfortran/generated/minloc1_8_s1.c (working copy) @@ -115,7 +115,7 @@ minloc1_8_s1 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -310,7 +310,7 @@ mminloc1_8_s1 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -489,7 +489,7 @@ sminloc1_8_s1 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minloc1_8_s4.c =================================================================== --- libgfortran/generated/minloc1_8_s4.c (revision 261075) +++ libgfortran/generated/minloc1_8_s4.c (working copy) @@ -115,7 +115,7 @@ minloc1_8_s4 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -310,7 +310,7 @@ mminloc1_8_s4 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -489,7 +489,7 @@ sminloc1_8_s4 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minval1_s1.c =================================================================== --- libgfortran/generated/minval1_s1.c (revision 261075) +++ libgfortran/generated/minval1_s1.c (working copy) @@ -114,7 +114,7 @@ minval1_s1 (gfc_array_s1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1] * string_len; @@ -310,7 +310,7 @@ mminval1_s1 (gfc_array_s1 * const restrict retarray, * string_len; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -485,7 +485,7 @@ sminval1_s1 (gfc_array_s1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1] * string_len; Index: libgfortran/generated/minval1_s4.c =================================================================== --- libgfortran/generated/minval1_s4.c (revision 261075) +++ libgfortran/generated/minval1_s4.c (working copy) @@ -114,7 +114,7 @@ minval1_s4 (gfc_array_s4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1] * string_len; @@ -310,7 +310,7 @@ mminval1_s4 (gfc_array_s4 * const restrict retarray, * string_len; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -485,7 +485,7 @@ sminval1_s4 (gfc_array_s4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1] * string_len; Index: libgfortran/generated/minval_i1.c =================================================================== --- libgfortran/generated/minval_i1.c (revision 261075) +++ libgfortran/generated/minval_i1.c (working copy) @@ -100,7 +100,7 @@ minval_i1 (gfc_array_i1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mminval_i1 (gfc_array_i1 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ sminval_i1 (gfc_array_i1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minval_i16.c =================================================================== --- libgfortran/generated/minval_i16.c (revision 261075) +++ libgfortran/generated/minval_i16.c (working copy) @@ -100,7 +100,7 @@ minval_i16 (gfc_array_i16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mminval_i16 (gfc_array_i16 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ sminval_i16 (gfc_array_i16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minval_i2.c =================================================================== --- libgfortran/generated/minval_i2.c (revision 261075) +++ libgfortran/generated/minval_i2.c (working copy) @@ -100,7 +100,7 @@ minval_i2 (gfc_array_i2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mminval_i2 (gfc_array_i2 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ sminval_i2 (gfc_array_i2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minval_i4.c =================================================================== --- libgfortran/generated/minval_i4.c (revision 261075) +++ libgfortran/generated/minval_i4.c (working copy) @@ -100,7 +100,7 @@ minval_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mminval_i4 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ sminval_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minval_i8.c =================================================================== --- libgfortran/generated/minval_i8.c (revision 261075) +++ libgfortran/generated/minval_i8.c (working copy) @@ -100,7 +100,7 @@ minval_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mminval_i8 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ sminval_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minval_r10.c =================================================================== --- libgfortran/generated/minval_r10.c (revision 261075) +++ libgfortran/generated/minval_r10.c (working copy) @@ -100,7 +100,7 @@ minval_r10 (gfc_array_r10 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mminval_r10 (gfc_array_r10 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ sminval_r10 (gfc_array_r10 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minval_r16.c =================================================================== --- libgfortran/generated/minval_r16.c (revision 261075) +++ libgfortran/generated/minval_r16.c (working copy) @@ -100,7 +100,7 @@ minval_r16 (gfc_array_r16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mminval_r16 (gfc_array_r16 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ sminval_r16 (gfc_array_r16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minval_r4.c =================================================================== --- libgfortran/generated/minval_r4.c (revision 261075) +++ libgfortran/generated/minval_r4.c (working copy) @@ -100,7 +100,7 @@ minval_r4 (gfc_array_r4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mminval_r4 (gfc_array_r4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ sminval_r4 (gfc_array_r4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/minval_r8.c =================================================================== --- libgfortran/generated/minval_r8.c (revision 261075) +++ libgfortran/generated/minval_r8.c (working copy) @@ -100,7 +100,7 @@ minval_r8 (gfc_array_r8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -303,7 +303,7 @@ mminval_r8 (gfc_array_r8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -494,7 +494,7 @@ sminval_r8 (gfc_array_r8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/norm2_r10.c =================================================================== --- libgfortran/generated/norm2_r10.c (revision 261075) +++ libgfortran/generated/norm2_r10.c (working copy) @@ -103,7 +103,7 @@ norm2_r10 (gfc_array_r10 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/norm2_r16.c =================================================================== --- libgfortran/generated/norm2_r16.c (revision 261075) +++ libgfortran/generated/norm2_r16.c (working copy) @@ -107,7 +107,7 @@ norm2_r16 (gfc_array_r16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/norm2_r4.c =================================================================== --- libgfortran/generated/norm2_r4.c (revision 261075) +++ libgfortran/generated/norm2_r4.c (working copy) @@ -103,7 +103,7 @@ norm2_r4 (gfc_array_r4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/norm2_r8.c =================================================================== --- libgfortran/generated/norm2_r8.c (revision 261075) +++ libgfortran/generated/norm2_r8.c (working copy) @@ -103,7 +103,7 @@ norm2_r8 (gfc_array_r8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/parity_l1.c =================================================================== --- libgfortran/generated/parity_l1.c (revision 261075) +++ libgfortran/generated/parity_l1.c (working copy) @@ -100,7 +100,7 @@ parity_l1 (gfc_array_l1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/parity_l16.c =================================================================== --- libgfortran/generated/parity_l16.c (revision 261075) +++ libgfortran/generated/parity_l16.c (working copy) @@ -100,7 +100,7 @@ parity_l16 (gfc_array_l16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/parity_l2.c =================================================================== --- libgfortran/generated/parity_l2.c (revision 261075) +++ libgfortran/generated/parity_l2.c (working copy) @@ -100,7 +100,7 @@ parity_l2 (gfc_array_l2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/parity_l4.c =================================================================== --- libgfortran/generated/parity_l4.c (revision 261075) +++ libgfortran/generated/parity_l4.c (working copy) @@ -100,7 +100,7 @@ parity_l4 (gfc_array_l4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/parity_l8.c =================================================================== --- libgfortran/generated/parity_l8.c (revision 261075) +++ libgfortran/generated/parity_l8.c (working copy) @@ -100,7 +100,7 @@ parity_l8 (gfc_array_l8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/product_c10.c =================================================================== --- libgfortran/generated/product_c10.c (revision 261075) +++ libgfortran/generated/product_c10.c (working copy) @@ -100,7 +100,7 @@ product_c10 (gfc_array_c10 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ mproduct_c10 (gfc_array_c10 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ sproduct_c10 (gfc_array_c10 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/product_c16.c =================================================================== --- libgfortran/generated/product_c16.c (revision 261075) +++ libgfortran/generated/product_c16.c (working copy) @@ -100,7 +100,7 @@ product_c16 (gfc_array_c16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ mproduct_c16 (gfc_array_c16 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ sproduct_c16 (gfc_array_c16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/product_c4.c =================================================================== --- libgfortran/generated/product_c4.c (revision 261075) +++ libgfortran/generated/product_c4.c (working copy) @@ -100,7 +100,7 @@ product_c4 (gfc_array_c4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ mproduct_c4 (gfc_array_c4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ sproduct_c4 (gfc_array_c4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/product_c8.c =================================================================== --- libgfortran/generated/product_c8.c (revision 261075) +++ libgfortran/generated/product_c8.c (working copy) @@ -100,7 +100,7 @@ product_c8 (gfc_array_c8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ mproduct_c8 (gfc_array_c8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ sproduct_c8 (gfc_array_c8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/product_i1.c =================================================================== --- libgfortran/generated/product_i1.c (revision 261075) +++ libgfortran/generated/product_i1.c (working copy) @@ -100,7 +100,7 @@ product_i1 (gfc_array_i1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ mproduct_i1 (gfc_array_i1 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ sproduct_i1 (gfc_array_i1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/product_i16.c =================================================================== --- libgfortran/generated/product_i16.c (revision 261075) +++ libgfortran/generated/product_i16.c (working copy) @@ -100,7 +100,7 @@ product_i16 (gfc_array_i16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ mproduct_i16 (gfc_array_i16 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ sproduct_i16 (gfc_array_i16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/product_i2.c =================================================================== --- libgfortran/generated/product_i2.c (revision 261075) +++ libgfortran/generated/product_i2.c (working copy) @@ -100,7 +100,7 @@ product_i2 (gfc_array_i2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ mproduct_i2 (gfc_array_i2 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ sproduct_i2 (gfc_array_i2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/product_i4.c =================================================================== --- libgfortran/generated/product_i4.c (revision 261075) +++ libgfortran/generated/product_i4.c (working copy) @@ -100,7 +100,7 @@ product_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ mproduct_i4 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ sproduct_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/product_i8.c =================================================================== --- libgfortran/generated/product_i8.c (revision 261075) +++ libgfortran/generated/product_i8.c (working copy) @@ -100,7 +100,7 @@ product_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ mproduct_i8 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ sproduct_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/product_r10.c =================================================================== --- libgfortran/generated/product_r10.c (revision 261075) +++ libgfortran/generated/product_r10.c (working copy) @@ -100,7 +100,7 @@ product_r10 (gfc_array_r10 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ mproduct_r10 (gfc_array_r10 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ sproduct_r10 (gfc_array_r10 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/product_r16.c =================================================================== --- libgfortran/generated/product_r16.c (revision 261075) +++ libgfortran/generated/product_r16.c (working copy) @@ -100,7 +100,7 @@ product_r16 (gfc_array_r16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ mproduct_r16 (gfc_array_r16 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ sproduct_r16 (gfc_array_r16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/product_r4.c =================================================================== --- libgfortran/generated/product_r4.c (revision 261075) +++ libgfortran/generated/product_r4.c (working copy) @@ -100,7 +100,7 @@ product_r4 (gfc_array_r4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ mproduct_r4 (gfc_array_r4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ sproduct_r4 (gfc_array_r4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/product_r8.c =================================================================== --- libgfortran/generated/product_r8.c (revision 261075) +++ libgfortran/generated/product_r8.c (working copy) @@ -100,7 +100,7 @@ product_r8 (gfc_array_r8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ mproduct_r8 (gfc_array_r8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ sproduct_r8 (gfc_array_r8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/reshape_c10.c =================================================================== --- libgfortran/generated/reshape_c10.c (revision 261075) +++ libgfortran/generated/reshape_c10.c (working copy) @@ -116,7 +116,7 @@ reshape_c10 (gfc_array_c10 * const restrict ret, alloc_size = rs; ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_COMPLEX_10)); - GFC_DTYPE_COPY_SETRANK(ret,source,rdim); + ret->dtype.rank = rdim; } if (shape_empty) Index: libgfortran/generated/reshape_c16.c =================================================================== --- libgfortran/generated/reshape_c16.c (revision 261075) +++ libgfortran/generated/reshape_c16.c (working copy) @@ -116,7 +116,7 @@ reshape_c16 (gfc_array_c16 * const restrict ret, alloc_size = rs; ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_COMPLEX_16)); - GFC_DTYPE_COPY_SETRANK(ret,source,rdim); + ret->dtype.rank = rdim; } if (shape_empty) Index: libgfortran/generated/reshape_c4.c =================================================================== --- libgfortran/generated/reshape_c4.c (revision 261075) +++ libgfortran/generated/reshape_c4.c (working copy) @@ -116,7 +116,7 @@ reshape_c4 (gfc_array_c4 * const restrict ret, alloc_size = rs; ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_COMPLEX_4)); - GFC_DTYPE_COPY_SETRANK(ret,source,rdim); + ret->dtype.rank = rdim; } if (shape_empty) Index: libgfortran/generated/reshape_c8.c =================================================================== --- libgfortran/generated/reshape_c8.c (revision 261075) +++ libgfortran/generated/reshape_c8.c (working copy) @@ -116,7 +116,7 @@ reshape_c8 (gfc_array_c8 * const restrict ret, alloc_size = rs; ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_COMPLEX_8)); - GFC_DTYPE_COPY_SETRANK(ret,source,rdim); + ret->dtype.rank = rdim; } if (shape_empty) Index: libgfortran/generated/reshape_i16.c =================================================================== --- libgfortran/generated/reshape_i16.c (revision 261075) +++ libgfortran/generated/reshape_i16.c (working copy) @@ -116,7 +116,7 @@ reshape_16 (gfc_array_i16 * const restrict ret, alloc_size = rs; ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_16)); - GFC_DTYPE_COPY_SETRANK(ret,source,rdim); + ret->dtype.rank = rdim; } if (shape_empty) Index: libgfortran/generated/reshape_i4.c =================================================================== --- libgfortran/generated/reshape_i4.c (revision 261075) +++ libgfortran/generated/reshape_i4.c (working copy) @@ -116,7 +116,7 @@ reshape_4 (gfc_array_i4 * const restrict ret, alloc_size = rs; ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_4)); - GFC_DTYPE_COPY_SETRANK(ret,source,rdim); + ret->dtype.rank = rdim; } if (shape_empty) Index: libgfortran/generated/reshape_i8.c =================================================================== --- libgfortran/generated/reshape_i8.c (revision 261075) +++ libgfortran/generated/reshape_i8.c (working copy) @@ -116,7 +116,7 @@ reshape_8 (gfc_array_i8 * const restrict ret, alloc_size = rs; ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_8)); - GFC_DTYPE_COPY_SETRANK(ret,source,rdim); + ret->dtype.rank = rdim; } if (shape_empty) Index: libgfortran/generated/reshape_r10.c =================================================================== --- libgfortran/generated/reshape_r10.c (revision 261075) +++ libgfortran/generated/reshape_r10.c (working copy) @@ -116,7 +116,7 @@ reshape_r10 (gfc_array_r10 * const restrict ret, alloc_size = rs; ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_REAL_10)); - GFC_DTYPE_COPY_SETRANK(ret,source,rdim); + ret->dtype.rank = rdim; } if (shape_empty) Index: libgfortran/generated/reshape_r16.c =================================================================== --- libgfortran/generated/reshape_r16.c (revision 261075) +++ libgfortran/generated/reshape_r16.c (working copy) @@ -116,7 +116,7 @@ reshape_r16 (gfc_array_r16 * const restrict ret, alloc_size = rs; ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_REAL_16)); - GFC_DTYPE_COPY_SETRANK(ret,source,rdim); + ret->dtype.rank = rdim; } if (shape_empty) Index: libgfortran/generated/reshape_r4.c =================================================================== --- libgfortran/generated/reshape_r4.c (revision 261075) +++ libgfortran/generated/reshape_r4.c (working copy) @@ -116,7 +116,7 @@ reshape_r4 (gfc_array_r4 * const restrict ret, alloc_size = rs; ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_REAL_4)); - GFC_DTYPE_COPY_SETRANK(ret,source,rdim); + ret->dtype.rank = rdim; } if (shape_empty) Index: libgfortran/generated/reshape_r8.c =================================================================== --- libgfortran/generated/reshape_r8.c (revision 261075) +++ libgfortran/generated/reshape_r8.c (working copy) @@ -116,7 +116,7 @@ reshape_r8 (gfc_array_r8 * const restrict ret, alloc_size = rs; ret->base_addr = xmallocarray (alloc_size, sizeof (GFC_REAL_8)); - GFC_DTYPE_COPY_SETRANK(ret,source,rdim); + ret->dtype.rank = rdim; } if (shape_empty) Index: libgfortran/generated/spread_c10.c =================================================================== --- libgfortran/generated/spread_c10.c (revision 261075) +++ libgfortran/generated/spread_c10.c (working copy) @@ -72,7 +72,8 @@ spread_c10 (gfc_array_c10 *ret, const gfc_array_c10 *s /* The front end has signalled that we need to populate the return array descriptor. */ - GFC_DTYPE_COPY_SETRANK(ret,source,rrank); + ret->dtype.rank = rrank; + dim = 0; rs = 1; for (n = 0; n < rrank; n++) Index: libgfortran/generated/spread_c16.c =================================================================== --- libgfortran/generated/spread_c16.c (revision 261075) +++ libgfortran/generated/spread_c16.c (working copy) @@ -72,7 +72,8 @@ spread_c16 (gfc_array_c16 *ret, const gfc_array_c16 *s /* The front end has signalled that we need to populate the return array descriptor. */ - GFC_DTYPE_COPY_SETRANK(ret,source,rrank); + ret->dtype.rank = rrank; + dim = 0; rs = 1; for (n = 0; n < rrank; n++) Index: libgfortran/generated/spread_c4.c =================================================================== --- libgfortran/generated/spread_c4.c (revision 261075) +++ libgfortran/generated/spread_c4.c (working copy) @@ -72,7 +72,8 @@ spread_c4 (gfc_array_c4 *ret, const gfc_array_c4 *sour /* The front end has signalled that we need to populate the return array descriptor. */ - GFC_DTYPE_COPY_SETRANK(ret,source,rrank); + ret->dtype.rank = rrank; + dim = 0; rs = 1; for (n = 0; n < rrank; n++) Index: libgfortran/generated/spread_c8.c =================================================================== --- libgfortran/generated/spread_c8.c (revision 261075) +++ libgfortran/generated/spread_c8.c (working copy) @@ -72,7 +72,8 @@ spread_c8 (gfc_array_c8 *ret, const gfc_array_c8 *sour /* The front end has signalled that we need to populate the return array descriptor. */ - GFC_DTYPE_COPY_SETRANK(ret,source,rrank); + ret->dtype.rank = rrank; + dim = 0; rs = 1; for (n = 0; n < rrank; n++) Index: libgfortran/generated/spread_i1.c =================================================================== --- libgfortran/generated/spread_i1.c (revision 261075) +++ libgfortran/generated/spread_i1.c (working copy) @@ -72,7 +72,8 @@ spread_i1 (gfc_array_i1 *ret, const gfc_array_i1 *sour /* The front end has signalled that we need to populate the return array descriptor. */ - GFC_DTYPE_COPY_SETRANK(ret,source,rrank); + ret->dtype.rank = rrank; + dim = 0; rs = 1; for (n = 0; n < rrank; n++) Index: libgfortran/generated/spread_i16.c =================================================================== --- libgfortran/generated/spread_i16.c (revision 261075) +++ libgfortran/generated/spread_i16.c (working copy) @@ -72,7 +72,8 @@ spread_i16 (gfc_array_i16 *ret, const gfc_array_i16 *s /* The front end has signalled that we need to populate the return array descriptor. */ - GFC_DTYPE_COPY_SETRANK(ret,source,rrank); + ret->dtype.rank = rrank; + dim = 0; rs = 1; for (n = 0; n < rrank; n++) Index: libgfortran/generated/spread_i2.c =================================================================== --- libgfortran/generated/spread_i2.c (revision 261075) +++ libgfortran/generated/spread_i2.c (working copy) @@ -72,7 +72,8 @@ spread_i2 (gfc_array_i2 *ret, const gfc_array_i2 *sour /* The front end has signalled that we need to populate the return array descriptor. */ - GFC_DTYPE_COPY_SETRANK(ret,source,rrank); + ret->dtype.rank = rrank; + dim = 0; rs = 1; for (n = 0; n < rrank; n++) Index: libgfortran/generated/spread_i4.c =================================================================== --- libgfortran/generated/spread_i4.c (revision 261075) +++ libgfortran/generated/spread_i4.c (working copy) @@ -72,7 +72,8 @@ spread_i4 (gfc_array_i4 *ret, const gfc_array_i4 *sour /* The front end has signalled that we need to populate the return array descriptor. */ - GFC_DTYPE_COPY_SETRANK(ret,source,rrank); + ret->dtype.rank = rrank; + dim = 0; rs = 1; for (n = 0; n < rrank; n++) Index: libgfortran/generated/spread_i8.c =================================================================== --- libgfortran/generated/spread_i8.c (revision 261075) +++ libgfortran/generated/spread_i8.c (working copy) @@ -72,7 +72,8 @@ spread_i8 (gfc_array_i8 *ret, const gfc_array_i8 *sour /* The front end has signalled that we need to populate the return array descriptor. */ - GFC_DTYPE_COPY_SETRANK(ret,source,rrank); + ret->dtype.rank = rrank; + dim = 0; rs = 1; for (n = 0; n < rrank; n++) Index: libgfortran/generated/spread_r10.c =================================================================== --- libgfortran/generated/spread_r10.c (revision 261075) +++ libgfortran/generated/spread_r10.c (working copy) @@ -72,7 +72,8 @@ spread_r10 (gfc_array_r10 *ret, const gfc_array_r10 *s /* The front end has signalled that we need to populate the return array descriptor. */ - GFC_DTYPE_COPY_SETRANK(ret,source,rrank); + ret->dtype.rank = rrank; + dim = 0; rs = 1; for (n = 0; n < rrank; n++) Index: libgfortran/generated/spread_r16.c =================================================================== --- libgfortran/generated/spread_r16.c (revision 261075) +++ libgfortran/generated/spread_r16.c (working copy) @@ -72,7 +72,8 @@ spread_r16 (gfc_array_r16 *ret, const gfc_array_r16 *s /* The front end has signalled that we need to populate the return array descriptor. */ - GFC_DTYPE_COPY_SETRANK(ret,source,rrank); + ret->dtype.rank = rrank; + dim = 0; rs = 1; for (n = 0; n < rrank; n++) Index: libgfortran/generated/spread_r4.c =================================================================== --- libgfortran/generated/spread_r4.c (revision 261075) +++ libgfortran/generated/spread_r4.c (working copy) @@ -72,7 +72,8 @@ spread_r4 (gfc_array_r4 *ret, const gfc_array_r4 *sour /* The front end has signalled that we need to populate the return array descriptor. */ - GFC_DTYPE_COPY_SETRANK(ret,source,rrank); + ret->dtype.rank = rrank; + dim = 0; rs = 1; for (n = 0; n < rrank; n++) Index: libgfortran/generated/spread_r8.c =================================================================== --- libgfortran/generated/spread_r8.c (revision 261075) +++ libgfortran/generated/spread_r8.c (working copy) @@ -72,7 +72,8 @@ spread_r8 (gfc_array_r8 *ret, const gfc_array_r8 *sour /* The front end has signalled that we need to populate the return array descriptor. */ - GFC_DTYPE_COPY_SETRANK(ret,source,rrank); + ret->dtype.rank = rrank; + dim = 0; rs = 1; for (n = 0; n < rrank; n++) Index: libgfortran/generated/sum_c10.c =================================================================== --- libgfortran/generated/sum_c10.c (revision 261075) +++ libgfortran/generated/sum_c10.c (working copy) @@ -100,7 +100,7 @@ sum_c10 (gfc_array_c10 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ msum_c10 (gfc_array_c10 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ ssum_c10 (gfc_array_c10 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/sum_c16.c =================================================================== --- libgfortran/generated/sum_c16.c (revision 261075) +++ libgfortran/generated/sum_c16.c (working copy) @@ -100,7 +100,7 @@ sum_c16 (gfc_array_c16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ msum_c16 (gfc_array_c16 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ ssum_c16 (gfc_array_c16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/sum_c4.c =================================================================== --- libgfortran/generated/sum_c4.c (revision 261075) +++ libgfortran/generated/sum_c4.c (working copy) @@ -100,7 +100,7 @@ sum_c4 (gfc_array_c4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ msum_c4 (gfc_array_c4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ ssum_c4 (gfc_array_c4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/sum_c8.c =================================================================== --- libgfortran/generated/sum_c8.c (revision 261075) +++ libgfortran/generated/sum_c8.c (working copy) @@ -100,7 +100,7 @@ sum_c8 (gfc_array_c8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ msum_c8 (gfc_array_c8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ ssum_c8 (gfc_array_c8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/sum_i1.c =================================================================== --- libgfortran/generated/sum_i1.c (revision 261075) +++ libgfortran/generated/sum_i1.c (working copy) @@ -100,7 +100,7 @@ sum_i1 (gfc_array_i1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ msum_i1 (gfc_array_i1 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ ssum_i1 (gfc_array_i1 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/sum_i16.c =================================================================== --- libgfortran/generated/sum_i16.c (revision 261075) +++ libgfortran/generated/sum_i16.c (working copy) @@ -100,7 +100,7 @@ sum_i16 (gfc_array_i16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ msum_i16 (gfc_array_i16 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ ssum_i16 (gfc_array_i16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/sum_i2.c =================================================================== --- libgfortran/generated/sum_i2.c (revision 261075) +++ libgfortran/generated/sum_i2.c (working copy) @@ -100,7 +100,7 @@ sum_i2 (gfc_array_i2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ msum_i2 (gfc_array_i2 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ ssum_i2 (gfc_array_i2 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/sum_i4.c =================================================================== --- libgfortran/generated/sum_i4.c (revision 261075) +++ libgfortran/generated/sum_i4.c (working copy) @@ -100,7 +100,7 @@ sum_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ msum_i4 (gfc_array_i4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ ssum_i4 (gfc_array_i4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/sum_i8.c =================================================================== --- libgfortran/generated/sum_i8.c (revision 261075) +++ libgfortran/generated/sum_i8.c (working copy) @@ -100,7 +100,7 @@ sum_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ msum_i8 (gfc_array_i8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ ssum_i8 (gfc_array_i8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/sum_r10.c =================================================================== --- libgfortran/generated/sum_r10.c (revision 261075) +++ libgfortran/generated/sum_r10.c (working copy) @@ -100,7 +100,7 @@ sum_r10 (gfc_array_r10 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ msum_r10 (gfc_array_r10 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ ssum_r10 (gfc_array_r10 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/sum_r16.c =================================================================== --- libgfortran/generated/sum_r16.c (revision 261075) +++ libgfortran/generated/sum_r16.c (working copy) @@ -100,7 +100,7 @@ sum_r16 (gfc_array_r16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ msum_r16 (gfc_array_r16 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ ssum_r16 (gfc_array_r16 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/sum_r4.c =================================================================== --- libgfortran/generated/sum_r4.c (revision 261075) +++ libgfortran/generated/sum_r4.c (working copy) @@ -100,7 +100,7 @@ sum_r4 (gfc_array_r4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ msum_r4 (gfc_array_r4 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ ssum_r4 (gfc_array_r4 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/generated/sum_r8.c =================================================================== --- libgfortran/generated/sum_r8.c (revision 261075) +++ libgfortran/generated/sum_r8.c (working copy) @@ -100,7 +100,7 @@ sum_r8 (gfc_array_r8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -289,7 +289,7 @@ msum_r8 (gfc_array_r8 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -452,7 +452,7 @@ ssum_r8 (gfc_array_r8 * const restrict retarray, } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/intrinsics/reshape_generic.c =================================================================== --- libgfortran/intrinsics/reshape_generic.c (revision 261075) +++ libgfortran/intrinsics/reshape_generic.c (working copy) @@ -106,8 +106,7 @@ reshape_internal (parray *ret, parray *source, shape_t alloc_size = rs; ret->base_addr = xmallocarray (alloc_size, size); - - GFC_DTYPE_COPY_SETRANK(ret,source,rdim); + ret->dtype.rank = rdim; } if (shape_empty) Index: libgfortran/intrinsics/spread_generic.c =================================================================== --- libgfortran/intrinsics/spread_generic.c (revision 261075) +++ libgfortran/intrinsics/spread_generic.c (working copy) @@ -71,7 +71,8 @@ spread_internal (gfc_array_char *ret, const gfc_array_ size_t ub, stride; - GFC_DTYPE_COPY_SETRANK(ret,source,rrank); + ret->dtype.rank = rrank; + dim = 0; rs = 1; for (n = 0; n < rrank; n++) Index: libgfortran/libgfortran.h =================================================================== --- libgfortran/libgfortran.h (revision 261075) +++ libgfortran/libgfortran.h (working copy) @@ -439,11 +439,6 @@ typedef GFC_FULL_ARRAY_DESCRIPTOR (GFC_MAX_DIMENSIONS, /* Macros to set size and type information. */ #define GFC_DTYPE_COPY(a,b) do { (a)->dtype = (b)->dtype; } while(0) -#define GFC_DTYPE_COPY_SETRANK(a,b,n) \ - do { \ - (a)->dtype.rank = ((b)->dtype.rank | n ); \ - } while (0) - #define GFC_DTYPE_IS_UNSET(a) (unlikely((a)->dtype.elem_len == 0)) #define GFC_DTYPE_CLEAR(a) do { (a)->dtype.elem_len = 0; \ (a)->dtype.version = 0; \ Index: libgfortran/m4/iforeach-s.m4 =================================================================== --- libgfortran/m4/iforeach-s.m4 (revision 261075) +++ libgfortran/m4/iforeach-s.m4 (working copy) @@ -37,7 +37,7 @@ name`'rtype_qual`_'atype_code` ('rtype` * const restri if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (rtype_name)); } @@ -142,7 +142,7 @@ m'name`'rtype_qual`_'atype_code` ('rtype` * const rest if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (rtype_name)); } @@ -279,7 +279,7 @@ void if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (rtype_name)); } Index: libgfortran/m4/iforeach.m4 =================================================================== --- libgfortran/m4/iforeach.m4 (revision 261075) +++ libgfortran/m4/iforeach.m4 (working copy) @@ -28,7 +28,7 @@ name`'rtype_qual`_'atype_code (rtype * const restrict if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (rtype_name)); } @@ -130,7 +130,7 @@ void if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank - 1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (rtype_name)); } @@ -261,7 +261,7 @@ void if (retarray->base_addr == NULL) { GFC_DIMENSION_SET(retarray->dim[0], 0, rank-1, 1); - GFC_DTYPE_COPY_SETRANK(retarray,retarray,1); + retarray->dtype.rank = 1; retarray->offset = 0; retarray->base_addr = xmallocarray (rank, sizeof (rtype_name)); } Index: libgfortran/m4/ifunction-s.m4 =================================================================== --- libgfortran/m4/ifunction-s.m4 (revision 261075) +++ libgfortran/m4/ifunction-s.m4 (working copy) @@ -103,7 +103,7 @@ void } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -291,7 +291,7 @@ m'name`'rtype_qual`_'atype_code` ('rtype` * const rest alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -453,7 +453,7 @@ s'name`'rtype_qual`_'atype_code` ('rtype` * const rest } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/m4/ifunction-s2.m4 =================================================================== --- libgfortran/m4/ifunction-s2.m4 (revision 261075) +++ libgfortran/m4/ifunction-s2.m4 (working copy) @@ -104,7 +104,7 @@ name`'rtype_qual`_'atype_code (rtype * const restrict } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1] * string_len; @@ -296,7 +296,7 @@ void * string_len; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -457,7 +457,7 @@ void } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1] * string_len; Index: libgfortran/m4/ifunction.m4 =================================================================== --- libgfortran/m4/ifunction.m4 (revision 261075) +++ libgfortran/m4/ifunction.m4 (working copy) @@ -90,7 +90,7 @@ name`'rtype_qual`_'atype_code` ('rtype` * const restri } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; @@ -279,7 +279,7 @@ m'name`'rtype_qual`_'atype_code` ('rtype` * const rest alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; if (alloc_size == 0) { @@ -441,7 +441,7 @@ void } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/m4/ifunction_logical.m4 =================================================================== --- libgfortran/m4/ifunction_logical.m4 (revision 261075) +++ libgfortran/m4/ifunction_logical.m4 (working copy) @@ -87,7 +87,7 @@ name`'rtype_qual`_'atype_code (rtype * const restrict } retarray->offset = 0; - GFC_DTYPE_COPY_SETRANK(retarray,array,rank); + retarray->dtype.rank = rank; alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; Index: libgfortran/m4/reshape.m4 =================================================================== --- libgfortran/m4/reshape.m4 (revision 261075) +++ libgfortran/m4/reshape.m4 (working copy) @@ -120,7 +120,7 @@ reshape_'rtype_ccode` ('rtype` * const restrict ret, alloc_size = rs; ret->base_addr = xmallocarray (alloc_size, sizeof ('rtype_name`)); - GFC_DTYPE_COPY_SETRANK(ret,source,rdim); + ret->dtype.rank = rdim; } if (shape_empty) Index: libgfortran/m4/spread.m4 =================================================================== --- libgfortran/m4/spread.m4 (revision 261075) +++ libgfortran/m4/spread.m4 (working copy) @@ -73,7 +73,8 @@ spread_'rtype_code` ('rtype` *ret, const 'rtype` *sour /* The front end has signalled that we need to populate the return array descriptor. */ - GFC_DTYPE_COPY_SETRANK(ret,source,rrank); + ret->dtype.rank = rrank; + dim = 0; rs = 1; for (n = 0; n < rrank; n++)