New C standard in 2012?

The C standards committee is apparently preparing to revise the C standard. The proposed C1x charter sets the goal of the committee draft’s completion in 2009, with publication of the new standard in 2012. The proposed charter adds security as a significant new goal for the standard:

Trust the programmer, as a goal, is outdated in respect to the security and safety programming communities.

The proposed charter also sets the requirement that all new features must have a history in non-experimental compilers and be in common use.

6 thoughts on “New C standard in 2012?”

  1. Actually, it’s written as:
    13. Unlike for C9X, the consensus at the London meeting was that there should be no invention, without exception. Only those features that have a history and are in common use by a commercial implementation should be considered. Also there must be care to standardize these features in a way that would make the Standard and the commercial implementation compatible.

    I hope they’ve just got crap wording.

  2. They do say new features can come from other languages, not just from existing C compiler implementations. Could this mean they would consider adding closures to the language? Currently, to do this with a library you would have to dynamically generate shared library code, I think; a terribly ugly hack.

  3. I can’t speak for daniels, but I suspect he was pointing to the word “commercial”. Hopefully they also will consider features that are in common use by, say, gcc.

  4. Reading their working papers I get the impression that they consider GCC one of the most preeminent commercial C compilers, along with the Microsoft compiler. See for example Soughton’s Potential Extensions For Inclusion In a Revision of ISO/IEC 9899 discussed in the committee’s April meeting. Also the April meeting draft minutes contains the following snippet:

    Another big area where we should be looking to cover is to harmonize MSVC and gcc.

Leave a Reply

Your email address will not be published. Required fields are marked *