Go to the first, previous, next, last section, table of contents.
-
This pragma directs the implementation to provide information to
facilitate analysis and review of a program's object code, in particular
to allow determination of execution time and storage usage and to
identify the correspondence between the source and object programs.
Syntax
-
The form of a pragma Reviewable is as follows:
-
pragma Reviewable;
Post-Compilation Rules
-
Pragma Reviewable is a configuration pragma. It applies to all
compilation_units included in a partition.
Implementation Requirements
-
The implementation shall provide the following information for any
compilation unit to which such a pragma applies:
-
Where compiler-generated run-time checks remain;
-
An identification of any construct with a language-defined check that is
recognized prior to run time as certain to fail if executed (even if the
generation of run-time checks has been suppressed);
-
For each reference to a scalar object, an identification of the
reference as either "known to be initialized," or "possibly
uninitialized," independent of whether pragma Normalize_Scalars
applies;
-
Where run-time support routines are implicitly invoked;
-
An object code listing, including:
-
Machine instructions, with relative offsets;
-
Where each data object is stored during its lifetime;
-
Correspondence with the source program, including an identification of
the code produced per declaration and per statement.
-
An identification of each construct for which the implementation detects
the possibility of erroneous execution;
-
For each subprogram, block, task, or other construct implemented by
reserving and subsequently freeing an area on a run-time stack, an
identification of the length of the fixed-size portion of the area and
an indication of whether the non-fixed size portion is reserved on the
stack or in a dynamically-managed storage region.
-
The implementation shall provide the following information for any
partition to which the pragma applies:
-
An object code listing of the entire partition, including initialization
and finalization code as well as run-time system components, and with an
identification of those instructions and data that will be relocated at
load time;
-
A description of the run-time model relevant to the partition.
The implementation shall provide control- and data-flow information, both
within each compilation unit and across the compilation units of the
partition.
Implementation Advice
-
The implementation should provide the above information in both a
human-readable and machine-readable form, and should document the latter
so as to ease further processing by automated tools.
-
Object code listings should be provided both in a symbolic format and
also in an appropriate numeric format (such as hexadecimal or octal).
NOTES
-
(6) The order of elaboration of library units will be documented even in
the absence of pragma Reviewable, See section 10.2 Program Execution.
Go to the first, previous, next, last section, table of contents.