aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/libgnat
diff options
context:
space:
mode:
authorJavier Miranda <miranda@adacore.com>2021-03-13 14:47:59 -0500
committerPierre-Marie de Rodat <derodat@adacore.com>2021-06-18 04:36:46 -0400
commit07537fe632cd6e2fcf83954fb85455d118d80c06 (patch)
treebc9f0d9d55fe25b8be5707f6bf968456701674c4 /gcc/ada/libgnat
parent64b5da8f97122de895af1b13c5f5e103717858c6 (diff)
downloadgcc-07537fe632cd6e2fcf83954fb85455d118d80c06.zip
gcc-07537fe632cd6e2fcf83954fb85455d118d80c06.tar.gz
gcc-07537fe632cd6e2fcf83954fb85455d118d80c06.tar.bz2
[Ada] Ada2020: Special handling of types derived from runtime
gcc/ada/ * einfo.ads (Is_Ada_2022_Only): Adding documentation. * gen_il-fields.ads (Is_Ada_2022_Only): New flag. * gen_il-gen-gen_entities.adb (Is_Ada_2022_Only): New flag. * itypes.adb (Create_Null_Excluding_Itype): Inherit Is_Ada_2022_Only. * sem_ch3.adb (Check_Abstract_Overriding): Skip reporting error on Ada 2022 only subprograms that require overriding if we are not in Ada 2022 mode. (Derive_Subprogram): Inherit Is_Ada_2022_Only. * sem_ch6.adb (Check_Overriding_Indicator): Inherit Is_Ada_2022_Only. (New_Overloaded_Entity): Inherit Is_Ada_2022_Only. * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Inherit Is_Ada_2022_Only. (Preserve_Full_Attributes): Inherit Is_Ada_2022_Only. * sem_disp.adb (Find_Hidden_Overridden_Primitive): Inherit Is_Ada_2022_Only. (Override_Dispatching_Operation): Inherit Is_Ada_2022_Only. * sem_prag.adb (Analyze_Pragma): Allow form with argument for Ada 2022. * sem_type.adb: (Disambiguate): Deal with Is_Ada_2022_Only * lib-xref.adb (Generate_Reference): Error on static and dispatching calls to Ada 2022 subprograms that require overriding if we are not in Ada 2022 mode; warn on other references to Ada 2022 entities when not in Ada 2022 mode. * sem_ch13.adb (Inherit_Aspects_At_Freeze_Point): Inherit Ada_2020_Only. * libgnat/a-cdlili.ads (Empty): Adding pragma Ada_2022. * libgnat/a-cidlli.ads (Empty): Adding pragma Ada_2022. * libgnat/a-ciorma.ads (Empty): Adding pragma Ada_2022. * libgnat/a-cobove.ads (Empty): Adding pragma Ada_2022. * libgnat/a-coorma.ads (Empty): Adding pragma Ada_2022. (New_Vector): Adding pragma Ada_2022. (Insert_Vector): Adding pragma Ada_2022. (Prepend_Vector): Adding pragma Ada_2022. (Append_Vector): Adding pragma Ada_2022.
Diffstat (limited to 'gcc/ada/libgnat')
-rw-r--r--gcc/ada/libgnat/a-cdlili.ads2
-rw-r--r--gcc/ada/libgnat/a-cidlli.ads2
-rw-r--r--gcc/ada/libgnat/a-ciorma.ads1
-rw-r--r--gcc/ada/libgnat/a-cobove.ads7
-rw-r--r--gcc/ada/libgnat/a-coorma.ads2
5 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ada/libgnat/a-cdlili.ads b/gcc/ada/libgnat/a-cdlili.ads
index aed02bc..8d2d345 100644
--- a/gcc/ada/libgnat/a-cdlili.ads
+++ b/gcc/ada/libgnat/a-cdlili.ads
@@ -66,7 +66,9 @@ is
pragma Preelaborable_Initialization (Cursor);
Empty_List : constant List;
+
function Empty return List;
+ pragma Ada_2022 (Empty);
No_Element : constant Cursor;
diff --git a/gcc/ada/libgnat/a-cidlli.ads b/gcc/ada/libgnat/a-cidlli.ads
index ee92e71..d5c4e45 100644
--- a/gcc/ada/libgnat/a-cidlli.ads
+++ b/gcc/ada/libgnat/a-cidlli.ads
@@ -65,7 +65,9 @@ is
pragma Preelaborable_Initialization (Cursor);
Empty_List : constant List;
+
function Empty return List;
+ pragma Ada_2022 (Empty);
No_Element : constant Cursor;
diff --git a/gcc/ada/libgnat/a-ciorma.ads b/gcc/ada/libgnat/a-ciorma.ads
index 734fdb2..68e9b93 100644
--- a/gcc/ada/libgnat/a-ciorma.ads
+++ b/gcc/ada/libgnat/a-ciorma.ads
@@ -70,6 +70,7 @@ is
Empty_Map : constant Map;
function Empty return Map;
+ pragma Ada_2022 (Empty);
No_Element : constant Cursor;
function Has_Element (Position : Cursor) return Boolean;
diff --git a/gcc/ada/libgnat/a-cobove.ads b/gcc/ada/libgnat/a-cobove.ads
index e808d85..eb8072d 100644
--- a/gcc/ada/libgnat/a-cobove.ads
+++ b/gcc/ada/libgnat/a-cobove.ads
@@ -80,12 +80,14 @@ package Ada.Containers.Bounded_Vectors is
Ada.Iterator_Interfaces (Cursor, Has_Element);
function Empty (Capacity : Count_Type := 10) return Vector;
+ pragma Ada_2022 (Empty);
overriding function "=" (Left, Right : Vector) return Boolean;
function New_Vector (First, Last : Index_Type) return Vector
with Pre => First = Index_Type'First;
-- Ada 2022 aggregate operation.
+ pragma Ada_2022 (New_Vector);
function To_Vector (Length : Count_Type) return Vector;
@@ -194,6 +196,7 @@ package Ada.Containers.Bounded_Vectors is
(Container : in out Vector;
Before : Extended_Index;
New_Item : Vector);
+ pragma Ada_2022 (Insert_Vector);
procedure Insert
(Container : in out Vector;
@@ -205,6 +208,7 @@ package Ada.Containers.Bounded_Vectors is
(Container : in out Vector;
Before : Cursor;
New_Item : Vector);
+ pragma Ada_2022 (Insert_Vector);
procedure Insert
(Container : in out Vector;
@@ -217,6 +221,7 @@ package Ada.Containers.Bounded_Vectors is
Before : Cursor;
New_Item : Vector;
Position : out Cursor);
+ pragma Ada_2022 (Insert_Vector);
procedure Insert
(Container : in out Vector;
@@ -258,6 +263,7 @@ package Ada.Containers.Bounded_Vectors is
procedure Prepend_Vector
(Container : in out Vector;
New_Item : Vector);
+ pragma Ada_2022 (Prepend_Vector);
procedure Prepend
(Container : in out Vector;
@@ -272,6 +278,7 @@ package Ada.Containers.Bounded_Vectors is
procedure Append_Vector
(Container : in out Vector;
New_Item : Vector);
+ pragma Ada_2022 (Append_Vector);
procedure Append
(Container : in out Vector;
diff --git a/gcc/ada/libgnat/a-coorma.ads b/gcc/ada/libgnat/a-coorma.ads
index 735b0b1..5740621 100644
--- a/gcc/ada/libgnat/a-coorma.ads
+++ b/gcc/ada/libgnat/a-coorma.ads
@@ -67,7 +67,9 @@ is
pragma Preelaborable_Initialization (Cursor);
Empty_Map : constant Map;
+
function Empty return Map;
+ pragma Ada_2022 (Empty);
No_Element : constant Cursor;