Commit 395b5080 by Vincent Celier Committed by Arnaud Charlet

opt.ads: Indicate what flags are used by the Project Manager, gprbuild and gprclean.

2007-12-06  Vincent Celier  <celier@adacore.com>

	* opt.ads: Indicate what flags are used by the Project Manager,
	gprbuild and gprclean.
	(Opt.Follow_Links_For_Dirs): New flag
	(Warn_On_Assertion_Failure): New flag
	(Wide_Character_Encoding_Method_Specified): New flag
	(Suppress_All_Inlining): New switch set by -fno-inline
	(Real_VMS_Target): New flag
	New pragma Fast_Math

From-SVN: r130821
parent ac4d6407
...@@ -36,6 +36,10 @@ ...@@ -36,6 +36,10 @@
-- other GNAT tools. The comments indicate which options are used by which -- other GNAT tools. The comments indicate which options are used by which
-- programs (GNAT, GNATBIND, GNATLINK, GNATMAKE, GPRMAKE, etc). -- programs (GNAT, GNATBIND, GNATLINK, GNATMAKE, GPRMAKE, etc).
-- Some flags are labelled "PROJECT MANAGER". These are used by tools that
-- use the Project Manager. These tools include gnatmake, gnatname, the gnat
-- driver, gnatclean, gprbuild and gprclean.
with Debug; with Debug;
with Hostparm; use Hostparm; with Hostparm; use Hostparm;
with Types; use Types; with Types; use Types;
...@@ -177,7 +181,7 @@ package Opt is ...@@ -177,7 +181,7 @@ package Opt is
-- building a library. May be set to True by Gnatbind.Scan_Bind_Arg. -- building a library. May be set to True by Gnatbind.Scan_Bind_Arg.
Bind_Only : Boolean := False; Bind_Only : Boolean := False;
-- GNATMAKE, GPRMAKE -- GNATMAKE, GPRMAKE, GPRBUILD
-- Set to True to skip compile and link steps -- Set to True to skip compile and link steps
-- (except when Compile_Only and/or Link_Only are True). -- (except when Compile_Only and/or Link_Only are True).
...@@ -222,7 +226,7 @@ package Opt is ...@@ -222,7 +226,7 @@ package Opt is
-- directly modified by gnatmake, to affect the shared binder routines. -- directly modified by gnatmake, to affect the shared binder routines.
Check_Switches : Boolean := False; Check_Switches : Boolean := False;
-- GNATMAKE, GPRMAKE -- GNATMAKE, GPRMAKE, GPBUILD
-- Set to True to check compiler options during the make process -- Set to True to check compiler options during the make process
Check_Unreferenced : Boolean := False; Check_Unreferenced : Boolean := False;
...@@ -250,11 +254,13 @@ package Opt is ...@@ -250,11 +254,13 @@ package Opt is
-- in the output file. -- in the output file.
Compile_Only : Boolean := False; Compile_Only : Boolean := False;
-- GNATMAKE, GNATCLEAN, GPRMAKE -- GNATMAKE, GNATCLEAN, GPRMAKE, GPBUILD, GPRCLEAN
-- GNATMAKE, GPRMAKE: set to True to skip bind and link steps (except when -- GNATMAKE, GPRMAKE, GPRMAKE:
-- Bind_Only is True). -- set to True to skip bind and link steps (except when Bind_Only is
-- GNATCLEAN: set to True to delete only the files produced by the compiler -- True).
-- but not the library files or the executable files. -- GNATCLEAN, GPRCLEAN:
-- set to True to delete only the files produced by the compiler but not
-- the library files or the executable files.
Config_File : Boolean := True; Config_File : Boolean := True;
-- GNAT -- GNAT
...@@ -323,7 +329,7 @@ package Opt is ...@@ -323,7 +329,7 @@ package Opt is
-- potentially blocking operations are detected from protected actions. -- potentially blocking operations are detected from protected actions.
Display_Compilation_Progress : Boolean := False; Display_Compilation_Progress : Boolean := False;
-- GNATMAKE, GPRMAKE -- GNATMAKE, GPRMAKE, GPRBUILD
-- Set True (-d switch) to display information on progress while compiling -- Set True (-d switch) to display information on progress while compiling
-- files. Internal flag to be used in conjunction with an IDE (e.g GPS). -- files. Internal flag to be used in conjunction with an IDE (e.g GPS).
...@@ -466,6 +472,11 @@ package Opt is ...@@ -466,6 +472,11 @@ package Opt is
-- When True (set by gnatmake switch -x), allow compilation of sources -- When True (set by gnatmake switch -x), allow compilation of sources
-- that are not part of any project file. -- that are not part of any project file.
Fast_Math : Boolean := False;
-- GNAT
-- Indicates the current setting of Fast_Math mode, as set by the use
-- of a Fast_Math pragma (set on by Fast_Math (On)).
Float_Format : Character := ' '; Float_Format : Character := ' ';
-- GNAT -- GNAT
-- A non-blank value indicates that a Float_Format pragma has been -- A non-blank value indicates that a Float_Format pragma has been
...@@ -491,11 +502,11 @@ package Opt is ...@@ -491,11 +502,11 @@ package Opt is
-- (-F switch set). -- (-F switch set).
Force_Compilations : Boolean := False; Force_Compilations : Boolean := False;
-- GNATMAKE, GPRMAKE -- GNATMAKE, GPRMAKE, GPRBUILD
-- Set to force recompilations even when the objects are up-to-date. -- Set to force recompilations even when the objects are up-to-date.
Full_Path_Name_For_Brief_Errors : Boolean := False; Full_Path_Name_For_Brief_Errors : Boolean := False;
-- GNAT, GNATMAKE, GNATCLEAN, GPRMAKE -- PROJECT MANAGER
-- When True, in Brief_Output mode, each error message line -- When True, in Brief_Output mode, each error message line
-- will start with the full path name of the source. -- will start with the full path name of the source.
-- When False, only the file name without directory information -- When False, only the file name without directory information
...@@ -609,9 +620,19 @@ package Opt is ...@@ -609,9 +620,19 @@ package Opt is
-- generate code even in case of unsupported construct, so that the byte -- generate code even in case of unsupported construct, so that the byte
-- code can be used by static analysis tools. -- code can be used by static analysis tools.
Follow_Links : Boolean := False; Follow_Links_For_Files : Boolean := False;
-- GNATMAKE -- PROJECT MANAGER
-- Set to True (-eL) to process the project files in trusted mode -- Set to True (-eL) to process the project files in trusted mode
-- If Follow_Links is False, it is assumed that the project doesn't contain
-- any file duplicated through symbolic links (although the latter are
-- still valid if they point to a file which is outside of the project),
-- and that no directory has a name which is a valid source name.
Follow_Links_For_Dirs : Boolean := True;
-- PROJECT MANAGER
-- Whether directories can be links in this project, and therefore
-- additional system calls should be performed to ensure we always see the
-- same full name for each directory.
Front_End_Inlining : Boolean := False; Front_End_Inlining : Boolean := False;
-- GNAT -- GNAT
...@@ -630,7 +651,7 @@ package Opt is ...@@ -630,7 +651,7 @@ package Opt is
-- if not. -- if not.
Keep_Going : Boolean := False; Keep_Going : Boolean := False;
-- GNATMAKE, GPRMAKE -- GNATMAKE, GPRMAKE, GPRBUILD
-- When True signals to ignore compilation errors and keep -- When True signals to ignore compilation errors and keep
-- processing sources until there is no more work. -- processing sources until there is no more work.
...@@ -645,7 +666,7 @@ package Opt is ...@@ -645,7 +666,7 @@ package Opt is
-- children. -- children.
Link_Only : Boolean := False; Link_Only : Boolean := False;
-- GNATMAKE, GPRMAKE -- GNATMAKE, GPRMAKE, GPRBUILD
-- Set to True to skip compile and bind steps -- Set to True to skip compile and bind steps
-- (except when Bind_Only is set to True). -- (except when Bind_Only is set to True).
...@@ -773,7 +794,7 @@ package Opt is ...@@ -773,7 +794,7 @@ package Opt is
-- then this value is initialized by Osint to the appropriate value. -- then this value is initialized by Osint to the appropriate value.
Maximum_Processes : Positive := 1; Maximum_Processes : Positive := 1;
-- GNATMAKE, GPRMAKE -- GNATMAKE, GPRMAKE, GPRBUILD
-- Maximum number of processes that should be spawned to carry out -- Maximum number of processes that should be spawned to carry out
-- compilations. -- compilations.
...@@ -920,7 +941,7 @@ package Opt is ...@@ -920,7 +941,7 @@ package Opt is
-- used if the policy is set in package System. -- used if the policy is set in package System.
Quiet_Output : Boolean := False; Quiet_Output : Boolean := False;
-- GNATMAKE, GNATCLEAN, GPRMAKE -- GNATMAKE, GNATCLEAN, GPRMAKE, GPRBUILD, GPRCLEAN
-- Set to True if the tool should not have any output if there are no -- Set to True if the tool should not have any output if there are no
-- errors or warnings. -- errors or warnings.
...@@ -982,6 +1003,11 @@ package Opt is ...@@ -982,6 +1003,11 @@ package Opt is
-- in package Style (see body of this package for details of checks) -- in package Style (see body of this package for details of checks)
-- This flag is set True by either the -gnatg or -gnaty switches. -- This flag is set True by either the -gnatg or -gnaty switches.
Suppress_All_Inlining : Boolean := False;
-- GNAT
-- Set by -fno-inline. Suppresses all inlining, both front end and back end
-- regardless of any other switches that are set.
System_Extend_Pragma_Arg : Node_Id := Empty; System_Extend_Pragma_Arg : Node_Id := Empty;
-- GNAT -- GNAT
-- Set non-empty if and only if a correct Extend_System pragma was present -- Set non-empty if and only if a correct Extend_System pragma was present
...@@ -1064,6 +1090,12 @@ package Opt is ...@@ -1064,6 +1090,12 @@ package Opt is
-- GNAT -- GNAT
-- Set to True (-gnatt) to generate output tree file -- Set to True (-gnatt) to generate output tree file
True_VMS_Target : Boolean := False;
-- Set True if we are on a VMS target. The setting of this flag reflects
-- the true state of the compile, unlike Targparm.OpenVMS_On_Target which
-- can also be true when debug flag m is set (-gnatdm). This is used in the
-- few cases where we do NOT want -gnatdm to trigger the VMS behavior.
Try_Semantics : Boolean := False; Try_Semantics : Boolean := False;
-- GNAT -- GNAT
-- Flag set to force attempt at semantic analysis, even if parser errors -- Flag set to force attempt at semantic analysis, even if parser errors
...@@ -1096,12 +1128,12 @@ package Opt is ...@@ -1096,12 +1128,12 @@ package Opt is
-- corresponding attribute set in GNATBIND. -- corresponding attribute set in GNATBIND.
Upper_Half_Encoding : Boolean := False; Upper_Half_Encoding : Boolean := False;
-- GNAT -- GNAT, GNATBIND
-- Normally set False, indicating that upper half ASCII characters are -- Normally set False, indicating that upper half ASCII characters are
-- used in the normal way to represent themselves. If the wide character -- used in the normal way to represent themselves. If the wide character
-- encoding method uses the upper bit for this encoding, then this flag is -- encoding method uses the upper bit for this encoding, then this flag is
-- set True, and upper half characters in the source indicate the start of -- set True, and upper half characters in the source indicate the start of
-- a wide character sequence. -- a wide character sequence. Set by -gnatW or -W switches.
Usage_Requested : Boolean := False; Usage_Requested : Boolean := False;
-- GNAT, GNATBIND, GNATMAKE -- GNAT, GNATBIND, GNATMAKE
...@@ -1129,7 +1161,7 @@ package Opt is ...@@ -1129,7 +1161,7 @@ package Opt is
Verbose_Mode : Boolean := False; Verbose_Mode : Boolean := False;
-- GNAT, GNATBIND, GNATMAKE, GNATLINK, GNATLS, GNATNAME, GNATCLEAN, -- GNAT, GNATBIND, GNATMAKE, GNATLINK, GNATLS, GNATNAME, GNATCLEAN,
-- GPRMAKE -- GPRMAKE, GPRBUILD, GPRCLEAN
-- Set to True to get verbose mode (full error message text and location -- Set to True to get verbose mode (full error message text and location
-- information sent to standard output, also header, copyright and summary) -- information sent to standard output, also header, copyright and summary)
...@@ -1154,6 +1186,11 @@ package Opt is ...@@ -1154,6 +1186,11 @@ package Opt is
-- including warnings on Ada 2005 obsolescent features used in Ada 2005 -- including warnings on Ada 2005 obsolescent features used in Ada 2005
-- mode. Set False by -gnatwY. -- mode. Set False by -gnatwY.
Warn_On_Assertion_Failure : Boolean := True;
-- GNAT
-- Set to True to activate warnings on assertions that can be determined
-- at compile time will always fail. Set false by -gnatw.A.
Warn_On_Assumed_Low_Bound : Boolean := True; Warn_On_Assumed_Low_Bound : Boolean := True;
-- GNAT -- GNAT
-- Set to True to activate warnings for string parameters that are indexed -- Set to True to activate warnings for string parameters that are indexed
...@@ -1194,13 +1231,16 @@ package Opt is ...@@ -1194,13 +1231,16 @@ package Opt is
Warn_On_Modified_Unread : Boolean := False; Warn_On_Modified_Unread : Boolean := False;
-- GNAT -- GNAT
-- Set to True to generate warnings if a variable is assigned but is never -- Set to True to generate warnings if a variable is assigned but is never
-- read. The default is that this warning is suppressed. -- read. Also controls warnings for similar cases involving out parameters,
-- but only if there is only one out parameter for the procedure involved.
-- The default is that this warning is suppressed.
Warn_On_Out_Parameter_Unread : Boolean := False; Warn_On_All_Unread_Out_Parameters : Boolean := False;
-- GNAT -- GNAT
-- Set to True to generate warnings if a variable is modified by being -- Set to True to generate warnings in all cases where a variable is
-- passed as to an IN OUT or OUT formal, but the resulting value is never -- modified by being passed as to an OUT formal, but the resulting value is
-- read. The default is that this warning is suppressed. -- never read. The default is that this warning is suppressed, except in
-- the case of
Warn_On_No_Value_Assigned : Boolean := True; Warn_On_No_Value_Assigned : Boolean := True;
-- GNAT -- GNAT
...@@ -1267,7 +1307,7 @@ package Opt is ...@@ -1267,7 +1307,7 @@ package Opt is
-- are generated and are treated as errors. -- are generated and are treated as errors.
Wide_Character_Encoding_Method : WC_Encoding_Method := WCEM_Brackets; Wide_Character_Encoding_Method : WC_Encoding_Method := WCEM_Brackets;
-- GNAT -- GNAT, GNATBIND
-- Method used for encoding wide characters in the source program. See -- Method used for encoding wide characters in the source program. See
-- description of type in unit System.WCh_Con for a list of the methods -- description of type in unit System.WCh_Con for a list of the methods
-- that are currently supported. Note that brackets notation is always -- that are currently supported. Note that brackets notation is always
...@@ -1275,7 +1315,13 @@ package Opt is ...@@ -1275,7 +1315,13 @@ package Opt is
-- variable. The default setting causes only the brackets notation to be -- variable. The default setting causes only the brackets notation to be
-- recognized. If this is the main unit, this setting also controls the -- recognized. If this is the main unit, this setting also controls the
-- output of the W=? parameter in the ALI file, which is used to provide -- output of the W=? parameter in the ALI file, which is used to provide
-- the default for Wide_Text_IO files. -- the default for encoding [Wide_[Wide_]]Text_IO files. For the binder,
-- the value set here overrides this main unit default.
Wide_Character_Encoding_Method_Specified : Boolean := False;
-- GNAT, GNATBIND
-- Set True if the value in Wide_Character_Encoding_Method was set as
-- a result of an explicit -gnatW? or -W? switch. False otherwise.
Xref_Active : Boolean := True; Xref_Active : Boolean := True;
-- GNAT -- GNAT
...@@ -1363,6 +1409,13 @@ package Opt is ...@@ -1363,6 +1409,13 @@ package Opt is
-- however that the setting of this flag is ignored for internal and -- however that the setting of this flag is ignored for internal and
-- predefined units (which are always compiled with Lowercase mode). -- predefined units (which are always compiled with Lowercase mode).
Fast_Math_Config : Boolean;
-- GNAT
-- This is the value of the configuration switch that controls Fast_Math
-- mode, as set by a Fast_Math pragma in configuration pragmas. It is
-- used to set the initial value of Fast_Math at the start of each new
-- compilation unit.
Persistent_BSS_Mode_Config : Boolean; Persistent_BSS_Mode_Config : Boolean;
-- GNAT -- GNAT
-- This is the value of the configuration switch that controls whether -- This is the value of the configuration switch that controls whether
...@@ -1499,6 +1552,7 @@ private ...@@ -1499,6 +1552,7 @@ private
Extensions_Allowed : Boolean; Extensions_Allowed : Boolean;
External_Name_Exp_Casing : External_Casing_Type; External_Name_Exp_Casing : External_Casing_Type;
External_Name_Imp_Casing : External_Casing_Type; External_Name_Imp_Casing : External_Casing_Type;
Fast_Math : Boolean;
Persistent_BSS_Mode : Boolean; Persistent_BSS_Mode : Boolean;
Polling_Required : Boolean; Polling_Required : Boolean;
Use_VADS_Size : Boolean; Use_VADS_Size : Boolean;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment