From: Piotr Trojanek Date: Thu, 5 Dec 2024 16:12:55 +0000 (+0100) Subject: ada: Simplify code for obtaining function entity from a function call X-Git-Tag: basepoints/gcc-16~3012 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c20458a12d21a93f4ad5596f64545d6142a7d2dc;p=thirdparty%2Fgcc.git ada: Simplify code for obtaining function entity from a function call Code cleanup; behavior is unaffected. gcc/ada/ChangeLog: * sem_ch5.adb (Check_Call): Reuse Get_Called_Entity. --- diff --git a/gcc/ada/sem_ch5.adb b/gcc/ada/sem_ch5.adb index 2a5c8dcdbe52..944259a532ac 100644 --- a/gcc/ada/sem_ch5.adb +++ b/gcc/ada/sem_ch5.adb @@ -4536,34 +4536,14 @@ package body Sem_Ch5 is ---------------- function Check_Call (N : Node_Id) return Traverse_Result is - Nam : Node_Id; Subp : Entity_Id; - Typ : Entity_Id; begin if Nkind (N) = N_Function_Call then - Nam := Name (N); - - -- Obtain the subprogram being invoked - - loop - if Nkind (Nam) = N_Explicit_Dereference then - Nam := Prefix (Nam); - - elsif Nkind (Nam) = N_Selected_Component then - Nam := Selector_Name (Nam); - - else - exit; - end if; - end loop; - - Subp := Entity (Nam); + Subp := Get_Called_Entity (N); if Present (Subp) then - Typ := Etype (Subp); - - if Requires_Transient_Scope (Typ) then + if Requires_Transient_Scope (Etype (Subp)) then return Abandon; elsif Sec_Stack_Needed_For_Return (Subp) then