Contents Index Previous Next
H.3.1 Pragma Reviewable
1
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
2
The form of
a pragma Reviewable is as follows:
3
Post-Compilation Rules
4
Pragma
Reviewable is a configuration pragma. It applies to all
compilation_units
included in a partition.
Implementation Requirements
5
The implementation
shall provide the following information for any compilation unit to which
such a pragma applies:
6
- Where compiler-generated run-time checks remain;
7
- 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);
8
- 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;
9
- Where run-time support routines are implicitly invoked;
10
- An object code listing, including:
11
- Machine instructions, with relative offsets;
12
- Where each data object is stored during its lifetime;
13
- Correspondence with the source program, including an identification
of the code produced per declaration and per statement.
14
- An identification of each construct for which the implementation
detects the possibility of erroneous execution;
15
- 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.
16
The implementation
shall provide the following information for any partition to which the
pragma applies:
17
- 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;
18
- A description of the run-time model relevant to the partition.
18.1
The implementation shall provide control- and
data-flow information, both within each compilation unit and across the
compilation units of the partition.
Implementation Advice
19
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.
20
Object code listings should be provided both
in a symbolic format and also in an appropriate numeric format (such
as hexadecimal or octal).
21
6 The order of elaboration
of library units will be documented even in the absence of pragma
Reviewable (see 10.2).
Contents Index Previous Next Legal