- (1)
- This pragma ensures that an otherwise uninitialized scalar object is set
to a predictable value, but out of range if possible.
- (2)
- The form of a pragma Normalize_Scalars is as follows:
(3)
pragma Normalize_Scalars;
Post-Compilation Rules
- (4)
- Pragma Normalize_Scalars is a configuration pragma. It applies to all
compilation_units included in a partition.
Documentation Requirements
- (5)
- 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
- (6)
- Whenever possible, the implicit initial value for a scalar subtype should
be an invalid representation (see 13.9.1).
-
- (7)
(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.
- (8)
(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
B.1).
- (9)
(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
Copyright statement
Page last generated: 95-03-12