Messages in this thread | | | From | Raja R Harinath <> | Subject | Re: [PATCH] kmemcheck: fix sparse warning | Date | Thu, 06 Aug 2009 18:06:41 +0530 |
| |
Hi,
Johannes Berg <johannes@sipsolutions.net> writes:
>> Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
I know I'm colouring the bike-shed but you can avoid the outer do-while with:
>> --- wireless-testing.orig/include/linux/kmemcheck.h 2009-07-06 11:41:16.000000000 +0200 >> +++ wireless-testing/include/linux/kmemcheck.h 2009-07-06 11:41:30.000000000 +0200 >> @@ -137,13 +137,13 @@ static inline void kmemcheck_mark_initia >> int name##_end[0]; >> >> #define kmemcheck_annotate_bitfield(ptr, name) \ >> - do if (ptr) { \ >> + do { if (ptr) { \
+ if (ptr) {
>> int _n = (long) &((ptr)->name##_end) \ >> - (long) &((ptr)->name##_begin); \ >> BUILD_BUG_ON(_n < 0); \ >> \ >> kmemcheck_mark_initialized(&((ptr)->name##_begin), _n); \ >> - } while (0) >> + } } while (0)
+ } else
Of course, that tailing 'else' may be much too clever to live. A slightly less clever but more idiomatic approach would be to use
+ } else do {} while (0)
but what's the point. Oh well, ignore me :-) I'm just pained by the '} }' due to my wierd sense of aesthetics.
- Hari
| |