Boost logo

Boost :

Subject: Re: [boost] mkl+boost problems
From: Marshall Clow (mclow.lists_at_[hidden])
Date: 2010-11-08 18:20:59


On Nov 8, 2010, at 2:37 PM, Eric Niebler wrote:
> On 11/8/2010 5:25 PM, Andrey Asadchev wrote:
>> Hello.
>>
>> mkl (intel blas) has "mkl_cblas.h" file which in turn includes "
>> mkl_types.h" file which defines P4 macro variable:
>>
>> 70 /** CPU codes for int MKL_CPU_DETECT(void) **/
>> 71 #ifdef _IPF
>> 72 #define ITP 0
>> 73 #else
>> 74 #ifdef _EM64T
>> 75 #define NI 0
>> 76 #define CT 1
>> 77 #define MNI 2
>> 78 #define PNR 3
>> 79 #else
>> 80 #define DEF 0
>> 81 #define PIII 1
>> 82 #define P4 2
>> 83 #define P4P 3
>> 84 #define P4M 4
>> 85 #endif
>> 86 #endif
>
> This is HORRIBLE.
>
>> This P4 variable creates havoc of MPL templates which have P4 template
>> parameters names.
>>
>> What to do?
>
> File a bug against mkl for subjecting the world to their macro
> pollution. And then create a wrapper header for yourself that includes
> mkl and then #undef's the macros that are causing you grief.

See https://svn.boost.org/trac/boost/ticket/2107 for more about this problem.

-- Marshall


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk