[Ada] Simplify Parent_Is_Boolean with subtype memberships

gcc/ada/

	* sem_res.adb (Parent_Is_Boolean): Simplify.
	(Resolve_Op_Not): Reduce scope of a local variable.
This commit is contained in:
Piotr Trojanek 2020-11-06 09:43:43 +01:00 committed by Pierre-Marie de Rodat
parent 586f6dd1f6
commit 4e6b87e933

View File

@ -10245,8 +10245,6 @@ package body Sem_Res is
--------------------
procedure Resolve_Op_Not (N : Node_Id; Typ : Entity_Id) is
B_Typ : Entity_Id;
function Parent_Is_Boolean return Boolean;
-- This function determines if the parent node is a boolean operator or
-- operation (comparison op, membership test, or short circuit form) and
@ -10259,33 +10257,17 @@ package body Sem_Res is
function Parent_Is_Boolean return Boolean is
begin
if Paren_Count (N) /= 0 then
return False;
else
case Nkind (Parent (N)) is
when N_And_Then
| N_In
| N_Not_In
| N_Op_And
| N_Op_Eq
| N_Op_Ge
| N_Op_Gt
| N_Op_Le
| N_Op_Lt
| N_Op_Ne
| N_Op_Or
| N_Op_Xor
| N_Or_Else
=>
return Left_Opnd (Parent (N)) = N;
when others =>
return False;
end case;
end if;
return Paren_Count (N) = 0
and then Nkind (Parent (N)) in N_Membership_Test
| N_Op_Boolean
| N_Short_Circuit
and then Left_Opnd (Parent (N)) = N;
end Parent_Is_Boolean;
-- Local variables
B_Typ : Entity_Id;
-- Start of processing for Resolve_Op_Not
begin