"GCC and Linux are a great pair. Although they are
independent pieces of software, Linux is totally dependent on GCC
to enable it on new architectures. Linux further exploits features
in GCC, called extensions, for greater functionality and
optimization. This article explores many of these important
extensions and shows you how they're used within the Linux kernel.
"GCC in its current stable version (version 4.3.2) supports
three versions of the C standard:
"The original International Organization for Standardization
(ISO) standard of the C language (ISO C89 or C90)
ISO C90 with amendment 1
The current ISO C99 (the default standard that GCC uses and that
this article assumes)"