The Micro Focus compiler options are listed here alphabetically, you may browse them, click on the link to go directly to the error code or you may use the search feature of your browser to search for the information.
Parameters:
file-name A full file specification.
Properties:
Default: OBJ"
Phase: Generate
Environment: 16-bit, 32-bit OS/2
$SET: Any
Dependencies: OBJ and GNT are synonymous. Setting NOOBJ also sets NOGNT.
Remarks: With NOOBJ, no object code file is produced. If this directive is not specified, the name of the object code file is the same as the source file with an extension of .obj.
Setting this directive does not imply OMF"OBJ". To ensure that your .obj file contains .obj format object code you must make sure that OMF"OBJ" is also specified. In the 16-bit generator the OBJ directive also changes the name of the main entry point of a program unless your program contains a PROGRAM-ID phrase. So, if you want to change the name of your .obj file, but retain the same entry point name, use the PROGRAM-ID phrase. Example: Compiling the program tictac.cbl with no OBJ directive produces an object module called tictac.obj with main entry point tictac. Compiling with the directive OBJ"tictac2.obj" produces an object module called tictac2.obj with main entry point tictac2. In the 32-bit generator for OS/2, this directive does not change the entry-point name. If you are developing applications for both 16-bit and 32-bit targets, and require to use the OBJ directive, use the PROGRAM-ID phrase to ensure portability.Properties:
Default: NOOBJLITE
Phase: Generate
Environment: 16-bit
$SET: Initial
Dependencies:
Set to NOOBJLITE at end by OPT"0" or OMF"GNT".
OBJLITE sets LITLINK at end.
Remarks: This directive affects only .obj files.
Calling a program that was generated using OBJLITE is much faster than calling a normal program. The following are limitations for programs generated using OBJLITE:Properties:
Default: NOODOOSVS
Phase: Syntax check
Environment: All
$SET: Initial
Dependencies: ODOOSVS sets ODOSLIDE at end.
Remarks: When ODOOSVS is specified, the length of variable-length groups and the address of items following variable-length tables is evaluated at the time when the OCCURS DEPENDING ON item is modified, rather than at the time when the variable-length group or sliding data item is referenced.
Properties:
Default: NOODOSLIDE
Phase: Syntax check
Environment: All
$SET: Initial
Dependencies: Set to ODOSLIDE at end by ODOOSVS.
Remarks: This affects data items that appear after a variable-length table in the same record; that is, after an item with an OCCURS DEPENDING clause, but not subordinate to it.
With ODOSLIDE, these items always immediately follow the table, whatever its current size; this means their addresses change as the table's size changes. With NOODOSLIDE, these items have fixed addresses, and begin after the end of the space allocated for the table at its maximum length.Properties:
Default: NOOLDBLANKLINE
Phase: Syntax check
Environment: All
$SET: Any
Remarks: When OLDBLANKLINE is specified, the BLANK LINE clause behaves exactly the same as ERASE EOL; that is all characters to the right of the cursor are deleted.
With NOOLDBLANKLINE specified, the BLANK LINE clause causes the whole line to be deleted.Properties:
Default: NOOLDCOPY
Phase: Syntax check
Environment: All
$SET: Any
Properties:
Default: NOOLDFILEIO
Phase: Syntax check
Environment: All
$SET: Initial
Properties:
Default: NOOLDINDEX
Phase: Syntax check
Environment: All
$SET: Initial
Dependencies:
Set to NOOLDINDEX immediately by NORM.
Set to OLDINDEX immediately by RM and RM"ANSI".
Remarks: This directive is for compatibility with earlier products.
Properties:
Default: NOOLDNEXTSENTENCE
Phase: Syntax check
Environment: All
$SET: Any
Remarks: When OLDNEXTSENTENCE is specified, the NEXT SENTENCE statement behaves like a CONTINUE statement.
For more details on CONTINUE and NEXT SENTENCE, see your Language Reference.See also:
CONTINUE statement
Properties:
Default: NOOLDREADINTO
Phase: Syntax check
Environment: All
$SET: Any
Remarks: When OLDREADINTO is specified, the IMPLICIT move from the file's record area to the data item specified in the INTO phrase is executed even when the READ is not successful. If NOOLDREADINTO is specified, the MOVE only happens if the READ is successful.
Properties:
Default: NOOLDSTRMIX
Phase: Syntax check
Environment: All
$SET: Any
Remarks: This directive is provided for forward compatibility only.
We recommend that you do not use it as it can lead to unexpected results and the corruption of double-byte data.Properties:
Default: NOOLDSTRSUB
Phase: Syntax check
Environment: All
$SET: Any
Remarks: When OLDSTRSUB is specified, subscripts are evaluated after implicit move operations with STRING, UNSTRING or INSPECT statements.
Since the resultant run-time behavior is not ANSI'85 compliant, this directive should be used only to maintain compatibility with versions of Micro Focus COBOL/2 and LEVEL II COBOL.Parameters:
code Either OBJ or GNT.
Properties:
Default: OMF"OBJ"
Phase: Generate
Environment: 16-bit
$SET: No
Dependencies:
Set to OMF"OBJ" at end by DEFFILE, EANIM, FASTLINK or LITLINK.
OMF"GNT" sets NOOBJLITE and NOMASM at end.
If OPT"0", OMF"GNT" sets OPT"1" at end.
Remarks: The possible values of < code > are:
Parameters:
integer 0, 1, or 2.
Properties:
Default: OPT"2"
Phase: Generate
Environment: 16-bit
$SET: Any
Dependencies:
If OPT"0", set to OPT"1" at end by EANIM, GANIM or OMF"GNT".
OPT"0" sets NOOBJLITE and NODATALIT at end.
Remarks: The possible values of (integer) are:
Properties:
Default: OPTIONAL-FILE
Phase: Syntax check
Environment: All
$SET: Initial
Dependencies:
Set to OPTIONAL-FILE immediately by NORM.
Set to NOOPTIONAL-FILE immediately by RM or RM"ANSI".
Remarks: Under ANSI'85 Standard COBOL, a file is treated as optional only if it has the OPTIONAL phrase in its SELECT statement. For compatibility with the ANSI'85 Standard you must specify the NOOPTIONAL-FILE directive.
Properties:
Default: OPTSIZE
Phase: Generate
Environment: 16-bit
$SET: Initial
Remarks: The directives OPTSPEED and OPTSIZE are alternates. Hence, if you don't want OPTSIZE specify OPTSPEED.
Properties:
Default: OPTSIZE
Phase: Generate
Environment: 16-bit
$SET: Initial
Remarks: The directives OPTSPEED and OPTSIZE are alternates. Hence, if you don't want OPTSPEED specify OPTSIZE.
Other directives such as TRUNC also affect the speed of the program.Parameters:
ext The extension.
Properties:
Default: OSEXT"cbl" (on DOS, Windows and OS/2)
OSEXT"" (on UNIX)
Phase: Syntax check
Environment: All
$SET: Any
Remarks: The extension is added if the source file-name used in the command or prompt does not have an extension or a trailing period. This happens only if the directive is specified in cobol.dir.
It is also used if you specify a source file-name with no extension or trailing period in a COPY statement. The Compiler searches first for the file with the name given by adding the extension specified in this directive. If none is found, it adds the extension(s) specified by the COPYEXT directive and looks again. If that is not found it searches for the file with no extension. Specifying a null extension (OSEXT"") indicates that the file-name has no extension.See also:
COPYEXT Compiler directive
Properties:
Default: NOOSVS
Phase: Syntax check
Environment: All
$SET: Initial
Dependencies: OSVS sets NODOSVS immediately.
See also:
DOSVS Compiler directive
Parameters:
Properties:
Default: NOOUTDD
Phase: Syntax check
Environment: DOS, Windows and OS/2
$SET: Initial
Dependencies:
OUTDD sets NOSYSIN immediately
Set to NOOUTDD immediately by SYSIN
Remarks: When OUTDD is specified, all format 1 DISPLAY statements which either have no UPON option or specify UPON SYSOUT, and all EXHIBIT statements and the output from TRACE are transformed into WRITE statements, writing to a file with the specified external file-name.
The file-name can be mapped onto physical file-names in the same way as other files with external file-names; that is, by using environment variables or the External File Mapper, MFExtmap. The default settings for this directive are the same as those that would be used for this type of DISPLAY and EXHIBIT statement and TRACE output, when the SYSIN directive is used.See also:
DISPLAY statement
EXHIBIT statement
INDD directive
SYSIN directive
TRACE directive
Parameters:
Properties:
Default: No change of reserved words takes place.
Phase: Syntax check
Environment: All
$SET: Initial
Remarks: This directive equates an existing reserved word to the specified user-defined word, so that, in the program, (user-word) is treated as a reserved word, and (rsv-word) can be used as a user-defined word.
The equals signs must be surrounded by spaces. If the parameters are repeated they must be separated by spaces. This directive does not appear in the list created with the SETTING directive.Properties:
Default: NOPANVALET
Phase: Syntax check
Environment: All
$SET: Any
Remarks: The ++INCLUDE statement specifies a file for inclusion in the source program. The string ++INCLUDE must be written as a contiguous sequence of upper-case characters starting in area-A or area-B, followed by one or more spaces, and then, on the same line, by the name of a file containing COBOL source. This file is included in the program at the point where the ++INCLUDE statement appears.
If you specify PANVALET and LIBRARIAN together, a warning message is given advising that the compiled program might not be mainframe-compatible.Properties:
Default: NOPARAMCOUNTCHECK (with OMF"OBJ")
PARAMCOUNTCHECK (with OMF"GNT")
Phase: Generate
Environment: 16-bit
$SET: Initial
Remarks: You must use this directive if any of the following apply:
See also:
LINKCHECK Compiler directive
STICKY-LINKAGE Compiler directive
Properties:
Default: NOPARAS
Phase: Generate
Environment: 16-bit
$SET: Initial
Remarks: Specifying PARAS causes the generated code addresses of all paragraphs and sections to be produced. This list is placed in the listing file specified by the ASMLIST directive. The assembler listing that is normally in this file is suppressed if PARAS is specified.
The ANIM directive must also be specified for the PARAS directive to work.See also:
ASMLIST Compiler directive
ANIM Compiler directive
Properties:
Default: NOPC1
Phase: Syntax check
Environment: All
Dependencies: PC1 sets DEFAULTBYTE"0" and ACCEPTREFRESH immediately.
Remarks: This directive is synonymous with the IBM-MS and MS"1" directives.
Parameters:
dialect MF, OSVS, or RM.
Properties:
Default: PERFORM-TYPE"MF"
Phase: Syntax check
Environment: All
$SET: Initial
Dependencies: PERFORM-TYPE"OSVS" sets TRICKLE at end.
Remarks:
The possible values of
See also:
STICKY-PERFORM Compiler directive
Properties:
Default: NOPREPLIST
Phase: Syntax check
Environment: All
$SET: No
Remarks: This directive is provided as a debugging aid to preprocessor writers.
This directive only affects what the listing file, if produced, contains. It does not determine if a listing file is produced, or the name of the file.Parameters:
Properties:
Default: NOPREPROCESS
Phase: Syntax check
Environment: All
$SET: On very first source line only
No (with NOPREPROCESS)
Remarks: This directive informs the Compiler that an integrated preprocessor is to be used.
For more information on using this directive, see the chapter Integrated Preprocessor Interface in your COBOL System Reference.Parameters:
destination A full file specification, or a device-name.
Properties:
Default: NOPRINT
Phase: Syntax check
Environment: All
$SET: Any
Remarks: PRINT is synonymous with LIST. All rules that apply to LIST also apply to PRINT.
See also:
LIST Compiler directive
Parameters:
extension The extension to be added.
Properties:
Default: No extension is added
Phase: Syntax check
Environment: All
$SET: Any
Remarks: This directive is ignored unless ASSIGN-PRINTER() is specified with no file-name.
See also:
ASSIGN-PRINTER Compiler directive
Properties:
Default: NOPROFILE
Phase: Syntax check
Environment: All
$SET: No
Properties:
Default: NOPROGID-COMMENT
Phase: Syntax check
Environment: All
$SET: Initial
Remarks: This directive is provided for compatibility with earlier versions of this system.
Properties:
Default: NOPROTMODE
Phase: Generate
Environment: 16-bit (If DOS, only under XM)
$SET: Initial
Remarks: The statements optimized are SET ADDRESS OF, SET ... UP and SET ... DOWN.
Code created with PROTMODE can only be run under DOS with XM, OS/2, or Windows. If you try to run it under DOS without XM, a run-time error occurs.See also:
SET statement
Properties:
Default: NOPROTECT-LINKAGE
Phase: Syntax check
Environment: All
$SET: Initial
Remarks: The ANSI COBOL standard states in the general rules for each parameter passed by the CALL statement that "The description of the data item in the called program must describe the same number of character positions as described by the description if the corresponding data item in the calling program.". This restriction must be observed when using this COBOL system unless the program is compiled with the PROTECT-LINKAGE directive.
The restriction is lifted when the PROTECT-LINKAGE directive is set. The called program only uses mismatched parameters as sending items in a statement and does not use them as receiving items. Any character positions in a parameter for which there is no correspondence in the called and calling programs is a mismatched character. The contents of any mismatched character is undefined for a parameter used as a sending item in a called program. Using this directive affects the performance of your application. Example:Properties:
Default: PUBLICENTRY
Phase: Generate
Environment: 16-bit
$SET: Initial
Remarks: NOPUBLICENTRY specifies that entry-points in .obj files are not to be declared as public. This is useful if you want to link two or more .obj files which have common entry-point names.
This directive affects only .obj files.If you experience a problem with this page, please send a message to JTate@JaTomes.Com including a description of the problem.
Last modified: Thursday Aug-06-1998.