From: Etienne Servais Date: Thu, 30 Sep 2021 12:27:34 +0000 (+0200) Subject: [Ada] Reorder subprogram spec and bodies in alphabetical order X-Git-Tag: basepoints/gcc-13~4012 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=939b3a2ac672ec5792601ef096049302432d4689;p=thirdparty%2Fgcc.git [Ada] Reorder subprogram spec and bodies in alphabetical order gcc/ada/ * sem_ch4.adb (Analyze_Membership_Op): Reorder subprogram spec and bodies in alphabetical order. --- diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb index 543ba12f6ed0..bf13fb21bd82 100644 --- a/gcc/ada/sem_ch4.adb +++ b/gcc/ada/sem_ch4.adb @@ -2956,47 +2956,16 @@ package body Sem_Ch4 is I_F : Interp_Index; T_F : Entity_Id; + procedure Analyze_Set_Membership; + -- If a set of alternatives is present, analyze each and find the + -- common type to which they must all resolve. + procedure Try_One_Interp (T1 : Entity_Id); -- Routine to try one proposed interpretation. Note that the context -- of the operation plays no role in resolving the arguments, so that -- if there is more than one interpretation of the operands that is -- compatible with a membership test, the operation is ambiguous. - -------------------- - -- Try_One_Interp -- - -------------------- - - procedure Try_One_Interp (T1 : Entity_Id) is - begin - if Has_Compatible_Type (R, T1) then - if Found - and then Base_Type (T1) /= Base_Type (T_F) - then - It := Disambiguate (L, I_F, Index, Any_Type); - - if It = No_Interp then - Ambiguous_Operands (N); - Set_Etype (L, Any_Type); - return; - - else - T_F := It.Typ; - end if; - - else - Found := True; - T_F := T1; - I_F := Index; - end if; - - Set_Etype (L, T_F); - end if; - end Try_One_Interp; - - procedure Analyze_Set_Membership; - -- If a set of alternatives is present, analyze each and find the - -- common type to which they must all resolve. - ---------------------------- -- Analyze_Set_Membership -- ---------------------------- @@ -3095,6 +3064,37 @@ package body Sem_Ch4 is end if; end Analyze_Set_Membership; + -------------------- + -- Try_One_Interp -- + -------------------- + + procedure Try_One_Interp (T1 : Entity_Id) is + begin + if Has_Compatible_Type (R, T1) then + if Found + and then Base_Type (T1) /= Base_Type (T_F) + then + It := Disambiguate (L, I_F, Index, Any_Type); + + if It = No_Interp then + Ambiguous_Operands (N); + Set_Etype (L, Any_Type); + return; + + else + T_F := It.Typ; + end if; + + else + Found := True; + T_F := T1; + I_F := Index; + end if; + + Set_Etype (L, T_F); + end if; + end Try_One_Interp; + Op : Node_Id; -- Start of processing for Analyze_Membership_Op