[Ace-users] Re: [ace-bugs] Problem with os_intrin.h
Steve Huston
shuston at riverace.com
Mon Jul 16 16:25:50 CDT 2007
Hi Juraj,
Thank you for the PROBLEM-REPORT-FORM.
I've made this change locally and it'll run with the daily VC7.1 test
to verify it doesn't have any side-affects. The change doesn't affect
VC8 usage.
Thanks!
-Steve
--
Steve Huston, Riverace Corporation
Would you like ACE to run great on your platform?
See http://www.riverace.com/sponsor.htm
> -----Original Message-----
> From: ace-bugs-bounces at cse.wustl.edu
> [mailto:ace-bugs-bounces at cse.wustl.edu] On Behalf Of Juraj Ivanèiæ
> Sent: Monday, July 16, 2007 4:02 PM
> To: ace-bugs at cs.wustl.edu
> Subject: [ace-bugs] Problem with os_intrin.h
>
>
> ACE VERSION: 5.5.9
>
> HOST MACHINE and OPERATING SYSTEM:
> Intel Pentium M, Windows XP SP2, Winsock2
>
> COMPILER NAME AND VERSION (AND PATCHLEVEL):
> Visual Studio 7.1
>
> THE $ACE_ROOT/ace/config.h: config-win32.h
>
> DOES THE PROBLEM AFFECT:
> COMPILATION?
> Possibly. In case another library which declares
> these functions
> is used.
> Also, because wrong variable has volatile modifier,
> the compiler
> might
> theoretically produce invalid code.
> LINKING? No.
> EXECUTION? No.
>
> ACE is affected.
>
> SYNOPSIS:
> Out of date declarations in os_intrin.h
>
> DESCRIPTION:
> Declarations of the following two intrinsic functions in os_intrin.h
> might be out of date.
>
> LONG __cdecl _InterlockedExchange (LPLONG volatile Target,
> LONG Value);
> LONG __cdecl _InterlockedExchangeAdd (LPLONG volatile Addend,
> LONG Value);
>
> should be redeclared as
>
> LONG __cdecl _InterlockedExchange (LONG volatile * Target,
> LONG Value);
> LONG __cdecl _InterlockedExchangeAdd (LONG volatile * Addend,
> LONG Value);
>
> The former declarations, which are used by ACE, are
> copy-pasted from the
> referenced
> MSDN article
> (http://msdn2.microsoft.com/en-us/library/f24ya7ct(VS.71).aspx).
> However, I believe that this article is incorrect. Logically
> - pointee
> is volatile, not the pointer.
>
> I detected this because ACE conflicted with the declarations
> used by the
> Boost 1.34 library
> (boost/detail/interlocked.hpp).
>
> Newer MSDN articles (e.g.
> http://msdn2.microsoft.com/en-us/library/ms683590.aspx)
> also contain the latter function signatures.
>
> _______________________________________________
> ace-bugs mailing list
> ace-bugs at mail.cse.wustl.edu
> http://mail.cse.wustl.edu/mailman/listinfo/ace-bugs
>
More information about the Ace-users
mailing list