- (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