From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@cse.psu.edu From: "Douglas A. Gwyn" Message-ID: <3A9C9643.FF73D120@null.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit References: <20010227142543.C81F2199EE@mail.cse.psu.edu> Subject: Re: [9fans] C99 Date: Wed, 28 Feb 2001 09:30:25 +0000 Topicbox-Message-UUID: 6adf5df4-eac9-11e9-9e20-41e7f4b1d025 Russ Cox wrote: > http://www.dkuug.dk/JTC1/SC22/WG14/www/docs/n843.ps.gz That's not an accurate copy of the 1999 C standard. Jack Klein just posted information in comp.lang.c.moderated about obtaining a correct copy. There are several sources for a summary of the main changes from C89 to C99, e.g. http://web.onetelnet.ch/~twolf/tw/c/c9x_changes.html The preprocessor extensions are easy enough to implement, except possibly for the variable-number-of-arguments facility. Several of the extensions to the language proper are either already in Plan 9's compiler (compound literals, designated initializers) or else are straightforward to add. Variable-length arrays might be harder. Most of the library extensions are straightforward to add. For a start at providing some C99 standard library facilities, e.g. and , see http://www.lysator.liu.se/c/q8/index.html The most difficult one is undoubtedly , which requires compiler support. My opinion as a long-time implementor and maintainer of C environments is that *most* of the changes from C89 to C99 can be implemented merely by taking the time to do it, without having to think very hard, and just a few features require special care (VLAs, ). Until C99 conforming implementations reach the marketplace and start to be used, there won't be any demand for the new features. That means in probably another year or two it would be useful to have C99 support ready.