Hi, > -----Original Message----- > From: Rahul Lakkireddy <[email protected]> > Sent: Wednesday, March 18, 2020 3:48 PM > To: Ferruh Yigit <[email protected]> > Cc: Karra Satwik <[email protected]>; [email protected]; Raslan > Darawsheh <[email protected]>; Xueming Zhang > <[email protected]> > Subject: Re: [PATCH] net/cxgbe: fix build with clang 3.4.2 > > 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 <[email protected]> > > Reported-by: Xueming Zhang <[email protected]> > > Signed-off-by: Ferruh Yigit <[email protected]> > > 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. > Working just fine for me as well, thanks for the update Tested-by: Raslan Darawsheh <[email protected]>
> Acked-by: Rahul Lakkireddy <[email protected]> > > > --- > > Cc: [email protected] > > --- > > 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 > >

