Ticket #1494: basic_timed_mutex.diff

File basic_timed_mutex.diff, 1.6 KB (added by Hartmut Kaiser, 15 years ago)
  • basic_timed_mutex.hpp

     
    3333
    3434            void destroy()
    3535            {
     36#if defined(BOOST_MSVC) && !(defined(_M_IA64) || defined(_M_AMD64))
     37// disable: warning C4312: 'type cast' : conversion from 'long' to 'void *' of greater size
     38#pragma warning (push)
     39#pragma warning (disable: 4312)
     40#endif
    3641                void* const old_event=BOOST_INTERLOCKED_EXCHANGE_POINTER(&event,0);
     42#if defined(BOOST_MSVC) && !(defined(_M_IA64) || defined(_M_AMD64))
     43#pragma warning (pop)
     44#endif
    3745                if(old_event)
    3846                {
    3947                    win32::CloseHandle(old_event);
     
    133141                if(!current_event)
    134142                {
    135143                    void* const new_event=win32::create_anonymous_event(win32::auto_reset_event,win32::event_initially_reset);
     144#if defined(BOOST_MSVC) && !(defined(_M_IA64) || defined(_M_AMD64))
     145// disable: warning C4311: 'type cast' : pointer truncation from 'void *const ' to 'long'
     146// disable: warning C4312: 'type cast' : conversion from 'long' to 'void *' of greater size
     147#pragma warning (push)
     148#pragma warning (disable: 4311 4312)
     149#endif
    136150                    void* const old_event=BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(&event,new_event,0);
     151#if defined(BOOST_MSVC) && !(defined(_M_IA64) || defined(_M_AMD64))
     152#pragma warning (pop)
     153#endif
    137154                    if(old_event!=0)
    138155                    {
    139156                        win32::CloseHandle(new_event);