Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference

ID 767253
Date 6/24/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Standards Conformance

C/C++ Standards

The Intel® oneAPI DPC++/C++ Compiler supports the following C/C++ standards through the Clang front end. For the Clang version that corresponds to your installed compiler version, refer to the compiler release notes.

Standard Intel Feature Support

C++23 standard (ISO/IEC 14882:2023)

Partial support

C++20 standard (ISO/IEC 14882:2020)

Partial support

C++17 standard (ISO/IEC 14882:2017)

Full support

C++14 standard (ISO/IEC 14882:2014)

Full support

C++11 standard (ISO/IEC 14882:2011)

Full support

C++98 standard (ISO/IEC 14882:1998)

Full support (except for export)

C23 standard (ISO/IEC 9899:2018)

Partial support

C17 standard (ISO/IEC 9899:2018)

Partial support

C11 standard (ISO/IEC 9899:2011)

Partial support

C99 standard (ISO/IEC 9899:1999)

Full support

For more information on C/C++ standards, visit ISO Standards and search for the specific standard you are interested in, such as ISO/IEC 14882:2020.

C++17 and C17 are the default language standards for the compiler. You can use the -std command-line option to select other versions.

SYCL Standards

The Intel® oneAPI DPC++ Compiler supports the SYCL 2020 Specification and is SYCL 2020 conformant. The SYCL standard is based on the C++ standard and the Intel® oneAPI DPC++/C++ Compiler headers include some of the C++ standard headers. All of the current restrictions and limitations that apply to C/C++ standards, which relate to library headers, also apply to SYCL headers.

Tested Standard C++ APIs within SYCL Kernels

In addition to being supported for use in host code, a set of standard C++17 APIs have been tested for use in SYCL kernels. For a full list of the APIs that have been tested see Tested Standard C++ APIs.

OpenMP Standards

The Intel® oneAPI DPC++/C++ Compiler supports most of the OpenMP Application Programming Interface versions 5.0 and 5.1.

Refer to OpenMP Features for the current status of compiler support for OpenMP 5.0 and 5.1 features.

IEEE 754-2008 Standard for Floating-Point Formats

The Intel® IEEE 754-2008 Binary Floating-point Conformance Library conforms to the IEEE 754-2008 standard for binary32 and binary64 binary floating-point interchange formats.

Additional Language and Standards Information