|  GCC  |  Clang  |  MSVC  |  Apple Clang  |  EDG eccp  |  Intel C++  |  IBM XL C++  |  IBM Open XL C++ for AIX  |  IBM Open XL C++ for z/OS  |  Sun/Oracle C++  |  Embarcadero C++ Builder  |  Cray  |  Nvidia HPC C++ (ex PGI)*  |  Nvidia nvcc  |   
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---  
Allow [ Lambda capture ](/w/cpp/language/lambda#Lambda_capture "cpp/language/lambda") ` [=, this] ` |  [ P0409R2 ](https://wg21.link/P0409R2) |  8  |  6  |  19.22*  |  10.0.0*  |  5.1  |  2021.1  |  |  |  |  |  |  11.0  |  20.7  |  12.0   
[ ` __VA_OPT__ ` ](/w/cpp/preprocessor/replace#Function-like_macros "cpp/preprocessor/replace") |  [ P0306R4 ](https://wg21.link/P0306R4)   
[ P1042R1 ](https://wg21.link/P1042R1) |  8 (partial)*    
10 (partial)*  
12  |  9  |  19.25*  |  11.0.3*  |  5.1  |  2021.1  |  |  |  |  |  |  11.0  |  20.7  |  12.0   
[ Designated initializers ](/w/cpp/language/aggregate_initialization#Designated_initializers "cpp/language/aggregate initialization") |  [ P0329R4 ](https://wg21.link/P0329R4) |  4.7 (partial)*    
8  |  3.0 (partial)*    
10  |  19.21*  |  12.0.0*  |  5.1  |  2021.1  |  |  |  |  |  |  11.0  |  20.7  |  12.0   
[ template-parameter-list for generic lambdas ](/w/cpp/language/lambda#Syntax "cpp/language/lambda") |  [ P0428R2 ](https://wg21.link/P0428R2) |  8  |  9  |  19.22*  |  11.0.0*  |  5.1  |  2021.1  |  |  |  |  |  |  11.0  |  20.7  |  12.0   
[ Default member initializers for bit-fields ](/w/cpp/language/bit_field#Cpp20_Default_member_initializers_for_bit_fields "cpp/language/bit field") |  [ P0683R1 ](https://wg21.link/P0683R1) |  8  |  6  |  19.25*  |  10.0.0*  |  5.1  |  2021.1  |  |  |  |  |  |  11.0  |  20.7  |  12.0   
Initializer list constructors in class template argument deduction  |  [ P0702R1 ](https://wg21.link/P0702R1) |  8  |  6  |  19.14*  |  Yes  |  5.0  |  2021.1  |  |  |  |  |  |  11.0  |  20.7  |  12.0   
` const& ` -qualified pointers to members  |  [ P0704R1 ](https://wg21.link/P0704R1) |  8  |  6  |  19.0 (2015)*  |  10.0.0*  |  5.1  |  2021.1  |  |  |  |  |  |  11.0  |  20.7  |  12.0   
[ Concepts ](/w/cpp/language/constraints "cpp/language/constraints") |  [ P0734R0 ](https://wg21.link/P0734R0) |  6   
(TS only)  
10  |  10  |  19.23*  (partial)*    
19.30*  |  12.0.0*  (partial)  |  6.1  |  2023.1*  |  |  |  |  |  |  11.0  |  20.11  |  12.0   
[ Lambdas in unevaluated contexts ](/w/cpp/language/lambda#Lambdas_in_unevaluated_contexts "cpp/language/lambda") |  [ P0315R4 ](https://wg21.link/P0315R4) |  9  |  13 (partial)*    
14 (partial)*  
17  |  19.28 (16.8)*  |  13.1.6*  (partial)  |  6.2  |  2023.1 (partial)   
2024.0  |  |  |  |  |  |  |  |  12.0   
[ Three-way comparison ](/w/cpp/language/operator_comparison#Three-way_comparison "cpp/language/operator comparison") operator  |  [ P0515R3 ](https://wg21.link/P0515R3) |  10  |  8 (partial)   
10  |  19.20*  |  12.0.0*  |  5.1  |  2021.1  |  |  |  |  |  |  11.0  |  20.7  |  12.0   
DR: Simplifying implicit lambda capture  |  [ P0588R1 ](https://wg21.link/P0588R1) |  8  |  |  19.24*  |  |  5.1  |  2021.1  |  |  |  |  |  |  |  20.7  |  12.0   
[ init-statements for range-based for ](/w/cpp/language/range-for#Syntax "cpp/language/range-for") |  [ P0614R1 ](https://wg21.link/P0614R1) |  9  |  8  |  19.25*  |  11.0.0*  |  6.0  |  2021.7  |  |  |  |  |  |  11.0  |  20.11  |  12.0   
Default constructible and assignable stateless [ lambdas ](/w/cpp/language/lambda "cpp/language/lambda") |  [ P0624R2 ](https://wg21.link/P0624R2) |  9  |  8  |  19.22*  |  10.0.1*  |  5.1  |  2021.1  |  |  |  |  |  |  11.0  |  20.7  |  12.0   
Type mismatch of defaulted special member functions  |  [ P0641R2 ](https://wg21.link/P0641R2) |  9  (partial)*  |  8  |  19.0 (2015)*  (partial)*  |  10.0.1*  |  5.1  |  2021.1  |  |  |  |  |  |  11.0  |  20.7  |  12.0   
Access checking on specializations  |  [ P0692R1 ](https://wg21.link/P0692R1) |  Yes  |  8 (partial)   
14  |  19.26*  |  14.0.0*  |  5.1  |  2021.1  |  |