Hi, On Sun, Jul 29, 2012 at 3:19 PM, Luigi Rizzo <ri...@iet.unipi.it> wrote: > Remapping f(a) into f(a, b) requires both a macro > and a wrapping function, something like this > > T __f(T1 a, T2 b) { return f(a, b); } > #define f(a) __f(a, b) > This can be done way more easily:
void fn(int a, int b) { printf("%d %d\n", a, b); } #define fn(x) ({ fn(x, 42); }) int main(int argc, char **argv) { fn(0); return 0; } works just fine. > but i am not so interested in participating to the IOCCC :) > maybe you should ;-) - Arnaud ps: this construct is used all over the Linux kernel compatibility libraries. _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"