Object(const Object& other);
Object& operator=(const Object& rhs);
+# ifndef _WIN32
intptr_t m_References;
+# else /* _WIN32 */
+ uintptr_t m_References;
+# endif /* _WIN32 */
mutable uintptr_t m_Mutex;
#ifdef I2_DEBUG
inline void intrusive_ptr_release(Object *object)
{
- intptr_t refs;
#ifdef _WIN32
- refs = InterlockedDecrement(&object->m_References);
+ uintptr_t refs = InterlockedDecrement(&object->m_References);
#else /* _WIN32 */
- refs = __sync_sub_and_fetch(&object->m_References, 1);
+ intptr_t refs = __sync_sub_and_fetch(&object->m_References, 1);
#endif /* _WIN32 */
ASSERT(refs >= 0);