[ Introduction ] [ News ] [ General Compliance Work ] [ Specific Compliance Work ] [ Completed Compliance Work ] [ Links ]
DJGPP needs a fair amount of work to comply with the new C99 standard. Some work has already been done and is not mentioned below. The C99 standard can be purchased for around 20 USD from ANSI. A summary of the C9x changes is also available.
For more information about DJGPP 2.04, see my DJGPP 2.04 Page.
2003-03-31 | Added a note about the new conversion type specifiers: a, A. |
2003-02-19 | Added a section for links. |
2003-02-02 | The new conversion width specifiers are now supported by printf- and scanf-families of functions. Added item about updating the headers, stubs & libclink. Added link to a summary of changes in C9x. |
2003-01-21 | The scanf-family of functions also needs to support the new conversion width specifiers: j, z, t. |
2003-01-19 | Added a link to some C99 maths tests. Added compliance item for the use of "restrict". |
2002-12-18 | Put this page on the web. |
New floating-point maths functions - K. B. Williams is working on this. Some tests are available for free: ftp://jump.net/pub/tybor/.
Complex number support - <complex.h>
Type-generic maths support - <tgmath.h>
Wide-character support - Mark E. did some work on this in 1998, but it needs dusting off, completing and integrating. There is no representation-specific code, so there is much work to do. There are also some new wide-character functions in C99. See: Mark's mail and a work-in-progress ZIP file.
Some functions are now in the C standard. The documentation needs updating to reflect this. The code could also be moved to the new src/libc/c99 directory.
The strto* functions do not understand INFINITY or NAN. They also all return HUGE_VAL - the standard requires the float version to return HUGE_VALF, the double version to return HUGE_VAL and the long double version to return HUGE_VALL.
Use restrict in function declarations & definitions.
Move functions that are now in ANSI C into new C99-specific sections of the header files. Add stubs for C99 functions that are called by C89 functions, if any. Update tests/libclink to distinguish between C89 and C99.
The printf- and scanf-families of functions need to support the new conversion type specifiers: a, A. This requires support in strto*.
The printf- and scanf-families of functions need to support the new conversion width specifiers: j, z, t.