On Mon, Aug 16, 2010 at 6:32 PM, Anthony Liguori <anth...@codemonkey.ws> wrote: > On 08/16/2010 01:05 PM, Blue Swirl wrote: >> >> On Sun, Aug 15, 2010 at 9:27 PM, Andreas Schwab<sch...@linux-m68k.org> >> wrote: >> >>> >>> Blue Swirl<blauwir...@gmail.com> writes: >>> >>> >>>> >>>> +For variadic macros, stick with C99 syntax: >>>> + >>>> +#define DPRINTF(fmt, ...) \ >>>> + do { printf("IRQ: " fmt, ## __VA_ARGS__); } while (0) >>>> >>> >>> That's not C99 syntax, the combination with ## is a gcc extension. In >>> C99 you cannot have an empty __VA_ARGS__. >>> >> >> That's too bad, I picked the example from one of our current macros. >> Maybe just s/C99/this/ or perhaps we shouldn't specify any >> non-standard syntax. >> > > We definitely should discourage the GCC syntax [#define fn(arg...)] as it's > deprecated by the new C99 syntax. Very specifically, only the '##' is an > extension and it's a widely adopted one.
I'll do s/C99/this C99-like/.