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.
- QUAL
-
Allows qualified data-names and procedure-names in your program.
> >-|---|-|----|--QUAL---------------------- > <
|-/-| |-NO-|
Properties:
Default: QUAL
Phase: Syntax check
Environment: All
$SET: Any
Remarks:
If you have no qualified data-names or procedure-names in your source code,
you can specify NOQUAL. This improves compilation speed.
See also:
QUALPROC Compiler directive
- QUALPROC
-
Allows qualified procedure-names in your program.
> >-|---|-|----|--QUALPROC------------------ > <
|-/-| |-NO-|
Properties:
Default: QUALPROC
Phase: Syntax check
Environment: All
$SET: Any
Remarks:
If you have no qualified procedure-names in your source code, you can specify
NOQUALPROC. This improves compilation speed. If you have qualified data-names
but no qualified procedure-names, you should specify QUAL and NOQUALPROC.
See also:
QUAL Compiler directive
- QUERY
-
Makes the Compiler ask, each time it is unable to find a copyfile, what it
should do.
> >-|---|-|----|--QUERY--------------------- > <
|-/-| |-NO-|
Properties:
Default: QUERY (DOS, Windows and OS/2)
NOQUERY (UNIX)
Phase: Syntax check
Environment: All
$SET: Any
Remarks:
With QUERY, if the Compiler cannot find a copyfile it asks you whether to
terminate the compilation, try the search again, produce an error message and
continue, or try again with an alternative path specified by you.
With NOQUERY, the Compiler simply produces an error message and continues.
- QUOTE
-
Makes the Compiler interpret the figurative constant QUOTE as the double-quote
character (").
> >-|---|--QUOTE---------------------------- > <
|-/-|
Properties:
Default: QUOTE
Phase: Syntax check
Environment: All
$SET: Any
Remarks:
The opposite of this directive is the directive APOST which causes the
single-quote character to be used.
- RAWLIST
-
Prevents changeable information, such as page headers, date, time, Compiler
release level, from being included in any listing file produced.
> >-|---|-|----|--RAWLIST------------------- > <
|-/-| |-NO-|
Properties:
Default: NORAWLIST
Phase: Syntax check
Environment: All
$SET: Any
Remarks:
Specifying this directive does not affect whether a listing is produced or the
name of the listing file.
See also:
LIST Compiler directive
- RDEFPTR
-
Causes COMP redefinitions of POINTER data items to be stored in
machine-specific format; that is, treated as COMP-5 data items.
> >-|---|-|----|--RDEFPTR------------------- > <
|-/-| |-NO-|
Properties:
Default: NORDEFPTR
Phase: Syntax check
Environment: All
$SET: Any
Remarks:
The RDEFPTR directive is Early User Syntax support. You must set the
EARLY-RELEASE directive to enable this feature. This directive might change or
be removed in a later revision of this system.
IBM VS COBOL II and COBOL/370 let you use the REDEFINES clause on a POINTER
data item to redefine it as a PIC 9(9) COMP data item. You can then perform
arithmetic operations on this item, giving the program the ability to shift
the address referred to by a pointer up or down.
If RDEFPTR is specified, COMP redefinitions of POINTER data items are held in
machine-specific format; that is, they are treated as COMP-5 data items. This
means that arithmetic carried out on the redefinition should have the expected
effect on the pointer, though, on 16-bit systems, unexpected behavior might
occur if the arithmetic causes the pointer to cross the boundary of a data
segment.
See also:
EARLY-RELEASE Compiler directive
- RDW
-
Enables you to find out the length of a record that has just been read from a
variable-length sequential file.
> >-|---|-|----|--RDW----------------------- > <
|-/-| |-NO-|
Properties:
Default: NORDW
Phase: Syntax check
Environment: All
$SET: Any
Remarks:
If you specify the RDW directive, a four-byte record-length field is allocated
immediately before the record area for the file. After a READ, the length (in
binary) of the record just read is put in the first two bytes of this record
area. The length returned includes the record-length field itself, so is four
bytes longer than the actual record length.
You can access this field by defining the record area as a table, and using
negative or zero subscripting.
The RDW directive is intended only for mainframe compatibility; for new
programs you should use the RECORD IS VARYING DEPENDING ON phrase of the FD
statement.
Example:
fd file-1.
01 rec-1 pic x(100).
01 rec-2.
03 rdw-table pic x(4) occurs 25.
Working-storage section.
01 rdw-area.
03 rec-length pic 9(4) comp.
03 filler pic 9(4) comp.
procedure division.
...
read file-1
move rdw-table (0) to rdw-area
...
See also:
FD statement
- REALOVL
-
Causes overlays to be regarded as real rather than pseudo so that overlaying
is done from disk.
> >-|---|-|----|--REALOVL------------------- > <
|-/-| |-NO-|
Properties:
Default: REALOVL
Phase: Generate
Environment: 16-bit
$SET: Initial
Remarks:
This directive affects only .obj files.
This directive affects only programs that use COBOL segmentation. It affects
only the generated .lnk file. REALOVL makes the overlays real by putting them
in brackets in the file. NOREALOVL makes overlays pseudo.
If you are compiling a segmented program for use on OS/2, you should specify
NOREALOVL.
- RECMODE
-
Specifies the default format of files.
> >-|---|--RECMODE--"format"---------------- > <
|-/-|
Parameters:
format F, V, or OSVS.
Properties:
Default: RECMODE"F"
Phase: Syntax check
Environment: All
$SET: Initial
Remarks:
The possible values of are:
- F - Fixed length record format.
- V - Variable length record format.
- OSVS - Fixed or variable depending on a file's record definitions. If
all record definitions for the file have the same length and are fixed
length, the file is fixed length record format. Otherwise it is in
variable length record format.
This setting is compatible with OS/VS COBOL and DOS/VS COBOL. When
compiled with their CMPR2 directive, both VS COBOL II COBOL/370 are also
compatible with RECMODE"OSVS". For compatibility with VS COBOL II and
COBOL/370 when compiled with NOCMPR2, you must specify RECMODE"F".
For an individual file this directive is overridden if the FD contains either
a RECORD IS VARYING phrase (which specifies variable format) or a RECORDING
MODE clause.
- REF
-
Makes the Compiler include in the source listing the intermediate code address
of each data item or Procedure Division statement.
On DOS, Windows and OS/2, it includes in the object code listing, the address
of each Procedure Division statement.
> >-|---|-|----|--REF----------------------- > <
|-/-| |-NO-|
Properties:
Default: NOREF
Phase: Both
Environment: All (syntax check), 16-bit (generate)
$SET: Any
Dependencies:
REF sets LISTWIDTH"90" immediately unless LISTWIDTH already has a value
greater than 90.
Set to NOREF at end by NOASMLIST, NOLIST or LISTWIDTH with a value less than
90.
Remarks:
The address is four digits long and appears on the right-hand side.
Using both source and object code listings together, you can identify the code
generated for each line of source code. This directive can also be useful in
determining the locations reported in run-time error messages.
If the 01SHUFFLE directive is set, the addresses shown in the listing for data
items are likely to be different to those in the compiled code.
See also:
01SHUFFLE Compiler directive
LISTWIDTH Compiler directive
- REFNO
-
Makes the Compiler display its internal reference number at the start of a
compilation as well as at the bottom of every listing.
> >-|---|-|----|--REFNO--------------------- > <
|-/-| |-NO-|
Properties:
Default: NOREFNO
Phase: Syntax check
Environment: All
$SET: No
- REGPARM
-
Makes the object program use an alternative parameter-passing mechanism, used
in some other COBOL compilers.
> >-|---|-|-------REGPARM--"when-used"-|---- > <
|-/-| ||----|-REGPARM--------------|
|-NO-|
Parameters:
when-used IN or OUT.
Properties:
Default: NOREGPARM
Phase: Generate
Environment: 16-bit
$SET: Initial
Dependencies:
If ASSUME is set, REGPARM"IN" sets NOFASTLINK at end.
If ASSUME is set, REGPARM"OUT" sets LITLINK at end.
Remarks:
This directive affects only .obj files.
(when-used) shows when the alternative mechanism is to be used. Its possible
values are:
- IN - For parameters passed to the program.
- OUT - For passing parameters to other programs.
REGPARM with neither parameter causes this mechanism to be used in both
cases.
With this alternative mechanism, the first parameter is passed in ES:DI, the
second in DS:SI, and subsequent parameters on the stack, such that the third
item in the USING clause is popped off the stack last, and the last item
popped first.
The BP register is saved over calls, emulating the call functions of other
COBOL compilers
If this directive is used with FASTLINK, no USING clause should have more than
three parameters. If REGPARM"OUT" is used, LITLINK is assumed; do not try to
turn it off with NOLITLINK.
REGPARM cannot be used with BY VALUE parameters.
- REMOVE
-
Removes words from the reserved word list, so that they can be used as
user-defined words.
|----------|
. |
> >-|---|--REMOVE--"rsv-word"--------------- > <
|-/-|
Parameters:
rsv-word A reserved word.
Properties:
Default: No reserved words are removed.
Phase: Syntax check
Environment: All
$SET: Initial
Remarks:
This directive does not appear in the list created with the SETTING
directive.
- REPORT-LINE
-
Specifies the maximum length of a report writer line.
> >-|---|-|-----REPORT-LINE--"integer"-|---- > <
|-/-| |-NO--REPORT-LINE------------|
Parameters:
integer The maximum length, in characters.
Properties:
Default: REPORT-LINE"256"
Phase: Syntax check
Environment: All
$SET: Initial
- RESEQ
-
Makes the Compiler produce line numbers.
> >-|---|-|----|--RESEQ--------------------- > <
|-/-| |-NO-|
Properties:
Default: RESEQ
Phase: Syntax check
Environment: All
$SET: Initial
Dependencies:
Set to RESEQ immediately by XREF.
Set to NORESEQ immediately by SEQCHK.
Set to NORESEQ at end by SOURCEFORMAT"FREE".
Remarks:
These are COBOL line sequence numbers, starting at 1 and increasing in
increments of 1.
- RM
-
Specifies that words reserved in Ryan-McFarland COBOL V2.0 are to be regarded
as reserved words, and changes the behavior of certain features to be
compatible with that system.
> >-|---|-|-------RM--"ANSI"-|-------------- > <
|-/-| ||----|-RM---------|
|-NO-|
Parameters:
ANSI See Remarks.
Properties:
Default: NORM
Phase: Syntax check
Environment: All
$SET: Initial
Dependencies:
RM sets SEQUENTIAL"LINE", NOTRUNC, OLDINDEX, NOOPTIONAL-FILE, RETRYLOCK and
ALIGN"2" immediately.
RM"ANSI" sets SEQUENTIAL"RECORD", NOTRUNC, OLDINDEX, NOOPTIONAL-FILE,
RETRYLOCK and ALIGN"2" immediately.
NORM sets SEQUENTIAL"RECORD", TRUNC"ANSI", NOOLDINDEX, OPTIONAL-FILE,
NORETRYLOCK and ALIGN"8" immediately.
Remarks:
With the ANSI parameter these features behave as they do when a program is
compiled in that system with the ANSI switch set. See your Language
Reference.
- RNIM
-
Causes Animator to be invoked instead of the Compiler.
> >-|---|-|----|--RNIM---------------------- > <
|-/-| |-NO-|
Properties:
Default: NORNIM
Phase: Syntax check
Environment: All
$SET: No
Dependencies:
RNIM sets NOLIST, NOANIM and NOXREF immediately.
Set to NORNIM at end by GANIM.
Remarks:
The effect is as if you had invoked Animator in the normal way.
You must have already compiled the program using the ANIM directive to prepare
it for animation.
You can use Animator directives with RNIM.
With RNIM, no object file is produced by default.
See also:
Animator Directives
- RTNCODE-SIZE
-
Specifies the size of the RETURN-CODE special register and its alignment in
memory.
> >-|---|--RTNCODE-SIZE--"integer"---------- > <
|-/-|
Parameters:
integer 2 or 4.
Properties:
Default: RTNCODE-SIZE"2"
Phase: Syntax check
Environment: All
$SET: Initial
Dependencies:
Set to RTNCODE-SIZE"4" immediately by XOPEN.
Remarks:
The possible values of (integer) are:
- 2 - PIC S9(4) COMP: size 2 bytes, aligned on a two-byte boundary.
- 4 - PIC S9(8) COMP: size 4 bytes, aligned on a four-byte boundary.
If a program with a four-byte RETURN-CODE calls a program with a two-byte
RETURN-CODE, on return the value from the called program is in the lower two
bytes of the four-byte RETURN-CODE. The content of the upper two bytes is
undefined.
If a program with a two-byte RETURN-CODE calls a program with a four-byte
RETURN-CODE, on return the lower two bytes of the value from the called
program are in the two-byte RETURN-CODE. The content of the upper two bytes is
lost.