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>

--- a/lib/librte_mempool/rte_mempool.h	2014-01-23 09:15:55.000000000 -0800
+++ b/lib/librte_mempool/rte_mempool.h	2014-03-06 15:19:56.551238180 -0800
@@ -314,6 +314,7 @@ static inline void __mempool_write_trail
  */
 #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_cooki
 	}
 }
 #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)

