Intel® C++ Compiler 10.1 for Windows*
Release Notes

Contents

Overview

This product provides tools for Windows* software developers to create C and C++ applications that run at top speeds on IA-32, Intel® 64 and IA-64 architecture processors. Optimizations include support for Intel® Streaming SIMD Extensions (SSE, SSE2, SSE3 and SSE4) for accelerated integer and floating-point performance. Inter-procedural optimization (IPO) and profile-guided optimization (PGO) can provide greater application performance. Intel® compilers support multi-threaded code development through autoparallelism and OpenMP* support.

This product consists of the Intel® C++ Compiler, the Intel® Debugger, integration into Microsoft* visual development environments, and code coverage and test prioritization tools.

Architecture Terminology

Intel® compilers support three platforms: general combinations of processor architecture and operating system type. This section explains the terms that Intel uses to describe the platforms in its documentation, installation procedures and support site.

IA-32
IA-32 Architecture refers to systems based on 32-bit processors generally compatible with the Intel Pentium® II processor, (for example, Intel® Pentium® 4 processor or Intel® Xeon® processor), or processors from other manufacturers supporting the same instruction set, running a 32-bit operating system.
Intel® 64
Intel® 64 Architecture refers to systems based on IA-32 architecture processors which have 64-bit architectural extensions, for example, Intel® Core™2 processor family), running a 64-bit operating system such as Microsoft Windows XP* Professional x64 Edition or Microsoft Windows Vista* x64. If the system is running a 32-bit version of the Windows operating system, then IA-32 architecture applies instead. Systems based on AMD* processors running a 64-bit version of Windows are also supported by Intel compilers for Intel® 64 architecture applications.
IA-64
Refers to systems based on the Intel® Itanium® processor running a 64-bit operating system.

Product Contents

This product is available in two editions.

The Standard Edition contains the following components:

The Professional Edition includes all of the Standard Edition and adds:

These additional components of the Professional Edition are installed separately and have their own Release Notes.

Note: The default installation master directory referred to as <install-dir> in this document, is %ProgramFiles%\Intel The C++ 10.1 compiler is installed into the Compiler\C++\10.1.xxx subfolder.

To receive technical support and product updates for the tools provided in this product you need to register. For how to register, please see Technical Support section below.

What's New in Versions 10.0 and 10.1

The following section discusses new features and changes in the Intel C++ Compiler since version 10.0. Please see the separate release notes for the Intel Debugger.

Change History

Version numbers stated here may not reflect the actual released update version. The changes listed are included in updates with the stated version or higher.

10.1.020
10.1.014
Corrections to reported problems only
10.1.013
10.1.011
First release of 10.1

New and Changed Command Line Options

The following is a listing of command line options that are new or have changed since the initial version 9.1 release. Please refer to the compiler documentation for more information on these options.

/arch:ia32
Tells the compiler to generate generic IA-32 architecture code, overriding any different default that the compiler may set. (IA-32 architecture only, default: off)
/fast
Enables a set of options for improved performance. The options have changed in this release. Please see note below.
/help [category]
Displays all available compiler options or a category of compiler options (Default: off)
/Qalias-const[-]
Determines whether the input/output buffer rule is applied to functions with pointer-type arguments. (Default: off)
/QaxS
Specifies that the compiler is to generate SSE4 Vectorizing Compiler and Media Accelerators instructions for future Intel processors that support the instructions, as well as generic IA-32 architecture code. (IA-32 and Intel® 64 architecture only, default: off)
/Qdiag-<type>:<diag-list>
Controls the display of diagnostic information (Default: off)
/Qdiag-dump
Tells the compiler to print all enabled diagnostic messages and stop compilation (Default: off)
/Qdiag-enable:sv[1|2|3]
Enables the Static Verifier. (Default: off)
/Qdiag-enable:sv-include
Specifies that include files should also be considered by the Static Verifier
/Qdiag-file[:file]
Causes the results of diagnostic analysis to be output to a file. (Default: off)
/Qdiag-file-append[:file]
Causes the results of diagnostic analysis to be appended to a file. (Default: off)
/Qdiag-id-numbers[-]
Tells the compiler to display diagnostic messages by using their ID number values (Default: on)
/Qeffc++
Enables warnings based on certain C++ programming guidelines. (Default: off)
/Qfnalign[:n]
Tells the compiler to align functions on an optimal byte boundary. (IA-32 and Intel® 64 architecture only, default: off)
/Qfp-speculation=<mode>
Tells the compiler the mode in which to speculate on floating-point operations (Default: fast)
/Qinline-calloc[-]
Tells the compiler to inline calls to calloc() as calls to malloc() and memset(). (Default: off)
/Qinline-dllimport[-]
Determines whether dllimport functions are inlined. (Default: on)
/Qinstrument-functions[-]
Determines whether function entry and exit points are instrumented (Default: off
/Qipo-jobs:n
Specifies the number of commands (jobs) to be executed simultaneously during the link phase of Interprocedural Optimization (IPO).
/Qkeep-static-consts[-]
Tells the compiler to preserve allocation of variables that are not referenced in the source (Default: off)
/Qopenmp-lib:type
Lets you specify an OpenMP* run-time library to use for linking. . (Default: legacy)
/Qopt-class-analysis[-]
Tells the compiler to use C++ class hierarchy information to analyze and resolve C++ virtual function calls at compile time (Default off)
/Qopt-jump-tables:default|never|large|<max-entries>
Controls the use of "jump tables" by the compiler. See below for more information. (Default: default)
/Qopt-loadpair[-]
Enables or disables generation of loadpair code (IA-64 architecture only, default on)
/Qopt-mod-versioning[-]
Enables or disables generation of alternate versions of code paths for modulo operations in cases where the modulo is a power of 2. (IA-64 architecture only, default: off)
/Qopt-multi-version-aggressive[-]
Tells the compiler to use aggressive multi-versioning to check for pointer aliasing and scalar replacement. (IA-32 and Intel® 64 architecture only, default: off)
/Qopt-prefetch-initial-values[-]
Enables or disables prefetch optimization prior to a loop for values which may be used within the first few iterations of the loop. (IA-64 architecture only, default: on)
/Qopt-prefetch-issue-excl-hint[-]
Enables or disables use of the "exclusive" hint when generating prefetch instructions. (IA-64 architecture only, default: off)
/Qopt-prefetch-next-iteration[-]
Enables or disables prefetch generation for memory accesses in the next iteration; typically used in a pointer-chasing loop. (IA-64 architecture only, default: on)
/Qopt-ra-region-strategy[:keyword]
Selects the method that the register allocator uses to partition each routine into regions. (IA-32 and Intel® 64 architecture only, default: default)
/Qpar-adjust-stack:n
Tells the compiler to generate code to adjust the stack size for a fiber-based main thread. (IA-32 and Intel® 64 architecture only, default: 0)
/Qpar-runtime-control[-]
Generates code to perform run-time checks for loops that have symbolic loop bounds. (Default: off)
/Qpar-schedule-<keyword>[[:]n]
Specifies a scheduling algorithm for DO loop iterations)
/Qprefetch[-]
Enables or disables the prefetch insertion optimization. Use on IA-32 architecture requires specifying /QxT. (IA-32 and IA-64 architecture only, default: off)
/Qsave-temps[-]
Tells the compiler to save intermediate files created during compilation (Default: on)
/Qtcheck[:<mode>]
Indicates the method of analysis to be performed for OpenMP threaded applications (Default: off)
/Qtcollect
Inserts instrumentation probes calling the Intel® Trace Collector API (Default: off)
/Qunroll-aggressive[-]
Tells the compiler to use aggressive, complete unrolling for loops with small constant trip counts. (Default: off)
/Qvec-guard-write[-]
Tells the compiler to perform a conditional check in a vectorized loop. (IA-32 and Intel® 64 architecture only, default: off)
/QxO
Specifies that the compiler is to generate SSE3, SSE2 and SSE instructions and to optimize for the Intel® Pentium® 4 processor and Intel® Xeon® processor with SSE3. Generated code should operate on processors not made by Intel that support SSE3, SSE2 and SSE instruction sets, such as some AMD* processors. This value does not enable some optimizations enabled in the S, T, and P processor values. (IA-32 and Intel® 64 architecture only, default: off)
/QxS
Specifies that the compiler is to generate SSE4 Vectorizing Compiler and Media Accelerators instructions for future Intel processors that support the instructions. The compiler can also generate SSSE3, SSE3, SSE2, and SSE instructions and it can optimize for future Intel processors. (IA-32 and Intel® 64 architecture only, default: off)

Deprecated and Removed Command Line Options

For information on command line options that are either deprecated (still functional but to be removed in a future version) or removed (no longer supported), please refer to the section Compiler Options > Deprecated and Removed Compiler Options in the on-disk documentation.

Alternate Command Line Options

Many command line options have an older spelling where underscores (“_”) instead of hyphens (“-“) connect the words in the option name. The older spelling is still a valid alternate option name.

/Qopt-jump-tables:default|never|large|<max-entries>

This option allows user control for the size of jump tables generated by the compiler. Jump tables are used for switch constructs, which are implemented either as jump tables or a series of if-then-else constructs. The method used typically has an impact on performance of the generated code, and on the size of the data area. Using jump tables will favor speed over size.

The available values are:

default
Let the compiler decide. A jump table, a series of if-then-else constructs, or a combination is generated. The method used depends on factors such as number of cases in the construct and density of the cases. This is the default.
never
Never generate jump tables. Always use if-then-else constructs
large
Generate jump tables up to 65536 entries
<max-entries>
Generate jump tables up to <max-entries> in size

Meaning of /fast Changed

The /fast option is a shorter way of specifying a set of options that generally improve run-time performance. As documented, the set of options may change over time. In version 10.x, /fast sets /QxT, whereas in earlier versions it set /QxP. If this change is not appropriate for you, you must specify the individual options you want instead of using /fast. Please see the Compiler Options section of the on-disk documentation for further information.

/QxW Enabled by Default on Intel® 64 Systems

On Intel® 64 architecture systems, /QxW is enabled by default; this has the effect of enabling vectorization and you may see vectorization report messages displayed where you did not when using previous releases. To disable the vectorization report messages, use /Qdiag-disable:vec. You may still specify alternate options such as /QxP or /QaxT.

Support for Microsoft* Visual Studio .NET* 2002 No Longer Provided

Command line and visual development environment integration for Microsoft Visual Studio .NET 2002 is no longer provided. The Visual Studio versions supported are 2003 and 2005.

Multiple Compiler Versions Can Be installed

You can have multiple versions of the Intel C++ Compiler installed, and as of version 10.1, two or more update versions of 10.1 can coexist. When you install an update to version 10.1, previous versions of 10.1 are not uninstalled automatically. Users of Microsoft Visual Studio 2003 or 2005 must select the new version from within Microsoft Visual Studio (Tools > Options > Intel(R) C++ > Compilers ).. If you do not wish to have old versions installed, you can uninstall them before (recommended) or after installing the newer version. Note that the install path will be different for each update.

Support for Microsoft* OpenMP* Libraries

As of version 10.1 you can specify that OpenMP libraries compatible Microsoft Visual C++ be used by specifying /Qopenmp-lib:compat. This may be desirable if your application contains some source modules built with Microsoft Visual C++ and your application uses OpenMP. The default is /Qopenmp-lib:legacy which uses the Intel-supplied OpenMP libraries.

Applications using the compat libraries must be built with version 10.0 or later of the Intel C++ and/or Fortran compilers with /Qopenmp-lib:compat specified.

In a future release, the default will change to /Qopenmp-lib:compat, and in a release after that, the legacy libraries will be removed.

Behavior Change for new Expression with Parenthesized Type

In a new expression, a parenthesized type followed immediately by an array index is not valid C++. For example:

int main()
{
  char *p1 = new (char *)[20]; // array index is not allowed after ")"
  return 0;
}

In versions earlier than 10.0, the Intel C++ compiler would accept this code and either interpret it as if the array index was part of the type being created:

new ((char*)[20])

or not:

(new (char *))[20]

depending upon the reference compiler and compatibility version target. As of version 10.0, the compiler always gives an error for this incorrect usage.

Custom Build Rules in Microsoft Visual Studio 2005*

The Intel® C++ integration into Microsoft Visual Studio 2005* includes support for the Visual C++ Custom Build Rule functionality with some limitations. Custom Build Rules allow you to add custom tool invocations to your build process. See the Visual C++ documentation for a detailed explanation of Custom Build Rules.

You must create your custom build rules before converting your Visual C++ project to the Intel project system. If you need to modify your custom build rules after converting your project to the Intel project system, you must convert your project to the Visual C++ project system, make your custom build rule changes, and then convert the project back to the Intel project system.

The Macro lists that are available when you change the string properties defined for a Custom Build Rule don’t contain Intel-specific macros (such as $(icInstallDir); $(icIDEInstallDir); $(icProjectExt); $(icProjectFileName)). However, you can use the Intel-specific macros in Custom Build Rule property values and they will be expanded correctly.

The Intel® C++ integration into Visual Studio 2005 does not currently support the Visual C++ Tool Build Order functionality which is available from the Visual C++ Tool Build Order dialog box. That is, you cannot change the order in which the build steps are run.

KMP_AFFINITY Environment Variable for OpenMP* Applications

The KMP_AFFINITY environment variable can be used in an OpenMP* application to specify how execution threads should be bound to processors on the system. This setting's effect is to bind each thread, in order of creation, in a round-robin fashion to a processor core in the system for the duration of the program. The value of KMP_AFFINITY should be of the form:

compact,<level>

where <level> is a non-negative integer. For example:

compact,1

The argument <level> specifies the gap between successive thread's bound cores in the machine topology map, which is represented as a binary tree. A level of zero indicates that threads will be bound to successive threading contexts for processors which have Intel® Hyper-Threading Technology enabled, or successive processors if not. The levels increase by one level from threading contexts, to cores, to packages (processors) in sequence. This setting is supported for processors supplied by Intel Corporation only on systems where the required operating system support for thread binding is present.

New Manual CPU Dispatch cpuid Codes

The cpu_dispatch and cpu_specific keywords now accept the cpuid code core_2_duo_ssse3 for Intel® Core™2 processors and Intel® Xeon® processors with Supplemental Streaming SIMD Extensions 3 (SSSE3), and the code core_2_duo_sse4_1 for Intel® Core™2 processors and Intel® Xeon® processors with Streaming SIMD Extensions 4.1 (SSE4.1)

Improved Parallelizer and Vectorizer

This version features a complete redesign of the optimizer that integrates parallelization (all architectures) and vectorization (IA-32 and Intel® 64 architecture) at O2 and O3 optimization levels with memory and loop optimizations.

Performance can be substantially improved by:

New and Enhanced Optimization Reports for Advanced Loop Transformations

Loop Transformation (HLO) Optimization reports tell you why the compiler was unable to apply loop interchange transformations on a set of loops and suggests loop interchange if the reported bottlenecks can be removed by source changes.   These reports have been enhanced to provide more detailed information and to be easier to understand.

Visual Studio Integration Improvements

In version 10.1, the following change has been made to the compiler's integration into Microsoft Visual Studio 2003 and 2005.

Static Verifier

Static Verifier is a new compiler feature which performs static analysis of a program across multiple source files. It can detect different kinds of defects and doubtful or inconsistent uses of language features in user code and report them according to their severity level. Static Verifier understands C/C++ and Fortran code and can also perform analysis of OpenMP directives.
 
In this release, when Static Verifier is enabled the linker is not invoked so an executable or static/dynamic link library is not produced, object files that were produced as a result of invocation of Static Verifier are not valid and should not be used for generating of real executable or static/dynamic link libraries. The current usage model is that Static Verifier is added as an alternate build option to produce a diagnostic report.

Static Verifier cannot be used in conjunction with cross-file interprocedural optimization (/Qipo).

For more information, please refer to the section on Building Applications > Error Handling > Handling Compile Time Errors > using Static Verification Diagnostic Options in the on-disk documentation.

Using Static Verifier in the Microsoft Visual Studio Environment

When Static Verifier support is enabled within the IDE, the customary final build target (e.g. an executable image) is not created. As such, we recommend that a separate "Static Verification" configuration be created, by cloning the existing Debug (development) configuration, for use when static verification is desired.

Intel® Debugger (IDB) To Be Removed In Future Version

In a future major release of the Intel C++ Compiler for Windows, the Intel® Debugger (IDB) will no longer be provided. Debugging inside Microsoft Visual Studio is unaffected. Please use the debugging capability in Microsoft Visual Studio instead of IDB

Installation

Please see the separate Installation Guide for installation and configuration instructions.

System Requirements

Architecture Terminology

Intel® compilers support three platforms: general combinations of processor architecture and operating system type. This section explains the terms that Intel uses to describe the platforms in its documentation, installation procedures and support site.

IA-32
IA-32 Architecture refers to systems based on 32-bit processors generally compatible with the Intel Pentium® II processor, (for example, Intel® Pentium® 4 processor or Intel® Xeon® processor), or processors from other manufacturers supporting the same instruction set, running a 32-bit operating system.
Intel® 64
Intel® 64 Architecture refers to systems based on IA-32 architecture processors which have 64-bit architectural extensions, for example, Intel® Core™2 processor family), running a 64-bit operating system such as Microsoft Windows XP* Professional x64 Edition or Microsoft Windows Vista* x64. If the system is running a 32-bit version of the Windows operating system, then IA-32 architecture applies instead. Systems based on AMD* processors running a 64-bit version of Windows are also supported by Intel compilers for Intel® 64 architecture applications.
IA-64
Refers to systems based on the Intel® Itanium® processor running a 64-bit operating system.

Native and Cross-Platform Development

The term "native" refers to building an application that will run on the same platform that it was built on; for example, building on IA-32 architecture to run on IA-32 architecture . The term "cross-platform" or "cross-compilation" refers to building an application on a platform type different from the one on which it will be run, for example, building on an IA-32 architecture system to run on Intel® 64 architecture systems . Not all combinations of cross-platform development are supported and some combinations may require installation of optional tools and libraries.

The following table describes the supported combinations of compilation host (system on which you build the application) and application target (system on which the application runs).

Host and Target Combinations
Host \ Target IA-32 Intel® 64 IA-64
IA-32
Yes
Yes
Yes
Intel® 64
Yes
Yes
Yes
IA-64
No
No
Yes

Note: The above table refers to use of the command-line build environment. Some combinations may not be available with certain Microsoft visual development environments.

Minimum Hardware Requirements to Develop Applications

Software Requirements to Develop IA-32 Architecture Applications

Software Requirements to Develop Applications for Systems with Intel® 64 Architecture Processors or AMD* 64-bit Processors

Software Requirements to Develop IA-64 Architecture Applications

Requirements to Run Applications

Notes:

It is the responsibility of application developers to ensure that the machine instructions contained in the application are supported by the operating system and processor on which the application is to run.

Installing on Microsoft Windows Vista*

For Windows Vista, Microsoft supports only Visual Studio 2005/2008* and not earlier Visual Studio versions. Before installing the Intel compiler on Windows Vista, Visual Studio 2005 users should install Visual Studio 2005 Service Pack 1 (VS 2005 SP1) as well as the Visual Studio 2005 Service Pack 1 Update for Windows Vista which is linked to from the VS 2005 SP1 page. After installing these updates, you must ensure that Visual Studio runs with Administrator permissions, otherwise you will be unable to use the Intel compiler. Please be sure to uninstall the Intel compiler integration before installing any Visual Studio update. For more information, please see Microsoft's Visual Studio on Windows Vista page and related documents.

Support for Microsoft Visual C++ 6.0* and Microsoft Visual Studio 98* to be Removed

In the next major release of Intel C++ Compiler for Windows, support for Microsoft Visual C++ 6.0 and Microsoft Visual Studio 98 will be removed. Please migrate to Microsoft Visual Studio 2005 or 2008 in order to assure compatibility with future Intel compiler releases.

Known Issues

Static, Single-Threaded Libraries Not Available in Visual Studio 2005

In Microsoft Visual Studio 2005, the static, single-threaded Visual C++ libraries libc.lib and libcd.lib have been removed. If you specified that the Intel C++ Compiler should use Visual Studio 2005 for command-line building, and attempt to build an application with the static, single-threaded library, which was the default in earlier versions, you will get a warning from the compiler as follows:

icl: warning: option '/Qvc8' or higher used with '/ML[d]' is not supported

Note that /Qvc8 was added to icl.cfg at install time if you specified command line integration with Visual Studio 2005. This tells the icl compiler driver that you are using Visual Studio 2005.

If you attempt to link such an application you will get an error from the linker that libc.lib or libcd.lib is not found. For example:

LINK : fatal error LNK1104: cannot open file 'LIBC.lib'

To resolve this, specify the threaded and/or DLL forms of the run-time libraries. For example:

If you do not specify otherwise, the icl default for use with Visual Studio 2005 is /MT.

This issue may also affect projects which are built from the Microsoft Visual Studio IDE. In this case, change the project property C++..Code Generation..Runtime Library to the desired new value.

Using Visual Studio on Windows Vista*

When running on Windows Vista*, Microsoft supports the use of Microsoft Visual Studio 2005 and not earlier versions of Visual Studio. Visual Studio must be run with elevated privileges in order to operate properly on Windows Vista. Microsoft plans to issue a service update for Visual Studio 2005 that will make this requirement clear. Intel recommends that you use the "Start as Administrator" option when beginning your Visual Studio session. For more information regarding Visual Studio on Windows Vista, please see this Microsoft article.

Property Sheets in Visual Studio 2005

Intel C++ projects support the Property Sheets and User-Defined Macros functionality in Visual Studio 2005. We recommend that you modify your C++ project to specify that it inherits property sheets before converting to using the Intel C++ Project System, as otherwise the settings in the property sheets may not be recognized until you restart Visual Studio. For more information on the Property Sheets and User-Defined Macros functionality in Visual Studio 2005, please refer to Microsoft documentation.

Building Visual Studio Projects from the Command Line

If you have a Visual Studio-created Intel C++ project or solution and wish to initiate a build from the command line or a batch file, use devenv.exe, the Visual Studio launcher. Type devenv /? for available command line options.  The Microsoft tools MSBuild and Team Build cannot currently be used to build Intel C++ projects.

Compilation Error for _Complex When Using /Qc99

When using the /Qc99 option with the Microsoft Visual Studio 2005 headers you may see the following compilation error:

C:/Program Files/Microsoft Visual Studio 8/VC/include/math.h(135): error: _Complex can only be used with float, double, or long double types
_CRTIMP double __cdecl _cabs(__in struct _complex _Complex);
                                                  ^ 

The problem is that _Complex is a keyword in C99 but it is being used as an identifier in the cabs prototype in the math.h Microsoft header. A workaround would be to add the following conditionals around the inclusion of this header:

#define _Complex
#include <math.h>
#undef _Complex

Limited Debug Information with Automatic CPU Dispatching (/Qax*)

Compilation using /Qax[code] results in two copies of generated code for each function. One for generic code and one for CPU specific code. The symbol for each function then refers to an Auto CPU Dispatch routine that decides at run-time which one of the generated code sections to execute.  Debugger breakpoints that are set on these functions by name cause the application to stop in the dispatch routine. This may cause unexpected behavior when debugging. This issue may be addressed in a future version of the Intel Debugger and Compilers.

Cannot Debug or View Traceback for IA-32 Architecture Programs Built with /Oy-

Compilation using /Oy- specifies that the IA-32 architecture EBP register be used as a general purpose register, eliminating its use as a frame pointer. Debuggers and traceback handlers may not be able to properly unwind through a stack that contains a call to a function that is compiled in this manner.

Link Error for IA-64 or Intel® 64 Architecture Systems When Using Platform SDK

When building for IA-64 or Intel® 64 architecture systems using the Microsoft Platform SDK, applications may fail to link with errors such as the following:

LIBC.lib(a_str.obj) : error LNK2001: unresolved external symbol __security_cookie
[...]
LIBC.lib(a_str.obj) : error LNK2001: unresolved external symbol __security_check_cookie
[...]

This problem is due to an inconsistency within some versions of the Microsoft Platform SDK. Intel is working with Microsoft to resolve this issue. To work around the problem, link your application in one of the following ways:

The choice of bufferoverflowu.lib is appropriate for the typical user-mode application using the Win32 API. If your application is for user-mode subsystems and services which cannot use the Win32 API, use bufferoverflow.lib instead. Kernel-mode applications and drivers must link to bufferoverflowk.lib.

Unaligned Access Error using memset/memcpy on IA-64 Architecture Systems

On some versions of Microsoft Windows Server 2003 running on IA-64 architecture systems, calls to the C library routines memset and memcpy may result in an unaligned access exception. This will occur if an argument is a pointer to a type with a base alignment greater than 1 but the actual argument is unaligned. To avoid this problem, make sure that such arguments are properly aligned.

Technical Support

If you did not register your compiler during installation, please do so at the Intel® Software Development Products Registration Center. Registration entitles you to free technical support, product updates and upgrades for the duration of the support term.

For information about how to find Technical Support, Product Updates, Users Forums, FAQs, tips and tricks, and other support information, please visit: http://www.intel.com/software/products/support/cwin.

Note: If your distributor provides technical support for this product, please contact them for support rather than Intel.

Submitting Issues

Steps to submit an issue:

  1. Go to http://www.intel.com/software/products/support and click on the link for Intel® Premier Support.
  2. Log in to the site. Note that your username and password are case-sensitive.
  3. Click on the "Go" button next to the "Product" drop-down list.
  4. Click on the "Submit Issue" link in the left navigation bar.
  5. Choose "Development Environment (tools,SDV,EAP)" from the "Product Type" drop-down list.
  6. If this is a software or license-related issue, choose "Intel(R) C++ Compiler, Windows*" from the "Product Name" drop-down list.
  7. Enter your question and complete the fields in the windows that follow to successfully submit the issue.

Note: Please notify your support representative prior to submitting source code where access needs to be restricted to certain countries to determine if this request can be accommodated.

Guidelines for problem report or product suggestion:

  1. Describe your difficulty or suggestion.
    For problem reports please be as specific as possible, so that we may reproduce the problem. For compiler problem reports, please include the compiler options and a small test case if possible.
  2. Describe your system configuration information.
    You can obtain the Package ID information as follows: Select Start..All Programs..Intel(R) Software Development Tools..Intel(R) C++ Compiler 10.1..Build Environment for applications running on IA-32 (substitute "Intel(R) 64" or " IA-64" as applicable). Type the command:
        >> icl  
    and copy the "Package ID" (e.g. w_cc_x_10.1.xxx) from the output into the corresponding Intel® Premier Support field. Please include any other specific information that may be relevant to helping us to reproduce and address your concern.
  3. If you were not able to install the compiler or cannot get the Package ID, enter the filename you downloaded as the package ID.

Compiler Error Source Reducer (CESR)

Compiler Error Source Reducer (CESR) is a set of utilities which are useful individually or collectively in gathering, reducing, pinpointing, protecting, documenting, and bundling test cases comprised of C/C++ or Fortran source code. It can be helpful if you have a large application for which you want to extract a small test case for submission to Intel® Premier Support. CESR can be downloaded from Intel® Software Development Products Registration Center Product Downloads. Select your product and in the version dropdown, select CESR. CESR is unsupported and should be considered experimental, but we welcome your feedback on it through Intel® Premier Support. CESR requires prior installation of Python* 2.2 or newer.

Documentation

You can view the Intel compiler and related HTML-based documentation with a web browser that supports the Compiled HTML Help (.CHM) format, which provides full navigation, index look-up, search, and hyperlink capabilities. If your browser does not support opening .CHM files, you can open them directly by double-clicking on the file names in Windows Explorer in the Docs directory.

The documentation index is provided for easy access of all documents. The Document index is available from the Intel® C++ Compiler program folder and is located at: <install-dir>Compiler\C++\10.1.xxx\Docs\Doc_Index.htm. For this release, the online help has been reorganized as described in the Doc_Index.htm file and now includes a Getting Started guide as well as a separate Installation Guide. The Intel® Debugger Manual is available from the Intel® Debugger program folder.

Additional Information

Related Products and Services

Information on Intel software development products is available at http://www.intel.com/software/products.

Some of the related products include:

Disclaimer and Legal Information

INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL(R) PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR.

Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information.

The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.

Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.

Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or by visiting Intel's Web Site.

Celeron, Centrino, Intel, Intel logo, Intel386, Intel486, Intel Core, Itanium, MMX, Pentium, VTune, and Xeon are trademarks of Intel Corporation in the U.S. and other countries.

* Other names and brands may be claimed as the property of others.

Copyright (C) 2008, Intel Corporation. All Rights Reserved.