diff options
Diffstat (limited to 'libgfortran/generated/pack_r8.c')
-rw-r--r-- | libgfortran/generated/pack_r8.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/libgfortran/generated/pack_r8.c b/libgfortran/generated/pack_r8.c index 2b307e29a2b..df5cc3f3a6e 100644 --- a/libgfortran/generated/pack_r8.c +++ b/libgfortran/generated/pack_r8.c @@ -166,14 +166,12 @@ pack_r8 (gfc_array_r8 *ret, const gfc_array_r8 *array, GFC_DIMENSION_SET(ret->dim[0], 0, total-1, 1); ret->offset = 0; + + /* internal_malloc_size allocates a single byte for zero size. */ + ret->data = internal_malloc_size (sizeof (GFC_REAL_8) * total); + if (total == 0) - { - /* In this case, nothing remains to be done. */ - ret->data = internal_malloc_size (1); - return; - } - else - ret->data = internal_malloc_size (sizeof (GFC_REAL_8) * total); + return; } else { |