COBC(1)

πŸŽ€ NAME πŸŽ€

Okay so, name tag first: cobc β€” manual page for cobc 3.2.0. Also known as COBC(1), from User Commands. Folded in near the top, periodt. πŸŽ€

πŸ› οΈ SYNOPSIS πŸ› οΈ

cobc [options]... file...

🌸 DESCRIPTION 🌸

No cap: it's the GnuCOBOL compiler for most COBOL dialects, with lots of extensions. That's the whole vibe check, bestie. πŸ’…

πŸ’… OPTIONS πŸ’…

Okay bestie, options time β€” every flag matters, so keep your eyes on the literal code bits. πŸ‘‘

The ALWAYS active notes are real, fr fr β€” don't skip them.
  • -h, --help β€” show this help and exit. 🫢
  • -V, --version β€” show compiler version information and exit. ⭐
  • -dumpversion β€” show compiler version and exit. πŸ¦‹
  • -i, --info β€” show compiler information (build/environment) and exit. πŸ’–
  • -v, --verbose β€” verbose mode, displays extra info; multiple -v options crank the verbosity, and the max is 3. The levels are: (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. No commands were harmed in this run. πŸ’€
  • -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 β€” outputs static function calls for the CALL statement πŸ’…
  • -fno-gen-c-decl-static-call β€” disables generation of C function declarations for subroutines that use static CALL, no cap
  • -fgen-c-line-directives β€” generates source location directives in the C code (iykyk, it's giving "so the debugger knows where you actually are")
    • turned on by -g/--coverage
  • -fgen-c-labels β€” generates extra labels in C sources
    • turned on by -g
  • -fno-theaders β€” suppresses all headers from the listing, but keeps the page breaks πŸŽ€
  • -fno-tsource β€” suppresses source from the listing
  • -fno-tmessages β€” suppresses the warning and error summary from the listing
  • -ftsymbols β€” specify symbols in the listing
  • -ftcmd β€” specify the command line in the listing
  • -fno-ttimestamp β€” suppresses the timestamp in listing headers ⏰
  • -fttitle=<title> β€” sets the listing title, with _ replaced by spaces; defaults to the package name and version
  • -fno-diagnostics-show-option β€” suppresses output of the option that directly controls the diagnostic
  • -fno-diagnostics-show-caret β€” don't display source context on a warning/error diagnostic (the little caret pointer? gone πŸ’€)
  • -fno-diagnostics-show-line-numbers β€” suppresses display of line numbers in diagnostics

πŸ¦‹ Compiler dialect configuration options πŸ¦‹

Bestie, this is the big one. This is where you tell the compiler which COBOL it's dealing with. Buckle in πŸ’–

  • -freserved-words=<value> β€” use of complete/fixed reserved words
  • -ftab-width=1..12 β€” the number of spaces that are assumed for tabs
  • -ftext-column=72..255 β€” the right margin column number for fixed-form reference-format
  • -fpic-length=<number> β€” the maximum number of characters allowed in the PICTURE character-string
  • -fword-length=1..63 β€” the maximum word-length for COBOL (= programmer defined) words
  • -fliteral-length=<number> β€” the maximum literal size in general
  • -fnumeric-literal-length=1..38 β€” the maximum numeric literal size
  • -fdefaultbyte=<value> β€” the default initialization for fields without VALUE, and it may be one of:
    • a 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> β€” the default reference-format, may be one of: FIXED, FREE, COBOL85, VARIABLE, XOPEN, XCARD, CRT, TERMINAL, COBOLX
  • -fbinary-size=<value> β€” binary byte size, i.e. it 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 (this implies complex-odo)
  • -finit-justify β€” applies JUSTIFY with the VALUE clause
  • -findirect-redefines β€” allow REDEFINES to other than the 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 the 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 β€” the exit point of any currently executing perform is recognized if reached
  • -farithmetic-osvs β€” limit precision in intermediate results to the precision of the final result (less accurate β€” yes, that's the tradeoff, don't come for me πŸ™ˆ)
  • -fconstant-folding β€” evaluate constant expressions at compile time
  • -fhostsign β€” allow hexadecimal value 'F' for the NUMERIC test of a signed PACKED DECIMAL field
  • -fprogram-name-redefinition β€” program names don't lead to a reserved identifier
  • -faccept-update β€” set the WITH UPDATE clause as default for ACCEPT dest-item, instead of WITH NO UPDATE
  • -faccept-auto β€” set the 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 does πŸ™ˆ
  • -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 a move of a 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 the reference format supports Area A enforcement), and the 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 the 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> β€” gives you the support setting for PROCEDURE DIVISION USING OPTIONAL. ✨
  • -fnumeric-value-for-edited-item=<support> β€” support for numeric literals in the VALUE clause of numeric-edited items. πŸ’…
  • -fincorrect-conf-sec-order=<support> β€” support for an incorrect order of CONFIGURATION SECTION paragraphs. πŸ¦‹
  • -fdefine-constant-directive=<support> β€” support for allowing >> DEFINE CONSTANT var AS literal. πŸŽ€
  • -ffree-redefines-position=<support> β€” support for a REDEFINES clause that does not follow the entry-name in the definition. 🌸
  • -frecords-mismatch-record-clause=<support> β€” support for when record sizes does not match the RECORD clause. 😭
  • -frecord-delimiter=<support> β€” support for the RECORD DELIMITER clause. πŸ’–
  • -fsequential-delimiters=<support> β€” support for the BINARY-SEQUENTIAL and LINE-SEQUENTIAL phrases in RECORD DELIMITER. πŸ”₯
  • -frecord-delim-with-fixed-recs=<support> β€” support for the RECORD DELIMITER clause on a file with fixed-length records. 🫢
  • -fmissing-statement=<support> β€” support for a missing statement, like an empty IF / PERFORM. πŸ’€
  • -fmissing-period=<support> β€” support for a missing period in PROCEDURE DIVISION (when reference format supports Area A enforcement). πŸ™ˆ
  • -fzero-length-literals=<support> β€” support for zero-length literals, e.g. '' and "". πŸ“
  • -fxml-generate-extra-phrases=<support> β€” support for XML GENERATE's phrases other than COUNT IN. 🧚
  • -fcontinue-after=<support> β€” support for the AFTER phrase in the CONTINUE statement. πŸ’œ
  • -fgoto-entry=<support> β€” support for ENTRY FOR GO TO and GO TO ENTRY statements. ⭐
  • -fassign-variable=<support> β€” support for ASSIGN [TO] variable in SELECT. 🌈
  • -fassign-using-variable=<support> β€” support for ASSIGN USING/VARYING variable in SELECT. πŸ‘‘
  • -fassign-ext-dyn=<support> β€” support for ASSIGN EXTERNAL/DYNAMIC in SELECT. ✨
  • -fassign-disk-from=<support> β€” support for ASSIGN DISK FROM variable in SELECT. πŸ’–
  • -fvsam-status=<support> β€” support for VSAM status in FILE STATUS. πŸ¦‹
  • -fself-call-recursive=<support> β€” support for a CALL to its own PROGRAM-ID implying the RECURSIVE attribute. πŸŽ€
  • -frecord-contains-depending-clause=<support> β€” support for the DEPENDING clause in RECORD CONTAINS. 🌸
  • -fpicture-l=<support> β€” support for a PICTURE string with the 'L' character. πŸ’…

where <support> is one of the following: 'ok', 'warning', 'archaic', 'obsolete', 'skip', 'ignore', 'error', 'unconformable' 😌

  • -fnot-reserved=<word> β€” takes <word> out of the reserved words list. 🫢
  • -freserved=<word> β€” adds <word> to the reserved words list. πŸ’–
  • -freserved=<word>:<alias> β€” adds <word> to the reserved words list as an alias. πŸ¦‹
  • -fnot-register=<word> β€” disables the special register <word>. 🌸
  • -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, and Edward Hart β€” absolute icons, no cap. πŸ’… The build info is literally Built Jul 28 2023 19:20:47, Packaged Jul 28 2023 17:02:56 UTC, and 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 Β© 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. πŸ’–


πŸŽ€ That’s the whole COBC(1) page, bestie β€” source/version GnuCOBOL 3.2.0, dated July 2023. Slay and stay slaying. πŸ’…βœ¨

πŸ“¦ where this page comes from