[PATCH:makedepend] Use do { ... } while(0) idiom to make debug() macro safer

Matt Turner mattst88 at gmail.com
Sat Mar 12 18:43:50 UTC 2016


On Sat, Mar 12, 2016 at 10:24 AM, walter harms <wharms at bfs.de> wrote:
>
>
> Am 12.03.2016 19:15, schrieb Alan Coopersmith:
>> Cleans up several -Wempty-body warnings from gcc 5.3
>>
>> Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
>> ---
>>  def.h | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/def.h b/def.h
>> index 1930cde..59670a9 100644
>> --- a/def.h
>> +++ b/def.h
>> @@ -82,9 +82,9 @@ extern int  _debugmask;
>>   *     3     show #include SYMBOL
>>   *     4-6   unused
>>   */
>> -#define debug(level,arg) { if (_debugmask & (1 << level)) warning arg; }
>> +#define debug(level,arg) do { if (_debugmask & (1 << level)) warning arg; } while(0)
>>  #else
>> -#define      debug(level,arg) /**/
>> +#define      debug(level,arg) do { /**/ } while (0)
>>  #endif /* DEBUG */
>>
>>  typedef      unsigned char boolean;
>
>
>  #define        debug(level,arg)   while(0)
>
> should be sufficient (not tested)

Maybe, but that sure looks strange to my eye, while the do { ... }
while(0) pattern is well recognized.


More information about the xorg-devel mailing list