On Wed, Feb 21, 2001 at 11:49:48AM +0100, Niels Möller wrote: > #define FOO(f, a) ((f)->foo((f), (a))) Try #define FOO(f, a) ({ __typeof(f) f_ = (f); f_->foo(f_, (a)); }) r~