[prev in list] [next in list] [prev in thread] [next in thread] 

List:       boost-build
Subject:    Re: [Boost-build] Cannot build boost 1.63 with Windows Intel compiler because cpu_relax
From:       Edward Diener via Boost-build <boost-build () lists ! boost ! org>
Date:       2017-03-09 21:30:50
Message-ID: o9shi7$gmk$1 () blaine ! gmane ! org
[Download RAW message or body]

On 3/9/2017 2:17 PM, Blower, Melanie via Boost-build wrote:
> Hello,
> I'm trying to build the boost 1.63 library with the Intel 17.0 compiler (latest \
> update) in the vs2015 environment. Several targets fail to build because the \
> definition of the cpu_relax macro isn't correct. 
> This change corrects the problem and allows the build to complete successfully.  Is \
> this the right way to correct the problem?

First you should put [fiber] at the beginning of the title to your message.

Secondly it is better to createa PR against the fiber library on Github.

> 
> diff _unchanged/boost_1_63_0/boost/fiber/detail/cpu_relax.hpp \
> boost_1_63_0/boost/fiber/detail/cpu_relax.hpp 17c17
> < #if BOOST_COMP_MSVC
> ---
> > # if BOOST_COMP_MSVC || BOOST_COMP_MSVC_EMULATED
> 40c40
> < # if BOOST_COMP_MSVC
> ---
> > # if BOOST_COMP_MSVC || BOOST_COMP_MSVC_EMULATED
> 
> Without this change I get a message like this:
> 
> ./boost/fiber/detail/spinlock_ttas.hpp(66): error: invalid constant in assembly \
> language instruction asm volatile ("pause" ::: "memory");;
> ^
> 
> This change allows the macro to compile to YieldProcessor()
> 
> I work for Intel, on the Intel C++ compiler.
> 
> Thanks and regards, Melanie Blower


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic