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.