From 81392ae7baf3e6d8a5d9910f0d4f6b571a52afe3 Mon Sep 17 00:00:00 2001 From: Piotr Trojanek Date: Wed, 25 Nov 2020 12:34:45 +0100 Subject: [PATCH] [Ada] Consistent wording for missing -gnat2020 switch gcc/ada/ * par-ch3.adb (P_Identifier_Declarations): Reuse Error_Msg_Ada_2020_Feature for object renaming without subtype. * par-ch4.adb (P_Primary): Likewise for target name. (P_Iterated_Component_Association): Likewise for iterated component. (P_Declare_Expression): Likewise for declare expression. * par-ch6.adb (P_Formal_Part): Likewise for aspect on formal parameter. * sem_aggr.adb (Resolve_Delta_Aggregate): Ditto. * sem_ch8.adb (Analyze_Object_Renaming): Reuse Error_Msg_Ada_2020_Feature. * sem_ch13.adb (Validate_Aspect_Aggregate): Reuse Error_Msg_Ada_2020_Feature; use lower case for "aspect" and don't use underscore for "Ada_2020"; don't give up on analysis in Ada 2012 mode. (Validate_Aspect_Stable_Properties): Reuse Error_Msg_Ada_2020_Feature; use lower case for "aspect"; minor style fixes. --- gcc/ada/par-ch3.adb | 7 ++----- gcc/ada/par-ch4.adb | 14 +++----------- gcc/ada/par-ch6.adb | 5 ++--- gcc/ada/sem_aggr.adb | 5 +---- gcc/ada/sem_ch13.adb | 16 ++++++++-------- gcc/ada/sem_ch8.adb | 6 ++---- 6 files changed, 18 insertions(+), 35 deletions(-) diff --git a/gcc/ada/par-ch3.adb b/gcc/ada/par-ch3.adb index b8bf3aa1328..78a3ebd2e65 100644 --- a/gcc/ada/par-ch3.adb +++ b/gcc/ada/par-ch3.adb @@ -1486,11 +1486,8 @@ package body Ch3 is -- access_definition elsif Token = Tok_Renames then - if Ada_Version < Ada_2020 then - Error_Msg_SC - ("object renaming without subtype is an Ada 202x feature"); - Error_Msg_SC ("\compile with -gnat2020"); - end if; + Error_Msg_Ada_2020_Feature + ("object renaming without subtype", Token_Ptr); Scan; -- past renames diff --git a/gcc/ada/par-ch4.adb b/gcc/ada/par-ch4.adb index cf00364436d..340668ea121 100644 --- a/gcc/ada/par-ch4.adb +++ b/gcc/ada/par-ch4.adb @@ -2928,10 +2928,7 @@ package body Ch4 is Scan; -- past minus when Tok_At_Sign => -- AI12-0125 : target_name - if Ada_Version < Ada_2020 then - Error_Msg_SC ("target name is an Ada 202x feature"); - Error_Msg_SC ("\compile with -gnat2020"); - end if; + Error_Msg_Ada_2020_Feature ("target name", Token_Ptr); Node1 := P_Name; return Node1; @@ -3507,10 +3504,7 @@ package body Ch4 is Set_Expression (Assoc_Node, P_Expression); end if; - if Ada_Version < Ada_2020 then - Error_Msg_SC ("iterated component is an Ada 202x feature"); - Error_Msg_SC ("\compile with -gnat2020"); - end if; + Error_Msg_Ada_2020_Feature ("iterated component", Token_Ptr); return Assoc_Node; end P_Iterated_Component_Association; @@ -3695,9 +3689,7 @@ package body Ch4 is Result : constant Node_Id := Make_Expression_With_Actions (Loc, Actions, Expression); begin - if Ada_Version < Ada_2020 then - Error_Msg ("declare_expression is an Ada 2020 feature", Loc); - end if; + Error_Msg_Ada_2020_Feature ("declare expression", Loc); return Result; end; diff --git a/gcc/ada/par-ch6.adb b/gcc/ada/par-ch6.adb index 004ca12ab87..145fbc41b3e 100644 --- a/gcc/ada/par-ch6.adb +++ b/gcc/ada/par-ch6.adb @@ -1620,9 +1620,8 @@ package body Ch6 is -- the time being. elsif Token = Tok_With then - if Ada_Version < Ada_2020 then - Error_Msg_SP ("aspect on formal parameter requires -gnat2020"); - end if; + Error_Msg_Ada_2020_Feature + ("aspect on formal parameter", Token_Ptr); P_Aspect_Specifications (Specification_Node, False); diff --git a/gcc/ada/sem_aggr.adb b/gcc/ada/sem_aggr.adb index e2af74739ee..b94f369f36e 100644 --- a/gcc/ada/sem_aggr.adb +++ b/gcc/ada/sem_aggr.adb @@ -3035,10 +3035,7 @@ 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 -gnat2020", N); - end if; + Error_Msg_Ada_2020_Feature ("delta aggregate", Sloc (N)); if not Is_Composite_Type (Typ) then Error_Msg_N ("not a composite type", N); diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb index 8641c815081..938e1d2911a 100644 --- a/gcc/ada/sem_ch13.adb +++ b/gcc/ada/sem_ch13.adb @@ -15166,14 +15166,13 @@ package body Sem_Ch13 is Assign_Indexed_Subp : Node_Id := Empty; begin - if Ada_Version < Ada_2020 then - Error_Msg_N ("Aspect Aggregate is an Ada_2020 feature", N); + Error_Msg_Ada_2020_Feature ("aspect Aggregate", Sloc (N)); - elsif Nkind (N) /= N_Aggregate + if Nkind (N) /= N_Aggregate or else Present (Expressions (N)) or else No (Component_Associations (N)) then - Error_Msg_N ("Aspect Aggregate requires an aggregate " + Error_Msg_N ("aspect Aggregate requires an aggregate " & "with component associations", N); return; end if; @@ -15251,7 +15250,8 @@ package body Sem_Ch13 is PF_Name : Node_Id := PF_Arg; - -- Start of processing for Check_Property_Function_Arg + -- Start of processing for Check_Property_Function_Arg + begin if Nkind (PF_Arg) = N_Op_Not then PF_Name := Right_Opnd (PF_Arg); @@ -15282,10 +15282,10 @@ package body Sem_Ch13 is end if; end Check_Property_Function_Arg; + -- Start of processing for Validate_Aspect_Stable_Properties + begin - if Ada_Version < Ada_2020 then - Error_Msg_N ("Aspect Stable_Properties is an Ada_2020 feature", N); - end if; + Error_Msg_Ada_2020_Feature ("aspect Stable_Properties", Sloc (N)); if (not Is_Aspect_Of_Type) and then (not Is_Subprogram (E)) then Error_Msg_N ("Stable_Properties aspect can only be specified for " diff --git a/gcc/ada/sem_ch8.adb b/gcc/ada/sem_ch8.adb index 899464f961b..4689ae4ba18 100644 --- a/gcc/ada/sem_ch8.adb +++ b/gcc/ada/sem_ch8.adb @@ -1482,10 +1482,8 @@ package body Sem_Ch8 is -- AI12-0383: Names that denote values can be renamed. -- Ignore (accept) N_Raise_xxx_Error nodes in this context. - elsif Ada_Version < Ada_2020 - and then No_Raise_xxx_Error (Nam) = OK - then - Error_Msg_N ("value in renaming requires -gnat2020", Nam); + elsif No_Raise_xxx_Error (Nam) = OK then + Error_Msg_Ada_2020_Feature ("value in renaming", Sloc (Nam)); end if; Set_Etype (Id, T2); -- 2.30.2