Contents   Index   Search   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   Search   Previous   Next   Legal