diff options
author | Robert Dewar <dewar@adacore.com> | 2012-10-02 08:22:53 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2012-10-02 10:22:53 +0200 |
commit | 9a6dc470832ec76b46cc74f749265222efbb287a (patch) | |
tree | e4c85d3b2de31fddee8db6bc6b8d7ffa292131aa /gcc/ada | |
parent | 07ef182e37382f49a97e8da1ce3508acdf3e3493 (diff) | |
download | gcc-9a6dc470832ec76b46cc74f749265222efbb287a.zip gcc-9a6dc470832ec76b46cc74f749265222efbb287a.tar.gz gcc-9a6dc470832ec76b46cc74f749265222efbb287a.tar.bz2 |
exp_ch7.adb, [...]: Minor reformatting.
2012-10-02 Robert Dewar <dewar@adacore.com>
* exp_ch7.adb, sem_dim.adb, sem_dim.ads, prj-part.adb, checks.adb,
freeze.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting.
2012-10-02 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Fix
typo preventing proper processing of Overflow_Checks pragmas
for general case.
2012-10-02 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Op_Mod): Fix crash in ELIMINATED overflow
checks mode when bignum mode is used.
2012-10-02 Robert Dewar <dewar@adacore.com>
* stylesw.ads, gnat_ugn.texi: Document new style rule for NOT IN.
* par-ch4.adb (P_Relational_Operator): Add style check for NOT IN.
* style.ads, styleg.adb, styleg.ads (Check_Not_In): New procedure.
From-SVN: r191962
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/ChangeLog | 22 | ||||
-rw-r--r-- | gcc/ada/checks.adb | 36 | ||||
-rw-r--r-- | gcc/ada/exp_ch4.adb | 61 | ||||
-rw-r--r-- | gcc/ada/exp_ch7.adb | 4 | ||||
-rw-r--r-- | gcc/ada/freeze.adb | 11 | ||||
-rw-r--r-- | gcc/ada/gnat_ugn.texi | 4 | ||||
-rw-r--r-- | gcc/ada/par-ch4.adb | 9 | ||||
-rw-r--r-- | gcc/ada/prj-part.adb | 10 | ||||
-rw-r--r-- | gcc/ada/sem_ch13.adb | 15 | ||||
-rw-r--r-- | gcc/ada/sem_ch4.adb | 4 | ||||
-rw-r--r-- | gcc/ada/sem_dim.adb | 31 | ||||
-rw-r--r-- | gcc/ada/sem_dim.ads | 2 | ||||
-rw-r--r-- | gcc/ada/sem_prag.adb | 2 | ||||
-rw-r--r-- | gcc/ada/style.ads | 7 | ||||
-rw-r--r-- | gcc/ada/styleg.adb | 20 | ||||
-rw-r--r-- | gcc/ada/styleg.ads | 6 | ||||
-rw-r--r-- | gcc/ada/stylesw.ads | 4 |
17 files changed, 159 insertions, 89 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index bd06961..973833b 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,25 @@ +2012-10-02 Robert Dewar <dewar@adacore.com> + + * exp_ch7.adb, sem_dim.adb, sem_dim.ads, prj-part.adb, checks.adb, + freeze.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting. + +2012-10-02 Robert Dewar <dewar@adacore.com> + + * sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Fix + typo preventing proper processing of Overflow_Checks pragmas + for general case. + +2012-10-02 Robert Dewar <dewar@adacore.com> + + * exp_ch4.adb (Expand_N_Op_Mod): Fix crash in ELIMINATED overflow + checks mode when bignum mode is used. + +2012-10-02 Robert Dewar <dewar@adacore.com> + + * stylesw.ads, gnat_ugn.texi: Document new style rule for NOT IN. + * par-ch4.adb (P_Relational_Operator): Add style check for NOT IN. + * style.ads, styleg.adb, styleg.ads (Check_Not_In): New procedure. + 2012-10-02 Vincent Pucci <pucci@adacore.com> * sem_attr.adb (Analyze_Attribute): Check dimension for attribute diff --git a/gcc/ada/checks.adb b/gcc/ada/checks.adb index 12a0cef..f7be383 100644 --- a/gcc/ada/checks.adb +++ b/gcc/ada/checks.adb @@ -2075,7 +2075,8 @@ package body Checks is -- IN IN if Ekind (Formal_1) = E_In_Parameter - and then Ekind (Formal_2) = E_In_Parameter + and then + Ekind (Formal_2) = E_In_Parameter then return False; @@ -2342,9 +2343,11 @@ package body Checks is -- Extract the subprogram specification and declaration nodes Subp_Spec := Parent (Subp); + if Nkind (Subp_Spec) = N_Defining_Program_Unit_Name then Subp_Spec := Parent (Subp_Spec); end if; + Subp_Decl := Parent (Subp_Spec); if not Comes_From_Source (Subp) @@ -2354,28 +2357,28 @@ package body Checks is or else Is_Formal_Subprogram (Subp) - -- Do not process imported subprograms since pre and post conditions - -- are never verified on routines coming from a different language. + -- Do not process imported subprograms since pre and post conditions + -- are never verified on routines coming from a different language. or else Is_Imported (Subp) or else Is_Intrinsic_Subprogram (Subp) - -- The PPC pragmas generated by this routine do not correspond to - -- source aspects, therefore they cannot be applied to abstract - -- subprograms. + -- The PPC pragmas generated by this routine do not correspond to + -- source aspects, therefore they cannot be applied to abstract + -- subprograms. or else Nkind (Subp_Decl) = N_Abstract_Subprogram_Declaration - -- Do not consider subprogram renaminds because the renamed entity - -- already has the proper PPC pragmas. + -- Do not consider subprogram renaminds because the renamed entity + -- already has the proper PPC pragmas. or else Nkind (Subp_Decl) = N_Subprogram_Renaming_Declaration - -- Do not process null procedures because there is no benefit of - -- adding the checks to a no action routine. + -- Do not process null procedures because there is no benefit of + -- adding the checks to a no action routine. or else (Nkind (Subp_Spec) = N_Procedure_Specification - and then Null_Present (Subp_Spec)) + and then Null_Present (Subp_Spec)) then return; end if; @@ -2406,14 +2409,11 @@ package body Checks is Next_Formal (Formal); end loop; - -- Generate the following scalar initialization check for a function - -- result: + -- Generate following scalar initialization check for function result: -- Post => Subp'Result'Valid[_Scalars] - if Check_Validity_Of_Parameters - and then Ekind (Subp) = E_Function - then + if Check_Validity_Of_Parameters and then Ekind (Subp) = E_Function then Add_Validity_Check (Subp, Name_Postcondition, True); end if; end Apply_Parameter_Validity_Checks; @@ -2465,8 +2465,8 @@ package body Checks is if Is_OK_Static_Expression (N) then if Present (Static_Predicate (Typ)) then - if Operating_Mode < Generate_Code or else - Eval_Static_Predicate_Check (N, Typ) + if Operating_Mode < Generate_Code + or else Eval_Static_Predicate_Check (N, Typ) then return; else diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb index 79476ff..c4f6624 100644 --- a/gcc/ada/exp_ch4.adb +++ b/gcc/ada/exp_ch4.adb @@ -7808,6 +7808,10 @@ package body Exp_Ch4 is begin Binary_Op_Validity_Checks (N); + if Is_Integer_Type (Etype (N)) then + Apply_Divide_Checks (N); + end if; + Determine_Range (Right, ROK, Rlo, Rhi, Assume_Valid => True); Determine_Range (Left, LOK, Llo, Lhi, Assume_Valid => True); @@ -7839,10 +7843,6 @@ package body Exp_Ch4 is -- Otherwise, normal mod processing else - if Is_Integer_Type (Etype (N)) then - Apply_Divide_Checks (N); - end if; - -- Apply optimization x mod 1 = 0. We don't really need that with -- gcc, but it is useful with other back ends (e.g. AAMP), and is -- certainly harmless. @@ -7870,32 +7870,39 @@ package body Exp_Ch4 is -- the mod value is always 0, and we can just ignore the left operand -- completely in this case. - -- The operand type may be private (e.g. in the expansion of an - -- intrinsic operation) so we must use the underlying type to get the - -- bounds, and convert the literals explicitly. + -- This only applies if we still have a mod operator. Skip if we + -- have already rewritten this (e.g. in the case of eliminated + -- overflow checks which have driven us into bignum mode). - LLB := - Expr_Value - (Type_Low_Bound (Base_Type (Underlying_Type (Etype (Left))))); + if Nkind (N) = N_Op_Mod then - if ((not ROK) or else (Rlo <= (-1) and then (-1) <= Rhi)) - and then - ((not LOK) or else (Llo = LLB)) - then - Rewrite (N, - Make_Conditional_Expression (Loc, - Expressions => New_List ( - Make_Op_Eq (Loc, - Left_Opnd => Duplicate_Subexpr (Right), - Right_Opnd => - Unchecked_Convert_To (Typ, - Make_Integer_Literal (Loc, -1))), - Unchecked_Convert_To (Typ, - Make_Integer_Literal (Loc, Uint_0)), - Relocate_Node (N)))); + -- The operand type may be private (e.g. in the expansion of an + -- intrinsic operation) so we must use the underlying type to get + -- the bounds, and convert the literals explicitly. - Set_Analyzed (Next (Next (First (Expressions (N))))); - Analyze_And_Resolve (N, Typ); + LLB := + Expr_Value + (Type_Low_Bound (Base_Type (Underlying_Type (Etype (Left))))); + + if ((not ROK) or else (Rlo <= (-1) and then (-1) <= Rhi)) + and then + ((not LOK) or else (Llo = LLB)) + then + Rewrite (N, + Make_Conditional_Expression (Loc, + Expressions => New_List ( + Make_Op_Eq (Loc, + Left_Opnd => Duplicate_Subexpr (Right), + Right_Opnd => + Unchecked_Convert_To (Typ, + Make_Integer_Literal (Loc, -1))), + Unchecked_Convert_To (Typ, + Make_Integer_Literal (Loc, Uint_0)), + Relocate_Node (N)))); + + Set_Analyzed (Next (Next (First (Expressions (N))))); + Analyze_And_Resolve (N, Typ); + end if; end if; end if; end Expand_N_Op_Mod; diff --git a/gcc/ada/exp_ch7.adb b/gcc/ada/exp_ch7.adb index 2a2b7dd..72a98d2 100644 --- a/gcc/ada/exp_ch7.adb +++ b/gcc/ada/exp_ch7.adb @@ -3643,8 +3643,8 @@ package body Exp_Ch7 is -- iterator specification, where a block is created for the expression -- that build the container. - elsif Nkind (Wrap_Node) = N_Iteration_Scheme - or else Nkind (Wrap_Node) = N_Iterator_Specification + elsif Nkind_In (Wrap_Node, N_Iteration_Scheme, + N_Iterator_Specification) then null; diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb index 02f6f53..98b8ead 100644 --- a/gcc/ada/freeze.adb +++ b/gcc/ada/freeze.adb @@ -2665,12 +2665,11 @@ package body Freeze is Apply_Parameter_Validity_Checks (E); end if; - -- Deal with delayed aspect specifications. The analysis of the - -- aspect is required to be delayed to the freeze point, thus we - -- analyze the pragma or attribute definition clause in the tree at - -- this point. We also analyze the aspect specification node at the - -- freeze point when the aspect doesn't correspond to - -- pragma/attribute definition clause. + -- Deal with delayed aspect specifications. The analysis of the aspect + -- is required to be delayed to the freeze point, thus we analyze the + -- pragma or attribute definition clause in the tree at this point. We + -- also analyze the aspect specification node at the freeze point when + -- the aspect doesn't correspond to pragma/attribute definition clause. if Has_Delayed_Aspects (E) then Analyze_Aspects_At_Freeze_Point (E); diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi index 1d58dc4..766f7ef 100644 --- a/gcc/ada/gnat_ugn.texi +++ b/gcc/ada/gnat_ugn.texi @@ -6730,6 +6730,10 @@ A unary plus or minus may not be followed by a space. A vertical bar must be surrounded by spaces. @end itemize +@item +Exactly one blank (and no other white space) must appear between +a @code{not} token and a following @code{in} token. + @item ^u^UNNECESSARY_BLANK_LINES^ @emph{Check unnecessary blank lines.} Unnecessary blank lines are not allowed. A blank line is considered diff --git a/gcc/ada/par-ch4.adb b/gcc/ada/par-ch4.adb index 79aa85f..5116c69 100644 --- a/gcc/ada/par-ch4.adb +++ b/gcc/ada/par-ch4.adb @@ -2706,7 +2706,16 @@ package body Ch4 is Scan; -- past operator token + -- Deal with NOT IN, if previous token was NOT, we must have IN now + if Prev_Token = Tok_Not then + + -- Style check, for NOT IN, we require one space between NOT and IN + + if Style_Check and then Token = Tok_In then + Style.Check_Not_In; + end if; + T_In; end if; diff --git a/gcc/ada/prj-part.adb b/gcc/ada/prj-part.adb index 7ea2dc9..f1166af 100644 --- a/gcc/ada/prj-part.adb +++ b/gcc/ada/prj-part.adb @@ -228,10 +228,12 @@ package body Prj.Part is Env : in out Environment); -- Parse the imported projects that have been stored in table Withs, if -- any. From_Extended is used for the call to Parse_Single_Project below. + -- -- When In_Limited is True, the importing path includes at least one -- "limited with". When Limited_Withs is False, only non limited withed -- projects are parsed. When Limited_Withs is True, only limited withed -- projects are parsed. + -- -- Is_Config_File should be set to True if the project represents a config -- file (.cgpr) since some specific checks apply. @@ -943,8 +945,8 @@ package body Prj.Part is -- If we have one, get the project id of the limited -- imported project file, and do not parse it. - if (In_Limited or else Limited_Withs) and then - Project_Stack.Last > 1 + if (In_Limited or Limited_Withs) + and then Project_Stack.Last > 1 then declare Canonical_Path_Name : Path_Name_Type; @@ -969,7 +971,7 @@ package body Prj.Part is end; end if; - -- Parse the imported project, if its project id is unknown + -- Parse the imported project if its project id is unknown if No (Withed_Project) then Parse_Single_Project @@ -979,7 +981,7 @@ package body Prj.Part is Path_Name_Id => Imported_Path_Name_Id, Extended => False, From_Extended => From_Extended, - In_Limited => In_Limited or else Limited_Withs, + In_Limited => In_Limited or Limited_Withs, Packages_To_Check => Packages_To_Check, Depth => Depth, Current_Dir => Current_Dir, diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb index d365dc7..87a456a 100644 --- a/gcc/ada/sem_ch13.adb +++ b/gcc/ada/sem_ch13.adb @@ -2073,7 +2073,8 @@ package body Sem_Ch13 is Indexing_Found : Boolean; procedure Check_One_Function (Subp : Entity_Id); - -- Check one possible interpretation + -- Check one possible interpretation. Sets Indexing_Found True if an + -- indexing function is found. ------------------------ -- Check_One_Function -- @@ -2096,10 +2097,11 @@ package body Sem_Ch13 is -- An indexing function must return either the default element of -- the container, or a reference type. For variable indexing it - -- must be latter. + -- must be the latter. if Present (Default_Element) then Analyze (Default_Element); + if Is_Entity_Name (Default_Element) and then Covers (Entity (Default_Element), Etype (Subp)) then @@ -2108,7 +2110,7 @@ package body Sem_Ch13 is end if; end if; - -- For variable_indexing the return type must be a reference type. + -- For variable_indexing the return type must be a reference type if Attr = Name_Variable_Indexing and then not Has_Implicit_Dereference (Etype (Subp)) @@ -2153,10 +2155,11 @@ package body Sem_Ch13 is Get_Next_Interp (I, It); end loop; + if not Indexing_Found then - Error_Msg_NE ( - "aspect Indexing requires a function that applies to type&", - Expr, Ent); + Error_Msg_NE + ("aspect Indexing requires a function that " + & "applies to type&", Expr, Ent); end if; end; end if; diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb index 34e5e52..7f3bd60 100644 --- a/gcc/ada/sem_ch4.adb +++ b/gcc/ada/sem_ch4.adb @@ -3422,8 +3422,8 @@ package body Sem_Ch4 is if Is_Array_Type (Typ) and then Compile_Time_Known_Bounds (Typ) and then - (Expr_Value (Type_Low_Bound (Etype (First_Index (Typ)))) - > Expr_Value (Type_High_Bound (Etype (First_Index (Typ))))) + (Expr_Value (Type_Low_Bound (Etype (First_Index (Typ)))) > + Expr_Value (Type_High_Bound (Etype (First_Index (Typ))))) then Preanalyze_And_Resolve (Condition (N), Standard_Boolean); diff --git a/gcc/ada/sem_dim.adb b/gcc/ada/sem_dim.adb index 163c93b..c350433 100644 --- a/gcc/ada/sem_dim.adb +++ b/gcc/ada/sem_dim.adb @@ -1519,6 +1519,7 @@ package body Sem_Dim is -- Check the dimensions of the actuals, if any if not Is_Empty_List (Actuals) then + -- Special processing for elementary functions -- For Sqrt call, the resulting dimensions equal to half the @@ -1532,9 +1533,9 @@ package body Sem_Dim is function Is_Elementary_Function_Entity (Sub_Id : Entity_Id) return Boolean; - -- Given Sub_Id, the original subprogram entity, return True if - -- call is to an elementary function - -- (see Ada.Numerics.Generic_Elementary_Functions). + -- Given Sub_Id, the original subprogram entity, return True + -- if call is to an elementary function (see Ada.Numerics. + -- Generic_Elementary_Functions). ----------------------------------- -- Is_Elementary_Function_Entity -- @@ -1546,8 +1547,7 @@ package body Sem_Dim is Loc : constant Source_Ptr := Sloc (Sub_Id); begin - -- Is function entity in - -- Ada.Numerics.Generic_Elementary_Functions? + -- Is entity in Ada.Numerics.Generic_Elementary_Functions? return Loc > No_Location @@ -1560,8 +1560,7 @@ package body Sem_Dim is -- Start of processing for Elementary_Function_Calls begin - -- Get the original subprogram entity following the renaming - -- chain. + -- Get original subprogram entity following the renaming chain if Present (Alias (Ent)) then Ent := Alias (Ent); @@ -1570,6 +1569,7 @@ package body Sem_Dim is -- Check the call is an Elementary function call if Is_Elementary_Function_Entity (Ent) then + -- Sqrt function call case if Chars (Ent) = Name_Sqrt then @@ -1582,8 +1582,7 @@ package body Sem_Dim is for Position in Dims_Of_Call'Range loop Dims_Of_Call (Position) := Dims_Of_Call (Position) * - Rational'(Numerator => 1, - Denominator => 2); + Rational'(Numerator => 1, Denominator => 2); end loop; Set_Dimensions (N, Dims_Of_Call); @@ -1597,8 +1596,7 @@ package body Sem_Dim is while Present (Actual) loop if Exists (Dimensions_Of (Actual)) then - -- Check if error has already been encountered so - -- far. + -- Check if error has already been encountered if not Error_Detected then Error_Msg_NE ("dimensions mismatch in call of&", @@ -1645,10 +1643,9 @@ package body Sem_Dim is Error_Detected := True; end if; - Error_Msg_N ("\expected dimension " & - Dimensions_Msg_Of (Formal_Typ) & ", found " & - Dimensions_Msg_Of (Actual), - Actual); + Error_Msg_N + ("\expected dimension " & Dimensions_Msg_Of (Formal_Typ) + & ", found " & Dimensions_Msg_Of (Actual), Actual); end if; Next_Actual (Actual); @@ -1916,7 +1913,7 @@ package body Sem_Dim is procedure Analyze_Dimension_Has_Etype (N : Node_Id) is Etyp : constant Entity_Id := Etype (N); - Dims_Of_Etyp : Dimension_Type := Dimensions_Of (Etyp); + Dims_Of_Etyp : Dimension_Type := Dimensions_Of (Etyp); begin -- General case. Propagation of the dimensions from the type @@ -1955,7 +1952,6 @@ package body Sem_Dim is -- Removal of dimensions in expression case Nkind (N) is - when N_Attribute_Reference | N_Indexed_Component => declare @@ -1981,7 +1977,6 @@ package body Sem_Dim is Remove_Dimensions (Selector_Name (N)); when others => null; - end case; end Analyze_Dimension_Has_Etype; diff --git a/gcc/ada/sem_dim.ads b/gcc/ada/sem_dim.ads index 7ce4e59..2fdfd30 100644 --- a/gcc/ada/sem_dim.ads +++ b/gcc/ada/sem_dim.ads @@ -164,7 +164,7 @@ package Sem_Dim is procedure Copy_Dimensions (From, To : Node_Id); -- Copy dimension vector of node From to node To. Note that To must be a - -- node that is allowed to contain a dimension. (See OK_For_Dimension in + -- node that is allowed to contain a dimension (see OK_For_Dimension in -- body of Sem_Dim). procedure Eval_Op_Expon_For_Dimensioned_Type diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index 7de11fd..7346e02 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -11817,7 +11817,7 @@ package body Sem_Prag is -- Process first argument - Suppress_Options.Overflow_Checks_General := + Scope_Suppress.Overflow_Checks_General := Get_Check_Mode (Name_General, Arg1); -- Case of only one argument diff --git a/gcc/ada/style.ads b/gcc/ada/style.ads index 9f9f32a..d425494 100644 --- a/gcc/ada/style.ads +++ b/gcc/ada/style.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2010, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2012, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -155,6 +155,11 @@ package Style is -- check the line length (Len is the length of the current line). Note that -- the terminator may be the EOF character. + procedure Check_Not_In + renames Style_Inst.Check_Not_In; + -- Called with Scan_Ptr pointing to an IN token, and Prev_Token_Ptr + -- pointing to a NOT token. Used to check proper layout of NOT IN. + procedure Check_Pragma_Name renames Style_Inst.Check_Pragma_Name; -- The current token is a pragma identifier. Check that it is spelled diff --git a/gcc/ada/styleg.adb b/gcc/ada/styleg.adb index 7cb4d82..c674394 100644 --- a/gcc/ada/styleg.adb +++ b/gcc/ada/styleg.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2011, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2012, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -764,6 +764,24 @@ package body Styleg is end if; end Check_Line_Terminator; + ------------------ + -- Check_Not_In -- + ------------------ + + -- In check tokens mode, only one space between NOT and IN + + procedure Check_Not_In is + begin + if Style_Check_Tokens then + if Source (Token_Ptr - 1) /= ' ' + or else Token_Ptr - Prev_Token_Ptr /= 4 + then -- CODEFIX? + Error_Msg + ("(style) single space must separate NOT and IN", Token_Ptr - 1); + end if; + end if; + end Check_Not_In; + -------------------------- -- Check_No_Space_After -- -------------------------- diff --git a/gcc/ada/styleg.ads b/gcc/ada/styleg.ads index 954a033..7aabac4 100644 --- a/gcc/ada/styleg.ads +++ b/gcc/ada/styleg.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2010, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2012, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -117,6 +117,10 @@ package Styleg is -- the current line, used to check for appropriate line terminator usage. -- The parameter Len is the length of the current line. + procedure Check_Not_In; + -- Called with Scan_Ptr pointing to an IN token, and Prev_Token_Ptr + -- pointing to a NOT token. Used to check proper layout of NOT IN. + procedure Check_Pragma_Name; -- The current token is a pragma identifier. Check that it is spelled -- properly (i.e. with an appropriate casing convention). diff --git a/gcc/ada/stylesw.ads b/gcc/ada/stylesw.ads index fc6f5ef..b64e686 100644 --- a/gcc/ada/stylesw.ads +++ b/gcc/ada/stylesw.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2011, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2012, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -255,6 +255,8 @@ package Stylesw is -- -- A unary plus or minus may not be followed by a space -- + -- There must be one blank (and no other white space) between NOT and IN + -- -- A vertical bar must be surrounded by spaces -- -- Note that a requirement that a token be preceded by a space is met by |