Opened 8 years ago

#11002 new Bugs

winsock_init.ipp(36) : error C2665: 'InterlockedIncrement'

Reported by: ingo.loehken@… 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)'

Change History (0)

Note: See TracTickets for help on using tickets.