You can direct and control your compilation by using compiler options or by using compiler-directing statements (compiler directives).
Compiler options affect the aspects of your program that are listed in the table below. The linked-to information for each option provides the syntax for specifying the option and describes the option, its parameters, and its interaction with other parameters.
| Aspect of your program | Compiler option | Default | Option abbreviations |
|---|---|---|---|
| Source language | ARITH | ARITH(COMPAT) | AR(C|E) |
| CICS | NOCICS | None | |
| CURRENCY | NOCURRENCY | CURR|NOCURR | |
| LIB | LIB | None | |
| NSYMBOL | NSYMBOL(NATIONAL) | NS(NAT|DBCS) | |
| NUMBER | NONUMBER | NUM|NONUM | |
| QUOTE/APOST | QUOTE | Q|APOST | |
| SEQUENCE | SEQUENCE | SEQ|NOSEQ | |
| SOSI | NOSOSI | None | |
| SQL | SQL("") | None | |
| SRCFORMAT | SRCFORMAT(COMPAT) | SF(C|E) | |
| Date processing | DATEPROC | NODATEPROC, or DATEPROC(FLAG)if only DATEPROC is specified | DP|NODP |
| YEARWINDOW | YEARWINDOW(1900) | YW | |
| Maps and listings | LINECOUNT | LINECOUNT(60) | LC |
| LIST | NOLIST | None | |
| LSTFILE | LSTFILE(LOCALE) | LST | |
| MAP | NOMAP | None | |
| SOURCE | SOURCE | S|NOS | |
| SPACE | SPACE(1) | None | |
| TERMINAL | TERMINAL | TERM|NOTERM | |
| VBREF | NOVBREF | None | |
| XREF | XREF(FULL) | X|NOX | |
| Object module generation | COMPILE | NOCOMPILE(S) | C|NOC |
| PGMNAME | PGMNAME(UPPER) | PGMN(LU|LM) | |
| SEPOBJ | SEPOBJ | None | |
| Object code control | ADDR | ADDR(32) | None |
| ARCH | ARCH(POWERPC) | ARCH(PPC|PWR7) | |
| BINARY | BINARY(NATIVE) | None | |
| CHAR | CHAR(NATIVE) | None | |
| COLLSEQ | COLLSEQ(BIN) | CS(L|E|BIN|B) | |
| DIAGTRUNC | NODIAGTRUNC | DTR|NODTR | |
| FLOAT | FLOAT(NATIVE) | None | |
| NCOLLSEQ | NCOLLSEQ(BINARY) | NCS(L|BIN|B) | |
| OPTIMIZE | NOOPTIMIZE | OPT|NOOPT | |
| TRUNC | TRUNC(STD) | None | |
| ZWB | ZWB | None | |
| CALL statement behavior | DYNAM | NODYNAM | DYN|NODYN |
| Debugging and diagnostics | FLAG | FLAG(I,I) | F|NOF |
| FLAGSTD | NOFLAGSTD | None | |
| SSRANGE | NOSSRANGE | SSR|NOSSR | |
| TEST | NOTEST | None | |
| Other | ADATA | NOADATA | None |
| CALLINT | CALLINT(SYSTEM,NODESC) | None | |
| ENTRYINT | ENTRYINT(SYSTEM) | None | |
| EXIT | NOEXIT | NOEX|EX(INX|NOINX, LIBX|NOLIBX, PRTX|NOPRTX, ADX|NOADX, MSGX|NOMSGX) | |
| MAXMEM | MAXMEM(2000) | None | |
| MDECK | NOMDECK | NOMD|MD|MD(C|NOC) | |
| PROFILE | PROFILE | None | |
| SIZE | SIZE(8388608) | SZ | |
| SPILL | SPILL(512) | None | |
| THREAD | NOTHREAD | None | |
| WSCLEAR | NOWSCLEAR | None |
Installation defaults: The defaults listed for the options above are the defaults shipped with the product.
Option specification: Compiler options and suboptions are not case sensitive.
Performance considerations: The ADDR, ARCH, ARITH, CHAR, DYNAM, FLOAT, OPTIMIZE, SSRANGE, TEST, THREAD, TRUNC, and WSCLEAR compiler options can affect runtime performance.
related tasks
Compiling programs
Tuning your program
related references
Compiler-directing statements
Performance-related compiler options