Contents Index Search Previous Next
H.1 Pragma Normalize_Scalars
1
This pragma ensures that an otherwise uninitialized
scalar object is set to a predictable value, but out of range if possible.
Syntax
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).
Contents Index Search Previous Next Legal