Syntax:
pragma Reviewable;
This pragma is an RM-defined standard pragma, but has no effect on the program being compiled, or on the code generated for the program.
To obtain the required output specified in RM H.3.1, the compiler must be run with various special switches as follows:
The switch `-gnatGL' may be used to list the expanded code in pseudo-Ada form. Runtime checks show up in the listing either as explicit checks or operators marked with {} to indicate a check is present.
If the program is compiled with `-gnatwa', the compiler warning messages will indicate all cases where the compiler detects that an exception is certain to occur at run time.
The compiler warns of many such cases, but its output is incomplete.
A supplemental static analysis tool may be used to obtain a comprehensive list of all possible points at which uninitialized data may be read.
In the output from `-gnatGL', run-time calls are explicitly listed as calls to the relevant run-time routine.
This may be obtained either by using the `-S' switch, or the objdump utility.
These are identified by warnings issued by the compiler (use `-gnatwa').
Static stack usage data (maximum per-subprogram) can be obtained via the `-fstack-usage' switch to the compiler. Dynamic stack usage data (per task) can be obtained via the `-u' switch to gnatbind
This can be obtained by compiling the partition with `-S', or by applying objdump to all the object files that are part of the partition.
The full sources of the run-time are available, and the documentation of these routines describes how these run-time routines interface to the underlying operating system facilities.
A supplemental static analysis tool may be used to obtain complete control and data-flow information, as well as comprehensive messages identifying possible problems based on this information.