18. Obsolescent Features#

This chapter describes features that are provided by GNAT, but are considered obsolescent since there are preferred ways of achieving the same effect. These features are provided solely for historical compatibility purposes.

18.1. pragma No_Run_Time#

The pragma No_Run_Time is used to achieve an affect similar to the use of the “Zero Foot Print” configurable run time, but without requiring a specially configured run time. The result of using this pragma, which must be used for all units in a partition, is to restrict the use of any language features requiring run-time support code. The preferred usage is to use an appropriately configured run-time that includes just those features that are to be made accessible.

18.2. pragma Ravenscar#

The pragma Ravenscar has exactly the same effect as pragma Profile (Ravenscar). The latter usage is preferred since it is part of the new Ada 2005 standard.

18.3. pragma Restricted_Run_Time#

The pragma Restricted_Run_Time has exactly the same effect as pragma Profile (Restricted). The latter usage is preferred since the Ada 2005 pragma Profile is intended for this kind of implementation dependent addition.

18.4. pragma Task_Info#

The functionality provided by pragma Task_Info is now part of the Ada language. The CPU aspect and the package System.Multiprocessors offer a less system-dependent way to specify task affinity or to query the number of processors.

Syntax

pragma Task_Info (EXPRESSION);

This pragma appears within a task definition (like pragma Priority) and applies to the task in which it appears. The argument must be of type System.Task_Info.Task_Info_Type. The Task_Info pragma provides system dependent control over aspects of tasking implementation, for example, the ability to map tasks to specific processors. For details on the facilities available for the version of GNAT that you are using, see the documentation in the spec of package System.Task_Info in the runtime library.

18.5. package System.Task_Info (s-tasinf.ads)#

This package provides target dependent functionality that is used to support the Task_Info pragma. The predefined Ada package System.Multiprocessors and the CPU aspect now provide a standard replacement for GNAT’s Task_Info functionality.