DPDK patches and discussions
 help / color / mirror / Atom feed
From: Tyler Retzlaff <roretzla@linux.microsoft.com>
To: dev@dpdk.org
Cc: Ajit Khaparde <ajit.khaparde@broadcom.com>,
	Aman Singh <aman.deep.singh@intel.com>,
	Amit Bernstein <amitbern@amazon.com>,
	Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
	Apeksha Gupta <apeksha.gupta@nxp.com>,
	Beilei Xing <beilei.xing@intel.com>,
	Brian Dooley <brian.dooley@intel.com>,
	Chengwen Feng <fengchengwen@huawei.com>,
	Cristian Dumitrescu <cristian.dumitrescu@intel.com>,
	Evgeny Schemeilin <evgenys@amazon.com>,
	Ferruh Yigit <ferruh.yigit@amd.com>,
	Gagandeep Singh <g.singh@nxp.com>,
	Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>,
	Harman Kalra <hkalra@marvell.com>,
	Hemant Agrawal <hemant.agrawal@nxp.com>,
	Jerin Jacob <jerinj@marvell.com>,
	Jian Wang <jianwang@trustnetic.com>,
	Jiawen Wu <jiawenwu@trustnetic.com>, Kai Ji <kai.ji@intel.com>,
	Kiran Kumar K <kirankumark@marvell.com>,
	Maciej Czekaj <mczekaj@marvell.com>,
	Nithin Dabilpuram <ndabilpuram@marvell.com>,
	Qi Zhang <qi.z.zhang@intel.com>,
	Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>,
	Rakesh Kudurumalla <rkudurumalla@marvell.com>,
	Ron Beider <rbeider@amazon.com>, Rosen Xu <rosen.xu@intel.com>,
	Ruifeng Wang <ruifeng.wang@arm.com>,
	Sachin Saxena <sachin.saxena@nxp.com>,
	Satha Rao <skoteshwar@marvell.com>,
	Shai Brandes <shaibran@amazon.com>,
	Somnath Kotur <somnath.kotur@broadcom.com>,
	Srikanth Yalavarthi <syalavarthi@marvell.com>,
	Sunil Kumar Kori <skori@marvell.com>,
	Thomas Monjalon <thomas@monjalon.net>,
	Tianfei Zhang <tianfei.zhang@intel.com>,
	Wajeeh Atrash <atrwajee@amazon.com>,
	Xiao Wang <xiao.w.wang@intel.com>,
	Yuying Zhang <Yuying.Zhang@intel.com>,
	Tyler Retzlaff <roretzla@linux.microsoft.com>
Subject: [PATCH 1/4] lib: add extension keyword to statement expressions
Date: Wed, 15 Nov 2023 15:02:55 -0800	[thread overview]
Message-ID: <1700089378-26197-2-git-send-email-roretzla@linux.microsoft.com> (raw)
In-Reply-To: <1700089378-26197-1-git-send-email-roretzla@linux.microsoft.com>

Add __extension__ keyword to gcc statement expression extensions.

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
---
 lib/ethdev/rte_mtr.c                     | 10 +++++-----
 lib/ethdev/rte_tm.c                      |  6 +++---
 lib/pipeline/rte_pipeline.c              |  8 ++++----
 lib/pipeline/rte_swx_pipeline_internal.h |  2 +-
 lib/port/rte_port_source_sink.c          |  4 ++--
 5 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/lib/ethdev/rte_mtr.c b/lib/ethdev/rte_mtr.c
index 4e94af9..900837b 100644
--- a/lib/ethdev/rte_mtr.c
+++ b/lib/ethdev/rte_mtr.c
@@ -41,14 +41,14 @@
 }
 
 #define RTE_MTR_FUNC(port_id, func)			\
-({							\
+__extension__ ({					\
 	const struct rte_mtr_ops *ops =			\
-		rte_mtr_ops_get(port_id, error);		\
-	if (ops == NULL)					\
+		rte_mtr_ops_get(port_id, error);	\
+	if (ops == NULL)				\
 		return -rte_errno;			\
 							\
 	if (ops->func == NULL)				\
-		return -rte_mtr_error_set(error,		\
+		return -rte_mtr_error_set(error,	\
 			ENOSYS,				\
 			RTE_MTR_ERROR_TYPE_UNSPECIFIED,	\
 			NULL,				\
@@ -58,7 +58,7 @@
 })
 
 #define RTE_MTR_HNDL_FUNC(port_id, func)		\
-({							\
+__extension__ ({					\
 	const struct rte_mtr_ops *ops =			\
 		rte_mtr_ops_get(port_id, error);	\
 	if (ops == NULL)				\
diff --git a/lib/ethdev/rte_tm.c b/lib/ethdev/rte_tm.c
index 2d08141..d594fe0 100644
--- a/lib/ethdev/rte_tm.c
+++ b/lib/ethdev/rte_tm.c
@@ -40,11 +40,11 @@
 	return ops;
 }
 
-#define RTE_TM_FUNC(port_id, func)				\
-({							\
+#define RTE_TM_FUNC(port_id, func)			\
+__extension__ ({					\
 	const struct rte_tm_ops *ops =			\
 		rte_tm_ops_get(port_id, error);		\
-	if (ops == NULL)					\
+	if (ops == NULL)				\
 		return -rte_errno;			\
 							\
 	if (ops->func == NULL)				\
diff --git a/lib/pipeline/rte_pipeline.c b/lib/pipeline/rte_pipeline.c
index 436cf54..e5cab00 100644
--- a/lib/pipeline/rte_pipeline.c
+++ b/lib/pipeline/rte_pipeline.c
@@ -17,16 +17,16 @@
 #ifdef RTE_PIPELINE_STATS_COLLECT
 
 #define RTE_PIPELINE_STATS_AH_DROP_WRITE(p, mask)			\
-	({ (p)->n_pkts_ah_drop = rte_popcount64(mask); })
+	__extension__ ({ (p)->n_pkts_ah_drop = rte_popcount64(mask); })
 
 #define RTE_PIPELINE_STATS_AH_DROP_READ(p, counter)			\
-	({ (counter) += (p)->n_pkts_ah_drop; (p)->n_pkts_ah_drop = 0; })
+	__extension__ ({ (counter) += (p)->n_pkts_ah_drop; (p)->n_pkts_ah_drop = 0; })
 
 #define RTE_PIPELINE_STATS_TABLE_DROP0(p)				\
-	({ (p)->pkts_drop_mask = (p)->action_mask0[RTE_PIPELINE_ACTION_DROP]; })
+	__extension__ ({ (p)->pkts_drop_mask = (p)->action_mask0[RTE_PIPELINE_ACTION_DROP]; })
 
 #define RTE_PIPELINE_STATS_TABLE_DROP1(p, counter)			\
-({									\
+__extension__ ({							\
 	uint64_t mask = (p)->action_mask0[RTE_PIPELINE_ACTION_DROP];	\
 	mask ^= (p)->pkts_drop_mask;					\
 	(counter) += rte_popcount64(mask);			\
diff --git a/lib/pipeline/rte_swx_pipeline_internal.h b/lib/pipeline/rte_swx_pipeline_internal.h
index a67b6e9..beb2011 100644
--- a/lib/pipeline/rte_swx_pipeline_internal.h
+++ b/lib/pipeline/rte_swx_pipeline_internal.h
@@ -1485,7 +1485,7 @@ struct thread {
 #endif
 
 #define METADATA_READ(thread, offset, n_bits)                                  \
-({                                                                             \
+__extension__ ({                                                               \
 	uint64_t *m64_ptr = (uint64_t *)&(thread)->metadata[offset];           \
 	uint64_t m64 = *m64_ptr;                                               \
 	uint64_t m64_mask = UINT64_MAX >> (64 - (n_bits));                     \
diff --git a/lib/port/rte_port_source_sink.c b/lib/port/rte_port_source_sink.c
index ff9677c..7b5fcb4 100644
--- a/lib/port/rte_port_source_sink.c
+++ b/lib/port/rte_port_source_sink.c
@@ -176,7 +176,7 @@ struct rte_port_source {
 #else /* RTE_PORT_PCAP */
 
 #define PCAP_SOURCE_LOAD(port, file_name, n_bytes, socket_id)	\
-({								\
+__extension__ ({						\
 	int _ret = 0;						\
 								\
 	if (file_name) {					\
@@ -429,7 +429,7 @@ struct rte_port_sink {
 #else
 
 #define PCAP_SINK_OPEN(port, file_name, max_n_pkts)		\
-({								\
+__extension__ ({						\
 	int _ret = 0;						\
 								\
 	if (file_name) {					\
-- 
1.8.3.1


  reply	other threads:[~2023-11-15 23:03 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-15 23:02 [PATCH 0/4] add __extension__ " Tyler Retzlaff
2023-11-15 23:02 ` Tyler Retzlaff [this message]
2023-11-15 23:02 ` [PATCH 2/4] app: add extension " Tyler Retzlaff
2023-11-15 23:02 ` [PATCH 3/4] drivers: " Tyler Retzlaff
2023-11-20  7:42   ` Ruifeng Wang
2023-11-15 23:02 ` [PATCH 4/4] examples: " Tyler Retzlaff
2024-02-16 10:24 ` [PATCH v2 0/3] add __extension__ " David Marchand
2024-02-16 10:24   ` [PATCH v2 1/3] eal: add helper to skip whitespaces David Marchand
2024-02-16 10:27     ` David Marchand
2024-02-16 10:39       ` Bruce Richardson
2024-02-16 10:24   ` [PATCH v2 2/3] drivers: use common min/max macros David Marchand
2024-02-19  1:37     ` Xu, Rosen
2024-02-19  2:13     ` Ajit Khaparde
2024-02-16 10:24   ` [PATCH v2 3/3] add extension keyword to GCC statement expressions David Marchand
2024-02-18  3:07     ` fengchengwen
2024-02-16 17:04   ` [PATCH v2 0/3] add __extension__ keyword to " David Marchand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1700089378-26197-2-git-send-email-roretzla@linux.microsoft.com \
    --to=roretzla@linux.microsoft.com \
    --cc=Yuying.Zhang@intel.com \
    --cc=ajit.khaparde@broadcom.com \
    --cc=aman.deep.singh@intel.com \
    --cc=amitbern@amazon.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=apeksha.gupta@nxp.com \
    --cc=atrwajee@amazon.com \
    --cc=beilei.xing@intel.com \
    --cc=brian.dooley@intel.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=dev@dpdk.org \
    --cc=evgenys@amazon.com \
    --cc=fengchengwen@huawei.com \
    --cc=ferruh.yigit@amd.com \
    --cc=g.singh@nxp.com \
    --cc=gmuthukrishn@marvell.com \
    --cc=hemant.agrawal@nxp.com \
    --cc=hkalra@marvell.com \
    --cc=jerinj@marvell.com \
    --cc=jianwang@trustnetic.com \
    --cc=jiawenwu@trustnetic.com \
    --cc=kai.ji@intel.com \
    --cc=kirankumark@marvell.com \
    --cc=mczekaj@marvell.com \
    --cc=ndabilpuram@marvell.com \
    --cc=qi.z.zhang@intel.com \
    --cc=rahul.lakkireddy@chelsio.com \
    --cc=rbeider@amazon.com \
    --cc=rkudurumalla@marvell.com \
    --cc=rosen.xu@intel.com \
    --cc=ruifeng.wang@arm.com \
    --cc=sachin.saxena@nxp.com \
    --cc=shaibran@amazon.com \
    --cc=skori@marvell.com \
    --cc=skoteshwar@marvell.com \
    --cc=somnath.kotur@broadcom.com \
    --cc=syalavarthi@marvell.com \
    --cc=thomas@monjalon.net \
    --cc=tianfei.zhang@intel.com \
    --cc=xiao.w.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).