pragma Linker_Destructor (procedure_LOCAL_NAME);
procedure_LOCAL_NAME must refer to a parameterless procedure that
is declared at the library level. A procedure to which this pragma is
applied will be treated as a finalization routine by the linker.
It is equivalent to
__attribute__((destructor)) in GNU C and
causes procedure_LOCAL_NAME to be invoked after the entry point
of the executable has exited (or immediately before the shared library
is unloaded if the procedure is linked in a shared library), in particular
after the Ada run-time environment is shut down.
pragma Linker_Constructor for the set of restrictions that apply
because of these specific contexts.