This list includes the VSI COBOL command qualifiers and options for the COBOL command.
1 /ALIGNMENT
/ALIGNMENT[=[NO]PADDING] /NOALIGNMENT (D) Specifies the alignment of binary data items within record structures. Specifying /ALIGNMENT uses OpenVMS Alpha and I64 data alignment to increase performance and conformity to the OpenVMS Alpha and I64 calling standards. The /ALIGNMENT qualifier specifies natural alignment; it aligns all COMP, COMP-1, COMP-2, INDEX, and POINTER data along natural boundaries. A natural boundary is the smallest boundary at which data can be aligned without crossing the next boundary for that type. For example, longword is the natural boundary for four byte integers. Specifying /ALIGNMENT is equivalent to using the SYNCHRONIZED clause or using ALIGNMENT compiler directives. (Refer to the COBOL Reference Manual for information about the SYNCHRONIZED clause.) The /ALIGNMENT=PADDING option indicates Alpha and I64 natural alignment and padding of records according to the OpenVMS Alpha and I64 calling standard. The default, /NOALIGNMENT, specifies OpenVMS VAX compatible data alignment. This qualifier aligns data on byte boundaries for compatibility with HP COBOL for OpenVMS VAX and other OpenVMS VAX languages. The alignment you specify remains in effect throughout a given compilation, except as modified by ALIGNMENT compiler directives. For more information about the behavior of the /ALIGNMENT qualifier and ALIGNMENT compiler directives, refer to the Directives section (in this online HELP facility) and the COBOL User Manual.
2 /ANALYSIS_DATA
/ANALYSIS_DATA[=file-spec] /NOANALYSIS_DATA (D) Indicates whether an ANA file is created during compilation. If you have the Source Code Analyzer (SCA) installed on your system, you can use the /ANALYSIS_DATA qualifier to generate an output file of source-code analysis information. The source-code information file generated by the /ANALYSIS_DATA qualifier has a default file name of the primary source file and a default file type of ANA. SCA uses the ANA file to display information about program symbols and source files. The default, /NOANALYSIS_DATA, does not generate an ANA file. For more information about SCA, see the Guide to Source Code Analyzer for OpenVMS Systems.
3 /ANSI_FORMAT
/ANSI_FORMAT /NOANSI_FORMAT (D) Indicates that the source program is in conventional ANSI format. The compiler then expects 80-character card image records with optional sequence numbers in character positions 1 through 6, indicators in position 7, Area A beginning in position 8, Area B beginning in position 12, and the identification area in positions 73 through 80. The default, /NOANSI_FORMAT, indicates that the source program is in VSI COBOL terminal format, where Area A begins in position 1, Area B begins in position 5, and the source program records do not have line numbers.
4 /ARCHITECTURE
/ARCHITECTURE=option
/ARCHITECTURE=GENERIC (D)
Determines the type of Alpha chip code that will be generated for a
particular program. The /ARCHITECTURE qualifier uses the same
options (keywords) as the /OPTIMIZE=TUNE qualifier.
Whereas the /OPTIMIZE=TUNE qualifier is primarily used by certain
higher-level optimizations for instruction scheduling purposes, the
/ARCHITECTURE qualifier determines the type of code instructions
generated for the program unit being compiled.
OpenVMS Alpha V7.1 and subsequent releases provide an
operating system kernel that includes an instruction emulator.
This emulator allows new instructions, not implemented on the host
processor chip, to execute and produce correct results.
Applications using emulated instructions will run correctly, but
may incur significant software emulation overhead at runtime.
All Alpha processors implement a core set of instructions. Certain
Alpha processor versions include additional instruction extensions.
The following /ARCHITECTURE options are supported:
GENERIC
Generates code that is appropriate for all Alpha processor
generations. This is the default.
Programs compiled with the GENERIC option run all implementations
of the Alpha architecture without any instruction emulation
overhead.
HOST
Generates code for the processor generation in use on the system
being used for compilation.
Programs compiled with this option on other implementations of
the Alpha architecture may encounter instruction emulation
overhead.
EV4
Generates code for the 21064, 21064A, 21066, and 21068
implementations of the Alpha architecture.
Programs compiled with the EV4 option run without instruction
emulation overhead on all Alpha processors.
EV5
Generates code for some 21164 chip implementations of the Alpha
architecture that use only the base set of Alpha instructions (no
extensions).
Programs compiled with the EV5 option run without instruction
emulation overhead on all Alpha processors.
EV56
Generates code for some 21164 chip implementations that use the
byte and word manipulation instruction extensions of the Alpha
architecture.
Programs compiled with the EV56 option may incur emulation
overhead on EV4 and EV5 processors, but will still run correctly
on OpenVMS Alpha V7.1 (or later) systems.
EV6
Generates code for the 21264 chip implementation that uses the
following extensions to the base Alpha instruction set: BWX
(Byte/Word manipulation) and MAX (Multimedia) instructions, and
square root and FIX (Floating-point convert) instructions.
Programs compiled with the EV6 option may incur emulation
overhead on EV4, EV5, EV56, and PCA56 processors, but will still
run correctly on OpenVMS Alpha V7.1 (or later) systems.
EV67, EV68
Generates code for the 21264A chip implementation that uses the
following extensions to the base Alpha instruction set: BWX
(Byte/Word manipulation) and MAX (Multimedia) instructions, square
root and FIX (Floating-point convert) instructions, and CIX (Count)
instructions.
Programs compiled with the EV67 or EV68 options may incur emulation
overhead on EV4, EV5, EV56, EV6, and PCA56 processors, but will still
run correctly on OpenVMS Alpha V7.1 (or later) systems.
PCA56
Generates code for the 21164PC chip implementation that uses the
byte and word manipulation instruction extensions and multimedia
instruction extensions of the Alpha architecture.
Programs compiled with the PCA56 option may incur emulation
overhead on EV4, EV5, and EV56 processors, but still run
correctly on OpenVMS Alpha V7.1 (or later) systems.
/ARCHITECTURE is currently ignored on OpenVMS I64.
5 /ARITHMETIC
/ARITHMETIC={NATIVE,STANDARD}
Specifies whether native arithmetic or standard arithmetic is used to
evaluate arithmetic operations and statements.
NATIVE Selects native arithmetic. Arithmetic operations
will produce results that are reasonably compatible
with releases of HP COBOL for OpenVMS Alpha prior
to V2.7 and also with HP COBOL for OpenVMS VAX.
STANDARD Selects standard arithmetic. Most common arithmetic
operations will produce results that are predictable,
reasonable, and portable. In this context, portable
means that the results will be identical from
implementation to implementation. Choosing the STANDARD
option forces /MATH_INTERMEDIATE=CIT4.
The default is /ARITHMETIC=NATIVE.
6 /AUDIT
/AUDIT[=("string",...)]
/NOAUDIT (D)
Controls whether user-supplied text is included in a
CDD/Repository history list entry if a compilation accesses the
dictionary.
You can specify from 1 to 64 strings with the /AUDIT qualifier.
If you specify more than one string, separate them with commas
and enclose the list in parentheses.
If you specify /AUDIT without a string, the compiler creates
standard history list entries with no additional text in the
dictionary for COPY FROM DICTIONARY records and for information
put in the dictionary as a result of specifying the
/DEPENDENCY_DATA qualifier. Only one user-supplied string
is included in these entries, even though up to 64 can be
specified.
The default, /NOAUDIT, suppresses the creation of history list
entries.
7 /CHECK
/CHECK[=(option[,...])]
/NOCHECK (D)
Specifies conditions to be checked at execution time. Controls
whether the system checks the validity of numeric digits or
PERFORM statements, indexes, subscripts, reference
modification, and the OCCURS DEPENDING ON depending item for
specific run-time errors. If you specify a qualifier option,
the default options do not change unless they are individually
modified.
You can select one or more of the following options:
[NO]PERFORM Verifies that PERFORM statement rules are met.
The default is NOPERFORM.
[NO]BOUNDS Verifies the range of subscripts and reference
modifiers. The default is NOBOUNDS.
[NO]DECIMAL Validates numeric digits when using display
numeric items in a numeric context. The default
is NODECIMAL.
[NO]DUPLICATE_KEYS Verifies that the duplicate key specification
for indexed file keys in the source program
matches the duplicate key specification in the
physical file. The default is NODUPLICATE_KEYS.
ALL Same as /CHECK without any options.
NONE Same as /NOCHECK. Default if /CHECK is not used.
Specifying /CHECK=PERFORM controls whether the system checks PERFORM
statements. Incorrect use of PERFORM statements can produce
unpredictable results and, when used with the PERFORM option, causes
the system to generate a run-time message and abort the program.
Specifying /CHECK=BOUNDS controls whether the system checks the range
of subscripts, indexes, and the depending item in the DEPENDING ON
phrase of the OCCURS clause. The system generates a run-time message
and aborts the program if it detects one of these errors:
If DEPENDING ON is not specified and a subscript or index is
greater than the upper bound or less than or equal to zero
If DEPENDING ON is specified and a subscript or index is
greater than the depending item or less than or equal to zero
If a depending item is less than the low bound or greater
than the upper bound, and either a subscripted or indexed
item references a table or a group containing the table is
referenced as a sending item
Specifying /CHECK=DECIMAL controls whether the system checks for
numeric characters when using numeric display items in a numeric
context and generates an error if any digit is invalid (not
numeric).
Specify /CHECK=DECIMAL to validate data produced by other systems
that might use a different internal representation for numeric data.
You can also use this qualifier option to detect logic errors in
programs that result in text data being moved to numeric data items.
Specifying /CHECK=DECIMAL produces extra instructions to perform
these checks, which may result in slightly larger images and
slightly longer execution times than the /CHECK=NODECIMAL qualifier
option.
The default, /NOCHECK, is the equivalent of /CHECK=NONE.
Specify /CHECK with the /NOOPTIMIZE qualifier, as optimization can
make finding error found by /CHECK more difficult.
8 /CONDITIONALS
/CONDITIONALS[=(character,...)] /NOCONDITIONALS (D) Controls whether the conditional compilation lines in a source program are compiled or treated as comments. Specifying /CONDITIONALS results in all conditional compilation lines being compiled. Specifying /CONDITIONALS=(selector,...), where a selector is a list of one or more characters from A to Z, results in the selected conditional compilation lines being compiled. If you specify more than one selector, separate them with commas and enclose the list in parentheses. The default, /NOCONDITIONALS, results in all conditional compilation lines being treated as comments during compilation.
9 /CONVERT
/CONVERT[=(option[,...])]
/NOCONVERT (D)
Instructs the compiler to perform certain conversions to
your data.
You can select the following option:
[NO]LEADING_BLANKS Controls whether or not the compiler
changes blanks to zeros in
numeric display items.
Specifying /CONVERT=LEADING_BLANKS instructs the compiler to check
for and change blanks to zeros in numeric display items.
Specify /CONVERT=LEADING_BLANKS, if you are using a non-VAX system,
to convert your existing COBOL programs to run on an OpenVMS Alpha
or I64 system by changing blanks in the data to zeros at run time.
Specifying /CONVERT=LEADING_BLANKS produces extra instructions to
perform these data conversions, which may result in slightly larger
images and slightly longer execution times than the /NOCONVERT
qualifier.
The default is /NOCONVERT.
10 /COPY_LIST
/COPY_LIST /NOCOPY_LIST (D) Controls whether source statements included by COPY statements are printed in the listing file. The /COPY_LIST qualifier has no effect unless you also specify the /LIST qualifier. The default, /NOCOPY_LIST, suppresses the listing of text copied from library files; only the COPY statement appears in the listing file.
11 /CROSS_REFERENCE
/CROSS_REFERENCE[=(option[,...])]
/NOCROSS_REFERENCE (D)
Controls whether the source listing file includes a
cross-reference listing.
The /CROSS_REFERENCE qualifier has no effect unless you also
specify the /LIST qualifier.
You can select one or both of the following options:
ALPHABETICAL The compiler sorts user-defined names in
alphabetical order and lists them with the source
program line numbers on which they appear.
/CROSS_REFERENCE=ALPHABETICAL is the equivalent
of /CROSS_REFERENCE.
DECLARED Produces a listing of user-defined names in order
of declaration.
If you specify /CROSS_REFERENCE=(ALPHABETICAL, DECLARED), the
compiler produces a listing of user-defined names in both
alphabetical and declared order in the same compilation.
In the listing file, the pound sign ( ) indicates the source line
containing the definition of the user-defined name, while the
asterisk (*) indicates a line on which the associated data item
is modified.
The default, /NOCROSS_REFERENCE, suppresses the cross-reference
listing.
12 /DEBUG
/DEBUG[=(option[,...])]
/NODEBUG
Controls whether the compiler produces traceback and local symbol
table information for the VMS Debugger. The /DEBUG qualifier
allows you to refer to data items by data name, and to Procedure
Division locations by line number, paragraph name, and section
name. You can also view source lines from source files and
files included by simple COPY statements. The debugger cannot
reference source lines from CDD/Repository or any line in which text
has been replaced. If you specify a qualifier option, the
default options do not change unless they are individually
modified.
You can select one or more of the following options:
[NO]SYMBOLS Produces a local symbol table that allows you to
refer to data items by data name and to source
lines by line number. The default is NOSYMBOLS.
[NO]TRACEBACK Produces traceback information only to provide
the debugger with compiler-generated line
numbers and names. The default is TRACEBACK.
ALL Provides traceback and local symbol table
information. /DEBUG=ALL is the equivalent of
/DEBUG or /DEBUG=(TRACEBACK,SYMBOLS).
NONE Omits traceback and local symbol table information.
/DEBUG=NONE is the equivalent of /NODEBUG.
The default is /DEBUG=TRACEBACK.
13 /DEPENDENCY_DATA
/DEPENDENCY_DATA
/NODEPENDENCY_DATA (D)
Controls whether or not a compiled module entity is stored in
CDD/Repository. If you have CDD/REpository installed on your
system, you can use the /DEPENDENCY_DATA qualifier to store
CDD/Repository relationship information in the dictionary. The
information generated will correlate the VSI COBOL program with:
a. The object file created by the compilation
b. CDD/Repository entities specified in COPY FROM
DICTIONARY statements
c. CDD/Repository entities explicitly referenced in the
RECORD DEPENDENCY statements
The default, /NODEPENDENCY_DATA, indicates that a compiled module
entity and CDD/Repository relationships will not be recorded in
CDD/Repository.
14 /DIAGNOSTICS
/DIAGNOSTICS[=file-spec] /NODIAGNOSTICS (D) Creates a diagnostic file containing compiler messages and diagnostic information. The diagnostic file is reserved for use by HP. The Language-Sensitive Editor (LSE) uses the diagnostic file to display diagnostic messages and to position the cursor on the line and column where a source error exists. The default file type for a diagnostic file is DIA. The default, /NODIAGNOSTICS, suppresses the creation of a diagnostic file.
15 /DISPLAY_FORMATTED
/DISPLAY_FORMATTED /NODISPLAY_FORMATTED (D) In COBOL DISPLAY statements, supports the WITH CONVERSION syntax implicitly for numeric data fields which contain non-printing values. The compile-time qualifier /DISPLAY_FORMATTED must be explicitly present in the compilation command line to cause the conversion of non-printing numeric values to human-readable printing values when they are displayed at the user's terminal display unit. The default, /NODISPLAY_FORMATTED, retains the behaviour of not converting non-printing numeric values when displaying them to the user's terminal display.
16 /FIPS
/FIPS=74
/NOFIPS (D)
Supports the Federal Information Processing Standards Publication
21--1 (FIPS-PUB 21--1), issued by the U.S. National Bureau of
Standards, interpretation of file status.
FIPS-PUB 21--1 specifies that a file status of 10 be returned when
reporting at end conditions. The /FIPS=74 qualifier returns a file
status of 10 when reporting at end conditions.
The following table compares the file status values that are
returned when you use or do not use the /FIPS=74 qualifier. Note
that these at end file status values apply to any file organization
accessed sequentially.
__________________________________________________________________
FILE STATUS VALUES
__________________________________________________________________
/FIPS=74 /NOFIPS
__________________________________________________________________
The file has no next logical record. 10 13
An optional file was not present. 10 15
The program did not establish a valid 10 16
next record.
__________________________________________________________________
The default, /NOFIPS, ensures version to version compatibility
for COBOL.
The /FIPS=74 and /NOFIPS qualifier only apply when you also specify
/STANDARD=V3.
17 /FLAGGER
/FLAGGER[(=option,...)]
/NOFLAGGER (D)
Allows you to specify a FIPS level of COBOL syntax, in accordance
with the Federal Information Processing Standards Publication 21-3
(FIPS-PUB 21-3) issued by the U.S. National Bureau of Standards,
beyond which the compiler generates informational messages. To
receive these informational messages, you must also specify
/WARNINGS=ALL or /WARNINGS=INFORMATIONAL. Use the /FLAGGER qualifier
when you know that your target system's compiler has a low level of
FIPS syntax support.
The following table shows the required functional processing modules
and the optional modules supported by VSI COBOL. The table also shows
the COBOL subsets that correspond to the FIPS levels of Minimum,
Intermediate, and High. The levels numbers (0, 1, and 2) correspond
to the levels indicated in the 1985 ANSI COBOL standard.
__________________________________________________________________
RELATIONSHIP AMONG VSI COBOL MODULES, SUBSETS, AND LEVELS
__________________________________________________________________
COBOL Subsets
________________________________________
Minimum Intermediate High
__________________________________________________________________
Required Modules
__________________________________________________________________
Nucleus 1 1 2
Sequential I-O 1 1 2
Relative I-O 0 1 2
Indexed I-O 0 1 2
Interprogram Communication 1 1 2
Sort-merge 0 1 1
Source Text Manipulation 0 1 2
__________________________________________________________________
Optional Modules
__________________________________________________________________
Report Writer --, or 1 --, or 1 --, or 1
Segmentation --, 1, or 2 --, 1, or 2 --, 1, or 2
__________________________________________________________________
Table Legend:
0---Null level (the module is not included in the subset)
1---First nonnull level
2---Second nonnull level
Dash---Optional
__________________________________________________________________
When you use the /FLAGGER qualifier with its options, you receive
informational messages for syntax in the source program as follows:
a. Not within the FIPS validation level you selected
b. Within the optional module you selected
c. For obsolete language elements as defined by the ANSI 1985
standard for the COBOL language
d. For HP extensions to the COBOL language
You can select one or more of the following options:
HIGH_FIPS Flags language constructs that are above
the FIPS high validation level, such as
HP extensions to ANSI COBOL.
INTERMEDIATE_FIPS Flags language constructs that are above
the FIPS intermediate validation level,
such as language constructs that are
within the FIPS high validation level or
HP extensions to ANSI COBOL.
MINIMUM_FIPS Flags language constructs that are above
the FIPS minimum validation level, such
as language constructs that are within
the FIPS high and intermediate validation
levels or HP extensions to ANSI COBOL.
OBSOLETE Flags language constructs that the ANSI
1985 COBOL Standard identifies as obsolete.
If a language construct is within the
selected FIPS validation level or optional
module and is also on the obsolete list,
the compiler generates only the obsolete
informational message.
OPTIONAL_FIPS Flags language constructs that are within
FIPS optional modules, including Report
Writer and Segmentation.
REPORT_WRITER A subset of OPTIONAL_FIPS that flags
language constructs that are within the
FIPS optional module Report Writer.
SEGMENTATION A subset of OPTIONAL_FIPS that flags
language constructs that are within the
FIPS optional module Segmentation.
SEGMENTATION_1 A subset of OPTIONAL_FIPS that flags
language constructs that are above the
level 1 of the FIPS optional module
Segmentation.
You can use any combination of qualifier options. If you specify
more than one validation level, the compiler uses the lowest level.
If you use the /FLAGGER qualifier without specifying a FIPS level
and with another option, the compiler assumes /FLAGGER=HIGH_FIPS.
You cannot specify the /FLAGGER qualifier with the /STANDARD=V3
qualifier.
The default is /NOFLAGGER.
For additional information about the required and optional modules
for the COBOL language, refer to the American National Standard
Programming Language - COBOL, ANSI X3.23-1895, ISO 1989-1985. For
more information about the FIPS validation levels, see Federal
Information Processing Standards Publication 21-3.
18 /FLOAT
/FLOAT=[option]
Specifies the floating-point data format to be used in memory
for single and double precision data items.
You can use the /FLOAT qualifier at compile time to specify
either VAX F_floating or IEEE S_floating formats for single
precision data items or VAX D_floating or VAX G_floating or
IEEE T_floating formats for double precision data items. You
cannot mix VAX and IEEE formats in the same compilation unit.
You can select one of the following options:
D_FLOAT Specifies that the memory format for COMP-1
data is VAX F_floating and for COMP-2 data
is VAX D_floating. The default is D_FLOAT
on OpenVMS Alpha.
Note that D_floating on Alpha and I64 is
not 100% compatible with D_floating on VAX.
G_FLOAT Specifies that the memory format for COMP-1
data is VAX F_floating and for COMP-2 data
is VAX G_floating.
Note that G_floating on I64 is not 100%
compatible with G_floating on Alpha and VAX.
IEEE_FLOAT Specifies that the memory format for COMP-1
data is IEEE S_floating and for COMP-2 data
is IEEE T_floating. The default is IEEE_FLOAT
on OpenVMS I64.
The IEEE standard for binary floating-point arithmetic,
ANSI/IEEE 754-1985, defines four floating-point formats in two
groups, basic and extended, each group having two widths, single
and double. The Alpha architecture supports the basic single
and double formats. Refer to the Alpha Architecture Reference Manual
for more information about using floating-point data types with
the Alpha architecture.
Because the Alpha and I64 architectures are IEEE-compliant, you can run
existing COBOL programs containing IEEE floating-point data formats
with VSI COBOL.
Specifying /FLOAT without an option is equivalent to specifying
/FLOAT=D_FLOAT on OpenVMS Alpha and /FLOAT=IEEE_FLOAT on OpenVMS I64.
19 /GRANULARITY
/GRANULARITY[=option ]
Specifies the minimum size of a memory access. Use this qualifier
if different processes sharing memory attempt to update different
parts of the same aligned quadword concurrently.
The option can be one of the following:
o BYTE - Used if concurrent processes sharing memory may
be updating different bytes within the same
quadword.
o LONG - Used if concurrent processes sharing memory may
be updating different longwords within the same
quadword.
o QUAD - (default) Used for best performance if you are
sure that no concurrent updates will occur
within the same aligned quadword.
20 /INCLUDE
/INCLUDE=(pathname[,...])
/NOINCLUDE (D)
Provides an additional level of search for non-dictionary COPY
files whose names do not include a directory component.
Each pathname argument can be either a logical name or a legal
directory specification. The compiler first searches for copy
files in the current default directory. If the file is not
found, each "pathname" location is searched in the order of
specification on the command line. The first file located that
satisfies the COPY statement is used and the search terminates.
/NOINCLUDE, which is the default, means to only search for files
in the current default directory.
This option applies to .LIB files or .TLB files depending on the
type of COPY statement used.
21 /LIST
/LIST[=file-spec] /NOLIST Controls whether the compiler produces an output listing file. When you specify /LIST, you can control the defaults applied to the output file specification by your placement of the qualifier in the command. The listing file always contains a listing of the source program. Other portions of the listing file are optionally produced under the control of the /MACHINE_CODE, /MAP, and /CROSS_REFERENCE qualifiers. The /LIST qualifier is required when you want to use the /CROSS_REFERENCE, /COPY_LIST, /FLAGGER, /MACHINE_CODE, or /MAP qualifiers. In batch mode, /LIST, the default, causes the compiler to create an output listing file with the same file name as the input source file and with a default file type of LIS. In interactive mode, /NOLIST, the default, suppresses the creation of a listing file.
22 /MACHINE_CODE
/MACHINE_CODE /NOMACHINE_CODE (D) Controls whether the listing file contains a list of compiler generated machine code. The /MACHINE_CODE qualifier has no effect unless you also specify the /LIST qualifier. The default, /NOMACHINE_CODE, suppresses compiler generated machine code in the listing file. If you specify the /MACHINE_CODE qualifier with the /OPTIMIZE qualifier, the machine code listing may not reflect the actual code executed for a given statement nor the order of execution.
23 /MAP
/MAP[=option]
/NOMAP (D)
Controls whether the compiler produces the following maps in the
listing file:
a. data names, procedure names, file names, and their
attributes
b. external references such as user-called routines or
Run-Time Library routines
You can control the format of the data name, procedure name, and
file name maps in the listing file by specifying one or both of
the following options:
ALPHABETICAL Produces an alphabetical list of map items
/MAP=ALPHABETICAL is the equivalent of /MAP.
DECLARED Produces a list of map items in the order
in which they were declared
If you specify /MAP=(ALPHABETICAL,DECLARED), the compiler produces
both alphabetical and declared map listings.
The /MAP qualifier has no effect unless you also specify the /LIST
qualifier.
The default, /NOMAP, suppresses the creation of maps in the listing
file.
24 /MATH_INTERMEDIATE
/MATH_INTERMEDIATE[={FLOAT,CIT3,CIT4}]
Specifies the intermediate data type to be used when the result of an
arithmetic operation can not be represented exactly.
FLOAT Selects double-precision floating-point for the
intermediate data type. Intermediate values are
truncated to the most significant 53 bits, providing
approximately 15 decimal digits of precision.
CIT3 Selects COBOL Intermediate Temporary (design 3) for
the intermediate data type. Intermediate values are
truncated to the most significant 18 decimal digits.
CIT4 Selects COBOL Intermediate Temporary (design 4) for
the intermediate data type. Intermediate values are
truncated to the most significant 32 decimal digits.
The default is /MATH_INTERMEDIATE=FLOAT.
25 /NAMES
/NAMES[(=option)]
/NAMES=UPPER (D)
Controls whether the compiler translates external names (program-id's,literal
entry-names in CALL statements, external data items) to uppercase, lowercase
or leaves it unchanged.
AS_IS Causes VSI COBOL not to change the case of literal
entry-names
for CALL statements. The AS_IS option has no effect on
other external datanames or program-id names. VSI COBOL does
not support mixed-case of external data names or program-id
names. However, specifying the AS_IS option may be useful for
calling non-Cobol routines. When AS_IS is specified, external
datanames and program-id's are treated as if UPPER has been
specified.
LOWER Causes VSI COBOL to force all external names (program-id's,
literal entry-names in CALL statements, external data items)
to be lowercase.
UPPER Causes VSI COBOL to force all external names (program-id's,
literal entry-names in CALL statements, external data items)
to be uppercase. This is the default.
The default is /NAMES=UPPER.
26 /NATIONALITY
/NATIONALITY[(=option)]
/NATIONALITY=US (D)
Controls whether national language features are selected.
US The default currency sign and symbol are the Dollar sign
and Japanese language support features are disabled.
JAPAN The default currency sign and symbol are the Yen sign
and Japanese language support features are enabled.
/NODIAGNOSTICS and /NOANALYSIS_DATA are specified implicitly.
The specific features enabled include:
. Yen currency-sign
. National character user-defined-words
. National data items (PIC N)
. National literal (N"")
The default is /NATIONALITY=US.
27 /OBJECT
/OBJECT[=file-spec] (D) /NOOBJECT Controls whether the compiler produces an object file. By default, the compiler produces an object file with the same file name as the input file and a default file type of OBJ. However, you can define a different file name or a different file type by specifying /OBJECT=file-spec. Specify /NOOBJECT to speed up compilations during program development and when you want to check syntax.
28 /OPTIMIZE
/OPTIMIZE[=LEVEL=n]
/OPTIMIZE=TUNE=option
/OPTIMIZE=LEVEL=4 (D)
/OPTIMIZE=TUNE=GENERIC (D)
/NOOPTIMIZE
Controls how the compiler produces optimized code.
The default is /OPTIMIZE, which is the same as /OPTIMIZE=(LEVEL=4,
TUNE=GENERIC). For a debugging session, use the negative form
(/NOOPTIMIZE or /OPTIMIZE=LEVEL=0) to ensure that the debugger has
sufficient information to locate errors in the source program.
In most cases, using /OPTIMIZE will make the program execute
faster. As a side effect of getting the fastest execution speeds,
using /OPTIMIZE can produce larger object modules and longer
compile times than /NOOPTIMIZE.
LEVEL=n
You can select one of the following levels:
0 Has the same effect as /NOOPTIMIZE. All
optimizations are turned off.
1 Has some optimizations (such as instruction
scheduling).
2 Adds more optimizations (such as loop unrolling
and split lifetime analysis) to those in level 1.
3 Adds more optimizations (such as decimal
shadowing) to those in level 2. All
optimizations are turned on.
4 Is identical to level 3. /OPTIMIZE=LEVEL=4 is the
equivalent of /OPTIMIZE or not specifying /OPTIMIZE.
Specify /NOOPTIMIZE if you specify /DEBUG when compiling a program.
/NOOPTIMIZE expedites and simplifies your debugging session by
putting the machine code in the same order as the lines in the
source program. Optimizations can cause unexpected and confusing
behavior in a debugging session. For more information about
debugging your program with the /NOOPTIMIZE qualifier, see the
COBOL User Manual.
Specify /NOOPTIMIZE if you specify /MACHINE_CODE when compiling
a program to ensure that the machine code listing reflects the
actual code executed for a given statement as well as the order
of execution.
The /NOOPTIMIZE qualifier is also useful in conjunction with
/CHECK, as optimization can make checking more difficult.
Specifying /OPTIMIZE, the default, usually makes programs run
faster. However, using /OPTIMIZE produces extra instructions
to perform the optimization, which may result in larger object
modules and longer compile times than the /NOOPTIMIZE qualifier.
To speed compilations during program development, you may want
to compile with the /NOOBJECT qualifier when you want to check
syntax, with /NOOPTIMIZE when you check for correct execution,
and later with /OPTIMIZE for your final check. For more
information about optimizing your program with the /OPTIMIZE
qualifier, see the COBOL User Manual.
TUNE=keyword
Specifies the kind of optimized code to be generated. The
keyword can be any of the following:
Keyword Meaning
------- -------
GENERIC Generates and schedules code that will execute
well for both generations of Alpha processors.
This provides generally efficient code for those
cases where both processor generations are likely
to be used.
HOST Generates and schedules code optimized for the
processor generation in use on the system being
used for compilation.
EV4 Generates and schedules code optimized for the
21064, 21064A, 21066, and 21068 implementations
of the Alpha chip.
EV5 Generates and schedules code optimized for the
21164 implementation of the Alpha chip. This
processor generation is faster than EV4.
EV56 Generates code for some 21164 chip implementations
that use the byte and word manipulation instruction
extensions of the Alpha architecture.
Running programs compiled with the EV56 keyword
may incur emulation overhead on EV4 and EV5
processors, but will still run correctly on
OpenVMS Alpha V7.1 (or later) systems.
EV6 Generates and schedules code for the 21264 chip
implementation that uses the following extensions
to the base Alpha instruction set: BWX (Byte/Word
manipulation) and MAX (Multimedia) instructions,
square root and FIX (Floating-point convert) instructions.
Running programs compiled with the EV6 keyword
may incur emulation overhead on EV4, EV5, EV56,
and PCA56 processors, but will still run correctly on
OpenVMS Alpha V7.1 (or later) systems.
EV67,EV68 Generates and schedules code for the 21264A chip
implementation that uses the following extensions
to the base Alpha instruction set: BWX (Byte/Word
manipulation) and MAX (Multimedia) instructions,
square root and FIX (Floating-point convert) instructions,
and CIX (Count) instructions.
Running programs compiled with the EV67 or EV68 keywords
may incur emulation overhead on EV4, EV5, EV56, EV6,
and PCA56 processors, but will still run correctly on
OpenVMS Alpha V7.1 (or later) systems.
PCA56 Generates code for the 21164PC chip implementation
that uses the byte and word manipulation instruction
extensions and multimedia instruction extensions
of the Alpha architecture.
Running programs compiled with the PCA56 keyword
may incur emulation overhead on EV4, EV5, and
EV56 processors, but will still run correctly on
OpenVMS Alpha V7.1 (or later) systems.
/OPTIMIZE=TUNE is currently ignored on OpenVMS I64.
29 /RESERVED_WORDS
/RESERVED_WORDS[=(option[,...])]
/RESERVED_WORDS=XOPEN (D)
Controls whether the compiler recognizes certain COBOL words as
reserved words.
You can select the following option:
[NO]XOPEN Controls whether or not the compiler recognizes
reserved words defined by the COBOL X/Open
Portability Guide. Use /RESERVED_WORDS=NOXOPEN
if your program uses one or more of the X/Open
reserved words as an identifier. The default is
/RESERVED_WORDS=XOPEN.
The X/Open reserved words are as follows:
AUTO FULL
BACKGROUND-COLOR HIGHLIGHT
BELL LOWLIGHT
BLINK REQUIRED
EOL RETURN-CODE
EOS REVERSE-VIDEO
ERASE SCREEN
FOREGROUND-COLOR SECURE
UNDERLINE
[NO]FOREIGN_EXTENSIONS
Controls whether or not the compiler recognizes
reserved words used by foreign extensions
(language constructs that are not part of HP
COBOL). Use /RESERVED_WORDS=FOREIGN_EXTENSIONS
if you want the compiler to output specific
diagnostics of foreign extensions to assist
you in porting to VSI COBOL from other COBOL
dialects. Do not use this option if your
program uses any of the foreign_extensions
reserved words as user-defined words.
The reserved words that are recognized for
foreign_extensions are:
ADDRESS OTHERWISE
CHANGED PASSWORD
CORE-INDEX POSITIONING
DBCS RECORDING
DISP RECORD-OVERFLOW
DISPLAY-1 RELOAD
EJECT REMARKS
ENTRY REORG-CRITERIA
EXAMINE RETURNING
EXHIBIT SERVICE
GOBACK SKIP1
ID SKIP2
KANJI SKIP3
NAMED TRACE
NOTE TRANSFORM
[NO]200X Controls whether or not the compiler recognizes
selected reserved words defined by the ANSI-200x
draft standard. Use /RESERVED_WORDS=NO200X if
your program uses one or more of these reserved
words as an identifier. The default is
/RESERVED_WORDS=NO200X.
The selected ANSI-200x draft standard reserved words
are as follows:
BINARY-CHAR FLOAT-LONG
BINARY-DOUBLE FLOAT-SHORT
BINARY-LONG OPTIONS
BINARY-SHORT SIGNED
COL SYMBOL
FLOAT-EXTENDED UNSIGNED
30 /SEPARATE_COMPILATION
/SEPARATE_COMPILATION /NOSEPARATE_COMPILATION (D) Specifies that a source file that contains multiple separately-compiled programs (SCPs) should be compiled into an object file that consists of a concatenation of modules, each containing a single procedure. This object may be inserted into an object library from which the linker can extract the procedures that are specifically needed. The default, /NOSEPARATE_COMPILATION, specifies that such a program should be compiled as a single unit, producing an object file that consists of one module with multiple embedded procedures. If this object is inserted into an object library and any part of a module must be loaded, the linker must extract the entire object.
31 /SEQUENCE_CHECK
/SEQUENCE_CHECK /NOSEQUENCE_CHECK (D) Controls whether the compiler produces a sequence check on the line numbers in columns 1 through 6 of the source program. Source programs written in terminal format always pass the sequence check. The default, /NOSEQUENCE_CHECK, suppresses sequence checking.
32 /STANDARD
/STANDARD[(=option,...)]
/STANDARD=85 (D)
Controls whether the compiler generates code according to either
the ANSI 1974 or 1985 COBOL standard and produces informational
messages associated with specific language features. To receive
these informational messages, you must also specify /WARNINGS=ALL
or /WARNINGS=INFORMATIONAL.
You can select one or more of the following options:
85 Produces code according to the 1985 ANSI standard
for certain constructs. The default is /STANDARD=85.
[NO]V3 Produces code in the manner of version 3.4 of
VAX COBOL in specific instances, and issues
informational messages for language constructs
that would cause different run-time results if
/STANDARD=85 had been specified. The default is
NOV3.
[NO]SYNTAX Produces informational diagnostics on language
features that point out HP extensions to the
ANSI 1985 COBOL Standard. The default is NOSYNTAX.
[NO]XOPEN Produces code for the ASSIGN clause and default
file-sharing behavior in the manner of the
X/Open CAE specification for the COBOL language.
The default is NOXOPEN.
[NO]MIA Issue informational diagnostics for the language
elements which do not conform to the MIA (Multivendor
Integration Architecture). The default is NOMIA.
VSI COBOL is based on the ANSI 1985 COBOL standard. As such, VSI COBOL
provides full support for the /STANDARD=85 qualifier option as well as
support for some features of the /STANDARD=V3 qualifier option that were
available with VAX COBOL Version 4.0 and higher. For information about
the HP COBOL for OpenVMS VAX implementation of the /STANDARD=V3 qualifier
option, see the COBOL User Manual.
When you specify /STANDARD=V3 in the following specific instances,
VSI COBOL exhibits behavior that is consistent with the ANSI 1985
COBOL standard:
. When evaluating subscripts in STRING, UNSTRING, INSPECT
(Format 3), and the REMAINDER phrase of the DIVIDE statement.
. When evaluating reference modification in STRING, UNSTRING,
and INSPECT (Format 3) statements.
. When evaluating the order of identifiers in some PERFORM
(Format 4) statements.
. When interpreting PIC P items in some move and comparison
operations.
. When determining the size of variable-length tables in some
MOVE statements.
When you specify /STANDARD=V3 in the following four specific
instances, VSI COBOL exhibits behavior that is identical to the
VAX COBOL Version 4.0 and higher behavior, when specifying
/STANDARD=V3:
a. EXIT PROGRAM statement in a main program
If you specify /STANDARD=V3, the compiler treats an EXIT PROGRAM
statement as a return in both main programs and subprograms.
Specify /STANDARD=85 to bypass an EXIT PROGRAM statement in the
body of a main program and execute the statements following the
EXIT PROGRAM statement. If the program is a subprogram, the EXIT
PROGRAM statement acts as a return to the program that called the
subprogram.
b. I-O file status values
If you specify /STANDARD=V3, you receive the file status values
listed in the left-hand column, labeled V3.
If you specify /STANDARD=85, you receive the file status values
listed in the right-hand column, labeled 85.
The following table explains the I-O error conditions and lists the
corresponding file status values for the /STANDARD qualifier using
the V3 and 85 options.
__________________________________________________________________
I-O File Status Values for the /STANDARD Qualifier
__________________________________________________________________
I-O Error Condition Status Value
________________________
V3 85
__________________________________________________________________
READ successful -- detected alternate
duplicate key. 00 02
READ successful -- record shorter than
fixed file attribute. 00 04
CLOSE reel/unit attempted on nonreel/unit
device. 00 07
READ fails -- relative key digits exceed
relative key. 00 14
WRITE fails -- relative key digits exceed
relative key. 00 24
OPEN I-O on file that is not mass storage. 00 37
WRITE fails -- attempt to write a record
of a different size than in the file
description. 00 44
READ fails -- no next logical record
(EOF detected). 13 10
READ fails -- no next logical record
(EOF on OPTIONAL file). 15 10
READ fails -- no valid next record
(already at EOF). 16 10
READ NEXT or sequential READ -- no valid
next record pointer. 16 46
READ or START fails -- optional input
file not present. 25 23
READ successful -- record longer than
fixed file attribute. 30 04
OPEN on relative or indexed file that
is not mass storage. 30 37
REWRITE fails -- attempt to rewrite
record of different size. 30 44
CLOSE fails -- file not currently open. 94 42
DELETE or REWRITE fails -- previous I-O
not successful READ. 93 43
OPEN fails -- file previously closed with
LOCK. 94 38
OPEN fails -- file created with different
organization. 94 39
OPEN fails -- file created with different
prime record key. 94 39
OPEN fails -- file created with different
alternate record keys. 94 39
OPEN fails -- file currently open. 94 41
READ or START fails -- file not opened
INPUT or I-O. 94 47
WRITE fails -- file not opened OUTPUT,
EXTEND, or I-O. 94 48
DELETE or REWRITE fails -- file not
opened I-O. 94 49
OPEN INPUT on a nonoptional file -- file
not found. 97 35
__________________________________________________________________
c. No Valid Next Record condition
If all of the following conditions exist:
. The no valid next record (NVNR) condition exists.
. Your program attempts a sequential READ statement.
. Your program includes an AT END branch associated with
the READ statement.
And if you specify /STANDARD=V3, the following occurs:
1. The file status variable, if any, for the file is set
to 16.
2. The statements associated with the AT END statement are
executed.
3. The program continues to execute normally.
If you specify /STANDARD=85, the following occurs:
1. The file status variable, if any, for the file is set
to 46.
2. The statements associated with the AT END statement are
not executed.
3. The program terminates execution abnormally (unless you
have provided for this situation with a Declaratives USE
AFTER STANDARD EXCEPTION procedure).
d. Opening nonoptional files in OPEN I-O and EXTEND modes
If you specify /STANDARD=V3, the compiler creates nonoptional
files opened in I-O or EXTEND mode, if the file is unavailable.
If you specify /STANDARD=85, the compiler does not create
nonoptional files opened in I-O or EXTEND mode if the file is
unavailable; instead, the I/O system issues a run-time error.
Specifying /STANDARD=V3 with the /FIPS=74 qualifier instructs the
compiler to produce code according to the 1974 ANSI standard for
certain constructs that are supported by the Federal Information
Processing Standards Publication 21--1 (FIPS-PUB 21--1), issued
by the U.S. National Bureau of Standards, interpretation of file
status. Specifying /STANDARD=V3 with the /NOFIPS qualifier ensures
version to version compatibility for COBOL.
Specifying /STANDARD=SYNTAX with the /WARNINGS=ALL qualifier
instructs the compiler to produce and print informational messages
on language features that point out HP extensions to the ANSI
1985 COBOL Standard.
Specifying /STANDARD=MIA with the /WARNINGS=ALL qualifier
instructs the compiler to produce and print informational messages
on language features that point out langauges element which do
not conform to the MIA specifications:
. HP syntax extensions from base standards (ANSI-85, JIS-88)
. Two of four optional modules
. All obsolete language elements of required modules in base
standards
. Language elements omitted from required modules in base standards
due to the different implementation of the vendors
. HP specific Japanese features out of MIA extension elements
related to Japanese
Not specifying /STANDARD or specifying /STANDARD, /NOSTANDARD,
/STANDARD=(85,NOV3,NOSYNTAX,NOXOPEN,NOMIA), or
/STANDARD=(NO85,NOV3,NOSYNTAX,NOXOPEN,NOMIA) is equivalent to
specifying /STANDARD=85.
33 /TIE
/TIE /NOTIE (D) Generates code that allows native OpenVMS I64 images to call translated Alpha images and translated OpenVMS Alpha images to call native OpenVMS I64 images. This qualifier is supported on OpenVMS I64 systems only. Specify /TIE when you want to use native, compiled code with shared translated Alpha images, either because the code might call into a translated Alpha image or because it might be called from a translated Alpha image. If you specify /TIE, you should link the object module using the LINK command qualifier /NATIVE_ONLY. See the OpenVMS Linker Utility Manual for information about the /NATIVE_ONLY qualifier. Specifying /NOTIE, the default, indicates that your compiled code is not associated with a translated Alpha image.
34 /TRUNCATE
/TRUNCATE /NOTRUNCATE (D) Controls how the compiler stores values in COMPUTATIONAL receiving items if high-order truncation is necessary. If you specify /TRUNCATE, the compiler truncates values according to the number of decimal digits specified by the PICTURE size. Specifying /TRUNCATE increases program execution time. The default, /NOTRUNCATE, instructs the compiler to truncate values according to the hardware storage unit (word, longword, or quadword) allocated to the receiving item.
35 /VERSION
/VERSION
/NOVERSION (D)
Directs the compiler to print out the compiler version and
platform. The compiler version is the same as in the listing file.
This qualifier helps you to report what compiler you are using.
When this qualifier is specified, the compiler just prints its
version and exits. No other qualifiers are processed, no source
file is read, and no object module is produced.
The syntax for using this qualifier is:
COBOL/VERSION
The default is /NOVERSION.
36 /VFC
/VFC (D)
/NOVFC
Generates VFC record format for the following types of files:
. LINAGE
. REPORT WRITER
. APPLY PRINT-CONTROL
. WRITE ADVANCING
. ORGANIZATION SEQUENTIAL with GLOBAL
. ORGANIZATION SEQUENTIAL with EXTERNAL
If you specify /NOVFC, these output files are generated with Stream_LF
record format.
37 /WARNINGS
/WARNINGS[=(option[,...])]
/NOWARNINGS
Controls whether the compiler prints warning or informational
messages as well as error and severe error messages.
You can select one or more of the following options:
[NO]INFORMATION Produces additional informational messages.
The default is NOINFORMATION.
[NO]OTHER Produces warning messages. The default is
OTHER.
ALL Provides the messages produced by the INFORMATION
and OTHER options. /WARNINGS=ALL is the
equivalent of /WARNINGS.
NONE Omits the listing of all messages. /WARNINGS=NONE
is the equivalent of /NOWARNINGS.
If you specify a qualifier option, the default options do not
change unless they are individually modified.
The default is /WARNINGS=OTHER.
Specifying /WARNINGS=ALL or /WARNINGS=INFORMATIONAL with the
/STANDARD=SYNTAX qualifier option instructs the compiler to produce
and print informational messages on language features that point out
HP extensions to the ANSI 1985 COBOL Standard.
Specify /WARNINGS=INFORMATIONAL to receive the FIPS messages about
HP extensions that the compiler produces when you specify
/FLAGGER[(=option,...)].