[Ace-users] Re: [ace-bugs] Problem with os_intrin.h
Steve Huston
shuston at riverace.com
Tue Jul 17 13:11:15 CDT 2007
This is checked in for 5.5.10 - thanks, Juraj!
--
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 Steve Huston
> Sent: Monday, July 16, 2007 5:26 PM
> To: 'Juraj Ivanèiæ'; ace-bugs at cs.wustl.edu
> Subject: Re: [ace-bugs] Problem with os_intrin.h
>
>
> 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
> >
>
>
> _______________________________________________
> 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