Next: Legacy Elaboration Model in GNAT, Previous: Static Elaboration Model in GNAT, Up: Elaboration Order Handling in GNAT [Contents][Index]
The SPARK model is identical to the static model in its handling of internal
targets. The SPARK model, however, requires explicit Elaborate
or
Elaborate_All
pragmas to be present in the program when a target is
external, and compiler switch -gnatd.v
is in effect.
1. with Server; 2. package body SPARK_Model with SPARK_Mode is 3. Val : constant Integer := Server.Func; | >>> call to "Func" during elaboration in SPARK >>> unit "SPARK_Model" requires pragma "Elaborate_All" for "Server" >>> body of unit "SPARK_Model" elaborated >>> function "Func" called at line 3 4. end SPARK_Model;