Opened 8 years ago
#11002 new Bugs
winsock_init.ipp(36) : error C2665: 'InterlockedIncrement'
Reported by: | Owned by: | chris_kohlhoff | |
---|---|---|---|
Milestone: | To Be Determined | Component: | asio |
Version: | Boost 1.57.0 | Severity: | Problem |
Keywords: | x64, InterlockedIncrement | Cc: | vladimir.lysenko@… |
Description
current compilation of code that deps on boost::asio fails with vs2013 for x64, because the used types cannot be resolved in an unambiguous manner.
<build-dir>\vc120-mt-gd-6_5-x64\include\boost/asio/detail/impl/winsock_init.ipp(36) : error C2665: 'InterlockedIncrement' : none of the 3 over loads could convert all the argument types
C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8844): could be 'unsigned int64 InterlockedIncrement(volatile unsigned int64 *)' C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8833): or 'unsigned long InterlockedIncrement(volatile unsigned long *)' C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8824): or 'unsigned int InterlockedIncrement(volatile unsigned int *)' while trying to match the argument list '(long *)'
<build-dir>\vc120-mt-gd-6_5-x64\include\boost/asio/detail/impl/winsock_init.ipp(40) : error C2665: 'InterlockedExchange' : none of the 3 overl oads could convert all the argument types
C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8910): could be 'unsigned int64 InterlockedExchange(volatile unsigned int64 *,unsigned
int64)'
C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8898): or 'unsigned long InterlockedExchange(volatile unsigned long *,unsigned long)'
C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8888): or 'unsigned int InterlockedExchange(volatile unsigned int *,unsigned int)' while trying to match the argument list '(long *, long)'
<build-dir>\vc120-mt-gd-6_5-x64\include\boost/asio/detail/impl/winsock_init.ipp(46) : error C2665: 'InterlockedIncrement' : none of the 3 over loads could convert all the argument types
C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8844): could be 'unsigned int64 InterlockedIncrement(volatile unsigned int64 *)' C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8833): or 'unsigned long InterlockedIncrement(volatile unsigned long *)' C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8824): or 'unsigned int InterlockedIncrement(volatile unsigned int *)' while trying to match the argument list '(long *)'
<build-dir>\vc120-mt-gd-6_5-x64\include\boost/asio/detail/impl/winsock_init.ipp(48) : error C2665: 'InterlockedExchange' : none of the 3 overl oads could convert all the argument types
C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8910): could be 'unsigned int64 InterlockedExchange(volatile unsigned int64 *,unsigned
int64)'
C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8898): or 'unsigned long InterlockedExchange(volatile unsigned long *,unsigned long)'
C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8888): or 'unsigned int InterlockedExchange(volatile unsigned int *,unsigned int)' while trying to match the argument list '(long *, int)'
<build-dir>\vc120-mt-gd-6_5-x64\include\boost/asio/detail/impl/winsock_init.ipp(54) : error C2665: 'InterlockedDecrement' : none of the 3 over loads could convert all the argument types
C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8875): could be 'unsigned int64 InterlockedDecrement(volatile unsigned int64 *)' C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8864): or 'unsigned long InterlockedDecrement(volatile unsigned long *)' C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8855): or 'unsigned int InterlockedDecrement(volatile unsigned int *)' while trying to match the argument list '(long *)'
<build-dir>\vc120-mt-gd-6_5-x64\include\boost/asio/detail/impl/winsock_init.ipp(62) : error C2665: 'InterlockedDecrement' : none of the 3 over loads could convert all the argument types
C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8875): could be 'unsigned int64 InterlockedDecrement(volatile unsigned int64 *)' C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8864): or 'unsigned long InterlockedDecrement(volatile unsigned long *)' C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8855): or 'unsigned int InterlockedDecrement(volatile unsigned int *)' while trying to match the argument list '(long *)'
<build-dir>\vc120-mt-gd-6_5-x64\include\boost/asio/detail/impl/winsock_init.ipp(67) : error C2665: 'InterlockedExchangeAdd' : none of the 3 ov erloads could convert all the argument types
C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8964): could be 'unsigned int64 InterlockedExchangeAdd(volatile unsigned int64 *,unsign
ed int64)'
C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8942): or 'unsigned long InterlockedExchangeAdd(volatile unsigned long *,unsigned lon
g)'
C:\Program Files (x86)\Windows Kits\8.1\include\um\winbase.h(8922): or 'unsigned int InterlockedExchangeAdd(volatile unsigned int *,unsigned int)'
while trying to match the argument list '(long *, int)'