OptionCompat

From Open64 Wiki

Jump to: navigation, search

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.


Contents

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
Personal tools