From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konstantin Ananyev Subject: [PATCHv2] headers: typeof -> __typeof__ to unbreak C++11 code Date: Fri, 6 Mar 2015 15:59:47 +0000 Message-ID: <1425657587-23516-1-git-send-email-konstantin.ananyev@intel.com> References: <20150225142851.55406347@miho> To: dev-VfR2kkLFssw@public.gmane.org Return-path: In-Reply-To: <20150225142851.55406347@miho> In-Reply-To: <20150225142851.55406347@miho> References: <20150225142851.55406347@miho> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" 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 Signed-off-by: Konstantin Ananyev --- 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 #include +#ifndef typeof +#define typeof __typeof__ +#endif + +#ifndef asm +#define asm __asm__ +#endif + + /*********** Macros to eliminate unused variable warnings ********/ /** -- 1.8.5.3