From 0803fd245a35c4b465cdefff20364f0f6e9f6fa7 Mon Sep 17 00:00:00 2001 From: Etienne Servais Date: Tue, 26 Oct 2021 18:08:47 +0200 Subject: [PATCH] [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. --- 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 fb42e30bb2f2..3c62337a7c26 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; -- 2.47.2