[Ada] Enable delta_aggregate only in Ada 2020 mode
authorBob Duff <duff@adacore.com>
Tue, 20 Aug 2019 09:49:37 +0000 (09:49 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Tue, 20 Aug 2019 09:49:37 +0000 (09:49 +0000)
If the delta_aggregate feature is used, the -gnat2020 or -gnatX switch
must be given.

The following test must get an error if neither
-gnat2020 nor -gnatX is specified:

gcc -c delta_aggregate.ads -gnat2012

delta_aggregate.ads:4:18: delta_aggregate is an Ada 202x feature
delta_aggregate.ads:4:18: compile with -gnatX

package Delta_Aggregate is

   X : String := "Hello";
   Y : String := (X with delta 1 => 'h');

end Delta_Aggregate;

2019-08-20  Bob Duff  <duff@adacore.com>

gcc/ada/

* par-ch4.adb: Minor wording change in error messages.
* sem_aggr.adb (Resolve_Delta_Aggregate): Emit an error for Ada
versions prior to Ada 2020.

From-SVN: r274729

gcc/ada/ChangeLog
gcc/ada/par-ch4.adb
gcc/ada/sem_aggr.adb

index 7affa92..af31baf 100644 (file)
@@ -1,5 +1,11 @@
 2019-08-20  Bob Duff  <duff@adacore.com>
 
+       * par-ch4.adb: Minor wording change in error messages.
+       * sem_aggr.adb (Resolve_Delta_Aggregate): Emit an error for Ada
+       versions prior to Ada 2020.
+
+2019-08-20  Bob Duff  <duff@adacore.com>
+
        * freeze.adb (Is_Atomic_VFA_Aggregate): Make the temp for
        initialization of the atomic variable be constant. This is
        cleaner, and might improve efficiency.
index b9b0214..986d128 100644 (file)
@@ -2850,7 +2850,7 @@ package body Ch4 is
 
             when Tok_At_Sign =>  --  AI12-0125 : target_name
                if Ada_Version < Ada_2020 then
-                  Error_Msg_SC ("target name is an Ada 2020 extension");
+                  Error_Msg_SC ("target name is an Ada 202x feature");
                   Error_Msg_SC ("\compile with -gnatX");
                end if;
 
@@ -3325,7 +3325,7 @@ package body Ch4 is
       Set_Expression (Assoc_Node, P_Expression);
 
       if Ada_Version < Ada_2020 then
-         Error_Msg_SC ("iterated component is an Ada 2020 extension");
+         Error_Msg_SC ("iterated component is an Ada 202x feature");
          Error_Msg_SC ("\compile with -gnatX");
       end if;
 
index 7aacc5f..bc80121 100644 (file)
@@ -2799,6 +2799,11 @@ package body Sem_Aggr is
       Base : constant Node_Id := Expression (N);
 
    begin
+      if Ada_Version < Ada_2020 then
+         Error_Msg_N ("delta_aggregate is an Ada 202x feature", N);
+         Error_Msg_N ("\compile with -gnatX", N);
+      end if;
+
       if not Is_Composite_Type (Typ) then
          Error_Msg_N ("not a composite type", N);
       end if;