eal: fix build of external app with clang on armv8
authorIlya Maximets <i.maximets@samsung.com>
Mon, 14 Jan 2019 16:14:42 +0000 (19:14 +0300)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 14 Jan 2019 18:49:48 +0000 (19:49 +0100)
commit9726aa990731508390319ac5ba213f95b595f550
tree853693014e29cca88f54e9e4e96a5b01cc677494
parenta32ca9a4ebc1350ce48df0222decef95a72b742b
eal: fix build of external app with clang on armv8

In case DPDK built using GCC, RTE_TOOLCHAIN_CLANG is not defined.
But 'rte_atomic.h' is a generic header that included to the
external apps like OVS while building with DPDK. As a result,
clang build of OVS fails on armv8 if DPDK built using gcc:

    include/generic/rte_atomic.h:215:9: error:
            implicit declaration of function '__atomic_exchange_2'
            is invalid in C99
    include/generic/rte_atomic.h:494:9: error:
            implicit declaration of function '__atomic_exchange_4'
            is invalid in C99
    include/generic/rte_atomic.h:772:9: error:
            implicit declaration of function '__atomic_exchange_8'
            is invalid in C99

We need to check for current compiler, not the compiler used for
DPDK build.

Fixes: 7bdccb93078e ("eal: fix ARM build with clang")
Cc: stable@dpdk.org
Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
lib/librte_eal/common/include/generic/rte_atomic.h