Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Cross-reference listing

&pagelevel(4)&pagelevel

The cross-reference listing is requested with the CROSS-REFERENCE option of the MODIFY-LISTING-PROPERTIES statement.

It consists of the following parts:

  • The FILETABLE section contains the names of all files or libraries/elements that were used by the compiler as a source (source program or header element). A number is assigned to each of these names. These numbers are referenced in the other sections of the cross-reference listing.

  • The PREPROCESSING-INFO section contains a list of the names processed by the preprocessor in #include and #define directives (macros, header element names, etc.).

  • The TYPES section contains a list of the user-defined types (typedefs, classes, structure, union, and enumeration types).

  • The VARIABLES section contains a list of variables.

  • The FUNCTIONS section contains a list of functions.

  • The LABELS section contains a list of labels.

  • The TEMPLATES section contains a list of templates (in language modes C++ V3, C++ 2017 and C++ 2020 only).

The names in the individual lists are sorted in alphabetical order.

The PREPROCESSING-INFO, TYPES and TEMPLATES sections are not included in the cross-reference listing by default and must be explicitly specified with PREPROCESSING-INFO=*YES, TYPES=*YES or TEMPLATES=*YES, respectively.

FILETABLE section of the cross-reference listing

******* XREF - LISTING ********    BS2000 C/C++ COMPILER 04.0B02    DATE:2023-04-02 PAGE: 1
         FILETABLE      SOURCENAME:*BS2000(MAINPROG)                TIME=17:37:52
___________________________________________________________________________________________
 SOURCE FILE      0 =  *BS2000(:2OSC:$TST30B.MAINPROG)
 INCLUDE FILE     1 =  *LIBRARY-ELEMENT(:2OSL:$TSOS.SYSLIB.CRTE,STDIO.H(V04.3A10),S)
 INCLUDE FILE     2 =  *LIBRARY-ELEMENT(:2OSL:$TSOS.SYSLIB.CRTE,IOBUF.H(V04.3A10),S)
 INCLUDE FILE     3 =  *LIBRARY-ELEMENT(:2OSL:$TSOS.SYSLIB.CRTE,POSFILE.H(V04.3A10),S)
 INCLUDE FILE     4 =  *LIBRARY-ELEMENT(:2OSL:$TSOS.SYSLIB.CRTE,STDIO.BS21.H(V04.3A10),S)
 INCLUDE FILE     5 =  *LIBRARY-ELEMENT(:2OSL:$TSOS.SYSLIB.CRTE,STDIO.COMMON.H(V04.3A10),S)
 INCLUDE FILE     6 =  *LIBRARY-ELEMENT(:2OSL:$TSOS.SYSLIB.CRTE,STDIO.BS22.H(V04.3A10),S)
 INCLUDE FILE     7 =  *LIBRARY-ELEMENT(:2OSL:$TSOS.SYSLIB.CRTE,CGLOBALS.H(V04.3A10),S)
 INCLUDE FILE     8 =  *LIBRARY-ELEMENT(:2OSL:$TSOS.SYSLIB.CRTE,IOBUF.H(V04.3A10),S)
 INCLUDE FILE     9 =  *LIBRARY-ELEMENT(:2OSL:$TSOS.SYSLIB.CRTE,ERRNO.H(V04.3A10),S)
 INCLUDE FILE    10 =  *LIBRARY-ELEMENT(:2OSC:$TST30B.PLAM.INCL,INCL1.H(*UPPER-LIMIT),S)
 INCLUDE FILE    11 =  *LIBRARY-ELEMENT(:2OSC:$TST30B.PLAM.INCL.INCL2.H(*UPPER-LIMIT),S)
___________________________________________________________________________________________

File number in global cross-reference listings

In a cross-reference listing that was created with the global listing generator from multiple CIF files (see section “Controlling the global listing generator”), the file number is indicated in the form n(m), where n is the sequential number of the source and header files (analogous to the local cross-reference listing; see above) used for each compilation unit (= CIF file), and m is the number of the respective compilation unit. The numbering of compilation units begins with 0.

PREPROCESSING-INFO section in the cross-reference listing

******* XREF - LISTING ********    BS2000 C/C++ COMPILER 04.0B02    DATE:2023-04-02 PAGE: 2
         PREPRO       SOURCENAME:*BS2000(MAINPROG)                  TIME=17:37:52
___________________________________________________________________________________________
     56/12:5
 *LIBRARY-ELEMENT(:2OSC:$TST30B.PLAM.INCL,INCL1.H(*UPPER-LIMIT),S) / include file 
     2%0
 *LIBRARY-ELEMENT(:2OSC:$TST30B.PLAM.INCL,INCL2.H(*UPPER-LIMIT),S) / include file 
     3%0
___________________________________________________________________________________________
'.'applied ':'def ':^'undef '%'included

TYPES section in the cross-reference listing

******* XREF - LISTING ********    BS2000 C/C++ COMPILER 04.0B02    DATE:2023-04-02 PAGE: 3 
         TYPES          SOURCENAME:*BS2000(MAINPROG)                TIME=17:37:52
___________________________________________________________________________________________
a0000270              / struct of size 16 (0x10)
std                   / namespace
A                     / class of size 4 (0x4)                 ----------------- (1)
    1/7:10           1/18.11         13/3.0           14/3.0  ----------------- (2)
                        public baseclass of class 'B'
  i                     / member, signed int, private         ----------------- (3)
  A                     / inline constructor( signed int ), public
  foo                   / member, inline function( void ) ret void, public
B                     / class of size 8 (0x8)
    1/7:11
  A                     / baseclass, public
  i                     / member, signed int, private
  B                     / inline constructor( signed int ), public
  foo                   / member, inline function( void ) ret void, public
___________________________________________________________________________________________
'.'used ':'def '&'decl

Explanation

(1)

Name and description of the user-defined type, possibly with a size specification (decimal and hexadecimal).

(2)

From left to right:
source program line and column in which the type appears,
abbreviation symbol for usage of the type,
number of the source file or (header) element from the FILETABLE.

For example, 14/3.0 means that a variable of type class A is defined in line 14, column 3 of the source program mainprog (0), and that the type is used (.).

(3)

In the case of structured types, the respective components of these types are also described (indented).
The data members of structures, classes, and unions are listed only in the TYPES section (they are not variables).
Members of functions are repeated in the FUNCTIONS section.

(3)

Bei strukturierten Typen werden auch die Komponenten dieser Typen (jeweils eingerückt) beschrieben.

Die Datenelemente von Strukturen, Klassen und Unions werden ausschließlich im TYPES-Teil
aufgelistet (sind keine Variablen). Die Funktionselemente erscheinen noch einmal im FUNCTIONS-Teil.

VARIABLES section in the cross-reference listing

******* XREF - LISTING ********    BS2000 C/C++ COMPILER 04.0B02    DATE:2023-04-02 PAGE: 4 
         VARIABLES      SOURCENAME:*BS2000(MAINPROG)                TIME=17:37:52
___________________________________________________________________________________________
a                     / class 'A'                            ------------------ (1)
    7/3=10           7/3:10          13/14&0          20/3&0 ------------------ (2)
aptr                  / automatic, pointer to class 'A',
                        local in main( void ) ret signed int, init value = &a
   13/6=0           13/6:0           21/3.0
b                     / class 'B'
    7/3=11           7/3:11          14/14&0          22/3&0
bptr                  / automatic, pointer to class 'A',
                        local in main( void ) ret signed int, init value = &b
   14/6=0           14/6:0           23/3.0
i                     / member, signed int,
                        member of class 'A'
    3/10:10          5/21=10
i                     / member, signed int,
                        member of class 'B'
    3/10:11          5/21=11
ii                    / automatic, signed int,
                        local in main( void ) ret signed int, init value = 1
   11/7=0           11/7:0           16/18.0
ii                    / extern, signed int
    5/12:%0
jj                    / extern, signed int
    4/16:%0
jj                    / automatic, signed int,
                        local in main( void ) ret signed int, init value = 2
   12/7=0           12/7:0           17/18.0
string                / automatic, pointer to char,
                        local in main( void ) ret signed int, init value = "AbCdEfG"
    9/9=0            9/9:0           18/18.0
x                     / param of constructor A::A, signed int
    5/12:10          5/23.10
x                     / param of constructor B::B, signed int
    5/12:11          5/23.11
xx                    / automatic, float,
                        local in main( void ) ret signed int, init value = 1
   10/9=0           10/9:0           19/18.0
___________________________________________________________________________________________
'='write '.'read '*='indir-write '*.'indir-read '&'read-addr ':'def '%'decl ':%'extdecl '%%'use

Explanation

(1)

Name, storage class and data type of the variables.

(2)

From left to right:source program line and column in which the variable appears, abbreviation symbol for usage of the variable, and number of the source file or (header) element from the FILETABLE

For example, 7/3:10 means that the variable a is defined (:) in line 7, column 3 of the header element incl1.h (10).

FUNCTIONS section in the cross-reference listing

******* XREF - LISTING ********    BS2000 C/C++ COMPILER 04.0B02    DATE:2023-04-02 PAGE: 5
         FUNCTIONS      SOURCENAME:*BS2000(MAINPROG)                TIME=17:37:52
___________________________________________________________________________________________
foo                   / public member of class 'B', inline function( void ) ret void  -- (1)
    6/11:11         22/5.0                                                            -- (2)
foo                   / public member of class 'A', inline function( void ) ret void
    6/11:10         20/5.0           21/9.0           23/9.0
main                  / function( void ) ret signed int
    7/5:0
A                     / public member of class 'A', inline constructor( signed int )
    5/6:10           7/3.10           5/26.11
B                     / public member of class 'B', inline constructor( signed int )
    5/6:11           7/3.11
___________________________________________________________________________________________
'.'call ':'def '&'decl '%'extdecl ':^'forward '&.'read-addr

Explanation

(1)

Name of the function, its scope, signature (type of parameters and return type), and storage class.
For member functions, additional information on the access rights (e.g. public) and the class or union in which it is contained.

(2)

From left to right:
source program line and column in which the function appears,
abbreviation for usage at that position,
number of the source file or (header) element from the FILETABLE.

For example, 6/11:11 means that the function foo is defined (:) in line 6, column 11 of the header element incl2.h (11).