make pipeline_stage() and  send_stage() as lcore_function_t.
Found this issue with gcc 8.1.

examples/quota_watermark/qw/main.c: In function ‘main’:
examples/quota_watermark/qw/main.c:350:26: error: cast between
incompatible function types from ‘void (*)(void *)’ to
‘int (*)(void *)’ [-Werror=cast-function-type]
rte_eal_remote_launch((int (*)(void *))pipeline_stage,
                          ^
examples/quota_watermark/qw/main.c:357:24: error: cast between
incompatible function types from ‘void (*)(void *)’ to
‘int (*)(void *)’ [-Werror=cast-function-type]
rte_eal_remote_launch((int (*)(void *))send_stage, NULL, last_lcore_id);

Cc: bruce.richard...@intel.com
Cc: sta...@dpdk.org

Fixes: 1d6c3ee3321a ("examples/quota_watermark: initial import")

Signed-off-by: Jerin Jacob <jerin.ja...@caviumnetworks.com>
---
 examples/quota_watermark/qw/main.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/examples/quota_watermark/qw/main.c 
b/examples/quota_watermark/qw/main.c
index 313216f39..f3830557c 100644
--- a/examples/quota_watermark/qw/main.c
+++ b/examples/quota_watermark/qw/main.c
@@ -181,7 +181,7 @@ receive_stage(__attribute__((unused)) void *args)
        }
 }
 
-static void
+static int
 pipeline_stage(__attribute__((unused)) void *args)
 {
        int i, ret;
@@ -243,9 +243,11 @@ pipeline_stage(__attribute__((unused)) void *args)
                        }
                }
        }
+
+       return 0;
 }
 
-static void
+static int
 send_stage(__attribute__((unused)) void *args)
 {
        uint16_t nb_dq_pkts;
@@ -287,6 +289,8 @@ send_stage(__attribute__((unused)) void *args)
                        /* TODO: Check if nb_dq_pkts == nb_tx_pkts? */
                }
        }
+
+       return 0;
 }
 
 int
@@ -346,15 +350,11 @@ main(int argc, char **argv)
                                if (is_bit_set(port_id, portmask))
                                        init_ring(lcore_id, port_id);
 
-                       /* typecast is a workaround for GCC 4.3 bug */
-                       rte_eal_remote_launch((int (*)(void *))pipeline_stage,
-                                       NULL, lcore_id);
+                       rte_eal_remote_launch(pipeline_stage, NULL, lcore_id);
                }
        }
 
-       /* Start send_stage() on the last slave core */
-       /* typecast is a workaround for GCC 4.3 bug */
-       rte_eal_remote_launch((int (*)(void *))send_stage, NULL, last_lcore_id);
+       rte_eal_remote_launch(send_stage, NULL, last_lcore_id);
 
        /* Start receive_stage() on the master core */
        receive_stage(NULL);
-- 
2.17.0

Reply via email to