Boost logo

Boost :

Subject: Re: [boost] [1.47.0] Release branch now closed
From: Anthony Williams (anthony.ajw_at_[hidden])
Date: 2011-06-17 15:17:01


Rene Rivera <grafikrobot_at_[hidden]> writes:

> On 6/17/2011 11:53 AM, Anthony Williams wrote:
>> Rene Rivera<grafikrobot_at_[hidden]> writes:
>>
>>> I mean this compile problem:
>>>
>>> tss_pte.cpp#14
>>> #if #if (defined(__MINGW32__)&& !defined(_WIN64)) || defined(__MINGW64__)
>>>
>>> I.e. the double #if.
>>
>> That's not present in the actual code (which is already merged to
>> release anyway).
>
> OK, so now I'm confused.. Could you please post a patch of what the
> change to the release branch is? From what I understand now is that
> neither the changeset nor the current state of threads files is
> telling me what the merge is.

The only file to be merged is boost/detail/interlocked.hpp, with the
following changes:

anthony_at_lothlorien:~/boost$ diff release/boost/detail/interlocked.hpp trunk/boost/detail/interlocked.hpp
108a109,115
> #if defined(__MINGW64__)
> #define BOOST_INTERLOCKED_IMPORT
> #else
> #define BOOST_INTERLOCKED_IMPORT __declspec(dllimport)
> #endif
>
>
115,119c122,131
< extern "C" __declspec(dllimport) long __stdcall InterlockedIncrement( long volatile * );
< extern "C" __declspec(dllimport) long __stdcall InterlockedDecrement( long volatile * );
< extern "C" __declspec(dllimport) long __stdcall InterlockedCompareExchange( long volatile *, long, long );
< extern "C" __declspec(dllimport) long __stdcall InterlockedExchange( long volatile *, long );
< extern "C" __declspec(dllimport) long __stdcall InterlockedExchangeAdd( long volatile *, long );

---
> extern "C"BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedIncrement( long volatile * );
> extern "C"BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedDecrement( long volatile * );
> extern "C"BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedCompareExchange( long volatile *, long, long );
> extern "C"BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchange( long volatile *, long );
> extern "C"BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchangeAdd( long volatile *, long );
> 
> # if defined(_M_IA64) || defined(_M_AMD64)
> extern "C"BOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedCompareExchangePointer( void* volatile *, void*, void* );
> extern "C"BOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedExchangePointer( void* volatile *, void* );
> # endif
131c143,147
< # define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
---
> # if defined(_M_IA64) || defined(_M_AMD64)
> #  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER ::boost::detail::InterlockedCompareExchangePointer
> #  define BOOST_INTERLOCKED_EXCHANGE_POINTER ::boost::detail::InterlockedExchangePointer
> # else
> #  define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \
133c149
< # define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
---
> #  define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \
134a151
> # endif
Anthony
-- 
Author of C++ Concurrency in Action     http://www.stdthread.co.uk/book/
just::thread C++0x thread library             http://www.stdthread.co.uk
Just Software Solutions Ltd       http://www.justsoftwaresolutions.co.uk
15 Carrallack Mews, St Just, Cornwall, TR19 7UL, UK. Company No. 5478976

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