From: Piotr Trojanek Date: Fri, 13 Mar 2020 14:43:54 +0000 (+0100) Subject: [Ada] Simplify iteration over formal parameters for aliasing error X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=99cab17e02c2b34c4a6f5b54f5219b5fed4c7767;p=gcc.git [Ada] Simplify iteration over formal parameters for aliasing error 2020-06-11 Piotr Trojanek gcc/ada/ * sem_warn.adb (Warn_On_Overlapping_Actuals): Add label to the outer loop and use it in the exit statement. --- diff --git a/gcc/ada/sem_warn.adb b/gcc/ada/sem_warn.adb index a3195a19369..ca019ef9d31 100644 --- a/gcc/ada/sem_warn.adb +++ b/gcc/ada/sem_warn.adb @@ -1835,7 +1835,7 @@ package body Sem_Warn is elsif Nkind (Pref) = N_Explicit_Dereference then return True; - -- If prefix is itself a component reference or slice check prefix + -- If prefix is itself a component reference or slice check prefix elsif Nkind (Pref) = N_Slice or else Nkind (Pref) = N_Indexed_Component @@ -3707,7 +3707,7 @@ package body Sem_Warn is Warn_Only := True; Form1 := First_Formal (Subp); - while Present (Form1) loop + Set_Warn_Only : while Present (Form1) loop Form2 := Next_Formal (Form1); while Present (Form2) loop if Is_Elementary_Type (Etype (Form1)) @@ -3716,14 +3716,14 @@ package body Sem_Warn is and then Ekind (Form2) /= E_In_Parameter then Warn_Only := False; - exit; + exit Set_Warn_Only; end if; Next_Formal (Form2); end loop; Next_Formal (Form1); - end loop; + end loop Set_Warn_Only; -- Exclude calls rewritten as enumeration literals