Go to the first, previous, next, last section, table of contents.
-
A shared passive library unit is used for managing global data shared
between active partitions. The restrictions on shared passive library
units prevent the data or tasks of one active partition from being
accessible to another active partition through references implicit in
objects declared in the shared passive library unit.
Syntax
-
The form of a pragma Shared_Passive is as follows:
-
pragma Shared_Passive[(library_unit_name)];
Legality Rules
-
A shared passive library unit is a library unit to which a
Shared_Passive pragma applies. The following restrictions apply to such
a library unit:
-
it shall be preelaborable, See section 10.2.1 Elaboration Control,
-
it shall depend semantically only upon declared pure or shared passive
library units;
-
it shall not contain a library-level declaration of an access type that
designates a class-wide type, task type, or protected type with
entry_declarations; if the shared passive library unit is generic, it
shall not contain a declaration for such an access type unless the
declaration is nested within a body other than a package_body.
-
Notwithstanding the definition of accessibility given in See section 3.10.2 Operations of Access Types,
the declaration of a library unit P1 is not accessible from within the
declarative region of a shared passive library unit P2, unless the
shared passive library unit P2 depends semantically on P1.
Static Semantics
-
A shared passive library unit is preelaborated.
Compilation Rules
-
A shared passive library unit shall be assigned to at most one partition
within a given program.
-
Notwithstanding the rule given in See section 10.2 Program Execution, a compilation unit in a
given partition does not need (in the sense of See section 10.2 Program Execution.) the shared
passive library units on which it depends semantically to be included in
that same partition; they will typically reside in separate passive
partitions.
Go to the first, previous, next, last section, table of contents.