It is possible to mix units compiled with a different elaboration model, however the following rules must be observed:
Ada
, GNAT
,
Interfaces
, or System
hierarchies.
Pure
or Preelaborate
.
Elaborate_All
pragma for the server
unit.
These rules ensure that elaboration checks are not omitted. If the rules are violated, the binder emits a warning:
warning: "x.ads" has dynamic elaboration checks and with's warning: "y.ads" which has static elaboration checks
The warnings can be suppressed by binder switch -ws
.