> -----Original Message-----
> From: Peng, ZhihongX <[email protected]>
> Sent: Friday, October 15, 2021 4:11 PM
> To: [email protected]; Burakov, Anatoly
> <[email protected]>; Ananyev, Konstantin
> <[email protected]>; [email protected];
> Dumitrescu, Cristian <[email protected]>; Mcnamara, John
> <[email protected]>
> Cc: [email protected]; Lin, Xueqin <[email protected]>; Peng, ZhihongX
> <[email protected]>; [email protected]
> Subject: [PATCH v10 3/4] pipeline: Fix compilation error with gcc ASan
> 
> From: Zhihong Peng <[email protected]>
> 
> 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: [email protected]
> 
> Signed-off-by: Xueqin Lin <[email protected]>
> Signed-off-by: Zhihong Peng <[email protected]>
> ---
> 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

Reply via email to