diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2024-02-01 13:15:27 +0100 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2024-06-20 10:50:48 +0200 |
commit | 21b54dad4789396f6877e08024c3d40eec2861d6 (patch) | |
tree | 3d23b4d3a4db8b2d22605d322ffef5fc203fdbe9 /gcc/ada | |
parent | 4867cc815531ede8bc356a2507f1c35ee6e6399c (diff) | |
download | gcc-21b54dad4789396f6877e08024c3d40eec2861d6.zip gcc-21b54dad4789396f6877e08024c3d40eec2861d6.tar.gz gcc-21b54dad4789396f6877e08024c3d40eec2861d6.tar.bz2 |
ada: Fix list of attributes defined by Ada 2022
Recognize references to attributes Put_Image and Object_Size as
language-defined in Ada 2022 and implementation-defined in earlier
versions of Ada. Other attributes listed in Ada 2022 RM, K.2 and
currently implemented in GNAT are correctly categorized.
This change only affects code with restriction
No_Implementation_Attributes.
gcc/ada/
* sem_attr.adb (Attribute_22): Add Put_Image and Object_Size.
* sem_attr.ads (Attribute_Impl_Def): Remove Object_Size.
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/sem_attr.adb | 4 | ||||
-rw-r--r-- | gcc/ada/sem_attr.ads | 11 |
2 files changed, 3 insertions, 12 deletions
diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index 9c3bc62..c2bb094 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -185,7 +185,9 @@ package body Sem_Attr is (Attribute_Enum_Rep | Attribute_Enum_Val | Attribute_Index | - Attribute_Preelaborable_Initialization => True, + Attribute_Object_Size | + Attribute_Preelaborable_Initialization | + Attribute_Put_Image => True, others => False); -- The following array contains all attributes that imply a modification diff --git a/gcc/ada/sem_attr.ads b/gcc/ada/sem_attr.ads index 52359e4..17dce1f 100644 --- a/gcc/ada/sem_attr.ads +++ b/gcc/ada/sem_attr.ads @@ -381,17 +381,6 @@ package Sem_Attr is -- other composite object passed by reference, there is no other way -- of specifying that a zero address should be passed. - ----------------- - -- Object_Size -- - ----------------- - - Attribute_Object_Size => True, - -- Type'Object_Size is the same as Type'Size for all types except - -- fixed-point types and discrete types. For fixed-point types and - -- discrete types, this attribute gives the size used for default - -- allocation of objects and components of the size. See section in - -- Einfo ("Handling of Type'Size values") for further details. - ------------------------- -- Passed_By_Reference -- ------------------------- |