C1X going forward

bearophile bearophileHUGS at lycos.com
Mon May 9 02:03:36 PDT 2011


Paulo Pinto:

> Do the new C standards still matter?

I don't know.


> Most commercial C compilers are only C89 compliant, with a few C99 features 
> on top, if any.

Lately I compile C code with GCC and Clang. In Clang you don't even need a compiler switch to use C99, this is right.


> It seems that C89 is good enough for the tasks people still use C for, 
> otherwise other languages are used and as such the
> new features are not compeling to sell new compilers.

The adoption range is indeed slow. CPython sources are C89, and most large C projects I've seen don't use *all* C99 features, but this normal. I use C99 because is more handy and safer (example: local declaration of loop variables avoids a good amount of bugs).

-----------------------

Iain Buclaw:

> _Generic is a somewhat interesting feature of C1X too, though I can't imagine ever
> using any of the new features they've proposed.

_Generic looks a bit weird, it's meant to improve the usage for library code.
I will probably use aligned_alloc(), alignment specifications. And once in a while _Noreturn. The Unicode support, anonymous structures and unions, and the static assertions that I use in D too.


> Oh, and they've also introduced a _Static_Assert keyword too. :)

This is useful, if well implemented.

Bye,
bearophile


More information about the Digitalmars-d mailing list