Re: FW: 2.5.34: IR __FUNCTION__ breakage

Jeff Garzik (jgarzik@mandrakesoft.com)
Fri, 20 Sep 2002 13:17:01 -0400


Jean Tourrilhes wrote:
> On Fri, Sep 13, 2002 at 08:25:50AM +0200, Dag Brattli wrote:
>
>>-----Original Message-----
>>From: Thunder from the hill [mailto:thunder@lightweight.ods.org]
>>Sent: 12. september 2002 22:17
>>To: Bob_Tracy
>>Cc: dag@brattli.net; linux-kernel@vger.kernel.org
>>Subject: Re: 2.5.34: IR __FUNCTION__ breakage
>>
>>
>>Hi,
>>
>>On Thu, 12 Sep 2002, Bob_Tracy wrote:
>>
>>>define DERROR(dbg, args...) \
>>> {if(DEBUG_##dbg){\
>>> printk(KERN_INFO "irnet: %s(): ", __FUNCTION__);\
>>> printk(KERN_INFO args);}}
>>>
>>>which strikes me as not quite what the author intended, although it
>>>should work.
>>
>>Why not
>>
>>#define DERROR(dbg, fmt, args...) \
>> do { if (DEBUG_##dbg) \
>> printk(KERN_INFO "irnet: %s(): " fmt, __FUNCTION, args); \
>> } while(0)
>>
>>?
>>
>> Thunder
>
>
> Try it, it won't work when there is zero args.

I fixed up a bunch of these __FUNCTION__ breakage, you can grab them
from 2.5.37 (just released)

Also, specifically relating to varargs macros as described above, you
can certainly have a varargs macro with zero args, just look at C99
varargs macros...

Jeff

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/