Pragma Controlled
Author: JTC1/SC22/WG9/ARG, by Randall Brukardt, ARG Editor

Ada Reference Manual — Legal Information

# 13.11.3 Pragma Controlled

1
Pragma Controlled is used to prevent any automatic reclamation of storage (garbage collection) for the objects created by allocators of a given access type.

#### Syntax

2
The form of a pragma Controlled is as follows:
3
pragma Controlled(first_subtype_ local_name);

#### Legality Rules

4
The first_subtype_ local_name of a pragma Controlled shall denote a non-derived access subtype.

#### Static Semantics

5
A pragma Controlled is a representation pragma that specifies the controlled aspect of representation.
6
Garbage collection is a process that automatically reclaims storage, or moves objects to a different address, while the objects still exist.
7
If a pragma Controlled is specified for an access type with a standard storage pool, then garbage collection is not performed for objects in that pool.

#### Implementation Permissions

8
An implementation need not support garbage collection, in which case, a pragma Controlled has no effect.

Sponsored by Ada-Europe