This document provides a summary of new and changed product features and includes notes about features and problems not described in the product documentation.
This Release Note will only cover Intel® C++ Compiler Classic.
Key Features in oneAPI C++ Compiler Classic 2021.6 (oneAPI 2022.2 Release )
- Bug Fixes.
- A new compiler option "Wcheck-unicode-security" is supported, which determines whether the compiler performs source code checking for Unicode vulnerabilities.
Syntax on Linux: -W[no-]check-unicode-security
Syntax on macOS (Classic C/C++ only): -W[no-]check-unicode-security
Syntax on Windows: /W[no-]check-unicode-security
Key Features in oneAPI C++ Compiler Classic 2021.5 (oneAPI 2022.1 Release )
- Bug Fixes
Support for Xcode* 13.1 (on macOS 12.0.1) and Visual Studio* 2019 16.11.6.
Limited support for Microsoft Visual Studio* 2022 preview release 17.0 RC3 (Preview 7). Full support for VisualStudio is expected in the next scheduled release (oneAPI 2022.2).
New C++20 features supported under the /Qstd=c++20 (Windows*) or -std=c++20 (Linux*/OS X*) options. See documentation below.
Key Features in oneAPI C++ Compiler Classic 2021.4
- Bug Fixes
- Support for Visual Studio* 2019 16.10.3 and Visual Studio* 2017 15.9.34
- Support for Xcode* 12.5
Key Features in oneAPI C++ Compiler Classic 2021.3
- Bug fixes
Key Features in oneAPI C++ Compiler Classic 2021.2.1
- Bug fixes
- Support for Microsoft Visual Studio* 2019 16.9.3.This release fixes calls to math builtin function which caused linker issue with VS 2019 v16.9.3. This allows the Intel C++ Compiler Classic to work with VS 2019 16.9.3. C++ Users with VS 2019 update 16.9.3 should install this patch to fix the link issue.
Important Note -
- This 2021.2.1 is a PATCH release. If you use Intel Fortran please do NOT install this patch Release as it will break any existing Intel® Fortran Compiler Classic and Intel® Fortran Compiler (Beta) 2021.x that is installed on your system
- The 2021.2.1 Release is for Windows* only, C++ only, and a fix only for the Intel® C++ Compiler Classic only. DPC++ and ICX users do not need this release since it contains no new fixes or features from 2021.2.0.
- The 2021.2.1 Release is only provided by an online download HERE . This Release is not provided on the Intel® Registration Center and not in the NuGET repository.
Key Features in oneAPI C++ Compiler Classic 2021.2
- Support for Alderlake and Sapphire Rapids features through compiler options -
- Corrections to reported problems
New Features in oneAPI C++ Compiler Classic 2021.1.2 Patch release
- This 2021.1.2 is a PATCH release. It is not a full compiler and relies on updating an existing one. It is intended to install over an existing oneAPI HPC Toolkit 2021.1.1 installation.
- This patch release fixes the issue Compiler Option --version Incorrect Version String. There are no other fixes in this compiler compared to the initial release 2021.1.1 compiler.
- When installing a patch release, users to install the latest patches for all the compilers that they use(Intel Fortran Compiler/Intel DPC++/C++ Compiler/Intel C++ Compiler classic).
- Intel® CPU Runtime for OpenCL™ Applications is also required to be re-installed. You can download the Intel® CPU Runtime for OpenCL™ Applications for Windows from here. For Linux, the package is distributed through APT and YUM, please follow the instructions on Installing Intel® oneAPI Toolkits via Linux* Package Managers to setup the repository and install the package "intel-oneapi-runtime-opencl".
Key Features in oneAPI C++ Compiler Classic 2021.1
The oneAPI Environment Modules scripts include two new scripts named `icc` and `icc32`. These scripts are installed as part of the compiler package. They configure the environment for use with the Intel C++ Compiler classic (aka ICC). These new modulefile scripts are compatible with version 3.x and version 4.x of the Tcl Environment Modules implementation, as well as the Lmod implementation of modulefiles.
- New C++20 features supported under the /Qstd=c++20 (Windows*) or -std=c++20 (Linux*/OS X*) options.
- New features from OpenMP 5.0*
- IF clause on SIMD Directive
- NONTEMPORAL clause on SIMD directive
- Compiler option --version Incorrect version string
- Corrections to reported problems
Installation instructions are shipped with all Intel® Software Development Products as part of the documentation. Installation guide for the latest Intel® oneAPI HPC toolkit version is also available online. Please check Intel® oneAPI page for installation guides.
Please refer to
- Get Started with the Intel® oneAPI Toolkits for Linux*
- Get Started with the Intel® oneAPI Toolkits for Windows*
- Get Started with the Intel® oneAPI Toolkits for MacOS*
for details on how to use the Intel® C++ Compiler Classic.
Product documentation is available online
Support for macOS 10 is deprecated. oneAPI 2022.1 is the last supported release.
Visual Studio* 2017 depreacted in oneAPI 2022.1
Intel Compiler Integrations for Microsoft Visual Studio* 2017 are deprecated and will be removed in a future release. Support for Integrations for Visual Studio is limited to two supported major versions of Visual Studio: the current publicly available and supported major version and the previous major version from Microsoft.
Unsupported or Discontinued Features
Support for Intel® Xeon Phi™ Processor x200 “Knights Landing (KNL)” , Intel® Xeon Phi™ Processors “Knights Mill (KNM)” & Yocto embedded targets is removed.
Intel® Xeon Phi™ customers should continue to use compilers, libraries, and tools from the Intel® Parallel Studio XE 2020 and older PSXE releases, or compilers from the Intel® oneAPI Base Toolkit and Intel® oneAPI HPC Toolkit versions 2021.2 or 2021.1.
The Loop Profiler feature will be removed in future compilers.
The following compiler options related to Loop Profiler are deprecated and will be removed in future compilers
Intel® Cilk™ Plus support is removed
ICC -qnextgen compiler option is removed
Use of qnextgen (Linux), /qnextgen (Windows) compiler option is removed. Use "icx", instead of "icc -qnextgen" or "icc /qnextgen".
The Intel® C++ Compiler (icx) is available as "Intel® oneAPI DPC++/C++ Compiler" in Intel® oneAPI Base Toolkit release.
OpenMP offload is available as "Intel® oneAPI DPC++/C++ Compiler Pro" in Intel® oneAPI HPC Toolkit.
Please refer to Intel® oneAPI DPC++/C++ Compiler Release Notes for new Feature on Intel® C++ Compiler (icx) and OpenMP offload.
- The OpenMP default loop schedule modifier for work sharing loop constructs was changed to nonmonotonic when the schedule kind is dynamic or guided to conform to the OpenMP 5.0 standard. User code that assumes monotonic behavior may not work correctly with this change. Users can add the monotonic schedule modifier in the schedule clause to keep the previous code behavior.
Using -Qlong-double on windows has many potential for errors, since MSVC has never supported long double as an 80 fit FP type. The Microsoft math libraries, as well as formatted input and output, have no support for 80 bit long double.
In addition, the Microsoft C++ standard libraries (libcpmt.lib, libcpmtd.lib) define several symbols that conflict with standard double extended math function names, for example: frexpl, expl, logl, sinl, cosl, atanl (and others). These symbols have double precision (FP64) implementations in the Microsoft libraries, and double extended precision (FP80) implementations in the Intel math library (libmmt.lib). Because of this, correct behavior of FP80 math functions is not guaranteed when libcpmt.lib is linked first. Conversely, some Microsoft C++ standard library functions may malfunction when the Intel libmmt.lib is linked in first. Due to the fact that symbols such as frexpl are defined in the same module as standard C++ functions, link errors are known to occur for simple C++ programs that are compiled with the -Qlong-double option; these can be avoided by linking in libcpmt.lib before libmmt.lib.
- macOS Big Sur 11 Not Found
Errors will be missing libraries such as -lSystem not found.If you encounter issues with ICC not finding the Xcode and system libraries, do the following:Once you have installed Xcode, run:
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
Then accept the license (only if you previously haven't) by:sudo xcodebuild -license
- Error "no rule to process file" within Xcode* 10 and 11macOS*’s XCode 10 and 11 come with a new build system and it is configured as the default. Currently, the Intel Compiler does not support it. You will see the error "no rule to process file" when building an Intel C++ Compiler project within XCode. Please switch to “Legacy Build System” in Project Settings to build your project in Xcode.
For more details please find this article.
Notices and Disclaimers
Intel technologies may require enabled hardware, software or service activation.
No product or component can be absolutely secure.
Your costs and results may vary.
© Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others.
No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.
The products described 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.
Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.
Product and Performance Information
Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.