aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/generated
diff options
context:
space:
mode:
Diffstat (limited to 'libgfortran/generated')
-rw-r--r--libgfortran/generated/maxloc0_16_m1.c4
-rw-r--r--libgfortran/generated/maxloc0_16_m16.c4
-rw-r--r--libgfortran/generated/maxloc0_16_m2.c4
-rw-r--r--libgfortran/generated/maxloc0_16_m4.c4
-rw-r--r--libgfortran/generated/maxloc0_16_m8.c4
-rw-r--r--libgfortran/generated/maxloc0_4_m1.c4
-rw-r--r--libgfortran/generated/maxloc0_4_m16.c4
-rw-r--r--libgfortran/generated/maxloc0_4_m2.c4
-rw-r--r--libgfortran/generated/maxloc0_4_m4.c4
-rw-r--r--libgfortran/generated/maxloc0_4_m8.c4
-rw-r--r--libgfortran/generated/maxloc0_8_m1.c4
-rw-r--r--libgfortran/generated/maxloc0_8_m16.c4
-rw-r--r--libgfortran/generated/maxloc0_8_m2.c4
-rw-r--r--libgfortran/generated/maxloc0_8_m4.c4
-rw-r--r--libgfortran/generated/maxloc0_8_m8.c4
-rw-r--r--libgfortran/generated/maxloc1_16_m1.c4
-rw-r--r--libgfortran/generated/maxloc1_16_m16.c591
-rw-r--r--libgfortran/generated/maxloc1_16_m2.c4
-rw-r--r--libgfortran/generated/maxloc1_16_m4.c4
-rw-r--r--libgfortran/generated/maxloc1_16_m8.c4
-rw-r--r--libgfortran/generated/maxloc1_4_m1.c4
-rw-r--r--libgfortran/generated/maxloc1_4_m16.c4
-rw-r--r--libgfortran/generated/maxloc1_4_m2.c4
-rw-r--r--libgfortran/generated/maxloc1_4_m4.c4
-rw-r--r--libgfortran/generated/maxloc1_4_m8.c4
-rw-r--r--libgfortran/generated/maxloc1_8_m1.c4
-rw-r--r--libgfortran/generated/maxloc1_8_m16.c4
-rw-r--r--libgfortran/generated/maxloc1_8_m2.c4
-rw-r--r--libgfortran/generated/maxloc1_8_m4.c4
-rw-r--r--libgfortran/generated/maxloc1_8_m8.c4
-rw-r--r--libgfortran/generated/maxval_m1.c12
-rw-r--r--libgfortran/generated/maxval_m16.c12
-rw-r--r--libgfortran/generated/maxval_m2.c12
-rw-r--r--libgfortran/generated/maxval_m4.c12
-rw-r--r--libgfortran/generated/maxval_m8.c12
35 files changed, 679 insertions, 88 deletions
diff --git a/libgfortran/generated/maxloc0_16_m1.c b/libgfortran/generated/maxloc0_16_m1.c
index d13ebbf..2a47b9e 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 00cb09b..1003fdb 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 3244952..49b92f7 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 3cda598d..0144125 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 f98485d..96d6295 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 7ae89c1..7825952 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 8d62e04..4e90c49 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 c8cf68b..b6b530b 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 3f5f550..b3ee5af 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 d4c30f8..4f7ec05 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 af97213..2b4b0e7 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 e2d47b6..da03132 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 390fc8f..0c7b74c 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 05dda2c..307a04b 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 48875e7..5160418 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 14961da..4d78e75 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
new file mode 100644
index 0000000..e6f1ae3
--- /dev/null
+++ b/libgfortran/generated/maxloc1_16_m16.c
@@ -0,0 +1,591 @@
+/* Implementation of the MAXLOC intrinsic
+ Copyright (C) 2002-2025 Free Software Foundation, Inc.
+ Contributed by Paul Brook <paul@nowt.org>
+
+This file is part of the GNU Fortran runtime library (libgfortran).
+
+Libgfortran is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public
+License as published by the Free Software Foundation; either
+version 3 of the License, or (at your option) any later version.
+
+Libgfortran is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+Under Section 7 of GPL version 3, you are granted additional
+permissions described in the GCC Runtime Library Exception, version
+3.1, as published by the Free Software Foundation.
+
+You should have received a copy of the GNU General Public License and
+a copy of the GCC Runtime Library Exception along with this program;
+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+<http://www.gnu.org/licenses/>. */
+
+#include "libgfortran.h"
+#include <assert.h>
+
+
+#if defined (HAVE_GFC_UINTEGER_16) && defined (HAVE_GFC_INTEGER_16)
+
+#define HAVE_BACK_ARG 1
+
+
+extern void maxloc1_16_m16 (gfc_array_i16 * const restrict,
+ gfc_array_m16 * const restrict, const index_type * const restrict, GFC_LOGICAL_4 back);
+export_proto(maxloc1_16_m16);
+
+void
+maxloc1_16_m16 (gfc_array_i16 * const restrict retarray,
+ gfc_array_m16 * const restrict array,
+ const index_type * const restrict pdim, GFC_LOGICAL_4 back)
+{
+ index_type count[GFC_MAX_DIMENSIONS];
+ index_type extent[GFC_MAX_DIMENSIONS];
+ index_type sstride[GFC_MAX_DIMENSIONS];
+ index_type dstride[GFC_MAX_DIMENSIONS];
+ const GFC_UINTEGER_16 * restrict base;
+ GFC_INTEGER_16 * restrict dest;
+ index_type rank;
+ index_type n;
+ index_type len;
+ index_type delta;
+ index_type dim;
+ int continue_loop;
+
+ /* Make dim zero based to avoid confusion. */
+ rank = GFC_DESCRIPTOR_RANK (array) - 1;
+ dim = (*pdim) - 1;
+
+ if (unlikely (dim < 0 || dim > rank))
+ {
+ runtime_error ("Dim argument incorrect in MAXLOC intrinsic: "
+ "is %ld, should be between 1 and %ld",
+ (long int) dim + 1, (long int) rank + 1);
+ }
+
+ len = GFC_DESCRIPTOR_EXTENT(array,dim);
+ if (len < 0)
+ len = 0;
+ delta = GFC_DESCRIPTOR_STRIDE(array,dim);
+
+ for (n = 0; n < dim; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array,n);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+ for (n = dim; n < rank; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array, n + 1);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array, n + 1);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+
+ if (retarray->base_addr == NULL)
+ {
+ size_t alloc_size, str;
+
+ for (n = 0; n < rank; n++)
+ {
+ if (n == 0)
+ str = 1;
+ else
+ str = GFC_DESCRIPTOR_STRIDE(retarray,n-1) * extent[n-1];
+
+ GFC_DIMENSION_SET(retarray->dim[n], 0, extent[n] - 1, str);
+
+ }
+
+ retarray->offset = 0;
+ retarray->dtype.rank = rank;
+
+ alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
+
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_16));
+ if (alloc_size == 0)
+ return;
+ }
+ else
+ {
+ if (rank != GFC_DESCRIPTOR_RANK (retarray))
+ runtime_error ("rank of return array incorrect in"
+ " MAXLOC intrinsic: is %ld, should be %ld",
+ (long int) (GFC_DESCRIPTOR_RANK (retarray)),
+ (long int) rank);
+
+ if (unlikely (compile_options.bounds_check))
+ bounds_ifunction_return ((array_t *) retarray, extent,
+ "return value", "MAXLOC");
+ }
+
+ for (n = 0; n < rank; n++)
+ {
+ count[n] = 0;
+ dstride[n] = GFC_DESCRIPTOR_STRIDE(retarray,n);
+ if (extent[n] <= 0)
+ return;
+ }
+
+ base = array->base_addr;
+ dest = retarray->base_addr;
+
+ continue_loop = 1;
+ while (continue_loop)
+ {
+ const GFC_UINTEGER_16 * restrict src;
+ GFC_INTEGER_16 result;
+ src = base;
+ {
+
+ GFC_UINTEGER_16 maxval;
+#if defined (GFC_UINTEGER_16_INFINITY)
+ maxval = -GFC_UINTEGER_16_INFINITY;
+#else
+ maxval = 0;
+#endif
+ result = 1;
+ if (len <= 0)
+ *dest = 0;
+ else
+ {
+#if ! defined HAVE_BACK_ARG
+ for (n = 0; n < len; n++, src += delta)
+ {
+#endif
+
+#if defined (GFC_UINTEGER_16_QUIET_NAN)
+ for (n = 0; n < len; n++, src += delta)
+ {
+ if (*src >= maxval)
+ {
+ maxval = *src;
+ result = (GFC_INTEGER_16)n + 1;
+ break;
+ }
+ }
+#else
+ n = 0;
+#endif
+ for (; n < len; n++, src += delta)
+ {
+ if (back ? *src >= maxval : *src > maxval)
+ {
+ maxval = *src;
+ result = (GFC_INTEGER_16)n + 1;
+ }
+ }
+
+ *dest = result;
+ }
+ }
+ /* Advance to the next element. */
+ count[0]++;
+ base += sstride[0];
+ dest += dstride[0];
+ n = 0;
+ while (count[n] == extent[n])
+ {
+ /* When we get to the end of a dimension, reset it and increment
+ the next dimension. */
+ count[n] = 0;
+ /* We could precalculate these products, but this is a less
+ frequently used path so probably not worth it. */
+ base -= sstride[n] * extent[n];
+ dest -= dstride[n] * extent[n];
+ n++;
+ if (n >= rank)
+ {
+ /* Break out of the loop. */
+ continue_loop = 0;
+ break;
+ }
+ else
+ {
+ count[n]++;
+ base += sstride[n];
+ dest += dstride[n];
+ }
+ }
+ }
+}
+
+
+extern void mmaxloc1_16_m16 (gfc_array_i16 * const restrict,
+ gfc_array_m16 * const restrict, const index_type * const restrict,
+ gfc_array_l1 * const restrict, GFC_LOGICAL_4 back);
+export_proto(mmaxloc1_16_m16);
+
+void
+mmaxloc1_16_m16 (gfc_array_i16 * const restrict retarray,
+ gfc_array_m16 * const restrict array,
+ const index_type * const restrict pdim,
+ gfc_array_l1 * const restrict mask, GFC_LOGICAL_4 back)
+{
+ index_type count[GFC_MAX_DIMENSIONS];
+ index_type extent[GFC_MAX_DIMENSIONS];
+ index_type sstride[GFC_MAX_DIMENSIONS];
+ index_type dstride[GFC_MAX_DIMENSIONS];
+ index_type mstride[GFC_MAX_DIMENSIONS];
+ GFC_INTEGER_16 * restrict dest;
+ const GFC_UINTEGER_16 * restrict base;
+ const GFC_LOGICAL_1 * restrict mbase;
+ index_type rank;
+ index_type dim;
+ index_type n;
+ index_type len;
+ index_type delta;
+ index_type mdelta;
+ int mask_kind;
+
+ if (mask == NULL)
+ {
+#ifdef HAVE_BACK_ARG
+ maxloc1_16_m16 (retarray, array, pdim, back);
+#else
+ maxloc1_16_m16 (retarray, array, pdim);
+#endif
+ return;
+ }
+
+ dim = (*pdim) - 1;
+ rank = GFC_DESCRIPTOR_RANK (array) - 1;
+
+
+ if (unlikely (dim < 0 || dim > rank))
+ {
+ runtime_error ("Dim argument incorrect in MAXLOC intrinsic: "
+ "is %ld, should be between 1 and %ld",
+ (long int) dim + 1, (long int) rank + 1);
+ }
+
+ len = GFC_DESCRIPTOR_EXTENT(array,dim);
+ if (len < 0)
+ len = 0;
+
+ mbase = mask->base_addr;
+
+ mask_kind = GFC_DESCRIPTOR_SIZE (mask);
+
+ if (mask_kind == 1 || mask_kind == 2 || mask_kind == 4 || mask_kind == 8
+#ifdef HAVE_GFC_LOGICAL_16
+ || mask_kind == 16
+#endif
+ )
+ mbase = GFOR_POINTER_TO_L1 (mbase, mask_kind);
+ else
+ runtime_error ("Funny sized logical array");
+
+ delta = GFC_DESCRIPTOR_STRIDE(array,dim);
+ mdelta = GFC_DESCRIPTOR_STRIDE_BYTES(mask,dim);
+
+ for (n = 0; n < dim; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array,n);
+ mstride[n] = GFC_DESCRIPTOR_STRIDE_BYTES(mask,n);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+
+ }
+ for (n = dim; n < rank; n++)
+ {
+ sstride[n] = GFC_DESCRIPTOR_STRIDE(array,n + 1);
+ mstride[n] = GFC_DESCRIPTOR_STRIDE_BYTES(mask, n + 1);
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array, n + 1);
+
+ if (extent[n] < 0)
+ extent[n] = 0;
+ }
+
+ if (retarray->base_addr == NULL)
+ {
+ size_t alloc_size, str;
+
+ for (n = 0; n < rank; n++)
+ {
+ if (n == 0)
+ str = 1;
+ else
+ str= GFC_DESCRIPTOR_STRIDE(retarray,n-1) * extent[n-1];
+
+ GFC_DIMENSION_SET(retarray->dim[n], 0, extent[n] - 1, str);
+
+ }
+
+ alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
+
+ retarray->offset = 0;
+ retarray->dtype.rank = rank;
+
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_16));
+ if (alloc_size == 0)
+ return;
+ }
+ else
+ {
+ if (rank != GFC_DESCRIPTOR_RANK (retarray))
+ runtime_error ("rank of return array incorrect in MAXLOC intrinsic");
+
+ if (unlikely (compile_options.bounds_check))
+ {
+ bounds_ifunction_return ((array_t *) retarray, extent,
+ "return value", "MAXLOC");
+ bounds_equal_extents ((array_t *) mask, (array_t *) array,
+ "MASK argument", "MAXLOC");
+ }
+ }
+
+ for (n = 0; n < rank; n++)
+ {
+ count[n] = 0;
+ dstride[n] = GFC_DESCRIPTOR_STRIDE(retarray,n);
+ if (extent[n] <= 0)
+ return;
+ }
+
+ dest = retarray->base_addr;
+ base = array->base_addr;
+
+ while (base)
+ {
+ const GFC_UINTEGER_16 * restrict src;
+ const GFC_LOGICAL_1 * restrict msrc;
+ GFC_INTEGER_16 result;
+ src = base;
+ msrc = mbase;
+ {
+
+ GFC_UINTEGER_16 maxval;
+#if defined (GFC_UINTEGER_16_INFINITY)
+ maxval = -GFC_UINTEGER_16_INFINITY;
+#else
+ maxval = 0;
+#endif
+#if defined (GFC_UINTEGER_16_QUIET_NAN)
+ GFC_INTEGER_16 result2 = 0;
+#endif
+ result = 0;
+ for (n = 0; n < len; n++, src += delta, msrc += mdelta)
+ {
+
+ if (*msrc)
+ {
+#if defined (GFC_UINTEGER_16_QUIET_NAN)
+ if (!result2)
+ result2 = (GFC_INTEGER_16)n + 1;
+ if (*src >= maxval)
+#endif
+ {
+ maxval = *src;
+ result = (GFC_INTEGER_16)n + 1;
+ break;
+ }
+ }
+ }
+#if defined (GFC_UINTEGER_16_QUIET_NAN)
+ if (unlikely (n >= len))
+ result = result2;
+ else
+#endif
+ if (back)
+ for (; n < len; n++, src += delta, msrc += mdelta)
+ {
+ if (*msrc && unlikely (*src >= maxval))
+ {
+ maxval = *src;
+ result = (GFC_INTEGER_16)n + 1;
+ }
+ }
+ else
+ for (; n < len; n++, src += delta, msrc += mdelta)
+ {
+ if (*msrc && unlikely (*src > maxval))
+ {
+ maxval = *src;
+ result = (GFC_INTEGER_16)n + 1;
+ }
+ }
+ *dest = result;
+ }
+ /* Advance to the next element. */
+ count[0]++;
+ base += sstride[0];
+ mbase += mstride[0];
+ dest += dstride[0];
+ n = 0;
+ while (count[n] == extent[n])
+ {
+ /* When we get to the end of a dimension, reset it and increment
+ the next dimension. */
+ count[n] = 0;
+ /* We could precalculate these products, but this is a less
+ frequently used path so probably not worth it. */
+ base -= sstride[n] * extent[n];
+ mbase -= mstride[n] * extent[n];
+ dest -= dstride[n] * extent[n];
+ n++;
+ if (n >= rank)
+ {
+ /* Break out of the loop. */
+ base = NULL;
+ break;
+ }
+ else
+ {
+ count[n]++;
+ base += sstride[n];
+ mbase += mstride[n];
+ dest += dstride[n];
+ }
+ }
+ }
+}
+
+
+extern void smaxloc1_16_m16 (gfc_array_i16 * const restrict,
+ gfc_array_m16 * const restrict, const index_type * const restrict,
+ GFC_LOGICAL_4 *, GFC_LOGICAL_4 back);
+export_proto(smaxloc1_16_m16);
+
+void
+smaxloc1_16_m16 (gfc_array_i16 * const restrict retarray,
+ gfc_array_m16 * const restrict array,
+ const index_type * const restrict pdim,
+ GFC_LOGICAL_4 * mask, GFC_LOGICAL_4 back)
+{
+ index_type count[GFC_MAX_DIMENSIONS];
+ index_type extent[GFC_MAX_DIMENSIONS];
+ index_type dstride[GFC_MAX_DIMENSIONS];
+ GFC_INTEGER_16 * restrict dest;
+ index_type rank;
+ index_type n;
+ index_type dim;
+
+
+ if (mask == NULL || *mask)
+ {
+#ifdef HAVE_BACK_ARG
+ maxloc1_16_m16 (retarray, array, pdim, back);
+#else
+ maxloc1_16_m16 (retarray, array, pdim);
+#endif
+ return;
+ }
+ /* Make dim zero based to avoid confusion. */
+ dim = (*pdim) - 1;
+ rank = GFC_DESCRIPTOR_RANK (array) - 1;
+
+ if (unlikely (dim < 0 || dim > rank))
+ {
+ runtime_error ("Dim argument incorrect in MAXLOC intrinsic: "
+ "is %ld, should be between 1 and %ld",
+ (long int) dim + 1, (long int) rank + 1);
+ }
+
+ for (n = 0; n < dim; n++)
+ {
+ extent[n] = GFC_DESCRIPTOR_EXTENT(array,n);
+
+ if (extent[n] <= 0)
+ extent[n] = 0;
+ }
+
+ for (n = dim; n < rank; n++)
+ {
+ extent[n] =
+ GFC_DESCRIPTOR_EXTENT(array,n + 1);
+
+ if (extent[n] <= 0)
+ extent[n] = 0;
+ }
+
+ if (retarray->base_addr == NULL)
+ {
+ size_t alloc_size, str;
+
+ for (n = 0; n < rank; n++)
+ {
+ if (n == 0)
+ str = 1;
+ else
+ str = GFC_DESCRIPTOR_STRIDE(retarray,n-1) * extent[n-1];
+
+ GFC_DIMENSION_SET(retarray->dim[n], 0, extent[n] - 1, str);
+
+ }
+
+ retarray->offset = 0;
+ retarray->dtype.rank = rank;
+
+ alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
+
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_16));
+ if (alloc_size == 0)
+ return;
+ }
+ else
+ {
+ if (rank != GFC_DESCRIPTOR_RANK (retarray))
+ runtime_error ("rank of return array incorrect in"
+ " MAXLOC intrinsic: is %ld, should be %ld",
+ (long int) (GFC_DESCRIPTOR_RANK (retarray)),
+ (long int) rank);
+
+ if (unlikely (compile_options.bounds_check))
+ {
+ for (n=0; n < rank; n++)
+ {
+ index_type ret_extent;
+
+ ret_extent = GFC_DESCRIPTOR_EXTENT(retarray,n);
+ if (extent[n] != ret_extent)
+ runtime_error ("Incorrect extent in return value of"
+ " MAXLOC intrinsic in dimension %ld:"
+ " is %ld, should be %ld", (long int) n + 1,
+ (long int) ret_extent, (long int) extent[n]);
+ }
+ }
+ }
+
+ for (n = 0; n < rank; n++)
+ {
+ count[n] = 0;
+ dstride[n] = GFC_DESCRIPTOR_STRIDE(retarray,n);
+ }
+
+ dest = retarray->base_addr;
+
+ while(1)
+ {
+ *dest = 0;
+ count[0]++;
+ dest += dstride[0];
+ n = 0;
+ while (count[n] == extent[n])
+ {
+ /* When we get to the end of a dimension, reset it and increment
+ the next dimension. */
+ count[n] = 0;
+ /* We could precalculate these products, but this is a less
+ frequently used path so probably not worth it. */
+ dest -= dstride[n] * extent[n];
+ n++;
+ if (n >= rank)
+ return;
+ else
+ {
+ count[n]++;
+ dest += dstride[n];
+ }
+ }
+ }
+}
+
+#endif
diff --git a/libgfortran/generated/maxloc1_16_m2.c b/libgfortran/generated/maxloc1_16_m2.c
index 0187b68..8bb48dd 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 480a524..659d6cf 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 ecbaba3..a6d2c08 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 e69d49d..709a1dd 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 0ed90bb..cc10527 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 76aa8d1..06f989c 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 3313c14..6a52a0a 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 1f39517..e2f92a9 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 7c3ac0f9..2f2ff5a 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 c643963..c0c47bb 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 2fa5c3b..cf915b0 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 8761c09..6a08644 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 83c9795..497b18d 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 18df9b8..04bf510 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 a66dc7a..0833d01 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 19fa8de..70f3785 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 6d660d8..3b1e79a 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 d6b7dac..ece6438 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;