diff options
Diffstat (limited to 'libgfortran/generated/sum_i8.c')
-rw-r--r-- | libgfortran/generated/sum_i8.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libgfortran/generated/sum_i8.c b/libgfortran/generated/sum_i8.c index 9c5c17b70c2..a4557f69180 100644 --- a/libgfortran/generated/sum_i8.c +++ b/libgfortran/generated/sum_i8.c @@ -220,6 +220,16 @@ msum_i8 (gfc_array_i8 * const restrict retarray, index_type mdelta; int mask_kind; + if (mask == NULL) + { +#ifdef HAVE_BACK_ARG + sum_i8 (retarray, array, pdim, back); +#else + sum_i8 (retarray, array, pdim); +#endif + return; + } + dim = (*pdim) - 1; rank = GFC_DESCRIPTOR_RANK (array) - 1; @@ -399,7 +409,7 @@ ssum_i8 (gfc_array_i8 * const restrict retarray, index_type dim; - if (*mask) + if (mask == NULL || *mask) { #ifdef HAVE_BACK_ARG sum_i8 (retarray, array, pdim, back); |