Next: , Previous: Pragma Restriction_Warnings, Up: Implementation Defined Pragmas


Pragma Reviewable

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:

Where compiler-generated run-time checks remain
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.
An identification of known exceptions at compile time
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.
Possible reads of uninitialized variables
The compiler warns of many such cases, but its output is incomplete. The CodePeer analysis tool may be used to obtain a comprehensive list of all possible points at which uninitialized data may be read.
Where run-time support routines are implicitly invoked
In the output from -gnatGL, run-time calls are explicitly listed as calls to the relevant run-time routine.
Object code listing
This may be obtained either by using the -S switch, or the objdump utility.
Constructs known to be erroneous at compile time
These are identified by warnings issued by the compiler (use -gnatwa).
Stack usage information
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 The gnatstack utility can be used to provide additional information on stack usage.
Object code listing of entire partition
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.
A description of the run-time model
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.
Control and data-flow information
The CodePeer tool may be used to obtain complete control and data-flow information, as well as comprehensive messages identifying possible problems based on this information.