https://gcc.gnu.org/g:cc68e41ca61c7d7b14b174835638661506a112c5
commit cc68e41ca61c7d7b14b174835638661506a112c5 Author: Mikael Morin <mik...@gcc.gnu.org> Date: Wed Aug 20 21:41:29 2025 +0200 Corrections régressions char_eoshift_1 char_eoshift_3 eoshift_large_1... Diff: --- libgfortran/intrinsics/eoshift0.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libgfortran/intrinsics/eoshift0.c b/libgfortran/intrinsics/eoshift0.c index 397d0e0c018b..a3f0c20bf9e2 100644 --- a/libgfortran/intrinsics/eoshift0.c +++ b/libgfortran/intrinsics/eoshift0.c @@ -150,8 +150,9 @@ eoshift0 (gfc_array_char * ret, const gfc_array_char * array, so a block move can be used for dim>1. */ len = GFC_DESCRIPTOR_SPACING(array, which) - * GFC_DESCRIPTOR_EXTENT(array, which); - shift *= GFC_DESCRIPTOR_SPACING(array, which); + * GFC_DESCRIPTOR_EXTENT(array, which) + / size; + shift *= GFC_DESCRIPTOR_SPACING(array, which) / size; roffset = size; soffset = size; for (dim = which + 1; dim < GFC_DESCRIPTOR_RANK (array); dim++)