Boost logo

Boost :

Subject: Re: [boost] [predef] Fails on Intel/win
From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2015-07-12 13:24:14


On Jul 12, 2015 11:14 AM, "Edward Diener" <eldiener_at_[hidden]> wrote:
>
> On 7/12/2015 12:46 PM, Rene Rivera wrote:
>>
>> On Jul 12, 2015 10:01 AM, "John Maddock" <jz.maddock_at_[hidden]>
wrote:
>>>
>>>
>>>
>>>
>>> On 12/07/2015 14:05, Edward Diener wrote:
>>>>
>>>>
>>>> On 7/12/2015 4:42 AM, John Maddock wrote:
>>>>>
>>>>>
>>>>> BOOST_COMP_INTEL is set to 0, which means that
>>>>>
>>>>> [ predef-require "BOOST_COMP_INTEL" ]
>>>>>
>>>>> fails.
>>>>>
>>>>> __INTEL_COMPILER is set to 1500.
>>>>>
>>>>> BOOST_COMP_INTEL is set to ( (((0)%100)*10000000) +
(((0)%100)*100000) +
>>>>> ((0)%100000) )
>>>>
>>>>
>>>>
>>>> You can also see this on the regression tests for intel-linux (
>>
>>
http://www.boost.org/development/tests/develop/developer/output/GLIS-homo-impi-boost-bin-v2-libs-predef-test-info_as_cpp-test-intel-linux-release.html
>> ) where the compiler is identified as BOOST_COMP_EDG and both
>> BOOST_COMP_GNUC_EMULATED and BOOST_COMP_INTEL_EMULATED are set to
non-zero
>> values.
>>>>
>>>>
>>> It's not emulating the Intel compiler, it *is* the Intel compiler with
>>
>> version number 15.0, irrespective of whose front end they're using
>> internally.
>>
>> So it should be.. INTEL, EDG EMULATED, and GNUC EMULATED? Should it
always
>> be the case that EDG be marked as EMULATED?
>
>
> Does it have to do with the order of the compilers you are checking ? If
so, isn't the idea to at least check compilers which are not emulating
other compilers first before you check compilers which could be emulating
other compilers ? I don't believe the Intel compiler is emulating any other
compiler, so if it were checked before EDG and GNUC the result should be
correct. I haven't looked carefully at your predef logic for compilers but
it appears to rely on the order in which your compiler header files are
being included and from what I can see that order is purely alphabetic in
compiler.h.

Yes.. That's how it loosely works. I wasn't asking about how to implement
it.. I was asking about correctness. As it's easy to change this.


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