A compiler control record is one of the following:
-
A record with a dollar sign ($) in column 1—or in column 7 for COBOL, COBOL74, or COBOL85
-
A record with a dollar sign in both columns 1 and 2—or in columns 7 and 8 for COBOL, COBOL74, or COBOL85
-
A record with a blank in column 1 and a dollar sign in column 2—or a blank in column 7 and a dollar sign in column 8 for COBOL or COBOL74 but not for COBOL85
A dollar sign in any other column is not recognized. Normally, the PATCH utility protects a temporary compiler control record from being suppressed by a record with the same sequence number in a succeeding patch. This protection is removed for compiler control records that have nothing on them.
The interpretation of temporary and permanent compiler control records depends on the symbol input file equate (SOURCE or TAPE) as shown in the following table:
Equate |
Column 1 |
Column 2 |
Compiler Control Record Type |
---|---|---|---|
TAPE |
$ |
Any character |
Temporary |
|
Blank |
$ |
Permanent |
SOURCE |
$ |
Any character except $ |
Temporary |
|
$ |
$ |
Permanent |
The PATCH utility handles the following compiler control options:
-
DELETE
-
SEQ
-
SEQUENCE
-
VOID
-
VOIDT
-
MERGE
-
GO TO
-
BUMP TO
These option functions are performed by the PATCH utility and are not passed to the compiler. For this reason, these options (except for MERGE) are erased from the record on which they appear before that record is written to the PATCH file. The PATCH utility creates SET and POP VOIDT records as needed to simulate the functions of these options. If a $.COBOL74, $.NDLII, $.PASCAL, or $.RPG record is included as input to SYSTEM/PATCH, then DELETE cards are created instead of VOIDT cards. SEQUENCE is a synonym for SEQ.
All other compiler options are passed to the compiler by way of the PATCH file, but are ignored by the PATCH utility. The following compiler options are checked for format, because their associated parameters could cause invalid actions if improperly specified:
-
ERRORLIMIT
-
INSTALLATION
-
LEVEL
-
LIMIT
-
VERSION
-
INCLUDE
If no option value is specified, SET is assumed.
When handling permanent compiler options, PATCH passes $ records and $$ records to the compiler with the $ or $$ unchanged.
Refer to the appropriate language reference manual for the syntax and an explanation for all the compiler control options.