I run into a problem with Clang report problem when I tried to add another member to the static initializer of the following in file ixgbe_rxtx_vec.c
int ixgbe_rxq_vec_setup(struct igb_rx_queue *rxq) { static struct rte_mbuf mb_def = { .nb_segs = 1, .data_off = RTE_PKTMBUF_HEADROOM, .reserved2 = 0x5555, #ifdef RTE_MBUF_REFCNT { .refcnt = 1, } #endif }; == Build lib/librte_pmd_ixgbe CC ixgbe_rxtx_vec.o /home/keithw/projects/dpdk-code/dpdk/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:739:5: error: designator in initializer for scalar type 'uint16_t' (aka 'unsigned short') { .refcnt = 1, } ^~~~~~~~~~~ 1 error generated. I moved the ?,? in the { } to outside and still the same problem. int ixgbe_rxq_vec_setup(struct igb_rx_queue *rxq) { static struct rte_mbuf mb_def = { .nb_segs = 1, .data_off = RTE_PKTMBUF_HEADROOM, .reserverd2 = (uint16_t)0x5555, #ifdef RTE_MBUF_REFCNT { .refcnt = 1 }, #endif }; == Build lib/librte_pmd_ixgbe CC ixgbe_rxtx_vec.o /home/keithw/projects/dpdk-code/dpdk/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:739:5: error: designator in initializer for scalar type 'uint16_t' (aka 'unsigned short') { .refcnt = 1 }, ^~~~~~~~~~~ 1 error generated. Without adding the ?.reserved2 = 0x5555,? it builds. int ixgbe_rxq_vec_setup(struct igb_rx_queue *rxq) { static struct rte_mbuf mb_def = { .nb_segs = 1, .data_off = RTE_PKTMBUF_HEADROOM, .reserverd2 = (uint16_t)0x5555, #ifdef RTE_MBUF_REFCNT .refcnt = 1, #endif }; Then I removed the {} and it now builds. Is this a result of the changes to the mbuf structure and Clang being picky? Should I submit a patch to remove the ?{ }? values? Keith Wiles, Principal Technologist with CTO office, Wind River mobile 972-213-5533