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 0EFE448BF9 for ; Mon, 1 Dec 2025 12:46:50 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B6FC3402F2; Mon, 1 Dec 2025 12:46:48 +0100 (CET) Received: from dpdk.org (dpdk.org [92.243.24.197]) by mails.dpdk.org (Postfix) with ESMTP id D7893402F2 for ; Mon, 1 Dec 2025 12:46:47 +0100 (CET) Received: by dpdk.org (Postfix, from userid 65534) id B8ED21223DB; Mon, 1 Dec 2025 12:45:32 +0100 (CET) Subject: |WARNING| pw159068 [PATCH v3 01/31] eal: add more min/max helpers In-Reply-To: <20251201114448.1441377-2-bruce.richardson@intel.com> References: <20251201114448.1441377-2-bruce.richardson@intel.com> To: test-report@dpdk.org From: checkpatch@dpdk.org Cc: Bruce Richardson Message-Id: <20251201114532.B8ED21223DB@dpdk.org> Date: Mon, 1 Dec 2025 12:45:32 +0100 (CET) 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/159068 _coding style issues_ ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #96: FILE: lib/eal/include/rte_common.h:805: +#define RTE_MIN3(a, b, c) \ + __extension__ ({ \ + typeof (a) _a = (a); \ + typeof (b) _b = (b); \ + typeof (c) _c = (c); \ + _a < _b ? (_a < _c ? _a : _c) \ + : (_b < _c ? _b : _c); \ + }) 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. WARNING:SPACING: space prohibited between function name and open parenthesis '(' #98: FILE: lib/eal/include/rte_common.h:807: + typeof (a) _a = (a); \ WARNING:SPACING: space prohibited between function name and open parenthesis '(' #99: FILE: lib/eal/include/rte_common.h:808: + typeof (b) _b = (b); \ WARNING:SPACING: space prohibited between function name and open parenthesis '(' #100: FILE: lib/eal/include/rte_common.h:809: + typeof (c) _c = (c); \ ERROR:CODE_INDENT: code indent should use tabs where possible #102: FILE: lib/eal/include/rte_common.h:811: +^I^I : (_b < _c ? _b : _c); \$ WARNING:SPACING: space prohibited between function name and open parenthesis '(' #116: FILE: lib/eal/include/rte_common.h:830: + typeof (a) _ax = (a); \ WARNING:SPACING: space prohibited between function name and open parenthesis '(' #117: FILE: lib/eal/include/rte_common.h:831: + typeof (b) _bx = (b); \ ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses #124: FILE: lib/eal/include/rte_common.h:838: +#define RTE_MAX3(a, b, c) \ + __extension__ ({ \ + typeof (a) _a = (a); \ + typeof (b) _b = (b); \ + typeof (c) _c = (c); \ + _a > _b ? (_a > _c ? _a : _c) \ + : (_b > _c ? _b : _c); \ }) 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. WARNING:SPACING: space prohibited between function name and open parenthesis '(' #126: FILE: lib/eal/include/rte_common.h:840: + typeof (a) _a = (a); \ WARNING:SPACING: space prohibited between function name and open parenthesis '(' #127: FILE: lib/eal/include/rte_common.h:841: + typeof (b) _b = (b); \ WARNING:SPACING: space prohibited between function name and open parenthesis '(' #128: FILE: lib/eal/include/rte_common.h:842: + typeof (c) _c = (c); \ ERROR:CODE_INDENT: code indent should use tabs where possible #130: FILE: lib/eal/include/rte_common.h:844: +^I^I : (_b > _c ? _b : _c); \$ total: 4 errors, 8 warnings, 43 lines checked