+2012-10-01 Robert Dewar <dewar@adacore.com>
+
+ * checks.ads: Minor reformatting.
+
+2012-10-01 Yannick Moy <moy@adacore.com>
+
+ * types.ads, sem_prag.adb, sem.ads: Correct minor typos in comments.
+
2012-10-01 Vincent Celier <celier@adacore.com>
* make.adb (Scan_Make_Arg): Only test for "vP" of the option
Hi : out Uint;
Assume_Valid : Boolean := False);
-- N is a node for a subexpression. If N is of a discrete type with no
- -- error indications, and no other peculiarities (e.g. missing type
- -- fields), then OK is True on return, and Lo and Hi are set to a
- -- conservative estimate of the possible range of values of N. Thus if OK
- -- is True on return, the value of the subexpression N is known to like in
- -- the range Lo .. Hi (inclusive). If the expression is not of a discrete
- -- type, or some kind of error condition is detected, then OK is False on
- -- exit, and Lo/Hi are set to No_Uint. Thus the significance of OK being
- -- False on return is that no useful information is available on the range
- -- of the expression. Assume_Valid determines whether the processing is
- -- allowed to assume that values are in range of their subtypes. If it is
- -- set to True, then this assumption is valid, if False, then processing
- -- is done using base types to allow invalid values.
+ -- error indications, and no other peculiarities (e.g. missing Etype),
+ -- then OK is True on return, and Lo and Hi are set to a conservative
+ -- estimate of the possible range of values of N. Thus if OK is True on
+ -- return, the value of the subexpression N is known to lie in the range
+ -- Lo .. Hi (inclusive). If the expression is not of a discrete type, or
+ -- some kind of error condition is detected, then OK is False on exit, and
+ -- Lo/Hi are set to No_Uint. Thus the significance of OK being False on
+ -- return is that no useful information is available on the range of the
+ -- expression. Assume_Valid determines whether the processing is allowed to
+ -- assume that values are in range of their subtypes. If it is set to True,
+ -- then this assumption is valid, if False, then processing is done using
+ -- base types to allow invalid values.
procedure Install_Null_Excluding_Check (N : Node_Id);
-- Determines whether an access node requires a runtime access check and
-- Scope based suppress checks for the predefined checks (from initial
-- command line arguments, or from Suppress pragmas not including an entity
- -- entity name) are recorded in the Sem.Suppress variable, and all that is
- -- necessary is to save the state of this variable on scope entry, and
- -- restore it on scope exit. This mechanism allows for fast checking of
- -- the scope suppress state without needing complex data structures.
+ -- name) are recorded in the Sem.Scope_Suppress variable, and all that
+ -- is necessary is to save the state of this variable on scope entry, and
+ -- restore it on scope exit. This mechanism allows for fast checking of the
+ -- scope suppress state without needing complex data structures.
-- Entity based checks, from Suppress/Unsuppress pragmas giving an
-- Entity_Id and scope based checks for non-predefined checks (introduced
-- This variable contains the current scope based settings of the suppress
-- switches. It is initialized from Suppress_Options in Gnat1drv, and then
-- modified by pragma Suppress. On entry to each scope, the current setting
- -- is saved the scope stack, and then restored on exit from the scope. This
- -- record may be rapidly checked to determine the current status of a check
- -- if no specific entity is involved or if the specific entity involved is
- -- one for which no specific Suppress/Unsuppress pragma has been set (as
- -- indicated by the Checks_May_Be_Suppressed flag being set).
+ -- is saved on the scope stack, and then restored on exit from the scope.
+ -- This record may be rapidly checked to determine the current status of
+ -- a check if no specific entity is involved or if the specific entity
+ -- involved is one for which no specific Suppress/Unsuppress pragma has
+ -- been set (as indicated by the Checks_May_Be_Suppressed flag being set).
-- This scheme is a little complex, but serves the purpose of enabling
-- a very rapid check in the common case where no entity specific pragma
---------------------
-- pragma Overflow_Checks
- -- ([General => ] MODE [, [Assertions => ] MODE);
+ -- ([General => ] MODE [, [Assertions => ] MODE]);
-- MODE := SUPPRESSED | CHECKED | MINIMIZED | ELIMINATED
type Suppress_Record is record
Suppress : Suppress_Array;
-- Indicates suppression status of each possible check. Note: there
- -- is an entry for Overflow_Checks in this array, but it is never used.
+ -- is an entry for Overflow_Check in this array, but it is never used.
-- Instead we use the more detailed information in the two components
-- that follow this one (Overflow_Checks_General/Assertions).
-- general expressions outside assertions.
Overflow_Checks_Assertions : Overflow_Check_Type;
- -- This field indicates the mode of overflow checking to be applied to
- -- any expressions occuring inside assertions.
+ -- This field indicates the mode of overflow checking to be applied to
+ -- any expression occuring inside assertions.
end record;
Suppress_All : constant Suppress_Record :=