Go to the first, previous, next, last section, table of contents.

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.


  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 section 13.9.1 Data Validity.


  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 See section 6.4.1 Parameter Associations.
  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 section B.1 Interfacing Pragmas.
  9. (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.