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

  • EANIM

    Makes the Compiler put information about line numbers and symbols into the .obj file for use by a run-time debugger such as Microsoft CodeView.

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

    Parameters:
    integer Indicates the type of debugger support to enable.

    Properties:
    Default: NOEANIM
    Phase: Both
    Environment: DOS, Windows and OS/2
    $SET: No

    Dependencies:
    If OMF"GNT", EANIM sets OMF"OBJ" at end.
    If OPT"0", EANIM sets OPT"1" at end.
    EANIM sets ANIM immediately.

    Remarks: (integer) can be one of two values:

    1. Enables support for versions of Microsoft Codeview other than V3.50, and other .exe level debuggers. COBOL data types cannot be examined directly, but the CodeView command DB can be used to give a memory dump of a COBOL variable.
    2. Enables support for Microsoft CodeView V3.50, such that you can examine and modify most COBOL data types in the debugger.

    Specifying EANIM is the same as specifying EANIM"2".

    For CodeView 3.00 and 3.1x, you can use either EANIM or EANIM"1". For CodeView 4.xx you must use EANIM"1", and you must use the linker that came with your copy of CodeView.

    This directive affects only .obj files.

    If you subsequently link the program using the options /CO, the debugging information is copied into the .exe file.

    EANIM causes FILLER data items to be placed in the dictionary, as is required by CodeView 3.50.


    EARLY-RELEASE

    Enables support for Early User Syntax.

    > >-|---|-|----|--EARLY-RELEASE------------- > < |-/-| |-NO-|

    Properties:
    Default: NOEARLY-RELEASE
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Dependencies:
    If NOEARLY-RELEASE and MF are set, MF defaults to MF"10".
    If EARLY-RELEASE and MF are set, MF defaults to MF"11".

    Remarks: You must specify this directive if you want to use any of the early-release directives.


    ECHO

    Makes the Compiler display error lines and error messages on the screen.

    > >-|---|-|----|--ECHO---------------------- > < |-/-| |-NO-|

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

    Dependencies: Set to NOECHO immediately by ECHOALL.

    Remarks: For each error, the source line is displayed together with an error number and (unless BRIEF is set) an explanatory message.

    See also:
    BRIEF Compiler directive


    EDITOR

    Makes the Compiler send error messages to a file in a format compatible with a specified editor.

    > >-|---|-|-----EDITOR--"editor-id"-|------- > < |-/-| |-NO--EDITOR--------------|

    Parameters:
    editor-id Must be MF, MF2 or MS.

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

    Dependencies:
    EDITOR"MS" sets NOENSUITE immediately.
    EDITOR"MF" sets ENSUITE"1" immediately.

    Remarks: The possible values of are:
    MF Micro Focus Editor
    MF2 Micro Focus Animator V2
    MS Microsoft Programmer's Workbench

    You are recommended to use the NOECHO and NOQUERY directives in addition to the EDITOR directive.

    See also:
    ECHO Compiler directive
    FLAGSINEDIT Compiler directive
    QUERY Compiler directive


    ERRLIST

    Specifies that the listing is to contain no source lines except those that have errors or flags.

    > >-|---|-|----|--ERRLIST------------------- > < |-/-| |-NO-|

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


    ERRQ

    Makes the Compiler ask, each time it gives an error message, whether you want to stop compiling.

    > >-|---|-|----|--ERRQ---------------------- > < |-/-| |-NO-|

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


    EXPANDDATA

    Makes the Compiler store the program data in uncompressed form.

    > >-|---|-|----|--EXPANDDATA---------------- > < |-/-| |-NO-|

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

    Remarks: This directive only affects .obj files.

    Normally the COBOL system stores the program data in compressed form and expands it when the program is loaded. Specifying EXPANDDATA when compiling to an .obj file causes the data to be stored in its expanded form.

    This saves a small amount of time at initial program entry, and on DOS it gives a smaller .exe file because information to guide the expansion can be omitted; DOS always allocates the space for the expanded form in any case. On OS/2 it gives a slightly bigger .exe file.

    When data is stored in this way, it is only initialized once, when the program is physically loaded. Hence the IS INITIAL phrase in the PROGRAM-ID paragraph does not work. Also, a program which is canceled and called again is only reinitialized if it is a separate module, such that this cancel/call cycle causes a physical reload from disk. The directive is ignored when compiling to a .gnt file.


    EXTINDEX

    Specifies that index-names defined in a table in an EXTERNAL record are to be treated as EXTERNAL.

    This directive is provided for compatibility with earlier releases of this COBOL system. It should not be used with new programs, and existing programs should be recoded to make the use of this directive unnecessary. It will be removed in a future release.

    > >-|---|-|----|--EXTINDEX------------------ > < |-/-| |-NO-|

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

    Remarks: With EXTINDEX, behavior is as in earlier versions of this Compiler. With NOEXTINDEX, such items are not regarded as EXTERNAL, thus conforming to the ANSI'85 standard.


    FASTLINK

    Tells the Compiler that the parameters in the USING clauses of the Procedure Division statement and each ENTRY statement conform to certain restrictions. This enables it to produce faster code.

    > >-|---|-|----|--FASTLINK------------------ > < |-/-| |-NO-|

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

    Dependencies:
    If OMF"GNT", FASTLINK sets OMF"OBJ" at end.
    If ASSUME is set, set to NOFASTLINK at end by REGPARM"IN".

    Remarks: This directive only affects .obj files.

    The restrictions are:

    • The first parameter in every USING clause is the first item in the Linkage Section.
    • The parameters must appear in the same order they appear in the Linkage Section.
    • Any Linkage Section items that do not appear in the clause are defined after those that do.
    • No BY VALUE parameters are used.
    • Only allowed with OMF"OBJ".
    • The program must not have any EXTERNAL data items.


    FASTSORT

    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.

    > >-|---|-|----|--FASTSORT------------------ > < |-/-| |-NO-|

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


    FCDREG

    Makes the Compiler define special-registers giving access to File Control Descriptions (FCD) and Key Definition Blocks.

    > >-|---|-|----|--FCDREG-------------------- > < |-/-| |-NO-|

    Properties:
    Default: NOFCDREG
    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 or Workbench, or similar add-on products from Micro Focus. Do not change its setting unless you have an appropriate system.

    FCDREG causes a special register, FH--FCD, to be created for each File Definition (FD) in the program. This register points to the File Control Description (FCD) for the file. Thus the program can read or amend information in the FCD.

    For each indexed file, an additional special register, FH--KEYDEF, is created. This register points to the Key Definitions Block for the file.

    The layout of the FCD and the Key Definitions Block is given in the documentation for the appropriate add-on product.


    FDCLEAR

    Specifies that the record buffer for a file should be cleared after every write operation. The buffer is cleared to the value specified by the DEFAULTBYTE directive.

    > >-|---|-|----|--FDCLEAR------------------- > < |-/-| |-NO-|

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

    Remarks: The FDCLEAR directive is effective while the SELECT clauses are being processed. Use $SET statements before and after each SELECT clause to apply this feature to selected files. Alternatively, use it once before processing any SELECT statements to apply it to all files in a program.

    The FDCLEAR directive is ignored for files subject to a SAME RECORD AREA clause in the I-O-CONTROL paragraph.

    Example: In the following code, FDCLEAR is applied only to file-2:

    file-control. select file-1 ... $set fdclear select file-2 ... $set nofdclear select file-3 ...


    FILESHARE

    Causes the default locking to become AUTOMATIC rather than EXCLUSIVE for files in a multi-user environment, and automatically locks records on a WRITE or REWRITE statement when the program is locking multiple records.

    This directive is not related in any way to Fileshare Version 2, available from Micro Focus in the Toolset, Toolbox and Workbench products. You must not use this directive when using Fileshare V2.

    > >-|---|-|----|--FILESHARE----------------- > < |-/-| |-NO-|

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

    Remarks: This directive is included for compatibility with earlier file-sharing products. When writing new programs you should use the locking syntax rather than this directive.

    FILESHARE is equivalent to WRITELOCK and AUTOLOCK together. NOFILESHARE is equivalent to NOAUTOLOCK and NOWRITELOCK together.


    FILETYPE

    Specifies the file format to use when creating files.

    > >-|---|--FILETYPE--"integer"-------------- > < |-/-|

    Parameters:
    integer Must be between 0 and 6.

    Properties:
    Default: FILETYPE"0"
    Phase: Syntax check
    Environment: All
    $SET: Any

    Dependencies: FILETYPE"(integer)" sets IDXFORMAT"(integer)" immediately.

    Remarks: The possible values of (integer) are:

    • 0 System specific default (for this COBOL system, same as 3).
    • 1 C-ISAM format.
    • 2 Micro Focus Level II format.
    • 3 The format used by this COBOL system.
    • 4 An optimized form of the format used by this system, for fast duplicate key handling.
    • 5 Btrieve format (with ANSI conformance emulation).
    • 6 Btrieve format (without ANSI conformance emulation).
    • 7-10 Reserved.
    • 11 Mainframe print file format.
    • 12-255 Reserved.

    Types 5 and 6 are available only in DOS, Windows and OS/2 environments.

    This directive only works on files processed by the Callable File Handler. Use the CALLFH directive if you are processing files other than indexed files.

    To produce print files in the style of an IBM mainframe using FILETYPE"11", you must also use WRITE AFTER ADVANCING syntax, the CALLFH Compiler directive (so your program uses the Callable File Handler), and a SELECT statement in the form:

    select printfile assign "print" organization is sequential.
    (Print files in the style of an IBM mainframe have print control character in the first column.)

    See also:
    CALLFH Compiler directive


    FIXING

    Tells the Compiler how many times to perform its final pass which shortens jump instructions.

    > >-|---|--FIXING--"integer"---------------- > < |-/-|

    Parameters:
    integer Must be between 1 and 99.

    Properties:
    Default: FIXING"99"
    Phase: Generate
    Environment: 16-bit
    $SET: Any

    Remarks: The Compiler tries to convert 80x86 jump instructions into their shorter form if possible; this gives smaller object code. Shortening some jump instructions might result in other jumps becoming eligible to be shortened and so further fixing passes might result in further size reduction.

    The Compiler does this very quickly, so there should be no need to change this directive. It is maintained only for compatibility with earlier versions of the Compiler.


    FLAG

    Makes the Compiler produce language-level certification flags when it finds syntax that is not part of a specified dialect of COBOL.

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

    Parameters:
    dialect A literal identifying the dialect.

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

    Remarks: The possible values of are:

    • MF Micro Focus
    • ANS74 ANSI COBOL standard X3.23, 1974
    • ANS85 ANSI COBOL standard X3.23, 1985
    • SAA Full implementation of IBM's System Application Architecture definition of COBOL
    • VSC2 IBM VS COBOL II
    • OSVS IBM OS/VS COBOL
    • DOSVS IBM DOS/VS COBOL
    • COBOL370 IBM COBOL/370

    You cannot use DG, RM or MS as a dialect.

    When creating a program that is to be fully ANSI'85 conforming, use:
    ANS85 FLAG"ANS85"
    and correct anything that causes a flagging message to be produced.

    For VSC2, the flagging given depends on the version of VS COBOL II selected by the VSC2 directive. For SAA, the flagging given depends on the level of SAA selected by the SAA directive.


    FLAGAS

    Makes the Compiler output flagging messages as error messages, warning messages or informational messages.

    > >-|---|-|-----FLAGAS--"severity"-|-------- > < |-/-| |-NO--FLAGAS-------------|

    Parameters:
    severity A literal showing the severity to assign to flag messages.

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

    Remarks: The possible values of are:

    • S Severe error
    • E Error
    • W Warning
    • I Informational


    FLAGCD

    When used in conjunction with the FLAG directive, FLAGCD flags any directive settings that would cause incompatibility with the specified dialect of COBOL.

    > >-|---|-|--------FLAGCD--"severity"-|----- > < |-/-| ||----|--FLAGCD-------------| |-NO-|

    Parameters:
    severity A literal showing the severity to assign to flag messages arising from conflicting directives.

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

    Remarks: The possible values of are:

    • S Severe error
    • E Error
    • W Warning
    • I Informational

    If FLAGCD is specified with no parameters, the messages are assigned the severity given by the FLAGAS directive, if specified; if FLAGAS is not specified, they are produced as flagging messages.


    FLAGMIG

    Causes the Compiler to flag any syntax that behaves differently at run time depending on the setting of CMPR2.

    > >-|---|-|----|--FLAGMIG------------------- > < |-/-| |-NO-|

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

    Remarks: Such syntax receives W-level messages, with the additional text "MIGR" appearing in the message line to indicate that the warning results from specifying the FLAGMIG directive.

    See also:
    CMPR2 Compiler directive


    FLAGQ

    Makes the Compiler ask, each time it gives a flagging message, whether you want to stop compiling.

    > >-|---|-|----|--FLAGQ--------------------- > < |-/-| |-NO-|

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


    FLAGINEDIT

    Specifies whether flagging messages are to be included in an error file.

    > >-|---|-|----|--FLAGSINEDIT--------------- > < |-/-| |-NO-|

    Properties:
    Default: FLAGSINEDIT
    Phase: Both
    Environment: All
    $SET: No

    Remarks: This directive has no effect if NOEDITOR is specified. If EDITOR and FLAGSINEDIT are specified, the error file produced contains all flagging messages produced by the Compiler.

    See also:
    EDITOR Compiler directive


    FLAGSTD

    Makes the Compiler produce language-level certification flags when it finds syntax that is not part of a specified level of the ANSI'85 Standard.

    > >-|---|-|-----FLAGSTD--"string"-|--------- > < |-/-| |-NO--FLAGSTD-----------|

    Parameters:
    string List of language levels

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

    Remarks: contains a list of parameters, each defining a language level or optional module of the ANSI Standard. A feature is not flagged if it is in one of the specified levels or below, or in one of the specified optional modules. A feature is flagged if it is an extension, in a higher level of the Standard, or in an optional module not specified. In addition, it is possible to flag elements identified as OBSOLETE by the ANSI Standard.

    can consist of any of the following parameters:

    • M ANSI'85 defined Minimum COBOL subset
    • I ANSI'85 defined Intermediate COBOL subset
    • H ANSI'85 defined High COBOL subset
    • C1 Communications optional module level 1
    • C2 Communications optional module level 2
    • D1 Debug optional module level 1
    • D2 Debug optional module level 2
    • S1 Segmentation optional module level 1
    • S2 Segmentation optional module level 2
    • R Report writer optional module
    • O Obsolete language elements

    They can appear in any order but must be separated by at least one space. The following combination of flags can be specified:

    • You must choose one of the following: M, I, H
    • You can choose as many of the following as desired: C1 or C2, D1 or D2, S1 or S2, R
    • You can also choose the following flag: O

    FLAG and FLAGSTD provide similar functionality and thus only one can be used.

    The ANS85 directive must be on.


    FLAG-CHIP

    Makes the Compiler produce flags indicating potential problem areas on the chip architecture in use.

    > >-|---|-|----|--FLAG-CHIP----------------- > < |-/-| |-NO-|

    Properties:
    Default: NOFLAG-CHIP
    Phase: Syntax check
    Environment: All
    $SET: Any

    Remarks: Causes the Compiler to generate special flagging errors for potential problem areas for the chip architecture given by the CHIP directive. It has no effect if NOCHIP is set. See the chapter Writing Programs in your COBOL User Guide for more details.


    FOLD-CALL-NAME

    Folds the identifier/literal associated with CALL, CANCEL, ENTRY, and CHAIN statements and the program name in the PROGRAM-ID paragraph to upper or lower case.

    > >-|---|-|-----FOLD-CALL-NAME--"case"-|---- > < |-/-| |-NO--FOLD-CALL-NAME---------|

    Parameters:
    case UPPER or LOWER

    Properties:
    Default: NOFOLD-CALL-NAME
    Phase: Syntax check
    Environment: All
    $SET: Initial

    Remarks: The Compiler also accepts the directive name without hyphens; that is FOLDCALLNAME.

    In a CALL statement, the name called is given the case specified by this directive, but the actual contents of are not changed.

    The FOLD-CALL-NAME directive can help in the transfer of COBOL code from an environment with file names which are not case specific to one which is. For example, from OS/2 to UNIX.

    It also makes checker conform with the ANSI'85 standard interprogram communications module, in which the case of a program name in a CALL statement does not matter.

    With NOFOLD-CALL-NAME, by normal COBOL convention the program name is folded to upper case unless enclosed in quotes. This also applies to the root program of a nested program. All the subprogram names are folded to upper case even when in quotes. (Enclosing program name in quotes is a Micro Focus extension. See the section The PROGRAM-ID Paragraph in your Language Reference.)

    The program name is also accessible as an entry point in a fully linked executable.


    FORM

    Specifies the number of lines on each page of the listing.

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

    Parameters:
    integer Must be greater than 3.

    Properties:
    Default: FORM"60"
    Phase: Both
    Environment: All (syntax check), 16-bit (generate)
    $SET: Any

    Dependencies: Set to NOFORM at end by NOLIST or MASM.
    Set to FORM"60" immediately by LIST.

    Remarks: With FORM"(integer)", a form-feed character is always produced at the head of the listing file. With NOFORM, no form-feed characters or page headings are produced anywhere in the listing.


    FP-ROUNDING

    Determines whether one floating-point receiving item can affect the results of other, nonfloating-point receiving items.

    > >-|---|-|-----FP-ROUNDING--"dialect"---|-- > < |-/-| |-NO--FP-ROUNDING--------------|

    Parameters:
    dialect Must be VSC2 or OSVS.

    Properties:
    Default: NOFP-ROUNDING
    Phase: Syntax check
    Environment: All
    $SET: Any

    Remarks: In OS/VS COBOL and VS COBOL II, if any of the sending data items of an arithmetic statement are floating point, all receiving fields are rounded, regardless of the presence or absence of the ROUNDED phrase and regardless of whether or not the receiving fields are floating point.

    In VS COBOL II, if any receiving data item is defined as floating point, rounding takes place for all receiving data items regardless of the presence or absence of the ROUNDED phrase, of whether or not the receiving field is floating point, and of whether or not there are any sending items which are floating point.

    With NOFP-ROUNDING, no rounding takes place for fixed point targets in calculations involving floating point operands unless the ROUNDED phrase is explicitly used in the source.

    Example: If two data items are defined as follows:

    05 numeric-field pic 999. 05 floating-field comp-1. and the following statement is executed: compute numeric-field floating-field = 7.7 + 1 specifying FP-ROUNDING"VSC2" results in numeric-field containing 9 (rounded), whereas specifying NOFP-ROUNDING or FP-ROUNDING"OSVS" would result in numeric-field containing 8 (truncated).

    If, using the same two data items, the following statement is executed:
    compute numeric-field = +7.6E0
    specifying FP-ROUNDING"VSC2" or FP-ROUNDING"OSVS" results in numeric-field containing 8 (rounded), whereas specifying NOFP-ROUNDING results in numeric-field containing 7 (truncated).