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