Opened 10 years ago
Closed 10 years ago
#6841 closed Bugs (fixed)
Are __cdecl and __stdcall ambiguous in CE?
Reported by: | viboes | Owned by: | Ion Gaztañaga |
---|---|---|---|
Milestone: | To Be Determined | Component: | intrusive |
Version: | Boost 1.49.0 | Severity: | Problem |
Keywords: | wince | Cc: |
Description
It seems that cdecl and stdcall are the same in this platform.
Test output: VeecoFTC - thread - container__thread_vector_p_lib / msvc-9.0~wm5~stlport5.2 Rev 78187 / Wed, 25 Apr 2012 04:24:15 +0000 Report Time: Fri, 27 Apr 2012 20:28:57 +0000 Compile [2012-04-26 12:54:33 UTC]: fail call "%BOOST_ROOT%/TestTools/VSVars32-VC9-WM5.bat" x86 >nul cl /Zm800 -nologo @"D:\BoostRT\results\boost\bin.v2\libs\thread\test\container__thread_vector_p_lib.test\msvc-9.0~wm5~stlport5.2\debug\stdlib-stlport-5.2~evc9~arm\threads\container\thread_vector_pass.obj.rsp" thread_vector_pass.cpp C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\include\ARMV4I\winnt.h(384) : warning C4201: nonstandard extension used : nameless struct/union C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\include\ARMV4I\winnt.h(403) : warning C4201: nonstandard extension used : nameless struct/union C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\include\ARMV4I\winnt.h(6041) : warning C4201: nonstandard extension used : nameless struct/union C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\include\ARMV4I\winnt.h(6050) : warning C4201: nonstandard extension used : nameless struct/union C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\include\ARMV4I\winbase.h(1139) : warning C4201: nonstandard extension used : nameless struct/union D:\BoostRT\boost\boost/thread/win32/thread_primitives.hpp(389) : warning C4127: conditional expression is constant D:\BoostRT\boost\boost/thread/win32/thread_primitives.hpp(406) : warning C4127: conditional expression is constant D:\BoostRT\boost\boost/intrusive/detail/mpl.hpp(165) : error C2953: 'boost::intrusive::detail::is_unary_or_binary_function_impl<R(__cdecl *)(void)>' : class template has already been defined D:\BoostRT\boost\boost/intrusive/detail/mpl.hpp(157) : see declaration of 'boost::intrusive::detail::is_unary_or_binary_function_impl<R(__cdecl *)(void)>' D:\BoostRT\boost\boost/intrusive/detail/mpl.hpp(197) : error C2953: 'boost::intrusive::detail::is_unary_or_binary_function_impl<R(__cdecl *)(T0)>' : class template has already been defined D:\BoostRT\boost\boost/intrusive/detail/mpl.hpp(189) : see declaration of 'boost::intrusive::detail::is_unary_or_binary_function_impl<R(__cdecl *)(T0)>' D:\BoostRT\boost\boost/intrusive/detail/mpl.hpp(229) : error C2953: 'boost::intrusive::detail::is_unary_or_binary_function_impl<R(__cdecl *)(T0,T1)>' : class template has already been defined D:\BoostRT\boost\boost/intrusive/detail/mpl.hpp(221) : see declaration of 'boost::intrusive::detail::is_unary_or_binary_function_impl<R(__cdecl *)(T0,T1)>'
Attachments (1)
Change History (4)
comment:1 by , 10 years ago
Keywords: | wince added |
---|
comment:2 by , 10 years ago
I actually had a little bit of time to look at this and built the attached simple patch for mpl.hpp. After applying it, nearly all of the intrusive tests seem pass without issue on WinCE.
comment:3 by , 10 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed at revision 78474 in trunk
Note:
See TracTickets
for help on using tickets.
If you peek around the Windows CE headers, you will find that one is #defined to the other. I remember that you can use those before the according headers are included, which can mess things up if you have code like this (from the top of my head, not actually compiled):
BTW: I see that you are currently trying to take care of the CE port. If you add the "wince" keyword, all those tickets are easier to find. I also need a CE port, but I'm currently swamped with other work, so at best I can watch what's going on and try to help out.