Implementations
Most C compilers now have support for at least some of the features new to C99. However, there has been less support from vendors such as Microsoft that have mainly focused on C++.
Implementation | Level of support | Details |
---|---|---|
AMD x86 Open64 Compiler Suite | Mostly | Has C99 support equal to that of GCC. |
cc65 | Partial | Full C89 and C99 support is not implemented, partly due to platform limitations (MOS Technology 6502). There is no support planned for some C99 types like _Complex and 64-bit integers (long long). |
Ch | Partial | Supports major C99 features. |
Clang | Mostly | C99 floating-point pragmas are the only unsupported feature. |
cparser | Mostly | Supports most C99 features. |
C++ Builder | Mostly |
|
Digital Mars C/C++ Compiler | Partial | Lacks support for some features, such as tgmath.h and _Pragma. |
GCC | Mostly | As of July 2011 in mainline GCC, 43 features have been completely implemented (12 suffer library issues), 1 feature is broken and 6 are missing. GCC's 4.6 and 4.7 releases also provides the same level of compliance. |
IBM C for AIX, V6 and XL C/C++ V11.1 for AIX | Full | |
IBM Rational logiscope | Full | Until Logiscope 6.3, only basic constructs of C99 were supported. C99 is officially supported in Logiscope 6.4 and later versions. |
The Portland Group PGI C/C++ | Full | |
Intel C++ compiler | Mostly | |
Microsoft Visual C++ | No | As of Visual C++ 2010, there are no plans to support C99. The forthcoming Visual C++ 2011 will also lack C99 support. |
Open Watcom | Partial | Implements the most-used parts of the standard. However, they are enabled only through an undocumented command-line switch. |
Pelles C | Mostly | Supports most C99 features. |
Portable C compiler | Partial | Working towards becoming C99-compliant. |
Sun Studio | Full | |
Tiny C Compiler | Partial | Does not support complex numbers, variable length arrays and for loop initial declarations. The developers state that "TCC is heading toward full ISOC99 compliance". |
Read more about this topic: C99