Summary of compiler options

Most compiler options have a positive and negative form. The negative form is the positive with NO before it. For example, NOXREF is the negative form of XREF.

Table 1 lists the compiler options in alphabetical order, their abbreviations, and the defaults that are supplied by IBM. Suboptions inside square brackets are optional.

Note: For a description of the compiler options that can be specified with xlc, type xlc without arguments to access the help file.

The C, C++, and IPA link columns, which are shown in Table 1, indicate where the option is accepted by the compiler but this acceptance does not necessarily cause an action; for example, IPA LINK accepts the MARGINS option but ignores it. This acceptance also means that a diagnostic message is not generated. "C" refers to a C language compile step. "C++" refers to a C++ language compile step. These options are accepted regardless of whether they are for NOIPA, IPA(OBJECT), or IPA(NOLINK).

Table 1. Compiler options, abbreviations, and IBM-supplied defaults
Compiler Option (Abbreviated Names are underlined) IBM-supplied Default C C++ IPA Link More Information
AGGRCOPY[ (OVERLAP | NOOVERLAP)] AGGRC(NOOVERL) See detail
AGGREGATE | NOAGGREGATE NOAGG   See detail
ALIAS[(name)] | NOALIAS NOALI   See detail
ANSIALIAS | NOANSIALIAS ANS See detail
ARCHITECTURE( n) ARCH(7) See detail
ARGPARSE | NOARGPARSE ARG See detail
ARMODE | NOARMODE NOARMODE   See detail
ASCII | NOASCII NOASCII See detail
ASM | NOASM NOASM See detail
ASMDATASIZE(num) ASMDS(256)   See detail
ASMLIB(subopts) | NOASMLIB NOASMLIB See detail
ASSERT(RESTRICT) | ASSERT(NORESTRICT) ASSERT(RESTRICT) See detail
ATTRIBUTE[(FULL)] | NOATTRIBUTE NOATT   See detail
BITFIELD(SIGNED|UNSIGNED) BITF(UNSIGNED) See detail
CHARS(SIGNED | UNSIGNED) CHARS(UNSIGNED) See detail
CHECKOUT(subopts) | NOCHECKOUT NOCHE   See detail
CICS[(subopts)] | NOCICS NOCICS See detail
COMPACT | NOCOMPACT NOCOMPACT See detail
COMPRESS | NOCOMPRESS NOCOMPRESS See detail
CONVLIT[(subopts)] | NOCONVLIT[(subopts)] NOCONV (, NOWCHAR) See detail
CSECT([qualifier]) | NOCSECT([qualifier]) NOCSE for NOGOFF or CSE() for GOFF See detail
CVFT | NOCVFT CVFT     See detail
DBRMLIB[(filename)] DBRMLIB(DD:DBRMLIB) See detail
DEBUG[(subopts)] | NODEBUG[(subopts)] NODEBUG   See detail
DEFINE(name1[= | =def1], name2[= | =def2],...)
Note: No default user definitions.
See detail
DFP | NODFP NODFP See detail
DIGRAPH | NODIGRAPH DIGR See detail
DLL[(CBA | NOCBA)] | NODLL[(CBA | NOCBA)]

For C: NODLL(NOCBA)

For C++: DLL(NOCBA)

See detail
DSAUSER | NODSAUSER NODSAUSER   See detail
ENUMSIZE(subopts) ENUM(SMALL) See detail
EPILOG(subopts)
Note: The compiler generates default epilog code for the functions that do not have user-supplied epilog code.
  See detail
EVENTS[(filename)] | NOEVENTS NOEVENT See detail
EXECOPS | NOEXECOPS EXEC See detail
EXH | NOEXH EXH     See detail
EXPMAC | NOEXPMAC NOEXP See detail
EXPORTALL | NOEXPORTALL NOEXPO See detail
FASTTEMPINC | NOFASTTEMPINC NOFASTT     See detail
FLAG(severity) | NOFLAG FL(I) See detail
FLOAT(subopts) FLOAT(HEX, FOLD, NOMAF, NORRM, AFP(NOVOLATILE)) See detail
FUNCEVENT[(subopts)]| NOFUNCEVENT NOFUNCEVENT   See detail
GENASM[(filename)] | NOGENASM NOGENASM   See detail
GOFF | NOGOFF NOGOFF See detail
GONUMBER | NOGONUMBER NOGONUM See detail
HALT(num) HALT(16) See detail
HALTONMSG(msgno) | NOHALTONMSG NOHALTON See detail
HGPR[(subopt)] | NOHGPR NOHGPR See detail
HOT | NOHOT NOHOT   See detail
IGNERRNO | NOIGNERRNO

For NOOPT and OPT(2): NOIGNERRNO.

For OPT(3): IGNERRNO.

See detail
INCLUDE(file) | NOINCLUDE NOINCLUDE See detail
INFO[(subopts)] | NOINFO

For C++: IN(LAN)

For C: NOIN

  See detail
INITAUTO(number [,word]) | NOINITAUTO NOINITA See detail
INLINE[(subopts)] | NOINLINE [(subopts)] C/C++ NOOPT: NOINL(AUTO, NOREPORT, 100, 1000) C/C++ OPT: INL(AUTO, NOREPORT, 100, 1000)

IPA Link NOOPT: NOINL(AUTO, NOREPORT, 1000, 8000)

IPA Link OPT: INL (AUTO, NOREPORT, 1000, 8000)

See detail
INLRPT[(filename)] | NOINLRPT[(filename)] NOINLR See detail
IPA[(subopts)] | NOIPA[(subopts)] NOIPA(NOLINK, OBJECT, OPT, NOLIST, NOGONUMBER, NOATTRIBUTE, NOXREF, LEVEL(1), NOMAP, DUP, ER, NONCAL, NOUPCASE, NOCONTROL, NOPDF1, NOPDF2, NOPDFNAME) See detail
KEYWORD(name) | NOKEYWORD(name) Recognizes all C++ keywords and the C keywords "asm" and "typeof". See detail
LANGLVL(subopts) LANG(EXTENDED) See detail
LIBANSI | NOLIBANSI NOLIB See detail
LIST[(filename)] | NOLIST [(filename)] NOLIS See detail
LOCALE[(name)] | NOLOCALE NOLOC See detail
LONGNAME | NOLONGNAME C:NOLO C++: LO See detail
LP64 | ILP32 ILP32 See detail
LSEARCH(subopts) | NOLSEARCH NOLSE See detail
MAKEDEP[(GCC | PPONLY)]
Note: This option is only supported using -q syntax.
  See detail
MARGINS | NOMARGINS NOMAR     See detail
MARGINS(m,n) | NOMARGINS V-format: NOMAR F-format: MAR(1,72)   See detail
MAXMEM(size) | NOMAXMEM MAXM(2097152) See detail
MEMORY | NOMEMORY MEM See detail
METAL | NOMETAL NOMETAL   See detail
NAMEMANGLING(subopt) NAMEMANGLING(zOSV1R2)     See detail
NESTINC(num) | NONESTINC NEST(255) See detail
OBJECT[(filename)] | NOOBJECT [(filename)] OBJ See detail
OBJECTMODEL(subopt) OBJECTMODEL(CLASSIC)   See detail
OE[(filename)] | NOOE[(filename)] NOOE See detail
OFFSET | NOOFFSET NOOF See detail
OPTFILE[(filename)] | NOOPTFILE[(filename)] NOOPTF See detail
OPTIMIZE[(level)] | NOOPTIMIZE NOOPT See detail
PHASEID | NOPHASEID NOPHASEID See detail
PLIST(HOST | OS) PLIST(HOST) See detail
PORT[(PPS | NOPPS)] | NOPORT NOPORT     See detail
PPONLY[(subopts)] | NOPPONLY[(subopts)] NOPP See detail
PREFETCH | NOPREFETCH PREFETCH   See detail
PROLOG(subopt)
Note: The compiler generates default prolog code for the functions that do not have user-supplied prolog code.
  See detail
REDIR | NOREDIR RED See detail
RENT | NORENT NORENT   See detail
REPORT | NOREPORT NOREPORT See detail
RESERVED_REG(subopt)
Note: No default user definitions.
  See detail
RESTRICT[(subopts)] | NORESTRICT NORESTRICT   See detail
ROCONST | NOROCONST C: NOROC

C++: ROC

See detail
ROSTRING | NOROSTRING RO See detail
ROUND(subopt)

For IEEE: ROUND(N).

For HEX: ROUND(Z).

For DFP: ROUND(DN).

See detail
RTCHECK[(subopts)] | NORTCHECK NORTCHECK See detail
RTTI[(subopt)] | NORTTI NORTTI     See detail
SEARCH(opt1,opt2,...) | NOSEARCH For C++, SE(//'CEE.SCEEH.+', //'CBC.SCLBH.+') For C, SE(//'CEE.SCEEH.+') See detail
SEQUENCE | NOSEQUENCE NOSEQ     See detail
SEQUENCE(m,n) | NOSEQUENCE V-format: NOSEQ F-format: SEQ(73,80)   See detail
SERVICE(string) | NOSERVICE NOSERV See detail
SEVERITY(severity level(msg-no)) | NOSEVERITY NOSEVERITY     See detail
SHOWINC | NOSHOWINC NOSHOW See detail
SHOWMACROS[(subopts)] | NOSHOWMACROS NOSHOWM   See detail

SKIPSRC (SHOW | HIDE)

SKIPS(SHOW)

See detail

SMP[(subopts)] | NOSMP NOSMP See detail
SOURCE[(filename)] | NOSOURCE[(filename)] NOSO See detail
SPILL(size) | NOSPILL[(size)] SP(128) See detail
SPLITLIST | NOSPLITLIST NOSPLITLIST See detail
SQL(DB2 precompiler option) | NOSQL NOSQL See detail
SSCOMM | NOSSCOMM NOSS   See detail
START | NOSTART STA See detail
STATICINLINE | NOSTATICINLINE NOSTATICI See detail
STRICT | NOSTRICT

For NOOPT and OPT(2): STRICT.

For OPT(3): NOSTRICT.

See detail
STRICT_INDUCTION | NOSTRICT_INDUCTION NOSTRICT_INDUC See detail
SUPPRESS(msg-no) | NOSUPPRESS(msg-no)

For C: NOSUPP.

For C++: SUPP(CCN5900, CCN5922).

See detail
SYSSTATE(subopts) SYSSTATE(NOASCENV, OSREL(NONE))   See detail
TARGET(subopts) TARG(LE, CURRENT) See detail
TEMPINC[(filename)] | NOTEMPINC[(filename)]

PDS: TEMPINC(TEMPINC)

z/OS® UNIX System Services file system directory: TEMPINC(./tempinc)

    See detail
TEMPLATEDEPTH(n) TEMPLATEDEPTH(300)     See detail
TEMPLATERECOMPILE | NOTEMPLATERECOMPILE TEMPLATEREC     See detail
TEMPLATEREGISTRY[(registryFile)] | NOTEMPLATEREGISTRY NOTEMPL   See detail
TERMINAL | NOTERMINAL TERM See detail
TEST[(subopts)] | NOTEST[(subopts)]

C: NOTEST (HOOK, SYM, BLOCK, LINE, PATH)

C++: NOTEST(HOOK)

See detail
THREADED | NOTHREADED THREADED See detail
TMPLPARSE(subopts) TMPLPARSE(NO)     See detail
TUNE(n) TUN(7) See detail
UNDEFINE(name)
Note: No default.
See detail
UNROLL(subopts) UNROLL(AUTO) See detail
UPCONV | NOUPCONV NOUPC   See detail
VECTOR | NOVECTOR NOVECTOR See detail
WARN64 | NOWARN64 NOWARN64 See detail

WARN0X | NOWARN0X

NOWARN0X See detail
WSIZEOF| NOWSIZEOF NOWSIZEOF See detail
XPLINK[(subopts)] | NOXPLINK[(subopts)] NOXPL See detail
XREF[(FULL)] | NOXREF NOXR See detail