[COMMITTED] ada: Remove redundant guard against empty lists

Message ID 20230526073641.2069598-1-poulhies@adacore.com
State Committed
Commit fa4b7069a0dfd28b58c718cf8b2060df47a39641
Headers
Series [COMMITTED] ada: Remove redundant guard against empty lists |

Commit Message

Marc Poulhiès May 26, 2023, 7:36 a.m. UTC
  From: Piotr Trojanek <trojanek@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(-)
  

Patch

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;