diff options
author | Javier Miranda <miranda@adacore.com> | 2021-03-13 14:47:59 -0500 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2021-06-18 04:36:46 -0400 |
commit | 07537fe632cd6e2fcf83954fb85455d118d80c06 (patch) | |
tree | bc9f0d9d55fe25b8be5707f6bf968456701674c4 /gcc/ada/libgnat | |
parent | 64b5da8f97122de895af1b13c5f5e103717858c6 (diff) | |
download | gcc-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.ads | 2 | ||||
-rw-r--r-- | gcc/ada/libgnat/a-cidlli.ads | 2 | ||||
-rw-r--r-- | gcc/ada/libgnat/a-ciorma.ads | 1 | ||||
-rw-r--r-- | gcc/ada/libgnat/a-cobove.ads | 7 | ||||
-rw-r--r-- | gcc/ada/libgnat/a-coorma.ads | 2 |
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; |