lkml.org 
[lkml]   [2006]   [Mar]   [26]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
FromMåns Rullgård <>
SubjectRe: Parenthesize macros in xfs
DateSun, 26 Mar 2006 13:19:14 +0100
Jan Engelhardt <jengelh@linux01.gwdg.de> writes:

>>>>> +		swapfunc(a, b, es, swaptype)		\
>>>>> +} while(0)
>>>>                                           ^^
>>>>Missing semicolon.
>>>
>>> It was missing before too. ;)
>>
>>No, previously it was provided at the call site.
>
> Bad habit IMO. It does not hurt to provide it in both the macro and 
> the call site, GCC can handle empty instructions.

A double semicolon can cause all sorts of hard to debug problems.
Consider this:

#define foo() bar();
/* ... */
if(x)
    foo();
else
    baz();
This will expand to syntactically invalid code because of the extra
semicolon.

-- 
Måns Rullgård
mru@inprovide.com

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

\
 
 \ /
  Last update: 2006-03-26 14:23    [from the cache]
©2003-2008