This Annex contains descriptions of features of
the language whose functionality is largely redundant with other features
defined by this International Standard. Use of these features is not
recommended in newly written programs. Use of these
features can be prevented by using pragma Restrictions (No_Obsolescent_Features),
Ramification: These features are still
part of the language, and have to be implemented by conforming implementations.
The primary reason for putting these descriptions here is to get redundant
features out of the way of most readers. The designers of the next version
of Ada after Ada 95 will have to assess
whether or not it makes sense to drop these features from the language.
Wording Changes from Ada 83
features have been removed from the language, rather than declared to
The package Low_Level_IO (see A.6
The Epsilon, Mantissa, Emax, Small, Large,
Safe_Emax, Safe_Small, and Safe_Large attributes of floating point types
The pragmas System_Name, Storage_Unit, and
Memory_Size (see 13.7
The pragma Shared (see C.6
Implementations can continue to support the
above features for upward compatibility.
Wording Changes from Ada 95
A mention of the No_Obsolescent_Features restriction
Wording Changes from Ada 2005
Controlled has been removed from the language, rather than declared to
be obsolescent. No existing implementation gives it any effect. An implementation
could continue to support the pragma as an implementation-defined pragma
for upward compatibility.
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe