You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by Martin Sebor <se...@roguewave.com> on 2007/09/07 00:10:30 UTC
Re: svn commit: r573337 - in /incubator/stdcxx/trunk: etc/config/windows/projects.js
include/rw/_mutex.h src/i86/atomic.asm src/i86_64/atomic.asm src/once.cpp
faridz@apache.org wrote:
> Author: faridz
> Date: Thu Sep 6 12:05:30 2007
> New Revision: 573337
>
> URL: http://svn.apache.org/viewvc?rev=573337&view=rev
> Log:
> 2007-09-06 Farid Zaripov <Fa...@epam.com>
>
> * projects.js: Added definitions of the platform dependent files.
> * i86/atomic.asm: New file with definitions of the __rw_atomic_xxx()
> functions for Win32 platform.
> * i86_64/atomic.asm: New file with definitions of the
> __rw_atomic_xxx() functions for Windows/x64 platform.
> * _mutex.h: Use new __rw_atomic_xxx() functions if corresponding
> InterlockedXXX() functions are not present.
> [_MSC_VER >= 1400]: Use intrinsic InterlockedXXX() functions
> on MSVC 8 and higher.
> * once.cpp [_WIN32 && _DLL]: Tell linker to export __atomic_xxx()
> functions, defined in .asm files.
Is there any particular reason why the export directives should
be in once.cpp? We have an export.cpp (currently used only by
the EDG eccp C++ export feature) which seems like it might be
a better choice. Alternatively, we could add a new file, say
atomic.cpp. I don't suppose we could put the pragmas in the
.asm files themselves?
>
[...]
> --- incubator/stdcxx/trunk/etc/config/windows/projects.js (original)
> +++ incubator/stdcxx/trunk/etc/config/windows/projects.js Thu Sep 6 12:05:30 2007
> @@ -85,6 +85,10 @@
> projectDefs.push(new Array(configureDef));
>
> ///////////////////////////////////////////////////////////////////////////////
> + // add platform dependent files
> + customFileDefs.push(new CustomFileDef("i86\\atomic.asm", "Win32", InitAsmTool));
> + customFileDefs.push(new CustomFileDef("i86_64\\atomic.asm", "x64", InitAsmTool));
Is there a way to get the Windows infrastructure to pick up these
files automatically just like it does .cpp files so that we avoid
this kind of coupling?
Martin
RE: svn commit: r573337 - in /incubator/stdcxx/trunk: etc/config/windows/projects.js include/rw/_mutex.h src/i86/atomic.asm src/i86_64/atomic.asm src/once.cpp
Posted by Farid Zaripov <Fa...@epam.com>.
> -----Original Message-----
> From: Martin Sebor [mailto:sebor@roguewave.com]
> Sent: Friday, September 07, 2007 1:11 AM
> To: stdcxx-dev@incubator.apache.org
> Subject: Re: svn commit: r573337 - in
> /incubator/stdcxx/trunk: etc/config/windows/projects.js
> include/rw/_mutex.h src/i86/atomic.asm src/i86_64/atomic.asm
> src/once.cpp
>
> Is there any particular reason why the export directives
> should be in once.cpp?
No reason. The export directives can be in any .cpp file.
> We have an export.cpp (currently used
> only by the EDG eccp C++ export feature) which seems like it
> might be a better choice. Alternatively, we could add a new
> file, say atomic.cpp.
> I don't suppose we could put the pragmas in the .asm files themselves?
No, we can't.
> Is there a way to get the Windows infrastructure to pick up
> these files automatically just like it does .cpp files so
> that we avoid this kind of coupling?
Done: http://svn.apache.org/viewvc?rev=573571&view=rev
Farid.