and then not Same_Ancestor (Etype (F), Etype (Expression (A)))
and then
(Is_Limited_Type (Etype (F))
- or else Is_Limited_Type (Etype (Expression (A))))
+ or else Is_Limited_Type (Etype (Expression (A))))
then
Error_Msg_N
("conversion between unrelated limited array types "
end if;
end if;
- -- (Ada 2005): The call may be to a primitive operation of
- -- a tagged synchronized type, declared outside of the type.
- -- In this case the controlling actual must be converted to
- -- its corresponding record type, which is the formal type.
- -- The actual may be a subtype, either because of a constraint
- -- or because it is a generic actual, so use base type to
- -- locate concurrent type.
+ -- (Ada 2005): The call may be to a primitive operation of a
+ -- tagged synchronized type, declared outside of the type. In
+ -- this case the controlling actual must be converted to its
+ -- corresponding record type, which is the formal type. The
+ -- actual may be a subtype, either because of a constraint or
+ -- because it is a generic actual, so use base type to locate
+ -- concurrent type.
F_Typ := Base_Type (Etype (F));
if not (Ekind (Nam) = E_Function
and then (Is_Predicate_Function (Nam)
- or else Is_Predicate_Function_M (Nam)))
+ or else
+ Is_Predicate_Function_M (Nam)))
and then not Is_Init_Proc (Nam)
then
Apply_Predicate_Check (A, F_Typ);
Error_Msg_N ("type of allocator cannot be abstract", N);
end if;
- -- For qualified expression, resolve the expression using the
- -- given subtype (nothing to do for type mark, subtype indication)
+ -- For qualified expression, resolve the expression using the given
+ -- subtype (nothing to do for type mark, subtype indication)
if Nkind (E) = N_Qualified_Expression then
if Is_Class_Wide_Type (Etype (E))
Resolve (Expression (E), Etype (E));
Check_Unset_Reference (Expression (E));
- -- A qualified expression requires an exact match of the type,
- -- class-wide matching is not allowed.
+ -- A qualified expression requires an exact match of the type.
+ -- Class-wide matching is not allowed.
if (Is_Class_Wide_Type (Etype (Expression (E)))
or else Is_Class_Wide_Type (Etype (E)))
-- deeper than the type of the allocator (in contrast to access
-- parameters, where the level of the actual can be arbitrary).
- -- We can't use Valid_Conversion to perform this check because
- -- in general the type of the allocator is unrelated to the type
- -- of the access discriminant.
+ -- We can't use Valid_Conversion to perform this check because in
+ -- general the type of the allocator is unrelated to the type of
+ -- the access discriminant.
if Ekind (Typ) /= E_Anonymous_Access_Type
or else Is_Local_Anonymous_Access (Typ)
Resolve (N, Any_Fixed);
elsif Is_Fixed_Point_Type (B_Typ)
- and then (T = Universal_Real
- or else Is_Fixed_Point_Type (T))
+ and then (T = Universal_Real or else Is_Fixed_Point_Type (T))
and then Is_Overloaded (N)
then
-- C * F(X) in a fixed context, where C is a real literal or a
and then Is_Fixed_Point_Type (B_Typ))
or else (Is_Fixed_Point_Type (B_Typ)
and then (Is_Integer_Or_Universal (L)
- or else
+ or else
Is_Integer_Or_Universal (R))))
and then Nkind_In (N, N_Op_Multiply, N_Op_Divide)
then
else
if (TL = Universal_Integer or else TL = Universal_Real)
- and then
+ and then
(TR = Universal_Integer or else TR = Universal_Real)
then
Check_For_Visible_Operator (N, B_Typ);
-- In this case, the back end has to generate additional tests.
if (Nkind (N) = N_Op_Rem and then (LNeg and RNeg))
- or else
+ or else
(Nkind (N) = N_Op_Mod and then (LNeg or RNeg))
then
Check_Restriction (No_Implicit_Conditionals, N);