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