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

walter harms wharms at bfs.de
Sat Mar 12 19:15:44 UTC 2016



Am 12.03.2016 19:43, schrieb Matt Turner:
> 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.

for me other way around :)

never mind, both are a noop, someone could propose this as C extension ,)

re,
 wh


More information about the xorg-devel mailing list