[dpdk-dev] [PATCH] Clang compile error with RTE_LIBRTE_MEMPOOL_DEBUG enabled.
Self nack this one :-(. It looks like the code should be something like this instead: #if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) #pragma GCC push_options #pragma GCC diagnostic ignored "-Wcast-qual" #endif GCC 4.4 is when push_options and pop_options showed up in GCC. I will post a new patch, but I wanted to ask if this was the best solution for these ifdefs? If someone sees a better solution please let me know. Thanks ++Keith On Sep 27, 2014, at 12:53 AM, Wiles, Roger Keith wrote: > When enabling RTE_LIBRTE_MEMPOOL_DEBUG and compiling with clang > compiler an error occurs, because ifdefed code now includes GCC pragmas. > > Signed-off-by: Keith Wiles > --- > lib/librte_mempool/rte_mempool.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/lib/librte_mempool/rte_mempool.h > b/lib/librte_mempool/rte_mempool.h > index 95f19f9..299d4d7 100644 > --- a/lib/librte_mempool/rte_mempool.h > +++ b/lib/librte_mempool/rte_mempool.h > @@ -312,7 +312,7 @@ static inline void __mempool_write_trailer_cookie(void > *obj) > * - 2: just check that cookie is valid (free or allocated) > */ > #ifdef RTE_LIBRTE_MEMPOOL_DEBUG > -#ifndef __INTEL_COMPILER > +#ifdef __GCC__ > #pragma GCC push_options > #pragma GCC diagnostic ignored "-Wcast-qual" > #endif > @@ -379,7 +379,7 @@ static inline void __mempool_check_cookies(const struct > rte_mempool *mp, > } > } > } > -#ifndef __INTEL_COMPILER > +#ifdef __GCC__ > #pragma GCC pop_options > #endif > #else > ? > 2.1.0 > Keith Wiles, Principal Technologist with CTO office, Wind River mobile 972-213-5533
[dpdk-dev] [PATCH] Clang compile error with RTE_LIBRTE_MEMPOOL_DEBUG enabled.
On Sat, Sep 27, 2014 at 12:30:35AM -0500, Keith Wiles wrote: > When enabling RTE_LIBRTE_MEMPOOL_DEBUG and compiling with clang > compiler an error occurs, because ifdefed code now includes GCC pragmas. > > Signed-off-by: Keith Wiles > --- > lib/librte_mempool/rte_mempool.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/lib/librte_mempool/rte_mempool.h > b/lib/librte_mempool/rte_mempool.h > index 95f19f9..299d4d7 100644 > --- a/lib/librte_mempool/rte_mempool.h > +++ b/lib/librte_mempool/rte_mempool.h > @@ -312,7 +312,7 @@ static inline void __mempool_write_trailer_cookie(void > *obj) > * - 2: just check that cookie is valid (free or allocated) > */ > #ifdef RTE_LIBRTE_MEMPOOL_DEBUG > -#ifndef __INTEL_COMPILER > +#ifdef __GCC__ > #pragma GCC push_options > #pragma GCC diagnostic ignored "-Wcast-qual" > #endif > @@ -379,7 +379,7 @@ static inline void __mempool_check_cookies(const struct > rte_mempool *mp, > } > } > } > -#ifndef __INTEL_COMPILER > +#ifdef __GCC__ > #pragma GCC pop_options > #endif > #else > -- > 2.1.0 > > Acked-by: Neil Horman
[dpdk-dev] [PATCH] Clang compile error with RTE_LIBRTE_MEMPOOL_DEBUG enabled.
When enabling RTE_LIBRTE_MEMPOOL_DEBUG and compiling with clang compiler an error occurs, because ifdefed code now includes GCC pragmas. Signed-off-by: Keith Wiles --- lib/librte_mempool/rte_mempool.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h index 95f19f9..299d4d7 100644 --- a/lib/librte_mempool/rte_mempool.h +++ b/lib/librte_mempool/rte_mempool.h @@ -312,7 +312,7 @@ static inline void __mempool_write_trailer_cookie(void *obj) * - 2: just check that cookie is valid (free or allocated) */ #ifdef RTE_LIBRTE_MEMPOOL_DEBUG -#ifndef __INTEL_COMPILER +#ifdef __GCC__ #pragma GCC push_options #pragma GCC diagnostic ignored "-Wcast-qual" #endif @@ -379,7 +379,7 @@ static inline void __mempool_check_cookies(const struct rte_mempool *mp, } } } -#ifndef __INTEL_COMPILER +#ifdef __GCC__ #pragma GCC pop_options #endif #else ? 2.1.0
[dpdk-dev] [PATCH] Clang compile error with RTE_LIBRTE_MEMPOOL_DEBUG enabled.
When enabling RTE_LIBRTE_MEMPOOL_DEBUG and compiling with clang compiler an error occurs, because ifdefed code now includes GCC pragmas. Signed-off-by: Keith Wiles --- lib/librte_mempool/rte_mempool.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h index 95f19f9..299d4d7 100644 --- a/lib/librte_mempool/rte_mempool.h +++ b/lib/librte_mempool/rte_mempool.h @@ -312,7 +312,7 @@ static inline void __mempool_write_trailer_cookie(void *obj) * - 2: just check that cookie is valid (free or allocated) */ #ifdef RTE_LIBRTE_MEMPOOL_DEBUG -#ifndef __INTEL_COMPILER +#ifdef __GCC__ #pragma GCC push_options #pragma GCC diagnostic ignored "-Wcast-qual" #endif @@ -379,7 +379,7 @@ static inline void __mempool_check_cookies(const struct rte_mempool *mp, } } } -#ifndef __INTEL_COMPILER +#ifdef __GCC__ #pragma GCC pop_options #endif #else -- 2.1.0
[dpdk-dev] [PATCH] Clang compile error with RTE_LIBRTE_MEMPOOL_DEBUG enabled.
When enabling RTE_LIBRTE_MEMPOOL_DEBUG and compiling with clang compiler an error occurs, because ifdefed code now includes GCC pragmas. Signed-off-by: Keith Wiles --- lib/librte_mempool/rte_mempool.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h index 95f19f9..299d4d7 100644 --- a/lib/librte_mempool/rte_mempool.h +++ b/lib/librte_mempool/rte_mempool.h @@ -312,7 +312,7 @@ static inline void __mempool_write_trailer_cookie(void *obj) * - 2: just check that cookie is valid (free or allocated) */ #ifdef RTE_LIBRTE_MEMPOOL_DEBUG -#ifndef __INTEL_COMPILER +#ifdef __GCC__ #pragma GCC push_options #pragma GCC diagnostic ignored "-Wcast-qual" #endif @@ -379,7 +379,7 @@ static inline void __mempool_check_cookies(const struct rte_mempool *mp, } } } -#ifndef __INTEL_COMPILER +#ifdef __GCC__ #pragma GCC pop_options #endif #else -- 2.1.0