From 39957dd73f30ace0798025f46c89d2df75a64f09 Mon Sep 17 00:00:00 2001 From: Mikael Morin Date: Thu, 9 Oct 2025 13:02:40 +0200 Subject: [PATCH] =?UTF-8?q?gimple-simulate:=20Correction=20terminaison=20c?= =?UTF-8?q?ha=C3=AEnes=20de=20caract=C3=A8res?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gcc/gimple-simulate.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/gimple-simulate.cc b/gcc/gimple-simulate.cc index d980d62ee402..d713009b53ae 100644 --- a/gcc/gimple-simulate.cc +++ b/gcc/gimple-simulate.cc @@ -2179,7 +2179,11 @@ simul_scope::evaluate (tree expr) const const char *str = TREE_STRING_POINTER (expr); for (int i = 0; i < len; ++i) set_cst_array_elem_at (result, elt_type, i, str[i]); - set_cst_array_elem_at (result, elt_type, len, 0); + /* Fortran strings are not 0-terminated. + Decide on the 0-termination here depending on the type size. */ + if (tree_fits_shwi_p (TYPE_SIZE_UNIT (expr_type)) + && tree_to_shwi (TYPE_SIZE_UNIT (expr_type)) > len) + set_cst_array_elem_at (result, elt_type, len, 0); return result; }