https://gcc.gnu.org/g:8b9a851dce7faa0ffdcdd1ef928e6abf74cb767a
commit 8b9a851dce7faa0ffdcdd1ef928e6abf74cb767a Author: Mikael Morin <mik...@gcc.gnu.org> Date: Wed May 28 15:34:53 2025 +0200 Correction régression intrinsic_spread_1 Diff: --- libgfortran/generated/spread_c10.c | 5 ++--- libgfortran/generated/spread_c16.c | 5 ++--- libgfortran/generated/spread_c17.c | 5 ++--- libgfortran/generated/spread_c4.c | 5 ++--- libgfortran/generated/spread_c8.c | 5 ++--- libgfortran/generated/spread_i1.c | 5 ++--- libgfortran/generated/spread_i16.c | 5 ++--- libgfortran/generated/spread_i2.c | 5 ++--- libgfortran/generated/spread_i4.c | 5 ++--- libgfortran/generated/spread_i8.c | 5 ++--- libgfortran/generated/spread_r10.c | 5 ++--- libgfortran/generated/spread_r16.c | 5 ++--- libgfortran/generated/spread_r17.c | 5 ++--- libgfortran/generated/spread_r4.c | 5 ++--- libgfortran/generated/spread_r8.c | 5 ++--- libgfortran/intrinsics/spread_generic.c | 5 ++--- libgfortran/m4/spread.m4 | 5 ++--- 17 files changed, 34 insertions(+), 51 deletions(-) diff --git a/libgfortran/generated/spread_c10.c b/libgfortran/generated/spread_c10.c index eb9ad1954f7d..071328ff0c46 100644 --- a/libgfortran/generated/spread_c10.c +++ b/libgfortran/generated/spread_c10.c @@ -246,9 +246,8 @@ spread_scalar_c10 (gfc_array_c10 *ret, const GFC_COMPLEX_10 *source, } else { - if (ncopies - 1 > (GFC_DESCRIPTOR_EXTENT(ret,0) - 1) - / GFC_DESCRIPTOR_SPACING(ret,0)) - runtime_error ("dim too large in spread()"); + if (ncopies != GFC_DESCRIPTOR_EXTENT(ret,0)) + runtime_error ("ncopies does not match result extent in spread()"); } dest = ret->base_addr; diff --git a/libgfortran/generated/spread_c16.c b/libgfortran/generated/spread_c16.c index 62b069fb3bfa..3d6e97689a62 100644 --- a/libgfortran/generated/spread_c16.c +++ b/libgfortran/generated/spread_c16.c @@ -246,9 +246,8 @@ spread_scalar_c16 (gfc_array_c16 *ret, const GFC_COMPLEX_16 *source, } else { - if (ncopies - 1 > (GFC_DESCRIPTOR_EXTENT(ret,0) - 1) - / GFC_DESCRIPTOR_SPACING(ret,0)) - runtime_error ("dim too large in spread()"); + if (ncopies != GFC_DESCRIPTOR_EXTENT(ret,0)) + runtime_error ("ncopies does not match result extent in spread()"); } dest = ret->base_addr; diff --git a/libgfortran/generated/spread_c17.c b/libgfortran/generated/spread_c17.c index 4d03d10df64d..4d470ab907b0 100644 --- a/libgfortran/generated/spread_c17.c +++ b/libgfortran/generated/spread_c17.c @@ -246,9 +246,8 @@ spread_scalar_c17 (gfc_array_c17 *ret, const GFC_COMPLEX_17 *source, } else { - if (ncopies - 1 > (GFC_DESCRIPTOR_EXTENT(ret,0) - 1) - / GFC_DESCRIPTOR_SPACING(ret,0)) - runtime_error ("dim too large in spread()"); + if (ncopies != GFC_DESCRIPTOR_EXTENT(ret,0)) + runtime_error ("ncopies does not match result extent in spread()"); } dest = ret->base_addr; diff --git a/libgfortran/generated/spread_c4.c b/libgfortran/generated/spread_c4.c index 845366429d71..c530c37edf99 100644 --- a/libgfortran/generated/spread_c4.c +++ b/libgfortran/generated/spread_c4.c @@ -246,9 +246,8 @@ spread_scalar_c4 (gfc_array_c4 *ret, const GFC_COMPLEX_4 *source, } else { - if (ncopies - 1 > (GFC_DESCRIPTOR_EXTENT(ret,0) - 1) - / GFC_DESCRIPTOR_SPACING(ret,0)) - runtime_error ("dim too large in spread()"); + if (ncopies != GFC_DESCRIPTOR_EXTENT(ret,0)) + runtime_error ("ncopies does not match result extent in spread()"); } dest = ret->base_addr; diff --git a/libgfortran/generated/spread_c8.c b/libgfortran/generated/spread_c8.c index 2626988277fa..2d455ce8a9b8 100644 --- a/libgfortran/generated/spread_c8.c +++ b/libgfortran/generated/spread_c8.c @@ -246,9 +246,8 @@ spread_scalar_c8 (gfc_array_c8 *ret, const GFC_COMPLEX_8 *source, } else { - if (ncopies - 1 > (GFC_DESCRIPTOR_EXTENT(ret,0) - 1) - / GFC_DESCRIPTOR_SPACING(ret,0)) - runtime_error ("dim too large in spread()"); + if (ncopies != GFC_DESCRIPTOR_EXTENT(ret,0)) + runtime_error ("ncopies does not match result extent in spread()"); } dest = ret->base_addr; diff --git a/libgfortran/generated/spread_i1.c b/libgfortran/generated/spread_i1.c index 716fedf4a143..afdf35514f27 100644 --- a/libgfortran/generated/spread_i1.c +++ b/libgfortran/generated/spread_i1.c @@ -246,9 +246,8 @@ spread_scalar_i1 (gfc_array_i1 *ret, const GFC_INTEGER_1 *source, } else { - if (ncopies - 1 > (GFC_DESCRIPTOR_EXTENT(ret,0) - 1) - / GFC_DESCRIPTOR_SPACING(ret,0)) - runtime_error ("dim too large in spread()"); + if (ncopies != GFC_DESCRIPTOR_EXTENT(ret,0)) + runtime_error ("ncopies does not match result extent in spread()"); } dest = ret->base_addr; diff --git a/libgfortran/generated/spread_i16.c b/libgfortran/generated/spread_i16.c index 2cd6746204d5..259d0669c82c 100644 --- a/libgfortran/generated/spread_i16.c +++ b/libgfortran/generated/spread_i16.c @@ -246,9 +246,8 @@ spread_scalar_i16 (gfc_array_i16 *ret, const GFC_INTEGER_16 *source, } else { - if (ncopies - 1 > (GFC_DESCRIPTOR_EXTENT(ret,0) - 1) - / GFC_DESCRIPTOR_SPACING(ret,0)) - runtime_error ("dim too large in spread()"); + if (ncopies != GFC_DESCRIPTOR_EXTENT(ret,0)) + runtime_error ("ncopies does not match result extent in spread()"); } dest = ret->base_addr; diff --git a/libgfortran/generated/spread_i2.c b/libgfortran/generated/spread_i2.c index 9f443ecd55e9..7db5c0098aa4 100644 --- a/libgfortran/generated/spread_i2.c +++ b/libgfortran/generated/spread_i2.c @@ -246,9 +246,8 @@ spread_scalar_i2 (gfc_array_i2 *ret, const GFC_INTEGER_2 *source, } else { - if (ncopies - 1 > (GFC_DESCRIPTOR_EXTENT(ret,0) - 1) - / GFC_DESCRIPTOR_SPACING(ret,0)) - runtime_error ("dim too large in spread()"); + if (ncopies != GFC_DESCRIPTOR_EXTENT(ret,0)) + runtime_error ("ncopies does not match result extent in spread()"); } dest = ret->base_addr; diff --git a/libgfortran/generated/spread_i4.c b/libgfortran/generated/spread_i4.c index e3cefc9f6179..e86a1e2e639c 100644 --- a/libgfortran/generated/spread_i4.c +++ b/libgfortran/generated/spread_i4.c @@ -246,9 +246,8 @@ spread_scalar_i4 (gfc_array_i4 *ret, const GFC_INTEGER_4 *source, } else { - if (ncopies - 1 > (GFC_DESCRIPTOR_EXTENT(ret,0) - 1) - / GFC_DESCRIPTOR_SPACING(ret,0)) - runtime_error ("dim too large in spread()"); + if (ncopies != GFC_DESCRIPTOR_EXTENT(ret,0)) + runtime_error ("ncopies does not match result extent in spread()"); } dest = ret->base_addr; diff --git a/libgfortran/generated/spread_i8.c b/libgfortran/generated/spread_i8.c index 5bf4984c33c6..256655e67f4c 100644 --- a/libgfortran/generated/spread_i8.c +++ b/libgfortran/generated/spread_i8.c @@ -246,9 +246,8 @@ spread_scalar_i8 (gfc_array_i8 *ret, const GFC_INTEGER_8 *source, } else { - if (ncopies - 1 > (GFC_DESCRIPTOR_EXTENT(ret,0) - 1) - / GFC_DESCRIPTOR_SPACING(ret,0)) - runtime_error ("dim too large in spread()"); + if (ncopies != GFC_DESCRIPTOR_EXTENT(ret,0)) + runtime_error ("ncopies does not match result extent in spread()"); } dest = ret->base_addr; diff --git a/libgfortran/generated/spread_r10.c b/libgfortran/generated/spread_r10.c index 18062fd5cd30..1cfe39e82d0d 100644 --- a/libgfortran/generated/spread_r10.c +++ b/libgfortran/generated/spread_r10.c @@ -246,9 +246,8 @@ spread_scalar_r10 (gfc_array_r10 *ret, const GFC_REAL_10 *source, } else { - if (ncopies - 1 > (GFC_DESCRIPTOR_EXTENT(ret,0) - 1) - / GFC_DESCRIPTOR_SPACING(ret,0)) - runtime_error ("dim too large in spread()"); + if (ncopies != GFC_DESCRIPTOR_EXTENT(ret,0)) + runtime_error ("ncopies does not match result extent in spread()"); } dest = ret->base_addr; diff --git a/libgfortran/generated/spread_r16.c b/libgfortran/generated/spread_r16.c index b15e5fb8b72c..89f86b5add00 100644 --- a/libgfortran/generated/spread_r16.c +++ b/libgfortran/generated/spread_r16.c @@ -246,9 +246,8 @@ spread_scalar_r16 (gfc_array_r16 *ret, const GFC_REAL_16 *source, } else { - if (ncopies - 1 > (GFC_DESCRIPTOR_EXTENT(ret,0) - 1) - / GFC_DESCRIPTOR_SPACING(ret,0)) - runtime_error ("dim too large in spread()"); + if (ncopies != GFC_DESCRIPTOR_EXTENT(ret,0)) + runtime_error ("ncopies does not match result extent in spread()"); } dest = ret->base_addr; diff --git a/libgfortran/generated/spread_r17.c b/libgfortran/generated/spread_r17.c index 120ec29179b9..861a2f0914cb 100644 --- a/libgfortran/generated/spread_r17.c +++ b/libgfortran/generated/spread_r17.c @@ -246,9 +246,8 @@ spread_scalar_r17 (gfc_array_r17 *ret, const GFC_REAL_17 *source, } else { - if (ncopies - 1 > (GFC_DESCRIPTOR_EXTENT(ret,0) - 1) - / GFC_DESCRIPTOR_SPACING(ret,0)) - runtime_error ("dim too large in spread()"); + if (ncopies != GFC_DESCRIPTOR_EXTENT(ret,0)) + runtime_error ("ncopies does not match result extent in spread()"); } dest = ret->base_addr; diff --git a/libgfortran/generated/spread_r4.c b/libgfortran/generated/spread_r4.c index a14b9fa2c6ea..b365e68f8572 100644 --- a/libgfortran/generated/spread_r4.c +++ b/libgfortran/generated/spread_r4.c @@ -246,9 +246,8 @@ spread_scalar_r4 (gfc_array_r4 *ret, const GFC_REAL_4 *source, } else { - if (ncopies - 1 > (GFC_DESCRIPTOR_EXTENT(ret,0) - 1) - / GFC_DESCRIPTOR_SPACING(ret,0)) - runtime_error ("dim too large in spread()"); + if (ncopies != GFC_DESCRIPTOR_EXTENT(ret,0)) + runtime_error ("ncopies does not match result extent in spread()"); } dest = ret->base_addr; diff --git a/libgfortran/generated/spread_r8.c b/libgfortran/generated/spread_r8.c index 592c90a330a9..dbe5911a6eff 100644 --- a/libgfortran/generated/spread_r8.c +++ b/libgfortran/generated/spread_r8.c @@ -246,9 +246,8 @@ spread_scalar_r8 (gfc_array_r8 *ret, const GFC_REAL_8 *source, } else { - if (ncopies - 1 > (GFC_DESCRIPTOR_EXTENT(ret,0) - 1) - / GFC_DESCRIPTOR_SPACING(ret,0)) - runtime_error ("dim too large in spread()"); + if (ncopies != GFC_DESCRIPTOR_EXTENT(ret,0)) + runtime_error ("ncopies does not match result extent in spread()"); } dest = ret->base_addr; diff --git a/libgfortran/intrinsics/spread_generic.c b/libgfortran/intrinsics/spread_generic.c index c53752daebe2..59b62d64c2f5 100644 --- a/libgfortran/intrinsics/spread_generic.c +++ b/libgfortran/intrinsics/spread_generic.c @@ -256,9 +256,8 @@ spread_internal_scalar (gfc_array_char *ret, const char *source, } else { - if (ncopies - 1 > (GFC_DESCRIPTOR_EXTENT(ret,0) - 1) - / GFC_DESCRIPTOR_SPACING(ret,0)) - runtime_error ("dim too large in spread()"); + if (ncopies != GFC_DESCRIPTOR_EXTENT(ret,0)) + runtime_error ("ncopies doesn't match result extent in spread()"); } for (n = 0; n < ncopies; n++) diff --git a/libgfortran/m4/spread.m4 b/libgfortran/m4/spread.m4 index 59204532d564..1772d949ee13 100644 --- a/libgfortran/m4/spread.m4 +++ b/libgfortran/m4/spread.m4 @@ -247,9 +247,8 @@ spread_scalar_'rtype_code` ('rtype` *ret, const 'rtype_name` *source, } else { - if (ncopies - 1 > (GFC_DESCRIPTOR_EXTENT(ret,0) - 1) - / GFC_DESCRIPTOR_SPACING(ret,0)) - runtime_error ("dim too large in spread()"); + if (ncopies != GFC_DESCRIPTOR_EXTENT(ret,0)) + runtime_error ("ncopies does not match result extent in spread()"); } dest = ret->base_addr;