https://gcc.gnu.org/g:87e3baca4b69a856c3857702d4b83394eb6286c0
commit 87e3baca4b69a856c3857702d4b83394eb6286c0 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 35a46a088796..d0efc10f5afe 100644 --- a/libgfortran/generated/spread_c10.c +++ b/libgfortran/generated/spread_c10.c @@ -247,9 +247,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 a5537600fb00..a2293d1ee9df 100644 --- a/libgfortran/generated/spread_c16.c +++ b/libgfortran/generated/spread_c16.c @@ -247,9 +247,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 ecf99d32abc6..d4fbc68ea123 100644 --- a/libgfortran/generated/spread_c17.c +++ b/libgfortran/generated/spread_c17.c @@ -247,9 +247,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 dcf621dad033..41e5109097ea 100644 --- a/libgfortran/generated/spread_c4.c +++ b/libgfortran/generated/spread_c4.c @@ -247,9 +247,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 f9304954d823..28e1b3efae43 100644 --- a/libgfortran/generated/spread_c8.c +++ b/libgfortran/generated/spread_c8.c @@ -247,9 +247,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 3652320a0650..a6740e474781 100644 --- a/libgfortran/generated/spread_i1.c +++ b/libgfortran/generated/spread_i1.c @@ -247,9 +247,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 0c6d7d0b3de7..86c66cb56dca 100644 --- a/libgfortran/generated/spread_i16.c +++ b/libgfortran/generated/spread_i16.c @@ -247,9 +247,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 61cfb4f7f457..8b4ecc034eed 100644 --- a/libgfortran/generated/spread_i2.c +++ b/libgfortran/generated/spread_i2.c @@ -247,9 +247,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 23ea88ba06ab..38c8665fbb15 100644 --- a/libgfortran/generated/spread_i4.c +++ b/libgfortran/generated/spread_i4.c @@ -247,9 +247,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 582797c141f6..a3f1144c802c 100644 --- a/libgfortran/generated/spread_i8.c +++ b/libgfortran/generated/spread_i8.c @@ -247,9 +247,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 6ddb028e80c9..ecf979637eaf 100644 --- a/libgfortran/generated/spread_r10.c +++ b/libgfortran/generated/spread_r10.c @@ -247,9 +247,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 80876cb1eec4..90b6f71a1eab 100644 --- a/libgfortran/generated/spread_r16.c +++ b/libgfortran/generated/spread_r16.c @@ -247,9 +247,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 26756978e4dc..8909b318c713 100644 --- a/libgfortran/generated/spread_r17.c +++ b/libgfortran/generated/spread_r17.c @@ -247,9 +247,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 6b2b6bd2dc7a..b5cef8e517fb 100644 --- a/libgfortran/generated/spread_r4.c +++ b/libgfortran/generated/spread_r4.c @@ -247,9 +247,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 9ef1b70122d2..9196aa7eddb4 100644 --- a/libgfortran/generated/spread_r8.c +++ b/libgfortran/generated/spread_r8.c @@ -247,9 +247,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 7f63e8b6c4e2..13ec0212fc0e 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_STRIDE(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 b2e0d84be642..4d5804ed24f3 100644 --- a/libgfortran/m4/spread.m4 +++ b/libgfortran/m4/spread.m4 @@ -248,9 +248,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;