v2: Instead of changing all the affected files, define 'typeofi' and 'asm' if needed.
When compiling C++11-code or above (--std=c++11), the build fails with lots of rte_eth_ctrl.h:517:3: note: in expansion of macro RTE_ALIGN (RTE_ALIGN(RTE_ETH_FLOW_MAX, UINT32_BIT)/UINT32_BIT) ^ When reading the GCC info pages, I get the feeling that __typeof__ is a better choice, and that indeed works when including the headers in C++ files (--std=c++11). There are some typeof()s left in C files, the patch only touches the public API. Signed-off-by: Simon Kagstrom <simon.kagstrom at netinsight.net> Signed-off-by: Konstantin Ananyev <konstantin.ananyev at intel.com> --- lib/librte_eal/common/include/rte_common.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/common/include/rte_common.h index 8ac940c..1867692 100644 --- a/lib/librte_eal/common/include/rte_common.h +++ b/lib/librte_eal/common/include/rte_common.h @@ -51,6 +51,15 @@ extern "C" { #include <errno.h> #include <limits.h> +#ifndef typeof +#define typeof __typeof__ +#endif + +#ifndef asm +#define asm __asm__ +#endif + + /*********** Macros to eliminate unused variable warnings ********/ /** -- 1.8.5.3