| Index: gcc/libgfortran/generated/count_1_l.c
|
| diff --git a/gcc/libgfortran/generated/count_1_l.c b/gcc/libgfortran/generated/count_1_l.c
|
| index a236897592369bf85315168fbbf29e9bca810efb..faf9176943c3cac2de23319052251de1044f334b 100644
|
| --- a/gcc/libgfortran/generated/count_1_l.c
|
| +++ b/gcc/libgfortran/generated/count_1_l.c
|
| @@ -60,25 +60,24 @@ count_1_l (gfc_array_i1 * const restrict retarray,
|
|
|
| src_kind = GFC_DESCRIPTOR_SIZE (array);
|
|
|
| - len = array->dim[dim].ubound + 1 - array->dim[dim].lbound;
|
| + len = GFC_DESCRIPTOR_EXTENT(array,dim);
|
| if (len < 0)
|
| len = 0;
|
|
|
| - delta = array->dim[dim].stride * src_kind;
|
| + delta = GFC_DESCRIPTOR_STRIDE_BYTES(array,dim);
|
|
|
| for (n = 0; n < dim; n++)
|
| {
|
| - sstride[n] = array->dim[n].stride * src_kind;
|
| - extent[n] = array->dim[n].ubound + 1 - array->dim[n].lbound;
|
| + sstride[n] = GFC_DESCRIPTOR_STRIDE_BYTES(array,n);
|
| + extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
|
|
|
| if (extent[n] < 0)
|
| extent[n] = 0;
|
| }
|
| for (n = dim; n < rank; n++)
|
| {
|
| - sstride[n] = array->dim[n + 1].stride * src_kind;
|
| - extent[n] =
|
| - array->dim[n + 1].ubound + 1 - array->dim[n + 1].lbound;
|
| + sstride[n] = GFC_DESCRIPTOR_STRIDE_BYTES(array,n + 1);
|
| + extent[n] = GFC_DESCRIPTOR_EXTENT(array,n + 1);
|
|
|
| if (extent[n] < 0)
|
| extent[n] = 0;
|
| @@ -86,29 +85,29 @@ count_1_l (gfc_array_i1 * const restrict retarray,
|
|
|
| if (retarray->data == NULL)
|
| {
|
| - size_t alloc_size;
|
| + size_t alloc_size, str;
|
|
|
| for (n = 0; n < rank; n++)
|
| {
|
| - retarray->dim[n].lbound = 0;
|
| - retarray->dim[n].ubound = extent[n]-1;
|
| if (n == 0)
|
| - retarray->dim[n].stride = 1;
|
| + str = 1;
|
| else
|
| - retarray->dim[n].stride = retarray->dim[n-1].stride * extent[n-1];
|
| + str = GFC_DESCRIPTOR_STRIDE(retarray,n-1) * extent[n-1];
|
| +
|
| + GFC_DIMENSION_SET(retarray->dim[n], 0, extent[n] - 1, str);
|
| +
|
| }
|
|
|
| retarray->offset = 0;
|
| retarray->dtype = (array->dtype & ~GFC_DTYPE_RANK_MASK) | rank;
|
|
|
| - alloc_size = sizeof (GFC_INTEGER_1) * retarray->dim[rank-1].stride
|
| + alloc_size = sizeof (GFC_INTEGER_1) * GFC_DESCRIPTOR_STRIDE(retarray,rank-1)
|
| * extent[rank-1];
|
|
|
| if (alloc_size == 0)
|
| {
|
| /* Make sure we have a zero-sized array. */
|
| - retarray->dim[0].lbound = 0;
|
| - retarray->dim[0].ubound = -1;
|
| + GFC_DIMENSION_SET(retarray->dim[0], 0, -1, 1);
|
| return;
|
| }
|
| else
|
| @@ -128,8 +127,7 @@ count_1_l (gfc_array_i1 * const restrict retarray,
|
| {
|
| index_type ret_extent;
|
|
|
| - ret_extent = retarray->dim[n].ubound + 1
|
| - - retarray->dim[n].lbound;
|
| + ret_extent = GFC_DESCRIPTOR_EXTENT(retarray,n);
|
| if (extent[n] != ret_extent)
|
| runtime_error ("Incorrect extent in return value of"
|
| " COUNT intrinsic in dimension %d:"
|
| @@ -142,7 +140,7 @@ count_1_l (gfc_array_i1 * const restrict retarray,
|
| for (n = 0; n < rank; n++)
|
| {
|
| count[n] = 0;
|
| - dstride[n] = retarray->dim[n].stride;
|
| + dstride[n] = GFC_DESCRIPTOR_STRIDE(retarray,n);
|
| if (extent[n] <= 0)
|
| len = 0;
|
| }
|
|
|