From 785482203fdaa9bb0053cac6d74c2a045dd573d1 Mon Sep 17 00:00:00 2001 From: Thomas Monjalon Date: Sun, 21 Jan 2018 23:08:58 +0100 Subject: [PATCH] examples/eventdev: fix build with GCC < 5 Some errors were seen with GCC 4.8 and 4.9. It looks to be a bug fixed in GCC 5. examples/eventdev_pipeline/pipeline_worker_generic.c:474:4: error: missing initializer for field 'queue_id' of 'struct ' examples/eventdev_pipeline/pipeline_worker_generic.c:475:3: error: missing initializer for field 'priority' of 'struct ' examples/eventdev_pipeline/pipeline_worker_tx.c:630:2: error: missing initializer for field 'queue_id' of 'struct ' The workaround is to not use initializer statement, but to use memset and standard assignment. Fixes: 84dde5de10a2 ("examples/eventdev: support Rx adapter") Fixes: fa8054c8c889 ("examples/eventdev: add thread safe Tx worker pipeline") Signed-off-by: Thomas Monjalon Reviewed-by: Ferruh Yigit --- examples/eventdev_pipeline/pipeline_worker_generic.c | 8 ++++---- examples/eventdev_pipeline/pipeline_worker_tx.c | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/examples/eventdev_pipeline/pipeline_worker_generic.c b/examples/eventdev_pipeline/pipeline_worker_generic.c index 2c51f4a306..c673160f55 100644 --- a/examples/eventdev_pipeline/pipeline_worker_generic.c +++ b/examples/eventdev_pipeline/pipeline_worker_generic.c @@ -468,10 +468,10 @@ init_rx_adapter(uint16_t nb_ports) rte_exit(EXIT_FAILURE, "failed to create rx adapter[%d]", cdata.rx_adapter_id); - struct rte_event_eth_rx_adapter_queue_conf queue_conf = { - .ev.sched_type = cdata.queue_type, - .ev.queue_id = cdata.qid[0], - }; + struct rte_event_eth_rx_adapter_queue_conf queue_conf; + memset(&queue_conf, 0, sizeof(queue_conf)); + queue_conf.ev.sched_type = cdata.queue_type; + queue_conf.ev.queue_id = cdata.qid[0]; for (i = 0; i < nb_ports; i++) { uint32_t cap; diff --git a/examples/eventdev_pipeline/pipeline_worker_tx.c b/examples/eventdev_pipeline/pipeline_worker_tx.c index c0d1bd9fba..b254b03f78 100644 --- a/examples/eventdev_pipeline/pipeline_worker_tx.c +++ b/examples/eventdev_pipeline/pipeline_worker_tx.c @@ -625,9 +625,9 @@ init_rx_adapter(uint16_t nb_ports) rx_p_conf.enqueue_depth = dev_info.max_event_port_enqueue_depth; - struct rte_event_eth_rx_adapter_queue_conf queue_conf = { - .ev.sched_type = cdata.queue_type, - }; + struct rte_event_eth_rx_adapter_queue_conf queue_conf; + memset(&queue_conf, 0, sizeof(queue_conf)); + queue_conf.ev.sched_type = cdata.queue_type; for (i = 0; i < nb_ports; i++) { uint32_t cap; -- 2.20.1