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.

  • 01SHUFFLE - No segment boundary crossing
  • 64KPARA - Segment breaking
  • 64KSECT - Segment breaking
  • ACCEPTREFRESH - Update associated data on ACCEPT
  • ADDRSV - Add reserved word
  • ADDSYN - Add synonym
  • ADV - Adds control characters to print files
  • ALIAS - Subscripts
  • ALIGN - Data alignment
  • ALPHASTART - Numbering in ALPHABET
  • ALTER - Allow ALTER
  • ANALYZE - * For Analyze
  • ANIM - For Animator
  • ANS85 - ANSI'85
  • APOST - QUOTE = '
  • AREACHECK - AREA A tokens, treat as section/paragraph
  • ARITHMETIC - Arithmetic expressions
  • ASM - Produce object code listing
  • ASMLIST - File for assembly listing
  • ASSIGN - EXTERNAL or DYNAMI C
  • ASSIGN-PRINTER - Printer output
  • ASSUME - Modify behavior of some directives
  • AUTOLOCK - Default locking
  • BADSIGNS - Allow illegal sign nibbles
  • BELL - Bleep when stop
  • BOUND - Bound-check
  • BOUNDOPT - Optimize tables
  • BRIEF - No message texts
  • BROWSE - Create .SBR file
  • BWZSTAR - BLANK WHEN ZERO and PIC *
  • BYTE-MODE-MOVE - Control overlapping moves
  • CALLADIS - * External ACCEPT/DISPLAY handler
  • CALLFH - * External file handler
  • CALLMAP - Reserved for internal use
  • CALLMCS - Reserved for internal use
  • CALLSORT - External file handler
  • CANCELLBR - * Close COPY .LBR file
  • CASE - Case of program-name
  • CHANGE-MESSAGE - Change message severity
  • CHARSET - * ASCII or EBCDIC
  • CHECKDIV - Allow divide by zero
  • CHECKNUM - Check numeric fields
  • CHECKSTACK - Check for stack corruption
  • CHIP - Chip architecture
  • CICS - * Allow CICS
  • CICS-CPY - * Insert COPY "CICS-CPY"
  • CICSOPT - * Optimize BLL cells
  • CMPR2 - Mainframe compatible
  • COBFSTATCONV - * Convert EXTFH file status codes
  • COBIDY - Path for Animator file
  • COBOL370 - IBM COBOL 370
  • COBOLDIR - Use or ignore cobol.dir
  • COMP - Computational subset
  • COMP-5 - COMP-5 behavior
  • COMP-6 - COMP-6 behavior
  • COMS85 - ANSI'85 Comms
  • CONFIRM - Display directives
  • CONSTANT - Define constant
  • CONVERTPTR - Allow redefiniton of pointers
  • CONVERTRET - RETURNING item type
  • CONVSPACE - Convert db spaces in source code to sb
  • COPYEXT - Copyfile extensions
  • COPYLBR - * COPY-library = .LBR file
  • COPYLIST - List COPY files
  • CSI - * Create .CSI information file
  • CURRENCY-SIGN - PIC currency sign
  • CURRENT-DATE - DDMMYY or YY MMDD
  • DATACOMPRESS - Data compression
  • DATALIT - Literals in data seg.
  • DATE - Date for listings
  • DBCHECK - Check Double-Byte Chars.
  • DBCS - Double-Byte Chars.
  • DBCSSOSI - Shift-in, -out
  • DBSPACE - DBCS space
  • DE-EDIT - Num-edited behavior
  • DEFAULTBYTE - Initialize W-Storage
  • DEFAULTCALLS - CALL convention
  • DEFFILE - Produce .DEF file
  • DEFFILETYPE - Specify target for .DEF file
  • DETECT-LOCK - Detect record locks
  • DG - Data General
  • DIRECTIVES - File of directives
  • DIRECTIVES-IN-COMMENTS - Enable directives in comment lines
  • DLL - DLL or EXE
  • DOSVS - IBM DOS/VS COBOL
  • DYNAM - Ignore CANCEL
  • EANIM - For CodeView
  • EARLY-RELEASE - Enable Early User Syntax support
  • ECHO - Display errors
  • ECHOALL - Display full listing
  • EDITOR - Create error file for Editor
  • ENSUITE - * Internal use
  • ERRLIST - Print messages only
  • ERRQ - Pause on error
  • EXPANDDATA - Program compression
  • EXTINDEX - Reserved for internal use. Indexes EXTERNAL
  • FASTLINK - Restrict parameters
  • FASTSORT - Internal use
  • FCDREG - Registers for files
  • FDCLEAR - Clear record buffer after write
  • FILECASE - Internal use
  • FILESHARE - Default locking
  • FILETYPE - Data file format
  • FIXING - Optimizing jumps
  • FLAG - Flag outside the dialect
  • FLAGAS - Show flags as errors etc.
  • FLAGCD - Conflicting directives
  • FLAGMIG - Flag OSVS and VSC2 differences
  • FLAGQ - Pause on flag
  • FLAGINEDIT - Include flags in error file
  • FLAGSTD - Flag ANSI'85 level
  • FLAG-CHIP - Flag chip problems
  • FOLDCALLNAME - Fold call name
  • FOLDCOPYNAME - Fold COPY file names
  • FORM - Page length
  • FP-ROUNDING - Floating point items
  • GANIM - * For Xilerator
  • GNT - * File for object code
  • GNTANLZ - Use with add-on products
  • HIDE-MESSAGE - Set message to hide
  • HOST-NUMCOMPARE - Numeric comparisons
  • HOST-NUMMOVE - Disable RTS error 163 for MOVEs
  • IBM-MS - IBM / Microsoft V1.0
  • IBMCOMP - Word-storage mode
  • IDXFORMAT - Indexed file structure
  • INCLUDE-FILLER - Store FILLER information in .IDY
  • INDD - Transform ACCEPTs to READs
  • INFORETURN - Info msg return value
  • INITCALL - Execute a module
  • INT - * File for int code
  • INTLEVEL - * Portability level
  • IOCONV - READ-INTO/WRITE-FROM behavior
  • JAPANESE - Enable Double-Byte Language Extensions
  • KEEP-INT - Keep .int files
  • KEYCOMPRESS - Key compression
  • LIBRARIAN - Allow -INC
  • LINKCHECK - Check LS items
  • LINKCOUNT - Number of linked items
  • LINKLIB - Link-libraries
  • LIST - File for source listing
  • LISTPATH - Specify the path for list file
  • LISTWIDTH - Page width
  • LITLINK - Literals public
  • LITVAL-SIZE - BY VALUE size
  • LNKALIGN - Assume linkage items are aligned
  • LOCALCOUNT - Internal use
  • LOCKTYPE - Read locked records
  • LOGICOPT - Optimize CBL_ logical calls
  • MAKESYN - Make synonymous
  • MAPNAME - IBM prog-names
  • MASM - For Microsoft MASM
  • MAX-ERROR - Limit number of Compiler errors
  • MFCOMMENT - Alternate-format comments
  • MF - Level of MF
  • MF00 - Object Orientation syntax
  • MFSCCS - Look for source files in a SCCS system
  • MODEL - Model type
  • MS - Microsoft COBOL V1 or V2
  • NATIVE - Collating sequence
  • NCHAR - Enable Double-Byte Language Extensions
  • NESTCALL - Allow nested progs
  • NETLOCALSTORAGE - Internal use
  • NLS - Enable National Language Support
  • OBJ - File for object code
  • OBJLITE - Assembler-like code
  • ODOOSVS - Evaluate ODO like OS/VS COBOL does
  • ODOSLIDE - Variable length table
  • OLDBLANKLINE - Change behavior of BLANK LINE
  • OLDCOPY - ANSI'68 COPY
  • OLDFILEIO - Reserved
  • OLDINDEX - Indexes = subscripts
  • OLDNEXTSENTENCE - Change behavior of NEXT SENTENCE
  • OLDREADINTO - Change behavior of READ ... INTO statements
  • OLDSTRMIX - Allow PIC X and PIC N in statements
  • OLDSTRSUB - Change evaluation of subscripts
  • OMF - OBJ or GNT
  • OPT - Optimization level
  • OPTIONAL-FILE - All files optional
  • OPTSIZE - Optimize for size
  • OPTSPEED - Optimize for speed
  • OSEXT - Source file-name ext
  • OSVS - IBM OS/VS COBOL
  • OUTDD - Transform DISPLAYs to WRITEs
  • OVERRIDE - Change
  • PANVALET - Allow ++INCLUDE
  • PARAMCOUNTCHECK - Omit parameters
  • PARAS - Create list of paragraphs and sections
  • PC1 - IBM / Microsoft V1.0
  • PERFORMOPT - Optimize PERFORM of empty paragraph
  • PERFORM-TYPE - Returns from PERFORM
  • PREPLIST - Show original and preprocessed source
  • PREPROCESS - * Source from preprocessor
  • PRINT - File for source listing
  • PRINT-EXT - Specify print-file extension
  • PROFILE - Generate code for Profiler
  • PROGID-COMMENT - Comment in PROG-ID
  • PROTMODE - Produce protect mode only code
  • PROTECT-LINKAGE - Protects linkage items
  • PUBLICENTRY - Declare .OBJ entry points as public
  • QUAL - Allow qualification
  • QUALPROC - Allow qualification
  • QUERY - Pause if copyfile missing
  • QUOTE - QUOTE = "
  • RAWLIST - list with no variable information
  • RDEFPTR - COMP redefinitions of POINTER
  • RDW - Read length of variable-length record
  • REALOVL - Overlaying from disk
  • RECMODE - Fixed or var length
  • REF - Addresses in listings
  • REFNO - Compiler version-number in listings
  • REGPARM - Parameter passing
  • REMOVE - De-reserve
  • REPORT-LINE - Length of report writer lines
  • RESEQ - Generate line numbers
  • RETRYLOCK - Re-try locked record
  • REWRITE-LS - REWRITE on LINE SEQUENTIAL files
  • RM - Ryan-McFarland
  • RNIM - Animate, don't compile
  • RTNCODE-SIZE - RETURN-CODE size
  • SAA - Systems Application Architecture
  • SEG - Segmentation
  • SEGCROSS - Params on segments
  • SEGSIZE - Automatic segmentation
  • SEQCHK - Check line numbers
  • SEQUENTIAL - Variants of SEQUENTIAL organization
  • SETTING - Print directives
  • SHOW-DIR - Print directives files
  • SHOWSHUFFLE - Show 01SHUFFLE results
  • SIGN - Included signs
  • SIGNCOMPARE - EBCDIC numeric comparisons
  • SMALLDD - Params in segments
  • SOURCE-EXT - Source ext for CodeView
  • SOURCEASM - Source in assembly listing
  • SOURCEFORMAT - Allow free format code
  • SPZERO - Space = zero in nums
  • SQL - Allow EXEC SQL
  • SQLACCESS - Name of access plan
  • SQLBIND - Name of bind file
  • SQLBLOCK - Record blocking
  • SQLCOMMIT - Placement of generated commits
  • SQLCTRACE - List calls to precompiler services
  • SQLDB - Name of database
  • SQLDB2 - Mainframe compatibility
  • SQLECSPP - * Host compatibility
  • SQLFORMAT - Define date format
  • SQLINIT - Initialize &log on
  • SQLISOLATION - Isolation level
  • SQLNOT - Specify NOT character (ª)
  • SQLPASS - Give password
  • SQLPRE - Animate SQL programs
  • SQLPROT - Protect database
  • SQLRP - Compile on client workstation
  • SQLSTDLVL - Standards level of database manager
  • STDERR - Write messages to STDERR
  • STICKY-LINKAGE - Keep params linked
  • STICKY-PERFORM - Behavior of PERFORM
  • STRUCT - * For Structure Animator
  • SUPFF - No page-headings
  • SYMBSTART - Numbering in SYMBOLIC
  • SYSIN - Map I-O to SYSIN and SYSOUT
  • TABLESEGCROSS - Check for crossing of seg boundaries
  • TARGET - Chip-specific instrs.
  • TERMPAGE - Pad final page of report
  • TIME - Put time on listings
  • TRACE - Turn on READY TRACE
  • TRICKLE - Restrict PERFORM
  • TRICKLECHECK - Flag trickling
  • TRUNC - Truncation of binary
  • TRUNCCOPY - Truncate copyfile names
  • USE - File of directives
  • VERBOSE - Display Compiler messages
  • VSC2 - IBM VS COBOL II
  • WARNING - Level of message to output
  • WB - * Interface to other products
  • WB2 - * Internal use
  • WB3 - * Internal use
  • WRITELOCK - Default locking
  • WRITETHROUGH - * Unbuffered writes
  • XNIM - Compile and animate
  • XOPEN - X/Open
  • XREF - Produce cross-ref listing
  • ZEROLENGTHFALSE - Zero-length tests
  • ZEROSEQ - Zeros in line numbers
  • ZWB - Numeric comparisons

  • CALLADIS

    Causes all format 1 ACCEPT, DISPLAY and EXHIBIT statements to be routed through the specified handler. The output generated by TRACE is also routed through the specified handler.

    > >-|---|-|-------CALLADIS--"handler-name"-| > < |-/-| ||----|-CALLADIS-----------------| |-NO-|

    Parameters:
    handler-name Root-name of a program to be called to act as the handler.

    Properties:
    Default: NOCALLADIS
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Remarks: The CALLADIS 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 product.

    If is not specified, EXTADIS is assumed.

    See also:
    EARLY-RELEASE Compiler directive


    CALLFH

    Makes the Compiler generate direct calls for all file I/O operations, using the Callable File Handler interface.

    > >-|---|-|-------CALLFH--"handler-name"-|-- > < |-/-| ||----|-CALLFH-----------------| |-NO-|

    Parameters:
    handler-name Root-name of a program to be called to act as the file handler.

    Properties:
    Default: NOCALLFH (on DOS, Windows and OS/2) CALLFH"EXTFH" (on UNIX)
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Remarks: (handler-name) can be one of the following:

      EXTFH - The file handler supplied with this COBOL system FHREDIR - For use with Fileshare Version 2, available in Toolset and Toolbox. XFH2BTR - For use with the ExtFH-to-Btrieve call conversion module Your own file handler

    If NOCALLFH is specified, file I/O is handled by the run-time system. When CALLFH is specified, all file I/O statements are converted to calls to the file handler specified by the directive.

    If is not specified, EXTFH is assumed.

    This directive is also used to direct all file handling calls through converter modules, such as XFH2BTR, to make use of non-COBOL file handlers.

    Toolset and Toolbox provide information that enables you to create your own file handler. Use this directive to make your programs call your file handler instead of the standard file handler.


    CALLMCS

    This directive is reserved for internal use by the system. Because it might appear in the list of settings, it is included for completeness. It is not intended for users' applications, and its setting should not be changed.

    Causes all Message Control System operations to be routed through the specified handler.

    > >-|---|-|-------CALLMCS--"mcs-name"-|----- > < |-/-| ||----|-CALLMCS-------------| |-NO-|

    Parameters:
    mcs-name Root-name of a program to be called to process message control system (mcs) operations.

    Properties:
    Default: NOCALLMCS
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Remarks: If is not specified, EXTMCS is assumed.


    CALLSORT

    Defines the program to be called to handle all SORT and MERGE operations.

    > >-|---|-|-------CALLSORT--"sort-name"-|--- > < |-/-| ||----|-CALLSORT--------------| |-NO-|

    Parameters:
    sort-name Root-name of a program to be called to process sorts and merges.

    Properties:
    Default: CALLSORT"_SORT" (on DOS, Windows and OS/2) NOCALLSORT (on UNIX)
    Phase: Syntax check
    Environment: All
    $SET: Initial


    CANCELLBR

    Makes the Compiler close an .lbr file used as a library in a COPY statement once that copy operation is complete.

    > >-|---|-|----|--CANCELLBR----------------- > < |-/-| |-NO-|

    Properties:
    Default: CANCELLBR
    Phase: Syntax check
    Environment: All
    $SET: Any

    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.

    NOCANCELLBR causes such .lbr files to be left open until the end of the compilation. Subsequent COPY statements that do not specify a library search for the copyfile in all open .lbr libraries (last one opened is searched first) before the current directory.

    This directive is only relevant if COPYLBR is on.

    [NO]CANCELLBR can be used on any $SET. Only .lbr libraries referenced in COPY statements after the $SET are affected. Any left open from previous COPY statements are only closed if specified again on a COPY statement following a CANCELLBR directive.


    CASE

    Prevents external symbols (such as Program-ID and names of called programs) being converted to upper case.

    > >-|---|-|----|--CASE---------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOCASE
    Phase: Generate
    Environment: 16-bit
    $SET: Any

    Remarks: This is useful if you are calling a program written in C, where names are case dependent.


    CHANGE-MESSAGE

    Changes the severity of errors/messages. Messages can also be supressed or returned to their original severity.

    |--------------| . | > >-|---|-|-----CHANGE-MESSAGE--"error--svrty"-|- > < |-/-| |-NO--CHANGE-MESSAGE-----------------|

    Parameters:

    error Number of message to be changed or "ALL" meaning all messages. svrty New severity : S Serious E Error W Warning I Informational N Do not produce this message R Reset to normal severity

    Properties:
    Default: NOCHANGE-MESSAGE
    Phase: Syntax check
    Environment: All
    $SET: Any

    Dependencies: CHANGE-MESSAGE overrides the general settings of directives such as FLAGAS.

    Remarks: CHANGE-MESSAGE can take as many parameter pairs as required. If CHANGE-MESSAGE is specified multiple times the effects are cumulative.

    CHANGE-MESSAGE replaces the HIDE-MESSAGE Compiler directive. However, if you use HIDE-MESSAGE in conjunction with CHANGE-MESSAGE the effects are also cumulative.

    Serious errors cannot have their severity reduced unless they were changed to serious (from a lower severity) by another CHANGEMESSAGE directive or the FLAGAS or FLAGCD directives.

    Examples:
    CHANGE-MESSAGE(ALL R)
    CHANGEMESSAGE(10 S 135 E 100 N)

    See also:
    FLAGAS Compiler directive
    FLAGCD Compiler directive
    HIDE-MESSAGE Compiler directive


    CHARSET

    Defines the character set of the environment.

    > >-|---|--CHARSET--"char-set"-------------- > < |-/-|

    Parameters:
    char-set ASCII or EBCDIC.

    Properties:
    Default: CHARSET"ASCII"
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Dependencies:

      CHARSET"ASCII" sets DEFAULTBYTE"32", SIGN"ASCII" and NATIVE"ASCII" immediately. CHARSET"EBCDIC sets DEFAULTBYTE"0" immediately and SIGN"EBCDIC" and NATIVE"EBCDIC" at end.

    Remarks: To use this directive you must have the full Micro Focus COBOL Workbench system.

    Do not change its setting if your application is to be linked with the static-linked run-time system, lcobol.

    All literals and collating sequences are handled in the character set specified.

    For current limitations see your Workbench documentation.


    CHECKDIV

    Controls the behavior of your program if it tries to divide by zero in a statement that has no ON SIZE ERROR phrase.

    > >-|---|-|-------CHECKDIV--"dialect"-|----- > < |-/-| ||----|-CHECKDIV------------| |-NO-|

    Parameters:
    dialect Must be ANSI, OSVS, VSC2, or COBOL370.

    Properties:
    Default: CHECKDIV"ANSI"
    Phase: Both (16-bit), Syntax check (32-bit)
    Environment: All
    $SET: Initial

    Remarks: With CHECKDIV or CHECKDIV"ANSI" specified, the program continues with an undefined result if it tries to divide by zero. With NOCHECKDIV set, the behavior is undefined. Setting NOCHECKDIV results in optimal code for divides.

    Specifying CHECKDIV"OSVS", CHECKDIV"VSC2", or CHECKDIV"COBOL370" has the same effect; trying to divide by zero produces run-time error 48 (Attempt to divide by zero (fatal)). This error can be disabled using the -O RTS switch.

    This directive has no effect on arithmetic statements that use the ON SIZE ERROR phrase.

    See also:
    O RTS switch


    CHECKNUM

    Checks whether numeric fields contain valid data before performing operations on them.

    > >-|---|-|----|--CHECKNUM------------------ > < |-/-| |-NO-|

    Properties:
    Default: NOCHECKNUM
    Phase: Generate
    Environment: 16-bit
    $SET: Initial

    Remarks: Specifying this directive causes extra code to be generated to ensure that numeric fields contain valid data before any operations are performed on them. With CHECKNUM set, run-time error message 163 (Illegal character in numeric field (fatal)) is displayed if any numeric field is found to contain nonnumeric data. This error can be disabled using the -F RTS switch.

    Specifying CHECKNUM causes extra code to be produced, reducing the efficiency of your programs. For smaller, faster code you should not specify CHECKNUM.

    See also:
    F RTS switch


    CHECKSTACK

    Adds code to all calls to check the stack and report if an incorrect number of parameters has been passed.

    > >-|---|-|----|--CHECKSTACK---------------- > < |-/-| |-NO-|

    Properties:
    Default: NOCHECKSTACK
    Phase: Generate
    Environment: 16-bit
    $SET: Initial

    Remarks: Extra code is add for all calls, including calls to the system library routines (CBL_).

    If an incorrect number of parameters has been used, the code tries to detect the resulting stack corruption and give a Run-time System error 168 at run-time.

    The extra instructions slightly reduce run-time performance, so the directive should only be used when debugging.


    CHIP

    Tells the Compiler that a specific microprocessor architecture is in use.

    > >-|---|-|-----CHIP--"integer"-|----------- > < |-/-| |-NO--CHIP------------|

    Parameters:
    integer Must be 16.

    Properties:
    Default: CHIP"16"
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Remarks: The information produced is only relevant for 16-bit environments.

    In the case of the Intel 80x86 family, the use of CHIP"16" indicates that the maximum segment addressability is given by 16 bits, and anything over this size is split over an addressing boundary. Knowing this, the Compiler can alter certain code structures to avoid potential crossing boundaries conditions (for example, the internal print buffer used with Report Writer syntax).

    When used with the directive FLAG-CHIP, this directive causes the Compiler to indicate chip specific boundary conditions. These might indicate potential problems or performance losses on the particular chip.


    CICS

    Enables the use of CICS by updating BLL cells.

    > >-|---|-|----|--CICS---------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOCICS
    Phase: Syntax check
    Environment: All
    $SET: No

    Remarks: This directive is reserved for use with add-on CICS products supplied by Micro Focus. Do not change its setting unless you have an appropriate add-on product. This is not for use with CICS OS/2.

    With CICS, if CICS-CPY is also set, the Compiler inserts:

    COPY "CICS.CPY"
    at the beginning of your Linkage Section. If your program has no Linkage Section, the Compiler inserts one as follows:
    LINKAGE SECTION. COPY "CICS.CPY". 01 DFHCOMMAREA PIC X(). where the parameters are:
    CICS.CPY Contains a definition of the CICS EXEC INTERFACE BLOCK and DLI INTERFACE BLOCK compatible with Version 1, Release 6 (or earlier) of CICS. n Takes one of the following values: 1 There is no DFHCOMMAREA >1 There is a DFHCOMMAREA.

    The Linkage Section item following the DFHCOMMAREA record is assumed to contain the BLL cells, each named and with the description PIC S9(8) COMP. The BLL cells are matched with the corresponding Linkage Section records according to CICS rules.

    If the Compiler inserts the DFHCOMMAREA record, it is not visible during animation or in printer listings. However, the record can be queried during animation. If you intend to animate a program that uses BLL cells, set this directive on.


    CICS-CPY

    Inserts the statement COPY "CICS.CPY" provided the CICS directive is specified.

    > >-|---|-|----|--CICS-CPY------------------ > < |-/-| |-NO-|

    Properties:
    Default: CICS-CPY
    Phase: Syntax check
    Environment: All
    $SET: No

    Remarks: This directive is reserved for use with add-on CICS products supplied by Micro Focus. Do not change its setting unless you have an appropriate add-on product. This is not for use with CICS OS/2.

    See also:
    CICS Compiler directive


    CICSOPTIMIZE

    Optimizes the handling of CICS BLL cells.

    > >-|---|-|----|-|-CICSOPT------|----------- > < |-/-| |-NO-| |-CICSOPTIMISE-| |-CICSOPTIMIZE-|

    Properties:
    Default: NOCICSOPTIMIZE
    Phase: Syntax check
    Environment: All
    $SET: No

    Remarks: This directive is reserved for use with add-on CICS products supplied by Micro Focus. Do not change its setting unless you have an appropriate add-on product. This is not for use with CICS OS/2.

    With NOCICSOPTIMIZE, the Compiler inserts instructions whenever a BLL-cell is updated to ensure that the addressability of Linkage Section items corresponds to the current values in the BLL cells. With CICSOPTIMIZE, the Compiler does not insert these instructions. You must use the SERVICE RELOAD instruction to ensure that the addressability is updated.


    CMPR2

    For compatibility with the mainframe compiler option of the same name which returns behavior of the COBOL 370, VS COBOL II version 3 and VS COBOL II version 4 compilers to that of the VS COBOL II version 2 compiler.

    > >-|---|-|----|--CMPR2--------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOCMPR2
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Dependencies: Requires VSC2"3", VSC2"4" or COBOL370 flagging to be selected.

    Remarks: A conflicting directives message is issued (with FLAGCD only) if one of the required flagging levels is not selected.

    Setting this directive is not quite the same as setting VSC2"2". It emulates the mainframe behavior quite closely, and also causes different run-time behavior in some cases. If you use this directive on the mainframe with one of the specified compilers, use this directive instead of VSC2"2".

    The FLAGMIG directive flags the items that give different run-time behavior.

    See also:
    FLAGMIG Compiler directive


    COBFSTATCONV

    Causes the Callable File Handler ExtFH to use the user-supplied module specified in the COBFSTATCONV environment variable to convert the file status codes if an I/O error is encountered on a file.

    > >-|---|-|----|--COBFSTATCONV-------------- > < |-/-| |-NO-|

    Properties:
    Default: NOCOBFSTATCONV
    Phase: Syntax check
    Environment: All
    $SET: Initial

    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.


    COBIDY

    Specifies the path where the Animator information file (.idy file) and COBOL Source Information file (.csi) are to be written.

    > >-|---|-|-------COBIDY--"path-name"-|----- > < |-/-| ||----|-COBIDY--------------| |-NO-|

    Parameters:
    path-name Path specification.

    Properties:
    Default: NOCOBIDY
    Phase: Syntax check
    Environment: All
    $SET: No

    Remarks: If you do not specify , the path-name in the COBIDY environment variable is used; if the environment variable contains multiple path-names the first of them is used. With NOCOBIDY, the .idy and .csi files are written to the same path as the object program.

    The .csi files are only produced if the CSI directive is used. This should only be used if you have Toolbox or Workbench.

    See also:
    CSI Compiler directive


    COBOL370

    Specifies that words reserved in IBM COBOL/370 are to be treated as reserved words, and allows features selectively for compatibility with a given level of that product.

    > >-|---|-|-------COBOL370--"integer"-|----- > < |-/-| ||----|-COBOL370------------| |-NO-|

    Parameters:
    integer Must be 1. The level of IBM COBOL/370 to be compatible with.

    Properties:
    Default: NOCOBOL370
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Dependencies: COBOL370 sets DBSPACE and DBCS"3" immediately.

    Remarks: Specifying COBOL370 without a parameter is the same as specifying COBOL370"1". This specifies compatibility with Version 1 Release 1 of IBM COBOL/370.


    COBOLDIR

    Specifies whether the checker should process the directives in a cobol.dir file or ignore it.

    > >-|---|-|----|--COBOLDIR------------------ > < |-/-| |-NO-|

    Properties:
    Default: COBOLDIR
    Phase: Syntax check
    Environment: All
    $SET: No


    COMP

    Makes the Compiler produce very compact and efficient code for some statements involving COMP data items, by treating COMP items as COMP-X.

    > >-|---|-|----|--COMP---------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOCOMP
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Remarks: This COMP code produced by the Compiler behaves in a way that is not the ANSI standard in cases of numeric overflow. You should use this directive only if you know that your program does not lead to numeric overflow, or if you want to use the defined (but nonstandard) behavior on overflow.


    COMP-5

    Specifies whether the sign is to be dropped when a value is stored in an unsigned COMP-5 data item.

    > >-|---|--COMP-5--"integer"---------------- > < |-/-|

    Parameters:
    integer Must be 1 or 2.

    Properties:
    Default: COMP-5"2"
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Remarks: The possible values of (integer) are:

    • 1 - Behavior as in earlier versions of this Compiler. The sign is dropped.
    • 2 - The sign is not dropped. Negative numbers are stored in two's complement form, so that, except for their byte-order being machine dependent, unsigned COMP-5 items behave like COMP-X. This results in highly efficient arithmetic on unsigned COMP-5 items.


    COMP-6

    Specifies whether COMP-6 data is to be held in binary or packed decimal format.

    > >-|---|--COMP-6--"integer"---------------- > < |-/-|

    Parameters:
    integer Must be 1 or 2.

    Properties:
    Default: COMP-6"2"
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Dependencies: RM or ADDRSV"COMP-6" must be set.

    Remarks: The possible values of (integer) are:

    • 1 - A binary format is used for COMP-6 data, as described in the appendix Ryan McFarland COBOL V2.0 Syntax Support in your Language Reference - Additional Topics.
    • 2 - Packed decimal format is used. If the item is signed, the format is identical to COMP-3. If the item is unsigned, no sign field is present.

    Even if you specify the COMP-6 directive, the reserved word COMP-6 is recognized only if it belongs to the chosen dialect or the directive ADDRSV"COMP-6" is specified.

    Example: With COMP-6"2" specified:
    PIC 99 COMP-6 VALUE 87 is stored in one byte as x"87"
    PIC S99 COMP-6 VALUE 87 is stored in two bytes as x"087C"


    COMS85

    Allows your program to contain syntax introduced in the Communications Module of the ANS85 COBOL Standard.

    > >-|---|-|----|--COMS85-------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOCOMS85
    Phase: Syntax check
    Environment: All
    $SET: Initial


    CONFIRM

    Makes the Compiler echo all subsequent directives to the screen.

    > >-|---|-|----|--CONFIRM------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOCONFIRM
    Phase: Both
    Environment: All (syntax check), 16-bit (generate)
    $SET: No

    Dependencies: Set to CONFIRM immediately by VERBOSE.


    CONSTANT

    Declares a constant for use in the program.

    > >-|---|-CONSTANT-const-name-|-(numeric-lit)--|- > < |-/-| |-"alphanum-lit"-|

    Parameters:

    • const-name - Data-name. The constant's name.
    • numeric-lit - Numeric literal. The constant's value. Must be zero or a positive integer.
    • alphanum-lit - Alphanumeric literal. The constant's value.

    Properties:
    Default: Not set
    Phase: Syntax check
    Environment: All
    $SET: Any

    Remarks: The effect is as if the constant had been defined in the program in a 78-level. Its value is that given in the parentheses or quotation marks. If parentheses are used, the constant is of category numeric; if quotation marks are used it is of category alphanumeric.

    To declare several figurative constants using this feature, use the CONSTANT directive repeatedly.


    CONVERTPTR

    Specifies whether POINTER data items can be redefined as PIC 9(9) COMP data items.

    > >-|---|-|----|--CONVERTPTR---------------- > < |-/-| |-NO-|

    Properties:
    Default: NOCONVERTPTR
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Remarks: 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 CONVERTPTR is specified, pointers are held in a form that is reversed with respect to native byte ordering. They are converted to the native form immediately before any SET ADDRESS OF linkage-item TO pointer statement, and immediately after any SET pointer TO ADDRESS OF ... statement.

    The CONVERTPTR directive has no effect on PROCEDURE-POINTER data items.

    On 16-bit systems, unexpected behavior might occur if the arithmetic carried out causes the pointer to cross the boundary of a data segment.


    CONVERTRET

    Causes COMP and COMP-X items specified in CALL ... RETURNING and EXIT PROGRAM ... RETURNING phrases to be converted to COMP-5.

    > >-|---|-|----|--CONVERTRET---------------- > < |-/-| |-NO-|

    Properties:
    Default: NOCONVERTRET
    Phase: Syntax check
    Environment: All
    $SET: Initial


    CONVSPACE

    Converts double-byte space characters in COBOL source files to single-byte spaces on input.

    > >-|---|-|----|--CONVSPACE----------------- > < |-/-| |-NO-|

    Properties:
    Default: CONVSPACE
    Phase: Syntax check
    Environment: All
    $SET: Initial


    COPYEXT

    Specifies the file-name extension of the copyfile that the Compiler is to look for if a file-name in a COPY statement is specified without an extension.

    |-------------| . | > >-|---|--COPYEXT-"extension-|-------------|-"-- > < |-/-| |-,-extension-|

    Parameters:
    extension A file-name extension.

    Properties:
    Default: COPYEXT"cbl,cpy" (on DOS, Windows and OS/2) COPYEXT",cbl,cpy" (on UNIX)
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Remarks: Up to four extensions can be specified, each extension being up to 10 characters long. An extension of null is used to represent an extension of spaces.

    If you have many COPY statements that do not specify an extension, using COPYEXT can improve the compilation speed of your program. For example, if all of your copyfiles have the extension .cpy, specifying COPYEXT"CPY,CBL" would avoid unnecessary file access attempts.

    The behavior of this directive is affected by the setting of the OSEXT directive. The extension specified by the OSEXT directive overrides the first extension specified by the COPYEXT directive. For example:
    COPYEXT"cpy,cbl,txt" OSEXT"src"
    would have the same effect as:
    COPYEXT"src,cbl,txt"

    See also:
    OSEXT Compiler directive


    COPYLBR

    Makes the Compiler treat the library specified in a COPY statement as an .lbr file.

    > >-|---|-|----|--COPYLBR------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOCOPYLBR
    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.

    With NOCOPYLBR, the Compiler assumes that the library is a path-name.


    COPYLIST

    Makes the Compiler list the contents of files named in COPY statements.

    > >-|---|-|----|--COPYLIST-|-----------|---- > < |-/-| |-NO-| |-"integer"-|

    Parameters:
    integer Must be 0 or between 50 and 99.

    Properties:
    Default: COPYLIST
    Phase: Syntax check
    Environment: All
    $SET: Any

    Remarks: (integer) is the number of a COBOL segment. It must be 0 or in the range 50 through 99. If it is not specified, the contents of all copyfiles are listed. If it is specified, the contents of all copyfiles in the first three divisions (that is, the Identification, Environment and Data Divisions), the root, and the given segment are listed. An integer of 0 refers to the first three divisions and all root segments.

    NOCOPYLIST prevents the listing of the contents of any copyfiles. If a segment-number is specified with NOCOPYLIST, only copyfiles in that segment are listed. For example:
    COPYLIST"53" List all copyfiles in the first three divisions, the root segment, and segment 53.
    NOCOPYLIST"53" List only copyfiles that are in segment 53.

    Whatever the state of this directive, the name of any copyfile open when a page heading is output is given in that heading.


    CSI

    Makes the Compiler produce extra information so that you can use CSI.

    > >-|---|-|----|--CSI----------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOCSI
    Phase: Syntax check
    Environment: All
    $SET: No

    Dependencies: CSI sets ANIM at end.

    Remarks: This directive is reserved for use with products containing CSI, such as Workbench and Toolbox. Do not change its setting unless you have an appropriate add-on product.

    The CSI file has extension .csi. Its location is controlled by the COBIDY directive.

    See also:
    COBIDY Compiler directive


    CURRENCY-SIGN

    Specifies the currency sign to be recognized in the PICTURE clause.

    > >-|---|--CURRENCY-SIGN--"integer"--------- > < |-/-|

    Parameters:
    integer ASCII code of the character, in decimal.

    Properties:
    Default: CURRENCY-SIGN"36" (that is, "$")
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Remarks: You cannot specify a valid PICTURE clause symbol. See your Language Reference for a list of these.


    CURRENT-DATE

    Specifies the format of the date stored in the CURRENT-DATE special register.

    > >-|---|--CURRENT-DATE--"date-format"------ > < |-/-|

    Parameters:
    date-format Either DDMMYY or MMDDYY.

    Properties:
    Default: CURRENT-DATE"MMDDYY"
    Phase: Syntax check
    Environment: All
    $SET: Any

    Remarks: The DDMMYY parameter causes CURRENT-DATE to be stored in European format. The parameter can be specified in either upper case or lower case.