[dpdk-dev] [PATCH v3] Clang compile error with RTE_LIBRTE_MEMPOOL_DEBUG enabled.

Wiles, Roger Keith keith.wiles at windriver.com
Wed Oct 1 19:11:17 CEST 2014


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 at windriver.com>
---
 lib/librte_mempool/rte_mempool.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h
index 95f19f9..163de86 100644
--- a/lib/librte_mempool/rte_mempool.h
+++ b/lib/librte_mempool/rte_mempool.h
@@ -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)
-- 
2.1.0

Keith Wiles, Principal Technologist with CTO office, Wind River mobile 972-213-5533



More information about the dev mailing list