If a discriminated type has
default_expressions
for its discriminants, then unconstrained variables of the type are permitted,
and the discriminants of such a variable can be changed by assignment
to the variable. For a formal parameter of such a type, an attribute
is provided to determine whether the corresponding actual parameter is
constrained or unconstrained.
Yields the value True if A denotes
a constant, a value, a tagged object, or a constrained variable, and
False otherwise. The value of this attribute is of the predefined type
Boolean.
The execution of a construct
is erroneous if the construct has a constituent that is a
name
denoting a subcomponent that depends on discriminants, and the value
of any of these discriminants is changed by this execution between evaluating
the
name and
the last use (within this execution) of the subcomponent denoted by the
name.