From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 37AD946DC6 for ; Mon, 25 Aug 2025 05:45:02 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 289A3406B7; Mon, 25 Aug 2025 05:45:02 +0200 (CEST) Received: from dpdk.org (dpdk.org [92.243.24.197]) by mails.dpdk.org (Postfix) with ESMTP id 4E1944066F for ; Mon, 25 Aug 2025 05:45:01 +0200 (CEST) Received: by dpdk.org (Postfix, from userid 65534) id D924A1241FF; Mon, 25 Aug 2025 05:42:35 +0200 (CEST) Subject: |WARNING| pw156098 [PATCH v2 02/43] eal: add BSD version of queue.h In-Reply-To: <20250825034126.12046-3-stephen@networkplumber.org> References: <20250825034126.12046-3-stephen@networkplumber.org> To: test-report@dpdk.org From: checkpatch@dpdk.org Cc: Stephen Hemminger Message-Id: <20250825034235.D924A1241FF@dpdk.org> Date: Mon, 25 Aug 2025 05:42:35 +0200 (CEST) X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org 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 ^^^^^ 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