[dpdk-dev,v4] Clang compile error with RTE_LIBRTE_MEMPOOL_DEBUG enabled.
Commit Message
When enabling RTE_LIBRTE_MEMPOOL_DEBUG and compiling with clang
compiler an error occurs, because ifdefed code now includes GCC pragmas.
GCC 4.4 is when push_options and pop_options pragma show up.
Rework to include Thomas’s suggestion to drop push/pop pragma directives for
ignore/error directives.
Signed-off-by: Keith Wiles <keith.wiles@windriver.com>
---
lib/librte_mempool/rte_mempool.h | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
Comments
2014-10-05 01:16, Keith Wiles:
> When enabling RTE_LIBRTE_MEMPOOL_DEBUG and compiling with clang
> compiler an error occurs, because ifdefed code now includes GCC pragmas.
>
> GCC 4.4 is when push_options and pop_options pragma show up.
>
> Rework to include Thomas’s suggestion to drop push/pop pragma directives for
> ignore/error directives.
>
> Signed-off-by: Keith Wiles <keith.wiles@windriver.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Applied
Thanks
@@ -313,7 +313,6 @@ static inline void __mempool_write_trailer_cookie(void *obj)
*/
#ifdef RTE_LIBRTE_MEMPOOL_DEBUG
#ifndef __INTEL_COMPILER
-#pragma GCC push_options
#pragma GCC diagnostic ignored "-Wcast-qual"
#endif
static inline void __mempool_check_cookies(const struct rte_mempool *mp,
@@ -380,7 +379,7 @@ static inline void __mempool_check_cookies(const struct rte_mempool *mp,
}
}
#ifndef __INTEL_COMPILER
-#pragma GCC pop_options
+#pragma GCC diagnostic error "-Wcast-qual"
#endif
#else
#define __mempool_check_cookies(mp, obj_table_const, n, free) do {} while(0)