> -----Original Message-----
> From: Peng, ZhihongX <zhihongx.p...@intel.com>
> Sent: Friday, October 15, 2021 4:11 PM
> To: david.march...@redhat.com; Burakov, Anatoly
> <anatoly.bura...@intel.com>; Ananyev, Konstantin
> <konstantin.anan...@intel.com>; step...@networkplumber.org;
> Dumitrescu, Cristian <cristian.dumitre...@intel.com>; Mcnamara, John
> <john.mcnam...@intel.com>
> Cc: dev@dpdk.org; Lin, Xueqin <xueqin....@intel.com>; Peng, ZhihongX
> <zhihongx.p...@intel.com>; sta...@dpdk.org
> Subject: [PATCH v10 3/4] pipeline: Fix compilation error with gcc ASan
>
> From: Zhihong Peng <zhihongx.p...@intel.com>
>
> The gcc will check code more stricter when ASan enabled.
> "Control reaches end of non-void function" error occurs here.
>
> Fixes: f38913b7fb8e ("pipeline: add meter array to SWX")
> Cc: sta...@dpdk.org
>
> Signed-off-by: Xueqin Lin <xueqin....@intel.com>
> Signed-off-by: Zhihong Peng <zhihongx.p...@intel.com>
> ---
> v7: no change
> v8: no change
> v9: Modify the submit log
> v10:no change
> ---
> lib/pipeline/rte_swx_pipeline.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/lib/pipeline/rte_swx_pipeline.c b/lib/pipeline/rte_swx_pipeline.c
> index 1cd09a4b44..0acd6c6752 100644
> --- a/lib/pipeline/rte_swx_pipeline.c
> +++ b/lib/pipeline/rte_swx_pipeline.c
> @@ -4642,7 +4642,7 @@ instr_meter_translate(struct rte_swx_pipeline *p,
> return 0;
> }
>
> - CHECK(0, EINVAL);
> + return -EINVAL;
> }
>
> static inline void
> @@ -5937,7 +5937,7 @@ instr_translate(struct rte_swx_pipeline *p,
> instr,
> data);
>
> - CHECK(0, EINVAL);
> + return -EINVAL;
> }
>
> static struct instruction_data *
> --
> 2.25.1
NACK.
This is a false issue, no bug is here. CHECK(0, EINVAL) translates to an
unconditional return -EINVAL.
Does this tool work correctly when macros are present? Maybe the tool should
parse the preprocessed C code as opposed to initial C code?
Regards,
Cristian