Next: , Previous: C.3.2, Up: Annex C


C.4 Preelaboration Requirements

1
This clause specifies additional implementation and documentation requirements for the Preelaborate pragma (see 10.2.1).

Implementation Requirements

2
The implementation shall not incur any run−time overhead for the elaboration checks of subprograms and protected_bodies declared in preelaborated library units.

3
The implementation shall not execute any memory write operations after load time for the elaboration of constant objects declared immediately within the declarative region of a preelaborated library package, so long as the subtype and initial expression (or default initial expressions if initialized by default) of the object_declaration satisfy the following restrictions. The meaning of load time is implementation defined.

4

4.1/2

5

6

7

8

9

10

11

Documentation Requirements

12
The implementation shall document any circumstances under which the elaboration of a preelaborated package causes code to be executed at run time.

13
The implementation shall document whether the method used for initialization of preelaborated variables allows a partition to be restarted without reloading.

Implementation Advice

14
It is recommended that preelaborated packages be implemented in such a way that there should be little or no code executed at run time for the elaboration of entities not already covered by the Implementation Requirements.