Go to the first, previous, next, last section, table of contents.
-
This pragma ensures that an otherwise uninitialized scalar object is set
to a predictable value, but out of range if possible.
Syntax
-
The form of a pragma Normalize_Scalars is as follows:
-
pragma Normalize_Scalars;
Post-Compilation Rules
-
Pragma Normalize_Scalars is a configuration pragma. It applies to all
compilation_units included in a partition.
Documentation Requirements
-
If a pragma Normalize_Scalars applies, the implementation shall document
the implicit initial value for scalar subtypes, and shall identify each
case in which such a value is used and is not an invalid representation.
Implementation Advice
-
Whenever possible, the implicit initial value for a scalar subtype
should be an invalid representation, See section 13.9.1 Data Validity.
NOTES
-
(2) The initialization requirement applies to uninitialized scalar
objects that are subcomponents of composite objects, to allocated
objects, and to stand-alone objects. It also applies to scalar out
parameters. Scalar subcomponents of composite out parameters are
initialized to the corresponding part of the actual, by virtue of
See section 6.4.1 Parameter Associations.
-
(3) The initialization requirement does not apply to a scalar for which
pragma Import has been specified, since initialization of an imported
object is performed solely by the foreign language environment,
See section B.1 Interfacing Pragmas.
-
(4) The use of pragma Normalize_Scalars in conjunction with Pragma
Restrictions(No_Exceptions) may result in erroneous execution,
See section H.4 Safety and Security Restrictions.
Go to the first, previous, next, last section, table of contents.