OptionCompat
From Open64 Wiki
Historically, options supported by open64's main driver opencc|CC differ from gcc's options. In order to allow seamless replacement of compilers in build environments that use gcc, opencc needs to support the most common and important gcc options.
This page list the current state of options for the two drivers opencc and gcc for *x86 and Itanium* and prioritizes the most important options that haven't been implemented yet.
Overall Options
-c supported
-S supported
-E supported
-o file supported
-combine *not* supported
-pipe *not* supported
-pass-exit-codes supported
-x language supported
-v supported
-### supported
--help supported
--target-help *not* supported, *low* priority
--version supported
At the bottom of each section one can add further comments on unsupported options. There are no comments for this section.
C Language Options
Option Status Priority/Comments
-ansi supported
-std=standard supported
-aux-info filename supported low; output prototype info.
-fno-asm supported
-fno-builtin supported
-fno-builtin-function NOT supported low; probably supported
-fhosted supported low
-ffreestanding supported low
-fms-extensions supported low
-trigraphs supported
-no-integrated-cpp NOT supported low
-traditional supported
-traditional-cpp supported low
-fallow-single-precision NOT supported low; not documented
-fcond-mismatch supported low; language extension for type mismatch
-fsigned-bitfields supported
-fsigned-char supported
-funsigned-bitfields supported
-funsigned-char supported
C++ Language Options
-fabi-version=n supported, low
-fno-access-control NOT supported, low FE only!
-fcheck-new NOT supported, low support for non-standard new
-fconserve-space NOT supported, low, useless
-ffriend-injection NOT supported, low, will be removed
-fno-const-strings NOT supported, low, FE only! Might be removed
-fno-elide-constructors NOT supported, low
-fno-enforce-eh-specs NOT supported, low, can reduce code size
-ffor-scope supported, low, FE only!
-fno-for-scope supported, low, FE only!
-fno-gnu-keywords supported
-fno-implicit-templates supported, low, FE only?
-fno-implicit-inline-templates supported, low, FE only?
-fno-implement-inlines NOT supported, low
-fms-extensions supported
-fno-nonansi-builtins NOT supported, low, FE only?
-fno-operator-names supported, low, FE only?
-fno-optional-diags NOT supported, low, FE only?
-fpermissive supported, low, FE only, mostly
-frepo NOT supported, low, modified template instantiation at link time
-fno-rtti supported, low, don't emit rtti to save space
-fstats NOT supported, low, only useful to G++ developers
-ftemplate-depth-n supported, low, set max. template instantiation depth
-fno-threadsafe-statics NOT supported
-fuse-cxa-atexit supported
-fno-weak NOT supported (ignored)
-nostdinc++ supported
-fno-default-inline supported
-fvisibility-inlines-hidden NOT supported
-Wabi supported
-Wctor-dtor-privacy supported
-Wnon-virtual-dtor supported
-Wreorder supported
-Weffc++ supported
-Wno-deprecated supported
-Wstrict-null-sentinel NOT supported
-Wno-non-template-friend supported
-Wold-style-cast supported
-Woverloaded-virtual supported
-Wno-pmf-conversions supported
-Wsign-promo supported
Language Independent Options
-fmessage-length=n supported
-fdiagnostics-show-location=[once|every-line] supported
-fdiagnostics-show-options NOT supported
Warning Options
-fsyntax-only NOT supported
-pedantic NOT supported
-pedantic-errors NOT supported
-w NOT supported
-Wextra NOT supported
-Wall supported
-Waggregate-return supported
-Wno-attributes NOT supported
-Wc++-compat NOT supported
-Wcast-align supported
-Wcast-qual supported
-Wchar-subscripts supported
-Wcomment supported
-Wconversion supported
-Wno-deprecated-declarations supported
-Wdisabled-optimization NOT supported (ignored)
-Wno-div-by-zero supported
-Wno-endif-labels supported
-Werror supported
-Werror-implicit-function-declaration supported
-Wfatal-errors NOT supported
-Wfloat-equal supported
-Wformat supported
-Wformat=2 supported
-Wno-format-extra-args supported
-Wformat-nonliteral supported
-Wformat-security supported
-Wformat-y2k NOT supported
-Wimplicit supported
-Wimplicit-function-declaration supported
-Wimplicit-int supported
-Wimport supported
-Wno-import supported
-Winit-self NOT supported
-Winline supported
-Wno-int-to-pointer-cast supported
-Wno-invalid-offsetof NOT supported
-Winvalid-pch supported
-Wlarger-than-len NOT supported
-Wunsafe-loop-optimizations NOT supported
-Wlong-long supported
-Wmain supported
-Wmissing-braces supported
-Wmissing-field-initializers NOT supported
-Wmissing-format-attribute supported
-Wmissing-include-dirs NOT supported
-Wmissing-noreturn supported
-Wno-multichar supported
-Wnonnull supported
-Wpacked supported
-Wpadded supported
-Wparentheses supported
-Wpointer-arith supported
-Wno-pointer-to-int-cast supported
-Wredundant-decls supported
-Wreturn-type supported
-Wsequence-point supported
-Wshadow supported
-Wsign-compare supported
-Wstack-protector NOT supported
-Wstrict-aliasing supported
-Wstrict-aliasing=2 NOT supported
-Wswitch supported
-Wswitch-default supported
-Wswitch-enum supported
-Wsystem-headers supported
-Wtrigraphs supported
-Wundef supported
-Wuninitialized supported
-Wunknown-pragmas supported
-Wno-pragmas NOT supported
-Wunreachable-code supported
-Wunused supported
-Wunused-function supported
-Wunused-label supported
-Wunused-parameter supported
-Wunused-value supported
-Wunused-variable supported
-Wvariadic-macros supported
-Wvolatile-register-var NOT supported
-Wwrite-strings supported
C-only Warning Options
-Wbad-function-cast supported
-Wmissing-declarations supported
-Wmissing-prototypes supported
-Wnested-externs supported
-Wold-style-definition NOT supported
-Wstrict-prototypes supported
-Wtraditional supported
-Wdeclaration-after-statement supported
-Wpointer-sign supported
Debugging Options
-dletters NOT supported
-dumpspecs NOT supported (ignored)
-dumpmachine supported
-dumpversion supported
-fdump-unnumbered NOT supported - specific to gcc's IR
-fdump-translation-unit[-n] NOT supported - specific to gcc's IR
-fdump-class-hierarchy[-n] NOT supported - specific to gcc's IR
-fdump-ipa-all NOT supported - specific to gcc's IR
-fdump-ipa-cgraph NOT supported - specific to gcc's IR
-fdump-tree-all NOT supported - specific to gcc's IR
-fdump-tree-original[-n] NOT supported - specific to gcc's IR
-fdump-tree-optimized[-n] NOT supported - specific to gcc's IR
-fdump-tree-inlined[-n] NOT supported - specific to gcc's IR
-fdump-tree-cfg NOT supported - specific to gcc's IR
-fdump-tree-vcg NOT supported - specific to gcc's IR
-fdump-tree-alias NOT supported - specific to gcc's IR
-fdump-tree-ch NOT supported - specific to gcc's IR
-fdump-tree-ssa[-n] NOT supported - specific to gcc's IR
-fdump-tree-pre[-n] NOT supported - specific to gcc's IR
-fdump-tree-ccp[-n] NOT supported - specific to gcc's IR
-fdump-tree-dce[-n] NOT supported - specific to gcc's IR
-fdump-tree-gimple[-raw] NOT supported - specific to gcc's IR
-fdump-tree-mudflap[-n] NOT supported - specific to gcc's IR
-fdump-tree-dom[-n] NOT supported - specific to gcc's IR
-fdump-tree-dse[-n] NOT supported - specific to gcc's IR
-fdump-tree-phiopt[-n] NOT supported - specific to gcc's IR
-fdump-tree-forwprop[-n] NOT supported - specific to gcc's IR
-fdump-tree-copyrename[-n] NOT supported - specific to gcc's IR
-fdump-tree-nrv NOT supported - specific to gcc's IR
-fdump-tree-vect NOT supported - specific to gcc's IR
-fdump-tree-sink NOT supported - specific to gcc's IR
-fdump-tree-sra[-n] NOT supported - specific to gcc's IR
-fdump-tree-salias NOT supported - specific to gcc's IR
-fdump-tree-fre[-n] NOT supported - specific to gcc's IR
-fdump-tree-vrp[-n] NOT supported - specific to gcc's IR
-ftree-vectorizer-verbose=n NOT supported - specific to gcc's IR
-fdump-tree-storeccp[-n] NOT supported - specific to gcc's IR
-feliminate-dwarf2-dups NOT supported - specific to gcc's IR
-feliminate-unused-debug-types NOT supported
-feliminate-unused-debug-symbols NOT supported
-fmem-report NOT supported
-fprofile-arcs supported
-frandom-seed=string supported
-fsched-verbose=n NOT supported
-ftest-coverage supported
-ftime-report NOT supported
-fvar-tracking NOT supported
-g supported
-glevel NOT supported
-gcoff NOT supported
-gdwarf-2 supported
-ggdb supported
-gstabs NOT supported (ignored)
-gstabs+ NOT supported (ignored)
-gvms NOT supported
-gxcoff NOT supported
-gxcoff+ NOT supported
-p supported
-pg supported
-print-file-name=library supported
-print-libgcc-file-name supported
-print-multi-directory NOT supported
-print-multi-lib supported
-print-prog-name=program supported
-print-search-dirs supported
-Q supported
-save-temps supported
-time NOT supported
Optimization Options
-falign-functions=n NOT supported
-falign-jumps=n NOT supported
-falign-labels=n NOT supported
-falign-loops=n NOT supported
-fbounds-check NOT supported
-fmudflap NOT supported
-fmudflapth NOT supported
-fmudflapir NOT supported
-fbranch-probabilities supported
-fprofile-values NOT supported
-fvpt NOT supported
-fbranch-target-load-optimize NOT supported
-fbranch-target-load-optimize2 NOT supported
-fbtr-bb-exclusive NOT supported
-fcaller-saves supported
-fcprop-registers NOT supported
-fcse-follow-jumps supported
-fcse-skip-blocks supported
-fcx-limited-range NOT supported
-fdata-sections supported
-fdelayed-branch supported
-fdelete-null-pointer-checks NOT supported
-fearly-inlining NOT supported
-fexpensive-optimizations supported
-ffast-math supported
-ffloat-store supported
-fforce-addr supported
-ffunction-sections supported
-fgcse supported
-fgcse-lm NOT supported
-fgcse-sm NOT supported
-fgcse-las NOT supported
-fgcse-after-reload NOT supported
-floop-optimize NOT supported
-fcrossjumping NOT supported
-fif-conversion NOT supported
-fif-conversion2 NOT supported
-finline-functions supported
-finline-functions-called-once NOT supported
-finline-limit=n supported
-fkeep-inline-functions supported
-fkeep-static-consts NOT supported
-fmerge-constants NOT supported
-fmerge-all-constants NOT supported
-fmodulo-sched NOT supported
-fno-branch-count-reg NOT supported
-fno-default-inline supported
-fno-defer-pop supported
-floop-optimize2 NOT supported
-fmove-loop-invariants NOT supported
-fno-function-cse supported
-fno-guess-branch-probability NOT supported
-fno-inline supported
-fno-math-errno supported
-fno-peephole supported
-fno-peephole2 NOT supported
-funsafe-math-optimizations supported
-funsafe-loop-optimizations NOT supported
-ffinite-math-only NOT supported
-fno-trapping-math NOT supported
-fno-zero-initialized-in-bss NOT supported
-fomit-frame-pointer supported
-foptimize-register-move NOT supported (ignored)
-foptimize-sibling-calls NOT supported (ignored)
-fprefetch-loop-arrays NOT supported
-fprofile-generate NOT supported
-fprofile-use NOT supported
-fregmove supported
-frename-registers NOT supported
-freorder-blocks NOT supported
-freorder-blocks-and-partition NOT supported
-freorder-functions NOT supported
-frerun-cse-after-loop supported
-frerun-loop-opt supported
-frounding-math supported
-fschedule-insns supported
-fschedule-insns2 supported
-fno-sched-interblock NOT supported
-fno-sched-spec NOT supported
-fsched-spec-load NOT supported
-fsched-spec-load-dangerous NOT supported
-fsched-stalled-insns=n NOT supported
-fsched-stalled-insns-dep=n NOT supported
-fsched2-use-superblocks NOT supported
-fsched2-use-traces NOT supported
-freschedule-modulo-scheduled-loops NOT supported
-fsignaling-nans NOT supported
-fsingle-precision-constant NOT supported
-fstack-protector NOT supported
-fstack-protector-all NOT supported
-fstrength-reduce supported
-fstrict-aliasing supported
-ftracer NOT supported
-fthread-jumps supported
-funroll-all-loops supported
-funroll-loops supported
-fpeel-loops NOT supported
-fsplit-ivs-in-unroller NOT supported
-funswitch-loops supported
-fvariable-expansion-in-unroller NOT supported
-ftree-pre NOT supported
-ftree-ccp NOT supported
-ftree-dce NOT supported
-ftree-loop-optimize NOT supported
-ftree-loop-linear NOT supported
-ftree-loop-im NOT supported
-ftree-loop-ivcanon NOT supported
-fivopts supported, but ignored by Open64
-ftree-dominator-opts NOT supported
-ftree-dse NOT supported
-ftree-copyrename NOT supported
-ftree-sink NOT supported
-ftree-ch NOT supported
-ftree-sra NOT supported
-ftree-ter NOT supported
-ftree-lrs NOT supported
-ftree-fre NOT supported
-ftree-vectorize supported, but ignored by Open64
-ftree-vect-loop-version NOT supported
-ftree-salias -fweb NOT supported
-ftree-copy-prop NOT supported
-ftree-store-ccp NOT supported
-ftree-store-copy-prop NOT supported
-fwhole-program NOT supported
--param name=value NOT supported
-O -O0 -O1 -O2 -O3 -Os supported
Preprocessor Options
-Aquestion=answer ??
-A-question[=answer] ??
-C -dD -dI -dM -dN supported
-Dmacro[=defn] -E -H supported
-idirafter dir NOT supported
-include file supported
-imacros file supported
-iprefix file supported
-iwithprefix dir supported
-iwithprefixbefore dir supported
-isystem dir NOT supported
-isysroot dir NOT supported
-M -MM -MF -MG -MQ -MT supported
-nostdinc supported
-P supported
-fworking-directory NOT supported
-remap NOT supported
-trigraphs supported
-undef supported
-Umacro supported
-Wp,option supported
-Xpreprocessor option NOT supported
Assembler Option
-Wa,option supported
-Xassembler option NOT supported
Linker Options
object-file-name supported
-llibrary supported
-nostartfiles supported
-nodefaultlibs supported
-nostdlib supported
-pie supported
-rdynamic supported
-s supported
-static supported
-static-libgcc supported
-shared supported
-shared-libgcc supported
-symbolic supported
-Wl,option supported
-Xlinker option supported
-u symbol supported
Directory Options
-Bprefix NOT supported
-Idir supported
-iquotedir supported
-Ldir supported
-specs=file supported
-I- supported
--sysroot=dir NOT suppported
Target Options
-V version ignored
-b machine ignored
Machine Dependent Options
i386 and x86-64 Options
-mtune=cpu-type supported
-march=cpu-type supported
-mfpmath=unit NOT supported
-masm=dialect NOT supported
-mno-fancy-math-387 NOT supported
-mno-fp-ret-in-387 NOT supported
-msoft-float NOT supported (ignored)
-msvr3-shlib NOT supported
-mno-wide-multiply NOT supported
-mrtd NOT supported
-malign-double NOT supported
-mpreferred-stack-boundary=num NOT supported
-mmmx supported
-msse supported
-msse2 supported
-msse3 supported
-m3dnow supported
-mthreads NOT supported
-mno-align-stringops NOT supported
-minline-all-stringops NOT supported
-mpush-args NOT supported
-maccumulate-outgoing-args NOT supported
-m128bit-long-double NOT supported
-m96bit-long-double NOT supported
-mregparm=num NOT supported
-msseregparm NOT supported
-momit-leaf-frame-pointer NOT supported
-mno-red-zone NOT supported
-mno-tls-direct-seg-refs NOT supported
-mcmodel=code-model supported
-m32 supported
-m64 supported
-mlarge-data-threshold=num supported
IA-64 Options
-mbig-endian NOT supported
-mlittle-endian NOT supported
-mgnu-as NOT supported
-mgnu-ld NOT supported
-mno-pic NOT supported
-mvolatile-asm-stop supported
-mregister-names NOT supported
-mno-sdata supported
-mconstant-gp supported
-mauto-pic NOT supported
-minline-float-divide-min-latency NOT supported
-minline-float-divide-max-throughput NOT supported
-minline-int-divide-min-latency NOT supported
-minline-int-divide-max-throughput NOT supported
-minline-sqrt-min-latency NOT supported
-minline-sqrt-max-throughput NOT supported
-mno-dwarf2-asm NOT supported
-mearly-stop-bits NOT supported
-mfixed-range=register-range supported
-mtls-size=tls-size NOT supported
-mtune=cpu-type supported
-mt NOT supported
-pthread supported
-milp32 NOT supported
-mlp64 NOT supported