diff options
Diffstat (limited to 'libgfortran/intrinsics/pack_generic.c')
-rw-r--r-- | libgfortran/intrinsics/pack_generic.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libgfortran/intrinsics/pack_generic.c b/libgfortran/intrinsics/pack_generic.c index 104c59f6e4d..a1998ad580b 100644 --- a/libgfortran/intrinsics/pack_generic.c +++ b/libgfortran/intrinsics/pack_generic.c @@ -217,9 +217,13 @@ pack_internal (gfc_array_char *ret, const gfc_array_char *array, else { /* We come here because of range checking. */ - if (total != ret->dim[0].ubound + 1 - ret->dim[0].lbound) - runtime_error ("Incorrect extent in return value of" - " PACK intrinsic"); + index_type ret_extent; + + ret_extent = ret->dim[0].ubound + 1 - ret->dim[0].lbound; + if (total != ret_extent) + runtime_error ("Incorrect extent in return value of PACK intrinsic;" + " is %ld, should be %ld", (long int) total, + (long int) ret_extent); } } |