C++ 23 Features Supported by Intel® C++ Compiler

ID 764072
Updated 11/17/2023
Version Latest
Public

author-image

By

C++ 23 Features

Following is the status and version of compiler support for C++ 2b Features.

Language FeatureStandard #ICX  2022.2 (oneAPI 2022.3)ICX 2023.2 (oneAPI 2023.2)ICX  2024.0 (oneAPI 2024.0)

ICX 2024.1 

(oneAPI 2024.1)

ICX 2024.2

(oneAPI 2024.2)

Literal suffix uz, z for size_t, ssize_tP0330R8YesYesYesYesYes
Make () in lambdas optional in all casesP1102R2YesYesYesYesYes
Simpler implicit moveP2266R1YesYesYesYesYes
if constevalP2156R1YesYesYesYesYes
Allow duplicate attributesP1401R5YesYesYesYesYes
Narrowing contextual conversions to boolP2223R2YesYesYesYesYes
Trimming whitespaces before line splicingP2223R2YesYesYesYesYes
Make declaration order layout mandatedP1874R4YesYesYesYesYes
C++ identifier syntax using UAX 31P1949R7YesYesYesYesYes
Mixed string literal concatenationP2201R1YesYesYesYesYes
Deducing thisP0847R7NoNoNoNoNo
Change scope of lambda trailing-return-typeP2036R3NoYesYesYesYes
Migration strategies for Change scope of lambda trailing-return-typeP2579R0NoYesYesYesYes
Multidimensional subscript operatorP2128R6YesYesYesYesYes
Non-literal variables (and labels and gotos) in constexpr functionsP2242R3YesYesYesYesYes
Character encoding of diagnostic textP2246R1YesYesYesYesYes
Character sets and encodingsP2314R4YesYesYesYesYes
Consistent character literal encodingP2316R2YesYesYesYesYes
Add support for preprocessing directives elifdef and elifndefP2334R1YesYesYesYesYes
Extend init-statement to allow alias-declarationP2360R0YesYesYesYesYes
auto(x): decay-copy in the languageP0849R8YesYesYesYesYes
Attributes on Lambda-ExpressionsP2173R1YesYesYesYesYes
constexpr for <cmath> and <cstdlib>P0533R9NoNoNoYesYes
Type trait to determine if a reference binds to a temporaryP2255R2PartialPartialPartialYesYes
The Equality Operator You Are Looking ForP2468R2No YesYesYesYes
De-deprecating volatile compound operationsP2468R2NoYesYesYesYes
Support for #warningP2437R1NoYesYesYesYes
Remove non-encodable wide character literals and multicharacter wide character literalsP2362R3NoYesYesYesYes
Labels at the end of compound statementsP2324R2NoYesYesYesYes
Delimited escape sequencesP2290R3NoYesYesYesYes
Named universal character escapesP2071R2NoYesYesYesYes
Relaxing some constexpr restrictionsP2448R2NoNoPartialPartialPartial
Using unknown pointers and references in constant expressionsP2280R4NoNoNoNoNo
static operator()P1169R4NoYesYesYesYes
Extended floating-point types and standard namesP1467R9NoNoNoNoNo
Class template argument deduction from inherited constructorsP2582R1NoNoNoNoNo
Portable assumptionsP1774R8NoNoNoNoNo
Support for UTF-8 as a portable source file encodingP2295R6NoYesYesYesYes
char8_t Compatibility and Portability FixP2513R3NoYesYesYesYes
Relax requirements on wchar_t to match existing practicesP2460R2NoYesYesYesYes
Explicit lifetime managementP2590R2NoNoNoNoNo
static operator[]P2589R1No YesYesYesYes
Permitting static constexpr variables in constexpr functions (DR)P2647R1NoYesYesYesYes
consteval needs to propagate up (DR)P2564R3NoNoYesYesYes
Referencing The Unicode StandardP2736R2YesYesYesYesYes

Other relevant articles:

  1. Intel Compiler C++11 support status
  2. Intel Compiler C++14 support status
  3. Intel Compiler C++17 support status
  4. Intel Compiler C++20 support status

1