This is an old revision of the document!
Overview
Most useful GCC extensions to C language; avoid by using -pedantic.
Extensions
Statements and declarations in expressions
A compound statement enclosed in parentheses may appear as an expression in GNU C. This allows you to use loops, switches, and local variables within an expression.
#define maxint(a,b) \
({int _a = (a), _b = (b); _a > _b ? _a : _b; })
Local labels
GCC allows you to declare local labels in any nested block scope. A local label is just like an ordinary label, but you can only reference it (with a goto statement, or by taking its address) within the block in which it is declared.
__label__ label;