From: Piotr Trojanek <troja...@adacore.com> There is no need to guard against routine Contains being called on No_Elist, because it will return False. Code cleanup related to handling of primitive operations in GNATprove; semantics is unaffected.
gcc/ada/ * sem_prag.adb (Record_Possible_Body_Reference): Remove call to Present. * sem_util.adb (Find_Untagged_Type_Of): Likewise. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/sem_prag.adb | 4 +--- gcc/ada/sem_util.adb | 1 - 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index 96ea17209f3..5363d2bee80 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -32644,9 +32644,7 @@ package body Sem_Prag is if Nkind (Context) = N_Package_Body then Spec_Id := Corresponding_Spec (Context); - if Present (Abstract_States (Spec_Id)) - and then Contains (Abstract_States (Spec_Id), State_Id) - then + if Contains (Abstract_States (Spec_Id), State_Id) then if No (Body_References (State_Id)) then Set_Body_References (State_Id, New_Elmt_List); end if; diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index e11eded398d..9d12ee71d93 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -6524,7 +6524,6 @@ package body Sem_Util is begin while Present (E) and then E /= Prim loop if not Is_Tagged_Type (E) - and then Present (Direct_Primitive_Operations (E)) and then Contains (Direct_Primitive_Operations (E), Prim) then return E; -- 2.40.0