Hi! 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*. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk and 15.2? 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. --- libgfortran/m4/iparm.m4.jj 2024-09-25 17:25:07.201360961 +0200 +++ libgfortran/m4/iparm.m4 2025-05-07 16:45:48.674397766 +0200 @@ -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 --- libgfortran/generated/maxloc0_16_m1.c.jj 2025-01-02 20:54:32.768121076 +0100 +++ libgfortran/generated/maxloc0_16_m1.c 2025-05-07 16:47:35.422000527 +0200 @@ -96,7 +96,7 @@ maxloc0_16_m1 (gfc_array_i16 * const res #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 re #if defined(GFC_UINTEGER_1_INFINITY) maxval = -GFC_UINTEGER_1_INFINITY; #else - maxval = -GFC_UINTEGER_1_HUGE; + maxval = 0; #endif while (base) { --- libgfortran/generated/maxloc0_16_m2.c.jj 2025-01-02 20:54:32.768121076 +0100 +++ libgfortran/generated/maxloc0_16_m2.c 2025-05-07 16:47:35.423000514 +0200 @@ -96,7 +96,7 @@ maxloc0_16_m2 (gfc_array_i16 * const res #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 re #if defined(GFC_UINTEGER_2_INFINITY) maxval = -GFC_UINTEGER_2_INFINITY; #else - maxval = -GFC_UINTEGER_2_HUGE; + maxval = 0; #endif while (base) { --- libgfortran/generated/maxloc0_16_m4.c.jj 2025-01-02 20:54:32.768121076 +0100 +++ libgfortran/generated/maxloc0_16_m4.c 2025-05-07 16:47:35.423000514 +0200 @@ -96,7 +96,7 @@ maxloc0_16_m4 (gfc_array_i16 * const res #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 re #if defined(GFC_UINTEGER_4_INFINITY) maxval = -GFC_UINTEGER_4_INFINITY; #else - maxval = -GFC_UINTEGER_4_HUGE; + maxval = 0; #endif while (base) { --- libgfortran/generated/maxloc0_16_m8.c.jj 2025-01-02 20:54:32.768121076 +0100 +++ libgfortran/generated/maxloc0_16_m8.c 2025-05-07 16:47:35.424000501 +0200 @@ -96,7 +96,7 @@ maxloc0_16_m8 (gfc_array_i16 * const res #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 re #if defined(GFC_UINTEGER_8_INFINITY) maxval = -GFC_UINTEGER_8_INFINITY; #else - maxval = -GFC_UINTEGER_8_HUGE; + maxval = 0; #endif while (base) { --- libgfortran/generated/maxloc0_16_m16.c.jj 2025-01-02 20:54:32.768121076 +0100 +++ libgfortran/generated/maxloc0_16_m16.c 2025-05-07 16:47:35.424000501 +0200 @@ -96,7 +96,7 @@ maxloc0_16_m16 (gfc_array_i16 * const re #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 r #if defined(GFC_UINTEGER_16_INFINITY) maxval = -GFC_UINTEGER_16_INFINITY; #else - maxval = -GFC_UINTEGER_16_HUGE; + maxval = 0; #endif while (base) { --- libgfortran/generated/maxloc0_4_m1.c.jj 2025-01-02 20:54:32.769121062 +0100 +++ libgfortran/generated/maxloc0_4_m1.c 2025-05-07 16:47:35.422000527 +0200 @@ -96,7 +96,7 @@ maxloc0_4_m1 (gfc_array_i4 * const restr #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 rest #if defined(GFC_UINTEGER_1_INFINITY) maxval = -GFC_UINTEGER_1_INFINITY; #else - maxval = -GFC_UINTEGER_1_HUGE; + maxval = 0; #endif while (base) { --- libgfortran/generated/maxloc0_4_m2.c.jj 2025-01-02 20:54:32.769121062 +0100 +++ libgfortran/generated/maxloc0_4_m2.c 2025-05-07 16:47:35.423000514 +0200 @@ -96,7 +96,7 @@ maxloc0_4_m2 (gfc_array_i4 * const restr #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 rest #if defined(GFC_UINTEGER_2_INFINITY) maxval = -GFC_UINTEGER_2_INFINITY; #else - maxval = -GFC_UINTEGER_2_HUGE; + maxval = 0; #endif while (base) { --- libgfortran/generated/maxloc0_4_m4.c.jj 2025-01-02 20:54:32.769121062 +0100 +++ libgfortran/generated/maxloc0_4_m4.c 2025-05-07 16:47:35.423000514 +0200 @@ -96,7 +96,7 @@ maxloc0_4_m4 (gfc_array_i4 * const restr #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 rest #if defined(GFC_UINTEGER_4_INFINITY) maxval = -GFC_UINTEGER_4_INFINITY; #else - maxval = -GFC_UINTEGER_4_HUGE; + maxval = 0; #endif while (base) { --- libgfortran/generated/maxloc0_4_m8.c.jj 2025-01-02 20:54:32.769121062 +0100 +++ libgfortran/generated/maxloc0_4_m8.c 2025-05-07 16:47:35.423000514 +0200 @@ -96,7 +96,7 @@ maxloc0_4_m8 (gfc_array_i4 * const restr #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 rest #if defined(GFC_UINTEGER_8_INFINITY) maxval = -GFC_UINTEGER_8_INFINITY; #else - maxval = -GFC_UINTEGER_8_HUGE; + maxval = 0; #endif while (base) { --- libgfortran/generated/maxloc0_4_m16.c.jj 2025-01-02 20:54:32.769121062 +0100 +++ libgfortran/generated/maxloc0_4_m16.c 2025-05-07 16:47:35.424000501 +0200 @@ -96,7 +96,7 @@ maxloc0_4_m16 (gfc_array_i4 * const rest #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 res #if defined(GFC_UINTEGER_16_INFINITY) maxval = -GFC_UINTEGER_16_INFINITY; #else - maxval = -GFC_UINTEGER_16_HUGE; + maxval = 0; #endif while (base) { --- libgfortran/generated/maxloc0_8_m1.c.jj 2025-01-02 20:54:32.770121048 +0100 +++ libgfortran/generated/maxloc0_8_m1.c 2025-05-07 16:47:35.422000527 +0200 @@ -96,7 +96,7 @@ maxloc0_8_m1 (gfc_array_i8 * const restr #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 rest #if defined(GFC_UINTEGER_1_INFINITY) maxval = -GFC_UINTEGER_1_INFINITY; #else - maxval = -GFC_UINTEGER_1_HUGE; + maxval = 0; #endif while (base) { --- libgfortran/generated/maxloc0_8_m2.c.jj 2025-01-02 20:54:32.770121048 +0100 +++ libgfortran/generated/maxloc0_8_m2.c 2025-05-07 16:47:35.422000527 +0200 @@ -96,7 +96,7 @@ maxloc0_8_m2 (gfc_array_i8 * const restr #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 rest #if defined(GFC_UINTEGER_2_INFINITY) maxval = -GFC_UINTEGER_2_INFINITY; #else - maxval = -GFC_UINTEGER_2_HUGE; + maxval = 0; #endif while (base) { --- libgfortran/generated/maxloc0_8_m4.c.jj 2025-01-02 20:54:32.770121048 +0100 +++ libgfortran/generated/maxloc0_8_m4.c 2025-05-07 16:47:35.423000514 +0200 @@ -96,7 +96,7 @@ maxloc0_8_m4 (gfc_array_i8 * const restr #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 rest #if defined(GFC_UINTEGER_4_INFINITY) maxval = -GFC_UINTEGER_4_INFINITY; #else - maxval = -GFC_UINTEGER_4_HUGE; + maxval = 0; #endif while (base) { --- libgfortran/generated/maxloc0_8_m8.c.jj 2025-01-02 20:54:32.770121048 +0100 +++ libgfortran/generated/maxloc0_8_m8.c 2025-05-07 16:47:35.423000514 +0200 @@ -96,7 +96,7 @@ maxloc0_8_m8 (gfc_array_i8 * const restr #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 rest #if defined(GFC_UINTEGER_8_INFINITY) maxval = -GFC_UINTEGER_8_INFINITY; #else - maxval = -GFC_UINTEGER_8_HUGE; + maxval = 0; #endif while (base) { --- libgfortran/generated/maxloc0_8_m16.c.jj 2025-01-02 20:54:32.770121048 +0100 +++ libgfortran/generated/maxloc0_8_m16.c 2025-05-07 16:47:35.424000501 +0200 @@ -96,7 +96,7 @@ maxloc0_8_m16 (gfc_array_i8 * const rest #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 res #if defined(GFC_UINTEGER_16_INFINITY) maxval = -GFC_UINTEGER_16_INFINITY; #else - maxval = -GFC_UINTEGER_16_HUGE; + maxval = 0; #endif while (base) { --- libgfortran/generated/maxloc1_16_m1.c.jj 2025-01-02 20:54:32.771121035 +0100 +++ libgfortran/generated/maxloc1_16_m1.c 2025-05-07 16:47:35.432000396 +0200 @@ -147,7 +147,7 @@ maxloc1_16_m1 (gfc_array_i16 * const res #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 re #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; --- libgfortran/generated/maxloc1_16_m2.c.jj 2025-01-02 20:54:32.771121035 +0100 +++ libgfortran/generated/maxloc1_16_m2.c 2025-05-07 16:47:35.433000383 +0200 @@ -147,7 +147,7 @@ maxloc1_16_m2 (gfc_array_i16 * const res #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 re #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; --- libgfortran/generated/maxloc1_16_m4.c.jj 2025-01-02 20:54:32.771121035 +0100 +++ libgfortran/generated/maxloc1_16_m4.c 2025-05-07 16:47:35.434000370 +0200 @@ -147,7 +147,7 @@ maxloc1_16_m4 (gfc_array_i16 * const res #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 re #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; --- libgfortran/generated/maxloc1_16_m8.c.jj 2025-01-02 20:54:32.771121035 +0100 +++ libgfortran/generated/maxloc1_16_m8.c 2025-05-07 16:47:35.434000370 +0200 @@ -147,7 +147,7 @@ maxloc1_16_m8 (gfc_array_i16 * const res #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 re #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; --- libgfortran/generated/maxloc1_16_m16.c.jj 2025-05-07 13:20:25.785034695 +0200 +++ libgfortran/generated/maxloc1_16_m16.c 2025-05-07 16:47:35.435000357 +0200 @@ -147,7 +147,7 @@ maxloc1_16_m16 (gfc_array_i16 * const re #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 r #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; --- libgfortran/generated/maxloc1_4_m1.c.jj 2025-01-02 20:54:32.771121035 +0100 +++ libgfortran/generated/maxloc1_4_m1.c 2025-05-07 16:47:35.432000396 +0200 @@ -147,7 +147,7 @@ maxloc1_4_m1 (gfc_array_i4 * const restr #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 rest #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; --- libgfortran/generated/maxloc1_4_m2.c.jj 2025-01-02 20:54:32.771121035 +0100 +++ libgfortran/generated/maxloc1_4_m2.c 2025-05-07 16:47:35.432000396 +0200 @@ -147,7 +147,7 @@ maxloc1_4_m2 (gfc_array_i4 * const restr #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 rest #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; --- libgfortran/generated/maxloc1_4_m4.c.jj 2025-01-02 20:54:32.771121035 +0100 +++ libgfortran/generated/maxloc1_4_m4.c 2025-05-07 16:47:35.433000383 +0200 @@ -147,7 +147,7 @@ maxloc1_4_m4 (gfc_array_i4 * const restr #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 rest #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; --- libgfortran/generated/maxloc1_4_m8.c.jj 2025-01-02 20:54:32.771121035 +0100 +++ libgfortran/generated/maxloc1_4_m8.c 2025-05-07 16:47:35.433000383 +0200 @@ -147,7 +147,7 @@ maxloc1_4_m8 (gfc_array_i4 * const restr #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 rest #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; --- libgfortran/generated/maxloc1_4_m16.c.jj 2025-01-02 20:54:32.771121035 +0100 +++ libgfortran/generated/maxloc1_4_m16.c 2025-05-07 16:47:35.434000370 +0200 @@ -147,7 +147,7 @@ maxloc1_4_m16 (gfc_array_i4 * const rest #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 res #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; --- libgfortran/generated/maxloc1_8_m1.c.jj 2025-01-02 20:54:32.772121021 +0100 +++ libgfortran/generated/maxloc1_8_m1.c 2025-05-07 16:47:35.432000396 +0200 @@ -147,7 +147,7 @@ maxloc1_8_m1 (gfc_array_i8 * const restr #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 rest #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; --- libgfortran/generated/maxloc1_8_m2.c.jj 2025-01-02 20:54:32.772121021 +0100 +++ libgfortran/generated/maxloc1_8_m2.c 2025-05-07 16:47:35.432000396 +0200 @@ -147,7 +147,7 @@ maxloc1_8_m2 (gfc_array_i8 * const restr #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 rest #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; --- libgfortran/generated/maxloc1_8_m4.c.jj 2025-01-02 20:54:32.772121021 +0100 +++ libgfortran/generated/maxloc1_8_m4.c 2025-05-07 16:47:35.433000383 +0200 @@ -147,7 +147,7 @@ maxloc1_8_m4 (gfc_array_i8 * const restr #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 rest #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; --- libgfortran/generated/maxloc1_8_m8.c.jj 2025-01-02 20:54:32.772121021 +0100 +++ libgfortran/generated/maxloc1_8_m8.c 2025-05-07 16:47:35.434000370 +0200 @@ -147,7 +147,7 @@ maxloc1_8_m8 (gfc_array_i8 * const restr #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 rest #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; --- libgfortran/generated/maxloc1_8_m16.c.jj 2025-01-02 20:54:32.772121021 +0100 +++ libgfortran/generated/maxloc1_8_m16.c 2025-05-07 16:47:35.434000370 +0200 @@ -147,7 +147,7 @@ maxloc1_8_m16 (gfc_array_i8 * const rest #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 res #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; --- libgfortran/generated/maxval_m1.c.jj 2025-01-02 20:54:32.773121007 +0100 +++ libgfortran/generated/maxval_m1.c 2025-05-07 16:47:35.439000305 +0200 @@ -143,10 +143,10 @@ maxval_m1 (gfc_array_m1 * const restrict #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 restric #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 restric 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 restric while(1) { - *dest = -GFC_UINTEGER_1_HUGE; + *dest = 0; count[0]++; dest += dstride[0]; n = 0; --- libgfortran/generated/maxval_m2.c.jj 2025-01-02 20:54:32.773121007 +0100 +++ libgfortran/generated/maxval_m2.c 2025-05-07 16:47:35.439000305 +0200 @@ -143,10 +143,10 @@ maxval_m2 (gfc_array_m2 * const restrict #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 restric #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 restric 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 restric while(1) { - *dest = -GFC_UINTEGER_2_HUGE; + *dest = 0; count[0]++; dest += dstride[0]; n = 0; --- libgfortran/generated/maxval_m4.c.jj 2025-01-02 20:54:32.773121007 +0100 +++ libgfortran/generated/maxval_m4.c 2025-05-07 16:47:35.440000292 +0200 @@ -143,10 +143,10 @@ maxval_m4 (gfc_array_m4 * const restrict #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 restric #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 restric 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 restric while(1) { - *dest = -GFC_UINTEGER_4_HUGE; + *dest = 0; count[0]++; dest += dstride[0]; n = 0; --- libgfortran/generated/maxval_m8.c.jj 2025-01-02 20:54:32.773121007 +0100 +++ libgfortran/generated/maxval_m8.c 2025-05-07 16:47:35.440000292 +0200 @@ -143,10 +143,10 @@ maxval_m8 (gfc_array_m8 * const restrict #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 restric #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 restric 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 restric while(1) { - *dest = -GFC_UINTEGER_8_HUGE; + *dest = 0; count[0]++; dest += dstride[0]; n = 0; --- libgfortran/generated/maxval_m16.c.jj 2025-01-02 20:54:32.773121007 +0100 +++ libgfortran/generated/maxval_m16.c 2025-05-07 16:47:35.440000292 +0200 @@ -143,10 +143,10 @@ maxval_m16 (gfc_array_m16 * const restri #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 restr #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 restr 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 restr while(1) { - *dest = -GFC_UINTEGER_16_HUGE; + *dest = 0; count[0]++; dest += dstride[0]; n = 0; Jakub