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

Thomas Monjalon thomas.monjalon at 6wind.com
Wed Oct 1 14:58:05 CEST 2014


2014-09-28 05:30, Wiles, Roger Keith:
> 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.
> 
> Signed-off-by: Keith Wiles <keith.wiles at windriver.com>
[...]
> -#ifndef __INTEL_COMPILER
> +#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4))
>  #pragma GCC push_options
>  #pragma GCC diagnostic ignored "-Wcast-qual"
>  #endif

Does clang accept const casting with -Wcast-qual?

I'd prefer to use the same logic as in rte_mempool.c:
	#pragma GCC diagnostic ignored "-Wcast-qual"
	#pragma GCC diagnostic error "-Wcast-qual"
without using push/pop.
Or if push/pop is really needed, it is implemented in clang:
	http://clang.llvm.org/docs/UsersManual.html#controlling-diagnostics-via-pragmas

-- 
Thomas


More information about the dev mailing list