GNU C provides several language features not found in ISO standard C.
(The -pedantic option directs GCC to print a warning message if
any of these features is used.) To test for the availability of these
features in conditional compilation, check for a predefined macro
__GNUC__, which is always defined under GCC.
These extensions are available in C and Objective-C. Most of them are also available in C++. See Extensions to the C++ Language, for extensions that apply only to C++.
Some features that are in ISO C99 but not C90 or C++ are also, as extensions, accepted by GCC in C90 mode and in C++.
typeof: referring to the type of an expression.
long long int.
void-pointers and function pointers.
__asm__, etc., for header files.
enum foo;, with details to follow.