Next: Built-in Functions, Previous: C++ Implementation, Up: Top [Contents][Index]
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++.
| Additional Numeric Types: | Additional sizes and formats, plus complex numbers. | |
| Aggregate Types: | Extensions to arrays, structs, and unions. | |
| Named Address Spaces: | Named address spaces. | |
| Attributes: | GCC supports both standard and legacy attribute syntax. | |
| Pragmas: | Pragmas accepted by GCC. | |
| Thread-Local: | Per-thread variables. | |
| OpenMP: | Multiprocessing extensions. | |
| OpenACC: | Extensions for offloading code to accelerator devices. | |
| Inline: | Defining inline functions (as fast as macros). | |
| Volatiles: | What constitutes an access to a volatile object. | |
| Using Assembly Language with C: | Instructions and extensions for interfacing C with assembler. | |
| Syntax Extensions: | Other extensions to C syntax. | |
| Semantic Extensions: | GNU C defines behavior for some non-standard constructs. |
Next: Built-in Functions, Previous: C++ Implementation, Up: Top [Contents][Index]