Index: gcc/libgfortran/m4/shape.m4 |
diff --git a/gcc/libgfortran/m4/shape.m4 b/gcc/libgfortran/m4/shape.m4 |
index b189f804e55095635c17c52a2fce84c17f61f2af..eadd3b9b94503186125d3c78fa152468d6662661 100644 |
--- a/gcc/libgfortran/m4/shape.m4 |
+++ b/gcc/libgfortran/m4/shape.m4 |
@@ -43,14 +43,14 @@ shape_'rtype_kind` ('rtype` * const restrict ret, |
index_type stride; |
index_type extent; |
- stride = ret->dim[0].stride; |
+ stride = GFC_DESCRIPTOR_STRIDE(ret,0); |
- if (ret->dim[0].ubound < ret->dim[0].lbound) |
+ if (GFC_DESCRIPTOR_EXTENT(ret,0) < 1) |
return; |
for (n = 0; n < GFC_DESCRIPTOR_RANK (array); n++) |
{ |
- extent = array->dim[n].ubound + 1 - array->dim[n].lbound; |
+ extent = GFC_DESCRIPTOR_EXTENT(array,n); |
ret->data[n * stride] = extent > 0 ? extent : 0 ; |
} |
} |