aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2020-11-29 22:20:09 +0100
committerPierre-Marie de Rodat <derodat@adacore.com>2020-12-16 08:01:02 -0500
commit612c48b13b38c42094059350d945f9d29983491a (patch)
treed054c364abd608b90f7fe593d16999aaa290a75b
parent1053ff8a3a8bde5498476e544b40fc9cdc5ee888 (diff)
downloadgcc-612c48b13b38c42094059350d945f9d29983491a.zip
gcc-612c48b13b38c42094059350d945f9d29983491a.tar.gz
gcc-612c48b13b38c42094059350d945f9d29983491a.tar.bz2
[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.
-rw-r--r--gcc/ada/exp_ch6.adb3
-rw-r--r--gcc/ada/exp_util.adb3
-rw-r--r--gcc/ada/sem_ch4.adb3
-rw-r--r--gcc/ada/sem_disp.adb2
-rw-r--r--gcc/ada/sem_elab.adb4
5 files changed, 6 insertions, 9 deletions
diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb
index afe7e8b..4e0559c 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 bcfedfb..0e458a3 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 7b358d4..9f7652b 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 cf54337..36efa42 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 399aeb4..89b6e13 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