 |
|
| |
COBC(1) |
User Commands |
COBC(1) |
cobc - manual page for cobc 3.2.0
cobc [options]... file...
GnuCOBOL compiler for most COBOL dialects with lots of
extensions
- -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
- -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
- '*' in column 1 treated as comment with listing suppression *
FIXED/COBOL85/VARIABLE format only
- '$' 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
- -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
- 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
Written by Keisuke Nishida, Roger While, Ron Norman, Simon
Sobisch, Edward Hart Built Jul 17 2025 10:26:03 Packaged Jul 17 2025
10:25:38 UTC C version "FreeBSD Clang 18.1.6
(https://github.com/llvm/llvm-project.git
llvmorg-18.1.6-0-g1118c2e05e67)"
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/>
Copyright © 2023 Free Software Foundation, Inc. License
GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
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.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc.
|