[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
GNU C provides several language features not found in ANSI standard C.
(The `-pedantic' option directs GNU CC 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 GNU CC.
These extensions are available in C and Objective C. Most of them are also available in C++. See section Extensions to the C++ Language, for extensions that apply only to C++.
4.1 Statements and Declarations in Expressions | Putting statements and declarations inside expressions. | |
4.2 Locally Declared Labels | Labels local to a statement-expression. | |
4.3 Labels as Values | Getting pointers to labels, and computed gotos. | |
4.4 Nested Functions | As in Algol and Pascal, lexical scoping of functions. | |
4.5 Constructing Function Calls | Dispatching a call to another function. | |
4.6 Naming an Expression's Type | Giving a name to the type of some expression. | |
4.7 Referring to a Type with typeof | typeof : referring to the type of an expression.
| |
4.8 Generalized Lvalues | Using `?:', `,' and casts in lvalues. | |
4.9 Conditionals with Omitted Operands | Omitting the middle operand of a `?:' expression. | |
4.10 Double-Word Integers | Double-word integers--long long int .
| |
4.11 Complex Numbers | Data types for complex numbers. | |
4.12 Hex Floats | Hexadecimal floating-point constants. | |
4.13 Arrays of Length Zero | Zero-length arrays. | |
4.14 Arrays of Variable Length | Arrays whose length is computed at run time. | |
4.15 Macros with Variable Numbers of Arguments | Macros with variable number of arguments. | |
4.16 Non-Lvalue Arrays May Have Subscripts | Any array can be subscripted, even if not an lvalue. | |
4.17 Arithmetic on void - and Function-Pointers | Arithmetic on void -pointers and function pointers.
| |
4.18 Non-Constant Initializers | Non-constant initializers. | |
4.19 Constructor Expressions | Constructor expressions give structures, unions or arrays as values. | |
4.20 Labeled Elements in Initializers | Labeling elements of initializers. | |
4.22 Cast to a Union Type | Casting to union type from any member of the union. | |
4.21 Case Ranges | `case 1 ... 9' and such. | |
4.23 Declaring Attributes of Functions | Declaring that functions have no side effects, or that they can never return. | |
4.24 Prototypes and Old-Style Function Definitions | Prototype declarations and old-style definitions. | |
4.25 C++ Style Comments | C++ comments are recognized. | |
4.26 Dollar Signs in Identifier Names | Dollar sign is allowed in identifiers. | |
4.27 The Character ESC in Constants | `\e' stands for the character ESC. | |
4.29 Specifying Attributes of Variables | Specifying attributes of variables. | |
4.30 Specifying Attributes of Types | Specifying attributes of types. | |
4.28 Inquiring on Alignment of Types or Variables | Inquiring about the alignment of a type or variable. | |
4.31 An Inline Function is As Fast As a Macro | Defining inline functions (as fast as macros). | |
4.32 Assembler Instructions with C Expression Operands | Assembler instructions with C expressions as operands. (With them you can define "built-in" functions.) | |
4.33 Constraints for asm Operands | Constraints for asm operands | |
4.34 Controlling Names Used in Assembler Code | Specifying the assembler name to use for a C symbol. | |
4.35 Variables in Specified Registers | Defining variables residing in specified registers. | |
4.36 Alternate Keywords | __const__ , __asm__ , etc., for header files.
| |
4.37 Incomplete enum Types | enum foo; , with details to follow.
| |
4.38 Function Names as Strings | Printable strings which are the name of the current function. | |
4.39 Getting the Return or Frame Address of a Function | Getting the return or frame address of a function. | |
4.40 Other built-in functions provided by GNU CC | Other built-in functions. | |
4.41 Deprecated Features | Things might disappear from g++. |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Build Daemon user on October, 25 2005 using texi2html 1.76.