Contents Index Search Previous Next
C.5 Pragma Discard_Names
Discard_Names may be used to request a reduction in storage used for
the names of certain entities.
The form of
a pragma Discard_Names is as follows:
=> ] local_name
Discard_Names is allowed only immediately within a declarative_part,
immediately within a package_specification,
or as a configuration pragma.
(if present) shall denote a non-derived enumeration first subtype, a
tagged first subtype, or an exception. The pragma applies to the type
or exception. Without a local_name,
the pragma applies to all such entities declared after the pragma, within
the same declarative region. Alternatively, the pragma can be used as
a configuration pragma. If the pragma applies to a type, then it applies
also to all descendants of the type.
If a local_name
is given, then a pragma
is a representation pragma.
If the pragma applies to an enumeration type,
then the semantics of the Wide_Image and Wide_Value attributes are implementation
defined for that type; the semantics of Image and Value are still defined
in terms of Wide_Image and Wide_Value. In addition, the semantics of
Text_IO.Enumeration_IO are implementation defined. If the pragma applies
to a tagged type, then the semantics of the Tags.Expanded_Name function
are implementation defined for that type. If the pragma applies to an
exception, then the semantics of the Exceptions.Exception_Name function
are implementation defined for that exception.
If the pragma applies to an entity, then the implementation
should reduce the amount of storage used for storing names associated
with that entity.
Contents Index Search Previous Next Legal