aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2024-02-01 13:15:27 +0100
committerMarc Poulhiès <poulhies@adacore.com>2024-06-20 10:50:48 +0200
commit21b54dad4789396f6877e08024c3d40eec2861d6 (patch)
tree3d23b4d3a4db8b2d22605d322ffef5fc203fdbe9
parent4867cc815531ede8bc356a2507f1c35ee6e6399c (diff)
downloadgcc-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.
-rw-r--r--gcc/ada/sem_attr.adb4
-rw-r--r--gcc/ada/sem_attr.ads11
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 --
-------------------------