re PR libfortran/25378 ([Fortran 2003] maxloc for all-false mask)
[platform/upstream/gcc.git] / libgfortran / generated / minloc1_16_i4.c
index 8d59189..d2fdd54 100644 (file)
@@ -132,7 +132,7 @@ minloc1_16_i4 (gfc_array_i16 * const restrict retarray,
 
   GFC_INTEGER_4 minval;
   minval = GFC_INTEGER_4_HUGE;
-  result = 1;
+  result = 0;
         if (len <= 0)
          *dest = 0;
        else
@@ -140,7 +140,7 @@ minloc1_16_i4 (gfc_array_i16 * const restrict retarray,
            for (n = 0; n < len; n++, src += delta)
              {
 
-  if (*src < minval)
+  if (*src < minval || !result)
     {
       minval = *src;
       result = (GFC_INTEGER_16)n + 1;
@@ -299,7 +299,7 @@ mminloc1_16_i4 (gfc_array_i16 * const restrict retarray,
 
   GFC_INTEGER_4 minval;
   minval = GFC_INTEGER_4_HUGE;
-  result = 1;
+  result = 0;
         if (len <= 0)
          *dest = 0;
        else
@@ -307,7 +307,7 @@ mminloc1_16_i4 (gfc_array_i16 * const restrict retarray,
            for (n = 0; n < len; n++, src += delta, msrc += mdelta)
              {
 
-  if (*msrc && *src < minval)
+  if (*msrc && (*src < minval || !result))
     {
       minval = *src;
       result = (GFC_INTEGER_16)n + 1;