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 C7AA0A00C5; Wed, 16 Feb 2022 00:01:13 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BEA2B41153; Wed, 16 Feb 2022 00:01:07 +0100 (CET) Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by mails.dpdk.org (Postfix) with ESMTP id 54B88410FB for ; Wed, 16 Feb 2022 00:01:05 +0100 (CET) Received: by mail-pl1-f182.google.com with SMTP id w20so459549plq.12 for ; Tue, 15 Feb 2022 15:01:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5U9SqkJeGjJJbD/W4RLcv0iDmA/VUUYhXethC3Y+huI=; b=hevCm8Jsv7De+LvzJKvBSGCJxzwY/8jDFBDRJTAS/vB2/hF5g+XT+K6qVdosAD3edg GPAvLmNKfgMqDcKrKc8Y2F5dIY2xOPt7hqeZnzktps1S5r40uCAW2+J/5iBcC54wIFpd 1OZAel78wh5ILwnsbeZzNHXFjyWzTHUdf48WHLGajx26RDA7/HGs2cl2tfqwXNJorOPm umAXwDZ2hFbE6kU1VrmF9tYtNGDicb0xV0PiE2r+GE6ohLhXy33459q/HwHpzi+/8dON 36PDLmxUmKqtoCiJIykT8hmqz4BCyAGBW633VGC6toOUO5Ky8DlOm7aWaOppJU5cciL3 OO9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5U9SqkJeGjJJbD/W4RLcv0iDmA/VUUYhXethC3Y+huI=; b=UOLpHOTjVGM1LK2952+fqTiGVRcQQxBzOw8fw/19vQ2OJuWvO+z8fIeg+IJLiT9fZd EryV6DMv4LJ6twD+5zvmDmixxVFJ3Lvij/KQw7Ea+C8fD7oAHbobY2Olv2J3I+qEYdrB W7gxz0Ip0y0mkYdIPoXh+j/if9AlRgfGTIuIr8uQRO0I2KpJqw2iO2UuvE023dpWBUbX T+zeQ0WzZd/NgJL2BF4KulqnlGgpsoQO4xBECPQQStsyHNcO+XBIb7zI/JUcw+d7VAUt H7EQ3H6lfPV2mqadUzdi58dxMo3YVbv8E+vO4Y6YHBDYxaU9X+2C87EDT77ywVXJDXIw ROUw== X-Gm-Message-State: AOAM532hOirV+9H3ZHlPQorO45AJMjb2BoyXDTCX9v7S4UwkODPrtdOg FrQdDVpMW7/FIXVK5rPXOvlndb5GZPoE+4ks X-Google-Smtp-Source: ABdhPJyojZySpB9MMMo/X/bP1l2dQq6gm+r8zTexSuDeNjtMHoTjhvoplxjpQv1DHxiK/qbYLq+6Bg== X-Received: by 2002:a17:902:dac5:: with SMTP id q5mr1305750plx.8.1644966063794; Tue, 15 Feb 2022 15:01:03 -0800 (PST) Received: from hermes.local (204-195-112-199.wavecable.com. [204.195.112.199]) by smtp.gmail.com with ESMTPSA id h25sm38204574pfn.208.2022.02.15.15.01.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Feb 2022 15:01:03 -0800 (PST) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Cristian Dumitrescu , Hemant Agrawal , Sachin Saxena , Nithin Dabilpuram , Kiran Kumar K , Sunil Kumar Kori , Satha Rao , Matan Azrad , Viacheslav Ovsiienko , Gagandeep Singh , Fan Zhang , Pablo de Lara , Jay Zhou , Rahul Lakkireddy , John Daley , Hyong Youb Kim , Ziyang Xuan , Xiaoyun Wang , Guoyang Zhou , Heinrich Kuhn , Maxime Coquelin , Chenbo Xia , Ori Kam , Konstantin Ananyev , Akhil Goyal , Bernard Iremonger , Vladimir Medvedkin Subject: [RFC 2/2] treewide: replace zero-length array with flex array Date: Tue, 15 Feb 2022 15:00:58 -0800 Message-Id: <20220215230058.64760-3-stephen@networkplumber.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220215230058.64760-1-stephen@networkplumber.org> References: <20220215230058.64760-1-stephen@networkplumber.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Apply the coccinelle strip to find/fix use of zero length arrays at end of structures. Signed-off-by: Stephen Hemminger --- app/test/test_table_tables.c | 2 +- drivers/bus/dpaa/include/netcfg.h | 4 ++-- drivers/common/cnxk/roc_se.h | 2 +- drivers/common/dpaax/caamflib/desc/ipsec.h | 2 +- drivers/common/dpaax/dpaax_iova_table.h | 2 +- drivers/common/mlx5/mlx5_prm.h | 8 ++++---- drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h | 2 +- drivers/crypto/ipsec_mb/ipsec_mb_private.h | 4 ++-- drivers/crypto/virtio/virtio_ring.h | 4 ++-- drivers/crypto/virtio/virtqueue.h | 2 +- drivers/net/cxgbe/clip_tbl.h | 2 +- drivers/net/cxgbe/l2t.h | 2 +- drivers/net/cxgbe/mps_tcam.h | 2 +- drivers/net/cxgbe/smt.h | 2 +- drivers/net/enic/base/vnic_devcmd.h | 4 ++-- drivers/net/hinic/hinic_pmd_tx.h | 2 +- drivers/net/nfp/nfpcore/nfp_nsp.h | 2 +- drivers/net/virtio/virtio_ring.h | 4 ++-- drivers/net/virtio/virtio_user/vhost_kernel.c | 2 +- drivers/net/virtio/virtio_user/vhost_vdpa.c | 2 +- drivers/net/virtio/virtqueue.h | 2 +- drivers/regex/mlx5/mlx5_rxp.h | 2 +- examples/ip_reassembly/main.c | 2 +- lib/cryptodev/cryptodev_pmd.h | 2 +- lib/cryptodev/rte_cryptodev.h | 2 +- lib/ip_frag/ip_reassembly.h | 2 +- lib/ipsec/sa.h | 2 +- lib/rib/rte_rib.c | 2 +- lib/rib/rte_rib6.c | 2 +- lib/table/rte_swx_table_learner.c | 2 +- lib/table/rte_table_hash_key16.c | 4 ++-- lib/table/rte_table_hash_key32.c | 4 ++-- lib/table/rte_table_hash_key8.c | 4 ++-- lib/vhost/rte_vhost.h | 4 ++-- 34 files changed, 46 insertions(+), 46 deletions(-) diff --git a/app/test/test_table_tables.c b/app/test/test_table_tables.c index d5c5a426bc7c..e1b80b5aa208 100644 --- a/app/test/test_table_tables.c +++ b/app/test/test_table_tables.c @@ -53,7 +53,7 @@ struct rte_bucket_4_8 { uint64_t next_valid; uint64_t key[4]; /* Cache line 1 */ - uint8_t data[0]; + uint8_t data[]; }; #if RTE_TABLE_HASH_LRU_STRATEGY == 3 diff --git a/drivers/bus/dpaa/include/netcfg.h b/drivers/bus/dpaa/include/netcfg.h index bb18a34e3d71..43c7e1cfe139 100644 --- a/drivers/bus/dpaa/include/netcfg.h +++ b/drivers/bus/dpaa/include/netcfg.h @@ -23,7 +23,7 @@ struct fm_eth_port_cfg { struct netcfg_info { uint8_t num_ethports; /**< Number of ports */ - struct fm_eth_port_cfg port_cfg[0]; + struct fm_eth_port_cfg port_cfg[]; /**< Variable structure array of size num_ethports */ }; @@ -38,7 +38,7 @@ struct interface_info { struct netcfg_interface { uint8_t numof_netcfg_interface; uint8_t numof_fman_enabled_macless; - struct interface_info interface_info[0]; + struct interface_info interface_info[]; }; /* pcd_file: FMC netpcd XML ("policy") file, that contains PCD information. diff --git a/drivers/common/cnxk/roc_se.h b/drivers/common/cnxk/roc_se.h index 145a1825bd60..a1d476a86de7 100644 --- a/drivers/common/cnxk/roc_se.h +++ b/drivers/common/cnxk/roc_se.h @@ -246,7 +246,7 @@ struct roc_se_buf_ptr { /* IOV Pointer */ struct roc_se_iov_ptr { int buf_cnt; - struct roc_se_buf_ptr bufs[0]; + struct roc_se_buf_ptr bufs[]; }; struct roc_se_fc_params { diff --git a/drivers/common/dpaax/caamflib/desc/ipsec.h b/drivers/common/dpaax/caamflib/desc/ipsec.h index 668d21649dc3..a4e511d3c370 100644 --- a/drivers/common/dpaax/caamflib/desc/ipsec.h +++ b/drivers/common/dpaax/caamflib/desc/ipsec.h @@ -350,7 +350,7 @@ struct ipsec_encap_pdb { }; uint32_t spi; uint32_t ip_hdr_len; - uint8_t ip_hdr[0]; + uint8_t ip_hdr[]; }; static inline unsigned int diff --git a/drivers/common/dpaax/dpaax_iova_table.h b/drivers/common/dpaax/dpaax_iova_table.h index b1f2300c52b3..9a18eafca024 100644 --- a/drivers/common/dpaax/dpaax_iova_table.h +++ b/drivers/common/dpaax/dpaax_iova_table.h @@ -32,7 +32,7 @@ struct dpaax_iovat_element { struct dpaax_iova_table { unsigned int count; /**< No. of blocks of contiguous physical pages */ - struct dpaax_iovat_element entries[0]; + struct dpaax_iovat_element entries[]; }; /* Pointer to the table, which is common for DPAA/DPAA2 and only a single diff --git a/drivers/common/mlx5/mlx5_prm.h b/drivers/common/mlx5/mlx5_prm.h index 495b63191aba..01a6c50c5245 100644 --- a/drivers/common/mlx5/mlx5_prm.h +++ b/drivers/common/mlx5/mlx5_prm.h @@ -3433,7 +3433,7 @@ struct mlx5_ifc_qpc_pas_list_bits { #endif struct mlx5_ifc_qpc_extension_and_pas_list_bits { struct mlx5_ifc_qpc_extension_bits qpc_data_extension; - u8 pas[0][0x40]; + u8 pas[][0x40]; }; @@ -3657,7 +3657,7 @@ struct mlx5_ifc_query_qp_out_bits { u8 reserved_at_a0[0x20]; struct mlx5_ifc_qpc_bits qpc; u8 reserved_at_800[0x80]; - u8 pas[0][0x40]; + u8 pas[][0x40]; }; #ifdef PEDANTIC #pragma GCC diagnostic error "-Wpedantic" @@ -3697,7 +3697,7 @@ struct mlx5_ifc_access_register_out_bits { u8 reserved_at_8[0x18]; u8 syndrome[0x20]; u8 reserved_at_40[0x40]; - u8 register_data[0][0x20]; + u8 register_data[][0x20]; }; struct mlx5_ifc_access_register_in_bits { @@ -3708,7 +3708,7 @@ struct mlx5_ifc_access_register_in_bits { u8 reserved_at_40[0x10]; u8 register_id[0x10]; u8 argument[0x20]; - u8 register_data[0][0x20]; + u8 register_data[][0x20]; }; #ifdef PEDANTIC #pragma GCC diagnostic error "-Wpedantic" diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h b/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h index 3094778a7ac7..d12482078754 100644 --- a/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h +++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h @@ -128,7 +128,7 @@ struct sec_flc_desc { struct ctxt_priv { struct rte_mempool *fle_pool; /* per device memory pool for FLE */ - struct sec_flc_desc flc_desc[0]; + struct sec_flc_desc flc_desc[]; }; enum dpaa2_sec_op_type { diff --git a/drivers/crypto/ipsec_mb/ipsec_mb_private.h b/drivers/crypto/ipsec_mb/ipsec_mb_private.h index e53101acf178..e2c240dfc05d 100644 --- a/drivers/crypto/ipsec_mb/ipsec_mb_private.h +++ b/drivers/crypto/ipsec_mb/ipsec_mb_private.h @@ -120,7 +120,7 @@ struct ipsec_mb_dev_private { /**< PMD type */ uint32_t max_nb_queue_pairs; /**< Max number of queue pairs supported by device */ - __extension__ uint8_t priv[0]; + __extension__ uint8_t priv[]; }; /** IPSEC Multi buffer queue pair common queue pair data for all PMDs */ @@ -147,7 +147,7 @@ struct ipsec_mb_qp { /* Multi buffer manager */ const struct rte_memzone *mb_mgr_mz; /* Shared memzone for storing mb_mgr */ - __extension__ uint8_t additional_data[0]; + __extension__ uint8_t additional_data[]; /**< Storing PMD specific additional data */ }; diff --git a/drivers/crypto/virtio/virtio_ring.h b/drivers/crypto/virtio/virtio_ring.h index ee3067456688..55839279fd89 100644 --- a/drivers/crypto/virtio/virtio_ring.h +++ b/drivers/crypto/virtio/virtio_ring.h @@ -40,7 +40,7 @@ struct vring_desc { struct vring_avail { uint16_t flags; uint16_t idx; - uint16_t ring[0]; + uint16_t ring[]; }; /* id is a 16bit index. uint32_t is used here for ids for padding reasons. */ @@ -54,7 +54,7 @@ struct vring_used_elem { struct vring_used { uint16_t flags; volatile uint16_t idx; - struct vring_used_elem ring[0]; + struct vring_used_elem ring[]; }; struct vring { diff --git a/drivers/crypto/virtio/virtqueue.h b/drivers/crypto/virtio/virtqueue.h index c96ca629921b..cb08bea94f1c 100644 --- a/drivers/crypto/virtio/virtqueue.h +++ b/drivers/crypto/virtio/virtqueue.h @@ -88,7 +88,7 @@ struct virtqueue { uint16_t *notify_addr; - struct vq_desc_extra vq_descx[0]; + struct vq_desc_extra vq_descx[]; }; /** diff --git a/drivers/net/cxgbe/clip_tbl.h b/drivers/net/cxgbe/clip_tbl.h index d7689f4b7a3a..3b2be6645f2e 100644 --- a/drivers/net/cxgbe/clip_tbl.h +++ b/drivers/net/cxgbe/clip_tbl.h @@ -20,7 +20,7 @@ struct clip_tbl { unsigned int clipt_start; /* start index of CLIP table */ unsigned int clipt_size; /* size of CLIP table */ rte_rwlock_t lock; /* table rw lock */ - struct clip_entry cl_list[0]; /* MUST BE LAST */ + struct clip_entry cl_list[]; /* MUST BE LAST */ }; struct clip_tbl *t4_init_clip_tbl(unsigned int clipt_start, diff --git a/drivers/net/cxgbe/l2t.h b/drivers/net/cxgbe/l2t.h index 9845c9f98124..e4c0ebedec9e 100644 --- a/drivers/net/cxgbe/l2t.h +++ b/drivers/net/cxgbe/l2t.h @@ -37,7 +37,7 @@ struct l2t_data { unsigned int l2t_start; /* start index of our piece of the L2T */ unsigned int l2t_size; /* number of entries in l2tab */ rte_rwlock_t lock; /* table rw lock */ - struct l2t_entry l2tab[0]; /* MUST BE LAST */ + struct l2t_entry l2tab[]; /* MUST BE LAST */ }; #define L2T_LPBK true diff --git a/drivers/net/cxgbe/mps_tcam.h b/drivers/net/cxgbe/mps_tcam.h index a359f52442fa..363786bd387f 100644 --- a/drivers/net/cxgbe/mps_tcam.h +++ b/drivers/net/cxgbe/mps_tcam.h @@ -41,7 +41,7 @@ struct mpstcam_table { * free_idx cannot alone determine * if the table is full */ - struct mps_tcam_entry entry[0]; + struct mps_tcam_entry entry[]; }; struct mpstcam_table *t4_init_mpstcam(struct adapter *adap); diff --git a/drivers/net/cxgbe/smt.h b/drivers/net/cxgbe/smt.h index e6e8aea964e1..81ee919544eb 100644 --- a/drivers/net/cxgbe/smt.h +++ b/drivers/net/cxgbe/smt.h @@ -31,7 +31,7 @@ struct smt_data { unsigned int smt_size; unsigned int smt_start; rte_rwlock_t lock; - struct smt_entry smtab[0]; + struct smt_entry smtab[]; }; struct smt_data *t4_init_smt(u32 smt_start_idx, u32 smt_size); diff --git a/drivers/net/enic/base/vnic_devcmd.h b/drivers/net/enic/base/vnic_devcmd.h index 3157bc8cb5ee..f91cc3078d63 100644 --- a/drivers/net/enic/base/vnic_devcmd.h +++ b/drivers/net/enic/base/vnic_devcmd.h @@ -765,7 +765,7 @@ struct vnic_devcmd_notify { struct vnic_devcmd_provinfo { uint8_t oui[3]; uint8_t type; - uint8_t data[0]; + uint8_t data[]; }; /* @@ -997,7 +997,7 @@ enum { struct filter_tlv { uint32_t type; uint32_t length; - uint32_t val[0]; + uint32_t val[]; }; /* Data for CMD_ADD_FILTER is 2 TLV and filter + action structs */ diff --git a/drivers/net/hinic/hinic_pmd_tx.h b/drivers/net/hinic/hinic_pmd_tx.h index a3ec6299fbe1..152f7abc53f4 100644 --- a/drivers/net/hinic/hinic_pmd_tx.h +++ b/drivers/net/hinic/hinic_pmd_tx.h @@ -81,7 +81,7 @@ struct hinic_sq_wqe { struct hinic_sq_task task; /* sq sge section start address, 1~127 sges */ - struct hinic_sq_bufdesc buf_descs[0]; + struct hinic_sq_bufdesc buf_descs[]; }; struct hinic_txq_stats { diff --git a/drivers/net/nfp/nfpcore/nfp_nsp.h b/drivers/net/nfp/nfpcore/nfp_nsp.h index e74cdeb19100..2184c15b4c0b 100644 --- a/drivers/net/nfp/nfpcore/nfp_nsp.h +++ b/drivers/net/nfp/nfpcore/nfp_nsp.h @@ -224,7 +224,7 @@ struct nfp_eth_table { int is_split; unsigned int fec_modes_supported; - } ports[0]; + } ports[]; }; struct nfp_eth_table *nfp_eth_read_ports(struct nfp_cpp *cpp); diff --git a/drivers/net/virtio/virtio_ring.h b/drivers/net/virtio/virtio_ring.h index 17a56b0a7341..e848c0b73b3d 100644 --- a/drivers/net/virtio/virtio_ring.h +++ b/drivers/net/virtio/virtio_ring.h @@ -46,7 +46,7 @@ struct vring_desc { struct vring_avail { uint16_t flags; uint16_t idx; - uint16_t ring[0]; + uint16_t ring[]; }; /* id is a 16bit index. uint32_t is used here for ids for padding reasons. */ @@ -60,7 +60,7 @@ struct vring_used_elem { struct vring_used { uint16_t flags; uint16_t idx; - struct vring_used_elem ring[0]; + struct vring_used_elem ring[]; }; /* For support of packed virtqueues in Virtio 1.1 the format of descriptors diff --git a/drivers/net/virtio/virtio_user/vhost_kernel.c b/drivers/net/virtio/virtio_user/vhost_kernel.c index 202a8cdee1ca..d9eeadcbf25c 100644 --- a/drivers/net/virtio/virtio_user/vhost_kernel.c +++ b/drivers/net/virtio/virtio_user/vhost_kernel.c @@ -22,7 +22,7 @@ struct vhost_kernel_data { struct vhost_memory_kernel { uint32_t nregions; uint32_t padding; - struct vhost_memory_region regions[0]; + struct vhost_memory_region regions[]; }; /* vhost kernel ioctls */ diff --git a/drivers/net/virtio/virtio_user/vhost_vdpa.c b/drivers/net/virtio/virtio_user/vhost_vdpa.c index 82f25a8674b0..bd13fe44b4c1 100644 --- a/drivers/net/virtio/virtio_user/vhost_vdpa.c +++ b/drivers/net/virtio/virtio_user/vhost_vdpa.c @@ -70,7 +70,7 @@ struct vhost_iotlb_msg { struct vhost_vdpa_config { uint32_t off; uint32_t len; - uint8_t buf[0]; + uint8_t buf[]; }; struct vhost_msg { diff --git a/drivers/net/virtio/virtqueue.h b/drivers/net/virtio/virtqueue.h index 99c68cf62231..d100ed876209 100644 --- a/drivers/net/virtio/virtqueue.h +++ b/drivers/net/virtio/virtqueue.h @@ -309,7 +309,7 @@ struct virtqueue { uint16_t *notify_addr; struct rte_mbuf **sw_ring; /**< RX software ring. */ - struct vq_desc_extra vq_descx[0]; + struct vq_desc_extra vq_descx[]; }; /* If multiqueue is provided by host, then we support it. */ diff --git a/drivers/regex/mlx5/mlx5_rxp.h b/drivers/regex/mlx5/mlx5_rxp.h index 315e3b4ca3b2..6076904fc3a1 100644 --- a/drivers/regex/mlx5/mlx5_rxp.h +++ b/drivers/regex/mlx5/mlx5_rxp.h @@ -64,7 +64,7 @@ struct mlx5_rxp_match_tuple { struct mlx5_rxp_response { struct mlx5_rxp_response_desc header; - struct mlx5_rxp_match_tuple matches[0]; + struct mlx5_rxp_match_tuple matches[]; }; #define MLX5_RXP_MAX_MATCHES 254 diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c index 6e4c11c3c7e0..3ebf895aa01d 100644 --- a/examples/ip_reassembly/main.c +++ b/examples/ip_reassembly/main.c @@ -126,7 +126,7 @@ struct mbuf_table { uint32_t len; uint32_t head; uint32_t tail; - struct rte_mbuf *m_table[0]; + struct rte_mbuf *m_table[]; }; struct rx_queue { diff --git a/lib/cryptodev/cryptodev_pmd.h b/lib/cryptodev/cryptodev_pmd.h index d91902f6e0fe..09def60d3118 100644 --- a/lib/cryptodev/cryptodev_pmd.h +++ b/lib/cryptodev/cryptodev_pmd.h @@ -637,7 +637,7 @@ RTE_STD_C11 struct rte_cryptodev_asym_session { uint16_t user_data_sz; /**< Session user data will be placed after sess_data */ uint8_t padding[3]; - uint8_t sess_private_data[0]; + uint8_t sess_private_data[]; }; #endif /* _CRYPTODEV_PMD_H_ */ diff --git a/lib/cryptodev/rte_cryptodev.h b/lib/cryptodev/rte_cryptodev.h index 19e2e7028709..6f919ff2c41e 100644 --- a/lib/cryptodev/rte_cryptodev.h +++ b/lib/cryptodev/rte_cryptodev.h @@ -914,7 +914,7 @@ struct rte_cryptodev_sym_session { __extension__ struct { void *data; uint16_t refcnt; - } sess_data[0]; + } sess_data[]; /**< Driver specific session material, variable size */ }; diff --git a/lib/ip_frag/ip_reassembly.h b/lib/ip_frag/ip_reassembly.h index 416fb66dd485..ef9d8c0d75ad 100644 --- a/lib/ip_frag/ip_reassembly.h +++ b/lib/ip_frag/ip_reassembly.h @@ -83,7 +83,7 @@ struct rte_ip_frag_tbl { struct ip_frag_pkt *last; /* last used entry. */ struct ip_pkt_list lru; /* LRU list for table entries. */ struct ip_frag_tbl_stat stat; /* statistics counters. */ - __extension__ struct ip_frag_pkt pkt[0]; /* hash table. */ + __extension__ struct ip_frag_pkt pkt[]; /* hash table. */ }; #endif /* _IP_REASSEMBLY_H_ */ diff --git a/lib/ipsec/sa.h b/lib/ipsec/sa.h index 7503587b5004..15bb7e9323fd 100644 --- a/lib/ipsec/sa.h +++ b/lib/ipsec/sa.h @@ -60,7 +60,7 @@ union sym_op_data { struct replay_sqn { rte_rwlock_t rwl; uint64_t sqn; - __extension__ uint64_t window[0]; + __extension__ uint64_t window[]; }; /*IPSEC SA supported algorithms */ diff --git a/lib/rib/rte_rib.c b/lib/rib/rte_rib.c index 6c29e1c49ab2..e8bd027c20e2 100644 --- a/lib/rib/rte_rib.c +++ b/lib/rib/rte_rib.c @@ -37,7 +37,7 @@ struct rte_rib_node { uint8_t depth; uint8_t flag; uint64_t nh; - __extension__ uint64_t ext[0]; + __extension__ uint64_t ext[]; }; struct rte_rib { diff --git a/lib/rib/rte_rib6.c b/lib/rib/rte_rib6.c index 70405113b419..dc52e0e29cec 100644 --- a/lib/rib/rte_rib6.c +++ b/lib/rib/rte_rib6.c @@ -36,7 +36,7 @@ struct rte_rib6_node { uint8_t ip[RTE_RIB6_IPV6_ADDR_SIZE]; uint8_t depth; uint8_t flag; - __extension__ uint64_t ext[0]; + __extension__ uint64_t ext[]; }; struct rte_rib6 { diff --git a/lib/table/rte_swx_table_learner.c b/lib/table/rte_swx_table_learner.c index c3c840ff0662..3f6acfd45574 100644 --- a/lib/table/rte_swx_table_learner.c +++ b/lib/table/rte_swx_table_learner.c @@ -238,7 +238,7 @@ struct table_bucket { uint32_t time[TABLE_KEYS_PER_BUCKET]; uint32_t sig[TABLE_KEYS_PER_BUCKET]; uint8_t pad[TABLE_BUCKET_PAD_SIZE]; - uint8_t key[0]; + uint8_t key[]; }; struct table_params { diff --git a/lib/table/rte_table_hash_key16.c b/lib/table/rte_table_hash_key16.c index c4384b114dc5..246d23d4d360 100644 --- a/lib/table/rte_table_hash_key16.c +++ b/lib/table/rte_table_hash_key16.c @@ -45,7 +45,7 @@ struct rte_bucket_4_16 { uint64_t key[4][2]; /* Cache line 2 */ - uint8_t data[0]; + uint8_t data[]; }; #else struct rte_bucket_4_16 { @@ -60,7 +60,7 @@ struct rte_bucket_4_16 { uint64_t key[4][2]; /* Cache line 2 */ - uint8_t data[0]; + uint8_t data[]; }; #endif diff --git a/lib/table/rte_table_hash_key32.c b/lib/table/rte_table_hash_key32.c index 3e0031fe1e21..c154444ea63d 100644 --- a/lib/table/rte_table_hash_key32.c +++ b/lib/table/rte_table_hash_key32.c @@ -45,7 +45,7 @@ struct rte_bucket_4_32 { uint64_t key[4][4]; /* Cache line 3 */ - uint8_t data[0]; + uint8_t data[]; }; #else struct rte_bucket_4_32 { @@ -60,7 +60,7 @@ struct rte_bucket_4_32 { uint64_t key[4][4]; /* Cache line 3 */ - uint8_t data[0]; + uint8_t data[]; }; #endif diff --git a/lib/table/rte_table_hash_key8.c b/lib/table/rte_table_hash_key8.c index 34e3ed1af914..4c14dfcbbac7 100644 --- a/lib/table/rte_table_hash_key8.c +++ b/lib/table/rte_table_hash_key8.c @@ -42,7 +42,7 @@ struct rte_bucket_4_8 { uint64_t key[4]; /* Cache line 1 */ - uint8_t data[0]; + uint8_t data[]; }; #else struct rte_bucket_4_8 { @@ -56,7 +56,7 @@ struct rte_bucket_4_8 { uint64_t key[4]; /* Cache line 1 */ - uint8_t data[0]; + uint8_t data[]; }; #endif diff --git a/lib/vhost/rte_vhost.h b/lib/vhost/rte_vhost.h index c733f857c62b..99be18ceef49 100644 --- a/lib/vhost/rte_vhost.h +++ b/lib/vhost/rte_vhost.h @@ -154,7 +154,7 @@ struct rte_vhost_inflight_info_split { uint16_t desc_num; uint16_t last_inflight_io; uint16_t used_idx; - struct rte_vhost_inflight_desc_split desc[0]; + struct rte_vhost_inflight_desc_split desc[]; }; struct rte_vhost_inflight_desc_packed { @@ -181,7 +181,7 @@ struct rte_vhost_inflight_info_packed { uint8_t used_wrap_counter; uint8_t old_used_wrap_counter; uint8_t padding[7]; - struct rte_vhost_inflight_desc_packed desc[0]; + struct rte_vhost_inflight_desc_packed desc[]; }; struct rte_vhost_resubmit_desc { -- 2.34.1