Compiler options that affect the SYSADATA file

Several compiler options could affect the contents of the SYSADATA file.

COMPILE
NOCOMPILE(W|E|S) might stop compilation prematurely, resulting in the loss of specific messages.
EXIT
INEXIT prohibits identification of the compilation source file.
LANGUAGE
LANGUAGE controls the message text (Uppercase English, Mixed-Case English, or Japanese). Selection of Japanese could result in DBCS characters written to Error Identification records.
NUM
NUM causes the compiler to use the contents of columns 1-6 in the source records for line numbering, rather than using generated sequence numbers. Any invalid (nonnumeric) or out-of-sequence numbers are replaced with a number one higher than that of the previous record.
TEST
TEST causes additional object text records to be created that also affect the contents of the SYSADATA file.

The SYSADATA fields shown in the following table contain line numbers whose contents differ depending on the NUM|NONUM setting.

Type Field Record
0020 AE_LINE External Symbol record
0030 ATOK_LINE Token record
0032 AF_STMT Source Error record
0038 AS_STMT Source record
0039 AS_REP_EXP_SLIN COPY REPLACING record
0039 AS_REP_EXP_ELIN COPY REPLACING record
0042 ASY_STMT Symbol record
0044 AX_DEFN Symbol Cross Reference record
0044 AX_STMT Symbol Cross Reference record
0046 AN_STMT Nested Program record

The Type 0038 Source record contains two fields that relate to line numbers and record numbers:

  • AS_STMT contains the compiler line number in both the NUM and NONUM cases.
  • AS_CUR_REC# contains the physical source record number.

These two fields can always be used to correlate the compiler line numbers, used in all the above fields, with physical source record numbers.

The remaining compiler options have no direct effect on the SYSADATA file, but might trigger generation of additional error messages associated with the specific option, such as FLAGSTD or SSRANGE.

Example: SYSADATA

Related references  
SYSADATA record types  
COMPILE  
EXIT  
LANGUAGE
  
NUMBER  
TEST