diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2020-03-09 10:14:53 +0100 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-06-10 09:35:01 -0400 |
commit | e156631a27d599f118ef2d384c6974172cd0c74d (patch) | |
tree | ce2433134833e9d3d5c284f88fa453723390dfd3 | |
parent | 2378f3eb81a5a7d4a31cd36ea99d9202eb21f0ef (diff) | |
download | gcc-e156631a27d599f118ef2d384c6974172cd0c74d.zip gcc-e156631a27d599f118ef2d384c6974172cd0c74d.tar.gz gcc-e156631a27d599f118ef2d384c6974172cd0c74d.tar.bz2 |
[Ada] Remove obsolete code in Resolve_Call
2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
gcc/ada/
* sem_ch4.adb (Analyze_Call): Use idiomatic condition.
* sem_res.adb (Resolve_Call): Remove obsolete code.
-rw-r--r-- | gcc/ada/sem_ch4.adb | 3 | ||||
-rw-r--r-- | gcc/ada/sem_res.adb | 20 |
2 files changed, 1 insertions, 22 deletions
diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb index 4ff08a5..3d3e2c7 100644 --- a/gcc/ada/sem_ch4.adb +++ b/gcc/ada/sem_ch4.adb @@ -1176,8 +1176,7 @@ package body Sem_Ch4 is -- type is an array, F (X) cannot be interpreted as an indirect call -- through the result of the call to F. - elsif Is_Access_Type (Etype (Nam)) - and then Ekind (Designated_Type (Etype (Nam))) = E_Subprogram_Type + elsif Is_Access_Subprogram_Type (Base_Type (Etype (Nam))) and then (not Name_Denotes_Function or else Nkind (N) = N_Procedure_Call_Statement diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb index 6b4e251..d172311 100644 --- a/gcc/ada/sem_res.adb +++ b/gcc/ada/sem_res.adb @@ -6141,26 +6141,6 @@ package body Sem_Res is end loop; end if; - if Is_Access_Subprogram_Type (Base_Type (Etype (Nam))) - and then not Is_Access_Subprogram_Type (Base_Type (Typ)) - and then Nkind (Subp) /= N_Explicit_Dereference - and then Present (Parameter_Associations (N)) - then - -- The prefix is a parameterless function call that returns an access - -- to subprogram. If parameters are present in the current call, add - -- add an explicit dereference. We use the base type here because - -- within an instance these may be subtypes. - - -- The dereference is added either in Analyze_Call or here. Should - -- be consolidated ??? - - Set_Is_Overloaded (Subp, False); - Set_Etype (Subp, Etype (Nam)); - Insert_Explicit_Dereference (Subp); - Nam := Designated_Type (Etype (Nam)); - Resolve (Subp, Nam); - end if; - -- Check that a call to Current_Task does not occur in an entry body if Is_RTE (Nam, RE_Current_Task) then |