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. ?:
’ expression. __int128
. long long int
. void
-pointers and function pointers. \e
’ stands for the character <ESC>. __const__
, __asm__
, etc., for header files. enum foo;
, with details to follow. offsetof
. 0b
’ prefix.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-6.3.0/gcc/C-Extensions.html