Intel® C++ Compiler Classic Release Notes

By Varsha Madananth,

Published: 09/17/2019   Last Updated: 06/28/2021

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.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 Sapphir Rapids features through compiler options - 
    • -mavxvnni
    • -mcldemote
    • -mhreset
    • -mptwrite
    • -mserialize
    • -mwaitpkg
    • -march=alderlake, -xalderlake 

    • -march=sapphirerapids, ​-xsapphirerapids

  • 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

  • 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

 

How to install the Intel® C++ Compiler classic

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.

 

How to use the Intel® C++ Compiler Classic

Please refer to

for details on how to use the Intel® C++ Compiler Classic.

Support Deprecated

Support for Intel® Xeon Phi™ Processor x200 “Knights Landing (KNL)” and Intel® Xeon Phi™ Processors “Knights Mill (KNM)” is deprecated and will be removed in a future release.  

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.  

Unsupported or Discontinued Features

 

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

  • profile-loops=keyword
  • profile-loops-report=value
  • profile-functions
  • guide-profile

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.

Known Issues

  • 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

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.