diff mbox series

[Ada] Reuse collective subtype for comparison operators where possible

Message ID 20220512124014.GA781186@adacore.com
State New
Headers show
Series [Ada] Reuse collective subtype for comparison operators where possible | expand

Commit Message

Pierre-Marie de Rodat May 12, 2022, 12:40 p.m. UTC
Replace membership alternatives with N_Op_Compare. Code cleanup;
semantics is unaffected.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

	* sem_res.adb (Resolve_Actuals): Simplify with N_Op_Compare.
	* sem_util.adb (Replace_Null_Operand,
	Null_To_Null_Address_Convert_OK): Likewise.
diff mbox series

Patch

diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb
--- a/gcc/ada/sem_res.adb
+++ b/gcc/ada/sem_res.adb
@@ -4163,12 +4163,7 @@  package body Sem_Res is
             --  marked with Any_Type. Since the operation has been resolved to
             --  the user-defined operator, that is irrelevant, so reset Etype.
 
-            if Nkind (Original_Node (N)) in N_Op_Eq
-                                          | N_Op_Ge
-                                          | N_Op_Gt
-                                          | N_Op_Le
-                                          | N_Op_Lt
-                                          | N_Op_Ne
+            if Nkind (Original_Node (N)) in N_Op_Compare
               and then not Is_Boolean_Type (Etype (N))
             then
                Set_Etype (A, Etype (F));


diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -14189,9 +14189,7 @@  package body Sem_Util is
 
    begin
       pragma Assert (Relaxed_RM_Semantics);
-      pragma Assert
-        (Nkind (N) in
-           N_Null | N_Op_Eq | N_Op_Ge | N_Op_Gt | N_Op_Le | N_Op_Lt | N_Op_Ne);
+      pragma Assert (Nkind (N) in N_Null | N_Op_Compare);
 
       if Nkind (N) = N_Null then
          Rewrite (N, New_Occurrence_Of (RTE (RE_Null_Address), Sloc (N)));
@@ -26079,9 +26077,7 @@  package body Sem_Util is
       if Nkind (N) = N_Null then
          return Present (Typ) and then Is_Descendant_Of_Address (Typ);
 
-      elsif Nkind (N) in
-              N_Op_Eq | N_Op_Ge | N_Op_Gt | N_Op_Le | N_Op_Lt | N_Op_Ne
-      then
+      elsif Nkind (N) in N_Op_Compare then
          declare
             L : constant Node_Id := Left_Opnd (N);
             R : constant Node_Id := Right_Opnd (N);