From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2071) id 3E1F6385781D; Fri, 20 Aug 2021 11:38:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3E1F6385781D MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Harald Anlauf To: gcc-cvs@gcc.gnu.org Subject: [gcc r12-3043] Fortran - use temporary char buffer for passing HOST_WIDE_INT to gfc_error X-Act-Checkin: gcc X-Git-Author: Harald Anlauf X-Git-Refname: refs/heads/master X-Git-Oldrev: 37744f8260857005c8409c9e2e633a05c768a7dd X-Git-Newrev: 12f22906d3c025e7edb60e3264dc9cd27a49e3e1 Message-Id: <20210820113832.3E1F6385781D@sourceware.org> Date: Fri, 20 Aug 2021 11:38:32 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Aug 2021 11:38:32 -0000 https://gcc.gnu.org/g:12f22906d3c025e7edb60e3264dc9cd27a49e3e1 commit r12-3043-g12f22906d3c025e7edb60e3264dc9cd27a49e3e1 Author: Harald Anlauf Date: Fri Aug 20 13:38:00 2021 +0200 Fortran - use temporary char buffer for passing HOST_WIDE_INT to gfc_error gcc/fortran/ChangeLog: PR fortran/100950 * simplify.c (substring_has_constant_len): Fix format string of gfc_error, pass HOST_WIDE_INT bounds values via char buffer. Diff: --- gcc/fortran/simplify.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c index 492867e12cb..eaabbffca4d 100644 --- a/gcc/fortran/simplify.c +++ b/gcc/fortran/simplify.c @@ -4552,11 +4552,12 @@ substring_has_constant_len (gfc_expr *e) if (istart <= iend) { + char buffer[21]; if (istart < 1) { - gfc_error ("Substring start index (" HOST_WIDE_INT_PRINT_DEC - ") at %L below 1", - istart, &ref->u.ss.start->where); + sprintf (buffer, HOST_WIDE_INT_PRINT_DEC, istart); + gfc_error ("Substring start index (%s) at %L below 1", + buffer, &ref->u.ss.start->where); return false; } @@ -4567,9 +4568,9 @@ substring_has_constant_len (gfc_expr *e) length = gfc_mpz_get_hwi (ref->u.ss.length->length->value.integer); if (iend > length) { - gfc_error ("Substring end index (" HOST_WIDE_INT_PRINT_DEC - ") at %L exceeds string length", - iend, &ref->u.ss.end->where); + sprintf (buffer, HOST_WIDE_INT_PRINT_DEC, iend); + gfc_error ("Substring end index (%s) at %L exceeds string length", + buffer, &ref->u.ss.end->where); return false; } length = iend - istart + 1;