pragma No_Elaboration_Code_All [(program_unit_NAME)];
This is a program unit pragma (there is also an equivalent aspect of the
same name) that establishes the restriction
the current unit and any extended main source units (body and subunits).
It also has the effect of enforcing a transitive application of this
aspect, so that if any unit is implicitly or explicitly with’ed by the
current unit, it must also have the No_Elaboration_Code_All aspect set.
It may be applied to package or subprogram specs or their generic versions.