summaryrefslogtreecommitdiff
path: root/libgfortran/runtime/in_pack_generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgfortran/runtime/in_pack_generic.c')
-rw-r--r--libgfortran/runtime/in_pack_generic.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/libgfortran/runtime/in_pack_generic.c b/libgfortran/runtime/in_pack_generic.c
index 28e8d8e3663..33ce0310cd1 100644
--- a/libgfortran/runtime/in_pack_generic.c
+++ b/libgfortran/runtime/in_pack_generic.c
@@ -48,12 +48,6 @@ internal_pack (gfc_array_char * source)
index_type size;
index_type type_size;
- if (source->dim[0].stride == 0)
- {
- source->dim[0].stride = 1;
- return source->data;
- }
-
type_size = GFC_DTYPE_TYPE_SIZE(source);
size = GFC_DESCRIPTOR_SIZE (source);
switch (type_size)
@@ -147,8 +141,8 @@ internal_pack (gfc_array_char * source)
for (n = 0; n < dim; n++)
{
count[n] = 0;
- stride[n] = source->dim[n].stride;
- extent[n] = source->dim[n].ubound + 1 - source->dim[n].lbound;
+ stride[n] = GFC_DESCRIPTOR_STRIDE(source,n);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(source,n);
if (extent[n] <= 0)
{
/* Do nothing. */