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

Pointer  Some_Type; 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.