]> gcc.gnu.org Git - gcc.git/blobdiff - libgfortran/generated/minloc0_16_s1.c
re PR fortran/54613 ([F08] Add FINDLOC plus support MAXLOC/MINLOC with KIND=/BACK=)
[gcc.git] / libgfortran / generated / minloc0_16_s1.c
index 524d27d1be224ca3f9890411a22e7174a53d48a9..e566d749fb7cfeab8b29f7269712cf7c13eb140b 100644 (file)
@@ -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_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)
 {
@@ -43,12 +45,12 @@ 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];
@@ -59,6 +61,10 @@ minloc0_16_s1 (gfc_array_i16 * 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 @@ minloc0_16_s1 (gfc_array_i16 * const restrict retarray,
 
 
 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];
@@ -169,6 +177,9 @@ mminloc0_16_s1 (gfc_array_i16 * 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 @@ mminloc0_16_s1 (gfc_array_i16 * const restrict retarray,
 
 
 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;
@@ -297,7 +310,11 @@ sminloc0_16_s1 (gfc_array_i16 * const restrict retarray,
 
   if (*mask)
     {
+#ifdef HAVE_BACK_ARG    
+      minloc0_16_s1 (retarray, array, back, len);
+#else
       minloc0_16_s1 (retarray, array, len);
+#endif
       return;
     }
 
This page took 0.031424 seconds and 5 git commands to generate.