Pure_Barriers (GNAT Reference Manual)

#### 5.1.76 Pure_Barriers ¶

[GNAT] This restriction ensures at compile time that protected entry barriers are restricted to:

- components of the protected object (excluding selection from dereferences),
- constant declarations,
- named numbers,
- enumeration literals,
- integer literals,
- real literals,
- character literals,
- implicitly defined comparison operators,
- uses of the Standard.”not” operator,
- short-circuit operator,
- the Count attribute

This restriction is a relaxation of the Simple_Barriers restriction, but still ensures absence of side effects, exceptions, and recursion during the evaluation of the barriers.