#if defined (HAVE_GFC_INTEGER_1) && defined (HAVE_GFC_INTEGER_16)
+#define HAVE_BACK_ARG 1
+
static inline int
compare_fcn (const GFC_INTEGER_1 *a, const GFC_INTEGER_1 *b, gfc_charlen_type n)
{
}
extern void minloc0_16_s1 (gfc_array_i16 * 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(minloc0_16_s1);
void
minloc0_16_s1 (gfc_array_i16 * 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];
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");
extern void mminloc0_16_s1 (gfc_array_i16 * 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(mminloc0_16_s1);
void
mminloc0_16_s1 (gfc_array_i16 * 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];
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");
extern void sminloc0_16_s1 (gfc_array_i16 * 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(sminloc0_16_s1);
void
sminloc0_16_s1 (gfc_array_i16 * 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;
if (*mask)
{
+#ifdef HAVE_BACK_ARG
+ minloc0_16_s1 (retarray, array, back, len);
+#else
minloc0_16_s1 (retarray, array, len);
+#endif
return;
}