From: Piotr Trojanek Date: Sun, 29 Nov 2020 21:20:09 +0000 (+0100) Subject: [Ada] Simplify membership tests with N_Subprogram_Call subtype X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=612c48b13b38c42094059350d945f9d29983491a;p=gcc.git [Ada] Simplify membership tests with N_Subprogram_Call subtype gcc/ada/ * exp_ch6.adb, exp_util.adb, sem_ch4.adb, sem_disp.adb, sem_elab.adb: Simplify membership test. --- diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb index afe7e8ba63e..4e0559ce140 100644 --- a/gcc/ada/exp_ch6.adb +++ b/gcc/ada/exp_ch6.adb @@ -3491,8 +3491,7 @@ package body Exp_Ch6 is -- of the dimension I/O packages. if Ada_Version >= Ada_2012 - and then - Nkind (Call_Node) in N_Procedure_Call_Statement | N_Function_Call + and then Nkind (Call_Node) in N_Subprogram_Call and then Present (Parameter_Associations (Call_Node)) then Expand_Put_Call_With_Symbol (Call_Node); diff --git a/gcc/ada/exp_util.adb b/gcc/ada/exp_util.adb index bcfedfb32bd..0e458a3ef20 100644 --- a/gcc/ada/exp_util.adb +++ b/gcc/ada/exp_util.adb @@ -12247,8 +12247,7 @@ package body Exp_Util is -- and view swaps, the parent type is taken from the formal -- parameter of the subprogram being called. - if Nkind (Context) in - N_Function_Call | N_Procedure_Call_Statement + if Nkind (Context) in N_Subprogram_Call and then No (Type_Map.Get (Entity (Name (Context)))) then New_Ref := diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb index 7b358d43b41..9f7652b8630 100644 --- a/gcc/ada/sem_ch4.adb +++ b/gcc/ada/sem_ch4.adb @@ -8088,8 +8088,7 @@ package body Sem_Ch4 is -- resolution does not depend on the type of the parameter that -- includes the indexing operation. - elsif Nkind (Parent (Par)) in - N_Function_Call | N_Procedure_Call_Statement + elsif Nkind (Parent (Par)) in N_Subprogram_Call and then Is_Entity_Name (Name (Parent (Par))) then declare diff --git a/gcc/ada/sem_disp.adb b/gcc/ada/sem_disp.adb index cf54337631d..36efa42ee3b 100644 --- a/gcc/ada/sem_disp.adb +++ b/gcc/ada/sem_disp.adb @@ -625,7 +625,7 @@ package body Sem_Disp is Par := Parent (Par); end if; - if Nkind (Par) in N_Function_Call | N_Procedure_Call_Statement + if Nkind (Par) in N_Subprogram_Call and then Is_Entity_Name (Name (Par)) then declare diff --git a/gcc/ada/sem_elab.adb b/gcc/ada/sem_elab.adb index 399aeb48444..89b6e13e1ff 100644 --- a/gcc/ada/sem_elab.adb +++ b/gcc/ada/sem_elab.adb @@ -3744,7 +3744,7 @@ package body Sem_Elab is Set_Is_Dispatching_Call (Marker, - Nkind (N) in N_Function_Call | N_Procedure_Call_Statement + Nkind (N) in N_Subprogram_Call and then Present (Controlling_Argument (N))); Set_Is_Elaboration_Checks_OK_Node @@ -19368,7 +19368,7 @@ package body Sem_Elab is function Is_Call_Of_Generic_Formal (N : Node_Id) return Boolean is begin - return Nkind (N) in N_Function_Call | N_Procedure_Call_Statement + return Nkind (N) in N_Subprogram_Call -- Always return False if debug flag -gnatd.G is set