[dpdk-dev] [PATCH] net/cxgbe: fix build with clang 3.4.2
Rahul Lakkireddy
rahul.lakkireddy at chelsio.com
Wed Mar 18 14:48:06 CET 2020
On Wednesday, March 03/18/20, 2020 at 12:52:36 +0000, Ferruh Yigit wrote:
> Build error:
> .../drivers/net/cxgbe/cxgbe_flow.c:315:2:
> error: implicit truncation from 'int' to bitfield changes value
> from -1 to 7 [-Werror,-Wbitfield-constant-conversion]
> CXGBE_FILL_FS(adap->pf, ~0, pf);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> .../drivers/net/cxgbe/cxgbe_flow.c:25:2:
> note: expanded from macro 'CXGBE_FILL_FS'
> __CXGBE_FILL_FS(v, m, fs, elem, e)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> .../drivers/net/cxgbe/cxgbe_flow.c:15:18: note:
> expanded from macro '__CXGBE_FILL_FS'
> (fs)->mask.elem = (__m); \
> ^ ~~~~~
> Commit in fixes line changes 'PF_BITWIDTH' to '3', which makes 'fs->pf'
> bitfield size '3', changing '~0' to '0x7' to prevent truncation in
> assignment.
>
> Fixes: dcd456abe46f ("net/cxgbe: support flow API for matching all packets on PF")
>
> Reported-by: Raslan Darawsheh <rasland at mellanox.com>
> Reported-by: Xueming Zhang <xuemingx.zhang at intel.com>
> Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
I've tested CLANG compilation with 9.0.1 without this patch,
but couldn't hit the above mentioned error.
# clang --version
clang version 9.0.1 (Fedora 9.0.1-2.fc31)
However, after grabbing CLANG 3.4.2, I could see the error.
# clang --version
clang version 3.4.2 (tags/RELEASE_34/dot2-final)
This patch fixes it and the fix is correct too.
Thanks for fixing it.
Acked-by: Rahul Lakkireddy <rahul.lakkireddy at chelsio.com>
> ---
> Cc: kaara.satwik at chelsio.com
> ---
> drivers/net/cxgbe/cxgbe_flow.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/cxgbe/cxgbe_flow.c b/drivers/net/cxgbe/cxgbe_flow.c
> index 13fd78aaf..a46515d3b 100644
> --- a/drivers/net/cxgbe/cxgbe_flow.c
> +++ b/drivers/net/cxgbe/cxgbe_flow.c
> @@ -312,7 +312,7 @@ ch_rte_parsetype_pf(const void *dmask __rte_unused,
>
> CXGBE_FILL_FS(1, 1, pfvf_vld);
>
> - CXGBE_FILL_FS(adap->pf, ~0, pf);
> + CXGBE_FILL_FS(adap->pf, 0x7, pf);
> return 0;
> }
>
> --
> 2.25.1
>
More information about the dev
mailing list