[COMMITTED] ada: Minor tweaks for comparison operators
Checks
Commit Message
From: Eric Botcazou <ebotcazou@adacore.com>
No functional changes.
gcc/ada/
* gen_il-gen-gen_nodes.adb (N_Op_Boolean): Fix description.
* sem_ch4.adb (Analyze_Comparison_Equality_Op): Tidy up.
* sem_ch12.adb (Copy_Generic_Node): Use N_Op_Compare subtype.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/gen_il-gen-gen_nodes.adb | 3 +--
gcc/ada/sem_ch12.adb | 8 +-------
gcc/ada/sem_ch4.adb | 9 ++++-----
3 files changed, 6 insertions(+), 14 deletions(-)
@@ -255,8 +255,7 @@ begin -- Gen_IL.Gen.Gen_Nodes
Sm (Do_Division_Check, Flag)));
Ab (N_Op_Boolean, N_Binary_Op);
- -- Binary operators that take operands of a boolean type, and yield a
- -- result of a boolean type.
+ -- Binary operators that yield a result of a boolean type
Cc (N_Op_And, N_Op_Boolean,
(Sm (Chars, Name_Id),
@@ -8196,13 +8196,7 @@ package body Sem_Ch12 is
-- if one of the operands is of a universal type, we need
-- to manually restore the full view of private types.
- if Nkind (N) in N_Op_Eq
- | N_Op_Ge
- | N_Op_Gt
- | N_Op_Le
- | N_Op_Lt
- | N_Op_Ne
- then
+ if Nkind (N) in N_Op_Compare then
if Yields_Universal_Type (Left_Opnd (Assoc)) then
if Present (Etype (Right_Opnd (Assoc)))
and then
@@ -2099,16 +2099,15 @@ package body Sem_Ch4 is
end loop;
end if;
- -- If there was no match, and the operator is inequality, this may be
+ -- If there was no match and the operator is inequality, this may be
-- a case where inequality has not been made explicit, as for tagged
-- types. Analyze the node as the negation of an equality operation.
- -- This cannot be done earlier, because before analysis we cannot rule
+ -- This cannot be done earlier because, before analysis, we cannot rule
-- out the presence of an explicit inequality.
- if Etype (N) = Any_Type
- and then Nkind (N) = N_Op_Ne
- then
+ if Etype (N) = Any_Type and then Nkind (N) = N_Op_Ne then
Op_Id := Get_Name_Entity_Id (Name_Op_Eq);
+
while Present (Op_Id) loop
if Ekind (Op_Id) = E_Operator then
Find_Comparison_Equality_Types (L, R, Op_Id, N);