You can mix units compiled with different elaboration models. However you must observe the following rules:
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
You can suppress these warnings by specifying binder switch -ws
.