From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from an.kaist.ac.kr (an.kaist.ac.kr [143.248.48.110]) by dpdk.org (Postfix) with ESMTP id 98599CF9 for ; Fri, 3 Jul 2015 14:51:19 +0200 (CEST) Received: from shader-seattle.anlab (gw.kaist.ac.kr [143.248.48.111]) by an.kaist.ac.kr (Postfix) with ESMTPSA id 9D1AA3620274 for ; Fri, 3 Jul 2015 21:51:35 +0900 (KST) From: Joongi Kim To: dev@dpdk.org Date: Fri, 3 Jul 2015 21:51:03 +0900 Message-Id: <1435927863-3398-2-git-send-email-joongi@an.kaist.ac.kr> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1435927863-3398-1-git-send-email-joongi@an.kaist.ac.kr> References: <1435927863-3398-1-git-send-email-joongi@an.kaist.ac.kr> Subject: [dpdk-dev] [PATCH 2/2] eal: Fix compilation on C++ X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2015 12:51:20 -0000 * Forward declaration of enum in C++ requires explicit underlying type definitions. * This fixes the issue at: http://dpdk.org/ml/archives/dev/2015-April/017065.html Signed-off-by: Joongi Kim --- lib/librte_eal/common/include/arch/x86/rte_cpuflags.h | 4 ++-- lib/librte_eal/common/include/generic/rte_cpuflags.h | 12 ++++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/librte_eal/common/include/arch/x86/rte_cpuflags.h b/lib/librte_eal/common/include/arch/x86/rte_cpuflags.h index dd56553..df1834c 100644 --- a/lib/librte_eal/common/include/arch/x86/rte_cpuflags.h +++ b/lib/librte_eal/common/include/arch/x86/rte_cpuflags.h @@ -45,7 +45,7 @@ extern "C" { #include "generic/rte_cpuflags.h" -enum rte_cpu_flag_t { +enum rte_cpu_flag_t __RTE_CPUFLAG_UNDERLYING_TYPE { /* (EAX 01h) ECX features*/ RTE_CPUFLAG_SSE3 = 0, /**< SSE3 */ RTE_CPUFLAG_PCLMULQDQ, /**< PCLMULQDQ */ @@ -150,7 +150,7 @@ enum rte_cpu_flag_t { RTE_CPUFLAG_NUMFLAGS, /**< This should always be the last! */ }; -enum cpu_register_t { +enum cpu_register_t __RTE_REGISTER_UNDERLYING_TYPE { RTE_REG_EAX = 0, RTE_REG_EBX, RTE_REG_ECX, diff --git a/lib/librte_eal/common/include/generic/rte_cpuflags.h b/lib/librte_eal/common/include/generic/rte_cpuflags.h index 61c4db1..5352cbc 100644 --- a/lib/librte_eal/common/include/generic/rte_cpuflags.h +++ b/lib/librte_eal/common/include/generic/rte_cpuflags.h @@ -44,15 +44,23 @@ #include #include +#ifdef __cplusplus +#define __RTE_CPUFLAG_UNDERLYING_TYPE : unsigned int +#define __RTE_REGISTER_UNDERLYING_TYPE : unsigned int +#else +#define __RTE_CPUFLAG_UNDERLYING_TYPE +#define __RTE_REGISTER_UNDERLYING_TYPE +#endif + /** * Enumeration of all CPU features supported */ -enum rte_cpu_flag_t; +enum rte_cpu_flag_t __RTE_CPUFLAG_UNDERLYING_TYPE; /** * Enumeration of CPU registers */ -enum cpu_register_t; +enum cpu_register_t __RTE_REGISTER_UNDERLYING_TYPE; typedef uint32_t cpuid_registers_t[4]; -- 1.9.1