Although GP didn't remark on it, TFA uses an other cool feature which is actually C11: anonymous unions. Although not as wonderful as designated literals, they're really quite convenient.
It's supported by GCC as an extension to C90 too.
what does that even mean? Isn't C99 an extension of C90/ANSI? Doesn't GCC support the whole of C99 as an extension to ANSI?
It means that GCC will allow/support this even if you set it to std=c89 or std=c90.
Won't that only be supported in gnu89 or gnu90 mode?
No, it will be supported using -std=c89 or -std=90, unless you also specify -pedantic.
Yes, I realized after posting that -pedantic is required for strict standards compliance.
The GNU modes just enable additional features which conflict with plain C. Any feature which can coexist with plain C will be enabled in the regular C modes too. For example, __typeof__ is enabled everywhere, because the compiler is allowed to do just about anything it wants with a __ prefix, but plain typeof is only enabled in the GNU modes, since it could cause valid C programs using "typeof" for their own purposes to fail to compile.
C99 is not a strict extension, but as stated in its foreword, "this second edition [C99] cancels and replaces the first edition [C90]".
For instance, implicit function declarations are allowed in C90 but not in C99.
I so, so wish C++ would adopt this feature.
Designated initializers are one of a few indispensable features that make "C++ is a better C" a complete non-starter for me.