On 10/12/20 4:37 PM, Gaëtan Rivet wrote:
> On 12/10/20 14:04 +0000, Eli Britstein wrote:
>> DPDK commit [1] uses function variables named "memory_order".
>> Compilation fails with:
>> error: declaration of 'memory_order' shadows a global declaration
>> [-Werror=shadow]
>>  rte_atomic_thread_fence(int memory_order)
>> Rename enum memory_order to ovs_memory_order to avoid that conflict.
>>
> 
> Hi Eli,
> 
> The C11 standard section 7.17.1.4 defines 'memory_order' as the
> "enumerated type whose enumerators identify memory ordering constraints".
> I think in this case this is a DPDK bug. Its API should be compatible
> with the C standard.

I agree here.  And, also, OVS defines this enum only for cases where
it is not defined by environment (e.g. stdatomic.h).  So, this patch will
actually fail the build on systems where ovs-atomic-c11.h is chosen as
an implementation for atomics, because it will not find ovs_memory_order
type defined.  Basically, I can not build OVS locally with this patch
applied because of this.

> 
>> [1] 672a15056380 ("eal: add wrapper for C11 atomic thread fence")
>>
>> Signed-off-by: Eli Britstein <[email protected]>
>> ---
> 
> Regards,
> 

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to