* |WARNING| pw156098 [PATCH v2 02/43] eal: add BSD version of queue.h
[not found] <20250825034126.12046-3-stephen@networkplumber.org>
@ 2025-08-25 3:42 ` checkpatch
0 siblings, 0 replies; only message in thread
From: checkpatch @ 2025-08-25 3:42 UTC (permalink / raw)
To: test-report; +Cc: Stephen Hemminger
Test-Label: checkpatch
Test-Status: WARNING
http://dpdk.org/patch/156098
_coding style issues_
WARNING:SPACING: space prohibited between function name and open parenthesis '('
#520: FILE: lib/eal/include/rte_bsd_queue.h:98:
+#warn Use QUEUE_MACRO_DEBUG_xxx instead (TRACE, TRASH and/or ASSERTIONS)
WARNING:TRAILING_SEMICOLON: macros should not use a trailing semicolon
#533: FILE: lib/eal/include/rte_bsd_queue.h:111:
+#define TRACEBUF struct qm_trace trace;
ERROR:SPACING: space prohibited before that ',' (ctx:WxE)
#534: FILE: lib/eal/include/rte_bsd_queue.h:112:
+#define TRACEBUF_INITIALIZER { __LINE__, 0, __FILE__, NULL } ,
^
ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses
#534: FILE: lib/eal/include/rte_bsd_queue.h:112:
+#define TRACEBUF_INITIALIZER { __LINE__, 0, __FILE__, NULL } ,
BUT SEE:
do {} while (0) advice is over-stated in a few situations:
The more obvious case is macros, like MODULE_PARM_DESC, invoked at
file-scope, where C disallows code (it must be in functions). See
$exceptions if you have one to add by name.
More troublesome is declarative macros used at top of new scope,
like DECLARE_PER_CPU. These might just compile with a do-while-0
wrapper, but would be incorrect. Most of these are handled by
detecting struct,union,etc declaration primitives in $exceptions.
Theres also macros called inside an if (block), which "return" an
expression. These cannot do-while, and need a ({}) wrapper.
Enjoy this qualification while we work to improve our heuristics.
ERROR:SPACING: space required after that ';' (ctx:VxV)
#559: FILE: lib/eal/include/rte_bsd_queue.h:137:
+#define TRASHIT(x) do {(x) = (void *)-1;} while (0)
^
WARNING:SINGLE_STATEMENT_DO_WHILE_MACRO: Single statement macros should not use a do {} while (0) loop
#559: FILE: lib/eal/include/rte_bsd_queue.h:137:
+#define TRASHIT(x) do {(x) = (void *)-1;} while (0)
WARNING:LEADING_SPACE: please, no spaces at the start of a line
#568: FILE: lib/eal/include/rte_bsd_queue.h:146:
+ defined(QUEUE_MACRO_NO_DEBUG_ASSERTIONS)$
WARNING:LEADING_SPACE: please, no spaces at the start of a line
#578: FILE: lib/eal/include/rte_bsd_queue.h:156:
+ !defined(QUEUE_MACRO_NO_DEBUG_ASSERTIONS) &&^I^I^I\$
WARNING:LEADING_SPACE: please, no spaces at the start of a line
#579: FILE: lib/eal/include/rte_bsd_queue.h:157:
+ (defined(_KERNEL) && defined(INVARIANTS))$
WARNING:TYPO_SPELLING: 'stdio' may be misspelled - perhaps 'studio'?
#589: FILE: lib/eal/include/rte_bsd_queue.h:167:
+#include <stdio.h>
^^^^^
WARNING:MACRO_ARG_UNUSED: Argument 'test' is not used in function-like macro
#606: FILE: lib/eal/include/rte_bsd_queue.h:184:
+#define QMD_ASSERT(test, fmt, ...) do {} while (0)
WARNING:MACRO_ARG_UNUSED: Argument 'fmt' is not used in function-like macro
#606: FILE: lib/eal/include/rte_bsd_queue.h:184:
+#define QMD_ASSERT(test, fmt, ...) do {} while (0)
WARNING:MACRO_ARG_UNUSED: Argument 'head' is not used in function-like macro
#633: FILE: lib/eal/include/rte_bsd_queue.h:211:
+#define SLIST_HEAD_INITIALIZER(head) \
+ { NULL }
ERROR:SPACING: need consistent spacing around '*' (ctx:WxV)
#664: FILE: lib/eal/include/rte_bsd_queue.h:242:
+ QUEUE_TYPEOF(type) *_Curelm = SLIST_FIRST(head1); \
^
ERROR:ASSIGN_IN_IF: do not use assignment in if condition
#666: FILE: lib/eal/include/rte_bsd_queue.h:244:
+ if ((SLIST_FIRST(head1) = SLIST_FIRST(head2)) != NULL) \
WARNING:SINGLE_STATEMENT_DO_WHILE_MACRO: Single statement macros should not use a do {} while (0) loop
#708: FILE: lib/eal/include/rte_bsd_queue.h:286:
+#define SLIST_INIT(head) do { \
+ SLIST_FIRST((head)) = NULL; \
+} while (0)
ERROR:SPACING: need consistent spacing around '*' (ctx:WxV)
#729: FILE: lib/eal/include/rte_bsd_queue.h:307:
+ QUEUE_TYPEOF(type) *_Curelm = SLIST_FIRST(head); \
^
ERROR:SPACING: need consistent spacing around '*' (ctx:WxV)
#762: FILE: lib/eal/include/rte_bsd_queue.h:340:
+ QUEUE_TYPEOF(type) *_Swap_first = SLIST_FIRST(head1); \
^
WARNING:MACRO_ARG_UNUSED: Argument 'head' is not used in function-like macro
#767: FILE: lib/eal/include/rte_bsd_queue.h:345:
+#define SLIST_END(head) NULL
ERROR:SPACING: space required before the open parenthesis '('
#852: FILE: lib/eal/include/rte_bsd_queue.h:430:
+ for((var) = STAILQ_FIRST((head)); \
ERROR:ASSIGN_IN_IF: do not use assignment in if condition
#877: FILE: lib/eal/include/rte_bsd_queue.h:455:
+ if ((STAILQ_NEXT((elm), field) = STAILQ_NEXT((tqelm), field)) == NULL)\
ERROR:ASSIGN_IN_IF: do not use assignment in if condition
#883: FILE: lib/eal/include/rte_bsd_queue.h:461:
+ if ((STAILQ_NEXT((elm), field) = STAILQ_FIRST((head))) == NULL) \
ERROR:SPACING: need consistent spacing around '*' (ctx:WxV)
#908: FILE: lib/eal/include/rte_bsd_queue.h:486:
+ QUEUE_TYPEOF(type) *_Curelm = STAILQ_FIRST(head); \
^
ERROR:ASSIGN_IN_IF: do not use assignment in if condition
#917: FILE: lib/eal/include/rte_bsd_queue.h:495:
+ if ((STAILQ_NEXT(elm, field) = \
ERROR:ASSIGN_IN_IF: do not use assignment in if condition
#923: FILE: lib/eal/include/rte_bsd_queue.h:501:
+ if ((STAILQ_FIRST((head)) = \
ERROR:SPACING: need consistent spacing around '*' (ctx:WxV)
#943: FILE: lib/eal/include/rte_bsd_queue.h:521:
+ QUEUE_TYPEOF(type) *_Swap_first = STAILQ_FIRST(head1); \
^
ERROR:SPACING: need consistent spacing around '*' (ctx:WxO)
#944: FILE: lib/eal/include/rte_bsd_queue.h:522:
+ QUEUE_TYPEOF(type) **_Swap_last = (head1)->stqh_last; \
^
ERROR:SPACING: need consistent spacing around '*' (ctx:WxV)
#958: FILE: lib/eal/include/rte_bsd_queue.h:536:
+ QUEUE_TYPEOF(type) *_Var, *_Varp, *_Varn; \
^
WARNING:MACRO_ARG_UNUSED: Argument 'head' is not used in function-like macro
#970: FILE: lib/eal/include/rte_bsd_queue.h:548:
+#define STAILQ_END(head) NULL
WARNING:MACRO_ARG_UNUSED: Argument 'head' is not used in function-like macro
#987: FILE: lib/eal/include/rte_bsd_queue.h:565:
+#define LIST_HEAD_INITIALIZER(head) \
+ { NULL }
ERROR:SPACING: need consistent spacing around '*' (ctx:WxV)
#1049: FILE: lib/eal/include/rte_bsd_queue.h:627:
+ QUEUE_TYPEOF(type) *_Curelm = LIST_FIRST(head1); \
^
ERROR:ASSIGN_IN_IF: do not use assignment in if condition
#1051: FILE: lib/eal/include/rte_bsd_queue.h:629:
+ if ((LIST_FIRST(head1) = LIST_FIRST(head2)) != NULL) { \
WARNING:SINGLE_STATEMENT_DO_WHILE_MACRO: Single statement macros should not use a do {} while (0) loop
#1092: FILE: lib/eal/include/rte_bsd_queue.h:670:
+#define LIST_INIT(head) do { \
+ LIST_FIRST((head)) = NULL; \
+} while (0)
ERROR:ASSIGN_IN_IF: do not use assignment in if condition
#1098: FILE: lib/eal/include/rte_bsd_queue.h:676:
+ if ((LIST_NEXT((elm), field) = LIST_NEXT((listelm), field)) != NULL)\
ERROR:ASSIGN_IN_IF: do not use assignment in if condition
#1115: FILE: lib/eal/include/rte_bsd_queue.h:693:
+ if ((LIST_NEXT((elm), field) = LIST_FIRST((head))) != NULL) \
ERROR:SPACING: need consistent spacing around '*' (ctx:WxV)
#1173: FILE: lib/eal/include/rte_bsd_queue.h:751:
+ QUEUE_TYPEOF(type) *swap_tmp = LIST_FIRST(head1); \
^
ERROR:ASSIGN_IN_IF: do not use assignment in if condition
#1176: FILE: lib/eal/include/rte_bsd_queue.h:754:
+ if ((swap_tmp = LIST_FIRST((head1))) != NULL) \
ERROR:ASSIGN_IN_IF: do not use assignment in if condition
#1178: FILE: lib/eal/include/rte_bsd_queue.h:756:
+ if ((swap_tmp = LIST_FIRST((head2))) != NULL) \
WARNING:MACRO_ARG_UNUSED: Argument 'head' is not used in function-like macro
#1182: FILE: lib/eal/include/rte_bsd_queue.h:760:
+#define LIST_END(head) NULL
WARNING:MACRO_ARG_UNUSED: Argument 'field' is not used in function-like macro
#1241: FILE: lib/eal/include/rte_bsd_queue.h:819:
+#define QMD_TAILQ_CHECK_TAIL(head, field) \
+ QMD_ASSERT(*(head)->tqh_last == NULL, \
+ "Bad tailq NEXT(%p->tqh_last) != NULL", \
+ (head))
ERROR:ASSIGN_IN_IF: do not use assignment in if condition
#1341: FILE: lib/eal/include/rte_bsd_queue.h:919:
+ if ((TAILQ_NEXT((elm), field) = TAILQ_NEXT((listelm), field)) != NULL)\
ERROR:ASSIGN_IN_IF: do not use assignment in if condition
#1366: FILE: lib/eal/include/rte_bsd_queue.h:944:
+ if ((TAILQ_NEXT((elm), field) = TAILQ_FIRST((head))) != NULL) \
WARNING:LEADING_SPACE: please, no spaces at the start of a line
#1398: FILE: lib/eal/include/rte_bsd_queue.h:976:
+ (TAILQ_EMPTY(head) ? NULL : __containerof((head)->tqh_last, QUEUE_TYPEOF(type), field.tqe_next))$
WARNING:LEADING_SPACE: please, no spaces at the start of a line
#1406: FILE: lib/eal/include/rte_bsd_queue.h:984:
+ ((elm)->field.tqe_prev == &(head)->tqh_first ? NULL :^I^I\$
WARNING:LEADING_SPACE: please, no spaces at the start of a line
#1407: FILE: lib/eal/include/rte_bsd_queue.h:985:
+ __containerof((elm)->field.tqe_prev, QUEUE_TYPEOF(type), field.tqe_next))$
ERROR:SPACING: need consistent spacing around '*' (ctx:WxV)
#1466: FILE: lib/eal/include/rte_bsd_queue.h:1044:
+ QUEUE_TYPEOF(type) *swap_first = (head1)->tqh_first; \
^
ERROR:SPACING: need consistent spacing around '*' (ctx:WxO)
#1467: FILE: lib/eal/include/rte_bsd_queue.h:1045:
+ QUEUE_TYPEOF(type) **swap_last = (head1)->tqh_last; \
^
ERROR:ASSIGN_IN_IF: do not use assignment in if condition
#1472: FILE: lib/eal/include/rte_bsd_queue.h:1050:
+ if ((swap_first = (head1)->tqh_first) != NULL) \
ERROR:ASSIGN_IN_IF: do not use assignment in if condition
#1476: FILE: lib/eal/include/rte_bsd_queue.h:1054:
+ if ((swap_first = (head2)->tqh_first) != NULL) \
WARNING:MACRO_ARG_UNUSED: Argument 'head' is not used in function-like macro
#1482: FILE: lib/eal/include/rte_bsd_queue.h:1060:
+#define TAILQ_END(head) NULL
total: 29 errors, 21 warnings, 1355 lines checked
Warning in lib/eal/include/rte_bsd_queue.h:
Writing to stdout or stderr
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-08-25 3:45 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20250825034126.12046-3-stephen@networkplumber.org>
2025-08-25 3:42 ` |WARNING| pw156098 [PATCH v2 02/43] eal: add BSD version of queue.h checkpatch
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).