From 32501d71a9e686c148171671d18e510aa719038c Mon Sep 17 00:00:00 2001 From: Bob Duff Date: Tue, 20 Aug 2019 09:49:37 +0000 Subject: [PATCH] [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 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 | 6 ++++++ gcc/ada/par-ch4.adb | 4 ++-- gcc/ada/sem_aggr.adb | 5 +++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 7affa92a7f6..af31baf30ad 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2019-08-20 Bob Duff + + * 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 * freeze.adb (Is_Atomic_VFA_Aggregate): Make the temp for diff --git a/gcc/ada/par-ch4.adb b/gcc/ada/par-ch4.adb index b9b0214df13..986d128d933 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 7aacc5ff50b..bc801215d95 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; -- 2.30.2