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