Ada Programming/Pragmas/Controlled

From Wikibooks, open books for an open world
Jump to: navigation, search

Pragma Controlled is an old Ada 83 pragma that was never implemented by any compiler. Consequently, it has finally been removed with Ada 2012.

The pragma was meant to prevent garbage collectors (also never implemented by any compiler) from tampering with the storage pool of the corresponding access type. The syntax was

type Pointer is access Some_Type;
pragma Controlled (Pointer);  -- see RM_83 4.8; RM_95/2005 13.11.3 

Also see Deleting objects from a storage pool in the page about access types.