Micro Focus Compiler Options C
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.
- GANIM
-
Makes the Compiler produce extra information so that you can use Xilerator,
available in Toolset and Workbench.
> >-|---|-|----|--GANIM--------------------- > <
|-/-| |-NO-|
Properties:
Default: NOGANIM
Phase: Both
Environment: DOS, Windows and OS/2
$SET: No
Dependencies:
GANIM sets ANIM and NORNIM at end.
If OPT"0", GANIM sets OPT"1" at end.
Remarks: Xilerator is a Micro Focus tool used for debugging programs
at the .exe or .gnt level.
The Compiler produces an extra file with the extension .idy which contains
information required by Xilerator. This is the same file that is used by
Animator, but GANIM causes extra information to be added to the file which
Xilerator needs. The .idy file created by this process can also be used to
animate the program with Animator.
- GNT
-
Specifies the name of the object code file.
> >-|---|-|-----GNT--"file-name"-|---------- > <
|-/-| |-NO--GNT--------------|
Parameters:
file-name A full file specification.
Properties:
Default: GNT"(source-name).gnt" (with OMF"GNT") GNT"(source-name).obj"
(with OMF"OBJ")
Phase: Generate
Environment: 16-bit
$SET: Any
Dependencies: OBJ and GNT are synonymous. Setting NOGNT also sets
NOOBJ.
Remarks: With NOGNT, no object code file is produced.
Setting this directive does not imply OMF"GNT". To ensure that your .gnt
file contains .gnt format object code you must make sure that OMF"GNT" is also
specified.
- GNTANLZ
-
This directive is reserved for use with Workbench. Do not change its
setting unless you have Workbench.
> >-|---|-|-----GNTANLZ--"count-type"-|----- > <
|-/-| |-NO--GNTANLZ---------------|
Parameters:
count-type The type of count needed
Properties:
Default: NOGNTANLZ
Phase: Syntax check
Environment: All
$SET: Initial
Remarks:
Possible values of are:
- COUNT - Count the number of times each block is executed
- TICK - For each block of code, set the count to one when it is executed.
This uses less memory than COUNT.
- HIDE-MESSAGE
-
This directive has been replaced by the directive CHANGEMESSAGE. It remains
for compatibility only, and will be removed in a future release.
Registers the number of a syntax check error message to "hide" so that if the
error is encountered it is ignored.
> >-|---|-|-----HIDE-MESSAGE--"integer"-----|---- > <
|-/-| | |
|-NO--HIDE-MESSAGE--|-----------|-|
|-"integer"-|
Parameters:
integer The number of the syntax check error message to hide.
Properties:
Default: NOHIDE-MESSAGE
Phase: Syntax check
Environment: All
$SET: Any
Remarks:
The Compiler also accepts the directive name without hyphens; that is
HIDEMESSAGE.
HIDE-MESSAGE"(integer)" adds (integer) to a list of syntax check error message
numbers. To hide several error message numbers using this feature, you must
use the HIDE-MESSAGE directive repeatedly.
When the program is being syntax checked, any message with severity E, W, I,
or flag with its number in the list is not shown in any listing. It is not
included in the error summary at the end of the compilation.
Messages with severity S can be hidden only if they were made severity S by
the CHANGEMESSAGE, FLAGAS or FLAGCD directives. Normally, they are always
shown, even if their number appears in this list.
NOHIDE-MESSAGE clears the list of numbers so no messages are hidden.
NOHIDE-MESSAGE"(integer)" removes only the specified message number from the
list.
See also:
CHANGE-MESSAGE Compiler directive
FLAGAS Compiler directive
FLAGCD Compiler directive
- HOST-NUMCOMPARE
-
Controls the operation of comparisons between integer numeric data items of
USAGE DISPLAY and alphanumeric literals or figurative constants.
> >-|---|-|-----HOST-NUMCOMPARE--------|---- > <
|-/-| |-NO--HOST-NUMCOMPARE--------|
Properties:
Default: NOHOST-NUMCOMPARE
Phase: Syntax check
Environment: All
$SET: Any
Remarks:
If the ZWB directive is also specified, HOST-NUMCOMPARE only affects
comparisons involving unsigned numeric data items. If NOZWB is specified,
HOST-NUMCOMPARE affects comparisons involving both signed and unsigned data
items.
If HOST-NUMCOMPARE is specified, affected comparisons are treated as if the
numeric data item were redefined as an alphanumeric item of the same length,
and the comparison made against this redefinition. If NOHOST-NUMCOMPARE is
specified, the numeric field is first moved to an elementary alphanumeric data
item of the same size, and the content of this alphanumeric item is then
compared to the literal.
The HOST-NUMCOMPARE directive only affects comparisons where the numeric data
item contains nonnumeric data at the time of the comparison.
See also:
ZWB Compiler directive
- HOST-NUMMOVE
-
Causes the Compiler to switch off checking for illegal characters in numeric
fields (run-time error 163) during the execution of certain MOVE
statements.
> >-|---|-|----|--HOST-NUMMOVE-------------- > <
|-/-| |-NO-|
Properties:
Default: NOHOST-NUMMOVE
Phase: Syntax check
Environment: All
$SET: Any
Remarks:
The HOST-NUMMOVE directive is Early User Syntax support. You must use the
EARLY-RELEASE directive to enable this feature. This directive might change or
be removed in a later revision of this system.
This directive is provided to improve compatibility with IBM mainframe
Compilers. However, although this directive causes the error to be suppressed,
the result of moving the invalid data is not the same as on the mainframe.
See also:
EARLY-RELEASE Compiler directive
RTS error 163
- IBM-MS
-
Specifies that words reserved in IBM COBOL 1.00 are to be regarded as reserved
words, and changes the behavior of certain features to be compatible with that
system.
> >-|---|-|----|--IBM-MS-------------------- > <
|-/-| |-NO-|
Properties:
Default: NOIBM-MS
Phase: Syntax check
Environment: All
$SET: Initial
Dependencies:
IBM-MS sets DEFAULTBYTE"0" and ACCEPTREFRESH immediately.
Remarks:
This directive is synonymous with the PC1 and MS"1" directives.
- IBMCOMP
-
Turns on word-storage mode.
> >-|---|-|----|--IBMCOMP------------------- > <
|-/-| |-NO-|
Properties:
Default: NOIBMCOMP
Phase: Syntax check
Environment: All
$SET: Initial
Dependencies:
IBMCOMP sets ALIGN"8" immediately.
Remarks:
In word-storage mode every data item of USAGE COMP or COMP-5 occupies either
two bytes or a multiple of four bytes. If you specify IBMCOMP and you use the
SYNCHRONIZED clause on any items defined as USAGE COMP or COMP-5 in your
program, do not specify ALIGN"1".
If you are calling any Micro Focus systems routines directly, use IBMCOMP with
great care. It might cause the parameters you specify to these routines to be
incorrectly aligned and sized, causing the routines to give incorrect results.
This includes parameters for the CBL_ library routines, calls to Adis or
direct calls to the Callable File Handler, Extfh.
- IDXFORMAT
-
Specifies the format to use when creating indexed files.
> >-|---|--IDXFORMAT--"integer"------------- > <
|-/-|
Parameters:
integer Must be between 0 and 6.
Properties:
Default: IDXFORMAT"0"
Phase: Syntax check
Environment: All
$SET: Any
Dependencies:
Set to IDXFORMAT"(integer)" immediately by FILETYPE"(integer)".
Remarks:
The possible values of (integer) are:
- 0 System specific default (for this COBOL system, same as 3).
- 1 C-ISAM format.
- 2 Micro Focus Level II format.
- 3 The format used by this COBOL system.
- 4 An optimized form of the format used by this system, for fast
duplicate key handling.
- 5 Btrieve format (with ANSI conformance emulation).
- 6 Btrieve format (without ANSI conformance emulation).
Existing files in any of the given formats are processed correctly without the
need for this directive. This directive controls the format used when creating
new files.
Specifying 3 always causes the format used by this system to be created; if
you specify 0, and you are using your program with a file handler from a
different system, the default for that system is created.
Specifying 4 might make the files larger than their IDXFORMAT"3"
equivalents.
Micro Focus Level II format files are compatible with Micro Focus products
such as Level II COBOL, Professional COBOL V1.2, and VS COBOL Workbench
versions up to and including V1.3. (See the chapter Files in your COBOL System
Reference for further information.)
You must not use the ANS85 directive to enable ANSI'85 behavior when using
IDXFORMAT"2". However, you can use ANS85"SYNTAX" to enable ANSI'85 syntax.
- INCLUDE-FILLER
-
Causes information regarding FILLER data items to be stored in the .idy
file.
> >-|---|-|----|--INCLUDE-FILLER------------ > <
|-/-| |-NO-|
Properties:
Default: NOINCLUDE-FILLER
Phase: Syntax check
Environment: All
$SET: Any
Remarks:
INCLUDE-FILLER makes FILLER data items visible to tools in Toolset, Toolbox
and Workbench.
Including these data items increases the size of the .idy file.
- INDD
-
Causes ACCEPT statements to be read from a specified file.
> >-|---|-|-------INDD--"fname rsize rtype ctype"-| > <
|-/-| |-------INDD--"fname rsize rtype"-------|
|-------INDD--"fname rsize"-------------|
|-------INDD--"fname"-------------------|
||----|-INDD----------------------------|
|-NO-|
Parameters:
- fname - Name of file to be read for the specified ACCEPT
statements. When this parameter is not specified the name used is SYSIN.
- rsize - Size of the data records in the file. When this parameter
is not specified the size used is 80.
- rtype - Either L for Line Sequential or R for Record Sequential.
When this parameter is not specified, L is used.
- ctype - Either A for ASCII or E for EBCDIC. When this parameter is
not specified, A is used.
E only has effect when the CHARSET(EBCDIC) directive is
used.
Properties:
Default: NOINDD
Phase: Syntax check
Environment: DOS, Windows and OS/2
$SET: Initial
Dependencies:
INDD sets NOSYSIN immediately
Set to NOINDD immediately by SYSIN
Remarks:
When INDD is specified, all format 1 ACCEPT statements which either have no
FROM option or specify FROM SYSIN (or the mnemonic name associated with SYSIN)
are transformed into READ statements, reading from 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 ACCEPT statement when the SYSIN directive is used.
See also:
ACCEPT statement
OUTDD directive
SYSIN directive
- INFORETURN
-
Specifies the return-code value returned by the Compiler when it produces only
informational messages.
> >-|---|--INFORETURN--"integer"------------ > <
|-/-|
Parameters:
integer Must be between 0 and 4.
Properties:
Default: INFORETURN"0"
Phase: Syntax check
Environment: All
$SET: Any
Remarks:
When the Compiler terminates it returns a value that can be tested by an
operating system command to determine the success or otherwise of the
compilation. The values for termination are described in your COBOL System
Reference. This directive enables you to set the value to be returned if the
Compiler only outputs informational messages.
- INITCALL
-
Specifies modules to be called immediately before the first statement of the
program is executed.
> >-|---||-----INITCALL--"module"-|------------|| > <
|-/-|| |-"priority"-||
|-NO--INITCALL-------------------------|
Parameters:
- module - The module to be called.
- priority - The priority to assign to the execution of the
module.
Properties:
Default: NOINITCALL
Phase: Syntax check
Environment: All
$SET: Initial
Remarks:
The possible values of are:
- H - High priority (the default if no priority is specified)
- L - Low priority
Specifying INITCALL causes the Compiler to insert a call to the named module.
At run time, the module specified is called before any procedural code is
executed. You cannot pass parameters to the called module.
To call several modules using this feature, you must use the INITCALL
directive repeatedly. NOINITCALL clears the list of modules to be called.
Calls specified with a high priority are placed before all calls with a low
priority, as well as other calls made by the Compiler. Low priority calls are
placed after other calls made by the Compiler. Calls with the same priority
are executed in the order they are specified.
- INT
-
Specifies the name of the intermediate code file.
> >-|---|-|-----INT-|-"path-name\file-name"-|-|-- > <
|-/-| | |-"path-name/file-name"-| |
| |-"path-name\"----------| |
| |-"path-name/"----------| |
| |-"file-name"-----------| |
| |-()--------------------| |
|-NO--INT---------------------------|
Parameters:
- path-name - Path or environment variable specifying the path.
- file-name - A full file specification.
Properties:
Default: INT"(source-name).int"
Phase: Syntax check
Environment: All
$SET: No
Dependencies:
NOINT sets NOANIM and NOSTRUCT immediately.
Remarks:
This directive is not available in the Micro Focus COBOL system for DOS,
Windows and OS/2 without Toolset, Workbench or a similar add-on product from
Micro Focus. Do not change its setting unless you have an appropriate
system.
When no .obj file is required from the Compiler, or when the ANIM directive is
used, an intermediate code file is produced. This directive specifies the name
for that file.
Specifying NOINT prevents the intermediate code file being produced.
If you specify an existing file, it is overwritten.
If (file-name) is not specified, the Compiler uses the source file-name
(source-name) with the extension .int attached. If you specify (path-name)
but no (file-name), the Compiler uses the path-name, with the file-name
(source-name).int attached.
INT() causes intermediate code to be put in the standard file
(source-name).int. With this format you must use parentheses not quotation
marks. So, INT"" does not give this result.
Use the INT directive with caution. Incorrect use can abort the compilation
process.
- INTLEVEL
-
When intermediate code is being created by the Compiler, this directive
controls the level of portability of the code created to different versions of
Micro Focus COBOL systems in other environments.
> >-|---|-|-----INTLEVEL--"integer"-|------- > <
|-/-| |-NO--INTLEVEL------------|
Parameters:
integer The level of portability. Can be 1 or 2.
Properties:
Default: INTLEVEL"2"
Phase: Syntax check
Environment: All
$SET: No
Remarks:
This directive is not available in the Micro Focus COBOL system for DOS,
Windows and OS/2 without Toolset, Workbench or similar add-on products from
Micro Focus. Do not change its setting unless you have an appropriate system.
Full details of intermediate code portability are included with the relevant
systems.
NOINTLEVEL causes intermediate code to be created that is suitable for
execution only in this environment.
INTLEVEL"(integer)" creates intermediate code that can be executed by some
versions of Micro Focus products in other environments. For portability
between environments, the value of (integer) used for compilation must be
supported by the Micro Focus COBOL system on each environment on which you
want to execute the intermediate code.
INTLEVEL"(integer)" can limit the syntax that can be used in your program.
- IOCONV
-
Selects between a straight group move and conversion of elementary record
descriptions (ANSI behavior) when processing READ ... INTO and WRITE ... FROM
statements.
> >-|---|-|----|--IOCONV-------------------- > <
|-/-| |-NO-|
Properties:
Default: IOCONV
Phase: Syntax check
Environment: All
$SET: Any
Remarks:
NOIOCONV causes a straight group move for READ ... INTO and WRITE ... FROM
operations. This is for backward compatibility. IOCONV causes conversion
elementary record descriptions when required. This is normal ANSI behavior,
and the default.