diff options
Diffstat (limited to 'libgfortran/generated/maxloc0_4_s1.c')
-rw-r--r-- | libgfortran/generated/maxloc0_4_s1.c | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/libgfortran/generated/maxloc0_4_s1.c b/libgfortran/generated/maxloc0_4_s1.c index 80759a661d2..b13a9b94146 100644 --- a/libgfortran/generated/maxloc0_4_s1.c +++ b/libgfortran/generated/maxloc0_4_s1.c @@ -32,6 +32,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #if defined (HAVE_GFC_INTEGER_1) && defined (HAVE_GFC_INTEGER_4) +#define HAVE_BACK_ARG 1 + static inline int compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, gfc_charlen_type n) { @@ -43,12 +45,12 @@ compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, gfc_charlen_type n) } extern void maxloc0_4_s1 (gfc_array_i4 * const restrict retarray, - gfc_array_s1 * const restrict array, gfc_charlen_type len); + gfc_array_s1 * const restrict array, GFC_LOGICAL_4 back, gfc_charlen_type len); export_proto(maxloc0_4_s1); void maxloc0_4_s1 (gfc_array_i4 * const restrict retarray, - gfc_array_s1 * const restrict array, gfc_charlen_type len) + gfc_array_s1 * const restrict array, GFC_LOGICAL_4 back, gfc_charlen_type len) { index_type count[GFC_MAX_DIMENSIONS]; index_type extent[GFC_MAX_DIMENSIONS]; @@ -59,6 +61,10 @@ maxloc0_4_s1 (gfc_array_i4 * const restrict retarray, index_type rank; index_type n; +#ifdef HAVE_BACK_ARG + assert (back == 0); +#endif + rank = GFC_DESCRIPTOR_RANK (array); if (rank <= 0) runtime_error ("Rank of array needs to be > 0"); @@ -149,13 +155,15 @@ maxloc0_4_s1 (gfc_array_i4 * const restrict retarray, extern void mmaxloc0_4_s1 (gfc_array_i4 * const restrict, - gfc_array_s1 * const restrict, gfc_array_l1 * const restrict, gfc_charlen_type len); + gfc_array_s1 * const restrict, gfc_array_l1 * const restrict , GFC_LOGICAL_4 back, + gfc_charlen_type len); export_proto(mmaxloc0_4_s1); void mmaxloc0_4_s1 (gfc_array_i4 * const restrict retarray, gfc_array_s1 * const restrict array, - gfc_array_l1 * const restrict mask, gfc_charlen_type len) + gfc_array_l1 * const restrict mask, GFC_LOGICAL_4 back, + gfc_charlen_type len) { index_type count[GFC_MAX_DIMENSIONS]; index_type extent[GFC_MAX_DIMENSIONS]; @@ -169,6 +177,9 @@ mmaxloc0_4_s1 (gfc_array_i4 * const restrict retarray, index_type n; int mask_kind; +#ifdef HAVE_BACK_ARG + assert (back == 0); +#endif rank = GFC_DESCRIPTOR_RANK (array); if (rank <= 0) runtime_error ("Rank of array needs to be > 0"); @@ -282,13 +293,15 @@ mmaxloc0_4_s1 (gfc_array_i4 * const restrict retarray, extern void smaxloc0_4_s1 (gfc_array_i4 * const restrict, - gfc_array_s1 * const restrict, GFC_LOGICAL_4 *, gfc_charlen_type len); + gfc_array_s1 * const restrict, GFC_LOGICAL_4 *, GFC_LOGICAL_4 back, + gfc_charlen_type len); export_proto(smaxloc0_4_s1); void smaxloc0_4_s1 (gfc_array_i4 * const restrict retarray, gfc_array_s1 * const restrict array, - GFC_LOGICAL_4 * mask, gfc_charlen_type len) + GFC_LOGICAL_4 * mask, GFC_LOGICAL_4 back, + gfc_charlen_type len) { index_type rank; index_type dstride; @@ -297,7 +310,11 @@ smaxloc0_4_s1 (gfc_array_i4 * const restrict retarray, if (*mask) { +#ifdef HAVE_BACK_ARG + maxloc0_4_s1 (retarray, array, back, len); +#else maxloc0_4_s1 (retarray, array, len); +#endif return; } |