Ada Programming/Pragmas/Controlled

Pragma Controlled is an old Ada 83 pragma that was never implemented by any compiler. Consequently, it was finally 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.

Ada Reference Manual edit

Ada 83 edit

Ada 95 edit

Ada 2005 edit