Index: gcc/libgfortran/generated/matmul_l16.c |
diff --git a/gcc/libgfortran/generated/matmul_l16.c b/gcc/libgfortran/generated/matmul_l16.c |
index fc8e54834e0b758b4f3276fced91d1bb5251f04c..5fbeeb7da1d3070864d826f07dc9f99c25e6f6b9 100644 |
--- a/gcc/libgfortran/generated/matmul_l16.c |
+++ b/gcc/libgfortran/generated/matmul_l16.c |
@@ -69,25 +69,22 @@ matmul_l16 (gfc_array_l16 * const restrict retarray, |
{ |
if (GFC_DESCRIPTOR_RANK (a) == 1) |
{ |
- retarray->dim[0].lbound = 0; |
- retarray->dim[0].ubound = b->dim[1].ubound - b->dim[1].lbound; |
- retarray->dim[0].stride = 1; |
+ GFC_DIMENSION_SET(retarray->dim[0], 0, |
+ GFC_DESCRIPTOR_EXTENT(b,1) - 1, 1); |
} |
else if (GFC_DESCRIPTOR_RANK (b) == 1) |
{ |
- retarray->dim[0].lbound = 0; |
- retarray->dim[0].ubound = a->dim[0].ubound - a->dim[0].lbound; |
- retarray->dim[0].stride = 1; |
+ GFC_DIMENSION_SET(retarray->dim[0], 0, |
+ GFC_DESCRIPTOR_EXTENT(a,0) - 1, 1); |
} |
else |
{ |
- retarray->dim[0].lbound = 0; |
- retarray->dim[0].ubound = a->dim[0].ubound - a->dim[0].lbound; |
- retarray->dim[0].stride = 1; |
- |
- retarray->dim[1].lbound = 0; |
- retarray->dim[1].ubound = b->dim[1].ubound - b->dim[1].lbound; |
- retarray->dim[1].stride = retarray->dim[0].ubound+1; |
+ GFC_DIMENSION_SET(retarray->dim[0], 0, |
+ GFC_DESCRIPTOR_EXTENT(a,0) - 1, 1); |
+ |
+ GFC_DIMENSION_SET(retarray->dim[1], 0, |
+ GFC_DESCRIPTOR_EXTENT(b,1) - 1, |
+ GFC_DESCRIPTOR_EXTENT(retarray,0)); |
} |
retarray->data |
@@ -100,8 +97,8 @@ matmul_l16 (gfc_array_l16 * const restrict retarray, |
if (GFC_DESCRIPTOR_RANK (a) == 1) |
{ |
- arg_extent = b->dim[1].ubound + 1 - b->dim[1].lbound; |
- ret_extent = retarray->dim[0].ubound + 1 - retarray->dim[0].lbound; |
+ arg_extent = GFC_DESCRIPTOR_EXTENT(b,1); |
+ ret_extent = GFC_DESCRIPTOR_EXTENT(retarray,0); |
if (arg_extent != ret_extent) |
runtime_error ("Incorrect extent in return array in" |
" MATMUL intrinsic: is %ld, should be %ld", |
@@ -109,8 +106,8 @@ matmul_l16 (gfc_array_l16 * const restrict retarray, |
} |
else if (GFC_DESCRIPTOR_RANK (b) == 1) |
{ |
- arg_extent = a->dim[0].ubound + 1 - a->dim[0].lbound; |
- ret_extent = retarray->dim[0].ubound + 1 - retarray->dim[0].lbound; |
+ arg_extent = GFC_DESCRIPTOR_EXTENT(a,0); |
+ ret_extent = GFC_DESCRIPTOR_EXTENT(retarray,0); |
if (arg_extent != ret_extent) |
runtime_error ("Incorrect extent in return array in" |
" MATMUL intrinsic: is %ld, should be %ld", |
@@ -118,16 +115,16 @@ matmul_l16 (gfc_array_l16 * const restrict retarray, |
} |
else |
{ |
- arg_extent = a->dim[0].ubound + 1 - a->dim[0].lbound; |
- ret_extent = retarray->dim[0].ubound + 1 - retarray->dim[0].lbound; |
+ arg_extent = GFC_DESCRIPTOR_EXTENT(a,0); |
+ ret_extent = GFC_DESCRIPTOR_EXTENT(retarray,0); |
if (arg_extent != ret_extent) |
runtime_error ("Incorrect extent in return array in" |
" MATMUL intrinsic for dimension 1:" |
" is %ld, should be %ld", |
(long int) ret_extent, (long int) arg_extent); |
- arg_extent = b->dim[1].ubound + 1 - b->dim[1].lbound; |
- ret_extent = retarray->dim[1].ubound + 1 - retarray->dim[1].lbound; |
+ arg_extent = GFC_DESCRIPTOR_EXTENT(b,1); |
+ ret_extent = GFC_DESCRIPTOR_EXTENT(retarray,1); |
if (arg_extent != ret_extent) |
runtime_error ("Incorrect extent in return array in" |
" MATMUL intrinsic for dimension 2:" |
@@ -165,46 +162,46 @@ matmul_l16 (gfc_array_l16 * const restrict retarray, |
if (GFC_DESCRIPTOR_RANK (retarray) == 1) |
{ |
- rxstride = retarray->dim[0].stride; |
+ rxstride = GFC_DESCRIPTOR_STRIDE(retarray,0); |
rystride = rxstride; |
} |
else |
{ |
- rxstride = retarray->dim[0].stride; |
- rystride = retarray->dim[1].stride; |
+ rxstride = GFC_DESCRIPTOR_STRIDE(retarray,0); |
+ rystride = GFC_DESCRIPTOR_STRIDE(retarray,1); |
} |
/* If we have rank 1 parameters, zero the absent stride, and set the size to |
one. */ |
if (GFC_DESCRIPTOR_RANK (a) == 1) |
{ |
- astride = a->dim[0].stride * a_kind; |
- count = a->dim[0].ubound + 1 - a->dim[0].lbound; |
+ astride = GFC_DESCRIPTOR_STRIDE_BYTES(a,0); |
+ count = GFC_DESCRIPTOR_EXTENT(a,0); |
xstride = 0; |
rxstride = 0; |
xcount = 1; |
} |
else |
{ |
- astride = a->dim[1].stride * a_kind; |
- count = a->dim[1].ubound + 1 - a->dim[1].lbound; |
- xstride = a->dim[0].stride * a_kind; |
- xcount = a->dim[0].ubound + 1 - a->dim[0].lbound; |
+ astride = GFC_DESCRIPTOR_STRIDE_BYTES(a,1); |
+ count = GFC_DESCRIPTOR_EXTENT(a,1); |
+ xstride = GFC_DESCRIPTOR_STRIDE_BYTES(a,0); |
+ xcount = GFC_DESCRIPTOR_EXTENT(a,0); |
} |
if (GFC_DESCRIPTOR_RANK (b) == 1) |
{ |
- bstride = b->dim[0].stride * b_kind; |
- assert(count == b->dim[0].ubound + 1 - b->dim[0].lbound); |
+ bstride = GFC_DESCRIPTOR_STRIDE_BYTES(b,0); |
+ assert(count == GFC_DESCRIPTOR_EXTENT(b,0)); |
ystride = 0; |
rystride = 0; |
ycount = 1; |
} |
else |
{ |
- bstride = b->dim[0].stride * b_kind; |
- assert(count == b->dim[0].ubound + 1 - b->dim[0].lbound); |
- ystride = b->dim[1].stride * b_kind; |
- ycount = b->dim[1].ubound + 1 - b->dim[1].lbound; |
+ bstride = GFC_DESCRIPTOR_STRIDE_BYTES(b,0); |
+ assert(count == GFC_DESCRIPTOR_EXTENT(b,0)); |
+ ystride = GFC_DESCRIPTOR_STRIDE_BYTES(b,1); |
+ ycount = GFC_DESCRIPTOR_EXTENT(b,1); |
} |
for (y = 0; y < ycount; y++) |