From: Piotr Trojanek <troja...@adacore.com> Code cleanup; behavior is unaffected.
gcc/ada/ChangeLog: * sem_ch5.adb (Check_Call): Reuse Get_Called_Entity. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/sem_ch5.adb | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/gcc/ada/sem_ch5.adb b/gcc/ada/sem_ch5.adb index 2a5c8dcdbe5..944259a532a 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 -- 2.43.0