mempool: use GCC push/pop_options
authorStephen Hemminger <stephen@networkplumber.org>
Fri, 7 Mar 2014 18:13:39 +0000 (10:13 -0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 24 Mar 2014 17:58:25 +0000 (18:58 +0100)
The include file should not change the GCC compile options for
the whole file being compiled, but only for the one inline function
that needs it. Using the push_options/pop_options fixes this.

Signed-off-by: Stephen Hemminger <shemming@brocade.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
lib/librte_mempool/rte_mempool.h

index 7668671..1f9243c 100644 (file)
@@ -314,6 +314,7 @@ 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 +381,7 @@ static inline void __mempool_check_cookies(const struct rte_mempool *mp,
        }
 }
 #ifndef __INTEL_COMPILER
-#pragma GCC diagnostic error "-Wcast-qual"
+#pragma GCC pop_options
 #endif
 #else
 #define __mempool_check_cookies(mp, obj_table_const, n, free) do {} while(0)