Hi Ferris,
Thanks for this patch. I am integrating it to our Ice 1.1 patch branch ... although we can't test it, we'll try not to break it.
I have 2 questions: - What is the license for the new IceAtomic.c? Without a suitable license, we can't include it in Ice.
- We're trying to be consistent with macro names, e.g. use consistently __linux, not sometimes __linux and sometimes __linux__ (see the table below; maybe it should be included somewhere in the Ice distribution). In your patch you used __linux__ and __sparc__; is this because __linux and/or __sparc are not defined on Linux/SPARC?
Thanks,
Bernard
Code:
Macro Meaning Notes
---------------------------------------------------------------------------------------
_WIN32 Windows Even defined on Windows 64 bits!
_WIN64 Windows 64 bits
__linux Linux
__sun Solaris
_WIN32 and _M_IX86 Windows on x86
_WIN32 and _M_IA64 Windows on IA64
__linux and __i386 Linux on x86
__linux and __x86_64 Linux on AMD Opteron
(64 bit mode)
__sun and __i386 Solaris on x86
__sun and __sparc Solaris on SPARC
__sun and __sparcv9 Solaris on SPARC in
64 bit mode
_MSC_VER Visual C++ 1200 for VC++ 6.0, 1300 for VC++7.0
(.NET), 1310 for VC++7.1 (.NET 2003)
__GNUC__ GCC 2 for GCC 2.x, 3 for GCC 3.x
__SUNPRO_CC Sun C++ 0x540 for Sun C++ 5.4
__INTEL_COMPILER Intel C++ 700 for Intel C++ 7.0