Re: [PATCH v1] cleanup: adjust scoped_guard() to avoid potential warning

From: Przemek Kitszel
Date: Thu Oct 03 2024 - 09:39:59 EST


On 10/3/24 14:46, Andy Shevchenko wrote:
On Thu, Oct 03, 2024 at 03:43:17PM +0300, Andy Shevchenko wrote:
On Thu, Oct 03, 2024 at 01:39:06PM +0200, Przemek Kitszel wrote:

...

+#define __scoped_guard_labeled(_label, _name, args...) \
+ for (CLASS(_name, scope)(args); \
+ __guard_ptr(_name)(&scope) || !__is_cond_ptr(_name); \
+ ({ goto _label; })) \
+ if (0) \
+ _label: \
+ break; \
+ else

I believe the following will folow more the style we use in the kernel:

#define __scoped_guard_labeled(_label, _name, args...) \
for (CLASS(_name, scope)(args); \
__guard_ptr(_name)(&scope) || !__is_cond_ptr(_name); \
({ goto _label; })) \
if (0) { \
_label: \
break; \
} else

...

- *done = NULL; !done; done = (void *)1) \
+ *done = NULL; !done; done = (void *)1 + \

You have TABs/spaces mix in this line now.

And FWIW:
1) still NAKed;

I guess you are now opposed to just part of the patch, should I add:
# for enabling "scoped_guard(...) return ...;" shortcut
or keep it unqualified?

2) interestingly you haven't mentioned that meanwhile I also helped you to
improve this version of the patch. Is it because I NAKed it?


0/1 vs false/true and whitespaces, especially for RFC, are not big deal

anyway, I will reword v2 to give you credits for your valuable
contribution during internal review :)