- This pragma ensures that an otherwise uninitialized scalar object is set
to a predictable value, but out of range if possible.
- The form of a pragma Normalize_Scalars is as follows:
- Pragma Normalize_Scalars is a configuration pragma. It applies to all
compilation_units included in a partition.
- 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.
- Whenever possible, the implicit initial value for a scalar subtype should
be an invalid representation (see 13.9.1).
(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 6.4.1.
(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
(4) The use of pragma Normalize_Scalars in conjunction with Pragma Restrictions(No_Exceptions)
may result in erroneous execution (see H.4).
-- Email comments, additions, corrections, gripes, kudos, etc. to:
Magnus Kempe -- Magnus.Kempe@di.epfl.ch
Page last generated: 95-03-12