@@ -3305,8 +3305,8 @@ package body Exp_Ch6 is
or else No (Aspect)
-- Do not fold if multiple applicable predicate aspects
- or else Present (Find_Aspect (Subt, Aspect_Static_Predicate))
- or else Present (Find_Aspect (Subt, Aspect_Predicate))
+ or else Has_Aspect (Subt, Aspect_Static_Predicate)
+ or else Has_Aspect (Subt, Aspect_Predicate)
or else Augments_Other_Dynamic_Predicate (Aspect)
or else CodePeer_Mode
then
@@ -1045,7 +1045,7 @@ package body Exp_Put_Image is
declare
U_Type : constant Entity_Id := Underlying_Type (Entity (Prefix (N)));
begin
- if Present (Find_Aspect (U_Type, Aspect_Put_Image)) then
+ if Has_Aspect (U_Type, Aspect_Put_Image) then
return True;
end if;
@@ -1052,7 +1052,7 @@ package body Sem_Aggr is
elsif Is_Array_Type (Typ) and then Null_Record_Present (N) then
Error_Msg_N ("null record forbidden in array aggregate", N);
- elsif Present (Find_Aspect (Typ, Aspect_Aggregate))
+ elsif Has_Aspect (Typ, Aspect_Aggregate)
and then Ekind (Typ) /= E_Record_Type
and then Ada_Version >= Ada_2022
then
@@ -5996,8 +5996,8 @@ package body Sem_Attr is
-- Verify that prefix can be iterated upon.
if Is_Array_Type (Typ)
- or else Present (Find_Aspect (Typ, Aspect_Default_Iterator))
- or else Present (Find_Aspect (Typ, Aspect_Iterable))
+ or else Has_Aspect (Typ, Aspect_Default_Iterator)
+ or else Has_Aspect (Typ, Aspect_Iterable)
then
null;
else
@@ -2191,7 +2191,7 @@ package body Sem_Ch5 is
if Is_Array_Type (Typ)
or else Is_Reversible_Iterator (Typ)
or else
- (Present (Find_Aspect (Typ, Aspect_Iterable))
+ (Has_Aspect (Typ, Aspect_Iterable)
and then
Present
(Get_Iterable_Type_Primitive (Typ, Name_Previous)))
@@ -1007,7 +1007,7 @@ package body Sem_Type is
elsif Ada_Version >= Ada_2022
and then T2 = Any_Composite
- and then Present (Find_Aspect (T1, Aspect_Aggregate))
+ and then Has_Aspect (T1, Aspect_Aggregate)
then
return True;
@@ -13309,7 +13309,7 @@ package body Sem_Util is
begin
return Nkind (Exp) = N_Aggregate
- and then Present (Find_Aspect (Etype (Exp), Aspect_Aggregate))
+ and then Has_Aspect (Etype (Exp), Aspect_Aggregate)
and then not Is_Record_Aggregate;
end Is_Container_Aggregate;
@@ -21718,18 +21718,16 @@ package body Sem_Util is
-- type has the appropriate user-defined literal aspect.
return (Nkind (N) in N_Numeric_Or_String_Literal
- and then Present (Find_Aspect (Typ, Literal_Aspect_Map (Nkind (N)))))
+ and then Has_Aspect (Typ, Literal_Aspect_Map (Nkind (N))))
or else
(Is_Entity_Name (N)
and then Present (Entity (N))
and then
((Ekind (Entity (N)) = E_Named_Integer
- and then
- Present (Find_Aspect (Typ, Aspect_Integer_Literal)))
+ and then Has_Aspect (Typ, Aspect_Integer_Literal))
or else
(Ekind (Entity (N)) = E_Named_Real
- and then
- Present (Find_Aspect (Typ, Aspect_Real_Literal)))));
+ and then Has_Aspect (Typ, Aspect_Real_Literal))));
end Is_User_Defined_Literal;
--------------------------------------
@@ -32563,7 +32561,7 @@ package body Sem_Util is
(Typ : Entity_Id) return Boolean
is
begin
- return Present (Find_Aspect (Typ, Aspect_Designated_Storage_Model));
+ return Has_Aspect (Typ, Aspect_Designated_Storage_Model);
end Has_Designated_Storage_Model_Aspect;
-----------------------------------
@@ -32573,7 +32571,7 @@ package body Sem_Util is
function Has_Storage_Model_Type_Aspect (Typ : Entity_Id) return Boolean
is
begin
- return Present (Find_Aspect (Typ, Aspect_Storage_Model_Type));
+ return Has_Aspect (Typ, Aspect_Storage_Model_Type);
end Has_Storage_Model_Type_Aspect;
--------------------------
From: Piotr Trojanek <trojanek@adacore.com> Code cleanup; semantics is unaffected. gcc/ada/ * exp_ch6.adb, exp_put_image.adb, sem_aggr.adb, sem_attr.adb, sem_ch5.adb, sem_type.adb, sem_util.adb: Replace "Present (Find_Aspect (...))" with "Has_Aspect". Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/exp_ch6.adb | 4 ++-- gcc/ada/exp_put_image.adb | 2 +- gcc/ada/sem_aggr.adb | 2 +- gcc/ada/sem_attr.adb | 4 ++-- gcc/ada/sem_ch5.adb | 2 +- gcc/ada/sem_type.adb | 2 +- gcc/ada/sem_util.adb | 14 ++++++-------- 7 files changed, 14 insertions(+), 16 deletions(-)