[dpdk-dev] [PATCH v2] Clang compile error with RTE_LIBRTE_MEMPOOL_DEBUG enabled.
Wiles, Roger Keith
keith.wiles at windriver.com
Wed Oct 1 19:06:03 CEST 2014
Thomas, I will submit a v3 patch in a few minutes.
On Oct 1, 2014, at 9:57 AM, Wiles, Roger Keith <keith.wiles at windriver.com> wrote:
> Hi Thomas,
>
> Changing the macros to:
>
> #ifdef RTE_LIBRTE_MEMPOOL_DEBUG
> #ifndef __INTEL_COMPILER
> #pragma GCC diagnostic ignored "-Wcast-qual"
> #endif
> .
> .
> #ifndef __INTEL_COMPILER
> #pragma GCC diagnostic error "-Wcast-qual"
> #endif
>
> Works and is a good solution. I normally do not like negative ‘ifndef’ but it works :-)
>
> Can you make that change if everyone agrees, as would have to remove other changes to that file I want to do in the future to resend this patch. If not I can try and figure it out :-)
>
> Thanks
> ++Keith
>
> On Oct 1, 2014, at 7:58 AM, Thomas Monjalon <thomas.monjalon at 6wind.com> wrote:
>
>> 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
>
> Keith Wiles, Principal Technologist with CTO office, Wind River mobile 972-213-5533
>
Keith Wiles, Principal Technologist with CTO office, Wind River mobile 972-213-5533
More information about the dev
mailing list