Man page - cobc(1)
Packages contains this manual
Manual
COBC
NAMESYNOPSIS
DESCRIPTION
OPTIONS
Warning options:
Compiler options:
Compiler dialect configuration options:
AUTHOR
REPORTING BUGS
COPYRIGHT
SEE ALSO
NAME
cobc - manual page for cobc 3.2.0
SYNOPSIS
cobc [ options ]... file ...
DESCRIPTION
GnuCOBOL compiler for most COBOL dialects with lots of extensions
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
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
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
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.
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.