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.