From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 0006FA04A4;
	Sun, 24 May 2020 19:30:18 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 4C7241D533;
	Sun, 24 May 2020 19:30:18 +0200 (CEST)
Received: from new2-smtp.messagingengine.com (new2-smtp.messagingengine.com
 [66.111.4.224]) by dpdk.org (Postfix) with ESMTP id 7E4E21D530
 for <dev@dpdk.org>; Sun, 24 May 2020 19:30:16 +0200 (CEST)
Received: from compute7.internal (compute7.nyi.internal [10.202.2.47])
 by mailnew.nyi.internal (Postfix) with ESMTP id A23B9580BB9;
 Sun, 24 May 2020 13:30:15 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute7.internal (MEProxy); Sun, 24 May 2020 13:30:15 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=
 from:to:cc:subject:date:message-id:in-reply-to:references
 :mime-version:content-transfer-encoding; s=fm1; bh=3Fpl+juPaoyKJ
 xeJDkWntsF8R1z0r5oulhHhU/2VM+E=; b=wp+5IIfdAkHzmLrBaWgtg/4aFuesN
 bt/FZacuT1AyRl9njEVTxjhknZJ2McgWIFDJXZ6SyBkAwU4yxZ/8wXTE0zpJ+2+m
 Nm+hXK2nwgtCemzUoRmkjWGN8wqBmNEDtSF79EbDdSZRGxdZBysOfdwYoAaSuonz
 p28h/6N8KAzzE7LCdCtlSuFc8bFPjXOUwZRQOMaUYvR328cfOP4n9hpAcjU17bjo
 +I9VE91Sf9TR8VUOE0mzr9uKF0d6jq6tdMGJCzgcE70pIiPZErqYU5q0Z5RgNrC3
 o0xBqA6emFk57FRbClW/1bXx5NOxJimX1uMeTAmz+XIbgOk5Dvbg3kYDg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-transfer-encoding:date:from
 :in-reply-to:message-id:mime-version:references:subject:to
 :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
 fm2; bh=3Fpl+juPaoyKJxeJDkWntsF8R1z0r5oulhHhU/2VM+E=; b=I750DSOe
 g+GmxY0DJHDBIi1ZL44lFqtLldL1HoFazwt8mPFrNLM264awhfij2eRMv1UMW0st
 rZ9bOW57SUQkEuL0oZxgRFh1RqLQA7UEBVlXcOzgj8XdQNocT9yytZlTno5UcBQN
 Q9YZWFHyqi1vAAP6OIojd2nBR/DgzJiKRAGRclcgtYJHBItoQ984JxdJgUcDBiZO
 jgKo3E7ny17cEkTAepDbdM7vlbPVuzF3bHH5NZv58ICFpTZe2OYX+ofwtH9hofRM
 8Hh6950ijeZcS0eFbZFPCqsja13AsTS5pLwfl4ZYKZIXyLxxCxFVLvgs8HUWpeDf
 1Cq82brIFIh2Mw==
X-ME-Sender: <xms:J6_KXjuK6lCCw6_Qw8rakpSxTQc1tJ-8NDtUDF5-KkAnxTnM9xpv9Q>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedruddukedgudduvdcutefuodetggdotefrod
 ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
 necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
 enucfjughrpefhvffufffkofgjfhgggfestdekredtredttdenucfhrhhomhepvfhhohhm
 rghsucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenuc
 ggtffrrghtthgvrhhnpeehtdduuefggeekveehueeitdefhfdvkeevtedvfeeivdffudeu
 udehudetiedvudenucffohhmrghinhepughpughkrdhorhhgnecukfhppeejjedrudefge
 drvddtfedrudekgeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhl
 fhhrohhmpehthhhomhgrshesmhhonhhjrghlohhnrdhnvght
X-ME-Proxy: <xmx:J6_KXkf5ZwxqpplNYsHVpACotJQhro9dtLNVVkeh5oQAHzmphrZx8w>
 <xmx:J6_KXmxFDwlmKMhrGfS_Pcb4fbadi2yBWWtp_9z3gd_6mS5CulVzYA>
 <xmx:J6_KXiMDU4BcM2QwnV8-acYYQ9qI9tLwkn2DW9Azn0c61nzOVnKtVw>
 <xmx:J6_KXiWTw2bUhjb4WHUjXLF7nfDHEbHfs73fgIxynd0fQtIYm4SsOg>
Received: from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184])
 by mail.messagingengine.com (Postfix) with ESMTPA id 789063066529;
 Sun, 24 May 2020 13:30:13 -0400 (EDT)
From: Thomas Monjalon <thomas@monjalon.net>
To: dev@dpdk.org
Cc: david.marchand@redhat.com, bruce.richardson@intel.com,
 John McNamara <john.mcnamara@intel.com>,
 Marko Kovacevic <marko.kovacevic@intel.com>,
 Matan Azrad <matan@mellanox.com>, Shahaf Shuler <shahafs@mellanox.com>,
 Viacheslav Ovsiienko <viacheslavo@mellanox.com>,
 Gagandeep Singh <g.singh@nxp.com>, Hemant Agrawal <hemant.agrawal@nxp.com>,
 Sachin Saxena <sachin.saxena@nxp.com>,
 Harini Ramakrishnan <harini.ramakrishnan@microsoft.com>,
 Omar Cardona <ocardona@microsoft.com>,
 Pallavi Kadam <pallavi.kadam@intel.com>,
 Ranjit Menon <ranjit.menon@intel.com>
Date: Sun, 24 May 2020 19:30:07 +0200
Message-Id: <20200524173007.1653549-1-thomas@monjalon.net>
X-Mailer: git-send-email 2.26.2
In-Reply-To: <20200217222654.2218926-1-thomas@monjalon.net>
References: <20200217222654.2218926-1-thomas@monjalon.net>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: [dpdk-dev] [PATCH v2] devtools: forbid variable declaration inside
	for
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

Some compilers raise an error when declaring a variable
in the middle of a function. This is a C99 allowance.
Even if DPDK switches globally to C99 or C11 standard,
the coding rules are for declarations at the beginning
of a block:
http://doc.dpdk.org/guides/contributing/coding_style.html#local-variables

This coding style is enforced by adding a check of
the common patterns like "for (int i;"

The occurrences of the checked pattern are fixed:
	'for *(\(char\|u\?int\|unsigned\|s\?size_t\)'
In the file dpaa2_sparser.c, the fix is to remove the unused macros.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
v2:
	- check s?size_t and fix one occurence
	- fix new occurences in Windows EAL
	- test-fib has been fixed in the meantime
---
 devtools/checkpatches.sh             |  8 ++++++++
 doc/guides/prog_guide/eventdev.rst   |  6 ++++--
 drivers/common/mlx5/mlx5_devx_cmds.c |  4 ++--
 drivers/common/mlx5/mlx5_glue.c      |  3 ++-
 drivers/crypto/caam_jr/caam_jr.c     |  5 ++++-
 drivers/net/dpaa2/dpaa2_sparser.c    | 30 ----------------------------
 lib/librte_eal/windows/eal_lcore.c   |  6 ++++--
 7 files changed, 24 insertions(+), 38 deletions(-)

diff --git a/devtools/checkpatches.sh b/devtools/checkpatches.sh
index 42b833e0d7..5763a7e953 100755
--- a/devtools/checkpatches.sh
+++ b/devtools/checkpatches.sh
@@ -69,6 +69,14 @@ check_forbidden_additions() { # <patch>
 		-f $(dirname $(readlink -f $0))/check-forbidden-tokens.awk \
 		"$1" || res=1
 
+	# forbid variable declaration inside "for" loop
+	awk -v FOLDERS='.' \
+		-v EXPRESSIONS='for *\\((char|u?int|unsigned|s?size_t)' \
+		-v RET_ON_FAIL=1 \
+		-v MESSAGE='Declaring a variable inside for()' \
+		-f $(dirname $(readlink -f $0))/check-forbidden-tokens.awk \
+		"$1" || res=1
+
 	# svg figures must be included with wildcard extension
 	# because of png conversion for pdf docs
 	awk -v FOLDERS='doc' \
diff --git a/doc/guides/prog_guide/eventdev.rst b/doc/guides/prog_guide/eventdev.rst
index 7bcd7603b1..ccde086f63 100644
--- a/doc/guides/prog_guide/eventdev.rst
+++ b/doc/guides/prog_guide/eventdev.rst
@@ -242,9 +242,10 @@ Once queues are set up successfully, create the ports as required.
         };
         int dev_id = 0;
         int rx_port_id = 0;
+        int worker_port_id;
         int err = rte_event_port_setup(dev_id, rx_port_id, &rx_conf);
 
-        for(int worker_port_id = 1; worker_port_id <= 4; worker_port_id++) {
+        for (worker_port_id = 1; worker_port_id <= 4; worker_port_id++) {
 	        int err = rte_event_port_setup(dev_id, worker_port_id, &worker_conf);
         }
 
@@ -277,8 +278,9 @@ can be achieved like this:
         uint8_t atomic_qs[] = {0, 1};
         uint8_t single_link_q = 2;
         uint8_t priority = RTE_EVENT_DEV_PRIORITY_NORMAL;
+        int worker_port_id;
 
-        for(int worker_port_id = 1; worker_port_id <= 4; worker_port_id++) {
+        for (worker_port_id = 1; worker_port_id <= 4; worker_port_id++) {
                 int links_made = rte_event_port_link(dev_id, worker_port_id, atomic_qs, NULL, 2);
         }
         int links_made = rte_event_port_link(dev_id, tx_port_id, &single_link_q, &priority, 1);
diff --git a/drivers/common/mlx5/mlx5_devx_cmds.c b/drivers/common/mlx5/mlx5_devx_cmds.c
index fba485e724..1c8b36c91a 100644
--- a/drivers/common/mlx5/mlx5_devx_cmds.c
+++ b/drivers/common/mlx5/mlx5_devx_cmds.c
@@ -416,7 +416,7 @@ mlx5_devx_cmd_query_hca_attr(void *ctx,
 	uint32_t in[MLX5_ST_SZ_DW(query_hca_cap_in)] = {0};
 	uint32_t out[MLX5_ST_SZ_DW(query_hca_cap_out)] = {0};
 	void *hcattr;
-	int status, syndrome, rc;
+	int status, syndrome, rc, i;
 
 	MLX5_SET(query_hca_cap_in, in, opcode, MLX5_CMD_OP_QUERY_HCA_CAP);
 	MLX5_SET(query_hca_cap_in, in, op_mod,
@@ -529,7 +529,7 @@ mlx5_devx_cmd_query_hca_attr(void *ctx,
 	attr->lro_max_msg_sz_mode = MLX5_GET
 					(per_protocol_networking_offload_caps,
 					 hcattr, lro_max_msg_sz_mode);
-	for (int i = 0 ; i < MLX5_LRO_NUM_SUPP_PERIODS ; i++) {
+	for (i = 0 ; i < MLX5_LRO_NUM_SUPP_PERIODS ; i++) {
 		attr->lro_timer_supported_periods[i] =
 			MLX5_GET(per_protocol_networking_offload_caps, hcattr,
 				 lro_timer_supported_periods[i]);
diff --git a/drivers/common/mlx5/mlx5_glue.c b/drivers/common/mlx5/mlx5_glue.c
index f270f677b7..563941c2df 100644
--- a/drivers/common/mlx5/mlx5_glue.c
+++ b/drivers/common/mlx5/mlx5_glue.c
@@ -587,11 +587,12 @@ mlx5_glue_dv_create_flow(void *matcher,
 	return mlx5dv_dr_rule_create(matcher, match_value, num_actions,
 				     (struct mlx5dv_dr_action **)actions);
 #else
+	size_t i;
 	struct mlx5dv_flow_action_attr actions_attr[8];
 
 	if (num_actions > 8)
 		return NULL;
-	for (size_t i = 0; i < num_actions; i++)
+	for (i = 0; i < num_actions; i++)
 		actions_attr[i] =
 			*((struct mlx5dv_flow_action_attr *)(actions[i]));
 	return mlx5dv_create_flow(matcher, match_value,
diff --git a/drivers/crypto/caam_jr/caam_jr.c b/drivers/crypto/caam_jr/caam_jr.c
index caf2386772..77fa6ff2d3 100644
--- a/drivers/crypto/caam_jr/caam_jr.c
+++ b/drivers/crypto/caam_jr/caam_jr.c
@@ -1351,6 +1351,9 @@ caam_jr_enqueue_op(struct rte_crypto_op *op, struct caam_jr_qp *qp)
 	struct caam_jr_session *ses;
 	struct caam_jr_op_ctx *ctx = NULL;
 	struct sec_job_descriptor_t *jobdescr __rte_unused;
+#if CAAM_JR_DBG
+	int i;
+#endif
 
 	switch (op->sess_type) {
 	case RTE_CRYPTO_OP_WITH_SESSION:
@@ -1413,7 +1416,7 @@ caam_jr_enqueue_op(struct rte_crypto_op *op, struct caam_jr_qp *qp)
 			rte_pktmbuf_data_len(op->sym->m_src));
 
 	printf("\n JD before conversion\n");
-	for (int i = 0; i < 12; i++)
+	for (i = 0; i < 12; i++)
 		printf("\n 0x%08x", ctx->jobdes.desc[i]);
 #endif
 
diff --git a/drivers/net/dpaa2/dpaa2_sparser.c b/drivers/net/dpaa2/dpaa2_sparser.c
index 7e8fedd818..ba0d500f74 100644
--- a/drivers/net/dpaa2/dpaa2_sparser.c
+++ b/drivers/net/dpaa2/dpaa2_sparser.c
@@ -145,36 +145,6 @@ struct frame_attr_ext frame_attr_ext_arr[] = {
 	/* 112 */ {NULL,                                       0, 0x0000}
 };
 
-#define SWAP_WORD(pr)						\
-do {								\
-	for (int i = 0; i < 4 ; i++) {				\
-		pr[i] = pr[i] ^ pr[6 - i + 1];			\
-		pr[6 - i + 1] = pr[6 - i + 1] ^ pr[i];		\
-		pr[i] = pr[i] ^ pr[6 - i + 1];			\
-	}							\
-} while (0)
-
-#define fa_print_sb()						\
-do {								\
-	if (rte_cpu_to_be_32(*pdw) & frm_attr->fld_mask)	\
-		DPAA2_PMD_DP_DEBUG("t %s : Yes", frm_attr->fld_name);	\
-} while (0)
-
-#define fa_print_sb_ext()					\
-do {								\
-	if (rte_cpu_to_be_16(*pw) & frm_attr_ext->fld_mask)	\
-		DPAA2_PMD_DP_DEBUG("\t %s : Yes",			\
-			  frm_attr_ext->fld_name);		\
-} while (0)
-
-#define fa_print_mb_ext()					\
-do {								\
-	if (rte_cpu_to_be_16(*pw) & frm_attr_ext->fld_mask)	\
-		DPAA2_PMD_DP_DEBUG("\t %s : 0x%02x",			\
-			  frm_attr_ext->fld_name,		\
-			  rte_cpu_to_be_16(*pw) & frm_attr_ext->fld_mask);\
-} while (0)
-
 int dpaa2_eth_load_wriop_soft_parser(struct dpaa2_dev_priv *priv,
 				     enum dpni_soft_sequence_dest dest)
 {
diff --git a/lib/librte_eal/windows/eal_lcore.c b/lib/librte_eal/windows/eal_lcore.c
index 82ee454134..760b3fcfed 100644
--- a/lib/librte_eal/windows/eal_lcore.c
+++ b/lib/librte_eal/windows/eal_lcore.c
@@ -29,6 +29,8 @@ static struct _wcpu_map {
 void
 eal_create_cpu_map()
 {
+	unsigned int socket, core;
+
 	wcpu_map.total_procs =
 		GetActiveProcessorCount(ALL_PROCESSOR_GROUPS);
 
@@ -56,9 +58,9 @@ eal_create_cpu_map()
 	 * equally across the sockets.
 	 */
 	unsigned int lcore = 0;
-	for (unsigned int socket = 0; socket <
+	for (socket = 0; socket <
 			wcpu_map.proc_sockets; ++socket) {
-		for (unsigned int core = 0;
+		for (core = 0;
 			core < (wcpu_map.proc_cores / wcpu_map.proc_sockets);
 			++core) {
 			wcpu_map.wlcore_map[lcore]
-- 
2.26.2