Mapping of options
The topic provides a mapping of classic IBM® XL C/C++ compiler options and Clang options that have the same or similar functions.
Note: Suboptions of these options do not necessarily have a one-to-one mapping.
| Classic options supported by IBM XL C/C++ for AIX® 16.1.0 | Similar/equivalent Clang options supported by IBM Open XL C/C++ for AIX 17.1.1 |
|---|---|
| -# | -### |
| -+ | -x c++ |
| -C! | None; the default compiler behavior is as if -C! was in effect. |
| -E | -E or -E -x c for files with unrecognized file name suffixes |
| -f | -Wl,-f |
| -F | None |
| -G | -shared -Wl,-G Refer to Linking a shared Library with runtime linking for more information. |
| -ma | None |
| -O | -O0, -O1, -O2, -O3, or -Ofast |
| -p | None |
| -pg | None |
| -P | -E -P -o file.i obtains behavior similar to the classic -P option. |
| -q32 | -m32 |
| -q64 | -m64 |
| -qaggrcopy | None; the default compiler behavior is as if -qaggrcopy was in effect. |
| -qalias=[no]ansi | -f[no-]strict-aliasing |
| -qalias=suboption, where suboption is not [no]ansi | None |
| -qalign=bit_packed | -fpack-struct |
| -qalignrulefor | None |
| -qalloca | None |
| -q[no]altivec | -m[no-]altivec |
| -qarch | -mcpu |
| -qasm | -fasm |
| -qasm_as | None |
| -qassert | None |
| -qattr | None |
| -qbitfields=signed | -fsigned-bitfields |
| -qbitfields=unsigned | None |
| -qc_stdinc | -isystem |
| -qcpp_stdinc | -isystem |
| -qcache | None |
| -qchars=signed | -fsigned-char |
| -qchars=unsigned | -funsigned-char |
| -qcheck=bounds | -fsanitize=bounds -fsanitize-trap=bounds |
| -qcheck=divzero | -fsanitize=integer-divide-by-zero -fsanitize-trap=integer-divide-by-zero |
| -qcheck=nullptr | -fsanitize=null -fsanitize-trap=null |
| -qcinc | None |
| -qcommon | None |
| -qcompact | -Os and -Oz |
| -qconcurrentupdate | None |
| -qcpluscmt | None; the default compiler behavior is as if -qcpluscmt was in effect. |
| -qcrt | None; the default compiler behavior is as if -qcrt was in effect. |
| -qnocrt | -nostartfiles |
| -qdataimported | -mdataimported |
| -qdatalocal | -mdatalocal |
| -qnodatalocal | -mdataimported |
| -qdbcs | None; the compiler supports UTF-8 source files all the time. |
| -qdbgfmt=dwarf | -gdwarf-3 |
| -qdbgfmt=dwarf4 | -gdwarf-4 |
| -qdbgfmt=stabstring | None |
| -qdbxextra | -fno-eliminate-unused-debug-types |
| -qdfp | None |
| -q[no]digraph | -f[no-]digraphs |
| -qdirectstorage | None |
| -qdollar | -fdollars-in-identifiers |
| -qdpcl | None |
| -qdump_class_hierarchy | -fdump-class-hierarchy or -Xclang -fdump-record-layouts |
| -qeh | -fexceptions |
| -qnoeh | -fignore-exceptions |
| -qenum | None |
| -qexpfile | None |
| -qextchk | None |
| -qfdpr | None |
| -qflag | None |
| -qfloat=[no]dfpemulate | None |
| -qfloat=[no]fenv | None |
| -qfloat=[no]fltint | None |
| -qfloat=[no]fold | None |
| -qfloat=[no]hscmplx | None |
| -qfloat=[no]hsflt | None |
| -qfloat=[no]hssngl | None |
| -qfloat=maf | -ffp-contract=fast |
| -qfloat=nomaf | -ffp-contract=off |
| -qfloat=[no]nans | None |
| -qfloat=relax | -fno-honor-nans -fno-honor-infinities -fdenormal-fp-math=positive-zero -fno-signed-zeros -fno-rounding-math -freciprocal-math |
| -qfloat=norelax | -fhonor-nans -fhonor-infinities -fdenormal-fp-math=ieee -fsigned-zeros -frounding-math -fno-reciprocal-math |
| -qfloat=[no]rndsngl | None |
| -qfloat=[no]rngchk | None |
| -qfloat=[no]rrm | -f[no-]rounding-math |
| -qfloat=[no]rsqrt | None |
| -qfloat=[no]single | None |
| -qfloat=[no]spnans | None |
| -qfloat=[no]subnormals | None |
| -qflttrap=enable:inexact | None |
| -qflttrap=enable:invalid | None |
| -qflttrap=enable:overflow | None |
| -qflttrap=enable:underflow | None |
| -qflttrap=enable:zerodivide | -fsanitize=float-divide-by-zero -fsanitize-trap=float-divide-by-zero |
| -qflttrap=imprecise | None |
| -qflttrap=nanq | None |
| -qformat | -Wformat |
| -qfullpath | None; the default compiler behavior is as if -qfullpath was in effect. |
| -q[no]funcsect | -f[no-]function-sections |
| -qfunctrace | None |
| -qgcc_c_stdinc | None |
| -qgcc_cpp_stdinc | None |
| -qgenproto | None |
| -qhalt=w | -Werror |
| -qhaltonmsg | None |
| -qheapdebug | None |
| -qhelp | -help |
| -qhot | -Ofast |
| -qhot=suboption | None |
| -qidirfirst | None |
| -qignerrno | -fno-math-errno |
| -qignprag | None |
| -qinclude | -include |
| -qinfo=[no]unset | -W[no-]uninitialized |
| -qinfo=suboption, where suboption is not [no]unset | None |
| -qinitauto | None |
| -qinlglue | None; the default compiler behavior is as if -qnoinlglue was in effect. |
| -q[no]inline | -f[no-]inline |
| -qinline=auto | -finline-functions |
| -qinline=noauto | -finline-hint-functions |
| -qinline=level=1 | -mllvm --inline-threshold=45 -mllvm --inlinehint-threshold=325 |
| -qinline=level=2 | -mllvm --inline-threshold=90 -mllvm --inlinehint-threshold=325 |
| -qinline=level=3 | -mllvm --inline-threshold=135 -mllvm --inlinehint-threshold=325 |
| -qinline=level=4 | -mllvm --inline-threshold=180 -mllvm --inlinehint-threshold=325 |
| -qinline=level=5 | -mllvm --inline-threshold=225 -mllvm --inlinehint-threshold=325 |
| -qinline=level=6 | -mllvm --inline-threshold=270 -mllvm --inlinehint-threshold=395 |
| -qinline=level=7 | -mllvm --inline-threshold=315 -mllvm --inlinehint-threshold=465 |
| -qinline=level=8 | -mllvm --inline-threshold=360 -mllvm --inlinehint-threshold=535 |
| -qinline=level=9 | -mllvm --inline-threshold=405 -mllvm --inlinehint-threshold=605 |
| -qinline=level=10 | -mllvm --inline-threshold=450 -mllvm --inlinehint-threshold=650 |
| -qipa | -flto |
| -qisolated_call | None |
| -qkeepinlines | None |
| -qkeepparm | None |
| -qkeyword | None |
-qlanglvl=stdc89 |
-std=c89 | c90 |
-qlanglvl=extc89 |
-std=gnu89 | gnu90 |
-qlanglvl=stdc99 |
-std=c99 |
-qlanglvl=extc99 |
-std=gnu99 |
-qlanglvl=stdc11 |
-std=c11 |
-qlanglvl=extc1x |
-std=gnu11 |
-qlanglvl=extended |
-std=gnu89 |
-qlanglvl=strict98 |
-std=c++98/c++03 |
-qlanglvl=extended |
-std=gnu++98 | gnu++03 |
-qlanglvl=extended0x |
-std=c++0x | gnu++11 | gnu++0x |
-qlanglvl=extended1y |
-std=gnu++1y | gnu++14 |
| -qlanglvl=[no]gnu_warning | -W[no-]#warnings |
| -qlargepage | None |
| -qldbl128 | None |
| -qlongdouble | None |
| -qnolib | -nodefaultlibs |
| -qnolibansi | -fno-builtin |
| -qlibmpi | None; the default compiler behavior is as if -qnolibmpi was in effect. |
| -qlinedebug | -g1 or -gline-tables-only |
| -qlist | -S |
| -qlistfmt | None |
| -qlistopt | None |
| -qlonglit | None |
| -qlonglong | None; the default compiler behavior is as if -qlonglong was in effect. |
| -qmacpstr | -fpascal-strings |
| -qmakedep | None |
| -qmaxerr | -ferror-limit |
| -qmaxmem | None |
| -qmbcs | None; the compiler supports UTF-8 source files all the time. |
| -qminimaltoc | None |
| -qmkshrobj | -shared Refer to Linking shared libraries for more information. |
| -qmkshrobj=priority | -bcdtors::priority: Refer to Linking shared libraries for more information. |
| -qnamemangling | None |
| -qobjmodel | None |
| -qoldpassbyvalue | None |
| -qoptdebug | None |
| -qoptfile | @file |
| -qoptimize | --optimize |
| -qpack_semantic=gnu | -fno-xl-pragma-pack |
| -qpack_semantic=ibm | -fxl-pragma-pack |
| -qpagesize | None |
| -qpath | None |
| -qpdf1 | -fprofile-generate |
| -qpdf2 | -fprofile-use |
| -qphsinfo | -ftime-report |
| -qpic=small | -fpic |
| -qpic=large | -fpic -mcmodel=large -Wl,-bbigtoc |
| -qppline | None |
| -qnoppline | -E -P |
| -qprefetch | None |
| -qprint | None |
| -qpriority | None |
| -qprocimported | None |
| -qproclocal | None |
| -qprocunknown | None |
| -qprofile | None |
| -qproto | None; the default compiler behavior is as if -qnoproto was in effect. |
| -qreport | None |
| -qreserved_reg | None |
| -qrestrict | -frestrict-args |
| -qro | None; the default compiler behavior is as if -qro was in effect. |
| -qroconst | None; the default compiler behavior is as if -qroconst was in effect. |
| -qroptr | None; the default compiler behavior is as if -qnoroptr was in effect. |
| -q[no]rtti | -f[no-]rtti |
| -qsaveopt | None |
| -qshowinc | None |
| -qshowmacros | -dM |
| -qshowpdf | None |
| -qsimd=noauto | -fno-vectorize -fno-slp-vectorize |
| -qskipsrc | None |
| -qslmtags | None |
| -qsmallstack | None |
| -qsmp | None |
| -qsource | None |
| -qsourcetype | -x |
| -qsourcetype=default | -x none |
| -qspeculateabsolutes | None |
| -qspill | None |
| -q[no]srcmsg | -f[no-]caret-diagnostics |
| -qstackprotect | -fstack-protector |
| -qstaticinline | None |
| -qstaticlink | None |
| -qstatsym | None |
| -qstdinc | -nostdinc |
| -qnostdinc | -nostdinc++ |
| -qstrict=association | -fno-associative-math |
| -qstrict=noassociation | -fassociative-math |
| -qstrict=[no]nans | -f[no-]honor-nans |
| -qstrict=[no]infinities | -f[no-]honor-infinities |
| -qstrict=[no]zerosigns | -f[no-]signed-zeros |
| -qstrict=subnormals | -fdenormal-fp-math=ieee |
| -qstrict=nosubnormals | -fdenormal-fp-math=positive-zero or -fdenormal-fp-math=preserve-sign |
| -qstrict=operationprecision | -fno-reciprocal-math |
| -qstrict=nooperationprecision | -freciprocal-math |
| -qstrict=[no]vectorprecision | None |
| -qstrict=[no]reductionorder | None |
| -qstrict=[no]guards | None |
| -qstrict=[no]library | None |
| -qstrict=order | -fno-associative-math |
| -qstrict=noorder | -fassociative-math |
| -qstrict=ieeefp | -fhonor-nans -fhonor-infinities -fdenormal-fp-math=ieee -fsigned-zeros -frounding-math -fno-reciprocal-math |
| -qstrict=noieeefp | -fno-honor-nans -fno-honor-infinities -fdenormal-fp-math=positive-zero -fno-signed-zeros -fno-rounding-math -freciprocal-math |
| -qstrict=exceptions | -fhonor-nans -fhonor-infinities -fdenormal-fp-math=ieee -ffp-exception-behavior=strict |
| -qstrict=noexceptions | -fno-honor-nans -fno-honor-infinities -fdenormal-fp-math=positive-zero -ffp-exception-behavior=ignore |
| -qstrict=precision | -fno-associative-math -fdenormal-fp-math=ieee -fno-reciprocal-math |
| -qstrict=noprecision | -fassociative-math -fdenormal-fp-math=positive-zero -freciprocal-math |
| -qstrict_induction | None |
| -qsuppress | None |
| -qsymtab | None |
| -qsyntaxonly | -fsyntax-only |
| -qtabsize | None |
| -qtbtable | None; the default compiler behavior is as if -qtbtable=full was in effect. |
| -qtempinc | None |
| -qtemplatedepth | -ftemplate-depth |
| -qtemplaterecompile | None |
| -qtemplateregistry | None |
| -qtempmax | None |
| -qthreaded | -pthread |
| -qtimestamps | None |
| -qtls | -ftls-model |
| -qtmplinst | None |
| -qtmplparse | None |
| -qtocdata | None |
| -qtocmerge | None |
| -qtrigraph | -trigraphs |
| -qtune | None |
| -qtwolink | -bcdtors:mbr |
| -qunique | None |
| -q[no]unroll | -f[no-]unroll-loops |
| -qunroll=yes | None |
| -qunwind | None |
| -qupconv | None; the default compiler behavior is as if -qnoupconv was in effect. |
| -qutf | None |
| -qvecnvol | -mabi=vec-extabi |
| -qnovecnvol | -mabi=default |
| -qversion | --version |
| -qvisibility | -fvisibility; see also -fvisibility-inlines-hidden. |
| -qvrsave | None; the default compiler behavior is as if -qnovrsave was in effect. |
| -qwarn0x | None |
| -qwarn64 | None |
| -qweakexp | None |
| -qweaksymbol | None; the default compiler behavior is as if -qweaksymbol was in effect. |
| -qxcall | None |
| -qxlcompatmacros | None |
| -qxref | None |
| -s | -Wl,-s |
| -t | None |
| -v | -v |
| -V | -v |
| -y | None |
| -Z | -Wl,-Z |
Related information
- The "Clang command line argument reference" section in the Clang documentation
-qlanglvl=stdc89
-qlanglvl=strict98