For any task subtype
T, the following attribute is defined:
2
T'Storage_Size
Denotes an implementation-defined value of type universal_integer
representing the number of storage elements reserved for a task of the
subtype T.
2.a
To be honest: T'Storage_Size cannot be
particularly meaningful in the presence of a pragma
Storage_Size, especially when the expression is dynamic, or depends on
a discriminant of the task, because the Storage_Size will be different
for different objects of the type. Even without such a pragma,
the Storage_Size can be different for different objects of the type,
and in any case, the value is implementation defined. Hence, it is always
implementation defined.
3/2
{AI95-00345-01}
{specifiable (of Storage_Size for a task
first subtype) [partial]}Storage_Size
may be specified for a task first subtype that
is not an interface via an attribute_definition_clause.
Wording Changes from Ada 95
3.a/2
{AI95-00345-01}
We don't allow specifying Storage_Size on task
interfaces. We don't need to mention class-wide task types, because these
cannot be a first subtype.