| Index: gcc/libgfortran/intrinsics/size.c
|
| diff --git a/gcc/libgfortran/intrinsics/size.c b/gcc/libgfortran/intrinsics/size.c
|
| index 9aa4cd93374d3d581839d7b353a9047036cd69a3..6127c4ef3012c1bb73ebe4cb81f7b0738f06e7ab 100644
|
| --- a/gcc/libgfortran/intrinsics/size.c
|
| +++ b/gcc/libgfortran/intrinsics/size.c
|
| @@ -35,7 +35,7 @@ size0 (const array_t * array)
|
| size = 1;
|
| for (n = 0; n < GFC_DESCRIPTOR_RANK (array); n++)
|
| {
|
| - len = array->dim[n].ubound + 1 - array->dim[n].lbound;
|
| + len = GFC_DESCRIPTOR_EXTENT(array,n);
|
| if (len < 0)
|
| len = 0;
|
| size *= len;
|
| @@ -54,7 +54,7 @@ size1 (const array_t * array, index_type dim)
|
|
|
| dim--;
|
|
|
| - size = array->dim[dim].ubound + 1 - array->dim[dim].lbound;
|
| + size = GFC_DESCRIPTOR_EXTENT(array,dim);
|
| if (size < 0)
|
| size = 0;
|
| return size;
|
|
|