"If an implementation supports pragma
Exportto 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 are
adainitshould contain the elaboration code for library units.
adafinalshould contain the finalization code. These subprograms should have no effect the second and subsequent time they are called."
"Automatic elaboration of pre-elaborated packages should be provided when pragma
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
"For each supported convention `L' other than
Intrinsic, an implementation should support
Exportpragmas 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. Pragma
Conventionneed not be supported for scalar types."