Export
¶"If an implementation supports pragma
Export
to a given language, then it should also allow the main subprogram to be written in that language. It should support some mechanism for invoking the elaboration of the Ada library units included in the system, and for invoking the finalization of the environment task. On typical systems, the recommended mechanism is to provide two subprograms whose link names areadainit
andadafinal
.adainit
should contain the elaboration code for library units.adafinal
should contain the finalization code. These subprograms should have no effect the second and subsequent time they are called."
Followed.
"Automatic elaboration of pre-elaborated packages should be provided when pragma
Export
is supported."
Followed when the main program is in Ada. If the main program is in a
foreign language, then
adainit
must be called to elaborate pre-elaborated
packages.
"For each supported convention `L' other than
Intrinsic
, an implementation should supportImport
andExport
pragmas for objects of `L'-compatible types and for subprograms, and pragma Convention for `L'-eligible types and for subprograms, presuming the other language has corresponding features. PragmaConvention
need not be supported for scalar types."
Followed.