aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Duff <duff@adacore.com>2019-08-20 09:49:37 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2019-08-20 09:49:37 +0000
commit32501d71a9e686c148171671d18e510aa719038c (patch)
tree2016e703ea870b06d2366330f211f5ae4fba4e6d
parent7e7f0b0a1df83dd65810a057b5ce4d01618d2fa3 (diff)
downloadgcc-32501d71a9e686c148171671d18e510aa719038c.zip
gcc-32501d71a9e686c148171671d18e510aa719038c.tar.gz
gcc-32501d71a9e686c148171671d18e510aa719038c.tar.bz2
[Ada] Enable delta_aggregate only in Ada 2020 mode
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
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/par-ch4.adb4
-rw-r--r--gcc/ada/sem_aggr.adb5
3 files changed, 13 insertions, 2 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 7affa92..af31baf 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -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.
diff --git a/gcc/ada/par-ch4.adb b/gcc/ada/par-ch4.adb
index b9b0214..986d128 100644
--- a/gcc/ada/par-ch4.adb
+++ b/gcc/ada/par-ch4.adb
@@ -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;
diff --git a/gcc/ada/sem_aggr.adb b/gcc/ada/sem_aggr.adb
index 7aacc5f..bc80121 100644
--- a/gcc/ada/sem_aggr.adb
+++ b/gcc/ada/sem_aggr.adb
@@ -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;