Re: [Boost-bugs] [Boost C++ Libraries] #5431: compile error in Windows CE 6.0(interlocked)

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #5431: compile error in Windows CE 6.0(interlocked)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-05-15 13:30:17


#5431: compile error in Windows CE 6.0(interlocked)
------------------------------------------------+--------------------------
  Reporter: Akira Takahashi <faithandbrave@…> | Owner: viboes
      Type: Bugs | Status: closed
 Milestone: Boost 1.52.0 | Component: thread
   Version: Boost 1.46.1 | Severity: Problem
Resolution: fixed | Keywords: wince
                                                | interlocked
------------------------------------------------+--------------------------

Comment (by christian.vollmer@…):

 I got the same problem with the same platform but for the current boost
 version of 1.55. However, commenting out the section that handled the
 special case for _WIN32_WCE >= 0x600 solved the issue. Now the code looks
 like this:

 {{{
 //#if _WIN32_WCE >= 0x600
 //
 //extern "C" long __cdecl _InterlockedIncrement( long volatile * );
 //extern "C" long __cdecl _InterlockedDecrement( long volatile * );
 //extern "C" long __cdecl _InterlockedCompareExchange( long volatile *,
 long, long );
 //extern "C" long __cdecl _InterlockedExchange( long volatile *, long );
 //extern "C" long __cdecl _InterlockedExchangeAdd( long volatile *, long
 );
 //
 //# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
 //# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
 //# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange
 //# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange
 //# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
 //
 //#else
 // under Windows CE we still have old-style Interlocked* functions

 //extern "C" long __cdecl InterlockedIncrement( long* );
 //extern "C" long __cdecl InterlockedDecrement( long* );
 //extern "C" long __cdecl InterlockedCompareExchange( long*, long, long );
 //extern "C" long __cdecl InterlockedExchange( long*, long );
 //extern "C" long __cdecl InterlockedExchangeAdd( long*, long );

 # define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement
 # define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement
 # define BOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange
 # define BOOST_INTERLOCKED_EXCHANGE InterlockedExchange
 # define BOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd

 //#endif
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/5431#comment:18>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:16 UTC