[LockFree] compile problems under VS 2008 sp1

Hi! I've written quite simple app to test lockfree::atomic_int. What I see: struct atomic_cas64 { ... #elif defined(_M_IX86) return InterlockedCompareExchange(reinterpret_cast<volatile LONG*>(addr), reinterpret_cast<LONG>(nw), // reinterpret_cast: cannot cast boost::int64_t to LONG reinterpret_cast<LONG>(old)) == old; // reinterpret_cast: cannot cast boost::int64_t to LONG I can give you source code of my simple program if you want. More questions: what is the status of LockFree? Are there any alternatives for atomic_int? Thank you!

struct atomic_cas64 { .... #elif defined(_M_IX86) return InterlockedCompareExchange(reinterpret_cast<volatile LONG*>(addr), reinterpret_cast<LONG>(nw), // reinterpret_cast: cannot cast boost::int64_t to LONG reinterpret_cast<LONG>(old)) == old; // reinterpret_cast: cannot cast boost::int64_t to LONG
thanks, i will have a look at the code ... i am neither using windows, nor msvc, so the win32-specific code is not very well tested ...
More questions: what is the status of LockFree?
i consider the implementation as quite stable and the library is submitted for review (though i didn't get any reply on the review request :/)
Are there any alternatives for atomic_int?
there is a boost::detail::atomic_count ... tim -- tim@klingt.org http://tim.klingt.org /"\ ASCII Ribbon Campaign \ / no HTML in email & vCards X no proprietary attachments / \ use open standards
participants (2)
-
Roman Shmelev
-
Tim Blechmann