summaryrefslogtreecommitdiff
path: root/gcc/ada/opt.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-18 14:05:56 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-18 14:05:56 +0000
commit948e65b570f160c332a5bfb8880fdcdcb49c458a (patch)
tree0de3ad636089796a5118aad62090338b5ab93931 /gcc/ada/opt.ads
parentd2be415f274c534ec425e8153b09208c558936f0 (diff)
downloadgcc-948e65b570f160c332a5bfb8880fdcdcb49c458a.tar.gz
2010-10-18 Bob Duff <duff@adacore.com>
* sinfo.ads, sinfo.adb: Modify comment about adding fields to be more correct, and to be in a more convenient order. (Default_Storage_Pool): New field of N_Compilation_Unit_Aux, for recording the Default_Storage_Pool for a parent library unit. * einfo.ads (Etype): Document the case in which Etype can be Empty. * sem_prag.adb (Pragma_Default_Storage_Pool): Analyze the new Default_Storage_Pool pragma. * sem.ads (Save_Default_Storage_Pool): Save area for push/pop scopes. * gnat_ugn.texi: Document Default_Storage_Pool as a new configuration pragma. * freeze.adb (Freeze_Entity): When freezing an access type, take into account any Default_Storage_Pool pragma that applies. We have to do this at the freezing point, because up until that point, a Storage_Pool or Storage_Size clause could occur, which should override the Default_Storage_Pool. * par-prag.adb: Add this pragma to the list of pragmas handled entirely during semantics. * sem_ch8.adb (Push_Scope, Pop_Scope): Save and restore the Default_Storage_Pool information. * opt.ads (Default_Pool, Default_Pool_Config): New globals for recording currently-applicable Default_Storage_Pool pragmas. * opt.adb: Save/restore the globals as appropriate. * snames.ads-tmpl (Name_Default_Storage_Pool, Pragma_Default_Storage_Pool): New pragma name. 2010-10-18 Vincent Celier <celier@adacore.com> * make.adb (Switches_Of): Put the spec and body suffix in canonical case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165637 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/opt.ads')
-rw-r--r--gcc/ada/opt.ads16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ada/opt.ads b/gcc/ada/opt.ads
index 9a0b0cb33ce..11def2fbe2d 100644
--- a/gcc/ada/opt.ads
+++ b/gcc/ada/opt.ads
@@ -359,6 +359,16 @@ package Opt is
-- default was set by the binder, and that the default should be the
-- initial value of System.Secondary_Stack.Default_Secondary_Stack_Size.
+ Default_Pool : Node_Id := Empty;
+ -- GNAT
+ -- Used to record the storage pool name (or null literal) that is the
+ -- argument of an applicable pragma Default_Storage_Pool.
+ -- Empty: No pragma Default_Storage_Pool applies.
+ -- N_Null node: "pragma Default_Storage_Pool (null);" applies.
+ -- otherwise: "pragma Default_Storage_Pool (X);" applies, and
+ -- this points to the name X.
+ -- Push_Scope and Pop_Scope in Sem_Ch8 save and restore this.
+
Detect_Blocking : Boolean := False;
-- GNAT
-- Set True to force the run time to raise Program_Error if calls to
@@ -1585,6 +1595,11 @@ package Opt is
-- mode, as possibly set by the command line switch -gnata and possibly
-- modified by the use of the configuration pragma Debug_Policy.
+ Default_Pool_Config : Node_Id := Empty;
+ -- GNAT
+ -- Same as Default_Pool above, except this is only for Default_Storage_Pool
+ -- pragmas that are configuration pragmas.
+
Dynamic_Elaboration_Checks_Config : Boolean := False;
-- GNAT
-- Set True for dynamic elaboration checking mode, as set by the -gnatE
@@ -1793,6 +1808,7 @@ private
Assume_No_Invalid_Values : Boolean;
Check_Policy_List : Node_Id;
Debug_Pragmas_Enabled : Boolean;
+ Default_Pool : Node_Id;
Dynamic_Elaboration_Checks : Boolean;
Exception_Locations_Suppressed : Boolean;
Extensions_Allowed : Boolean;