summaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-09 21:56:06 +0000
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-09 21:56:06 +0000
commit1706268daa5b350d6ef37b9a79d28f4ff6ae1436 (patch)
tree8c9f83d0bcfb910fd85a30861f1369cd3b9b22fa /libgfortran
parentb42677561fa288b2cbd6ad4568f9f4f18a239ae4 (diff)
downloadgcc-1706268daa5b350d6ef37b9a79d28f4ff6ae1436.tar.gz
fortran/
2007-02-09 Tobias Burnus <burnus@net-b.de> PR fortran/30512 * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval): Use HUGE-1 for most negative integer. testsuite/ 2007-02-09 Tobias Burnus <burnus@net-b.de> PR fortran/30512 * gfortran.dg/maxlocval_1.f90: New test. libgfortran/ 2007-02-09 Thomas Koenig <Thomas.Koenig@online.de> Tobias Burnus <burnus@net-b.de> PR fortran/30512 * m4/iparm.m4: Use HUGE-1 for most negative integer. * generated/maxloc1_8_i4.c: Regenerate. * generated/maxloc0_8_i8.c: Regenerate. * generated/maxloc1_16_i4.c: Regenerate. * generated/maxloc0_16_i8.c: Regenerate. * generated/maxval_i4.c: Regenerate. * generated/maxloc1_4_i8.c: Regenerate. * generated/maxloc0_16_i16.c: Regenerate. * generated/maxloc1_4_i16.c: Regenerate. * generated/maxloc0_8_i16.c: Regenerate. * generated/maxloc0_4_i4.c: Regenerate. * generated/maxloc1_8_i8.c: Regenerate. * generated/maxloc0_8_i4.c: Regenerate. * generated/maxloc0_16_i4.c: Regenerate. * generated/maxloc1_16_i8.c: Regenerate. * generated/maxloc1_4_i4.c: Regenerate. * generated/maxval_i8.c: Regenerate. * generated/maxloc0_4_i16.c: Regenerate. * generated/maxloc1_8_i16.c: Regenerate. * generated/maxloc0_4_i8.c: Regenerate. * generated/maxloc1_16_i16.c: Regenerate. * generated/maxval_i16.c: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121777 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/ChangeLog27
-rw-r--r--libgfortran/generated/maxloc0_16_i16.c4
-rw-r--r--libgfortran/generated/maxloc0_16_i4.c4
-rw-r--r--libgfortran/generated/maxloc0_16_i8.c4
-rw-r--r--libgfortran/generated/maxloc0_4_i16.c4
-rw-r--r--libgfortran/generated/maxloc0_4_i4.c4
-rw-r--r--libgfortran/generated/maxloc0_4_i8.c4
-rw-r--r--libgfortran/generated/maxloc0_8_i16.c4
-rw-r--r--libgfortran/generated/maxloc0_8_i4.c4
-rw-r--r--libgfortran/generated/maxloc0_8_i8.c4
-rw-r--r--libgfortran/generated/maxloc1_16_i16.c4
-rw-r--r--libgfortran/generated/maxloc1_16_i4.c4
-rw-r--r--libgfortran/generated/maxloc1_16_i8.c4
-rw-r--r--libgfortran/generated/maxloc1_4_i16.c4
-rw-r--r--libgfortran/generated/maxloc1_4_i4.c4
-rw-r--r--libgfortran/generated/maxloc1_4_i8.c4
-rw-r--r--libgfortran/generated/maxloc1_8_i16.c4
-rw-r--r--libgfortran/generated/maxloc1_8_i4.c4
-rw-r--r--libgfortran/generated/maxloc1_8_i8.c4
-rw-r--r--libgfortran/generated/maxval_i16.c10
-rw-r--r--libgfortran/generated/maxval_i4.c10
-rw-r--r--libgfortran/generated/maxval_i8.c10
-rw-r--r--libgfortran/m4/iparm.m42
23 files changed, 79 insertions, 52 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 428d49a4d37..2b5c26f2436 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,30 @@
+2007-02-09 Thomas Koenig <Thomas.Koenig@online.de>
+ Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/30512
+ * m4/iparm.m4: Use HUGE-1 for most negative integer.
+ * generated/maxloc1_8_i4.c: Regenerate.
+ * generated/maxloc0_8_i8.c: Regenerate.
+ * generated/maxloc1_16_i4.c: Regenerate.
+ * generated/maxloc0_16_i8.c: Regenerate.
+ * generated/maxval_i4.c: Regenerate.
+ * generated/maxloc1_4_i8.c: Regenerate.
+ * generated/maxloc0_16_i16.c: Regenerate.
+ * generated/maxloc1_4_i16.c: Regenerate.
+ * generated/maxloc0_8_i16.c: Regenerate.
+ * generated/maxloc0_4_i4.c: Regenerate.
+ * generated/maxloc1_8_i8.c: Regenerate.
+ * generated/maxloc0_8_i4.c: Regenerate.
+ * generated/maxloc0_16_i4.c: Regenerate.
+ * generated/maxloc1_16_i8.c: Regenerate.
+ * generated/maxloc1_4_i4.c: Regenerate.
+ * generated/maxval_i8.c: Regenerate.
+ * generated/maxloc0_4_i16.c: Regenerate.
+ * generated/maxloc1_8_i16.c: Regenerate.
+ * generated/maxloc0_4_i8.c: Regenerate.
+ * generated/maxloc1_16_i16.c: Regenerate.
+ * generated/maxval_i16.c: Regenerate.
+
2007-02-04 Francois-Xavier Coudert <coudert@clipper.ens.fr>
PR fortran/30611
diff --git a/libgfortran/generated/maxloc0_16_i16.c b/libgfortran/generated/maxloc0_16_i16.c
index 04ebbd4fdc1..82571c435e0 100644
--- a/libgfortran/generated/maxloc0_16_i16.c
+++ b/libgfortran/generated/maxloc0_16_i16.c
@@ -103,7 +103,7 @@ maxloc0_16_i16 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_16 maxval;
- maxval = -GFC_INTEGER_16_HUGE;
+ maxval = (-GFC_INTEGER_16_HUGE-1);
while (base)
{
@@ -227,7 +227,7 @@ mmaxloc0_16_i16 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_16 maxval;
- maxval = -GFC_INTEGER_16_HUGE;
+ maxval = (-GFC_INTEGER_16_HUGE-1);
while (base)
{
diff --git a/libgfortran/generated/maxloc0_16_i4.c b/libgfortran/generated/maxloc0_16_i4.c
index 4362fa889b5..fe46afbbb67 100644
--- a/libgfortran/generated/maxloc0_16_i4.c
+++ b/libgfortran/generated/maxloc0_16_i4.c
@@ -103,7 +103,7 @@ maxloc0_16_i4 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_4 maxval;
- maxval = -GFC_INTEGER_4_HUGE;
+ maxval = (-GFC_INTEGER_4_HUGE-1);
while (base)
{
@@ -227,7 +227,7 @@ mmaxloc0_16_i4 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_4 maxval;
- maxval = -GFC_INTEGER_4_HUGE;
+ maxval = (-GFC_INTEGER_4_HUGE-1);
while (base)
{
diff --git a/libgfortran/generated/maxloc0_16_i8.c b/libgfortran/generated/maxloc0_16_i8.c
index aeb0aedcb29..82ff74fa71e 100644
--- a/libgfortran/generated/maxloc0_16_i8.c
+++ b/libgfortran/generated/maxloc0_16_i8.c
@@ -103,7 +103,7 @@ maxloc0_16_i8 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_8 maxval;
- maxval = -GFC_INTEGER_8_HUGE;
+ maxval = (-GFC_INTEGER_8_HUGE-1);
while (base)
{
@@ -227,7 +227,7 @@ mmaxloc0_16_i8 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_8 maxval;
- maxval = -GFC_INTEGER_8_HUGE;
+ maxval = (-GFC_INTEGER_8_HUGE-1);
while (base)
{
diff --git a/libgfortran/generated/maxloc0_4_i16.c b/libgfortran/generated/maxloc0_4_i16.c
index 6d052911f44..1cbab8caf32 100644
--- a/libgfortran/generated/maxloc0_4_i16.c
+++ b/libgfortran/generated/maxloc0_4_i16.c
@@ -103,7 +103,7 @@ maxloc0_4_i16 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_16 maxval;
- maxval = -GFC_INTEGER_16_HUGE;
+ maxval = (-GFC_INTEGER_16_HUGE-1);
while (base)
{
@@ -227,7 +227,7 @@ mmaxloc0_4_i16 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_16 maxval;
- maxval = -GFC_INTEGER_16_HUGE;
+ maxval = (-GFC_INTEGER_16_HUGE-1);
while (base)
{
diff --git a/libgfortran/generated/maxloc0_4_i4.c b/libgfortran/generated/maxloc0_4_i4.c
index 16ee31ede31..a1ba2ae29ca 100644
--- a/libgfortran/generated/maxloc0_4_i4.c
+++ b/libgfortran/generated/maxloc0_4_i4.c
@@ -103,7 +103,7 @@ maxloc0_4_i4 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_4 maxval;
- maxval = -GFC_INTEGER_4_HUGE;
+ maxval = (-GFC_INTEGER_4_HUGE-1);
while (base)
{
@@ -227,7 +227,7 @@ mmaxloc0_4_i4 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_4 maxval;
- maxval = -GFC_INTEGER_4_HUGE;
+ maxval = (-GFC_INTEGER_4_HUGE-1);
while (base)
{
diff --git a/libgfortran/generated/maxloc0_4_i8.c b/libgfortran/generated/maxloc0_4_i8.c
index 58c6509d23d..82011f90e0f 100644
--- a/libgfortran/generated/maxloc0_4_i8.c
+++ b/libgfortran/generated/maxloc0_4_i8.c
@@ -103,7 +103,7 @@ maxloc0_4_i8 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_8 maxval;
- maxval = -GFC_INTEGER_8_HUGE;
+ maxval = (-GFC_INTEGER_8_HUGE-1);
while (base)
{
@@ -227,7 +227,7 @@ mmaxloc0_4_i8 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_8 maxval;
- maxval = -GFC_INTEGER_8_HUGE;
+ maxval = (-GFC_INTEGER_8_HUGE-1);
while (base)
{
diff --git a/libgfortran/generated/maxloc0_8_i16.c b/libgfortran/generated/maxloc0_8_i16.c
index 4400a5b52f4..69b4015d136 100644
--- a/libgfortran/generated/maxloc0_8_i16.c
+++ b/libgfortran/generated/maxloc0_8_i16.c
@@ -103,7 +103,7 @@ maxloc0_8_i16 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_16 maxval;
- maxval = -GFC_INTEGER_16_HUGE;
+ maxval = (-GFC_INTEGER_16_HUGE-1);
while (base)
{
@@ -227,7 +227,7 @@ mmaxloc0_8_i16 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_16 maxval;
- maxval = -GFC_INTEGER_16_HUGE;
+ maxval = (-GFC_INTEGER_16_HUGE-1);
while (base)
{
diff --git a/libgfortran/generated/maxloc0_8_i4.c b/libgfortran/generated/maxloc0_8_i4.c
index 0d96ff3636d..b6ccff6a096 100644
--- a/libgfortran/generated/maxloc0_8_i4.c
+++ b/libgfortran/generated/maxloc0_8_i4.c
@@ -103,7 +103,7 @@ maxloc0_8_i4 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_4 maxval;
- maxval = -GFC_INTEGER_4_HUGE;
+ maxval = (-GFC_INTEGER_4_HUGE-1);
while (base)
{
@@ -227,7 +227,7 @@ mmaxloc0_8_i4 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_4 maxval;
- maxval = -GFC_INTEGER_4_HUGE;
+ maxval = (-GFC_INTEGER_4_HUGE-1);
while (base)
{
diff --git a/libgfortran/generated/maxloc0_8_i8.c b/libgfortran/generated/maxloc0_8_i8.c
index e7499568d4b..5ab944c25e9 100644
--- a/libgfortran/generated/maxloc0_8_i8.c
+++ b/libgfortran/generated/maxloc0_8_i8.c
@@ -103,7 +103,7 @@ maxloc0_8_i8 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_8 maxval;
- maxval = -GFC_INTEGER_8_HUGE;
+ maxval = (-GFC_INTEGER_8_HUGE-1);
while (base)
{
@@ -227,7 +227,7 @@ mmaxloc0_8_i8 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_8 maxval;
- maxval = -GFC_INTEGER_8_HUGE;
+ maxval = (-GFC_INTEGER_8_HUGE-1);
while (base)
{
diff --git a/libgfortran/generated/maxloc1_16_i16.c b/libgfortran/generated/maxloc1_16_i16.c
index c01a006f8ea..14db8ddd859 100644
--- a/libgfortran/generated/maxloc1_16_i16.c
+++ b/libgfortran/generated/maxloc1_16_i16.c
@@ -140,7 +140,7 @@ maxloc1_16_i16 (gfc_array_i16 * const restrict retarray,
{
GFC_INTEGER_16 maxval;
- maxval = -GFC_INTEGER_16_HUGE;
+ maxval = (-GFC_INTEGER_16_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
@@ -315,7 +315,7 @@ mmaxloc1_16_i16 (gfc_array_i16 * const restrict retarray,
{
GFC_INTEGER_16 maxval;
- maxval = -GFC_INTEGER_16_HUGE;
+ maxval = (-GFC_INTEGER_16_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
diff --git a/libgfortran/generated/maxloc1_16_i4.c b/libgfortran/generated/maxloc1_16_i4.c
index dd0739c5915..63b6f463f2f 100644
--- a/libgfortran/generated/maxloc1_16_i4.c
+++ b/libgfortran/generated/maxloc1_16_i4.c
@@ -140,7 +140,7 @@ maxloc1_16_i4 (gfc_array_i16 * const restrict retarray,
{
GFC_INTEGER_4 maxval;
- maxval = -GFC_INTEGER_4_HUGE;
+ maxval = (-GFC_INTEGER_4_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
@@ -315,7 +315,7 @@ mmaxloc1_16_i4 (gfc_array_i16 * const restrict retarray,
{
GFC_INTEGER_4 maxval;
- maxval = -GFC_INTEGER_4_HUGE;
+ maxval = (-GFC_INTEGER_4_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
diff --git a/libgfortran/generated/maxloc1_16_i8.c b/libgfortran/generated/maxloc1_16_i8.c
index c18a8e5a791..3b6a6ef1492 100644
--- a/libgfortran/generated/maxloc1_16_i8.c
+++ b/libgfortran/generated/maxloc1_16_i8.c
@@ -140,7 +140,7 @@ maxloc1_16_i8 (gfc_array_i16 * const restrict retarray,
{
GFC_INTEGER_8 maxval;
- maxval = -GFC_INTEGER_8_HUGE;
+ maxval = (-GFC_INTEGER_8_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
@@ -315,7 +315,7 @@ mmaxloc1_16_i8 (gfc_array_i16 * const restrict retarray,
{
GFC_INTEGER_8 maxval;
- maxval = -GFC_INTEGER_8_HUGE;
+ maxval = (-GFC_INTEGER_8_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
diff --git a/libgfortran/generated/maxloc1_4_i16.c b/libgfortran/generated/maxloc1_4_i16.c
index 0c8a0cc33c6..0848c44fdca 100644
--- a/libgfortran/generated/maxloc1_4_i16.c
+++ b/libgfortran/generated/maxloc1_4_i16.c
@@ -140,7 +140,7 @@ maxloc1_4_i16 (gfc_array_i4 * const restrict retarray,
{
GFC_INTEGER_16 maxval;
- maxval = -GFC_INTEGER_16_HUGE;
+ maxval = (-GFC_INTEGER_16_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
@@ -315,7 +315,7 @@ mmaxloc1_4_i16 (gfc_array_i4 * const restrict retarray,
{
GFC_INTEGER_16 maxval;
- maxval = -GFC_INTEGER_16_HUGE;
+ maxval = (-GFC_INTEGER_16_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
diff --git a/libgfortran/generated/maxloc1_4_i4.c b/libgfortran/generated/maxloc1_4_i4.c
index 83131ffd33b..15f1243babf 100644
--- a/libgfortran/generated/maxloc1_4_i4.c
+++ b/libgfortran/generated/maxloc1_4_i4.c
@@ -140,7 +140,7 @@ maxloc1_4_i4 (gfc_array_i4 * const restrict retarray,
{
GFC_INTEGER_4 maxval;
- maxval = -GFC_INTEGER_4_HUGE;
+ maxval = (-GFC_INTEGER_4_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
@@ -315,7 +315,7 @@ mmaxloc1_4_i4 (gfc_array_i4 * const restrict retarray,
{
GFC_INTEGER_4 maxval;
- maxval = -GFC_INTEGER_4_HUGE;
+ maxval = (-GFC_INTEGER_4_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
diff --git a/libgfortran/generated/maxloc1_4_i8.c b/libgfortran/generated/maxloc1_4_i8.c
index bb553eb884e..2a2f37ca4d0 100644
--- a/libgfortran/generated/maxloc1_4_i8.c
+++ b/libgfortran/generated/maxloc1_4_i8.c
@@ -140,7 +140,7 @@ maxloc1_4_i8 (gfc_array_i4 * const restrict retarray,
{
GFC_INTEGER_8 maxval;
- maxval = -GFC_INTEGER_8_HUGE;
+ maxval = (-GFC_INTEGER_8_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
@@ -315,7 +315,7 @@ mmaxloc1_4_i8 (gfc_array_i4 * const restrict retarray,
{
GFC_INTEGER_8 maxval;
- maxval = -GFC_INTEGER_8_HUGE;
+ maxval = (-GFC_INTEGER_8_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
diff --git a/libgfortran/generated/maxloc1_8_i16.c b/libgfortran/generated/maxloc1_8_i16.c
index d4bff32de4e..17c73ce2955 100644
--- a/libgfortran/generated/maxloc1_8_i16.c
+++ b/libgfortran/generated/maxloc1_8_i16.c
@@ -140,7 +140,7 @@ maxloc1_8_i16 (gfc_array_i8 * const restrict retarray,
{
GFC_INTEGER_16 maxval;
- maxval = -GFC_INTEGER_16_HUGE;
+ maxval = (-GFC_INTEGER_16_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
@@ -315,7 +315,7 @@ mmaxloc1_8_i16 (gfc_array_i8 * const restrict retarray,
{
GFC_INTEGER_16 maxval;
- maxval = -GFC_INTEGER_16_HUGE;
+ maxval = (-GFC_INTEGER_16_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
diff --git a/libgfortran/generated/maxloc1_8_i4.c b/libgfortran/generated/maxloc1_8_i4.c
index 9225f13c791..a4f36452b63 100644
--- a/libgfortran/generated/maxloc1_8_i4.c
+++ b/libgfortran/generated/maxloc1_8_i4.c
@@ -140,7 +140,7 @@ maxloc1_8_i4 (gfc_array_i8 * const restrict retarray,
{
GFC_INTEGER_4 maxval;
- maxval = -GFC_INTEGER_4_HUGE;
+ maxval = (-GFC_INTEGER_4_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
@@ -315,7 +315,7 @@ mmaxloc1_8_i4 (gfc_array_i8 * const restrict retarray,
{
GFC_INTEGER_4 maxval;
- maxval = -GFC_INTEGER_4_HUGE;
+ maxval = (-GFC_INTEGER_4_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
diff --git a/libgfortran/generated/maxloc1_8_i8.c b/libgfortran/generated/maxloc1_8_i8.c
index c0179cd8b7a..587ddc657f9 100644
--- a/libgfortran/generated/maxloc1_8_i8.c
+++ b/libgfortran/generated/maxloc1_8_i8.c
@@ -140,7 +140,7 @@ maxloc1_8_i8 (gfc_array_i8 * const restrict retarray,
{
GFC_INTEGER_8 maxval;
- maxval = -GFC_INTEGER_8_HUGE;
+ maxval = (-GFC_INTEGER_8_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
@@ -315,7 +315,7 @@ mmaxloc1_8_i8 (gfc_array_i8 * const restrict retarray,
{
GFC_INTEGER_8 maxval;
- maxval = -GFC_INTEGER_8_HUGE;
+ maxval = (-GFC_INTEGER_8_HUGE-1);
result = 0;
if (len <= 0)
*dest = 0;
diff --git a/libgfortran/generated/maxval_i16.c b/libgfortran/generated/maxval_i16.c
index 8bdab56d54d..f5df1e1b394 100644
--- a/libgfortran/generated/maxval_i16.c
+++ b/libgfortran/generated/maxval_i16.c
@@ -138,9 +138,9 @@ maxval_i16 (gfc_array_i16 * const restrict retarray,
src = base;
{
- result = -GFC_INTEGER_16_HUGE;
+ result = (-GFC_INTEGER_16_HUGE-1);
if (len <= 0)
- *dest = -GFC_INTEGER_16_HUGE;
+ *dest = (-GFC_INTEGER_16_HUGE-1);
else
{
for (n = 0; n < len; n++, src += delta)
@@ -308,9 +308,9 @@ mmaxval_i16 (gfc_array_i16 * const restrict retarray,
msrc = mbase;
{
- result = -GFC_INTEGER_16_HUGE;
+ result = (-GFC_INTEGER_16_HUGE-1);
if (len <= 0)
- *dest = -GFC_INTEGER_16_HUGE;
+ *dest = (-GFC_INTEGER_16_HUGE-1);
else
{
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
@@ -404,7 +404,7 @@ smaxval_i16 (gfc_array_i16 * const restrict retarray,
dest = retarray->data;
for (n = 0; n < rank; n++)
- dest[n * dstride] = -GFC_INTEGER_16_HUGE ;
+ dest[n * dstride] = (-GFC_INTEGER_16_HUGE-1) ;
}
#endif
diff --git a/libgfortran/generated/maxval_i4.c b/libgfortran/generated/maxval_i4.c
index ba5b3106841..7b01617edd1 100644
--- a/libgfortran/generated/maxval_i4.c
+++ b/libgfortran/generated/maxval_i4.c
@@ -138,9 +138,9 @@ maxval_i4 (gfc_array_i4 * const restrict retarray,
src = base;
{
- result = -GFC_INTEGER_4_HUGE;
+ result = (-GFC_INTEGER_4_HUGE-1);
if (len <= 0)
- *dest = -GFC_INTEGER_4_HUGE;
+ *dest = (-GFC_INTEGER_4_HUGE-1);
else
{
for (n = 0; n < len; n++, src += delta)
@@ -308,9 +308,9 @@ mmaxval_i4 (gfc_array_i4 * const restrict retarray,
msrc = mbase;
{
- result = -GFC_INTEGER_4_HUGE;
+ result = (-GFC_INTEGER_4_HUGE-1);
if (len <= 0)
- *dest = -GFC_INTEGER_4_HUGE;
+ *dest = (-GFC_INTEGER_4_HUGE-1);
else
{
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
@@ -404,7 +404,7 @@ smaxval_i4 (gfc_array_i4 * const restrict retarray,
dest = retarray->data;
for (n = 0; n < rank; n++)
- dest[n * dstride] = -GFC_INTEGER_4_HUGE ;
+ dest[n * dstride] = (-GFC_INTEGER_4_HUGE-1) ;
}
#endif
diff --git a/libgfortran/generated/maxval_i8.c b/libgfortran/generated/maxval_i8.c
index ee6a5d2d87c..cb83c5a1e6a 100644
--- a/libgfortran/generated/maxval_i8.c
+++ b/libgfortran/generated/maxval_i8.c
@@ -138,9 +138,9 @@ maxval_i8 (gfc_array_i8 * const restrict retarray,
src = base;
{
- result = -GFC_INTEGER_8_HUGE;
+ result = (-GFC_INTEGER_8_HUGE-1);
if (len <= 0)
- *dest = -GFC_INTEGER_8_HUGE;
+ *dest = (-GFC_INTEGER_8_HUGE-1);
else
{
for (n = 0; n < len; n++, src += delta)
@@ -308,9 +308,9 @@ mmaxval_i8 (gfc_array_i8 * const restrict retarray,
msrc = mbase;
{
- result = -GFC_INTEGER_8_HUGE;
+ result = (-GFC_INTEGER_8_HUGE-1);
if (len <= 0)
- *dest = -GFC_INTEGER_8_HUGE;
+ *dest = (-GFC_INTEGER_8_HUGE-1);
else
{
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
@@ -404,7 +404,7 @@ smaxval_i8 (gfc_array_i8 * const restrict retarray,
dest = retarray->data;
for (n = 0; n < rank; n++)
- dest[n * dstride] = -GFC_INTEGER_8_HUGE ;
+ dest[n * dstride] = (-GFC_INTEGER_8_HUGE-1) ;
}
#endif
diff --git a/libgfortran/m4/iparm.m4 b/libgfortran/m4/iparm.m4
index 950962113b0..acd3d2ce604 100644
--- a/libgfortran/m4/iparm.m4
+++ b/libgfortran/m4/iparm.m4
@@ -28,6 +28,6 @@ define_type(rtype, rtype_tmp)dnl
define(rtype_qual,`_'rtype_kind)dnl
')dnl
define(atype_max, atype_name`_HUGE')dnl
-define(atype_min, `-'atype_max)dnl
+define(atype_min,ifelse(regexp(file, `_\(.\)[0-9]*\.c$', `\1'),`i',`(-'atype_max`-1)',`-'atype_max))dnl
define(name, regexp(regexp(file, `[^/]*$', `\&'), `^\([^_]*\)_', `\1'))dnl
define(rtype_ccode,ifelse(rtype_letter,`i',rtype_kind,rtype_code))dnl