Nice ;-)
By far the most useful gcc extension wasn't mentioned at all. typeof().
I tried an experiment where I did a comparison of the __builtin_expect version against a version with our likely/unlikely macros defined to the identity, and I actually saw no difference, which was disappointing. When I did some digging I found this blog post: http://bitsup.blogspot.com/2008/04/measuring-performance-of-... which suggests the same result for the Linux kernel.
FWIW GCC also has a reasonable set of PGO options (not mentioned in this article), and those actually can (anecdotally) make a noticeable difference, although you're subject to the overtraining problem if you're not careful.
#define max(a,b) ({ typeof (a) _a = (a); typeof (b) _b = (b); _a > _b ? _a : _b; })
Makes separate compilation for languages that compile to C much easier.
But unfortunately, since it was basically written only for libc purposes, it doesn't work on function pointers, so it's useless for this purpose.
"All warnings can be enabled with -w."
man g++ says:
"-w Inhibit all warning messages."
Inhibit means to prevent (not to enable).