diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2013-07-08 09:59:55 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2013-07-08 09:59:55 +0200 |
commit | aa0dfa7e4e1f1c36b22ddc30162bf2568e51633a (patch) | |
tree | 40aba15e0eff5197ee547a88d9b4e93b5fa34349 | |
parent | 3d529af452fe7c618ab440f2cc1c07c445d6a72e (diff) | |
download | gcc-aa0dfa7e4e1f1c36b22ddc30162bf2568e51633a.zip gcc-aa0dfa7e4e1f1c36b22ddc30162bf2568e51633a.tar.gz gcc-aa0dfa7e4e1f1c36b22ddc30162bf2568e51633a.tar.bz2 |
[multiple changes]
2013-07-08 Gary Dismukes <dismukes@adacore.com>
* freeze.adb: Minor typo fixes.
2013-07-08 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document SPARK_05 (replaces SPARK) Document
obsolete recognition of SPARK Document all other obsolete synonyms
for old restrictions.
* restrict.adb (Check_SPARK_Restriction): SPARK_05 replaces
SPARK (Process_Restriction_Synonyms): Handle SPARK as synonym
for SPARK_05.
* restrict.ads: Restriction SPARK_05 replaces SPARK.
* s-rident.ads: Replace restriction SPARK by SPARK_05 Add SPARK
as synonym for SPARK_05.
* sem_prag.adb: Minor reformatting.
* snames.ads-tmpl: Add entries for Name_SPARK and Name_SPARK_05.
From-SVN: r200763
-rw-r--r-- | gcc/ada/ChangeLog | 18 | ||||
-rw-r--r-- | gcc/ada/freeze.adb | 7 | ||||
-rw-r--r-- | gcc/ada/gnat_rm.texi | 46 | ||||
-rw-r--r-- | gcc/ada/restrict.adb | 30 | ||||
-rw-r--r-- | gcc/ada/restrict.ads | 12 | ||||
-rw-r--r-- | gcc/ada/s-rident.ads | 7 | ||||
-rw-r--r-- | gcc/ada/sem_prag.adb | 2 | ||||
-rw-r--r-- | gcc/ada/snames.ads-tmpl | 2 |
8 files changed, 97 insertions, 27 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 93f4b78..65e5977 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,21 @@ +2013-07-08 Gary Dismukes <dismukes@adacore.com> + + * freeze.adb: Minor typo fixes. + +2013-07-08 Robert Dewar <dewar@adacore.com> + + * gnat_rm.texi: Document SPARK_05 (replaces SPARK) Document + obsolete recognition of SPARK Document all other obsolete synonyms + for old restrictions. + * restrict.adb (Check_SPARK_Restriction): SPARK_05 replaces + SPARK (Process_Restriction_Synonyms): Handle SPARK as synonym + for SPARK_05. + * restrict.ads: Restriction SPARK_05 replaces SPARK. + * s-rident.ads: Replace restriction SPARK by SPARK_05 Add SPARK + as synonym for SPARK_05. + * sem_prag.adb: Minor reformatting. + * snames.ads-tmpl: Add entries for Name_SPARK and Name_SPARK_05. + 2013-07-08 Robert Dewar <dewar@adacore.com> * sem_dim.adb: Minor error message change. diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb index 43720a9..8a5b927 100644 --- a/gcc/ada/freeze.adb +++ b/gcc/ada/freeze.adb @@ -3415,15 +3415,16 @@ package body Freeze is -- a size given for an array where the array needs to be packed, -- but was not so the size cannot be honored. This is the case -- where implicit packing may apply. The reason we do this so - -- early is that if we have implicit packing, the lagout of the + -- early is that if we have implicit packing, the layout of the -- base type is affected, so we must do this before we freeze -- the base type. -- We could do this processing only if implicit packing is enabled -- since in all other cases, the error would be caught by the back -- end. However, we choose to do the check even if we do not have - -- implicit packingh enabled, since this allows us to give a more - -- useful error message (advising the use of pack or the pragma). + -- implicit packing enabled, since this allows us to give a more + -- useful error message (advising use of pragmas Implicit_Packing + -- or Pack). if Is_Array_Type (E) then declare diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi index 11b6bb6..b714e25 100644 --- a/gcc/ada/gnat_rm.texi +++ b/gcc/ada/gnat_rm.texi @@ -454,7 +454,7 @@ Program Unit Level Restrictions * No_Implicit_Aliasing:: * No_Obsolescent_Features:: * No_Wide_Characters:: -* SPARK:: +* SPARK_05:: The Implementation of Standard I/O @@ -8951,6 +8951,12 @@ Note that this restriction is checked at run time. Violation of this restriction results in the raising of Program_Error exception at the point of the call. +@findex Max_Entry_Queue_Depth +The restriction @code{Max_Entry_Queue_Depth} is recognized as a +synonym for @code{Max_Entry_Queue_Length}. This is retained for historical +compatibility purposes (and a warning will be generated for its use if +warnings on obsolescent features are activated). + @node Max_Protected_Entries @unnumberedsubsec Max_Protected_Entries @findex Max_Protected_Entries @@ -9137,6 +9143,12 @@ operations defined in package Ada.Interrupts (Is_Reserved, Is_Attached, Current_Handler, Attach_Handler, Exchange_Handler, Detach_Handler, and Reference). +@findex No_Dynamic_Interrupts +The restriction @code{No_Dynamic_Interrupts} is recognized as a +synonym for @code{No_Dynamic_Attachment}. This is retained for historical +compatibility purposes (and a warning will be generated for its use if +warnings on obsolescent features are activated). + @node No_Dynamic_Priorities @unnumberedsubsec No_Dynamic_Priorities @findex No_Dynamic_Priorities @@ -9378,6 +9390,12 @@ appearing in source code. are permitted and prevents keyword @code{requeue} from being used in source code. +@findex No_Requeue +The restriction @code{No_Requeue} is recognized as a +synonym for @code{No_Requeue_Statements}. This is retained for historical +compatibility purposes (and a warning will be generated for its use if +warnings on oNobsolescent features are activated). + @node No_Secondary_Stack @unnumberedsubsec No_Secondary_Stack @findex No_Secondary_Stack @@ -9459,6 +9477,12 @@ or types containing task subcomponents. [GNAT] This restriction ensures at compile time that there are no implicit or explicit dependencies on the package @code{Ada.Task_Attributes}. +@findex No_Task_Attributes +The restriction @code{No_Task_Attributes} is recognized as a synonym +for @code{No_Task_Attributes_Package}. This is retained for historical +compatibility purposes (and a warning will be generated for its use if +warnings on obsolescent features are activated). + @node No_Task_Hierarchy @unnumberedsubsec No_Task_Hierarchy @findex No_Task_Hierarchy @@ -9498,6 +9522,12 @@ declarations for protected types are restricted to either static boolean expressions or references to simple boolean variables defined in the private part of the protected type. No other form of entry barriers is permitted. +@findex Boolean_Entry_Barriers +The restriction @code{Boolean_Entry_Barriers} is recognized as a +synonym for @code{Simple_Barriers}. This is retained for historical +compatibility purposes (and a warning will be generated for its use if +warnings on obsolescent features are activated). + @node Static_Priorities @unnumberedsubsec Static_Priorities @findex Static_Priorities @@ -9533,7 +9563,7 @@ other compilation units in the partition. * No_Implicit_Aliasing:: * No_Obsolescent_Features:: * No_Wide_Characters:: -* SPARK:: +* SPARK_05:: @end menu @node No_Elaboration_Code @@ -9663,13 +9693,19 @@ appear, and that no wide or wide wide string or character literals appear in the program (that is literals representing characters not in type @code{Character}). -@node SPARK -@unnumberedsubsec SPARK -@findex SPARK +@node SPARK_05 +@unnumberedsubsec SPARK_05 +@findex SPARK_05 [GNAT] This restriction checks at compile time that some constructs forbidden in SPARK 2005 are not present. Error messages related to SPARK restriction have the form: +@findex SPARK +The restriction @code{SPARK} is recognized as a +synonym for @code{SPARK_05}. This is retained for historical +compatibility purposes (and an unconditional warning will be generated +for its use, advising replacement by @code{SPARK}. + @smallexample violation of restriction "SPARK" at <file> <error message> diff --git a/gcc/ada/restrict.adb b/gcc/ada/restrict.adb index 2e5d2be..7bd97b9 100644 --- a/gcc/ada/restrict.adb +++ b/gcc/ada/restrict.adb @@ -166,7 +166,7 @@ package body Restrict is begin if Force or else Comes_From_Source (Original_Node (N)) then - if Restriction_Check_Required (SPARK) + if Restriction_Check_Required (SPARK_05) and then Is_In_Hidden_Part_In_SPARK (Sloc (N)) then return; @@ -177,7 +177,7 @@ package body Restrict is -- restore the previous value of the global variable around the call. Save_Error_Msg_Sloc := Error_Msg_Sloc; - Check_Restriction (Msg_Issued, SPARK, First_Node (N)); + Check_Restriction (Msg_Issued, SPARK_05, First_Node (N)); Error_Msg_Sloc := Save_Error_Msg_Sloc; if Msg_Issued then @@ -194,7 +194,7 @@ package body Restrict is if Comes_From_Source (Original_Node (N)) then - if Restriction_Check_Required (SPARK) + if Restriction_Check_Required (SPARK_05) and then Is_In_Hidden_Part_In_SPARK (Sloc (N)) then return; @@ -205,7 +205,7 @@ package body Restrict is -- restore the previous value of the global variable around the call. Save_Error_Msg_Sloc := Error_Msg_Sloc; - Check_Restriction (Msg_Issued, SPARK, First_Node (N)); + Check_Restriction (Msg_Issued, SPARK_05, First_Node (N)); Error_Msg_Sloc := Save_Error_Msg_Sloc; if Msg_Issued then @@ -880,10 +880,22 @@ package body Restrict is when Name_No_Task_Attributes => New_Name := Name_No_Task_Attributes_Package; + -- SPARK is special in that we unconditionally warn + + when Name_SPARK => + Error_Msg_Name_1 := Name_SPARK; + Error_Msg_N ("restriction identifier % is obsolescent??", N); + Error_Msg_Name_1 := Name_SPARK_05; + Error_Msg_N ("|use restriction identifier % instead??", N); + return Name_SPARK_05; + when others => return Old_Name; end case; + -- Output warning if we are warning on obsolescent features for all + -- cases other than SPARK. + if Warn_On_Obsolescent_Feature then Error_Msg_Name_1 := Old_Name; Error_Msg_N ("restriction identifier % is obsolescent?j?", N); @@ -983,10 +995,10 @@ package body Restrict is procedure Id_Case (S : String; Quotes : Boolean := True); -- Given a string S, case it according to current identifier casing, - -- except for SPARK (an acronym) which is set all upper case, and store - -- in Error_Msg_String. Then append `~` to the message buffer to output - -- the string unchanged surrounded in quotes. The quotes are suppressed - -- if Quotes = False. + -- except for SPARK_05 (an acronym) which is set all upper case, and + -- store in Error_Msg_String. Then append `~` to the message buffer + -- to output the string unchanged surrounded in quotes. The quotes + -- are suppressed if Quotes = False. -------------- -- Add_Char -- @@ -1017,7 +1029,7 @@ package body Restrict is Name_Buffer (1 .. S'Last) := S; Name_Len := S'Length; - if R = SPARK then + if R = SPARK_05 then Set_All_Upper_Case; else Set_Casing (Identifier_Casing (Get_Source_File_Index (Sloc (N)))); diff --git a/gcc/ada/restrict.ads b/gcc/ada/restrict.ads index 181541a..9c4b3b4 100644 --- a/gcc/ada/restrict.ads +++ b/gcc/ada/restrict.ads @@ -142,7 +142,7 @@ package Restrict is No_Wide_Characters => True, Static_Priorities => True, Static_Storage_Size => True, - SPARK => True, + SPARK_05 => True, others => False); -- The following table records entries made by Restrictions pragmas @@ -180,7 +180,7 @@ package Restrict is -- SPARK Restriction Control -- ------------------------------- - -- SPARK HIDE directives allow the effect of the SPARK restriction to be + -- SPARK HIDE directives allow the effect of the SPARK_05 restriction to be -- turned off for a specified region of code, and the following tables are -- the data structures used to keep track of these regions. @@ -282,10 +282,10 @@ package Restrict is (Msg : String; N : Node_Id; Force : Boolean := False); - -- Node N represents a construct not allowed in formal mode. If this is a - -- source node, or if the restriction is forced (Force = True), and the - -- SPARK restriction is set, then an error is issued on N. Msg is appended - -- to the restriction failure message. + -- Node N represents a construct not allowed in formal mode. If this is + -- a source node, or if the restriction is forced (Force = True), and + -- the SPARK_05 restriction is set, then an error is issued on N. Msg + -- is appended to the restriction failure message. procedure Check_SPARK_Restriction (Msg1, Msg2 : String; N : Node_Id); -- Same as Check_SPARK_Restriction except there is a continuation message diff --git a/gcc/ada/s-rident.ads b/gcc/ada/s-rident.ads index 480c5a5..2fb2941 100644 --- a/gcc/ada/s-rident.ads +++ b/gcc/ada/s-rident.ads @@ -175,7 +175,7 @@ package System.Rident is No_Elaboration_Code, -- GNAT No_Obsolescent_Features, -- Ada 2005 AI-368 No_Wide_Characters, -- GNAT - SPARK, -- GNAT + SPARK_05, -- GNAT -- The following cases require a parameter value @@ -223,13 +223,14 @@ package System.Rident is No_Dynamic_Interrupts : Restriction_Id renames No_Dynamic_Attachment; No_Requeue : Restriction_Id renames No_Requeue_Statements; No_Task_Attributes : Restriction_Id renames No_Task_Attributes_Package; + SPARK : Restriction_Id renames SPARK_05; subtype All_Restrictions is Restriction_Id range Simple_Barriers .. Max_Storage_At_Blocking; -- All restrictions (excluding only Not_A_Restriction_Id) subtype All_Boolean_Restrictions is Restriction_Id range - Simple_Barriers .. SPARK; + Simple_Barriers .. SPARK_05; -- All restrictions which do not take a parameter subtype Partition_Boolean_Restrictions is All_Boolean_Restrictions range @@ -240,7 +241,7 @@ package System.Rident is -- case of Boolean restrictions. subtype Cunit_Boolean_Restrictions is All_Boolean_Restrictions range - Immediate_Reclamation .. SPARK; + Immediate_Reclamation .. SPARK_05; -- Boolean restrictions that are not checked for partition consistency -- and that thus apply only to the current unit. Note that for these -- restrictions, the compiler does not apply restrictions found in diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index dff2a21..7c929a4 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -7016,7 +7016,7 @@ package body Sem_Prag is -- Start of processing for Process_Restrictions_Or_Restriction_Warnings begin - -- Ignore all Restrictions pragma in CodePeer mode + -- Ignore all Restrictions pragmas in CodePeer mode if CodePeer_Mode then return; diff --git a/gcc/ada/snames.ads-tmpl b/gcc/ada/snames.ads-tmpl index bfe21bd..2f80576 100644 --- a/gcc/ada/snames.ads-tmpl +++ b/gcc/ada/snames.ads-tmpl @@ -762,6 +762,8 @@ package Snames is Name_Semaphore : constant Name_Id := N + $; Name_Short_Descriptor : constant Name_Id := N + $; Name_Simple_Barriers : constant Name_Id := N + $; + Name_SPARK : constant Name_Id := N + $; + Name_SPARK_05 : constant Name_Id := N + $; Name_Spec_File_Name : constant Name_Id := N + $; Name_State : constant Name_Id := N + $; Name_Statement_Assertions : constant Name_Id := N + $; |