Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C1x: When will it land, what to expect?

C99 still isn't supported by many compilers, and much of the focus is now on C++, and its upcoming standard C++1x.

I'm curious as to what C will "get" in its next standard, when it will get it, and how it will keep C competitive. C and C++ are known to feed on one another's improvements, will C be feeding on the C++1x standard?

What can I look forward to in C's future?

like image 203
Matt Joiner Avatar asked Jul 27 '10 05:07

Matt Joiner


3 Answers

The ISO/IEC 9899:2011 standard, aka C11, was published in December 2011.

The latest draft is N1570; I'm not aware of any differences between it and the final standard. There's already a Technical Corrigendum fixing an oversight in the specification of __STDC_VERSION__ (now 201112L) and the optional __STDC_LIB_EXT1__ (now 201112L).

like image 174
Jukka Suomela Avatar answered Nov 06 '22 04:11

Jukka Suomela


I was typing a list of of features, but noticed the Wikipedia page on C1X has a pretty complete listing of all proposed changes.

On the ISO C working group posts 'after meeting' mailings on their website. One of the more interesting is this Editor's Report.

like image 6
schot Avatar answered Nov 06 '22 05:11

schot


Here's a summary from the Wikipedia page:

  • Alignment specification (_Align specifier, alignof operator, aligned_alloc function)
  • Multithreading support (_Thread_local storage-class specifier, <threads.h> header including thread creation/management functions, mutex, condition variable and thread-specific storage functionality)
  • Improved Unicode support (char16_t and char32_t types for storing UTF-16/UTF-32 encoded data, including the corresponding u and U string literal prefixes and conversion functions in <uchar.h>)
  • Removal of the gets function
  • Bounds-checking interfaces (Annex K)
  • Analyzability features (Annex L)
like image 5
Gabe Avatar answered Nov 06 '22 04:11

Gabe