From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7871) id 151233858C2D; Tue, 3 Jan 2023 09:34:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 151233858C2D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1672738485; bh=bD3HHmzpbma48HEXvcSDINlMQv8vdAvoXl6yt3C1BC0=; h=From:To:Subject:Date:From; b=RSNkN59M3V7O6B3ZKtfNW/zMqiIQFWaUPA0bGcEkF4pXqkDayKdJuHIY1HiQyM21r 6kmFkE3WwvIgJannGJ6CXHT2pOA/0xhI8Rx1iOAMqqHkdpUeeP/8cnNmQDGh4ELXGj zLezjkekIfygvN7CHn+3C9+Y1Ci1kFar0bo/qTxg= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Marc Poulhi?s To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-4972] ada: output.adb: fix newline being inserted when buffer is full X-Act-Checkin: gcc X-Git-Author: Ghjuvan Lacambre X-Git-Refname: refs/heads/master X-Git-Oldrev: 54d7221aca4b4aa2e20534924215cc39ebe2cd73 X-Git-Newrev: 238ff612f2fd88372c585753dd2faa73cb94cbb5 Message-Id: <20230103093445.151233858C2D@sourceware.org> Date: Tue, 3 Jan 2023 09:34:45 +0000 (GMT) List-Id: https://gcc.gnu.org/g:238ff612f2fd88372c585753dd2faa73cb94cbb5 commit r13-4972-g238ff612f2fd88372c585753dd2faa73cb94cbb5 Author: Ghjuvan Lacambre Date: Thu Dec 8 09:58:28 2022 +0100 ada: output.adb: fix newline being inserted when buffer is full Before this commit, when GNAT needed to emit lines longer than the buffer, it accidentally inserted a newline in its output when attempting to flush its buffer. We fix this by using Flush_Buffer instead of Write_Eol in Write_Char. gcc/ada/ * output.adb (Write_Buffer): Use Flush_Buffer instead of Write_Eol. Diff: --- gcc/ada/output.adb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/ada/output.adb b/gcc/ada/output.adb index 33d027ded8e..497643d17ec 100644 --- a/gcc/ada/output.adb +++ b/gcc/ada/output.adb @@ -422,10 +422,10 @@ package body Output is procedure Write_Char (C : Character) is begin - pragma Assert (Next_Col in Buffer'Range); - if Next_Col = Buffer'Length then - Write_Eol; + if Next_Col > Buffer'Length then + Flush_Buffer; end if; + pragma Assert (Next_Col in Buffer'Range); if C = ASCII.LF then Write_Eol;