https://gcc.gnu.org/g:d4fd651d23b007fc9cd93a9300afab21d6dec2ee

commit r15-9641-gd4fd651d23b007fc9cd93a9300afab21d6dec2ee
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Thu May 8 09:36:30 2025 +0200

    libfortran: Fix up maxval/maxloc for UNSIGNED [PR120158]
    
    When libgfortran is compiled, there are some -Woverflow warnings like
    ../../../libgfortran/generated/maxloc0_4_m1.c:99:14: warning: unsigned 
conversion from ‘int’ to ‘GFC_UINTEGER_1’ {aka ‘unsigned char’} changes value 
from ‘-255’ to ‘1’ [-Woverflow]
       99 |     maxval = -GFC_UINTEGER_1_HUGE;
          |              ^
    and those actually point a bug in the maxloc*/maxval* implementation
    for UNSIGNED.
    The intent of
     #if defined ('atype_inf`)
            result = -atype_inf;
     #else
            result = atype_min;
     #endif
    (or similar for maxval) is to initialize the variable with
    minimum value of the type, if the type has infinities, then
    negative infinity, otherwise the minimum (normalized) value.
    atype_min expands for signed integers to say (-GFC_INTEGER_4_HUGE-1)
    or for floating point to say -GFC_REAL_8_HUGE.
    For UNSIGNED it expands to e.g. -GFC_UINTEGER_4_HUGE, but that is
    -0xffffffffU which is 1U, while the minimum value of the type is
    0.
    Haven't tried to construct testcases for that, but I believe e.g.
    maskval could return incorrectly 1 on an array (or masked array)
    full of 0s, or maxloc could identify incorrectly the maximum location.
    
    The following patch makes sure atype_min expands to 0 for atype_name
    GFC_UINTEGER*.
    
    2025-05-07  Jakub Jelinek  <ja...@redhat.com>
    
            PR libfortran/120158
            * m4/iparm.m4 (atype_min): For atype_name starting with
            GFC_UINTEGER define to 0.
            * generated/maxloc0_16_m1.c: Regenerate.
            * generated/maxloc0_16_m2.c: Regenerate.
            * generated/maxloc0_16_m4.c: Regenerate.
            * generated/maxloc0_16_m8.c: Regenerate.
            * generated/maxloc0_16_m16.c: Regenerate.
            * generated/maxloc0_4_m1.c: Regenerate.
            * generated/maxloc0_4_m2.c: Regenerate.
            * generated/maxloc0_4_m4.c: Regenerate.
            * generated/maxloc0_4_m8.c: Regenerate.
            * generated/maxloc0_4_m16.c: Regenerate.
            * generated/maxloc0_8_m1.c: Regenerate.
            * generated/maxloc0_8_m2.c: Regenerate.
            * generated/maxloc0_8_m4.c: Regenerate.
            * generated/maxloc0_8_m8.c: Regenerate.
            * generated/maxloc0_8_m16.c: Regenerate.
            * generated/maxloc1_16_m1.c: Regenerate.
            * generated/maxloc1_16_m2.c: Regenerate.
            * generated/maxloc1_16_m4.c: Regenerate.
            * generated/maxloc1_16_m8.c: Regenerate.
            * generated/maxloc1_16_m16.c: Regenerate.
            * generated/maxloc1_4_m1.c: Regenerate.
            * generated/maxloc1_4_m2.c: Regenerate.
            * generated/maxloc1_4_m4.c: Regenerate.
            * generated/maxloc1_4_m8.c: Regenerate.
            * generated/maxloc1_4_m16.c: Regenerate.
            * generated/maxloc1_8_m1.c: Regenerate.
            * generated/maxloc1_8_m2.c: Regenerate.
            * generated/maxloc1_8_m4.c: Regenerate.
            * generated/maxloc1_8_m8.c: Regenerate.
            * generated/maxloc1_8_m16.c: Regenerate.
            * generated/maxval_m1.c: Regenerate.
            * generated/maxval_m2.c: Regenerate.
            * generated/maxval_m4.c: Regenerate.
            * generated/maxval_m8.c: Regenerate.
            * generated/maxval_m16.c: Regenerate.
    
    (cherry picked from commit 8c73c99b6a8c3a562fef360bc269bd60bab36076)

Diff:
---
 libgfortran/generated/maxloc0_16_m1.c  |  4 ++--
 libgfortran/generated/maxloc0_16_m16.c |  4 ++--
 libgfortran/generated/maxloc0_16_m2.c  |  4 ++--
 libgfortran/generated/maxloc0_16_m4.c  |  4 ++--
 libgfortran/generated/maxloc0_16_m8.c  |  4 ++--
 libgfortran/generated/maxloc0_4_m1.c   |  4 ++--
 libgfortran/generated/maxloc0_4_m16.c  |  4 ++--
 libgfortran/generated/maxloc0_4_m2.c   |  4 ++--
 libgfortran/generated/maxloc0_4_m4.c   |  4 ++--
 libgfortran/generated/maxloc0_4_m8.c   |  4 ++--
 libgfortran/generated/maxloc0_8_m1.c   |  4 ++--
 libgfortran/generated/maxloc0_8_m16.c  |  4 ++--
 libgfortran/generated/maxloc0_8_m2.c   |  4 ++--
 libgfortran/generated/maxloc0_8_m4.c   |  4 ++--
 libgfortran/generated/maxloc0_8_m8.c   |  4 ++--
 libgfortran/generated/maxloc1_16_m1.c  |  4 ++--
 libgfortran/generated/maxloc1_16_m16.c |  4 ++--
 libgfortran/generated/maxloc1_16_m2.c  |  4 ++--
 libgfortran/generated/maxloc1_16_m4.c  |  4 ++--
 libgfortran/generated/maxloc1_16_m8.c  |  4 ++--
 libgfortran/generated/maxloc1_4_m1.c   |  4 ++--
 libgfortran/generated/maxloc1_4_m16.c  |  4 ++--
 libgfortran/generated/maxloc1_4_m2.c   |  4 ++--
 libgfortran/generated/maxloc1_4_m4.c   |  4 ++--
 libgfortran/generated/maxloc1_4_m8.c   |  4 ++--
 libgfortran/generated/maxloc1_8_m1.c   |  4 ++--
 libgfortran/generated/maxloc1_8_m16.c  |  4 ++--
 libgfortran/generated/maxloc1_8_m2.c   |  4 ++--
 libgfortran/generated/maxloc1_8_m4.c   |  4 ++--
 libgfortran/generated/maxloc1_8_m8.c   |  4 ++--
 libgfortran/generated/maxval_m1.c      | 12 ++++++------
 libgfortran/generated/maxval_m16.c     | 12 ++++++------
 libgfortran/generated/maxval_m2.c      | 12 ++++++------
 libgfortran/generated/maxval_m4.c      | 12 ++++++------
 libgfortran/generated/maxval_m8.c      | 12 ++++++------
 libgfortran/m4/iparm.m4                |  2 +-
 36 files changed, 91 insertions(+), 91 deletions(-)

diff --git a/libgfortran/generated/maxloc0_16_m1.c 
b/libgfortran/generated/maxloc0_16_m1.c
index d13ebbf134ca..2a47b9ebc125 100644
--- a/libgfortran/generated/maxloc0_16_m1.c
+++ b/libgfortran/generated/maxloc0_16_m1.c
@@ -96,7 +96,7 @@ maxloc0_16_m1 (gfc_array_i16 * const restrict retarray,
 #if defined(GFC_UINTEGER_1_INFINITY)
     maxval = -GFC_UINTEGER_1_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_1_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
@@ -271,7 +271,7 @@ mmaxloc0_16_m1 (gfc_array_i16 * const restrict retarray,
 #if defined(GFC_UINTEGER_1_INFINITY)
     maxval = -GFC_UINTEGER_1_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_1_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
diff --git a/libgfortran/generated/maxloc0_16_m16.c 
b/libgfortran/generated/maxloc0_16_m16.c
index 00cb09b640fa..1003fdb7251a 100644
--- a/libgfortran/generated/maxloc0_16_m16.c
+++ b/libgfortran/generated/maxloc0_16_m16.c
@@ -96,7 +96,7 @@ maxloc0_16_m16 (gfc_array_i16 * const restrict retarray,
 #if defined(GFC_UINTEGER_16_INFINITY)
     maxval = -GFC_UINTEGER_16_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_16_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
@@ -271,7 +271,7 @@ mmaxloc0_16_m16 (gfc_array_i16 * const restrict retarray,
 #if defined(GFC_UINTEGER_16_INFINITY)
     maxval = -GFC_UINTEGER_16_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_16_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
diff --git a/libgfortran/generated/maxloc0_16_m2.c 
b/libgfortran/generated/maxloc0_16_m2.c
index 324495281994..49b92f7eb98d 100644
--- a/libgfortran/generated/maxloc0_16_m2.c
+++ b/libgfortran/generated/maxloc0_16_m2.c
@@ -96,7 +96,7 @@ maxloc0_16_m2 (gfc_array_i16 * const restrict retarray,
 #if defined(GFC_UINTEGER_2_INFINITY)
     maxval = -GFC_UINTEGER_2_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_2_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
@@ -271,7 +271,7 @@ mmaxloc0_16_m2 (gfc_array_i16 * const restrict retarray,
 #if defined(GFC_UINTEGER_2_INFINITY)
     maxval = -GFC_UINTEGER_2_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_2_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
diff --git a/libgfortran/generated/maxloc0_16_m4.c 
b/libgfortran/generated/maxloc0_16_m4.c
index 3cda598de77b..0144125709be 100644
--- a/libgfortran/generated/maxloc0_16_m4.c
+++ b/libgfortran/generated/maxloc0_16_m4.c
@@ -96,7 +96,7 @@ maxloc0_16_m4 (gfc_array_i16 * const restrict retarray,
 #if defined(GFC_UINTEGER_4_INFINITY)
     maxval = -GFC_UINTEGER_4_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_4_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
@@ -271,7 +271,7 @@ mmaxloc0_16_m4 (gfc_array_i16 * const restrict retarray,
 #if defined(GFC_UINTEGER_4_INFINITY)
     maxval = -GFC_UINTEGER_4_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_4_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
diff --git a/libgfortran/generated/maxloc0_16_m8.c 
b/libgfortran/generated/maxloc0_16_m8.c
index f98485d06dfa..96d6295e5c5c 100644
--- a/libgfortran/generated/maxloc0_16_m8.c
+++ b/libgfortran/generated/maxloc0_16_m8.c
@@ -96,7 +96,7 @@ maxloc0_16_m8 (gfc_array_i16 * const restrict retarray,
 #if defined(GFC_UINTEGER_8_INFINITY)
     maxval = -GFC_UINTEGER_8_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_8_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
@@ -271,7 +271,7 @@ mmaxloc0_16_m8 (gfc_array_i16 * const restrict retarray,
 #if defined(GFC_UINTEGER_8_INFINITY)
     maxval = -GFC_UINTEGER_8_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_8_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
diff --git a/libgfortran/generated/maxloc0_4_m1.c 
b/libgfortran/generated/maxloc0_4_m1.c
index 7ae89c1a7742..782595234711 100644
--- a/libgfortran/generated/maxloc0_4_m1.c
+++ b/libgfortran/generated/maxloc0_4_m1.c
@@ -96,7 +96,7 @@ maxloc0_4_m1 (gfc_array_i4 * const restrict retarray,
 #if defined(GFC_UINTEGER_1_INFINITY)
     maxval = -GFC_UINTEGER_1_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_1_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
@@ -271,7 +271,7 @@ mmaxloc0_4_m1 (gfc_array_i4 * const restrict retarray,
 #if defined(GFC_UINTEGER_1_INFINITY)
     maxval = -GFC_UINTEGER_1_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_1_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
diff --git a/libgfortran/generated/maxloc0_4_m16.c 
b/libgfortran/generated/maxloc0_4_m16.c
index 8d62e0469289..4e90c491d63a 100644
--- a/libgfortran/generated/maxloc0_4_m16.c
+++ b/libgfortran/generated/maxloc0_4_m16.c
@@ -96,7 +96,7 @@ maxloc0_4_m16 (gfc_array_i4 * const restrict retarray,
 #if defined(GFC_UINTEGER_16_INFINITY)
     maxval = -GFC_UINTEGER_16_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_16_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
@@ -271,7 +271,7 @@ mmaxloc0_4_m16 (gfc_array_i4 * const restrict retarray,
 #if defined(GFC_UINTEGER_16_INFINITY)
     maxval = -GFC_UINTEGER_16_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_16_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
diff --git a/libgfortran/generated/maxloc0_4_m2.c 
b/libgfortran/generated/maxloc0_4_m2.c
index c8cf68bac099..b6b530bed636 100644
--- a/libgfortran/generated/maxloc0_4_m2.c
+++ b/libgfortran/generated/maxloc0_4_m2.c
@@ -96,7 +96,7 @@ maxloc0_4_m2 (gfc_array_i4 * const restrict retarray,
 #if defined(GFC_UINTEGER_2_INFINITY)
     maxval = -GFC_UINTEGER_2_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_2_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
@@ -271,7 +271,7 @@ mmaxloc0_4_m2 (gfc_array_i4 * const restrict retarray,
 #if defined(GFC_UINTEGER_2_INFINITY)
     maxval = -GFC_UINTEGER_2_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_2_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
diff --git a/libgfortran/generated/maxloc0_4_m4.c 
b/libgfortran/generated/maxloc0_4_m4.c
index 3f5f5500d63e..b3ee5af083be 100644
--- a/libgfortran/generated/maxloc0_4_m4.c
+++ b/libgfortran/generated/maxloc0_4_m4.c
@@ -96,7 +96,7 @@ maxloc0_4_m4 (gfc_array_i4 * const restrict retarray,
 #if defined(GFC_UINTEGER_4_INFINITY)
     maxval = -GFC_UINTEGER_4_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_4_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
@@ -271,7 +271,7 @@ mmaxloc0_4_m4 (gfc_array_i4 * const restrict retarray,
 #if defined(GFC_UINTEGER_4_INFINITY)
     maxval = -GFC_UINTEGER_4_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_4_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
diff --git a/libgfortran/generated/maxloc0_4_m8.c 
b/libgfortran/generated/maxloc0_4_m8.c
index d4c30f8a6390..4f7ec059f965 100644
--- a/libgfortran/generated/maxloc0_4_m8.c
+++ b/libgfortran/generated/maxloc0_4_m8.c
@@ -96,7 +96,7 @@ maxloc0_4_m8 (gfc_array_i4 * const restrict retarray,
 #if defined(GFC_UINTEGER_8_INFINITY)
     maxval = -GFC_UINTEGER_8_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_8_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
@@ -271,7 +271,7 @@ mmaxloc0_4_m8 (gfc_array_i4 * const restrict retarray,
 #if defined(GFC_UINTEGER_8_INFINITY)
     maxval = -GFC_UINTEGER_8_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_8_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
diff --git a/libgfortran/generated/maxloc0_8_m1.c 
b/libgfortran/generated/maxloc0_8_m1.c
index af972135410e..2b4b0e7fcbec 100644
--- a/libgfortran/generated/maxloc0_8_m1.c
+++ b/libgfortran/generated/maxloc0_8_m1.c
@@ -96,7 +96,7 @@ maxloc0_8_m1 (gfc_array_i8 * const restrict retarray,
 #if defined(GFC_UINTEGER_1_INFINITY)
     maxval = -GFC_UINTEGER_1_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_1_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
@@ -271,7 +271,7 @@ mmaxloc0_8_m1 (gfc_array_i8 * const restrict retarray,
 #if defined(GFC_UINTEGER_1_INFINITY)
     maxval = -GFC_UINTEGER_1_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_1_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
diff --git a/libgfortran/generated/maxloc0_8_m16.c 
b/libgfortran/generated/maxloc0_8_m16.c
index e2d47b6078cc..da03132c2e8b 100644
--- a/libgfortran/generated/maxloc0_8_m16.c
+++ b/libgfortran/generated/maxloc0_8_m16.c
@@ -96,7 +96,7 @@ maxloc0_8_m16 (gfc_array_i8 * const restrict retarray,
 #if defined(GFC_UINTEGER_16_INFINITY)
     maxval = -GFC_UINTEGER_16_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_16_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
@@ -271,7 +271,7 @@ mmaxloc0_8_m16 (gfc_array_i8 * const restrict retarray,
 #if defined(GFC_UINTEGER_16_INFINITY)
     maxval = -GFC_UINTEGER_16_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_16_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
diff --git a/libgfortran/generated/maxloc0_8_m2.c 
b/libgfortran/generated/maxloc0_8_m2.c
index 390fc8f9fd14..0c7b74c06f80 100644
--- a/libgfortran/generated/maxloc0_8_m2.c
+++ b/libgfortran/generated/maxloc0_8_m2.c
@@ -96,7 +96,7 @@ maxloc0_8_m2 (gfc_array_i8 * const restrict retarray,
 #if defined(GFC_UINTEGER_2_INFINITY)
     maxval = -GFC_UINTEGER_2_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_2_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
@@ -271,7 +271,7 @@ mmaxloc0_8_m2 (gfc_array_i8 * const restrict retarray,
 #if defined(GFC_UINTEGER_2_INFINITY)
     maxval = -GFC_UINTEGER_2_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_2_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
diff --git a/libgfortran/generated/maxloc0_8_m4.c 
b/libgfortran/generated/maxloc0_8_m4.c
index 05dda2c334b0..307a04b697c6 100644
--- a/libgfortran/generated/maxloc0_8_m4.c
+++ b/libgfortran/generated/maxloc0_8_m4.c
@@ -96,7 +96,7 @@ maxloc0_8_m4 (gfc_array_i8 * const restrict retarray,
 #if defined(GFC_UINTEGER_4_INFINITY)
     maxval = -GFC_UINTEGER_4_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_4_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
@@ -271,7 +271,7 @@ mmaxloc0_8_m4 (gfc_array_i8 * const restrict retarray,
 #if defined(GFC_UINTEGER_4_INFINITY)
     maxval = -GFC_UINTEGER_4_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_4_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
diff --git a/libgfortran/generated/maxloc0_8_m8.c 
b/libgfortran/generated/maxloc0_8_m8.c
index 48875e7f9b52..5160418c8d95 100644
--- a/libgfortran/generated/maxloc0_8_m8.c
+++ b/libgfortran/generated/maxloc0_8_m8.c
@@ -96,7 +96,7 @@ maxloc0_8_m8 (gfc_array_i8 * const restrict retarray,
 #if defined(GFC_UINTEGER_8_INFINITY)
     maxval = -GFC_UINTEGER_8_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_8_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
@@ -271,7 +271,7 @@ mmaxloc0_8_m8 (gfc_array_i8 * const restrict retarray,
 #if defined(GFC_UINTEGER_8_INFINITY)
     maxval = -GFC_UINTEGER_8_INFINITY;
 #else
-    maxval = -GFC_UINTEGER_8_HUGE;
+    maxval = 0;
 #endif
   while (base)
     {
diff --git a/libgfortran/generated/maxloc1_16_m1.c 
b/libgfortran/generated/maxloc1_16_m1.c
index 14961da84d53..4d78e75f3349 100644
--- a/libgfortran/generated/maxloc1_16_m1.c
+++ b/libgfortran/generated/maxloc1_16_m1.c
@@ -147,7 +147,7 @@ maxloc1_16_m1 (gfc_array_i16 * const restrict retarray,
 #if defined (GFC_UINTEGER_1_INFINITY)
        maxval = -GFC_UINTEGER_1_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_1_HUGE;
+       maxval = 0;
 #endif
        result = 1;
        if (len <= 0)
@@ -366,7 +366,7 @@ mmaxloc1_16_m1 (gfc_array_i16 * const restrict retarray,
 #if defined (GFC_UINTEGER_1_INFINITY)
        maxval = -GFC_UINTEGER_1_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_1_HUGE;
+       maxval = 0;
 #endif
 #if defined (GFC_UINTEGER_1_QUIET_NAN)
        GFC_INTEGER_16 result2 = 0;
diff --git a/libgfortran/generated/maxloc1_16_m16.c 
b/libgfortran/generated/maxloc1_16_m16.c
index d97dbc0c38ef..e6f1ae3607b6 100644
--- a/libgfortran/generated/maxloc1_16_m16.c
+++ b/libgfortran/generated/maxloc1_16_m16.c
@@ -147,7 +147,7 @@ maxloc1_16_m16 (gfc_array_i16 * const restrict retarray,
 #if defined (GFC_UINTEGER_16_INFINITY)
        maxval = -GFC_UINTEGER_16_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_16_HUGE;
+       maxval = 0;
 #endif
        result = 1;
        if (len <= 0)
@@ -366,7 +366,7 @@ mmaxloc1_16_m16 (gfc_array_i16 * const restrict retarray,
 #if defined (GFC_UINTEGER_16_INFINITY)
        maxval = -GFC_UINTEGER_16_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_16_HUGE;
+       maxval = 0;
 #endif
 #if defined (GFC_UINTEGER_16_QUIET_NAN)
        GFC_INTEGER_16 result2 = 0;
diff --git a/libgfortran/generated/maxloc1_16_m2.c 
b/libgfortran/generated/maxloc1_16_m2.c
index 0187b685ad48..8bb48ddaeba7 100644
--- a/libgfortran/generated/maxloc1_16_m2.c
+++ b/libgfortran/generated/maxloc1_16_m2.c
@@ -147,7 +147,7 @@ maxloc1_16_m2 (gfc_array_i16 * const restrict retarray,
 #if defined (GFC_UINTEGER_2_INFINITY)
        maxval = -GFC_UINTEGER_2_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_2_HUGE;
+       maxval = 0;
 #endif
        result = 1;
        if (len <= 0)
@@ -366,7 +366,7 @@ mmaxloc1_16_m2 (gfc_array_i16 * const restrict retarray,
 #if defined (GFC_UINTEGER_2_INFINITY)
        maxval = -GFC_UINTEGER_2_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_2_HUGE;
+       maxval = 0;
 #endif
 #if defined (GFC_UINTEGER_2_QUIET_NAN)
        GFC_INTEGER_16 result2 = 0;
diff --git a/libgfortran/generated/maxloc1_16_m4.c 
b/libgfortran/generated/maxloc1_16_m4.c
index 480a524878bb..659d6cf6abb9 100644
--- a/libgfortran/generated/maxloc1_16_m4.c
+++ b/libgfortran/generated/maxloc1_16_m4.c
@@ -147,7 +147,7 @@ maxloc1_16_m4 (gfc_array_i16 * const restrict retarray,
 #if defined (GFC_UINTEGER_4_INFINITY)
        maxval = -GFC_UINTEGER_4_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_4_HUGE;
+       maxval = 0;
 #endif
        result = 1;
        if (len <= 0)
@@ -366,7 +366,7 @@ mmaxloc1_16_m4 (gfc_array_i16 * const restrict retarray,
 #if defined (GFC_UINTEGER_4_INFINITY)
        maxval = -GFC_UINTEGER_4_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_4_HUGE;
+       maxval = 0;
 #endif
 #if defined (GFC_UINTEGER_4_QUIET_NAN)
        GFC_INTEGER_16 result2 = 0;
diff --git a/libgfortran/generated/maxloc1_16_m8.c 
b/libgfortran/generated/maxloc1_16_m8.c
index ecbaba3685bd..a6d2c08a5608 100644
--- a/libgfortran/generated/maxloc1_16_m8.c
+++ b/libgfortran/generated/maxloc1_16_m8.c
@@ -147,7 +147,7 @@ maxloc1_16_m8 (gfc_array_i16 * const restrict retarray,
 #if defined (GFC_UINTEGER_8_INFINITY)
        maxval = -GFC_UINTEGER_8_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_8_HUGE;
+       maxval = 0;
 #endif
        result = 1;
        if (len <= 0)
@@ -366,7 +366,7 @@ mmaxloc1_16_m8 (gfc_array_i16 * const restrict retarray,
 #if defined (GFC_UINTEGER_8_INFINITY)
        maxval = -GFC_UINTEGER_8_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_8_HUGE;
+       maxval = 0;
 #endif
 #if defined (GFC_UINTEGER_8_QUIET_NAN)
        GFC_INTEGER_16 result2 = 0;
diff --git a/libgfortran/generated/maxloc1_4_m1.c 
b/libgfortran/generated/maxloc1_4_m1.c
index e69d49d77e17..709a1ddd38af 100644
--- a/libgfortran/generated/maxloc1_4_m1.c
+++ b/libgfortran/generated/maxloc1_4_m1.c
@@ -147,7 +147,7 @@ maxloc1_4_m1 (gfc_array_i4 * const restrict retarray,
 #if defined (GFC_UINTEGER_1_INFINITY)
        maxval = -GFC_UINTEGER_1_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_1_HUGE;
+       maxval = 0;
 #endif
        result = 1;
        if (len <= 0)
@@ -366,7 +366,7 @@ mmaxloc1_4_m1 (gfc_array_i4 * const restrict retarray,
 #if defined (GFC_UINTEGER_1_INFINITY)
        maxval = -GFC_UINTEGER_1_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_1_HUGE;
+       maxval = 0;
 #endif
 #if defined (GFC_UINTEGER_1_QUIET_NAN)
        GFC_INTEGER_4 result2 = 0;
diff --git a/libgfortran/generated/maxloc1_4_m16.c 
b/libgfortran/generated/maxloc1_4_m16.c
index 0ed90bb3319e..cc10527a49a2 100644
--- a/libgfortran/generated/maxloc1_4_m16.c
+++ b/libgfortran/generated/maxloc1_4_m16.c
@@ -147,7 +147,7 @@ maxloc1_4_m16 (gfc_array_i4 * const restrict retarray,
 #if defined (GFC_UINTEGER_16_INFINITY)
        maxval = -GFC_UINTEGER_16_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_16_HUGE;
+       maxval = 0;
 #endif
        result = 1;
        if (len <= 0)
@@ -366,7 +366,7 @@ mmaxloc1_4_m16 (gfc_array_i4 * const restrict retarray,
 #if defined (GFC_UINTEGER_16_INFINITY)
        maxval = -GFC_UINTEGER_16_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_16_HUGE;
+       maxval = 0;
 #endif
 #if defined (GFC_UINTEGER_16_QUIET_NAN)
        GFC_INTEGER_4 result2 = 0;
diff --git a/libgfortran/generated/maxloc1_4_m2.c 
b/libgfortran/generated/maxloc1_4_m2.c
index 76aa8d1ab3bb..06f989cee5d1 100644
--- a/libgfortran/generated/maxloc1_4_m2.c
+++ b/libgfortran/generated/maxloc1_4_m2.c
@@ -147,7 +147,7 @@ maxloc1_4_m2 (gfc_array_i4 * const restrict retarray,
 #if defined (GFC_UINTEGER_2_INFINITY)
        maxval = -GFC_UINTEGER_2_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_2_HUGE;
+       maxval = 0;
 #endif
        result = 1;
        if (len <= 0)
@@ -366,7 +366,7 @@ mmaxloc1_4_m2 (gfc_array_i4 * const restrict retarray,
 #if defined (GFC_UINTEGER_2_INFINITY)
        maxval = -GFC_UINTEGER_2_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_2_HUGE;
+       maxval = 0;
 #endif
 #if defined (GFC_UINTEGER_2_QUIET_NAN)
        GFC_INTEGER_4 result2 = 0;
diff --git a/libgfortran/generated/maxloc1_4_m4.c 
b/libgfortran/generated/maxloc1_4_m4.c
index 3313c14aeff1..6a52a0a2f439 100644
--- a/libgfortran/generated/maxloc1_4_m4.c
+++ b/libgfortran/generated/maxloc1_4_m4.c
@@ -147,7 +147,7 @@ maxloc1_4_m4 (gfc_array_i4 * const restrict retarray,
 #if defined (GFC_UINTEGER_4_INFINITY)
        maxval = -GFC_UINTEGER_4_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_4_HUGE;
+       maxval = 0;
 #endif
        result = 1;
        if (len <= 0)
@@ -366,7 +366,7 @@ mmaxloc1_4_m4 (gfc_array_i4 * const restrict retarray,
 #if defined (GFC_UINTEGER_4_INFINITY)
        maxval = -GFC_UINTEGER_4_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_4_HUGE;
+       maxval = 0;
 #endif
 #if defined (GFC_UINTEGER_4_QUIET_NAN)
        GFC_INTEGER_4 result2 = 0;
diff --git a/libgfortran/generated/maxloc1_4_m8.c 
b/libgfortran/generated/maxloc1_4_m8.c
index 1f39517078c7..e2f92a9a2125 100644
--- a/libgfortran/generated/maxloc1_4_m8.c
+++ b/libgfortran/generated/maxloc1_4_m8.c
@@ -147,7 +147,7 @@ maxloc1_4_m8 (gfc_array_i4 * const restrict retarray,
 #if defined (GFC_UINTEGER_8_INFINITY)
        maxval = -GFC_UINTEGER_8_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_8_HUGE;
+       maxval = 0;
 #endif
        result = 1;
        if (len <= 0)
@@ -366,7 +366,7 @@ mmaxloc1_4_m8 (gfc_array_i4 * const restrict retarray,
 #if defined (GFC_UINTEGER_8_INFINITY)
        maxval = -GFC_UINTEGER_8_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_8_HUGE;
+       maxval = 0;
 #endif
 #if defined (GFC_UINTEGER_8_QUIET_NAN)
        GFC_INTEGER_4 result2 = 0;
diff --git a/libgfortran/generated/maxloc1_8_m1.c 
b/libgfortran/generated/maxloc1_8_m1.c
index 7c3ac0f96e98..2f2ff5ad0a04 100644
--- a/libgfortran/generated/maxloc1_8_m1.c
+++ b/libgfortran/generated/maxloc1_8_m1.c
@@ -147,7 +147,7 @@ maxloc1_8_m1 (gfc_array_i8 * const restrict retarray,
 #if defined (GFC_UINTEGER_1_INFINITY)
        maxval = -GFC_UINTEGER_1_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_1_HUGE;
+       maxval = 0;
 #endif
        result = 1;
        if (len <= 0)
@@ -366,7 +366,7 @@ mmaxloc1_8_m1 (gfc_array_i8 * const restrict retarray,
 #if defined (GFC_UINTEGER_1_INFINITY)
        maxval = -GFC_UINTEGER_1_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_1_HUGE;
+       maxval = 0;
 #endif
 #if defined (GFC_UINTEGER_1_QUIET_NAN)
        GFC_INTEGER_8 result2 = 0;
diff --git a/libgfortran/generated/maxloc1_8_m16.c 
b/libgfortran/generated/maxloc1_8_m16.c
index c643963af015..c0c47bb16d60 100644
--- a/libgfortran/generated/maxloc1_8_m16.c
+++ b/libgfortran/generated/maxloc1_8_m16.c
@@ -147,7 +147,7 @@ maxloc1_8_m16 (gfc_array_i8 * const restrict retarray,
 #if defined (GFC_UINTEGER_16_INFINITY)
        maxval = -GFC_UINTEGER_16_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_16_HUGE;
+       maxval = 0;
 #endif
        result = 1;
        if (len <= 0)
@@ -366,7 +366,7 @@ mmaxloc1_8_m16 (gfc_array_i8 * const restrict retarray,
 #if defined (GFC_UINTEGER_16_INFINITY)
        maxval = -GFC_UINTEGER_16_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_16_HUGE;
+       maxval = 0;
 #endif
 #if defined (GFC_UINTEGER_16_QUIET_NAN)
        GFC_INTEGER_8 result2 = 0;
diff --git a/libgfortran/generated/maxloc1_8_m2.c 
b/libgfortran/generated/maxloc1_8_m2.c
index 2fa5c3b35358..cf915b07b48a 100644
--- a/libgfortran/generated/maxloc1_8_m2.c
+++ b/libgfortran/generated/maxloc1_8_m2.c
@@ -147,7 +147,7 @@ maxloc1_8_m2 (gfc_array_i8 * const restrict retarray,
 #if defined (GFC_UINTEGER_2_INFINITY)
        maxval = -GFC_UINTEGER_2_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_2_HUGE;
+       maxval = 0;
 #endif
        result = 1;
        if (len <= 0)
@@ -366,7 +366,7 @@ mmaxloc1_8_m2 (gfc_array_i8 * const restrict retarray,
 #if defined (GFC_UINTEGER_2_INFINITY)
        maxval = -GFC_UINTEGER_2_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_2_HUGE;
+       maxval = 0;
 #endif
 #if defined (GFC_UINTEGER_2_QUIET_NAN)
        GFC_INTEGER_8 result2 = 0;
diff --git a/libgfortran/generated/maxloc1_8_m4.c 
b/libgfortran/generated/maxloc1_8_m4.c
index 8761c09162ac..6a086448f1cc 100644
--- a/libgfortran/generated/maxloc1_8_m4.c
+++ b/libgfortran/generated/maxloc1_8_m4.c
@@ -147,7 +147,7 @@ maxloc1_8_m4 (gfc_array_i8 * const restrict retarray,
 #if defined (GFC_UINTEGER_4_INFINITY)
        maxval = -GFC_UINTEGER_4_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_4_HUGE;
+       maxval = 0;
 #endif
        result = 1;
        if (len <= 0)
@@ -366,7 +366,7 @@ mmaxloc1_8_m4 (gfc_array_i8 * const restrict retarray,
 #if defined (GFC_UINTEGER_4_INFINITY)
        maxval = -GFC_UINTEGER_4_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_4_HUGE;
+       maxval = 0;
 #endif
 #if defined (GFC_UINTEGER_4_QUIET_NAN)
        GFC_INTEGER_8 result2 = 0;
diff --git a/libgfortran/generated/maxloc1_8_m8.c 
b/libgfortran/generated/maxloc1_8_m8.c
index 83c9795ab3db..497b18d2ba7b 100644
--- a/libgfortran/generated/maxloc1_8_m8.c
+++ b/libgfortran/generated/maxloc1_8_m8.c
@@ -147,7 +147,7 @@ maxloc1_8_m8 (gfc_array_i8 * const restrict retarray,
 #if defined (GFC_UINTEGER_8_INFINITY)
        maxval = -GFC_UINTEGER_8_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_8_HUGE;
+       maxval = 0;
 #endif
        result = 1;
        if (len <= 0)
@@ -366,7 +366,7 @@ mmaxloc1_8_m8 (gfc_array_i8 * const restrict retarray,
 #if defined (GFC_UINTEGER_8_INFINITY)
        maxval = -GFC_UINTEGER_8_INFINITY;
 #else
-       maxval = -GFC_UINTEGER_8_HUGE;
+       maxval = 0;
 #endif
 #if defined (GFC_UINTEGER_8_QUIET_NAN)
        GFC_INTEGER_8 result2 = 0;
diff --git a/libgfortran/generated/maxval_m1.c 
b/libgfortran/generated/maxval_m1.c
index 18df9b8b575c..04bf5101c1b5 100644
--- a/libgfortran/generated/maxval_m1.c
+++ b/libgfortran/generated/maxval_m1.c
@@ -143,10 +143,10 @@ maxval_m1 (gfc_array_m1 * const restrict retarray,
 #if defined (GFC_UINTEGER_1_INFINITY)
        result = -GFC_UINTEGER_1_INFINITY;
 #else
-       result = -GFC_UINTEGER_1_HUGE;
+       result = 0;
 #endif
        if (len <= 0)
-         *dest = -GFC_UINTEGER_1_HUGE;
+         *dest = 0;
        else
          {
 #if ! defined HAVE_BACK_ARG
@@ -351,7 +351,7 @@ mmaxval_m1 (gfc_array_m1 * const restrict retarray,
 #if defined (GFC_UINTEGER_1_INFINITY)
        result = -GFC_UINTEGER_1_INFINITY;
 #else
-       result = -GFC_UINTEGER_1_HUGE;
+       result = 0;
 #endif
 #if defined (GFC_UINTEGER_1_QUIET_NAN)
        int non_empty_p = 0;
@@ -372,9 +372,9 @@ mmaxval_m1 (gfc_array_m1 * const restrict retarray,
            if (unlikely (n >= len))
              {
 #if defined (GFC_UINTEGER_1_QUIET_NAN)
-               result = non_empty_p ? GFC_UINTEGER_1_QUIET_NAN : 
-GFC_UINTEGER_1_HUGE;
+               result = non_empty_p ? GFC_UINTEGER_1_QUIET_NAN : 0;
 #else
-               result = -GFC_UINTEGER_1_HUGE;
+               result = 0;
 #endif
              }
            else for (; n < len; n++, src += delta, msrc += mdelta)
@@ -535,7 +535,7 @@ smaxval_m1 (gfc_array_m1 * const restrict retarray,
 
   while(1)
     {
-      *dest = -GFC_UINTEGER_1_HUGE;
+      *dest = 0;
       count[0]++;
       dest += dstride[0];
       n = 0;
diff --git a/libgfortran/generated/maxval_m16.c 
b/libgfortran/generated/maxval_m16.c
index a66dc7aad4bc..0833d0190544 100644
--- a/libgfortran/generated/maxval_m16.c
+++ b/libgfortran/generated/maxval_m16.c
@@ -143,10 +143,10 @@ maxval_m16 (gfc_array_m16 * const restrict retarray,
 #if defined (GFC_UINTEGER_16_INFINITY)
        result = -GFC_UINTEGER_16_INFINITY;
 #else
-       result = -GFC_UINTEGER_16_HUGE;
+       result = 0;
 #endif
        if (len <= 0)
-         *dest = -GFC_UINTEGER_16_HUGE;
+         *dest = 0;
        else
          {
 #if ! defined HAVE_BACK_ARG
@@ -351,7 +351,7 @@ mmaxval_m16 (gfc_array_m16 * const restrict retarray,
 #if defined (GFC_UINTEGER_16_INFINITY)
        result = -GFC_UINTEGER_16_INFINITY;
 #else
-       result = -GFC_UINTEGER_16_HUGE;
+       result = 0;
 #endif
 #if defined (GFC_UINTEGER_16_QUIET_NAN)
        int non_empty_p = 0;
@@ -372,9 +372,9 @@ mmaxval_m16 (gfc_array_m16 * const restrict retarray,
            if (unlikely (n >= len))
              {
 #if defined (GFC_UINTEGER_16_QUIET_NAN)
-               result = non_empty_p ? GFC_UINTEGER_16_QUIET_NAN : 
-GFC_UINTEGER_16_HUGE;
+               result = non_empty_p ? GFC_UINTEGER_16_QUIET_NAN : 0;
 #else
-               result = -GFC_UINTEGER_16_HUGE;
+               result = 0;
 #endif
              }
            else for (; n < len; n++, src += delta, msrc += mdelta)
@@ -535,7 +535,7 @@ smaxval_m16 (gfc_array_m16 * const restrict retarray,
 
   while(1)
     {
-      *dest = -GFC_UINTEGER_16_HUGE;
+      *dest = 0;
       count[0]++;
       dest += dstride[0];
       n = 0;
diff --git a/libgfortran/generated/maxval_m2.c 
b/libgfortran/generated/maxval_m2.c
index 19fa8de0e2a0..70f3785d2c2c 100644
--- a/libgfortran/generated/maxval_m2.c
+++ b/libgfortran/generated/maxval_m2.c
@@ -143,10 +143,10 @@ maxval_m2 (gfc_array_m2 * const restrict retarray,
 #if defined (GFC_UINTEGER_2_INFINITY)
        result = -GFC_UINTEGER_2_INFINITY;
 #else
-       result = -GFC_UINTEGER_2_HUGE;
+       result = 0;
 #endif
        if (len <= 0)
-         *dest = -GFC_UINTEGER_2_HUGE;
+         *dest = 0;
        else
          {
 #if ! defined HAVE_BACK_ARG
@@ -351,7 +351,7 @@ mmaxval_m2 (gfc_array_m2 * const restrict retarray,
 #if defined (GFC_UINTEGER_2_INFINITY)
        result = -GFC_UINTEGER_2_INFINITY;
 #else
-       result = -GFC_UINTEGER_2_HUGE;
+       result = 0;
 #endif
 #if defined (GFC_UINTEGER_2_QUIET_NAN)
        int non_empty_p = 0;
@@ -372,9 +372,9 @@ mmaxval_m2 (gfc_array_m2 * const restrict retarray,
            if (unlikely (n >= len))
              {
 #if defined (GFC_UINTEGER_2_QUIET_NAN)
-               result = non_empty_p ? GFC_UINTEGER_2_QUIET_NAN : 
-GFC_UINTEGER_2_HUGE;
+               result = non_empty_p ? GFC_UINTEGER_2_QUIET_NAN : 0;
 #else
-               result = -GFC_UINTEGER_2_HUGE;
+               result = 0;
 #endif
              }
            else for (; n < len; n++, src += delta, msrc += mdelta)
@@ -535,7 +535,7 @@ smaxval_m2 (gfc_array_m2 * const restrict retarray,
 
   while(1)
     {
-      *dest = -GFC_UINTEGER_2_HUGE;
+      *dest = 0;
       count[0]++;
       dest += dstride[0];
       n = 0;
diff --git a/libgfortran/generated/maxval_m4.c 
b/libgfortran/generated/maxval_m4.c
index 6d660d8750db..3b1e79a480e6 100644
--- a/libgfortran/generated/maxval_m4.c
+++ b/libgfortran/generated/maxval_m4.c
@@ -143,10 +143,10 @@ maxval_m4 (gfc_array_m4 * const restrict retarray,
 #if defined (GFC_UINTEGER_4_INFINITY)
        result = -GFC_UINTEGER_4_INFINITY;
 #else
-       result = -GFC_UINTEGER_4_HUGE;
+       result = 0;
 #endif
        if (len <= 0)
-         *dest = -GFC_UINTEGER_4_HUGE;
+         *dest = 0;
        else
          {
 #if ! defined HAVE_BACK_ARG
@@ -351,7 +351,7 @@ mmaxval_m4 (gfc_array_m4 * const restrict retarray,
 #if defined (GFC_UINTEGER_4_INFINITY)
        result = -GFC_UINTEGER_4_INFINITY;
 #else
-       result = -GFC_UINTEGER_4_HUGE;
+       result = 0;
 #endif
 #if defined (GFC_UINTEGER_4_QUIET_NAN)
        int non_empty_p = 0;
@@ -372,9 +372,9 @@ mmaxval_m4 (gfc_array_m4 * const restrict retarray,
            if (unlikely (n >= len))
              {
 #if defined (GFC_UINTEGER_4_QUIET_NAN)
-               result = non_empty_p ? GFC_UINTEGER_4_QUIET_NAN : 
-GFC_UINTEGER_4_HUGE;
+               result = non_empty_p ? GFC_UINTEGER_4_QUIET_NAN : 0;
 #else
-               result = -GFC_UINTEGER_4_HUGE;
+               result = 0;
 #endif
              }
            else for (; n < len; n++, src += delta, msrc += mdelta)
@@ -535,7 +535,7 @@ smaxval_m4 (gfc_array_m4 * const restrict retarray,
 
   while(1)
     {
-      *dest = -GFC_UINTEGER_4_HUGE;
+      *dest = 0;
       count[0]++;
       dest += dstride[0];
       n = 0;
diff --git a/libgfortran/generated/maxval_m8.c 
b/libgfortran/generated/maxval_m8.c
index d6b7dac82bcf..ece64388c06f 100644
--- a/libgfortran/generated/maxval_m8.c
+++ b/libgfortran/generated/maxval_m8.c
@@ -143,10 +143,10 @@ maxval_m8 (gfc_array_m8 * const restrict retarray,
 #if defined (GFC_UINTEGER_8_INFINITY)
        result = -GFC_UINTEGER_8_INFINITY;
 #else
-       result = -GFC_UINTEGER_8_HUGE;
+       result = 0;
 #endif
        if (len <= 0)
-         *dest = -GFC_UINTEGER_8_HUGE;
+         *dest = 0;
        else
          {
 #if ! defined HAVE_BACK_ARG
@@ -351,7 +351,7 @@ mmaxval_m8 (gfc_array_m8 * const restrict retarray,
 #if defined (GFC_UINTEGER_8_INFINITY)
        result = -GFC_UINTEGER_8_INFINITY;
 #else
-       result = -GFC_UINTEGER_8_HUGE;
+       result = 0;
 #endif
 #if defined (GFC_UINTEGER_8_QUIET_NAN)
        int non_empty_p = 0;
@@ -372,9 +372,9 @@ mmaxval_m8 (gfc_array_m8 * const restrict retarray,
            if (unlikely (n >= len))
              {
 #if defined (GFC_UINTEGER_8_QUIET_NAN)
-               result = non_empty_p ? GFC_UINTEGER_8_QUIET_NAN : 
-GFC_UINTEGER_8_HUGE;
+               result = non_empty_p ? GFC_UINTEGER_8_QUIET_NAN : 0;
 #else
-               result = -GFC_UINTEGER_8_HUGE;
+               result = 0;
 #endif
              }
            else for (; n < len; n++, src += delta, msrc += mdelta)
@@ -535,7 +535,7 @@ smaxval_m8 (gfc_array_m8 * const restrict retarray,
 
   while(1)
     {
-      *dest = -GFC_UINTEGER_8_HUGE;
+      *dest = 0;
       count[0]++;
       dest += dstride[0];
       n = 0;
diff --git a/libgfortran/m4/iparm.m4 b/libgfortran/m4/iparm.m4
index 0c4c76c2428c..2d6a376b1384 100644
--- a/libgfortran/m4/iparm.m4
+++ b/libgfortran/m4/iparm.m4
@@ -28,7 +28,7 @@ define_type(rtype, rtype_tmp)dnl
 define(rtype_qual,`_'rtype_kind)dnl
 ')dnl
 define(atype_max, atype_name`_HUGE')dnl
-define(atype_min,ifelse(regexp(file, `_\(.\)[0-9]*\.c$', 
`\1'),`i',`(-'atype_max`-1)',`-'atype_max))dnl
+define(atype_min,ifelse(index(atype_name,`GFC_UINTEGER'),0,`0',ifelse(regexp(file,
 `_\(.\)[0-9]*\.c$', `\1'),`i',`(-'atype_max`-1)',`-'atype_max)))dnl
 define(atype_inf, atype_name`_INFINITY')dnl
 define(atype_nan, atype_name`_QUIET_NAN')dnl
 define(name, regexp(regexp(file, `[^/]*$', `\&'), `^\([^_]*\)_', `\1'))dnl

Reply via email to