The zero sized RTE_MARKER<n> typedefs are a GCC extension unsupported by MSVC. This series adds new fields and allows deprecation of the old.
Introduce new anonymous union fields with mbuf_ prefix for cacheline0, rearm_data, rx_descriptor_fields1, and cacheline1. Remove in-tree use of the zero sized marker fields and adapt consuming code to use the new anonymous union fields. Question: what is the correct mechanism to allow uncommenting of __rte_deprecated in __rte_marker when building DPDK itself but not when building applications? Tyler Retzlaff (18): mbuf: deprecate GCC marker in rte mbuf struct mbuf: stop using zero sized marker fields net/i40e: stop using zero sized marker fields net/iavf: stop using zero sized marker fields net/ice: stop using zero sized marker fields net/ixgbe: stop using zero sized marker fields net/mlx5: stop using zero sized marker fields net/sfc: stop using zero sized marker fields net/bnxt: stop using zero sized marker fields net/enic: stop using zero sized marker fields net/fm10k: stop using zero sized marker fields net/hns3: stop using zero sized marker fields net/ionic: stop using zero sized marker fields net/thunderx: stop using zero sized marker fields net/virtio: stop using zero sized marker fields net/cnxk: stop using zero sized marker fields common/idpf: stop using zero sized marker fields examples/dma: stop using zero sized marker fields doc/guides/rel_notes/deprecation.rst | 20 ++ drivers/common/idpf/idpf_common_rxtx.c | 4 +- drivers/common/idpf/idpf_common_rxtx_avx512.c | 60 ++-- drivers/net/bnxt/bnxt_rxtx_vec_avx2.c | 18 +- drivers/net/bnxt/bnxt_rxtx_vec_common.h | 4 +- drivers/net/bnxt/bnxt_rxtx_vec_neon.c | 20 +- drivers/net/bnxt/bnxt_rxtx_vec_sse.c | 20 +- drivers/net/cnxk/cn10k_rx.h | 50 ++-- drivers/net/cnxk/cn9k_rx.h | 34 +-- drivers/net/cnxk/cnxk_ethdev.c | 4 +- drivers/net/enic/enic.h | 2 +- drivers/net/enic/enic_main.c | 4 +- drivers/net/enic/enic_rxtx_vec_avx2.c | 22 +- drivers/net/fm10k/fm10k_rxtx_vec.c | 24 +- drivers/net/hns3/hns3_rxtx_vec.c | 22 +- drivers/net/hns3/hns3_rxtx_vec_neon.h | 28 +- drivers/net/hns3/hns3_rxtx_vec_sve.c | 6 +- drivers/net/i40e/i40e_rxtx_vec_altivec.c | 14 +- drivers/net/i40e/i40e_rxtx_vec_avx2.c | 30 +- drivers/net/i40e/i40e_rxtx_vec_avx512.c | 32 +- drivers/net/i40e/i40e_rxtx_vec_common.h | 4 +- drivers/net/i40e/i40e_rxtx_vec_neon.c | 16 +- drivers/net/i40e/i40e_rxtx_vec_sse.c | 34 +-- drivers/net/iavf/iavf_rxtx_vec_avx2.c | 60 ++-- drivers/net/iavf/iavf_rxtx_vec_avx512.c | 60 ++-- drivers/net/iavf/iavf_rxtx_vec_common.h | 4 +- drivers/net/iavf/iavf_rxtx_vec_neon.c | 16 +- drivers/net/iavf/iavf_rxtx_vec_sse.c | 68 ++--- drivers/net/ice/ice_rxtx_vec_avx2.c | 30 +- drivers/net/ice/ice_rxtx_vec_avx512.c | 30 +- drivers/net/ice/ice_rxtx_vec_common.h | 4 +- drivers/net/ice/ice_rxtx_vec_sse.c | 34 +-- drivers/net/ionic/ionic_lif.c | 8 +- drivers/net/ionic/ionic_rxtx_sg.c | 4 +- drivers/net/ionic/ionic_rxtx_simple.c | 2 +- drivers/net/ixgbe/ixgbe_rxtx_vec_common.h | 4 +- drivers/net/ixgbe/ixgbe_rxtx_vec_neon.c | 12 +- drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c | 42 +-- drivers/net/mlx5/mlx5_rxq.c | 6 +- drivers/net/mlx5/mlx5_rxtx_vec.h | 16 +- drivers/net/mlx5/mlx5_rxtx_vec_altivec.h | 48 +-- drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 42 +-- drivers/net/mlx5/mlx5_rxtx_vec_sse.h | 48 +-- drivers/net/sfc/sfc_ef100_rx.c | 10 +- drivers/net/sfc/sfc_ef10_rx.c | 14 +- drivers/net/thunderx/nicvf_ethdev.c | 4 +- drivers/net/thunderx/nicvf_rxtx.h | 4 +- drivers/net/virtio/virtio_rxtx_packed.h | 4 +- drivers/net/virtio/virtio_rxtx_packed_avx.h | 14 +- drivers/net/virtio/virtio_rxtx_packed_neon.h | 18 +- drivers/net/virtio/virtio_rxtx_simple.c | 4 +- drivers/net/virtio/virtio_rxtx_simple.h | 2 +- drivers/net/virtio/virtio_rxtx_simple_altivec.c | 16 +- drivers/net/virtio/virtio_rxtx_simple_neon.c | 16 +- drivers/net/virtio/virtio_rxtx_simple_sse.c | 16 +- examples/dma/dmafwd.c | 4 +- lib/eal/include/rte_common.h | 6 + lib/mbuf/rte_mbuf.h | 4 +- lib/mbuf/rte_mbuf_core.h | 375 +++++++++++++----------- 59 files changed, 793 insertions(+), 728 deletions(-) -- 1.8.3.1