ICC(1) Intel(R) C++ Compiler Options ICC(1) NAME icc - invokes the Intel(R) C++ Compiler SYNOPSIS icc [options] file1 [file2 ...] where: ? options represents zero or more compiler options. ? fileN represents a C/C++ source (.C .c .cc .cp .cpp .cxx .c++ .i), assembly (.s), object (.o), static library (.a), or other linkable file. Note: The icpc command uses the same compiler options as the icc com- mand. Invoking the compiler using icpc compiles .c, and .i files as C++. Invoking the compiler using icc compiles .c and .i files as C. Using icpc always links in C++ libraries. Using icc only links in C++ libraries if C++ source is provided on the command line. DESCRIPTION The Intel(R) C++ Compiler is designed to process C and C++ programs on Intel architecture based systems. You can preprocess, compile, assem- ble, and link these programs. This document explains how information and instructions apply differ- ently to IA-32 architectures, Intel(R) 64 architectures, and IA-64 architectures. If a description does not explicitly state a specific architecture, assume the description is applicable to all. See the Intel C++ Compiler Documentation for more detailed information than what is presented here. Most language features are available on all supported systems; how- ever, some language features are only available on certain processors or a certain operating system. Such language features are labeled within parenthesis as follows: i32 Means the feature is available on IA-32 architecture. i64em Means the feature is available on Intel(R) 64 architecture. i64 Means the feature is available on IA-64 architecture. L*X Means the feature is available on Linux* systems. M*X Means the feature is available on all Intel(R)-based systems running Mac OS* X. In a few circumstances, the underlying architecture has bearing, so in those cases: M*X32 -- Means the feature is available on systems based on IA-32 architecture that are running Mac OS* X. M*X64 -- Means the feature is available on systems using Intel(R) 64 architecture that are running Mac OS* X. If a labeled feature is only available on certain processors or oper- ating systems, you will see the word (only) within the label along with the appropriate abbreviation(s). If a labeled feature is not available on a certain processor or operating system, you will see the words (not on) within the label along with the appropriate abbrevia- tion. If no label appears, the feature is available on all supported architectures and operating systems. GNU gcc* Interoperability C++ compilers are interoperable if they can link object files and libraries generated by one compiler with object files and libraries generated by the second compiler, and the resulting executable runs successfully. Some GNU gcc* versions are not interoperable, some ver- sions are interoperable. By default, the Intel compiler will generate code that is interoperable with the version of gcc it finds on your system. The Intel(R) C++ Compiler options that affect GNU gcc* interoperabil- ity include: ? -cxxlib ? -gcc-name ? -gcc-version ? -gxx-name ? -fabi-version ? -no-gcc (see gcc Predefined Macros for more information) The Intel(R) C++ Compiler is interoperable with GNU gcc* compiler ver- sions greater than or equal to 3.2. See the Intel(R) C++ Compiler Doc- umentation for more information. OPTION SUMMARIES Option Alphabetic Summary This section includes an alphabetic listing of available Intel(R) C++ Compiler options. After each listing is a reference to the Func- tional area where a detailed description of the option appears. See Deprecated and Removed Options for additional information. -A- see Preprocessor -A[(val)] see Preprocessor -[no-]alias-args see Advanced Optimization -[no-]alias-const see Advanced Optimization -[no]align see Language -ansi see Language -[no-]ansi-alias see Advanced Optimization -auto-ilp32 see Data -ax see Code Generation, Vectorization Options -B see Compatibility -Bdynamic see Linking/Linker -Bstatic see Linking/Linker -c see Output, Debug, PCH -C see Preprocessor -[no-]c99 see Language -[no-]check-uninit see Preprocessor -[no-]clomp-sharable-info see OpenMP* and Parallel Processing, Parallelization with OpenMP* -[no-]clomp-sharable-propagation see OpenMP* and Parallel Processing, Parallelization with OpenMP* -cluster-openmp see OpenMP* and Parallel Processing, Parallelization with OpenMP* -cluster-openmp-profile see OpenMP* and Parallel Processing, Parallelization with OpenMP* -[no-]complex-limited-range see Advanced Optimization -create-pch see Output, Debug, PCH, Precompiled Headers -[no-]cxxlib[=] see Linking/Linker -cxxlib-nostd see Linking/Linker -D[=] see Preprocessor -dD see Preprocessor -debug see Output, Debug, PCH -diag see Output, Debug, PCH -diag-dump see Output, Debug, PCH -diag-enable port-win see Compiler Diagnostics -diag-enable sv-include see Output, Debug, PCH -diag- {} see Output, Debug, PCH -diag-file-append see Output, Debug, PCH -[no-]diag-id-numbers see Output, Debug, PCH -diag-length= see Output, Debug, PCH -diag-stop-on-error see Output, Debug, PCH -dM see Preprocessor -dN see Preprocessor -dryrun see Miscellaneous -dumpmachine see Miscellaneous -dumpversion see Miscellaneous -dynamiclib see Linking/Linker -dynamic-linker see Linking/Linker -E see Preprocessor -[no-]early-template-check see Language -EP see Preprocessor -export see Language -export-dir see Language -F see Linking/Linker -fabi-version= see Compatibility -f[no-]alias see Optimization -f[no-]align-functions[=n] see Data -fargument-[no]alias see Advanced Optimization -fargument-noalias-global see Advanced Optimization -fast see Optimization -f[no-]builtin[-] see Optimization -fcode-asm see Output, Debug, PCH -f[no-]common see Data -fdata-sections see Optimization -f[no-]exceptions see Optimization -f[no-]fnalias see Optimization -ffunction-sections see Optimization -f[no-]inline see Optimization -f[no-]inline-functions see Optimization -f[no-]jump-tables see Compatibility -finline-limit= see Optimization -f[no-]instrument-functions see Output, Debug, PCH -f[no-]keep-static-consts see Optimization -f[no-]math-errno see Data -fminshared see Data -fmudflap see Data -fno-gnu-keywords see Language -fno-implicit-inline-templates see Language -fno-implicit-templates see Language -f[no-]non-lvalue-assign see Language -f[no-]omit-frame-pointer see Optimization -fno-operator-names see Language -fno-rtti see Language -[no-]fnsplit see Profile Guided Optimization (PGO) -fp see Optimization -fpack-struct see Data -fpascal-strings see Language -fpermissive see Language -f[no-]pic, -f[no-]PIC see Data -fp-model see Floating Point -[no-]fp-port see Floating Point -fp-speculation= see Floating Point -fp-stack-check see Floating Point -fpstkchk see Floating Point -fr32 see Miscellaneous -freg-struct-return see Data -fshort-enums see Language -fsource-asm see Output, Debug, PCH -f[no-]stack-security-check see Data -fsyntax-only see Language -ftemplate-depth- see Language -ftls-model= see Advanced Optimization -ftrapuv see Output, Debug, PCH -[no-]ftz see Floating Point -[no-]func-groups see Profile Guided Optimization (PGO) -funroll-all-loops see Advanced Optimization -funroll-loops[] see Advanced Optimization -f[no-]unsigned-bitfields see Language -funsigned-char see Language -f[no-]verbose-asm see Output, Debug, PCH -fvisibility= see Data -fvisibility-= see Data -g see Output, Debug, PCH -g0 see Output, Debug, PCH -gcc-name= see Compatibility -[no-]gcc[-sys] see Compatibility -gcc-version= see Compatibility -gdwarf-2 see Output, Debug, PCH -gxx-name= see Compatibility -[no-]global-hoist see Data -H see Preprocessor -help [category] see Help -I see Preprocessor -[no-]icc see Preprocessor -idirafter see Preprocessor -i-dynamic see Linking/Linker -imacros see Preprocessor -inline-debug-info see Output, Debug, PCH -[no-]inline-calloc see Inlining -[no-]inline-factor[=] see Inlining -inline-forceinline see Inlining -inline-level= see Optimization -[no-]inline-max-per-compile[=] see Inlining -[no-]inline-max-per-routine[=] see Inlining -[no-]inline-max-size[=] see Inlining -[no-]inline-max-total-size[=] see Inlining -[no-]inline-min-size[=] see Inlining -ip see Interprocedural Optimizations (IPO) -[no-]IPF-fltacc see Floating Point -IPF-flt-eval-method0 see Floating Point -[no-]IPF-fma see Floating Point -[no-]IPF-fp-relaxed see Floating Point -IPF-fp-speculation see Floating Point -ip-no-inlining see Interprocedural Optimizations (IPO) -ip-no-pinlining see Interprocedural Optimizations (IPO) -ipo[n] see Interprocedural Optimizations (IPO) -ipo-c see Interprocedural Optimizations (IPO) -ipo-jobs see Interprocedural Optimizations (IPO) -ipo-S see Interprocedural Optimizations (IPO) -ipo-separate see Interprocedural Optimizations (IPO) -iprefix see Preprocessor -iquote see Preprocessor -i-static see Linking/Linker -isystem see Preprocessor -ivdep-parallel see OpenMP* and Parallel Processing -iwithprefix see Preprocessor -iwithprefixbefore see Preprocessor -Kc++ see Language -kernel see Miscellaneous -l see Linking/Linker -L see Linking/Linker -long-double see Data -m32 see Code Generation -m64 see Code Generation -M see Preprocessor -malign-double see Data -malign-mac68k see Data -malign-natural see Data -malign-power see Data -map-opts see Output, Debug, PCH -march= see Code Generation -mcmodel= see Linking/Linker -mcpu= see Code Generation -MD see Preprocessor -mdynamic-no-pic see Linking/Linker -MF see Preprocessor -mfixed-range=f12-f15,f32-f127 see Miscellaneous -MG see Preprocessor -m[no-]ieee-fp see Floating Point -MM see Preprocessor -MMD see Preprocessor -mp see Floating Point -MP see Preprocessor -mp1 see Floating Point -MQ see Preprocessor -mregparm= see Data -m[no-]relax see Linking/Linker -m[no-]serialize-volatile see OpenMP* and Parallel Processing -msse[] see Code Generation -MT see Preprocessor -mtune= see Code Generation -[no-]multibyte-chars see Compatibility -nobss-init see Data -no-cpprt see Linking/Linker -nodefaultlibs see Linking/Linker -nolib-inline see Advanced Optimization -nostartfiles see Linking/Linker -nostdinc++ see Preprocessor -nostdlib see Linking/Linker -O[] see Optimization -o see Output, Debug, PCH -Ob see Inlining -openmp see OpenMP* and Parallel Processing, Parallelization with OpenMP* -openmp-lib see OpenMP* and Parallel Processing, Parallelization with OpenMP* -openmp-profile see OpenMP* and Parallel Processing, Parallelization with OpenMP* -openmp-report{0|1|2} see OpenMP* and Parallel Processing, Parallelization with OpenMP* -openmp-stubs see OpenMP* and Parallel Processing, Parallelization with OpenMP* -[no-]opt-class-analysis see Optimization -opt-malloc-options= see Advanced Optimization -opt-mem-bandwidth see Optimization -opt-multi-version-aggressive see Advanced Optimization -opt-ra-region-strategy[=keyword] see Advanced Optimization -opt-report[] see Optimization Reports -opt-report-file see Optimization Reports -opt-report-help see Optimization Reports -opt-report-level see Optimization Reports -opt-report-phase see Optimization Reports -opt-report-routine see Optimization Reports -opt-streaming-stores see Optimization -Os see Optimization -p see Profile Guided Optimization (PGO) -P see Preprocessor -parallel see OpenMP* and Parallel Processing, Auto Parallelization Options -par-report{0|1|2|3} see OpenMP* and Parallel Processing, Auto Parallelization Options -[no-]par-runtime-control see OpenMP* and Parallel Processing -par-schedule-[=] see OpenMP* and Parallel Processing -par-threshold[n] see OpenMP* and Parallel Processing, Auto Parallelization Options -pc see Floating Point -pch see Output, Debug, PCH, Precompiled Headers -pch-create see Output, Debug, PCH, Precompiled Headers -pch-dir see Output, Debug, PCH, Precompiled Headers -pch-use see Output, Debug, PCH, Precompiled Headers -pragma-optimization-level= see Preprocessor -[no-]prec-div see Floating Point -[no-]prec-sqrt see Floating Point -[no-]prefetch see Profile Guided Optimization (PGO) -print-multi-lib see Output, Debug, PCH -prof-dir see Profile Guided Optimization (PGO) -prof-file see Profile Guided Optimization (PGO) -prof-gen[x] see Profile Guided Optimization (PGO) -prof-gen-sampling see Profile Guided Optimization (PGO) -prof-use see Profile Guided Optimization (PGO) -pthread see Linking/Linker -Qinstall see Component Control -Qlocation,, see Component Control -Qoption,, see Component Control -qp see Profile Guided Optimization (PGO) -rcd see Floating Point -reserve-kernel-regs see Miscellaneous -[no-]restrict see Language -S see Output, Debug, PCH -[no-]save-temps see Miscellaneous -[no-]scalar-rep see Advanced Optimization -shared see Linking/Linker -shared-intel see Linking/Linker -shared-libgcc see Linking/Linker -[no-]sox see Miscellaneous -ssp see Profile Guided Optimization (PGO) -static see Linking/Linker -static-intel see Linking/Linker -static-libgcc see Linking/Linker -std= see Language -strict-ansi see Language -T see Linking/Linker -tcheck see Optimization Reports -tcollect see Compiler Diagnostics -tprofile see Optimization Reports -[no]traceback see Compiler Diagnostics -trigraphs see Language -u see Linking/Linker -U see Preprocessor -unroll[] see Advanced Optimization -[no-]unroll-aggressive see Advanced Optimization -[no-]use-asm see Output, Debug, PCH -use-msasm see Output, Debug, PCH -use-pch { | } see Output, Debug, PCH, Precompiled Headers -V see Miscellaneous -v see Miscellaneous -[no-]vec-guard-write see Advanced Optimization -vec-report[] see Optimization Reports --version see Miscellaneous -w see Compiler Diagnostics -w see Compiler Diagnostics -Wa,[,,...] see Linking/Linker -W[no-]abi see Compiler Diagnostics -Wall see Compiler Diagnostics -Wbrief see Compiler Diagnostics -Wcheck see Compiler Diagnostics -W[no-]comment[s] see Compiler Diagnostics -Wcontext-limit= see Compiler Diagnostics -wd[,,...] see Compiler Diagnostics -W[no-]deprecated see Compiler Diagnostics -we[,,...] see Compiler Diagnostics -Weffc++ see Compiler Diagnostics -Werror see Compiler Diagnostics -Wextra-tokens see Compiler Diagnostics -Winline see Compiler Diagnostics -Wl,[,,...] see Linking/Linker -W[no-]main see Compiler Diagnostics -W[no-]missing-declarations see Compiler Diagnostics -W[no-]missing-prototypes see Compiler Diagnostics -wn see Compiler Diagnostics -Wnon-virtual-dtor see Compiler Diagnostics -wo[,,...] see Compiler Diagnostics -Wp,[,,...] see Linking/Linker -Wp64 see Compiler Diagnostics -W[no-]pointer-arith see Compiler Diagnostics -Wpragma-once see Compiler Diagnostics -wr[,,...] see Compiler Diagnostics -Wreorder see Compiler Diagnostics -W[no-]return-type see Compiler Diagnostics -W[no-]shadow see Compiler Diagnostics -W[no-]strict-prototypes see Compiler Diagnostics -W[no-]trigraphs see Compiler Diagnostics -W[no-]uninitialized see Compiler Diagnostics -W[no-]unknown-pragmas see Compiler Diagnostics -W[no-]unused-function see Compiler Diagnostics -W[no-]unused-variable see Compiler Diagnostics -ww[,,...] see Compiler Diagnostics -Wwrite-strings see Compiler Diagnostics -X see Preprocessor -x see Language -x see Code Generation, Vectorization Options -Xlinker