Icc.exe

This is the IBM C compiler executable file.

File Management Options

 * /Fa[+|-]
 * Produce an assembler file. Default: /Fa-


 * /Fa
 * Specify the name/path of the assembler file(s).


 * /Fc[+|-]
 * Perform syntax and semantic check only. Default: /Fc-


 * /Fe
 * Specify the name of the executable file.


 * /Fi[+|-]
 * Generate precompiled header files. Default: /Fi-


 * /Fi
 * Specify the name/path of the precompiled header file(s).


 * /Fl[+|-]
 * Generate basic listing file. Default: /Fl-


 * /Fl
 * Specify the name/path of the listing file(s).


 * /Fm[+|-]
 * Produce a linker map file. Default: /Fm-


 * /Fm
 * Specify the name of the linker map file.


 * /Fn[+|-]
 * Produce an assembler listing that includes machine code. Default: /Fn-


 * /Fn
 * Specify the name/path of the assembler listing that includes machine code. Default: source file name with extension of .COD.


 * /Fo[+|-]
 * Generate the object file. Default /Fo+


 * /Fo
 * Specify the name/path of the object file.


 * /Ft[+|-]
 * Generate template file. Default: /Ft+ (C++ mode only)


 * /Ft
 * Specify the directory in which to place template files. (C++ mode only)


 * /I [; ]
 * Specify where to search for include files.


 * /Xc[+|-]
 * Ignore all previous paths specified by the /I option. Default: /Xc-


 * /Xi[+|-]
 * Do not use the INCLUDE environment variable when searching for include files. Default: /Xi-

Listing Output Options

 * /L[+|-]
 * Generate basic listing file. Default: /L-


 * /La[+|-]
 * Include a layout of all referenced struct or union variables in the listing file. Default: /La-


 * /Lb[+|-]
 * Include a layout of all struct or union variables in the listing file. Default: /Lb-


 * /Le[+|-]
 * Show all expanded macros in the listing file. Default: /Le-


 * /Lf[+|-]
 * Full listing; turn on all listing options. Default: /Lf-


 * /Li[+|-]
 * Expand only user #include files in the listing file. Default: /Li-


 * /Lj[+|-]
 * Expand both user and system #include files in the listing file. Default: /Lj-


 * /Lp
 * Set page length on listing. Default: /Lp66


 * /Ls[+|-]
 * Include source statements in the listing file. Default: /Ls-


 * /Lt"string"
 * Set title string on listing.


 * /Lu"string"
 * Set subtitle string on listing.


 * /Lx[+|-]
 * Produce a cross-reference table of referenced variables in the listing file. Default: /Lx-


 * /Ly[+|-]
 * Produce a cross-reference table of all variables in the listing file. Default: /Ly-

Debugging Options

 * /N
 * Set maximum number of errors before aborting compilation.
 * Default: Abort only on unrecoverable error.


 * /q[no]dbgunref
 * Generate symbol table information for unreferenced variables. By default such information is not generated thus reducing the size of the executable compiled with the /Ti option. Default: /qnodbgunref


 * /Ti[+|-]
 * Generate debugging information. Default: /Ti-


 * /Tm[+|-]
 * Enable debug memory management support. Default: /Tm-


 * /Tn[+|-]
 * Generate line-number-only debug information. Default: /Tn-


 * /Tx[+|-]
 * Generate full exception register dump. Default: /Tx-


 * /W<0|1|2|3>
 * /W0: Output only severe and unrecoverable error messages generated by the compiler.
 * /W1: Output error, severe, and unrecoverable error messages generated by the compiler.
 * /W2: Output warning, error, severe and unrecoverable error messages generated by the compiler.
 * /W3: Output all messages generated by the compiler. Default: /W3


 * /Wall[+|-]
 * Generate all checkout messages. Default: /Wall-pro+ret+cnd


 * /Wcls[+|-]
 * Display information about class use.


 * /Wcmp[+|-]
 * Warn about possible redundancies in unsigned comparisons.


 * /Wcnd[+|-]
 * Warn about possible redundancies or problems in conditional expressions.


 * /Wcns[+|-]
 * Warn about operations involving constants.


 * /Wcnv[+|-]
 * Generate messages about conversions.


 * /Wcpy[+|-]
 * Inform if copy constructor cannot be generated.


 * /Wdcl[+|-]
 * Check for declaration consistency.


 * /Weff[+|-]
 * Warn about statements with no effect.


 * /Wenu[+|-]
 * Check for problems with enum consistency.


 * /Wext[+|-]
 * Warn about unused external definitions.


 * /Wgen[+|-]
 * Generate general checkout messages.


 * /Wgnr[+|-]
 * Inform if compiler generates a temporary variable.


 * /Wgot[+|-]
 * Warn about usage of goto statements.


 * /Wini[+|-]
 * Check for possible initialization problems.


 * /Winl[+|-]
 * Inform about inlined functions (C++ mode only).


 * /Wlan[+|-]
 * Display information about the effects of language level.


 * /Wobs[+|-]
 * Warn about obsolete features.


 * /Word[+|-]
 * Warn about possibly ambiguous order of evaluation.


 * /Wpar[+|-]
 * Warn about unused parameters.


 * /Wpor[+|-]
 * Warn about non-portable language constructs.


 * /Wppc[+|-]
 * Warn about possible problems using the preprocessor.


 * /Wppt[+|-]
 * Display a trace of preprocessor actions.


 * /Wpro[+|-]
 * Warn about missing function prototypes.


 * /Wrea[+|-]
 * Warn about unreachable statements.


 * /Wret[+|-]
 * Check for return statement consistency.


 * /Wtrd[+|-]
 * Warn about possible truncation or loss of data.


 * /Wtru[+|-]
 * Warn about variable names trunctated by the compiler.


 * /Wund[+|-]
 * Warn about casting of pointers to/from an undefined class.


 * /Wuni[+|-]
 * Warn about uninitialized variables.


 * /Wuse[+|-]
 * Check for unused auto/static variables.


 * /Wvft[+|-]
 * Generate messages about virtual function table generation.

Source Code Options

 * /J[+|-]
 * /J+: Make default char type unsigned. Default: /J+
 * /J-: Make default char type signed.


 * /qbitfields=
 * Specifies sign of bitfields.
 * Default: /qbitfields=unsigned.


 * /q[no]digraph
 * Allow special digraph and keyword operators. Default: /qnodigraph.


 * /q[no]exppragma
 * Allow macros to be expanded inside of pragma directives. Default: /qexppramga.


 * /q[no]longlong
 * Allow long long integers. Default: /qlonglong


 * /S
 * Select language level to be accepted by the compiler. Default /Se
 * /Sa: Allow language constructs that conform to ANSI/ISO standards.
 * /Sc: Allow language constructs that are compatible with older versions of the C++ language. (C++ mode only)
 * /Se: Allow all IBM C and C++ language extensions.
 * /S2: Allow language constructs that conform to SAA Level 2 standards. (C mode only)


 * /Sd[+|-]
 * /Sd+: Set the default file extension to .c.
 * /Sd-: Set the default file extension to .obj.
 * Default: /Sd-


 * /Sg<[m][,n]|->
 * Set margins for source files; only text between columns m and n will be processed. Default: /Sg- (C only)


 * /Sh[+|-]
 * Allow use of ddnames on calls to fopen. Default: /Sh-


 * /Si[+|-]
 * Use precompiled header files when available. Default: /Si-


 * /Si
 * Specify the name/path of the precompiled header file(s).


 * /Sm[+|-]
 * Ignore migration keywords. Default: /Sm-


 * /Sn[+|-]
 * Allow DBCS characters in source file. Default: /Sn-


 * /Sp<[1]|2|4|8|16>
 * Pack aggregate members on specified alignment.
 * Default: /Sp4


 * /Sq<[m][,n]|->
 * Specify the portion of the input record that contains sequence numbers. Default: /Sq- (no sequence number) (C mode only)


 * /Sr[+|-]
 * /Sr+: Use old-style rules for type conversions to preserve the sign.
 * /Sr-: Use new-style rules for type conversions to preserve accuracy. Default: /Sr-  (C mode only)


 * /Ss[+|-]
 * Allow the double slash (//) format to be used for comments. Default: /Ss- (C mode only)


 * /Su[+|-|1|2|4]
 * Pack enum variables into specified integral size.
 * Default: /Su-


 * /Sv[+|-]
 * Enable support for using memory files. Default: /Sv-


 * /Tc
 * Compile the file as a C file.


 * /Td
 * Compile any file with extension .cpp or .cxx as C++ file, and any other unrecognized file as C file. Default: /Td


 * /Tdc
 * Compile all following source files as C files.


 * /Tdp
 * Compile all following source files as C++ files and invoke link step to resolve all template functions.


 * /Tp
 * Compile the file as a C++ file.

Preprocessor Options

 * /D
 * Define preprocessor macros to the value '1'.


 * /D =[ ]
 * Define preprocessor macros to the value given.


 * /D ::[ ]
 * Define preprocessor macros to the value given.


 * /P[+|-]
 * /P+: Run only the preprocessor against the source file.
 * /P-: Run the entire compiler against the source file. Default: /P-


 * /Pc[+|-]
 * /Pc+: Run only the preprocessor against the source file and preserve comments during preprocessing.
 * /Pc-: Run only the preprocessor against the source file and do not preserve comments during preprocessing. Default: /Pc-


 * /Pd[+|-]
 * /Pd+: Send the preprocessor output to stdout.
 * /Pd-: Send the preprocessor output to a file. Default: /Pd-


 * /Pe[+|-]
 * /Pe+: Suppress #line directives from the preprocessor output.
 * /Pe-: Produce #line directives in the preprocessor output. Default: /Pe-


 * /U
 * Undefine user macro.


 * /U*
 * Undefine all user-defined macros.

Code Generation Options

 * /G<3|4|5>
 * /G3: Generate code optimized for use on an 80386 processor.
 * /G4: Generate code optimized for use on an 80486 processor.
 * /G5: Generate code optimized for use on a Pentium processor.
 * These options can be also specified using /qtune=386, /qtune=486 and /qtune=pentium. See /qtune option for other suboptions and default.


 * /Gd[+|-]
 * /Gd+: Use the version of the runtime library that is dynamically linked.
 * /Gd-: Use the version of the runtime library that is statically linked. Default: /Gd-


 * /Ge[+|-]
 * /Ge+: Use the version of the runtime library that assumes an EXE is being built.
 * /Ge-: Use the version of the runtime library that assumes a DLL is being built. Default: /Ge+


 * /Gf[+|-]
 * Generate fast floating-point code. Default: /Gf+


 * /Gi[+|-]
 * Generate fast integer code. Default: /Gi+


 * /Gk[+|-]
 * Link with version 2 C++ libraries. Default: /Gk-


 * /Gl[+|-]
 * Enable smart linking. Default: /Gl-


 * /Gm[+|-]
 * Link with multithread runtime libraries. Default:  /Gm-


 * /Gn[+|-]
 * /Gn+: Do not generate default libraries in object.
 * /Gn-: Generate default libraries in object. Default: /Gn-


 * /Gp[+|-]
 * /Gp+: Generate code that allows the __parmdwords function to work.
 * /Gp-: Do not support use of the __parmdwords function.
 * Default: /Gp-


 * /Gr[+|-]
 * Allow object code to run at ring 0. Default: /Gr-


 * /Gs[+|-]
 * /Gs+: Suppress stack probes in function prologs.
 * Default: /Gs-


 * /Gt[+|-]
 * Store variables so that they do not cross 64K boundaries. Default: /Gt-


 * /Gv[+|-]
 * Reload DS and ES from DGROUP in the prologs of external functions. Default: /Gv- (C mode only)


 * /Gx[+|-]
 * Disable the generation of C++ exception handling code.
 * Default: /Gx- (C++ mode only)


 * /Gy[+|-]
 * Decorate external data names with underscore.
 * Default: /Gy- (C mode only)


 * /M
 * /Mp: Set the default calling convention to _Optlink. Default: /Mp
 * /Ms: Set the default calling convention to _System.
 * /Mc: Set the default calling convention to __cdecl.
 * /Mt: Set the default linkage to __stdcall.


 * /ND
 * Specify the name for the default data, uninitialized data, and constant segments. Default: use DATA32, BSS32 and CONST32_RO.


 * /NT
 * Specify the name for the default text segment. Default: CODE32.


 * /NX
 * Specify segment name for exception handling code and data. (C++ mode only). Default: use EH_CODE and EH_DATA.


 * /O[+|-]
 * Optimize generated code. Default: /O-


 * /O2
 * Equivalent to /O+.


 * /O3
 * Equivalent to /O+.


 * /Oc[+|-]
 * Optimize for code size rather than speed. Default: /Oc-.


 * /Oi[+|-]
 * Turn on function inlining. Default: /Oi- if /O-, /Oi+ if /O+


 * /Oi
 * Set the threshold for auto-inlining to intermediate code instructions. Default: /Oi0


 * /Om[+|-]: Limit amount of memory used by the optimizer and code generator. Default: /Om-


 * /Op[+|-]
 * /Op-: Disable all stack pointer optimizations and forces the stack to be chained.
 * /Op+: Enables all stack pointer optimizations and allow stack to be unchained.
 * Default: /Op+ /Oq+ if /O-

/Op+ /Oq- if /O+ 486 processor.
 * pentium    Produce object code optimized for the Pentium processor.
 * pentium2   Produce object code optimized for the Pentium2 processor.
 * blend      Produce object code optimized for all the X86 processors.
 * Default is /qtune=blend.


 * /qarch=
 * Specifies the architecture on which the executable program will be run.
 * The available options are:
 * x86       runs on any 32-bit x86 architecture
 * 486       runs on any architecture supporting 486 instruction set.
 * pentium   runs on any architecture supporting Pentium instruction set.
 * pentium2  runs on any architecture supporting Pentium instruction set.
 * Default: /qarch=486


 * /R
 * /Re: Produce code to run with a complete runtime environment. Default: /Re
 * /Rn: Produce code to run with no runtime environment.
 * Allow system programming and subsystem development.

Other Options

 * /? : Display online help (this information).


 * /B"options" : Pass options to the linker. Default: /B""


 * /C[+|-]
 * /C+: Perform compile only, no link.
 * /C-: Perform compile and link. Default: /C-


 * /H
 * Set the maximum length of external names. Default: /H255


 * /Q[+|-]
 * /Q+: Suppress the logo.
 * /Q-: Display the logo. Default: /Q-


 * /Tl[+]
 * Enable preloading of the compiler.


 * /Tl-
 * Disable preloading of the compiler and unload it if it is already loaded.


 * /Tl
 * Keep compiler preloaded for 'n' minutes. Default: /Tl10


 * /V"string"
 * Imbed text string for version into the object file.


 * /qignprag=
 * Ignore the aliasing pragmas disjoint and/or isolated_call.


 * /q[no]libansi
 * Tell the compiler that all functions with the name of an ANSI C library are in fact the system functions.
 * Default: /qnolibansi


 * /qmakedep
 * Generate information to be included in a "make" description file; output goes to .u file.


 * /q[no]ro
 * Put string literals in read only area. Default is /qro.


 * /qrtti=
 * Generate run-time type information. The available options are:
 * all
 * Generate information for the typeid and dynamic_cast operators.
 * typeinfo
 * Generate information for the typeid operator.
 * dynamiccast
 * Generate information for the dynamic_cast operators.


 * /qnortti
 * Do not generate run-time type information.
 * Default: /qnortti
 * (C++ mode only)

DLLs Loaded

 * NLS.DLL
 * DOSCALL1.DLL
 * CPPCPI36.DLL
 * CPPRMI36.DLL