GnuCOBOL compiler for most COBOL dialects with lots of extensions
Usage: /usr/bin/cobc [options]... file...
Options:
-h, --help display this help and exit
-V, --version display compiler version information and exit
-dumpversion display compiler version and exit
-i, --info display compiler information (build/environment)
and exit
-v, --verbose verbose mode, display additional information;
multiple -v options increase the verbosity,
the maximum is 3 as follows:
(1) display compiler version and the commands
invoked by the compiler,
(2) pass verbose option to assembler/compiler
(3) pass verbose option to linker
-q, --brief reduced displays, commands invoked not shown
-### like -v but commands not executed
-x build an executable program
-m build a dynamically loadable module (default)
-j [<args>], --job[=<args>] run program after build, passing <args>
-std=<dialect> warnings/features for a specific dialect
<dialect> 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 use free source format (alias for -fformat=free)
--fixed use fixed source format (default; alias for
-fformat=fixed)
-O, -O2, -O3, -Os enable optimization
-O0 disable optimization
-g enable C compiler debug and stack check
-d, --debug enable all run-time error checking,
equal to -fstack-check -fec=EC-ALL
-fec=<exception-name> enable code generation for <exception-name>,
see --list-exceptions for the possible values,
sets -fsource-location
-fno-ec=<exception-name> disable code generation for <exception-name>
-o <file> place the output into <file>
-b combine all input files into a single
dynamically loadable module
-E preprocess only; do not compile or link
-C translation only; convert COBOL to C
-S compile only; output assembly file
-c compile and assemble, but do not link
-T <file> generate and place a wide program listing into <file>
-t <file> generate and place a program listing into <file>
--tlines=<lines> specify lines per page in listing, default = 55
-P[=<dir or file>] generate preprocessed program listing (.lst)
-X, --Xref specify cross reference in listing
-I <directory> add <directory> to copy/include search path
-L <directory> add <directory> to library search path
-l <lib> link the library <lib>
-K <entry> generate CALL to <entry> as static
-D <define> define <define> for COBOL compilation
-A <options> add <options> to the C compile phase
-Q <options> add <options> to the C link phase
--coverage instrument generated binaries for coverage
--conf=<file> user-defined dialect configuration; see -std
--list-reserved display reserved words
--list-intrinsics display intrinsic functions
--list-mnemonics display mnemonic names
--list-exceptions display exception names
--list-system display system routines
--save-temps[=<dir>] save intermediate files
* default: current directory
-MT <target> set/add target file used in dependency list
-MF <file> place dependency list into <file>
-ext <extension> add file extension for resolving COPY
Warning options:
-Wall enable most warnings (all except as noted below)
-Wextra like -Wall but enable some extra warning flags
-w disable all warnings
-Wno-<warning> disable warning enabled by default, -Wall or -Wextra
-Wadditional additional warnings only raised with -Wall
-Wno-unfinished do not warn if unfinished features are used
* ALWAYS active
-Wno-pending do not warn if pending features are used
* ALWAYS active
-Wno-repository-checks do not warn/check for program/function/external signature mismatch
* ALWAYS active
-Wno-ignored-error do not warn about errors in code parts which are unreachable and so normally ignored
* ALWAYS active
-Wobsolete warn if obsolete features are used
-Warchaic warn if archaic features are used
-Wredefinition warn about non-referenced ambiguous data items
-Wtruncate warn about field truncation from constant assignments
-Wpossible-truncate warn about possible field truncation
* NOT set with -Wall
-Woverlap warn about overlapping MOVE of items
-Wpossible-overlap warn about MOVE of items that may overlap depending on variables
* NOT set with -Wall
-Wparentheses warn if parentheses are omitted around AND within OR
-Wstrict-typing warn strictly about type mismatch, even when same size
* NOT set with -Wall
-Wtyping warn about type mismatch
-Wimplicit-define warn whenever data items are implicitly defined
* NOT set with -Wall
-Wno-corresponding do not warn about CORRESPONDING with no matching items
* ALWAYS active
-Winitial-value warn if initial VALUE clause is ignored
-Wprototypes warn about missing FUNCTION prototypes/definitions
-Warithmetic-osvs warn if arithmetic expression precision has changed
-Wcall-params warn about non 01/77 items for CALL parameters
* NOT set with -Wall
-Wconstant-expression warn about expressions that always resolve to true/false
-Wconstant-numlit-expression warn about numeric expressions that always resolve to true/false
-Wlarger-01-redefines warn about larger redefines allowed by COBOL standards
-Wcolumn-overflow warn about text after program-text area, FIXED format
* NOT set with -Wall
-Wterminator warn about lack of scope terminator END-XXX
* NOT set with -Wall
-Wlinkage warn about dangling LINKAGE items
* NOT set with -Wall
-Wunreachable warn about likely unreachable statements
* NOT set with -Wall
-Wno-dialect do not warn about dialect specific issues
* ALWAYS active
-Wno-goto-section do not warn about GO TO section-name
* ALWAYS active
-Wgoto-different-section warn about GO TO a praragraph defined in a different section
-Wsuspicious-perform-thru warn if PERFORM THRU references procedures not in ascending order or multiple sections
* ALWAYS active
-Wdangling-text warn about source text after program-area
* NOT set with -Wall
-Wno-missing-newline do not warn about missing newlines
* ALWAYS active
-Wno-others do not warn about different issues
* ALWAYS active
-Wno-unsupported do not warn if runtime does not support a feature used
-fdiagnostics-plain-output make diagnostic output as plain as possible
-Werror treat all warnings as errors
-Wno-error don't treat warnings as errors
-Werror=<warning> treat specified <warning> as error
-Wno-error=<warning> don't treat specified <warning> as error
Compiler options:
-fsign=[ASCII|EBCDIC] define display sign representation
* default: machine native
-ffold-copy=[UPPER|LOWER] fold COPY subject to value
* default: no transformation
-ffold-call=[UPPER|LOWER] fold PROGRAM-ID, CALL, CANCEL subject to value
* default: no transformation
-fmax-errors=<number> maximum number of errors to report before
compilation is aborted
* default: 128
-fintrinsics=[ALL|intrinsic function name(,name,...)]
intrinsics to be used without FUNCTION keyword
-fdump=<scope> dump data fields on abort, <scope> may be
a combination of: ALL, WS, LS, RD, FD, SC, LO
-fcallfh=<name> specifies <name> to be used for I/O
as external provided EXTFH interface module
-febcdic-table=<cconv-table>/<file> EBCDIC/ASCII translation table
* e.g. default, ebcdic500_latin1...
-fdefault-colseq=[ASCII|EBCDIC|NATIVE] define default collating sequence
* default: NATIVE
-fstack-extended store origin of entrypoints and PERFORM
* turned on by --debug/-fdump
-fno-remove-unreachable disable remove of unreachable code
* turned off by -g
-ftrace generate trace code
* scope: executed SECTION/PARAGRAPH
-ftraceall generate trace code
* scope: executed SECTION/PARAGRAPH/STATEMENTS
-fsyntax-only syntax error checking only; don't emit any output
-fdebugging-line enable debugging lines
* 'D' in indicator column or floating >>D
-fsource-location generate source location code
* turned on by --debug/-ftraceall/-fec/-fdump
-fimplicit-init automatic initialization of the COBOL runtime system
-fno-recursive-check disable check of recursive program call;
effectively compiling as RECURSIVE program
-fstack-check PERFORM stack checking
* turned on by --debug/-g
-fmemory-check=<scope> checks for invalid writes to internal storage,
<scope> may be one of: all, pointer, using, none
* default: none, set to all by --debug
-fsection-exit-check check that code execution does not leave the scope of SECTIONs
-fimplicit-goback-check check that code execution does not end implicit at end of PROCEDURE DIVISION
-fwrite-after use AFTER 1 for WRITE of LINE SEQUENTIAL
* default: BEFORE 1
-fmfcomment '*' in column 1 treated as comment with listing suppression
* FIXED/COBOL85/VARIABLE format only
-facucomment '$' in indicator area treated as '*',
'|' treated as floating comment
-fno-trunc allow numeric field overflow
* non-ANSI behaviour
-fsingle-quote use a single quote (apostrophe) for QUOTE
* default: double quote
-foptional-file treat all files as OPTIONAL
* unless NOT OPTIONAL specified
-fstatic-call output static function calls for the CALL statement
-fno-gen-c-decl-static-call disable generation of C function declarations
for subroutines with static CALL
-fgen-c-line-directives generate source location directives in C code;
* turned on by -g/--coverage
-fgen-c-labels generate extra labels in C sources;
* turned on by -g
-fno-theaders suppress all headers from listing while keeping
page breaks
-fno-tsource suppress source from listing
-fno-tmessages suppress warning and error summary from listing
-ftsymbols specify symbols in listing
-ftcmd specify command line in listing
-fno-ttimestamp suppress timestamp in listing headers
-fttitle=<title> set listing title with '_' replaced by spaces;
defaults to package name and version
-fno-diagnostics-show-option suppress output of option that directly
controls the diagnostic
-fno-diagnostics-show-caret do not display source context on warning/error diagnostic
-fno-diagnostics-show-line-numbers suppress display of line numbers in diagnostics
Compiler dialect configuration options:
-freserved-words=<value> use of complete/fixed reserved words
-ftab-width=1..12 number of spaces that are assumed for tabs
-ftext-column=72..255 right margin column number for fixed-form reference-format
-fpic-length=<number> maximum number of characters allowed in the PICTURE character-string
-fword-length=1..63 maximum word-length for COBOL (= programmer defined) words
-fliteral-length=<number> maximum literal size in general
-fnumeric-literal-length=1..38 maximum numeric literal size
-fdefaultbyte=<value> 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=<value> default reference-format, may be one of: FIXED, FREE, COBOL85, VARIABLE, XOPEN, XCARD, CRT, TERMINAL, COBOLX
-fbinary-size=<value> 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=<value> binary byte order, may be one of: native, big-endian
-fassign-clause=<value> 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=<value> which compiler's rules to apply to SCREEN SECTION item clauses, may be one of: acu, gc, mf, rm, std, xopen
-fdpc-in-data=<value> whether DECIMAL-POINT IS COMMA has effect in XML/JSON GENERATE, may be one of: none, xml, json, all
-fsubscript-check=<value> checking for subscript (only done with EC-BOUND-SUBSCRIPT active), may be one of: full, max, record
-ffilename-mapping resolve file names at run time using environment variables
-fpretty-display alternate formatting of numeric fields
-fbinary-truncate numeric truncation according to ANSI
-fcomplex-odo allow non-standard OCCURS DEPENDING ON syntax
-fodoslide adjust items following OCCURS DEPENDING (implies complex-odo)
-finit-justify applies JUSTIFY with VALUE clause
-findirect-redefines allow REDEFINES to other than last equal level number
-frelax-syntax-checks allow certain syntax variations (e.g. REDEFINES position)
-fref-mod-zero-length allow zero length reference-modification (only changed with EC-BOUND-REF-MOD active)
-frelax-level-hierarchy allow non-matching level numbers
-fselect-working require ASSIGN USING items to be in WORKING-STORAGE
-flocal-implies-recursive LOCAL-STORAGE SECTION implies RECURSIVE attribute
-fsticky-linkage LINKAGE SECTION items remain allocated between invocations
-fmove-ibm MOVE operates as on IBM (left to right, byte by byte)
-fperform-osvs exit point of any currently executing perform is recognized if reached
-farithmetic-osvs limit precision in intermediate results to precision of final result (less accurate)
-fconstant-folding evaluate constant expressions at compile time
-fhostsign allow hexadecimal value 'F' for NUMERIC test of signed PACKED DECIMAL field
-fprogram-name-redefinition program names don't lead to a reserved identifier
-faccept-update set WITH UPDATE clause as default for ACCEPT dest-item, instead of WITH NO UPDATE
-faccept-auto set WITH AUTO clause as default for ACCEPT dest-item, instead of WITH TAB
-fconsole-is-crt assume CONSOLE IS CRT if not set otherwise
-fno-echo-means-secure NO-ECHO hides input with asterisks like SECURE
-fline-col-zero-default assume a field DISPLAY starts at LINE 0 COL 0 (i.e. at the cursor), not LINE 1 COL 1
-fdisplay-special-fig-consts special behaviour of DISPLAY SPACE/ALL X'01'/ALL X'02'/ALL X'07'
-fbinary-comp-1 COMP-1 is a 16-bit signed integer
-fnumeric-pointer POINTER is a 64-bit unsigned integer
-fmove-non-numeric-lit-to-numeric-is-zero 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 specifying device by mnemonic
-fxml-parse-xmlss XML PARSE XMLSS
-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;
* statements must not start in Area A; and
* separator periods must not be within Area A
-fcomment-paragraphs=<support> comment paragraphs in IDENTIFICATION DIVISION (AUTHOR, DATE-WRITTEN, ...)
-fcontrol-division=<support> CONTROL DIVISION
-fpartial-replace-when-literal-src=<support> apply partial replacing with literal source operand even when it replaces with spaces only;
* "skip" prevents such replacements
-fmemory-size-clause=<support> MEMORY-SIZE clause
-fmultiple-file-tape-clause=<support> MULTIPLE-FILE-TAPE clause
-flabel-records-clause=<support> LABEL-RECORDS clause
-fvalue-of-clause=<support> VALUE-OF clause
-fdata-records-clause=<support> DATA-RECORDS clause
-ftop-level-occurs-clause=<support> OCCURS clause on top-level
-fsame-as-clause=<support> SAME AS clause
-ftype-to-clause=<support> TYPE TO clause
-fusage-type=<support> USAGE type-name
-fsynchronized-clause=<support> SYNCHRONIZED clause
-fsync-left-right=<support> LEFT/RIGHT phrases in SYNCHRONIZED clause
-fspecial-names-clause=<support> SPECIAL-NAMES clause
-fgoto-statement-without-name=<support> GO TO statement without name
-fstop-literal-statement=<support> STOP-literal statement
-fstop-identifier-statement=<support> STOP-identifier statement
-fstop-error-statement=<support> STOP ERROR statement
-fdebugging-mode=<support> DEBUGGING MODE and debugging indicator
-fuse-for-debugging=<support> USE FOR DEBUGGING
-fpadding-character-clause=<support> PADDING CHARACTER clause
-fnext-sentence-phrase=<support> NEXT SENTENCE phrase
-flisting-statements=<support> listing-directive statements EJECT, SKIP1, SKIP2, SKIP3
-ftitle-statement=<support> listing-directive statement TITLE
-fentry-statement=<support> ENTRY statement
-fmove-noninteger-to-alphanumeric=<support> move noninteger to alphanumeric
-fmove-figurative-constant-to-numeric=<support> move figurative constants to numeric
-fmove-figurative-space-to-numeric=<support> move figurative constant SPACE to numeric
-fmove-figurative-quote-to-numeric=<support> move figurative constant QUOTE to numeric
-fodo-without-to=<support> OCCURS DEPENDING ON without to
-fsection-segments=<support> section segments
-falter-statement=<support> ALTER statement
-fcall-overflow=<support> OVERFLOW clause for CALL
-fnumeric-boolean=<support> boolean literals (B'1010')
-fhexadecimal-boolean=<support> hexadecimal-boolean literals (BX'A')
-fnational-literals=<support> national literals (N'UTF-16 string')
-fhexadecimal-national-literals=<support> hexadecimal-national literals (NX'265E')
-fnational-character-literals=<support> non-standard national literals (NC'UTF-16 string')
-fhp-octal-literals=<support> HP COBOL octal literals (%377)
-facu-literals=<support> ACUCOBOL-GT literals (#B #O #H #X)
-febcdic-symbolic-characters EBCDIC symbolic characters in literals (" "135,151,151"bar"195, 194"Z" for " foobarBAZ")
-fword-continuation=<support> continuation of COBOL words
-fnot-exception-before-exception=<support> NOT ON EXCEPTION before ON EXCEPTION
-faccept-display-extensions=<support> extensions to ACCEPT and DISPLAY
-frenames-uncommon-levels=<support> RENAMES of 01-, 66- and 77-level items
-flarger-redefines=<support> allow larger REDEFINES items
-fsymbolic-constant=<support> constants defined in SPECIAL-NAMES
-fconstant-78=<support> constant with level 78 item (note: has left to right precedence in expressions)
-fconstant-01=<support> constant with level 01 CONSTANT AS/FROM item
-fperform-varying-without-by=<support> PERFORM VARYING without BY phrase (implies BY 1)
-freference-out-of-declaratives=<support> references to sections not in DECLARATIVES from within DECLARATIVES
-fprogram-prototypes=<support> CALL/CANCEL with program-prototype-name
-fcall-convention-mnemonic=<support> specifying call-convention by mnemonic
-fcall-convention-linkage=<support> specifying call-convention by WITH ... LINKAGE
-fusing-optional=<support> support for PROCEDURE DIVISION USING OPTIONAL
-fnumeric-value-for-edited-item=<support> numeric literals in VALUE clause of numeric-edited items
-fincorrect-conf-sec-order=<support> incorrect order of CONFIGURATION SECTION paragraphs
-fdefine-constant-directive=<support> allow >> DEFINE CONSTANT var AS literal
-ffree-redefines-position=<support> REDEFINES clause not following entry-name in definition
-frecords-mismatch-record-clause=<support> record sizes does not match RECORD clause
-frecord-delimiter=<support> RECORD DELIMITER clause
-fsequential-delimiters=<support> BINARY-SEQUENTIAL and LINE-SEQUENTIAL phrases in RECORD DELIMITER
-frecord-delim-with-fixed-recs=<support> RECORD DELIMITER clause on file with fixed-length records
-fmissing-statement=<support> missing statement (e.g. empty IF / PERFORM)
-fmissing-period=<support> missing period in PROCEDURE DIVISION (when reference format supports Area A enforcement)
-fzero-length-literals=<support> zero-length literals, e.g. '' and ""
-fxml-generate-extra-phrases=<support> XML GENERATE's phrases other than COUNT IN
-fcontinue-after=<support> AFTER phrase in CONTINUE statement
-fgoto-entry=<support> ENTRY FOR GO TO and GO TO ENTRY statements
-fassign-variable=<support> ASSIGN [TO] variable in SELECT
-fassign-using-variable=<support> ASSIGN USING/VARYING variable in SELECT
-fassign-ext-dyn=<support> ASSIGN EXTERNAL/DYNAMIC in SELECT
-fassign-disk-from=<support> ASSIGN DISK FROM variable in SELECT
-fvsam-status=<support> VSAM status in FILE STATUS
-fself-call-recursive=<support> CALL to own PROGRAM-ID implies RECURSIVE attribute
-frecord-contains-depending-clause=<support> DEPENDING clause in RECORD CONTAINS
-fpicture-l=<support> PICTURE string with 'L' character
where <support> is one of the following:
'ok', 'warning', 'archaic', 'obsolete', 'skip', 'ignore', 'error', 'unconformable'
-fnot-reserved=<word> word to be taken out of the reserved words list
-freserved=<word> word to be added to reserved words list
-freserved=<word>:<alias> word to be added to reserved words list as alias
-fnot-register=<word> special register to disable
-fregister=<word> or <word>:<definition>, where definition uses backslash esca special register to enable
Report bugs to: bug-gnucobol@gnu.org
or (preferably) use the issue tracker via the home page.
GnuCOBOL home page: <https://www.gnu.org/software/gnucobol/>
General help using GNU software: <https://www.gnu.org/gethelp/>
Options (261)
| Option | Description | Source |
|---|---|---|
-h, --help | display this help and exit | help + man |
-V, --version | display compiler version information and exit | help + man |
-dumpversion | display compiler version and exit | help + man |
-i, --info | display compiler information (build/environment) and exit | help + man |
-v, --verbose | verbose mode, display additional information; | help + man |
-q, --brief | reduced displays, commands invoked not shown | help + man |
-### | like -v but commands not executed | help + man |
-x | build an executable program | help + man |
-m | build a dynamically loadable module (default) | help + man |
-j, --job args | run program after build, passing <args> | help |
-std dialect | warnings/features for a specific dialect <dialect> can be one of: default, cobol2014, cobol2002, cobol85, xopen, ibm-strict, ibm, mvs-strict, mvs, mf-strict, mf, bs2000-strict, bs2000, acu-strict,… | help + man |
-F, --free | use free source format (alias for -fformat=free) | help + man |
--fixed | use fixed source format (default; | help + man |
-O, -O2, -O3, -Os | enable optimization | help + man |
-O0 | disable optimization | help + man |
-g | enable C compiler debug and stack check | help + man |
-d, --debug | enable all run-time error checking, equal to -fstack-check -fec=EC-ALL | help + man |
-fec exception-name | enable code generation for <exception-name>, see --list-exceptions for the possible values, sets -fsource-location | help + man |
-fno-ec exception-name | disable code generation for <exception-name> | help + man |
-o file | place the output into <file> | help + man |
-b | combine all input files into a single dynamically loadable module | help + man |
-E | preprocess only; | help + man |
-C | translation only; | help + man |
-S | compile only; | help + man |
-c | compile and assemble, but do not link | help + man |
-T file | generate and place a wide program listing into <file> | help + man |
-t file | generate and place a program listing into <file> | help + man |
--tlines lines | specify lines per page in listing, default = 55 | help + man |
-P dir | generate preprocessed program listing (.lst) | help |
-X, --Xref | specify cross reference in listing | help + man |
-I directory | add <directory> to copy/include search path | help + man |
-L directory | add <directory> to library search path | help + man |
-l lib | link the library <lib> | help + man |
-K entry | generate CALL to <entry> as static | help + man |
-D define | define <define> for COBOL compilation | help + man |
-A options | add <options> to the C compile phase | help + man |
-Q options | add <options> to the C link phase | help + man |
--coverage | instrument generated binaries for coverage | help + man |
--conf file | user-defined dialect configuration; | help + man |
--list-reserved | display reserved words | help + man |
--list-intrinsics | display intrinsic functions | help + man |
--list-mnemonics | display mnemonic names | help + man |
--list-exceptions | display exception names | help + man |
--list-system | display system routines | help + man |
--save-temps dir | save intermediate files * default: current directory | help |
-MT target | set/add target file used in dependency list | help + man |
-MF file | place dependency list into <file> | help + man |
-ext extension | add file extension for resolving COPY | help + man |
-Wall | enable most warnings (all except as noted below) | help + man |
-Wextra | like -Wall but enable some extra warning flags | help + man |
-w | disable all warnings | help + man |
-Wno- warning | disable warning enabled by default, -Wall or -Wextra | help + man |
-Wadditional | additional warnings only raised with -Wall | help + man |
-Wno-unfinished | do not warn if unfinished features are used * ALWAYS active | help + man |
-Wno-pending | do not warn if pending features are used * ALWAYS active | help + man |
-Wno-repository-checks | do not warn/check for program/function/external signature mismatch * ALWAYS active | help + man |
-Wno-ignored-error | do not warn about errors in code parts which are unreachable and so normally ignored * ALWAYS active | help + man |
-Wobsolete | warn if obsolete features are used | help + man |
-Warchaic | warn if archaic features are used | help + man |
-Wredefinition | warn about non-referenced ambiguous data items | help + man |
-Wtruncate | warn about field truncation from constant assignments | help + man |
-Wpossible-truncate | warn about possible field truncation * NOT set with -Wall | help + man |
-Woverlap | warn about overlapping MOVE of items | help + man |
-Wpossible-overlap | warn about MOVE of items that may overlap depending on variables * NOT set with -Wall | help + man |
-Wparentheses | warn if parentheses are omitted around AND within OR | help + man |
-Wstrict-typing | warn strictly about type mismatch, even when same size * NOT set with -Wall | help + man |
-Wtyping | warn about type mismatch | help + man |
-Wimplicit-define | warn whenever data items are implicitly defined * NOT set with -Wall | help + man |
-Wno-corresponding | do not warn about CORRESPONDING with no matching items * ALWAYS active | help + man |
-Winitial-value | warn if initial VALUE clause is ignored | help + man |
-Wprototypes | warn about missing FUNCTION prototypes/definitions | help + man |
-Warithmetic-osvs | warn if arithmetic expression precision has changed | help + man |
-Wcall-params | warn about non 01/77 items for CALL parameters * NOT set with -Wall | help + man |
-Wconstant-expression | warn about expressions that always resolve to true/false | help + man |
-Wconstant-numlit-expression | warn about numeric expressions that always resolve to true/false | help + man |
-Wlarger-01-redefines | warn about larger redefines allowed by COBOL standards | help + man |
-Wcolumn-overflow | warn about text after program-text area, FIXED format * NOT set with -Wall | help + man |
-Wterminator | warn about lack of scope terminator END-XXX * NOT set with -Wall | help + man |
-Wlinkage | warn about dangling LINKAGE items * NOT set with -Wall | help + man |
-Wunreachable | warn about likely unreachable statements * NOT set with -Wall | help + man |
-Wno-dialect | do not warn about dialect specific issues * ALWAYS active | help + man |
-Wno-goto-section | do not warn about GO TO section-name * ALWAYS active | help + man |
-Wgoto-different-section | warn about GO TO a praragraph defined in a different section | help + man |
-Wsuspicious-perform-thru | warn if PERFORM THRU references procedures not in ascending order or multiple sections * ALWAYS active | help + man |
-Wdangling-text | warn about source text after program-area * NOT set with -Wall | help + man |
-Wno-missing-newline | do not warn about missing newlines * ALWAYS active | help + man |
-Wno-others | do not warn about different issues * ALWAYS active | help + man |
-Wno-unsupported | do not warn if runtime does not support a feature used | help + man |
-fdiagnostics-plain-output | make diagnostic output as plain as possible | help + man |
-Werror | treat all warnings as errors | help + man |
-Wno-error | don't treat warnings as errors | help + man |
-fsign ASCII|EBCDIC | define display sign representation * default: machine native | help |
-ffold-copy UPPER|LOWER | fold COPY subject to value * default: no transformation | help |
-ffold-call UPPER|LOWER | fold PROGRAM-ID, CALL, CANCEL subject to value * default: no transformation | help |
-fmax-errors number | maximum number of errors to report before compilation is aborted * default: 128 | help + man |
-fdump scope | dump data fields on abort, <scope> may be a combination of: ALL, WS, LS, RD, FD, SC, LO | help + man |
-fcallfh name | specifies <name> to be used for I/O as external provided EXTFH interface module | help + man |
-febcdic-table cconv-table>/<file | EBCDIC/ASCII translation table * e.g. default, ebcdic500_latin1... | help + man |
-fdefault-colseq ASCII|EBCDIC|NATIVE | define default collating sequence * default: NATIVE | help |
-fstack-extended | store origin of entrypoints and PERFORM * turned on by --debug/-fdump | help + man |
-fno-remove-unreachable | disable remove of unreachable code * turned off by -g | help + man |
-ftrace | generate trace code * scope: executed SECTION/PARAGRAPH | help + man |
-ftraceall | generate trace code * scope: executed SECTION/PARAGRAPH/STATEMENTS | help + man |
-fsyntax-only | syntax error checking only; | help + man |
-fdebugging-line | enable debugging lines * 'D' in indicator column or floating >>D | help + man |
-fsource-location | generate source location code * turned on by --debug/-ftraceall/-fec/-fdump | help + man |
-fimplicit-init | automatic initialization of the COBOL runtime system | help + man |
-fno-recursive-check | disable check of recursive program call; | help + man |
-fstack-check | PERFORM stack checking * turned on by --debug/-g | help + man |
-fmemory-check scope | checks for invalid writes to internal storage, <scope> may be one of: all, pointer, using, none * default: none, set to all by --debug | help + man |
-fsection-exit-check | check that code execution does not leave the scope of SECTIONs | help + man |
-fimplicit-goback-check | check that code execution does not end implicit at end of PROCEDURE DIVISION | help + man |
-fwrite-after | use AFTER 1 for WRITE of LINE SEQUENTIAL * default: BEFORE 1 | help + man |
-fmfcomment | '*' in column 1 treated as comment with listing suppression * FIXED/COBOL85/VARIABLE format only | help + man |
-facucomment | '$' in indicator area treated as '*', '|' treated as floating comment | help + man |
-fno-trunc | allow numeric field overflow * non-ANSI behaviour | help + man |
-fsingle-quote | use a single quote (apostrophe) for QUOTE * default: double quote | help + man |
-foptional-file | treat all files as OPTIONAL * unless NOT OPTIONAL specified | help + man |
-fstatic-call | output static function calls for the CALL statement | help + man |
-fno-gen-c-decl-static-call | disable generation of C function declarations for subroutines with static CALL | help + man |
-fgen-c-line-directives | generate source location directives in C code; | help + man |
-fgen-c-labels | generate extra labels in C sources; | help + man |
-fno-theaders | suppress all headers from listing while keeping page breaks | help + man |
-fno-tsource | suppress source from listing | help + man |
-fno-tmessages | suppress warning and error summary from listing | help + man |
-ftsymbols | specify symbols in listing | help + man |
-ftcmd | specify command line in listing | help + man |
-fno-ttimestamp | suppress timestamp in listing headers | help + man |
-fttitle title | set listing title with '_' replaced by spaces; | help + man |
-fno-diagnostics-show-option | suppress output of option that directly controls the diagnostic | help + man |
-fno-diagnostics-show-caret | do not display source context on warning/error diagnostic | help + man |
-fno-diagnostics-show-line-numbers | suppress display of line numbers in diagnostics | help + man |
-freserved-words value | use of complete/fixed reserved words | help + man |
-ftab-width 1..12 | number of spaces that are assumed for tabs | help + man |
-ftext-column 72..255 | right margin column number for fixed-form reference-format | help + man |
-fpic-length number | maximum number of characters allowed in the PICTURE character-string | help + man |
-fword-length 1..63 | maximum word-length for COBOL (= programmer defined) words | help + man |
-fliteral-length number | maximum literal size in general | help + man |
-fnumeric-literal-length 1..38 | maximum numeric literal size | help + man |
-fdefaultbyte value | 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… | help + man |
-fformat value | default reference-format, may be one of: FIXED, FREE, COBOL85, VARIABLE, XOPEN, XCARD, CRT, TERMINAL, COBOLX | help + man |
-fbinary-size value | binary byte size - defines the allocated bytes according to PIC, may be one of: 2-4-8, 1-2-4-8, 1--8 | help + man |
-fbinary-byteorder value | binary byte order, may be one of: native, big-endian | help + man |
-fassign-clause value | how to interpret 'ASSIGN word': as 'ASSIGN EXTERNAL word' or 'ASSIGN DYNAMIC word', may be one of: dynamic, external, ibm (= external), mf (= dynamic) | help + man |
-fscreen-section-rules value | which compiler's rules to apply to SCREEN SECTION item clauses, may be one of: acu, gc, mf, rm, std, xopen | help + man |
-fdpc-in-data value | whether DECIMAL-POINT IS COMMA has effect in XML/JSON GENERATE, may be one of: none, xml, json, all | help + man |
-fsubscript-check value | checking for subscript (only done with EC-BOUND-SUBSCRIPT active), may be one of: full, max, record | help + man |
-ffilename-mapping | resolve file names at run time using environment variables | help + man |
-fpretty-display | alternate formatting of numeric fields | help + man |
-fbinary-truncate | numeric truncation according to ANSI | help + man |
-fcomplex-odo | allow non-standard OCCURS DEPENDING ON syntax | help + man |
-fodoslide | adjust items following OCCURS DEPENDING (implies complex-odo) | help + man |
-finit-justify | applies JUSTIFY with VALUE clause | help + man |
-findirect-redefines | allow REDEFINES to other than last equal level number | help + man |
-frelax-syntax-checks | allow certain syntax variations (e.g. REDEFINES position) | help + man |
-fref-mod-zero-length | allow zero length reference-modification (only changed with EC-BOUND-REF-MOD active) | help + man |
-frelax-level-hierarchy | allow non-matching level numbers | help + man |
-fselect-working | require ASSIGN USING items to be in WORKING-STORAGE | help + man |
-flocal-implies-recursive | LOCAL-STORAGE SECTION implies RECURSIVE attribute | help + man |
-fsticky-linkage | LINKAGE SECTION items remain allocated between invocations | help + man |
-fmove-ibm | MOVE operates as on IBM (left to right, byte by byte) | help + man |
-fperform-osvs | exit point of any currently executing perform is recognized if reached | help + man |
-farithmetic-osvs | limit precision in intermediate results to precision of final result (less accurate) | help + man |
-fconstant-folding | evaluate constant expressions at compile time | help + man |
-fhostsign | allow hexadecimal value 'F' for NUMERIC test of signed PACKED DECIMAL field | help + man |
-fprogram-name-redefinition | program names don't lead to a reserved identifier | help + man |
-faccept-update | set WITH UPDATE clause as default for ACCEPT dest-item, instead of WITH NO UPDATE | help + man |
-faccept-auto | set WITH AUTO clause as default for ACCEPT dest-item, instead of WITH TAB | help + man |
-fconsole-is-crt | assume CONSOLE IS CRT if not set otherwise | help + man |
-fno-echo-means-secure | NO-ECHO hides input with asterisks like SECURE | help + man |
-fline-col-zero-default | assume a field DISPLAY starts at LINE 0 COL 0 (i.e. at the cursor), not LINE 1 COL 1 | help + man |
-fdisplay-special-fig-consts | special behaviour of DISPLAY SPACE/ALL X'01'/ALL X'02'/ALL X'07' | help + man |
-fbinary-comp-1 | COMP-1 is a 16-bit signed integer | help + man |
-fnumeric-pointer | POINTER is a 64-bit unsigned integer | help + man |
-fmove-non-numeric-lit-to-numeric-is-zero | imply zero in move of non-numeric literal to numeric items | help + man |
-fimplicit-assign-dynamic-var implicitly | implicitly define a variable if an ASSIGN DYNAMIC does not match any data item | help + man |
-fdevice-mnemonics | specifying device by mnemonic | help + man |
-fxml-parse-xmlss | XML PARSE XMLSS | help + man |
-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… | help + man |
-fcomment-paragraphs support | comment paragraphs in IDENTIFICATION DIVISION (AUTHOR, DATE-WRITTEN, ...) | help + man |
-fcontrol-division support | CONTROL DIVISION | help + man |
-fpartial-replace-when-literal-src support | apply partial replacing with literal source operand even when it replaces with spaces only; | help + man |
-fmemory-size-clause support | MEMORY-SIZE clause | help + man |
-fmultiple-file-tape-clause support | MULTIPLE-FILE-TAPE clause | help + man |
-flabel-records-clause support | LABEL-RECORDS clause | help + man |
-fvalue-of-clause support | VALUE-OF clause | help + man |
-fdata-records-clause support | DATA-RECORDS clause | help + man |
-ftop-level-occurs-clause support | OCCURS clause on top-level | help + man |
-fsame-as-clause support | SAME AS clause | help + man |
-ftype-to-clause support | TYPE TO clause | help + man |
-fusage-type support | USAGE type-name | help + man |
-fsynchronized-clause support | SYNCHRONIZED clause | help + man |
-fsync-left-right support | LEFT/RIGHT phrases in SYNCHRONIZED clause | help + man |
-fspecial-names-clause support | SPECIAL-NAMES clause | help + man |
-fgoto-statement-without-name support | GO TO statement without name | help + man |
-fstop-literal-statement support | STOP-literal statement | help + man |
-fstop-identifier-statement support | STOP-identifier statement | help + man |
-fstop-error-statement support | STOP ERROR statement | help + man |
-fdebugging-mode support | DEBUGGING MODE and debugging indicator | help + man |
-fuse-for-debugging support | USE FOR DEBUGGING | help + man |
-fpadding-character-clause support | PADDING CHARACTER clause | help + man |
-fnext-sentence-phrase support | NEXT SENTENCE phrase | help + man |
-flisting-statements support | listing-directive statements EJECT, SKIP1, SKIP2, SKIP3 | help + man |
-ftitle-statement support | listing-directive statement TITLE | help + man |
-fentry-statement support | ENTRY statement | help + man |
-fmove-noninteger-to-alphanumeric support | move noninteger to alphanumeric | help + man |
-fmove-figurative-constant-to-numeric support | move figurative constants to numeric | help + man |
-fmove-figurative-space-to-numeric support | move figurative constant SPACE to numeric | help + man |
-fmove-figurative-quote-to-numeric support | move figurative constant QUOTE to numeric | help + man |
-fodo-without-to support | OCCURS DEPENDING ON without to | help + man |
-fsection-segments support | section segments | help + man |
-falter-statement support | ALTER statement | help + man |
-fcall-overflow support | OVERFLOW clause for CALL | help + man |
-fnumeric-boolean support | boolean literals (B'1010') | help + man |
-fhexadecimal-boolean support | hexadecimal-boolean literals (BX'A') | help + man |
-fnational-literals support | national literals (N'UTF-16 string') | help + man |
-fhexadecimal-national-literals support | hexadecimal-national literals (NX'265E') | help + man |
-fnational-character-literals support | non-standard national literals (NC'UTF-16 string') | help + man |
-fhp-octal-literals support | HP COBOL octal literals (%377) | help + man |
-facu-literals support | ACUCOBOL-GT literals (#B #O #H #X) | help + man |
-febcdic-symbolic-characters | EBCDIC symbolic characters in literals (" "135,151,151"bar"195, 194"Z" for " foobarBAZ") | help + man |
-fword-continuation support | continuation of COBOL words | help + man |
-fnot-exception-before-exception support | NOT ON EXCEPTION before ON EXCEPTION | help + man |
-faccept-display-extensions support | extensions to ACCEPT and DISPLAY | help + man |
-frenames-uncommon-levels support | RENAMES of 01-, 66- and 77-level items | help + man |
-flarger-redefines support | allow larger REDEFINES items | help + man |
-fsymbolic-constant support | constants defined in SPECIAL-NAMES | help + man |
-fconstant-78 support | constant with level 78 item (note: has left to right precedence in expressions) | help + man |
-fconstant-01 support | constant with level 01 CONSTANT AS/FROM item | help + man |
-fperform-varying-without-by support | PERFORM VARYING without BY phrase (implies BY 1) | help + man |
-freference-out-of-declaratives support | references to sections not in DECLARATIVES from within DECLARATIVES | help + man |
-fprogram-prototypes support | CALL/CANCEL with program-prototype-name | help + man |
-fcall-convention-mnemonic support | specifying call-convention by mnemonic | help + man |
-fcall-convention-linkage support | specifying call-convention by WITH ... | help + man |
-fusing-optional support | support for PROCEDURE DIVISION USING OPTIONAL | help + man |
-fnumeric-value-for-edited-item support | numeric literals in VALUE clause of numeric-edited items | help + man |
-fincorrect-conf-sec-order support | incorrect order of CONFIGURATION SECTION paragraphs | help + man |
-fdefine-constant-directive support | allow >> DEFINE CONSTANT var AS literal | help + man |
-ffree-redefines-position support | REDEFINES clause not following entry-name in definition | help + man |
-frecords-mismatch-record-clause support | record sizes does not match RECORD clause | help + man |
-frecord-delimiter support | RECORD DELIMITER clause | help + man |
-fsequential-delimiters support | BINARY-SEQUENTIAL and LINE-SEQUENTIAL phrases in RECORD DELIMITER | help + man |
-frecord-delim-with-fixed-recs support | RECORD DELIMITER clause on file with fixed-length records | help + man |
-fmissing-statement support | missing statement (e.g. empty IF / PERFORM) | help + man |
-fmissing-period support | missing period in PROCEDURE DIVISION (when reference format supports Area A enforcement) | help + man |
-fzero-length-literals support | zero-length literals, e.g. '' and "" | help + man |
-fxml-generate-extra-phrases support | XML GENERATE's phrases other than COUNT IN | help + man |
-fcontinue-after support | AFTER phrase in CONTINUE statement | help + man |
-fgoto-entry support | ENTRY FOR GO TO and GO TO ENTRY statements | help + man |
-fassign-variable support | ASSIGN [TO] variable in SELECT | help + man |
-fassign-using-variable support | ASSIGN USING/VARYING variable in SELECT | help + man |
-fassign-ext-dyn support | ASSIGN EXTERNAL/DYNAMIC in SELECT | help + man |
-fassign-disk-from support | ASSIGN DISK FROM variable in SELECT | help + man |
-fvsam-status support | VSAM status in FILE STATUS | help + man |
-fself-call-recursive support | CALL to own PROGRAM-ID implies RECURSIVE attribute | help + man |
-frecord-contains-depending-clause support | DEPENDING clause in RECORD CONTAINS | help + man |
-fpicture-l support | PICTURE string with 'L' character where <support> is one of the following: 'ok', 'warning', 'archaic', 'obsolete', 'skip', 'ignore', 'error', 'unconformable' | help + man |
-fnot-reserved word | word to be taken out of the reserved words list | help + man |
-freserved word | word to be added to reserved words list | help + man |
-fnot-register word | special register to disable | help + man |
-fregister word | special register to enable | help + man |