empty function macros

Julian Elischer julian at freebsd.org
Mon Jan 31 08:56:21 UTC 2011


On 1/30/11 11:54 PM, Roman Divacky wrote:
> no problem with this with clang :)
>
> On Sun, Jan 30, 2011 at 05:29:41PM +0000, Alexander Best wrote:
>> hi there,
>>
>> i noticed freebsd has a few of the following macros:
>>
>> #define FUNC(sb)
>>
>> when you do something like
>>
>> if (cond)
>>      FUNC(i)

you missed an important part....

it's probably
  if (cond)
     FUNC(i);
   (note the ';')
THAT would be ok....
  without the ';' you just made whatever comes next conditional.

>> the compiler complains about an if statement with an empty body. any sensible
>> way of dealing with this issue?
>>
>> i saw some reiserfs code which does the following to silence compilers:
>>
>> #define FUNC(sb) do { } while (0)

yeah we do that too in some places.
(certainly at work I have done so)


>> cheers.
>> alex
>>
>> -- 
>> a13x
>> _______________________________________________
>> freebsd-hackers at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
>



More information about the freebsd-hackers mailing list