2.101 Pragma Lock_Free
This pragma may be specified for protected types or objects. It specifies that
the implementation of protected operations must be implemented without locks.
Compilation fails if the compiler cannot generate lock-free code for the
The current conditions required to support this pragma are:
- * Protected type declarations may not contain entries
- * Protected subprogram declarations may not have nonelementary parameters
In addition, each protected subprogram body must satisfy:
- * May reference only one protected component
- * May not reference nonconstant entities outside the protected subprogram
- * May not contain address representation items, allocators, or quantified
- * May not contain delay, goto, loop, or procedure-call statements.
- * May not contain exported and imported entities
- * May not dereferenced access values
- * Function calls and attribute references must be static