[Boost-bugs] [Boost C++ Libraries] #3378: interlocked.hpp won't compile

Subject: [Boost-bugs] [Boost C++ Libraries] #3378: interlocked.hpp won't compile
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-09-01 01:44:17


#3378: interlocked.hpp won't compile
----------------------------------------+-----------------------------------
 Reporter: blandwa <blandw@…> | Owner: johnmaddock
     Type: Bugs | Status: new
Milestone: Boost 1.41.0 | Component: math
  Version: Boost 1.39.0 | Severity: Showstopper
 Keywords: |
----------------------------------------+-----------------------------------
 Suddenly and for no discernible reason, merely including any (I assume)
 boost header file produces the compiler errors below. I was including
 only boost/math/distributions/binomial.hpp when the problem arose. I
 tested #include<boost/signal.hpp> alone as well, producing the same
 errors. Nothing in my own code changed (backup copies that compiled when
 they were saved won't compile now). I tried rerunning the boostpro
 installer, but it had no effect. I'm using Visual Studio 2008.

 1>C:\Program Files\boost\boost_1_39\boost/detail/interlocked.hpp(57) :
 error C2373: '_InterlockedIncrement' : redefinition; different type
 modifiers
 1> c:\Program Files\Microsoft Visual Studio
 9.0\VC\include\memory(993) : see declaration of '_InterlockedIncrement'
 1>C:\Program Files\boost\boost_1_39\boost/detail/interlocked.hpp(58) :
 error C2373: '_InterlockedDecrement' : redefinition; different type
 modifiers
 1> c:\Program Files\Microsoft Visual Studio
 9.0\VC\include\memory(994) : see declaration of '_InterlockedDecrement'
 1>C:\Program Files\boost\boost_1_39\boost/detail/interlocked.hpp(59) :
 error C2373: '_InterlockedCompareExchange' : redefinition; different type
 modifiers
 1> c:\Program Files\Microsoft Visual Studio
 9.0\VC\include\memory(995) : see declaration of
 '_InterlockedCompareExchange'
 1>C:\Program
 Files\boost\boost_1_39\boost/smart_ptr/detail/sp_counted_base_w32.hpp(73)
 : error C3861: '_InterlockedIncrement': identifier not found
 1>C:\Program
 Files\boost\boost_1_39\boost/smart_ptr/detail/sp_counted_base_w32.hpp(92)
 : error C2446: '==' : no conversion from 'long' to 'long (__clrcall
 *)(volatile long *,long,long)'
 1>C:\Program
 Files\boost\boost_1_39\boost/smart_ptr/detail/sp_counted_base_w32.hpp(92)
 : error C2040: '==' : 'long (__clrcall *)(volatile long *,long,long)'
 differs in levels of indirection from 'long'
 1>C:\Program
 Files\boost\boost_1_39\boost/smart_ptr/detail/sp_counted_base_w32.hpp(92)
 : error C3861: '_InterlockedCompareExchange': identifier not found
 1>C:\Program
 Files\boost\boost_1_39\boost/smart_ptr/detail/sp_counted_base_w32.hpp(100)
 : error C3861: '_InterlockedDecrement': identifier not found
 1>C:\Program
 Files\boost\boost_1_39\boost/smart_ptr/detail/sp_counted_base_w32.hpp(109)
 : error C3861: '_InterlockedIncrement': identifier not found
 1>C:\Program
 Files\boost\boost_1_39\boost/smart_ptr/detail/sp_counted_base_w32.hpp(114)
 : error C3861: '_InterlockedDecrement': identifier not found

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3378>
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:01 UTC