7.13.1 C99 Support (--c99)
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:
- ctype.h
- fenv.h
- float.h
- DECIMAL_DIG
- FLT_EVAL_METHOD
- 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()
- stdarg.h
- stdio.h
- %a and %A format specifiers for hexadecimal float
- 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
- strtof() atof() / strtod() / strtold() do not support hexadecimal float strings
- vfscanf() / vscanf() / vsscanf() return value on floating point matching failure is incorrect
- tgmath.h
- time.h
- 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