diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2022-10-26 09:58:47 +0200 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2022-11-08 09:35:03 +0100 |
commit | 11f892571c7ab4964f16c0d432e6f5a9b4a091f1 (patch) | |
tree | 4612ff1d68f622f1f07999993a396ad74005b2a4 | |
parent | 45656a992eb18bfefe2e6e20d3b425afe945af28 (diff) | |
download | gcc-11f892571c7ab4964f16c0d432e6f5a9b4a091f1.zip gcc-11f892571c7ab4964f16c0d432e6f5a9b4a091f1.tar.gz gcc-11f892571c7ab4964f16c0d432e6f5a9b4a091f1.tar.bz2 |
ada: Clean up call to check if aspects are present
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".
-rw-r--r-- | gcc/ada/exp_ch6.adb | 4 | ||||
-rw-r--r-- | gcc/ada/exp_put_image.adb | 2 | ||||
-rw-r--r-- | gcc/ada/sem_aggr.adb | 2 | ||||
-rw-r--r-- | gcc/ada/sem_attr.adb | 4 | ||||
-rw-r--r-- | gcc/ada/sem_ch5.adb | 2 | ||||
-rw-r--r-- | gcc/ada/sem_type.adb | 2 | ||||
-rw-r--r-- | gcc/ada/sem_util.adb | 14 |
7 files changed, 14 insertions, 16 deletions
diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb index fce7a7c..1466e4d 100644 --- a/gcc/ada/exp_ch6.adb +++ b/gcc/ada/exp_ch6.adb @@ -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 diff --git a/gcc/ada/exp_put_image.adb b/gcc/ada/exp_put_image.adb index f90f020..eaedebe 100644 --- a/gcc/ada/exp_put_image.adb +++ b/gcc/ada/exp_put_image.adb @@ -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; diff --git a/gcc/ada/sem_aggr.adb b/gcc/ada/sem_aggr.adb index 4da05dd..3a093d2 100644 --- a/gcc/ada/sem_aggr.adb +++ b/gcc/ada/sem_aggr.adb @@ -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 diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index 299ea04..de4e8aa 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -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 diff --git a/gcc/ada/sem_ch5.adb b/gcc/ada/sem_ch5.adb index 5f0629d..7bca6d3 100644 --- a/gcc/ada/sem_ch5.adb +++ b/gcc/ada/sem_ch5.adb @@ -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))) diff --git a/gcc/ada/sem_type.adb b/gcc/ada/sem_type.adb index 2fc82d1..718c297 100644 --- a/gcc/ada/sem_type.adb +++ b/gcc/ada/sem_type.adb @@ -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; diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 71548dc..e43581e 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -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; -------------------------- |