DPDK patches and discussions
 help / color / mirror / Atom feed
* [RFC 0/7] avoid unnecessary use of comma op
@ 2025-03-12 23:26 Stephen Hemminger
  2025-03-12 23:26 ` [RFC 1/7] eal: replace unnecessary comma operator Stephen Hemminger
                   ` (7 more replies)
  0 siblings, 8 replies; 17+ messages in thread
From: Stephen Hemminger @ 2025-03-12 23:26 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

This series was motivated by recent thread on netdev
about build with -Wcomma

Stephen Hemminger (7):
  eal: replace unnecessary comma operator
  ipsec: replace unnecessary comma operator
  graph: replace unnecessary comma operator
  net/mlx4: replace unnecessary comma operators
  net/mlx5: replace unnecessary comma operators
  test: replace unnecessary comma operators
  app/testpmd: replace comma operator with bracket

 app/test-pmd/cmdline_flow.c          |  6 ++++--
 app/test/test_compressdev.c          |  4 ++--
 app/test/test_link_bonding_rssconf.c |  2 +-
 app/test/test_thash.c                |  2 +-
 drivers/net/mlx4/mlx4_rxtx.c         |  2 +-
 drivers/net/mlx5/linux/mlx5_os.c     |  4 ++--
 drivers/net/mlx5/linux/mlx5_verbs.c  |  2 +-
 drivers/net/mlx5/mlx5_flow.c         | 12 ++++++------
 drivers/net/mlx5/mlx5_flow_dv.c      |  2 +-
 drivers/net/mlx5/mlx5_nta_split.c    |  4 ++--
 lib/eal/common/rte_malloc.c          |  4 ++--
 lib/eal/linux/eal_alarm.c            |  6 ++++--
 lib/graph/graph_stats.c              |  2 +-
 lib/ipsec/misc.h                     |  3 ++-
 14 files changed, 30 insertions(+), 25 deletions(-)

-- 
2.47.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [RFC 1/7] eal: replace unnecessary comma operator
  2025-03-12 23:26 [RFC 0/7] avoid unnecessary use of comma op Stephen Hemminger
@ 2025-03-12 23:26 ` Stephen Hemminger
  2025-03-12 23:26 ` [RFC 2/7] ipsec: " Stephen Hemminger
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Stephen Hemminger @ 2025-03-12 23:26 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Anatoly Burakov, Tyler Retzlaff

Use of comma as statement separator is discouraged and
reported as warning by clang with -Wcomma

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/eal/common/rte_malloc.c | 4 ++--
 lib/eal/linux/eal_alarm.c   | 6 ++++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/lib/eal/common/rte_malloc.c b/lib/eal/common/rte_malloc.c
index 3eed4d4be6..f07fc3e245 100644
--- a/lib/eal/common/rte_malloc.c
+++ b/lib/eal/common/rte_malloc.c
@@ -176,8 +176,8 @@ rte_realloc_socket(void *ptr, size_t size, unsigned int align, int socket)
 	}
 
 	user_size = size;
-
-	size = RTE_CACHE_LINE_ROUNDUP(size), align = RTE_CACHE_LINE_ROUNDUP(align);
+	size = RTE_CACHE_LINE_ROUNDUP(size);
+	align = RTE_CACHE_LINE_ROUNDUP(align);
 
 	/* check requested socket id and alignment matches first, and if ok,
 	 * see if we can resize block
diff --git a/lib/eal/linux/eal_alarm.c b/lib/eal/linux/eal_alarm.c
index 9fe14ade63..fbbba2780e 100644
--- a/lib/eal/linux/eal_alarm.c
+++ b/lib/eal/linux/eal_alarm.c
@@ -117,8 +117,10 @@ eal_alarm_callback(void *arg __rte_unused)
 		atime.it_value.tv_sec = ap->time.tv_sec;
 		atime.it_value.tv_nsec = ap->time.tv_usec * NS_PER_US;
 		/* perform borrow for subtraction if necessary */
-		if (now.tv_nsec > (ap->time.tv_usec * NS_PER_US))
-			atime.it_value.tv_sec--, atime.it_value.tv_nsec += US_PER_S * NS_PER_US;
+		if (now.tv_nsec > (ap->time.tv_usec * NS_PER_US)) {
+			atime.it_value.tv_sec--;
+			atime.it_value.tv_nsec += US_PER_S * NS_PER_US;
+		}
 
 		atime.it_value.tv_sec -= now.tv_sec;
 		atime.it_value.tv_nsec -= now.tv_nsec;
-- 
2.47.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [RFC 2/7] ipsec: replace unnecessary comma operator
  2025-03-12 23:26 [RFC 0/7] avoid unnecessary use of comma op Stephen Hemminger
  2025-03-12 23:26 ` [RFC 1/7] eal: replace unnecessary comma operator Stephen Hemminger
@ 2025-03-12 23:26 ` Stephen Hemminger
  2025-03-12 23:27 ` [RFC 3/7] graph: " Stephen Hemminger
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Stephen Hemminger @ 2025-03-12 23:26 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Konstantin Ananyev, Vladimir Medvedkin

Use of comma as statement separator is discouraged and
reported as warning by clang with -Wcomma

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/ipsec/misc.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/ipsec/misc.h b/lib/ipsec/misc.h
index fd4d3f5256..54dc5c2d4d 100644
--- a/lib/ipsec/misc.h
+++ b/lib/ipsec/misc.h
@@ -126,7 +126,8 @@ cpu_crypto_bulk(const struct rte_ipsec_session *ss,
 
 	const uint32_t vnum = RTE_DIM(vec);
 
-	j = 0, n = 0;
+	j = 0;
+	n = 0;
 	vofs = 0;
 	for (i = 0; i != num; i++) {
 
-- 
2.47.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [RFC 3/7] graph: replace unnecessary comma operator
  2025-03-12 23:26 [RFC 0/7] avoid unnecessary use of comma op Stephen Hemminger
  2025-03-12 23:26 ` [RFC 1/7] eal: replace unnecessary comma operator Stephen Hemminger
  2025-03-12 23:26 ` [RFC 2/7] ipsec: " Stephen Hemminger
@ 2025-03-12 23:27 ` Stephen Hemminger
  2025-03-12 23:27 ` [RFC 4/7] net/mlx4: replace unnecessary comma operators Stephen Hemminger
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Stephen Hemminger @ 2025-03-12 23:27 UTC (permalink / raw)
  To: dev
  Cc: Stephen Hemminger, Jerin Jacob, Kiran Kumar K, Nithin Dabilpuram,
	Zhirun Yan

Use of comma as statement separator is discouraged and
reported as warning by clang with -Wcomma

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/graph/graph_stats.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/graph/graph_stats.c b/lib/graph/graph_stats.c
index 0bbbd9fb7c..147d3b9615 100644
--- a/lib/graph/graph_stats.c
+++ b/lib/graph/graph_stats.c
@@ -253,7 +253,7 @@ stats_mem_populate(struct rte_graph_cluster_stats **stats_in,
 	*stats_in = NULL;
 
 	/* Clear the new struct cluster_node area */
-	cluster = RTE_PTR_ADD(stats, stats->sz),
+	cluster = RTE_PTR_ADD(stats, stats->sz);
 	memset(cluster, 0, stats->cluster_node_size);
 	memcpy(cluster->stat.name, graph_node->node->name, RTE_NODE_NAMESIZE);
 	cluster->stat.id = graph_node->node->id;
-- 
2.47.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [RFC 4/7] net/mlx4: replace unnecessary comma operators
  2025-03-12 23:26 [RFC 0/7] avoid unnecessary use of comma op Stephen Hemminger
                   ` (2 preceding siblings ...)
  2025-03-12 23:27 ` [RFC 3/7] graph: " Stephen Hemminger
@ 2025-03-12 23:27 ` Stephen Hemminger
  2025-03-12 23:27 ` [RFC 5/7] net/mlx5: " Stephen Hemminger
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Stephen Hemminger @ 2025-03-12 23:27 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Matan Azrad, Viacheslav Ovsiienko

Use of comma as statement separator is discouraged and
reported as warning by clang with -Wcomma

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/mlx4/mlx4_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx4/mlx4_rxtx.c b/drivers/net/mlx4/mlx4_rxtx.c
index 947cae491c..a4df6f7bcb 100644
--- a/drivers/net/mlx4/mlx4_rxtx.c
+++ b/drivers/net/mlx4/mlx4_rxtx.c
@@ -638,7 +638,7 @@ mlx4_tx_burst_fill_tso_hdr(struct rte_mbuf *buf,
 			thdr.vto = sq->buf;
 		/* New TXBB, stash the first 32bits for later use. */
 		pv[*pv_counter].dst = (volatile uint32_t *)thdr.to;
-		pv[(*pv_counter)++].val = *(uint32_t *)from,
+		pv[(*pv_counter)++].val = *(uint32_t *)from;
 		from += sizeof(uint32_t);
 		thdr.to += sizeof(uint32_t);
 		remain_size -= txbb_avail_space + sizeof(uint32_t);
-- 
2.47.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [RFC 5/7] net/mlx5: replace unnecessary comma operators
  2025-03-12 23:26 [RFC 0/7] avoid unnecessary use of comma op Stephen Hemminger
                   ` (3 preceding siblings ...)
  2025-03-12 23:27 ` [RFC 4/7] net/mlx4: replace unnecessary comma operators Stephen Hemminger
@ 2025-03-12 23:27 ` Stephen Hemminger
  2025-03-12 23:27 ` [RFC 6/7] test: " Stephen Hemminger
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Stephen Hemminger @ 2025-03-12 23:27 UTC (permalink / raw)
  To: dev
  Cc: Stephen Hemminger, Dariusz Sosnowski, Viacheslav Ovsiienko,
	Bing Zhao, Ori Kam, Suanming Mou, Matan Azrad

Use of comma as statement separator is discouraged and
reported as warning by clang with -Wcomma

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/mlx5/linux/mlx5_os.c    |  4 ++--
 drivers/net/mlx5/linux/mlx5_verbs.c |  2 +-
 drivers/net/mlx5/mlx5_flow.c        | 12 ++++++------
 drivers/net/mlx5/mlx5_flow_dv.c     |  2 +-
 drivers/net/mlx5/mlx5_nta_split.c   |  4 ++--
 5 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index 573e846ed2..5c75d25aa8 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -431,8 +431,8 @@ __mlx5_discovery_misc5_cap(struct mlx5_priv *priv)
 		DRV_LOG(INFO, "No SW steering support");
 		return;
 	}
-	dv_attr.type = IBV_FLOW_ATTR_NORMAL,
-	dv_attr.match_mask = (void *)&matcher_mask,
+	dv_attr.type = IBV_FLOW_ATTR_NORMAL;
+	dv_attr.match_mask = (void *)&matcher_mask;
 	dv_attr.match_criteria_enable =
 			(1 << MLX5_MATCH_CRITERIA_ENABLE_OUTER_BIT) |
 			(1 << MLX5_MATCH_CRITERIA_ENABLE_MISC5_BIT);
diff --git a/drivers/net/mlx5/linux/mlx5_verbs.c b/drivers/net/mlx5/linux/mlx5_verbs.c
index 454bd7c77e..10fbe08ac3 100644
--- a/drivers/net/mlx5/linux/mlx5_verbs.c
+++ b/drivers/net/mlx5/linux/mlx5_verbs.c
@@ -877,7 +877,7 @@ mlx5_txq_ibv_qp_create(struct rte_eth_dev *dev, uint16_t idx)
 	 * dev_cap.max_sge limit and will still work properly.
 	 */
 	qp_attr.cap.max_send_sge = 1;
-	qp_attr.qp_type = IBV_QPT_RAW_PACKET,
+	qp_attr.qp_type = IBV_QPT_RAW_PACKET;
 	/* Do *NOT* enable this, completions events are managed per Tx burst. */
 	qp_attr.sq_sig_all = 0;
 	qp_attr.pd = priv->sh->cdev->pd;
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index f8b3e504b3..602993b8f7 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -11108,12 +11108,12 @@ flow_tunnel_add_default_miss(struct rte_eth_dev *dev,
 				(error, ENOMEM,
 				RTE_FLOW_ERROR_TYPE_ACTION_CONF,
 				NULL, "invalid default miss RSS");
-		ctx->action_rss.func = RTE_ETH_HASH_FUNCTION_DEFAULT,
-		ctx->action_rss.level = 0,
-		ctx->action_rss.types = priv->rss_conf.rss_hf,
-		ctx->action_rss.key_len = priv->rss_conf.rss_key_len,
-		ctx->action_rss.queue_num = priv->reta_idx_n,
-		ctx->action_rss.key = priv->rss_conf.rss_key,
+		ctx->action_rss.func = RTE_ETH_HASH_FUNCTION_DEFAULT;
+		ctx->action_rss.level = 0;
+		ctx->action_rss.types = priv->rss_conf.rss_hf;
+		ctx->action_rss.key_len = priv->rss_conf.rss_key_len;
+		ctx->action_rss.queue_num = priv->reta_idx_n;
+		ctx->action_rss.key = priv->rss_conf.rss_key;
 		ctx->action_rss.queue = ctx->queue;
 		if (!priv->reta_idx_n || !priv->rxqs_n)
 			return rte_flow_error_set
diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index 61d3101ce8..ad1f5fc124 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -18804,7 +18804,7 @@ flow_dv_create_mtr_tbls(struct rte_eth_dev *dev,
 			}
 		}
 		/* Create default matcher in drop table. */
-		matcher.tbl = mtrmng->drop_tbl[domain],
+		matcher.tbl = mtrmng->drop_tbl[domain];
 		tbl_data = container_of(mtrmng->drop_tbl[domain],
 				struct mlx5_flow_tbl_data_entry, tbl);
 		if (!mtrmng->def_matcher[domain]) {
diff --git a/drivers/net/mlx5/mlx5_nta_split.c b/drivers/net/mlx5/mlx5_nta_split.c
index 6a85ab7fd1..c95da56d72 100644
--- a/drivers/net/mlx5/mlx5_nta_split.c
+++ b/drivers/net/mlx5/mlx5_nta_split.c
@@ -345,8 +345,8 @@ flow_nta_mreg_create_cb(void *tool_ctx, void *cb_ctx)
 	/* (match REG 'tag') or all. */
 	items[1].type = RTE_FLOW_ITEM_TYPE_END;
 	/* (Mark) or void + copy to Rx meta + jump to the MREG_ACT_TABLE_GROUP. */
-	actions[1].type = RTE_FLOW_ACTION_TYPE_MODIFY_FIELD,
-	actions[1].conf = &rx_meta,
+	actions[1].type = RTE_FLOW_ACTION_TYPE_MODIFY_FIELD;
+	actions[1].conf = &rx_meta;
 	actions[2].type = RTE_FLOW_ACTION_TYPE_JUMP;
 	actions[2].conf = &jump;
 	actions[3].type = RTE_FLOW_ACTION_TYPE_END;
-- 
2.47.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [RFC 6/7] test: replace unnecessary comma operators
  2025-03-12 23:26 [RFC 0/7] avoid unnecessary use of comma op Stephen Hemminger
                   ` (4 preceding siblings ...)
  2025-03-12 23:27 ` [RFC 5/7] net/mlx5: " Stephen Hemminger
@ 2025-03-12 23:27 ` Stephen Hemminger
  2025-03-12 23:27 ` [RFC 7/7] app/testpmd: replace comma operator with bracket Stephen Hemminger
  2025-08-14 21:28 ` [PATCH v2 0/6] Enable warnings about use of comma operator Stephen Hemminger
  7 siblings, 0 replies; 17+ messages in thread
From: Stephen Hemminger @ 2025-03-12 23:27 UTC (permalink / raw)
  To: dev
  Cc: Stephen Hemminger, Fan Zhang, Ashish Gupta, Chas Williams,
	Min Hu (Connor),
	Yipeng Wang, Sameh Gobriel, Bruce Richardson, Vladimir Medvedkin

Use of comma as statement separator is discouraged and
reported as warning by clang with -Wcomma

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 app/test/test_compressdev.c          | 4 ++--
 app/test/test_link_bonding_rssconf.c | 2 +-
 app/test/test_thash.c                | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/app/test/test_compressdev.c b/app/test/test_compressdev.c
index 81b8e02006..304adfe94d 100644
--- a/app/test/test_compressdev.c
+++ b/app/test/test_compressdev.c
@@ -273,7 +273,7 @@ testsuite_setup(void)
 
 	/* Initializes default values for compress/decompress xforms */
 	ts_params->def_comp_xform->type = RTE_COMP_COMPRESS;
-	ts_params->def_comp_xform->compress.algo = RTE_COMP_ALGO_DEFLATE,
+	ts_params->def_comp_xform->compress.algo = RTE_COMP_ALGO_DEFLATE;
 	ts_params->def_comp_xform->compress.deflate.huffman =
 						RTE_COMP_HUFFMAN_DEFAULT;
 	ts_params->def_comp_xform->compress.level = RTE_COMP_LEVEL_PMD_DEFAULT;
@@ -281,7 +281,7 @@ testsuite_setup(void)
 	ts_params->def_comp_xform->compress.window_size = DEFAULT_WINDOW_SIZE;
 
 	ts_params->def_decomp_xform->type = RTE_COMP_DECOMPRESS;
-	ts_params->def_decomp_xform->decompress.algo = RTE_COMP_ALGO_DEFLATE,
+	ts_params->def_decomp_xform->decompress.algo = RTE_COMP_ALGO_DEFLATE;
 	ts_params->def_decomp_xform->decompress.chksum = RTE_COMP_CHECKSUM_NONE;
 	ts_params->def_decomp_xform->decompress.window_size = DEFAULT_WINDOW_SIZE;
 
diff --git a/app/test/test_link_bonding_rssconf.c b/app/test/test_link_bonding_rssconf.c
index 2cb689b1de..693b0ccd12 100644
--- a/app/test/test_link_bonding_rssconf.c
+++ b/app/test/test_link_bonding_rssconf.c
@@ -384,7 +384,7 @@ test_propagate(void)
 		}
 
 		memset(bond_rss_key, i, sizeof(bond_rss_key));
-		bond_rss_conf.rss_hf = default_rss_hf,
+		bond_rss_conf.rss_hf = default_rss_hf;
 		bond_rss_conf.rss_key = bond_rss_key;
 		bond_rss_conf.rss_key_len = 40;
 
diff --git a/app/test/test_thash.c b/app/test/test_thash.c
index 33b0c6adac..398db71839 100644
--- a/app/test/test_thash.c
+++ b/app/test/test_thash.c
@@ -910,7 +910,7 @@ test_adjust_tuple_mult_reta(void)
 {
 	uint32_t i, j, np, nt;
 
-	nt = 0, np = 0;
+	nt = 0; np = 0;
 	for (i = 0; i < CHAR_BIT; i++) {
 		for (j = 6; j <= RTE_THASH_RETA_SZ_MAX - i; j++) {
 			np += (test_adjust_tuple_mb(j, i) == 0);
-- 
2.47.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [RFC 7/7] app/testpmd: replace comma operator with bracket
  2025-03-12 23:26 [RFC 0/7] avoid unnecessary use of comma op Stephen Hemminger
                   ` (5 preceding siblings ...)
  2025-03-12 23:27 ` [RFC 6/7] test: " Stephen Hemminger
@ 2025-03-12 23:27 ` Stephen Hemminger
  2025-08-14 21:28 ` [PATCH v2 0/6] Enable warnings about use of comma operator Stephen Hemminger
  7 siblings, 0 replies; 17+ messages in thread
From: Stephen Hemminger @ 2025-03-12 23:27 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Ori Kam, Aman Singh

Use while with brackets in favor of comma operator.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 app/test-pmd/cmdline_flow.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index ad646444f0..26807b0465 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -8333,8 +8333,10 @@ parse_prefix(struct context *ctx, const struct token *token,
 		if (!ctx->object)
 			return len;
 		extra -= u;
-		while (u--)
-			(v <<= 1, v |= 1);
+		while (u--) {
+			v <<= 1;
+			v |= 1;
+		}
 		v <<= extra;
 		if (!arg_entry_bf_fill(ctx->object, v, arg) ||
 		    !arg_entry_bf_fill(ctx->objmask, -1, arg))
-- 
2.47.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH v2 0/6] Enable warnings about use of comma operator
  2025-03-12 23:26 [RFC 0/7] avoid unnecessary use of comma op Stephen Hemminger
                   ` (6 preceding siblings ...)
  2025-03-12 23:27 ` [RFC 7/7] app/testpmd: replace comma operator with bracket Stephen Hemminger
@ 2025-08-14 21:28 ` Stephen Hemminger
  2025-08-14 21:28   ` [PATCH v2 1/6] eal: replace unnecessary " Stephen Hemminger
                     ` (7 more replies)
  7 siblings, 8 replies; 17+ messages in thread
From: Stephen Hemminger @ 2025-08-14 21:28 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

This series was motivated by recent thread on netdev
about build with -Wcomma in clang. This warning catches code
that uses comma where a semi-colon is a better choice.

v2 - rebase and drop any driver related changes

Stephen Hemminger (6):
  eal: replace unnecessary comma operator
  ipsec: replace unnecessary comma operator
  graph: replace unnecessary comma operator
  test: replace unnecessary comma operators
  app/testpmd: replace comma operator with bracket
  config: enable comma warnings

 app/test-pmd/cmdline_flow.c          |  6 ++++--
 app/test-pmd/config.c                | 10 ++++++----
 app/test/test_compressdev.c          |  4 ++--
 app/test/test_link_bonding_rssconf.c |  2 +-
 app/test/test_thash.c                |  2 +-
 config/meson.build                   |  1 +
 drivers/meson.build                  |  2 +-
 lib/eal/common/rte_malloc.c          |  4 ++--
 lib/eal/linux/eal_alarm.c            |  6 ++++--
 lib/graph/graph_stats.c              |  2 +-
 lib/ipsec/misc.h                     |  3 ++-
 11 files changed, 25 insertions(+), 17 deletions(-)

--
2.47.2

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH v2 1/6] eal: replace unnecessary comma operator
  2025-08-14 21:28 ` [PATCH v2 0/6] Enable warnings about use of comma operator Stephen Hemminger
@ 2025-08-14 21:28   ` Stephen Hemminger
  2025-08-14 21:28   ` [PATCH v2 2/6] ipsec: " Stephen Hemminger
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Stephen Hemminger @ 2025-08-14 21:28 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Anatoly Burakov, Tyler Retzlaff

Use of comma as statement separator is discouraged and
reported as warning by clang with -Wcomma

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/eal/common/rte_malloc.c | 4 ++--
 lib/eal/linux/eal_alarm.c   | 6 ++++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/lib/eal/common/rte_malloc.c b/lib/eal/common/rte_malloc.c
index 3a86c19490..388e5a63b6 100644
--- a/lib/eal/common/rte_malloc.c
+++ b/lib/eal/common/rte_malloc.c
@@ -202,8 +202,8 @@ rte_realloc_socket(void *ptr, size_t size, unsigned int align, int socket)
 	}
 
 	user_size = size;
-
-	size = RTE_CACHE_LINE_ROUNDUP(size), align = RTE_CACHE_LINE_ROUNDUP(align);
+	size = RTE_CACHE_LINE_ROUNDUP(size);
+	align = RTE_CACHE_LINE_ROUNDUP(align);
 
 	/* check requested socket id and alignment matches first, and if ok,
 	 * see if we can resize block
diff --git a/lib/eal/linux/eal_alarm.c b/lib/eal/linux/eal_alarm.c
index eb6a21d4f0..a1433eb867 100644
--- a/lib/eal/linux/eal_alarm.c
+++ b/lib/eal/linux/eal_alarm.c
@@ -125,8 +125,10 @@ eal_alarm_callback(void *arg __rte_unused)
 		atime.it_value.tv_sec = ap->time.tv_sec;
 		atime.it_value.tv_nsec = ap->time.tv_usec * NS_PER_US;
 		/* perform borrow for subtraction if necessary */
-		if (now.tv_nsec > (ap->time.tv_usec * NS_PER_US))
-			atime.it_value.tv_sec--, atime.it_value.tv_nsec += US_PER_S * NS_PER_US;
+		if (now.tv_nsec > (ap->time.tv_usec * NS_PER_US)) {
+			atime.it_value.tv_sec--;
+			atime.it_value.tv_nsec += US_PER_S * NS_PER_US;
+		}
 
 		atime.it_value.tv_sec -= now.tv_sec;
 		atime.it_value.tv_nsec -= now.tv_nsec;
-- 
2.47.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH v2 2/6] ipsec: replace unnecessary comma operator
  2025-08-14 21:28 ` [PATCH v2 0/6] Enable warnings about use of comma operator Stephen Hemminger
  2025-08-14 21:28   ` [PATCH v2 1/6] eal: replace unnecessary " Stephen Hemminger
@ 2025-08-14 21:28   ` Stephen Hemminger
  2025-08-14 21:28   ` [PATCH v2 3/6] graph: " Stephen Hemminger
                     ` (5 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Stephen Hemminger @ 2025-08-14 21:28 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Konstantin Ananyev, Vladimir Medvedkin

Use of comma as statement separator is discouraged and
reported as warning by clang with -Wcomma

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/ipsec/misc.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/ipsec/misc.h b/lib/ipsec/misc.h
index fd4d3f5256..54dc5c2d4d 100644
--- a/lib/ipsec/misc.h
+++ b/lib/ipsec/misc.h
@@ -126,7 +126,8 @@ cpu_crypto_bulk(const struct rte_ipsec_session *ss,
 
 	const uint32_t vnum = RTE_DIM(vec);
 
-	j = 0, n = 0;
+	j = 0;
+	n = 0;
 	vofs = 0;
 	for (i = 0; i != num; i++) {
 
-- 
2.47.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH v2 3/6] graph: replace unnecessary comma operator
  2025-08-14 21:28 ` [PATCH v2 0/6] Enable warnings about use of comma operator Stephen Hemminger
  2025-08-14 21:28   ` [PATCH v2 1/6] eal: replace unnecessary " Stephen Hemminger
  2025-08-14 21:28   ` [PATCH v2 2/6] ipsec: " Stephen Hemminger
@ 2025-08-14 21:28   ` Stephen Hemminger
  2025-08-14 21:28   ` [PATCH v2 4/6] test: replace unnecessary comma operators Stephen Hemminger
                     ` (4 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Stephen Hemminger @ 2025-08-14 21:28 UTC (permalink / raw)
  To: dev
  Cc: Stephen Hemminger, Jerin Jacob, Kiran Kumar K, Nithin Dabilpuram,
	Zhirun Yan

Use of comma as statement separator is discouraged and
reported as warning by clang with -Wcomma

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/graph/graph_stats.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/graph/graph_stats.c b/lib/graph/graph_stats.c
index eac73cbf71..588508b473 100644
--- a/lib/graph/graph_stats.c
+++ b/lib/graph/graph_stats.c
@@ -254,7 +254,7 @@ stats_mem_populate(struct rte_graph_cluster_stats **stats_in,
 	*stats_in = NULL;
 
 	/* Clear the new struct cluster_node area */
-	cluster = RTE_PTR_ADD(stats, stats->sz),
+	cluster = RTE_PTR_ADD(stats, stats->sz);
 	memset(cluster, 0, stats->cluster_node_size);
 	memcpy(cluster->stat.name, graph_node->node->name, RTE_NODE_NAMESIZE);
 	cluster->stat.id = graph_node->node->id;
-- 
2.47.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH v2 4/6] test: replace unnecessary comma operators
  2025-08-14 21:28 ` [PATCH v2 0/6] Enable warnings about use of comma operator Stephen Hemminger
                     ` (2 preceding siblings ...)
  2025-08-14 21:28   ` [PATCH v2 3/6] graph: " Stephen Hemminger
@ 2025-08-14 21:28   ` Stephen Hemminger
  2025-08-14 21:28   ` [PATCH v2 5/6] app/testpmd: replace comma operator with bracket Stephen Hemminger
                     ` (3 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Stephen Hemminger @ 2025-08-14 21:28 UTC (permalink / raw)
  To: dev
  Cc: Stephen Hemminger, Fan Zhang, Ashish Gupta, Chas Williams,
	Min Hu (Connor),
	Yipeng Wang, Sameh Gobriel, Bruce Richardson, Vladimir Medvedkin

Use of comma as statement separator is discouraged and
reported as warning by clang with -Wcomma

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 app/test/test_compressdev.c          | 4 ++--
 app/test/test_link_bonding_rssconf.c | 2 +-
 app/test/test_thash.c                | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/app/test/test_compressdev.c b/app/test/test_compressdev.c
index c217ad6cda..dcea8e2f30 100644
--- a/app/test/test_compressdev.c
+++ b/app/test/test_compressdev.c
@@ -273,7 +273,7 @@ testsuite_setup(void)
 
 	/* Initializes default values for compress/decompress xforms */
 	ts_params->def_comp_xform->type = RTE_COMP_COMPRESS;
-	ts_params->def_comp_xform->compress.algo = RTE_COMP_ALGO_DEFLATE,
+	ts_params->def_comp_xform->compress.algo = RTE_COMP_ALGO_DEFLATE;
 	ts_params->def_comp_xform->compress.deflate.huffman =
 						RTE_COMP_HUFFMAN_DEFAULT;
 	ts_params->def_comp_xform->compress.level = RTE_COMP_LEVEL_PMD_DEFAULT;
@@ -281,7 +281,7 @@ testsuite_setup(void)
 	ts_params->def_comp_xform->compress.window_size = DEFAULT_WINDOW_SIZE;
 
 	ts_params->def_decomp_xform->type = RTE_COMP_DECOMPRESS;
-	ts_params->def_decomp_xform->decompress.algo = RTE_COMP_ALGO_DEFLATE,
+	ts_params->def_decomp_xform->decompress.algo = RTE_COMP_ALGO_DEFLATE;
 	ts_params->def_decomp_xform->decompress.chksum = RTE_COMP_CHECKSUM_NONE;
 	ts_params->def_decomp_xform->decompress.window_size = DEFAULT_WINDOW_SIZE;
 
diff --git a/app/test/test_link_bonding_rssconf.c b/app/test/test_link_bonding_rssconf.c
index 2cb689b1de..693b0ccd12 100644
--- a/app/test/test_link_bonding_rssconf.c
+++ b/app/test/test_link_bonding_rssconf.c
@@ -384,7 +384,7 @@ test_propagate(void)
 		}
 
 		memset(bond_rss_key, i, sizeof(bond_rss_key));
-		bond_rss_conf.rss_hf = default_rss_hf,
+		bond_rss_conf.rss_hf = default_rss_hf;
 		bond_rss_conf.rss_key = bond_rss_key;
 		bond_rss_conf.rss_key_len = 40;
 
diff --git a/app/test/test_thash.c b/app/test/test_thash.c
index 33b0c6adac..398db71839 100644
--- a/app/test/test_thash.c
+++ b/app/test/test_thash.c
@@ -910,7 +910,7 @@ test_adjust_tuple_mult_reta(void)
 {
 	uint32_t i, j, np, nt;
 
-	nt = 0, np = 0;
+	nt = 0; np = 0;
 	for (i = 0; i < CHAR_BIT; i++) {
 		for (j = 6; j <= RTE_THASH_RETA_SZ_MAX - i; j++) {
 			np += (test_adjust_tuple_mb(j, i) == 0);
-- 
2.47.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH v2 5/6] app/testpmd: replace comma operator with bracket
  2025-08-14 21:28 ` [PATCH v2 0/6] Enable warnings about use of comma operator Stephen Hemminger
                     ` (3 preceding siblings ...)
  2025-08-14 21:28   ` [PATCH v2 4/6] test: replace unnecessary comma operators Stephen Hemminger
@ 2025-08-14 21:28   ` Stephen Hemminger
  2025-08-14 21:28   ` [PATCH v2 6/6] config: enable comma warnings Stephen Hemminger
                     ` (2 subsequent siblings)
  7 siblings, 0 replies; 17+ messages in thread
From: Stephen Hemminger @ 2025-08-14 21:28 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Ori Kam, Aman Singh

Use while with brackets in favor of comma operator.

In flow print replace with temporary variable.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 app/test-pmd/cmdline_flow.c |  6 ++++--
 app/test-pmd/config.c       | 10 ++++++----
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index 83d398f8ee..a54463f718 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -8333,8 +8333,10 @@ parse_prefix(struct context *ctx, const struct token *token,
 		if (!ctx->object)
 			return len;
 		extra -= u;
-		while (u--)
-			(v <<= 1, v |= 1);
+		while (u--) {
+			v <<= 1;
+			v |= 1;
+		}
 		v <<= extra;
 		if (!arg_entry_bf_fill(ctx->object, v, arg) ||
 		    !arg_entry_bf_fill(ctx->objmask, -1, arg))
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 0fda8e99f8..14af69bce5 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -1497,7 +1497,7 @@ port_flow_complain(struct rte_flow_error *error)
 		[RTE_FLOW_ERROR_TYPE_ACTION] = "specific action",
 	};
 	const char *errstr;
-	char buf[32];
+	char cause_buf[32] = "";
 	int err = rte_errno;
 
 	if ((unsigned int)error->type >= RTE_DIM(errstrlist) ||
@@ -1505,10 +1505,12 @@ port_flow_complain(struct rte_flow_error *error)
 		errstr = "unknown type";
 	else
 		errstr = errstrlist[error->type];
+
+	if (error->cause)
+		snprintf(cause_buf, sizeof(cause_buf), "cause: %p, ", error->cause);
+
 	fprintf(stderr, "%s(): Caught PMD error type %d (%s): %s%s: %s\n",
-		__func__, error->type, errstr,
-		error->cause ? (snprintf(buf, sizeof(buf), "cause: %p, ",
-					 error->cause), buf) : "",
+		__func__, error->type, errstr, cause_buf,
 		error->message ? error->message : "(no stated reason)",
 		rte_strerror(err));
 
-- 
2.47.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH v2 6/6] config: enable comma warnings
  2025-08-14 21:28 ` [PATCH v2 0/6] Enable warnings about use of comma operator Stephen Hemminger
                     ` (4 preceding siblings ...)
  2025-08-14 21:28   ` [PATCH v2 5/6] app/testpmd: replace comma operator with bracket Stephen Hemminger
@ 2025-08-14 21:28   ` Stephen Hemminger
  2025-08-15  0:30   ` [PATCH v2 0/6] Enable warnings about use of comma operator fengchengwen
  2025-08-15  6:40   ` Morten Brørup
  7 siblings, 0 replies; 17+ messages in thread
From: Stephen Hemminger @ 2025-08-14 21:28 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Bruce Richardson

Clang (3.9 or later) has a -Wcomma that emits warnings for questionable
uses of the comma operator.

Don't enable it for drivers since many drivers still use
comma operator unnecessarily.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 config/meson.build  | 1 +
 drivers/meson.build | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/config/meson.build b/config/meson.build
index f31fef216c..d9ff0e31c0 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -313,6 +313,7 @@ endif
 global_cflags = [
         # additional warnings in alphabetical order
         '-Wcast-qual',
+        '-Wcomma',
         '-Wdeprecated',
         '-Wformat',
         '-Wformat-nonliteral',
diff --git a/drivers/meson.build b/drivers/meson.build
index b62880db02..4c08a1dd9d 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -59,7 +59,7 @@ default_cflags = machine_args
 default_cflags += ['-DALLOW_EXPERIMENTAL_API']
 default_cflags += ['-DALLOW_INTERNAL_API']
 
-warning_disable_cflags = ['-Wno-format-truncation', '-Wno-address-of-packed-member']
+warning_disable_cflags = ['-Wno-format-truncation', '-Wno-address-of-packed-member', '-Wno-comma']
 foreach cflag:warning_disable_cflags
     if cc.has_argument(cflag)
         default_cflags += cflag
-- 
2.47.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v2 0/6] Enable warnings about use of comma operator
  2025-08-14 21:28 ` [PATCH v2 0/6] Enable warnings about use of comma operator Stephen Hemminger
                     ` (5 preceding siblings ...)
  2025-08-14 21:28   ` [PATCH v2 6/6] config: enable comma warnings Stephen Hemminger
@ 2025-08-15  0:30   ` fengchengwen
  2025-08-15  6:40   ` Morten Brørup
  7 siblings, 0 replies; 17+ messages in thread
From: fengchengwen @ 2025-08-15  0:30 UTC (permalink / raw)
  To: Stephen Hemminger, dev

Series-acked-by: Chengwen Feng <fengchengwen@huawei.com>

On 8/15/2025 5:28 AM, Stephen Hemminger wrote:
> This series was motivated by recent thread on netdev
> about build with -Wcomma in clang. This warning catches code
> that uses comma where a semi-colon is a better choice.
> 
> v2 - rebase and drop any driver related changes
> 
> Stephen Hemminger (6):
>   eal: replace unnecessary comma operator
>   ipsec: replace unnecessary comma operator
>   graph: replace unnecessary comma operator
>   test: replace unnecessary comma operators
>   app/testpmd: replace comma operator with bracket
>   config: enable comma warnings
> 
>  app/test-pmd/cmdline_flow.c          |  6 ++++--
>  app/test-pmd/config.c                | 10 ++++++----
>  app/test/test_compressdev.c          |  4 ++--
>  app/test/test_link_bonding_rssconf.c |  2 +-
>  app/test/test_thash.c                |  2 +-
>  config/meson.build                   |  1 +
>  drivers/meson.build                  |  2 +-
>  lib/eal/common/rte_malloc.c          |  4 ++--
>  lib/eal/linux/eal_alarm.c            |  6 ++++--
>  lib/graph/graph_stats.c              |  2 +-
>  lib/ipsec/misc.h                     |  3 ++-
>  11 files changed, 25 insertions(+), 17 deletions(-)
> 
> --
> 2.47.2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* RE: [PATCH v2 0/6] Enable warnings about use of comma operator
  2025-08-14 21:28 ` [PATCH v2 0/6] Enable warnings about use of comma operator Stephen Hemminger
                     ` (6 preceding siblings ...)
  2025-08-15  0:30   ` [PATCH v2 0/6] Enable warnings about use of comma operator fengchengwen
@ 2025-08-15  6:40   ` Morten Brørup
  7 siblings, 0 replies; 17+ messages in thread
From: Morten Brørup @ 2025-08-15  6:40 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev

> From: Stephen Hemminger [mailto:stephen@networkplumber.org]
> Sent: Thursday, 14 August 2025 23.29
> 
> This series was motivated by recent thread on netdev
> about build with -Wcomma in clang. This warning catches code
> that uses comma where a semi-colon is a better choice.

Overall, I agree that using semicolon is better for consistency is most places, but using commas in some loops - e.g. "for (dst=,src=; condition; dst+=, src+=)" - might be more readable than the alternative.

Stephen, I'm interested in the discussion about this, can you please post a link to the thread on the netdev mailing list?


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2025-08-15  6:41 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-03-12 23:26 [RFC 0/7] avoid unnecessary use of comma op Stephen Hemminger
2025-03-12 23:26 ` [RFC 1/7] eal: replace unnecessary comma operator Stephen Hemminger
2025-03-12 23:26 ` [RFC 2/7] ipsec: " Stephen Hemminger
2025-03-12 23:27 ` [RFC 3/7] graph: " Stephen Hemminger
2025-03-12 23:27 ` [RFC 4/7] net/mlx4: replace unnecessary comma operators Stephen Hemminger
2025-03-12 23:27 ` [RFC 5/7] net/mlx5: " Stephen Hemminger
2025-03-12 23:27 ` [RFC 6/7] test: " Stephen Hemminger
2025-03-12 23:27 ` [RFC 7/7] app/testpmd: replace comma operator with bracket Stephen Hemminger
2025-08-14 21:28 ` [PATCH v2 0/6] Enable warnings about use of comma operator Stephen Hemminger
2025-08-14 21:28   ` [PATCH v2 1/6] eal: replace unnecessary " Stephen Hemminger
2025-08-14 21:28   ` [PATCH v2 2/6] ipsec: " Stephen Hemminger
2025-08-14 21:28   ` [PATCH v2 3/6] graph: " Stephen Hemminger
2025-08-14 21:28   ` [PATCH v2 4/6] test: replace unnecessary comma operators Stephen Hemminger
2025-08-14 21:28   ` [PATCH v2 5/6] app/testpmd: replace comma operator with bracket Stephen Hemminger
2025-08-14 21:28   ` [PATCH v2 6/6] config: enable comma warnings Stephen Hemminger
2025-08-15  0:30   ` [PATCH v2 0/6] Enable warnings about use of comma operator fengchengwen
2025-08-15  6:40   ` Morten Brørup

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).