The compiler supports the 1999 standard of C as standardized by the ISO. However, the following list of run-time functions and features are not implemented or fully supported:
- inttypes.h
- wcstoimax() / wcstoumax()
- math.h
- FP_ILOGB0 / FP_ILOGBNAN macros
- MATH_ERRNO macro
- copysign()
- float_t / double_t types
- math_errhandling()
- signbit()
- The following sets of C99 functions do not support the "long double" type. C89 math functions using float and long double types are supported. (Section numbers are from the C99 standard.)
- 7.12.4: Trigonometric functions
- 7.12.5: Hyperbolic functions
- 7.12.6: Exponential and logarithmic functions
- 7.12.7: Power and absolute value functions
- 7.12.9: Nearest integer functions
- 7.12.10: Remainder functions
- expm1()
- ilogb() / log1p() / logb()
- scalbn() / scalbln()
- cbrt()
- hypot()
- erf() / erfc()
- lgamma() / tgamma()
- nearbyint()
- rint() / lrint() / llrint()
- lround() / llround()
- remainder() / remquo()
- nan()
- nextafter() / nexttoward()
- fdim() / fmax() / fmin() / fma()
- isgreater() / isgreaterequal() / isless() / islessequal() / islessgreater() / isunordered()
- stdio.h
- The %e specifier may produce "-0" when "0" is expected by the standard
- snprintf() does not properly pad with spaces when writing to a wide character array
- stdlib.h
- vfscanf() / vscanf() / vsscanf() return value on floating point matching failure is incorrect
- wchar.h
- getws() / fputws()
- mbrlen()
- mbsrtowcs()
- wcscat()
- wcschr()
- wcscmp() / wcsncmp()
- wcscpy() / wcsncpy()
- wcsftime()
- wcsrtombs()
- wcsstr()
- wcstok()
- wcsxfrm()
- Wide character print / scan functions
- Wide character conversion functions