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:

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: