C99 的编译器支持

来自cppreference.com


C99 核心语言特性

C99 功能特性

 
提案

 
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
标识符中的通用字符名 不适用 3.1
提高翻译极限 N590 0.9 不适用
// 注释 N644 2.7
restrict 指针 N448 2.95 部分*
增强算术类型 N815
N601
N620
N638
N657
N694
N809
部分 可能
灵活的数组成员 不适用 3.0
变长数组 (VLA) 类型 N683 0.9
可变修改 (VM) 类型 N2778 不适用
定名初始化式 N494 3.0
非常量初始化式 不适用 1.21 不适用
幂等 cvr 限定符 N505 3.0 不适用
enumerator-list 中的尾部逗号 不适用 0.9
十六进制浮点常量 N308 2.8
复合字面量 N716 3.1
浮点环境 不适用 部分 部分
规定有符号整数类型的除法进行截断 N617 0.9 不适用
main() 函数中的隐式 return 0; 不适用
混合安排声明和语句 N740 3.0
for 循环中的 初始化语句 不适用
inline 函数 N741 4.3
预定义变量 __func__ N611 2.95
函数声明中的 [] 之中的 cvr 限定符和 static 不适用 3.1
变参宏 N707 2.95
_Pragma 预处理器运算符 N634 3.0 部分*
浮点求值的标准语用(pragma) N631
N696
 

C99 功能特性
 

提案
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