[dpdk-dev] [PATCH] net/cxgbe: fix build with clang 3.4.2

Ferruh Yigit ferruh.yigit at intel.com
Wed Mar 18 15:48:11 CET 2020


On 3/18/2020 1:48 PM, Rahul Lakkireddy wrote:
> 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>

Squashed into relevant commit in next-net, thanks.


More information about the dev mailing list