Development Reference Guides

Contents

Portability and GCC*-Compatible Warning Options

This section discusses portability options and GCC*-compatible warning options.
This content is specific to C++; it does not apply to
DPC++
.

Portability Options

A challenge in porting applications from one compiler to another is making sure that there is support for the compiler options you use to build your application. The
Intel® oneAPI
DPC++/C++
Compiler
supports many of the options that are valid on other compilers you may be using.
Listed below are compiler options that are supported by the
Intel® oneAPI
DPC++/C++
Compiler
and the following:
  • the Microsoft* C++ Compiler
  • the GCC* Compiler
Options that are unique to either compiler are not listed in this topic.
Options Equivalent to Microsoft C++ Options (Windows*)
The following table lists compiler options that are supported by both the
Intel® oneAPI
DPC++/C++
Compiler
and the Microsoft C++ Compiler.
For complete details about these options, such as the possible values for <n> when it appears below, see the Microsoft Visual Studio C++ documentation.
/C
/c
/D<name>{=|#}<text>
/E
/EH{a|s|c|r}
/EP
/F<n>
/Fa[file]
/FA[{c|s|cs}]
/FC
/Fe<file>
/FI<file>
/Fm[<file>]
/Fo<file>
/fp:<model>
/Fp<file>
/FR[<file>]
/GA
/Gd
/GF
/Gr
/GR[-]
/GS[-]
/Gs[<n>]
/Gy[-]
/Gz
/GZ
/H<n>
/help
/I<dir>
/J
/LD
/LDd
/link
/MD
/MDd
/MT
/MTd
/nologo
/O1
/O2
/Od
/Oi[-]
/Os
/Ot
/Ox
/Oy[-]
/P
/QIfist[-]
/RTC{1|c|s|u}
/showIncludes
/TC
/Tc<source file>
/TP
/Tp<source file>
/u
/U<name>
/vd<n>
/vmg
/vmv
/W<n>
/Wall
/WX
/X
/Y-
/Yc[<file>]
/Yu[<file>]
/Z7
/Zc:<arg1>[, <arg2>]
/Zg
/Zi
/ZI
/Zl
/Zp[<n>]
/Zs
Options Equivalent to GCC* Options (Linux*)
The following table lists compiler options that are supported by both the
Intel® oneAPI
DPC++/C++
Compiler
and the GCC Compiler.
-ansi
-B
-C
-c
-D
-dD
-dM
-E
-fargument-noalias
-fargument-noalias-global
-fcf-protection
-fdata-sections
-ffunction-sections
-f[no-]builtin
-f[no-]common
-f[no-]freestanding
-f[no-]gnu-keywords
-f[no-]inline
-f[no-]inline-functions
-f[no-]math-errno
-f[no-]operator-names
-f[no-]stack-protector
-f[no-]unsigned-bitfields
-fpack-struct
-fpermissive
-fPIC
-fpic
-freg-struct-return
-fshort-enums
-fsyntax-only
-funroll-loops
-funsigned-char
-fverbose-asm
-H
-help
-I
-idirafter
-imacros
-iprefix
-iwithprefix
-iwithprefixbefore
-l
-L
-M
-malign-double
-march
-mcpu
-MD
-MF
-MG
-MM
-MMD
-m[no-]ieee-fp
-MP
-MQ
-msse
-msse2
-msse3
-MT
-nodefaultlibs
-nostartfiles
-nostdinc
-nostdinc++
-nostdlib
-o
-O
-O0
-O1
-O2
-O3
-Os
-p
-P
-S
-shared
-static
-std
-trigraphs
-U
-u
-v
-V
-Wall
-Werror
-W[no-]cast-qual
-W[no-]comment
-W[no-]comments
-W[no-]deprecated
-W[no-]fatal-errors
-W[no-]format-security
-W[no-]main
-W[no-]missing-declarations
-W[no-]missing-prototypes
-W[no-]overflow
-W[no-]overloaded-virtual
-W[no-]pointer-arith
-W[no-]return-type
-W[no-]strict-prototypes
-W[no-]trigraphs
-W[no-]uninitialized
-W[no-]unknown-pragmas
-W[no-]unused-function
-W[no-]unused-variable
-X
-x assembler-with-cpp
-x c
-x c++
-Xlinker

GCC*-Compatible Warning Options

The
Intel® oneAPI
DPC++/C++
Compiler
recognizes many GCC*-compatible warning options, but we do not document many of them.
In general, if a GCC-compatible option is accepted by the compiler, but not documented, the implementation of the option is the same as described in the GCC documentation.
To find the GCC documentation about GCC warning options, you can do any of the following:
  • Check the GCC website (http://gcc.gnu.org/onlinedocs/gcc/)
  • On Linux*, enter the command
    man gcc
  • Search the web for "gcc warning options"

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.