From patchwork Tue Apr 21 09:49:52 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gavin Hu X-Patchwork-Id: 69006 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 457EEA0588; Tue, 21 Apr 2020 11:50:10 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AF09A1D95C; Tue, 21 Apr 2020 11:50:09 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id E899E1D95A; Tue, 21 Apr 2020 11:50:08 +0200 (CEST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4D1681FB; Tue, 21 Apr 2020 02:50:08 -0700 (PDT) Received: from net-arm-thunderx2-01.shanghai.arm.com (net-arm-thunderx2-01.shanghai.arm.com [10.169.41.214]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 78C3F3F73D; Tue, 21 Apr 2020 02:50:04 -0700 (PDT) From: Gavin Hu To: dev@dpdk.org Cc: ferruh.yigit@intel.com, xiaolong.ye@intel.com, david.marchand@redhat.com, thomas@monjalon.net, Honnappa.Nagarahalli@arm.com, Ruifeng.Wang@arm.com, Phil.Yang@arm.com, Joyce.Kong@arm.com, rasland@mellanox.com, stable@dpdk.org Date: Tue, 21 Apr 2020 17:49:52 +0800 Message-Id: <20200421094952.28656-1-gavin.hu@arm.com> X-Mailer: git-send-email 2.17.1 Subject: [dpdk-dev] [patch v1] net/i40e: fix the compile issue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Using gcc version 4.8.5 20150623 (Red Hat 4.8.5-28), it reports the following compiling error: /download/dpdk/drivers/net/i40e/i40e_rxtx_vec_neon.c:175:65: error: expected ';', ',' or ')' before 'rx_pkts' desc_to_ptype_v(uint64x2_t descs[4], struct rte_mbuf **restrict rx_pkts, ^ /download/dpdk/drivers/net/i40e/i40e_rxtx_vec_neon.c:197:51: error: expected ';', ',' or ')' before 'rxq' _recv_raw_pkts_vec(struct i40e_rx_queue *restrict rxq, struct rte_mbuf ^ /download/dpdk/drivers/net/i40e/i40e_rxtx_vec_neon.c:435:35: error: expected ';', ',' or ')' before 'rx_queue' i40e_recv_pkts_vec(void *restrict rx_queue, struct rte_mbuf **restrict rx_pkts, Fix this by using '__restrict' type qualifier, which compiles ok with old and new versions of gcc. Fixes: 8499b1748f26 ("net/i40e: restrict pointer aliasing for NEON") Cc: stable@dpdk.org Signed-off-by: Gavin Hu Tested-by: Raslan Darawsheh --- drivers/net/i40e/i40e_rxtx_vec_neon.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/net/i40e/i40e_rxtx_vec_neon.c b/drivers/net/i40e/i40e_rxtx_vec_neon.c index 258b42e4d..1dfd0478b 100644 --- a/drivers/net/i40e/i40e_rxtx_vec_neon.c +++ b/drivers/net/i40e/i40e_rxtx_vec_neon.c @@ -172,8 +172,8 @@ desc_to_olflags_v(struct i40e_rx_queue *rxq, uint64x2_t descs[4], #define I40E_UINT16_BIT (CHAR_BIT * sizeof(uint16_t)) static inline void -desc_to_ptype_v(uint64x2_t descs[4], struct rte_mbuf **restrict rx_pkts, - uint32_t *restrict ptype_tbl) +desc_to_ptype_v(uint64x2_t descs[4], struct rte_mbuf **__restrict rx_pkts, + uint32_t *__restrict ptype_tbl) { int i; uint8_t ptype; @@ -194,8 +194,8 @@ desc_to_ptype_v(uint64x2_t descs[4], struct rte_mbuf **restrict rx_pkts, * numbers of DD bits */ static inline uint16_t -_recv_raw_pkts_vec(struct i40e_rx_queue *restrict rxq, struct rte_mbuf - **restrict rx_pkts, uint16_t nb_pkts, uint8_t *split_packet) +_recv_raw_pkts_vec(struct i40e_rx_queue *__restrict rxq, struct rte_mbuf + **__restrict rx_pkts, uint16_t nb_pkts, uint8_t *split_packet) { volatile union i40e_rx_desc *rxdp; struct i40e_rx_entry *sw_ring; @@ -432,8 +432,8 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *restrict rxq, struct rte_mbuf * numbers of DD bits */ uint16_t -i40e_recv_pkts_vec(void *restrict rx_queue, struct rte_mbuf **restrict rx_pkts, - uint16_t nb_pkts) +i40e_recv_pkts_vec(void *__restrict rx_queue, + struct rte_mbuf **__restrict rx_pkts, uint16_t nb_pkts) { return _recv_raw_pkts_vec(rx_queue, rx_pkts, nb_pkts, NULL); } @@ -504,8 +504,8 @@ vtx(volatile struct i40e_tx_desc *txdp, struct rte_mbuf **pkt, } uint16_t -i40e_xmit_fixed_burst_vec(void *restrict tx_queue, - struct rte_mbuf **restrict tx_pkts, uint16_t nb_pkts) +i40e_xmit_fixed_burst_vec(void *__restrict tx_queue, + struct rte_mbuf **__restrict tx_pkts, uint16_t nb_pkts) { struct i40e_tx_queue *txq = (struct i40e_tx_queue *)tx_queue; volatile struct i40e_tx_desc *txdp;