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/.

Reply via email to