From a05205b05ada40f5a584d9c24b523f29eb1a40d4 Mon Sep 17 00:00:00 2001 From: charlet Date: Mon, 14 Jun 2004 13:19:14 +0000 Subject: 2004-06-14 Pascal Obry * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on Windows. Fix minor typo. * mlib-tgt-mingw.adb: New implementation using the GCC -shared option which is now supported on Windows. With this implementation using the Library Project feature is no different on Windows than on UNIX. 2004-06-14 Vincent Celier * makegpr.adb (Compile_Sources): Nothing to do when there are no non-Ada sources. * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment * prj-part.adb (Parse_Single_Project): When a duplicate project name is found, show the project name and the path of the previously parsed project file. 2004-06-14 Ed Schonberg * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an array, avoid copying the actual before the call. 2004-06-14 Thomas Quinot * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools. Instead, allocate memory on worst-case alignment assumptions, and then return an aligned address within the allocated zone. 2004-06-14 Robert Dewar * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to elab entities in predefined units in No_Run_Time_Mode. (Gen_Adainit_C): Same fix (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined units in No_Run_Time_Mode (Gen_Elab_Calls_C): Same fix * symbols-vms-alpha.adb: Minor reformatting * g-debpoo.ads: Minor reformatting * lib.adb (In_Same_Extended_Unit): Version working on node id's * lib.ads (In_Same_Extended_Unit): Version working on node id's * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit working on nodes. * make.adb: Minor reformatting * par-ch12.adb: Minor reformatting * par-prag.adb: Add dummy entry for pragma Profile_Warnings * prj-strt.adb: Minor reformatting * restrict.ads, restrict.adb: Redo handling of profile restrictions to be more general. * sem_attr.adb: Minor reformatting * sem_ch7.adb: Minor reformatting * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc for type in the same unit as the object declaration. * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows static string expressions and not just string literals. Minor reformatting (Set_Warning): Reset restriction warning flag for restriction pragma Implement pragma Profile_Warnings Implement pragma Profile (Restricted) Give obolescent messages for old restrictions and pragmas * snames.h, snames.ads, snames.adb: Add new entry for pragma Profile_Warnings. * s-rident.ads: Add declarations for restrictions required by profile Restricted and profile Ravenscar. * targparm.ads, targparm.adb: Allow pragma Profile in system.ads * gnat_ugn.texi: Correct some missing entries in the list of GNAT configuration pragmas. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83099 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ada/restrict.ads | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) (limited to 'gcc/ada/restrict.ads') diff --git a/gcc/ada/restrict.ads b/gcc/ada/restrict.ads index 0766bb824a7..b2658d03331 100644 --- a/gcc/ada/restrict.ads +++ b/gcc/ada/restrict.ads @@ -200,11 +200,11 @@ package Restrict is -- handlers are present. This function is called by Gigi when it needs to -- expand an AT END clean up identifier with no exception handler. - function Process_Restriction_Synonyms (Id : Name_Id) return Name_Id; - -- Id is the name of a restriction. If it is one of synonyms that we - -- allow for historical purposes (for list see System.Rident), then - -- the proper official name is returned. Otherwise the argument is - -- returned unchanged. + function Process_Restriction_Synonyms (N : Node_Id) return Name_Id; + -- Id is a node whose Chars field contains the name of a restriction. + -- If it is one of synonyms that we allow for historical purposes (for + -- list see System.Rident), then the proper official name is returned. + -- Otherwise the Chars field of the argument is returned unchanged. function Restriction_Active (R : All_Restrictions) return Boolean; pragma Inline (Restriction_Active); @@ -213,13 +213,20 @@ package Restrict is -- active. Always use Check_Restriction to record a violation. function Restricted_Profile return Boolean; - -- Tests to see if tasking operations follow the GNAT restricted run time - -- profile. - - procedure Set_Ravenscar (N : Node_Id); - -- Enables the set of restrictions for Ravenscar. N is the corresponding - -- pragma node, which is used for error messages on any constructs that - -- violate the profile. + -- Tests if set of restrictions corresponding to Profile (Restricted) is + -- currently in effect (set by pragma Profile, or by an appropriate set + -- of individual Restrictions pragms). Returns True only if all the + -- required restrictions are set. + + procedure Set_Profile_Restrictions + (P : Profile_Name; + N : Node_Id; + Warn : Boolean); + -- Sets the set of restrictions associated with the given profile + -- name. N is the node of the construct to which error messages + -- are to be attached as required. Warn is set True for the case + -- of Profile_Warnings where the restrictions are set as warnings + -- rather than legality requirements. procedure Set_Restriction (R : All_Boolean_Restrictions; @@ -235,11 +242,6 @@ package Restrict is -- Similar to the above, except that this is used for the case of a -- parameter restriction, and the corresponding value V is given. - procedure Set_Restricted_Profile (N : Node_Id); - -- Enables the set of restrictions for pragma Restricted_Run_Time. N is - -- the corresponding pragma node, which is used for error messages on - -- constructs that violate the profile. - function Tasking_Allowed return Boolean; pragma Inline (Tasking_Allowed); -- Tests to see if tasking operations are allowed by the current -- cgit v1.2.1