[dpdk-dev] [PATCH V2 1/1] eal: fix build with conflicting libc variable memory_order
Honnappa Nagarahalli
Honnappa.Nagarahalli at arm.com
Thu Oct 15 18:46:10 CEST 2020
<snip>
>
> The cited commit introduced functions with 'int memory_order' argument.
> The C11 standard section 7.17.1.4 defines 'memory_order' as the
> "enumerated type whose enumerators identify memory ordering
> constraints".
>
> A compilation error occurs:
> error: declaration of 'memory_order' shadows a global declaration
> [-Werror=shadow]
> rte_atomic_thread_fence(int memory_order)
>
> This issue was hit when trying to compile OVS with gcc 4.8.5. This compiler
> version does not provide stdatomic.h, so enum memory_order is redefined
> in OVS code.
> In another case, if the compiler does provide stdatomic.h header, passing -
> Wsystem-headers in the CFLAGS will also cause that failure.
>
> Fix it by changing the argument name 'memory_order' to 'memorder'.
>
> Fixes: 672a15056380 ("eal: add wrapper for C11 atomic thread fence")
>
> Signed-off-by: Eli Britstein <elibr at nvidia.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli at arm.com>
We are missing the earlier ACKs.
<snip>
More information about the dev
mailing list