Annex J - Obsolescent Features (normative)

16
Jan

Annex J - Obsolescent Features (normative)

1/2 [{obsolescent feature} 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), see §13.12.1.]

1.a 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 will have to assess whether or not it makes sense to drop these features from the language.

Wording Changes from Ada 83

1.b The following features have been removed from the language, rather than declared to be obsolescent: 

  • 1.c The package Low_Level_IO (see §A.6).
  • 1.d The Epsilon, Mantissa, Emax, Small, Large, Safe_Emax, Safe_Small, and Safe_Large attributes of floating point types (see §A.5.3).
  • 1.f The pragmas System_Name, Storage_Unit, and Memory_Size (see §13.7).
  • 1.g The pragma Shared (see §C.6).

1.h Implementations can continue to support the above features for upward compatibility. 

Wording Changes from Ada 95

1.i/2 A mention of the No_Obsolescent_Features restriction was added.