COBC(1) User Commands COBC(1)

# [NAME](#NAME)

cobc - manual page for cobc 3.2.0

# [SYNOPSIS](#SYNOPSIS)

**cobc** \[*options*]... *file*...

# [DESCRIPTION](#DESCRIPTION)

GnuCOBOL compiler for most COBOL dialects with lots of extensions

# [OPTIONS](#OPTIONS)

[**-h**, **--help**](#h)

display this help and exit

[**-V**, **--version**](#V)

display compiler version information and exit

[**-dumpversion**](#dumpversion)

display compiler version and exit

[**-i**, **--info**](#i)

display compiler information (build/environment) and exit

[**-v**, **--verbose**](#v)

verbose mode, display additional information; multiple **-v** options increase the verbosity, the maximum is 3 as [follows: (1)](/man/os/gnucobol/follows:.1) display compiler version and the commands invoked by the compiler, (2) pass verbose option to assembler/[compiler (3)](/man/os/gnucobol/compiler.3) pass verbose option to linker

[**-q**, **--brief**](#q)

reduced displays, commands invoked not shown

-###

like **-v** but commands not executed

[**-x**](#x)

build an executable program

[**-m**](#m)

build a dynamically loadable module (default)

[**-j** \[&lt;args&gt;\], **--job\[=**&lt;args&gt;\]](#j)

run program after build, passing &lt;args&gt;

[**-std=**&lt;dialect&gt;](#std=)

warnings/features for a specific dialect &lt;dialect&gt; can be one of: default, cobol2014, cobol2002, cobol85, xopen, ibm-strict, ibm, mvs-strict, mvs, mf-strict, mf, bs2000-strict, bs2000, acu-strict, acu, rm-strict, rm, gcos-strict, gcos; see configuration files in directory config

[**-F**, **--free**](#F)

use free source format (alias for **-fformat**=*free*)

[**--fixed**](#fixed)

use fixed source format (default; alias for **-fformat**=*fixed*)

[**-O**, **-O2**, **-O3**, **-Os**](#O)

enable optimization

[**-O0**](#O0)

disable optimization

[**-g**](#g)

enable C compiler debug and stack check

[**-d**, **--debug**](#d)

enable all run-time error checking, equal to **-fstack-check** **-fec**=*EC-ALL*

[**-fec=**&lt;exception-name&gt; enable code generation for &lt;exception-name&gt;,](#fec=)

see **--list-exceptions** for the possible values, sets **-fsource-location**

[**-fno-ec=**&lt;exception-name&gt;](#fno)

disable code generation for &lt;exception-name&gt;

[**-o** &lt;file&gt;](#o)

place the output into &lt;file&gt;

[**-b**](#b)

combine all input files into a single dynamically loadable module

[**-E**](#E)

preprocess only; do not compile or link

[**-C**](#C)

translation only; convert COBOL to C

[**-S**](#S)

compile only; output assembly file

[**-c**](#c)

compile and assemble, but do not link

[**-T** &lt;file&gt;](#T)

generate and place a wide program listing into &lt;file&gt;

[**-t** &lt;file&gt;](#t)

generate and place a program listing into &lt;file&gt;

[**--tlines=**&lt;lines&gt;](#tlines=)

specify lines per page in listing, default = 55

[**-P\[=**&lt;dir or file&gt;\]](#P_=)

generate preprocessed program listing (.lst)

[**-X**, **--Xref**](#X)

specify cross reference in listing

[**-I** &lt;directory&gt;](#I)

add &lt;directory&gt; to copy/include search path

[**-L** &lt;directory&gt;](#L)

add &lt;directory&gt; to library search path

[**-l** &lt;lib&gt;](#l)

link the library &lt;lib&gt;

[**-K** &lt;entry&gt;](#K)

generate CALL to &lt;entry&gt; as static

[**-D** &lt;define&gt;](#D)

define &lt;define&gt; for COBOL compilation

[**-A** &lt;options&gt;](#A)

add &lt;options&gt; to the C compile phase

[**-Q** &lt;options&gt;](#Q)

add &lt;options&gt; to the C link phase

[**--coverage**](#coverage)

instrument generated binaries for coverage

[**--conf=**&lt;file&gt;](#conf=)

user-defined dialect configuration; see **-std**

[**--list-reserved**](#list)

display reserved words

[**--list-intrinsics**](#list~2)

display intrinsic functions

[**--list-mnemonics**](#list~3)

display mnemonic names

[**--list-exceptions**](#list~4)

display exception names

[**--list-system**](#list~5)

display system routines

[**--save-temps\[=**&lt;dir&gt;\]](#save)

save intermediate files * default: current directory

[**-MT** &lt;target&gt;](#MT)

set/add target file used in dependency list

[**-MF** &lt;file&gt;](#MF)

place dependency list into &lt;file&gt;

[**-ext** &lt;extension&gt;](#ext)

add file extension for resolving COPY

## [Warning options:](#Warning_options:)

[**-Wall**](#Wall)

enable most warnings (all except as noted below)

[**-Wextra**](#Wextra)

like **-Wall** but enable some extra warning flags

[**-w**](#w)

disable all warnings

[**-Wno-**&lt;warning&gt;](#Wno)

disable warning enabled by default, **-Wall** or **-Wextra**

[**-Wadditional**](#Wadditional)

additional warnings only raised with **-Wall**

[**-Wno-unfinished**](#Wno~2)

do not warn if unfinished features are used * ALWAYS active

[**-Wno-pending**](#Wno~3)

do not warn if pending features are used * ALWAYS active

[**-Wno-repository-checks**](#Wno~4)

do not warn/check for program/function/external signature mismatch * ALWAYS active

[**-Wno-ignored-error**](#Wno~5)

do not warn about errors in code parts which are unreachable and so normally ignored * ALWAYS active

[**-Wobsolete**](#Wobsolete)

warn if obsolete features are used

[**-Warchaic**](#Warchaic)

warn if archaic features are used

[**-Wredefinition**](#Wredefinition)

warn about non-referenced ambiguous data items

[**-Wtruncate**](#Wtruncate)

warn about field truncation from constant assignments

[**-Wpossible-truncate**](#Wpossible)

warn about possible field truncation * NOT set with **-Wall**

[**-Woverlap**](#Woverlap)

warn about overlapping MOVE of items

[**-Wpossible-overlap**](#Wpossible~2)

warn about MOVE of items that may overlap depending on variables * NOT set with **-Wall**

[**-Wparentheses**](#Wparentheses)

warn if parentheses are omitted around AND within OR

[**-Wstrict-typing**](#Wstrict)

warn strictly about type mismatch, even when same size * NOT set with **-Wall**

[**-Wtyping**](#Wtyping)

warn about type mismatch

[**-Wimplicit-define**](#Wimplicit)

warn whenever data items are implicitly defined * NOT set with **-Wall**

[**-Wno-corresponding**](#Wno~6)

do not warn about CORRESPONDING with no matching items * ALWAYS active

[**-Winitial-value**](#Winitial)

warn if initial VALUE clause is ignored

[**-Wprototypes**](#Wprototypes)

warn about missing FUNCTION prototypes/definitions

[**-Warithmetic-osvs**](#Warithmetic)

warn if arithmetic expression precision has changed

[**-Wcall-params**](#Wcall)

warn about non 01/77 items for CALL parameters * NOT set with **-Wall**

[**-Wconstant-expression**](#Wconstant)

warn about expressions that always resolve to true/false

[**-Wconstant-numlit-expression**](#Wconstant~2)

warn about numeric expressions that always resolve to true/false

[**-Wlarger-01-redefines**](#Wlarger)

warn about larger redefines allowed by COBOL standards

[**-Wcolumn-overflow**](#Wcolumn)

warn about text after program-text area, FIXED format * NOT set with **-Wall**

[**-Wterminator**](#Wterminator)

warn about lack of scope terminator END-XXX * NOT set with **-Wall**

[**-Wlinkage**](#Wlinkage)

warn about dangling LINKAGE items * NOT set with **-Wall**

[**-Wunreachable**](#Wunreachable)

warn about likely unreachable statements * NOT set with **-Wall**

[**-Wno-dialect**](#Wno~7)

do not warn about dialect specific issues * ALWAYS active

[**-Wno-goto-section**](#Wno~8)

do not warn about GO TO section-name * ALWAYS active

[**-Wgoto-different-section**](#Wgoto)

warn about GO TO a praragraph defined in a different section

[**-Wsuspicious-perform-thru**](#Wsuspicious)

warn if PERFORM THRU references procedures not in ascending order or multiple sections * ALWAYS active

[**-Wdangling-text**](#Wdangling)

warn about source text after program-area * NOT set with **-Wall**

[**-Wno-missing-newline**](#Wno~9)

do not warn about missing newlines * ALWAYS active

[**-Wno-others**](#Wno~10)

do not warn about different issues * ALWAYS active

[**-Wno-unsupported**](#Wno~11)

do not warn if runtime does not support a feature used

[**-fdiagnostics-plain-output**](#fdiagnostics)

make diagnostic output as plain as possible

[**-Werror**](#Werror)

treat all warnings as errors

[**-Wno-error**](#Wno~12)

don't treat warnings as errors

[**-Werror=**&lt;warning&gt;](#Werror=)

treat specified &lt;warning&gt; as error

[**-Wno-error=**&lt;warning&gt;](#Wno~13)

don't treat specified &lt;warning&gt; as error

## [Compiler options:](#Compiler_options:)

[**-fsign**=*\[ASCII*|EBCDIC\] define display sign representation](#fsign)

\* default: machine native

[**-ffold-copy**=*\[UPPER*|LOWER\]](#ffold)

fold COPY subject to value * default: no transformation

[**-ffold-call**=*\[UPPER*|LOWER\]](#ffold~2)

fold PROGRAM-ID, CALL, CANCEL subject to value * default: no transformation

[**-fmax-errors=**&lt;number&gt; maximum number of errors to report before](#fmax)

compilation is aborted * default: 128

[**-fintrinsics**=*\[ALL*|intrinsic function name(,name,...)\]](#fintrinsics)

intrinsics to be used without FUNCTION keyword

[**-fdump=**&lt;scope&gt;](#fdump=)

dump data fields on abort, &lt;scope&gt; may be a combination of: ALL, WS, LS, RD, FD, SC, LO

[**-fcallfh=**&lt;name&gt;](#fcallfh=)

specifies &lt;name&gt; to be used for I/O as external provided EXTFH interface module

[**-febcdic-table=**&lt;cconv-table&gt;/&lt;file&gt;](#febcdic)

EBCDIC/ASCII translation table * e.g. default, ebcdic500\_latin1...

[**-fdefault-colseq**=*\[ASCII*|EBCDIC|NATIVE\]](#fdefault)

define default collating sequence * default: NATIVE

[**-fstack-extended**](#fstack)

store origin of entrypoints and PERFORM * turned on by **--debug**/-fdump

[**-fno-remove-unreachable**](#fno~2)

disable remove of unreachable code * turned off by **-g**

[**-ftrace**](#ftrace)

generate trace code * scope: executed SECTION/PARAGRAPH

[**-ftraceall**](#ftraceall)

generate trace code * scope: executed SECTION/PARAGRAPH/STATEMENTS

[**-fsyntax-only**](#fsyntax)

syntax error checking only; don't emit any output

[**-fdebugging-line**](#fdebugging)

enable debugging lines * 'D' in indicator column or floating &gt;&gt;D

[**-fsource-location**](#fsource)

generate source location code * turned on by **--debug**/-ftraceall/-fec/-fdump

[**-fimplicit-init**](#fimplicit)

automatic initialization of the COBOL runtime system

[**-fno-recursive-check**](#fno~3)

disable check of recursive program call; effectively compiling as RECURSIVE program

[**-fstack-check**](#fstack~2)

PERFORM stack checking * turned on by **--debug**/-g

[**-fmemory-check=**&lt;scope&gt;](#fmemory)

checks for invalid writes to internal storage, &lt;scope&gt; may be one of: all, pointer, using, none * default: none, set to all by **--debug**

[**-fsection-exit-check**](#fsection)

check that code execution does not leave the scope of SECTIONs

[**-fimplicit-goback-check**](#fimplicit~2)

check that code execution does not end implicit at end of PROCEDURE DIVISION

[**-fwrite-after**](#fwrite)

use AFTER 1 for WRITE of LINE SEQUENTIAL * default: BEFORE 1

[**-fmfcomment**](#fmfcomment)

'\*' in column 1 treated as comment with listing suppression * FIXED/COBOL85/VARIABLE format only

[**-facucomment**](#facucomment)

'$' in indicator area treated as '\*', '|' treated as floating comment

[**-fno-trunc**](#fno~4)

allow numeric field overflow * non-ANSI behaviour

[**-fsingle-quote**](#fsingle)

use a single quote (apostrophe) for QUOTE * default: double quote

[**-foptional-file**](#foptional)

treat all files as OPTIONAL * unless NOT OPTIONAL specified

[**-fstatic-call**](#fstatic)

output static function calls for the CALL statement

[**-fno-gen-c-decl-static-call**](#fno~5)

disable generation of C function declarations for subroutines with static CALL

[**-fgen-c-line-directives**](#fgen)

generate source location directives in C code; * turned on by **-g**/--coverage

[**-fgen-c-labels**](#fgen~2)

generate extra labels in C sources; * turned on by **-g**

[**-fno-theaders**](#fno~6)

suppress all headers from listing while keeping page breaks

[**-fno-tsource**](#fno~7)

suppress source from listing

[**-fno-tmessages**](#fno~8)

suppress warning and error summary from listing

[**-ftsymbols**](#ftsymbols)

specify symbols in listing

[**-ftcmd**](#ftcmd)

specify command line in listing

[**-fno-ttimestamp**](#fno~9)

suppress timestamp in listing headers

[**-fttitle=**&lt;title&gt;](#fttitle=)

set listing title with '\_' replaced by spaces; defaults to package name and version

[**-fno-diagnostics-show-option**](#fno~10)

suppress output of option that directly controls the diagnostic

[**-fno-diagnostics-show-caret**](#fno~11)

do not display source context on warning/error diagnostic

[**-fno-diagnostics-show-line-numbers**](#fno~12)

suppress display of line numbers in diagnostics

## [Compiler dialect configuration options:](#Compiler_dialect_configuration_options:)

[**-freserved-words=**&lt;value&gt;](#freserved)

use of complete/fixed reserved words

[**-ftab-width**=*1*..12](#ftab)

number of spaces that are assumed for tabs

[**-ftext-column**=*72*..255](#ftext)

right margin column number for fixed-form reference-format

[**-fpic-length=**&lt;number&gt;](#fpic)

maximum number of characters allowed in the PICTURE character-string

[**-fword-length**=*1*..63](#fword)

maximum word-length for COBOL (= programmer defined) words

[**-fliteral-length=**&lt;number&gt;](#fliteral)

maximum literal size in general

[**-fnumeric-literal-length**=*1*..38](#fnumeric)

maximum numeric literal size

[**-fdefaultbyte=**&lt;value&gt;](#fdefaultbyte=)

default initialization for fields without VALUE, may be one of * character in quotes * decimal 0..255 representing a character * "init" to initialize to PICTURE/USAGE * "none" to do no explicit initialization * default: "init"

[**-fformat=**&lt;value&gt;](#fformat=)

default reference-format, may be one of: FIXED, FREE, COBOL85, VARIABLE, XOPEN, XCARD, CRT, TERMINAL, COBOLX

[**-fbinary-size=**&lt;value&gt;](#fbinary)

binary byte size - defines the allocated bytes according to PIC, may be one of: 2-4-8, 1-2-4-8, 1--8

[**-fbinary-byteorder=**&lt;value&gt;](#fbinary~2)

binary byte order, may be one of: native, big-endian

[**-fassign-clause=**&lt;value&gt;](#fassign)

how to interpret 'ASSIGN word': as 'ASSIGN EXTERNAL word' or 'ASSIGN DYNAMIC word', may be one of: dynamic, external, ibm (= external), mf (= dynamic)

[**-fscreen-section-rules=**&lt;value&gt;](#fscreen)

which compiler's rules to apply to SCREEN SECTION item clauses, may be one of: acu, gc, mf, rm, std, xopen

[**-fdpc-in-data=**&lt;value&gt;](#fdpc)

whether DECIMAL-POINT IS COMMA has effect in XML/JSON GENERATE, may be one of: none, xml, json, all

[**-fsubscript-check=**&lt;value&gt;](#fsubscript)

checking for subscript (only done with EC-BOUND-SUBSCRIPT active), may be one of: full, max, record

[**-ffilename-mapping**](#ffilename)

resolve file names at run time using environment variables

[**-fpretty-display**](#fpretty)

alternate formatting of numeric fields

[**-fbinary-truncate**](#fbinary~3)

numeric truncation according to ANSI

[**-fcomplex-odo**](#fcomplex)

allow non-standard OCCURS DEPENDING ON syntax

[**-fodoslide**](#fodoslide)

adjust items following OCCURS DEPENDING (implies complex-odo)

[**-finit-justify**](#finit)

applies JUSTIFY with VALUE clause

[**-findirect-redefines**](#findirect)

allow REDEFINES to other than last equal level number

[**-frelax-syntax-checks**](#frelax)

allow certain syntax variations (e.g. REDEFINES position)

[**-fref-mod-zero-length**](#fref)

allow zero length reference-modification (only changed with EC-BOUND-REF-MOD active)

[**-frelax-level-hierarchy**](#frelax~2)

allow non-matching level numbers

[**-fselect-working**](#fselect)

require ASSIGN USING items to be in WORKING-STORAGE

[**-flocal-implies-recursive**](#flocal)

LOCAL-STORAGE SECTION implies RECURSIVE attribute

[**-fsticky-linkage**](#fsticky)

LINKAGE SECTION items remain allocated between invocations

[**-fmove-ibm**](#fmove)

MOVE operates as on IBM (left to right, byte by byte)

[**-fperform-osvs**](#fperform)

exit point of any currently executing perform is recognized if reached

[**-farithmetic-osvs**](#farithmetic)

limit precision in intermediate results to precision of final result (less accurate)

[**-fconstant-folding**](#fconstant)

evaluate constant expressions at compile time

[**-fhostsign**](#fhostsign)

allow hexadecimal value 'F' for NUMERIC test of signed PACKED DECIMAL field

[**-fprogram-name-redefinition**](#fprogram)

program names don't lead to a reserved identifier

[**-faccept-update**](#faccept)

set WITH UPDATE clause as default for ACCEPT dest-item, instead of WITH NO UPDATE

[**-faccept-auto**](#faccept~2)

set WITH AUTO clause as default for ACCEPT dest-item, instead of WITH TAB

[**-fconsole-is-crt**](#fconsole)

assume CONSOLE IS CRT if not set otherwise

[**-fno-echo-means-secure**](#fno~13)

NO-ECHO hides input with asterisks like SECURE

[**-fline-col-zero-default**](#fline)

assume a field DISPLAY starts at LINE 0 COL 0 (i.e. at the cursor), not LINE 1 COL 1

[**-fdisplay-special-fig-consts**](#fdisplay)

special behaviour of DISPLAY SPACE/ALL X'01'/ALL X'02'/ALL X'07'

[**-fbinary-comp-1**](#fbinary~4)

COMP-1 is a 16-bit signed integer

[**-fnumeric-pointer**](#fnumeric~2)

POINTER is a 64-bit unsigned integer

[**-fmove-non-numeric-lit-to-numeric-is-zero**](#fmove~2)

imply zero in move of non-numeric literal to numeric items

**-fimplicit-assign-dynamic-var** implicitly define a variable if an ASSIGN DYNAMIC does not match any data item

[**-fdevice-mnemonics**](#fdevice)

specifying device by mnemonic

[**-fxml-parse-xmlss**](#fxml)

XML PARSE XMLSS

[**-fareacheck**](#fareacheck)

check contents of Area A (when reference format supports Area A enforcement), enabled checks include: * division, section, paragraph names, level indicators (FD, SD, RD, and CD),

[and toplevel numbers (01 and 77) must start in Area A;](#and)

\* statements must not start in Area A; and * separator periods must not be within Area A

[**-fcomment-paragraphs=**&lt;support&gt;](#fcomment)

comment paragraphs in IDENTIFICATION DIVISION (AUTHOR, DATE-WRITTEN, ...)

[**-fcontrol-division=**&lt;support&gt;](#fcontrol)

CONTROL DIVISION

[**-fpartial-replace-when-literal-src=**&lt;support&gt;](#fpartial)

apply partial replacing with literal source operand even when it replaces with spaces only; * "skip" prevents such replacements

[**-fmemory-size-clause=**&lt;support&gt;](#fmemory~2)

MEMORY-SIZE clause

**-fmultiple-file-tape-clause=**&lt;support&gt; MULTIPLE-FILE-TAPE clause

[**-flabel-records-clause=**&lt;support&gt;](#flabel)

LABEL-RECORDS clause

[**-fvalue-of-clause=**&lt;support&gt;](#fvalue)

VALUE-OF clause

[**-fdata-records-clause=**&lt;support&gt;](#fdata)

DATA-RECORDS clause

[**-ftop-level-occurs-clause=**&lt;support&gt;](#ftop)

OCCURS clause on top-level

[**-fsame-as-clause=**&lt;support&gt;](#fsame)

SAME AS clause

[**-ftype-to-clause=**&lt;support&gt;](#ftype)

TYPE TO clause

[**-fusage-type=**&lt;support&gt;](#fusage)

USAGE type-name

[**-fsynchronized-clause=**&lt;support&gt;](#fsynchronized)

SYNCHRONIZED clause

[**-fsync-left-right=**&lt;support&gt;](#fsync)

LEFT/RIGHT phrases in SYNCHRONIZED clause

[**-fspecial-names-clause=**&lt;support&gt;](#fspecial)

SPECIAL-NAMES clause

[**-fgoto-statement-without-name=**&lt;support&gt;](#fgoto)

GO TO statement without name

[**-fstop-literal-statement=**&lt;support&gt;](#fstop)

STOP-literal statement

**-fstop-identifier-statement=**&lt;support&gt; STOP-identifier statement

[**-fstop-error-statement=**&lt;support&gt;](#fstop~2)

STOP ERROR statement

[**-fdebugging-mode=**&lt;support&gt;](#fdebugging~2)

DEBUGGING MODE and debugging indicator

**-fuse-for-debugging=**&lt;support&gt; USE FOR DEBUGGING

[**-fpadding-character-clause=**&lt;support&gt;](#fpadding)

PADDING CHARACTER clause

[**-fnext-sentence-phrase=**&lt;support&gt;](#fnext)

NEXT SENTENCE phrase

[**-flisting-statements=**&lt;support&gt;](#flisting)

listing-directive statements EJECT, SKIP1, SKIP2, SKIP3

[**-ftitle-statement=**&lt;support&gt;](#ftitle)

listing-directive statement TITLE

[**-fentry-statement=**&lt;support&gt;](#fentry)

ENTRY statement

[**-fmove-noninteger-to-alphanumeric=**&lt;support&gt;](#fmove~3)

move noninteger to alphanumeric

[**-fmove-figurative-constant-to-numeric=**&lt;support&gt;](#fmove~4)

move figurative constants to numeric

[**-fmove-figurative-space-to-numeric=**&lt;support&gt;](#fmove~5)

move figurative constant SPACE to numeric

[**-fmove-figurative-quote-to-numeric=**&lt;support&gt;](#fmove~6)

move figurative constant QUOTE to numeric

[**-fodo-without-to=**&lt;support&gt;](#fodo)

OCCURS DEPENDING ON without to

[**-fsection-segments=**&lt;support&gt;](#fsection~2)

section segments

[**-falter-statement=**&lt;support&gt;](#falter)

ALTER statement

[**-fcall-overflow=**&lt;support&gt;](#fcall)

OVERFLOW clause for CALL

[**-fnumeric-boolean=**&lt;support&gt;](#fnumeric~3)

boolean literals (B'1010')

[**-fhexadecimal-boolean=**&lt;support&gt;](#fhexadecimal)

hexadecimal-boolean literals (BX'A')

**-fnational-literals=**&lt;support&gt; national literals (N'UTF-16 string')

[**-fhexadecimal-national-literals=**&lt;support&gt;](#fhexadecimal~2)

hexadecimal-national literals (NX'265E')

[**-fnational-character-literals=**&lt;support&gt;](#fnational)

non-standard national literals (NC'UTF-16 string')

**-fhp-octal-literals=**&lt;support&gt; HP COBOL octal literals (%377)

[**-facu-literals=**&lt;support&gt;](#facu)

ACUCOBOL-GT literals (#B #O #H #X)

[**-febcdic-symbolic-characters**](#febcdic~2)

EBCDIC symbolic characters in literals (" "135,151,151"bar"195, 194"Z" for " foobarBAZ")

**-fword-continuation=**&lt;support&gt; continuation of COBOL words

[**-fnot-exception-before-exception=**&lt;support&gt;](#fnot)

NOT ON EXCEPTION before ON EXCEPTION

**-faccept-display-extensions=**&lt;support&gt; extensions to ACCEPT and DISPLAY

[**-frenames-uncommon-levels=**&lt;support&gt;](#frenames)

RENAMES of 01-, 66- and 77-level items

[**-flarger-redefines=**&lt;support&gt;](#flarger)

allow larger REDEFINES items

**-fsymbolic-constant=**&lt;support&gt; constants defined in SPECIAL-NAMES

[**-fconstant-78=**&lt;support&gt;](#fconstant~2)

constant with level 78 item (note: has left to right precedence in expressions)

[**-fconstant-01=**&lt;support&gt;](#fconstant~3)

constant with level 01 CONSTANT AS/FROM item

[**-fperform-varying-without-by=**&lt;support&gt;](#fperform~2)

PERFORM VARYING without BY phrase (implies BY 1)

[**-freference-out-of-declaratives=**&lt;support&gt;](#freference)

references to sections not in DECLARATIVES from within DECLARATIVES

[**-fprogram-prototypes=**&lt;support&gt;](#fprogram~2)

CALL/CANCEL with program-prototype-name

[**-fcall-convention-mnemonic=**&lt;support&gt;](#fcall~2)

specifying call-convention by mnemonic

[**-fcall-convention-linkage=**&lt;support&gt;](#fcall~3)

specifying call-convention by WITH ... LINKAGE

[**-fusing-optional=**&lt;support&gt;](#fusing)

support for PROCEDURE DIVISION USING OPTIONAL

[**-fnumeric-value-for-edited-item=**&lt;support&gt;](#fnumeric~4)

numeric literals in VALUE clause of numeric-edited items

[**-fincorrect-conf-sec-order=**&lt;support&gt;](#fincorrect)

incorrect order of CONFIGURATION SECTION paragraphs

**-fdefine-constant-directive=**&lt;support&gt; allow &gt;&gt; DEFINE CONSTANT var AS literal

[**-ffree-redefines-position=**&lt;support&gt;](#ffree)

REDEFINES clause not following entry-name in definition

[**-frecords-mismatch-record-clause=**&lt;support&gt;](#frecords)

record sizes does not match RECORD clause

[**-frecord-delimiter=**&lt;support&gt;](#frecord)

RECORD DELIMITER clause

[**-fsequential-delimiters=**&lt;support&gt;](#fsequential)

BINARY-SEQUENTIAL and LINE-SEQUENTIAL phrases in RECORD DELIMITER

[**-frecord-delim-with-fixed-recs=**&lt;support&gt;](#frecord~2)

RECORD DELIMITER clause on file with fixed-length records

**-fmissing-statement=**&lt;support&gt; missing statement (e.g. empty IF / PERFORM)

[**-fmissing-period=**&lt;support&gt;](#fmissing)

missing period in PROCEDURE DIVISION (when reference format supports Area A enforcement)

[**-fzero-length-literals=**&lt;support&gt;](#fzero)

zero-length literals, e.g. '' and ""

[**-fxml-generate-extra-phrases=**&lt;support&gt;](#fxml~2)

XML GENERATE's phrases other than COUNT IN

[**-fcontinue-after=**&lt;support&gt;](#fcontinue)

AFTER phrase in CONTINUE statement

[**-fgoto-entry=**&lt;support&gt;](#fgoto~2)

ENTRY FOR GO TO and GO TO ENTRY statements

[**-fassign-variable=**&lt;support&gt;](#fassign~2)

ASSIGN \[TO] variable in SELECT

[**-fassign-using-variable=**&lt;support&gt;](#fassign~3)

ASSIGN USING/VARYING variable in SELECT

[**-fassign-ext-dyn=**&lt;support&gt;](#fassign~4)

ASSIGN EXTERNAL/DYNAMIC in SELECT

[**-fassign-disk-from=**&lt;support&gt;](#fassign~5)

ASSIGN DISK FROM variable in SELECT

[**-fvsam-status=**&lt;support&gt;](#fvsam)

VSAM status in FILE STATUS

[**-fself-call-recursive=**&lt;support&gt;](#fself)

CALL to own PROGRAM-ID implies RECURSIVE attribute

[**-frecord-contains-depending-clause=**&lt;support&gt;](#frecord~3)

DEPENDING clause in RECORD CONTAINS

[**-fpicture-l=**&lt;support&gt;](#fpicture)

PICTURE string with 'L' character

where &lt;support&gt; is one of the following: 'ok', 'warning', 'archaic', 'obsolete', 'skip', 'ignore', 'error', 'unconformable'

[**-fnot-reserved=**&lt;word&gt;](#fnot~2)

word to be taken out of the reserved words list

[**-freserved=**&lt;word&gt;](#freserved=)

word to be added to reserved words list

[**-freserved=**&lt;word&gt;:&lt;alias&gt;](#freserved=~2)

word to be added to reserved words list as alias

[**-fnot-register=**&lt;word&gt;](#fnot~3)

special register to disable

[**-fregister=**&lt;word&gt; or &lt;word&gt;:&lt;definition&gt;, where definition uses backslash esca](#fregister=)

special register to enable

# [AUTHOR](#AUTHOR)

Written by Keisuke Nishida, Roger While, Ron Norman, Simon Sobisch, Edward Hart Built Jul 28 2023 19:20:47 Packaged Jul 28 2023 17:02:56 UTC C version "10.2.1 20210110"

# [REPORTING BUGS](#REPORTING_BUGS)

Report bugs to: bug-gnucobol@gnu.org or (preferably) use the issue tracker via the home page.  
GnuCOBOL home page: &lt;https://www.gnu.org/software/gnucobol/&gt;  
General help using GNU software: &lt;https://www.gnu.org/gethelp/&gt;

# [COPYRIGHT](#COPYRIGHT)

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later &lt;https://gnu.org/licenses/gpl.html&gt;  
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

# [SEE ALSO](#SEE_ALSO)

The full documentation for **cobc** is maintained as a Texinfo manual. If the **info** and **cobc** programs are properly installed at your site, the command

**info gnucobol**

should give you access to the complete manual.

July 2023 GnuCOBOL 3.2.0

---

Document: cobc(1) from gnucobol 3.2-r9 (Chainguard OS)
Source: https://ftpmirror.gnu.org/gnu/gnucobol/gnucobol-3.2.tar.gz
