From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1914) id B035F3858422; Tue, 9 Nov 2021 09:46:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B035F3858422 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Pierre-Marie de Rodat To: gcc-cvs@gcc.gnu.org Subject: [gcc r12-5027] [Ada] Return a valid value when handling Constraint_Error X-Act-Checkin: gcc X-Git-Author: Etienne Servais X-Git-Refname: refs/heads/master X-Git-Oldrev: 02ca2184cdabf79c8c8353b7d464f15d26d1f24f X-Git-Newrev: 0803fd245a35c4b465cdefff20364f0f6e9f6fa7 Message-Id: <20211109094625.B035F3858422@sourceware.org> Date: Tue, 9 Nov 2021 09:46:25 +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: Tue, 09 Nov 2021 09:46:25 -0000 https://gcc.gnu.org/g:0803fd245a35c4b465cdefff20364f0f6e9f6fa7 commit r12-5027-g0803fd245a35c4b465cdefff20364f0f6e9f6fa7 Author: Etienne Servais Date: Tue Oct 26 18:08:47 2021 +0200 [Ada] Return a valid value when handling Constraint_Error gcc/ada/ * scng.adb (Set_Start_Column): Return Column_Number'Last when handling Constraint_Error. Plus reformat a strangely 7 level if loop. Diff: --- gcc/ada/scng.adb | 55 ++++++++----------------------------------------------- 1 file changed, 8 insertions(+), 47 deletions(-) diff --git a/gcc/ada/scng.adb b/gcc/ada/scng.adb index fb42e30bb2f..3c62337a7c2 100644 --- a/gcc/ada/scng.adb +++ b/gcc/ada/scng.adb @@ -2701,52 +2701,13 @@ package body Scng is Tabs_Loop : loop - -- Inner loop scans past blanks as fast as possible, bumping Scan_Ptr - -- past the blanks and adjusting Start_Column to account for them. - - Blanks_Loop : loop - if Source (Scan_Ptr) = ' ' then - if Source (Scan_Ptr + 1) = ' ' then - if Source (Scan_Ptr + 2) = ' ' then - if Source (Scan_Ptr + 3) = ' ' then - if Source (Scan_Ptr + 4) = ' ' then - if Source (Scan_Ptr + 5) = ' ' then - if Source (Scan_Ptr + 6) = ' ' then - Scan_Ptr := Scan_Ptr + 7; - Start_Column := Start_Column + 7; - else - Scan_Ptr := Scan_Ptr + 6; - Start_Column := Start_Column + 6; - exit Blanks_Loop; - end if; - else - Scan_Ptr := Scan_Ptr + 5; - Start_Column := Start_Column + 5; - exit Blanks_Loop; - end if; - else - Scan_Ptr := Scan_Ptr + 4; - Start_Column := Start_Column + 4; - exit Blanks_Loop; - end if; - else - Scan_Ptr := Scan_Ptr + 3; - Start_Column := Start_Column + 3; - exit Blanks_Loop; - end if; - else - Scan_Ptr := Scan_Ptr + 2; - Start_Column := Start_Column + 2; - exit Blanks_Loop; - end if; - else - Scan_Ptr := Scan_Ptr + 1; - Start_Column := Start_Column + 1; - exit Blanks_Loop; - end if; - else - exit Blanks_Loop; - end if; + -- Inner loop scans past blanks, bumping Scan_Ptr past the blanks and + -- adjusting Start_Column to account for them. + + Blanks_Loop : + while Source (Scan_Ptr) = ' ' loop + Scan_Ptr := Scan_Ptr + 1; + Start_Column := Start_Column + 1; end loop Blanks_Loop; -- Outer loop keeps going only if a horizontal tab follows @@ -2771,7 +2732,7 @@ package body Scng is exception when Constraint_Error => - return Start_Column; + return Column_Number'Last; end Set_Start_Column; end Scng;