Return-Path: Delivered-To: apmail-stdcxx-commits-archive@www.apache.org Received: (qmail 64874 invoked from network); 13 Oct 2008 16:26:30 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 13 Oct 2008 16:26:30 -0000 Received: (qmail 76042 invoked by uid 500); 13 Oct 2008 16:26:31 -0000 Delivered-To: apmail-stdcxx-commits-archive@stdcxx.apache.org Received: (qmail 76021 invoked by uid 500); 13 Oct 2008 16:26:31 -0000 Mailing-List: contact commits-help@stdcxx.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@stdcxx.apache.org Delivered-To: mailing list commits@stdcxx.apache.org Received: (qmail 76012 invoked by uid 99); 13 Oct 2008 16:26:31 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Oct 2008 09:26:31 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Oct 2008 16:25:31 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id ACCB423888A4; Mon, 13 Oct 2008 09:25:38 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r704152 [1/2] - in /stdcxx/branches/4.3.x: include/rw/ src/ src/i86/ src/i86_64/ src/x86/ src/x86_64/ tests/containers/ tests/include/ tests/src/ util/ Date: Mon, 13 Oct 2008 16:25:37 -0000 To: commits@stdcxx.apache.org From: faridz@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20081013162538.ACCB423888A4@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: faridz Date: Mon Oct 13 09:25:34 2008 New Revision: 704152 URL: http://svn.apache.org/viewvc?rev=704152&view=rev Log: 2008-10-13 Farid Zaripov Merged revs 696275, 696295, 697875, 697883, 700495, 700810, 700888, 701135, 702179, 702195, 702931, 703124, 703216 from 4.2.x branch. 2008-09-17 Farid Zaripov * src/random.cpp: #included for size_t type. 2008-09-17 Farid Zaripov STDCXX-563 * include/rw/_atomic-deccxx.h: New header file with definitions of inline functions for atomic operations on ALPHA platform. * include/rw/_atomic-mipspro.h: New header file with definitions of inline functions for atomic operations on MIPS platform. * include/rw/_atomic-mutex.h: New header file with definitions of inline functions for atomic operations with using mutex object. * include/rw/_atomic-parisc.h: New header file with definitions of inline functions for atomic operations on PA RISC platform. * include/rw/_atomic-sparc.h: New header file with definitions of inline functions for atomic operations on SPARC platform. * include/rw/_atomic-x64.h: New header file with definitions of inline functions for atomic operations on Intel IA64 and x64 platforms. * include/rw/_atomic-x86.h: New header file with definitions of inline functions for atomic operations on Intel x86 platform. * include/rw/_atomic-xlc.h: New header file with definitions of inline functions for atomic operations on POWERPC platform. * include/rw/_atomic.h: New header file with definitions of inline functions for atomic operations. * include/rw/_mutex-dce.h: New header file with definitions of classes for thread safety using DCE threads. * include/rw/_mutex-os2.h: New header file with definitions of classes for thread safety using OS2 threads. * include/rw/_mutex-pthread.h: New header file with definitions of classes for thread safety using POSIX threads. * include/rw/_mutex-solaris.h: New header file with definitions of classes for thread safety using Solaris threads. * include/rw/_mutex-win32.h: New header file with definitions of classes for thread safety using Windows threads. * include/rw/_mutex.h: Split content of the file to the set of platform specific and OS specific headers above. (__rw_get_static_mutex) [!_RWSTD_NO_ATOMIC_OPS && !_PA_RISC2_0]: Use _RWSTD_ATOMIC_PREINCREMENT() on all platforms where atomic increment is available instead of using _InterlockedIncrement() only on Windows. * src/i86: Directory renamed to src/x86 for consistency. * src/i86_64: Directory renamed to src/x86_64 for consistency. * src/atomic.asm: Renamed i86 to x86 and i86_64 to x86_64 respectively. * src/atomic.s: Ditto. * src/x86/atomic.inc: Ditto. * src/x86/atomic.s: Ditto. * src/x86_64/atomic.inc: Ditto. * src/x86_64/atomic.s: Ditto. 2008-09-22 Farid Zaripov STDCXX-455 * util/ctype.cpp (process_ctype): Don't create symlink on Cygwin. (write_ctype): Same. * util/localedef.cpp (create_locale): Same. * util/path.cpp (create_symlink): Don't define function on Cygwin. 2008-09-22 Farid Zaripov * tests/containers/23.list.erase.cpp (test_erase): Simplify type of the pres_iter. 2008-09-30 Farid Zaripov * include/rw/_atomic-x86.h [!_MSC_VER && _RWSTD_INTERLOCKED_T]: Moved closing brace of the extern "C" block to the proper location. 2008-10-01 Farid Zaripov * include/rw/_atomic-deccxx.h: Correct $Id: line. * include/rw/_atomic-mipspro.h: Same. * include/rw/_atomic-mutex.h: Same. * include/rw/_atomic-parisc.h: Same. * include/rw/_atomic-sparc.h: Same. * include/rw/_atomic-x64.h: Same. * include/rw/_atomic-x86.h: Same. * include/rw/_atomic-xlc.h: Same. * include/rw/_atomic.h: Same. * include/rw/_mutex-dce.h: Same. * include/rw/_mutex-os2.h: Same. * include/rw/_mutex-pthread.h: Same. * include/rw/_mutex-solaris.h: Same. * include/rw/_mutex-win32.h: Same. * tests/include/rw_containers.h: Same. * tests/include/rw_lists.h: Same. * tests/src/23.containers.cpp: Same. 2008-10-01 Farid Zaripov * include/rw/_atomic-mutex.h: Make _RWSTD_RW_MUTEX_H_INCLUDED after #endif directive as comment to fix compile error. 2008-10-02 Farid Zaripov * include/rw/_atomic-sync.h: New header file with definitions of inline functions for atomic operations using __sync_xxx() built-in functions set. * include/rw/_atomic.h: #include with gcc >= 4.1 on x86, x86_64, ia64 platforms and icc on ia64 platform. 2008-10-06 Farid Zaripov * include/rw/_atomic-deccxx.h: #define corresponding _RWSTD_NO_XXX_ATOMIC_OPS macros for types, which are not supported in atomic operations. * include/rw/_atomic-mipspro.h: Ditto. * include/rw/_atomic-parisc.h: Ditto. * include/rw/_atomic-sparc.h: Ditto. * include/rw/_atomic-x86.h: Ditto. * include/rw/_atomic-xlc.h: Ditto. * include/rw/_atomic-x64.h: Ditto. Arrange 64-bit atomic functions into single #if/#endif block. * include/rw/_atomic-sync.h: Same. * include/rw/_atomic.h: Define generic bool, long and long long atomic functions only if the corresponding char/short/int/long atomic functions are defined. * include/rw/_mutex.h: Cleanup _RWSTD_NO_XXX_ATOMIC_OPS macros. (__rw_get_static_mutex): Check for presence of the int atomic operations instead of checking the PA RISC platform. 2008-10-06 Farid Zaripov * include/rw/_atomic.h: Check for __GNUG__ instead of __GNUC__ for consistency. Correct preprocessor condition for ICC on __i386__ and __x86_64 platforms. 2008-10-08 Farid Zaripov * include/rw/_atomic-sparc.h: Declare __rw_atomic_xxx64() functions only if atomic-sparc64.s file will be #included in atomic.s (use the same conditions as in the atomic.s file). * include/rw/_atomic.h: Use __sync_xxx() builtins on x86 platform on processors >= i486 only. 2008-10-09 Farid Zaripov * src/locale_body.h: Replace __CYGWIN32__ to __CYGWIN__ for consistency. * util/ctype.cpp: Ditto. * util/localedef.cpp: Ditto. 2008-10-09 Farid Zaripov * src/locale_body.h: Revert changes, accidentally committed in r703124. * util/path.cpp: Replace __CYGWIN32__ to __CYGWIN__ for consistency. Added: stdcxx/branches/4.3.x/include/rw/_atomic-deccxx.h - copied, changed from r696295, stdcxx/branches/4.2.x/include/rw/_atomic-deccxx.h stdcxx/branches/4.3.x/include/rw/_atomic-mipspro.h - copied, changed from r696295, stdcxx/branches/4.2.x/include/rw/_atomic-mipspro.h stdcxx/branches/4.3.x/include/rw/_atomic-mutex.h - copied, changed from r696295, stdcxx/branches/4.2.x/include/rw/_atomic-mutex.h stdcxx/branches/4.3.x/include/rw/_atomic-parisc.h - copied, changed from r696295, stdcxx/branches/4.2.x/include/rw/_atomic-parisc.h stdcxx/branches/4.3.x/include/rw/_atomic-sparc.h - copied, changed from r696295, stdcxx/branches/4.2.x/include/rw/_atomic-sparc.h stdcxx/branches/4.3.x/include/rw/_atomic-sync.h - copied, changed from r701135, stdcxx/branches/4.2.x/include/rw/_atomic-sync.h stdcxx/branches/4.3.x/include/rw/_atomic-x64.h - copied, changed from r696295, stdcxx/branches/4.2.x/include/rw/_atomic-x64.h stdcxx/branches/4.3.x/include/rw/_atomic-x86.h - copied, changed from r696295, stdcxx/branches/4.2.x/include/rw/_atomic-x86.h stdcxx/branches/4.3.x/include/rw/_atomic-xlc.h - copied, changed from r696295, stdcxx/branches/4.2.x/include/rw/_atomic-xlc.h stdcxx/branches/4.3.x/include/rw/_atomic.h - copied, changed from r696295, stdcxx/branches/4.2.x/include/rw/_atomic.h stdcxx/branches/4.3.x/include/rw/_mutex-dce.h - copied, changed from r696295, stdcxx/branches/4.2.x/include/rw/_mutex-dce.h stdcxx/branches/4.3.x/include/rw/_mutex-os2.h - copied, changed from r696295, stdcxx/branches/4.2.x/include/rw/_mutex-os2.h stdcxx/branches/4.3.x/include/rw/_mutex-pthread.h - copied, changed from r696295, stdcxx/branches/4.2.x/include/rw/_mutex-pthread.h stdcxx/branches/4.3.x/include/rw/_mutex-solaris.h - copied, changed from r696295, stdcxx/branches/4.2.x/include/rw/_mutex-solaris.h stdcxx/branches/4.3.x/include/rw/_mutex-win32.h - copied, changed from r696295, stdcxx/branches/4.2.x/include/rw/_mutex-win32.h stdcxx/branches/4.3.x/src/x86/ (props changed) - copied from r696295, stdcxx/branches/4.2.x/src/x86/ stdcxx/branches/4.3.x/src/x86/atomic.inc - copied unchanged from r696295, stdcxx/branches/4.2.x/src/x86/atomic.inc stdcxx/branches/4.3.x/src/x86/atomic.s - copied unchanged from r696295, stdcxx/branches/4.2.x/src/x86/atomic.s stdcxx/branches/4.3.x/src/x86_64/ (props changed) - copied from r696295, stdcxx/branches/4.2.x/src/x86_64/ stdcxx/branches/4.3.x/src/x86_64/atomic.inc - copied unchanged from r696295, stdcxx/branches/4.2.x/src/x86_64/atomic.inc stdcxx/branches/4.3.x/src/x86_64/atomic.s - copied unchanged from r696295, stdcxx/branches/4.2.x/src/x86_64/atomic.s Removed: stdcxx/branches/4.3.x/src/i86/ stdcxx/branches/4.3.x/src/i86_64/ Modified: stdcxx/branches/4.3.x/include/rw/_mutex.h stdcxx/branches/4.3.x/src/atomic.asm stdcxx/branches/4.3.x/src/atomic.s stdcxx/branches/4.3.x/src/random.cpp stdcxx/branches/4.3.x/tests/containers/23.list.erase.cpp stdcxx/branches/4.3.x/tests/include/rw_containers.h stdcxx/branches/4.3.x/tests/include/rw_lists.h stdcxx/branches/4.3.x/tests/src/23.containers.cpp stdcxx/branches/4.3.x/util/ctype.cpp stdcxx/branches/4.3.x/util/localedef.cpp stdcxx/branches/4.3.x/util/path.cpp Copied: stdcxx/branches/4.3.x/include/rw/_atomic-deccxx.h (from r696295, stdcxx/branches/4.2.x/include/rw/_atomic-deccxx.h) URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_atomic-deccxx.h?p2=stdcxx/branches/4.3.x/include/rw/_atomic-deccxx.h&p1=stdcxx/branches/4.2.x/include/rw/_atomic-deccxx.h&r1=696295&r2=704152&rev=704152&view=diff ============================================================================== --- stdcxx/branches/4.2.x/include/rw/_atomic-deccxx.h (original) +++ stdcxx/branches/4.3.x/include/rw/_atomic-deccxx.h Mon Oct 13 09:25:34 2008 @@ -6,7 +6,7 @@ * This is an internal header file used to implement the C++ Standard * Library. It should never be #included directly by a program. * - * $Id $ + * $Id$ * *************************************************************************** * @@ -33,6 +33,10 @@ // get declarations of __ATOMIC_XXX intrinsics # include +#define _RWSTD_NO_CHAR_ATOMIC_OPS +#define _RWSTD_NO_SHORT_ATOMIC_OPS +#define _RWSTD_NO_LLONG_ATOMIC_OPS + _RWSTD_NAMESPACE (__rw) { // __ATOMIC_[DE|IN]CREMENT_[LONG|QUAD] and __ATOMIC_EXCH_[LONG|QUAD] are Copied: stdcxx/branches/4.3.x/include/rw/_atomic-mipspro.h (from r696295, stdcxx/branches/4.2.x/include/rw/_atomic-mipspro.h) URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_atomic-mipspro.h?p2=stdcxx/branches/4.3.x/include/rw/_atomic-mipspro.h&p1=stdcxx/branches/4.2.x/include/rw/_atomic-mipspro.h&r1=696295&r2=704152&rev=704152&view=diff ============================================================================== --- stdcxx/branches/4.2.x/include/rw/_atomic-mipspro.h (original) +++ stdcxx/branches/4.3.x/include/rw/_atomic-mipspro.h Mon Oct 13 09:25:34 2008 @@ -6,7 +6,7 @@ * This is an internal header file used to implement the C++ Standard * Library. It should never be #included directly by a program. * - * $Id $ + * $Id$ * *************************************************************************** * @@ -32,6 +32,10 @@ # include +#define _RWSTD_NO_CHAR_ATOMIC_OPS +#define _RWSTD_NO_SHORT_ATOMIC_OPS +#define _RWSTD_NO_LLONG_ATOMIC_OPS + _RWSTD_NAMESPACE (__rw) { inline unsigned @@ -127,6 +131,8 @@ false); } +# else // _RWSTD_INT_SIZE == _RWSTD_LONG_SIZE +# define _RWSTD_NO_LONG_ATOMIC_OPS # endif // _RWSTD_INT_SIZE < _RWSTD_LONG_SIZE } // namespace __rw Copied: stdcxx/branches/4.3.x/include/rw/_atomic-mutex.h (from r696295, stdcxx/branches/4.2.x/include/rw/_atomic-mutex.h) URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_atomic-mutex.h?p2=stdcxx/branches/4.3.x/include/rw/_atomic-mutex.h&p1=stdcxx/branches/4.2.x/include/rw/_atomic-mutex.h&r1=696295&r2=704152&rev=704152&view=diff ============================================================================== --- stdcxx/branches/4.2.x/include/rw/_atomic-mutex.h (original) +++ stdcxx/branches/4.3.x/include/rw/_atomic-mutex.h Mon Oct 13 09:25:34 2008 @@ -6,7 +6,7 @@ * This is an internal header file used to implement the C++ Standard * Library. It should never be #included directly by a program. * - * $Id $ + * $Id$ * *************************************************************************** * @@ -36,7 +36,7 @@ #ifndef _RWSTD_RW_MUTEX_H_INCLUDED # include -#endif _RWSTD_RW_MUTEX_H_INCLUDED +#endif // _RWSTD_RW_MUTEX_H_INCLUDED _RWSTD_NAMESPACE (__rw) { Copied: stdcxx/branches/4.3.x/include/rw/_atomic-parisc.h (from r696295, stdcxx/branches/4.2.x/include/rw/_atomic-parisc.h) URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_atomic-parisc.h?p2=stdcxx/branches/4.3.x/include/rw/_atomic-parisc.h&p1=stdcxx/branches/4.2.x/include/rw/_atomic-parisc.h&r1=696295&r2=704152&rev=704152&view=diff ============================================================================== --- stdcxx/branches/4.2.x/include/rw/_atomic-parisc.h (original) +++ stdcxx/branches/4.3.x/include/rw/_atomic-parisc.h Mon Oct 13 09:25:34 2008 @@ -6,7 +6,7 @@ * This is an internal header file used to implement the C++ Standard * Library. It should never be #included directly by a program. * - * $Id $ + * $Id$ * *************************************************************************** * @@ -30,6 +30,12 @@ * **************************************************************************/ +#define _RWSTD_NO_CHAR_ATOMIC_OPS +#define _RWSTD_NO_SHORT_ATOMIC_OPS +#define _RWSTD_NO_INT_ATOMIC_OPS +#define _RWSTD_NO_LONG_ATOMIC_OPS +#define _RWSTD_NO_LLONG_ATOMIC_OPS + _RWSTD_NAMESPACE (__rw) { extern "C" { Copied: stdcxx/branches/4.3.x/include/rw/_atomic-sparc.h (from r696295, stdcxx/branches/4.2.x/include/rw/_atomic-sparc.h) URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_atomic-sparc.h?p2=stdcxx/branches/4.3.x/include/rw/_atomic-sparc.h&p1=stdcxx/branches/4.2.x/include/rw/_atomic-sparc.h&r1=696295&r2=704152&rev=704152&view=diff ============================================================================== --- stdcxx/branches/4.2.x/include/rw/_atomic-sparc.h (original) +++ stdcxx/branches/4.3.x/include/rw/_atomic-sparc.h Mon Oct 13 09:25:34 2008 @@ -6,7 +6,7 @@ * This is an internal header file used to implement the C++ Standard * Library. It should never be #included directly by a program. * - * $Id $ + * $Id$ * *************************************************************************** * @@ -32,6 +32,10 @@ _RWSTD_NAMESPACE (__rw) { +#define _RWSTD_NO_CHAR_ATOMIC_OPS +#define _RWSTD_NO_SHORT_ATOMIC_OPS +#define _RWSTD_NO_LLONG_ATOMIC_OPS + extern "C" { // define in assembler file "atomic-sparc.s" and "atomic-sparc64.s" @@ -41,12 +45,12 @@ int __rw_atomic_xchg32 (int*, int); int __rw_atomic_add32 (int*, int); -# if defined (_LP64) +# if defined (__sparcv9) || defined (__sparcv9__) long __rw_atomic_xchg64 (long*, long); long __rw_atomic_add64 (long*, long); -# endif // !_LP64 +# endif } // extern "C" @@ -149,6 +153,8 @@ _RWSTD_STATIC_CAST (long, __y)); } +# else // _RWSTD_INT_SIZE == _RWSTD_LONG_SIZE +# define _RWSTD_NO_LONG_ATOMIC_OPS # endif // _RWSTD_INT_SIZE < _RWSTD_LONG_SIZE } // namespace __rw Copied: stdcxx/branches/4.3.x/include/rw/_atomic-sync.h (from r701135, stdcxx/branches/4.2.x/include/rw/_atomic-sync.h) URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_atomic-sync.h?p2=stdcxx/branches/4.3.x/include/rw/_atomic-sync.h&p1=stdcxx/branches/4.2.x/include/rw/_atomic-sync.h&r1=701135&r2=704152&rev=704152&view=diff ============================================================================== --- stdcxx/branches/4.2.x/include/rw/_atomic-sync.h (original) +++ stdcxx/branches/4.3.x/include/rw/_atomic-sync.h Mon Oct 13 09:25:34 2008 @@ -92,49 +92,6 @@ } -#if defined (__ia64) || defined (__x86_64) -# if 4 < _RWSTD_LONG_SIZE - -inline long -__rw_atomic_preincrement (long &__x, bool) -{ - _RWSTD_COMPILE_ASSERT (8 == sizeof (long)); - return __sync_add_and_fetch (&__x, 1); -} - - -inline unsigned long -__rw_atomic_preincrement (unsigned long &__x, bool) -{ - _RWSTD_COMPILE_ASSERT (8 == sizeof (unsigned long)); - return __sync_add_and_fetch (&__x, 1); -} - -# endif // _RWSTD_LONG_SIZE - - -# ifdef _RWSTD_LONG_LONG -# if _RWSTD_LLONG_SIZE > _RWSTD_LONG_SIZE - -inline _RWSTD_LONG_LONG -__rw_atomic_preincrement (_RWSTD_LONG_LONG &__x, bool) -{ - _RWSTD_COMPILE_ASSERT (8 == sizeof (_RWSTD_LONG_LONG)); - return __sync_add_and_fetch (&__x, 1); -} - - -inline unsigned _RWSTD_LONG_LONG -__rw_atomic_preincrement (unsigned _RWSTD_LONG_LONG &__x, bool) -{ - _RWSTD_COMPILE_ASSERT (8 == sizeof (unsigned _RWSTD_LONG_LONG)); - return __sync_add_and_fetch (&__x, 1); -} - -# endif // _RWSTD_LLONG_SIZE > _RWSTD_LONG_SIZE -# endif // _RWSTD_LONG_LONG -#endif // __ia64 || __x86_64 - inline char __rw_atomic_predecrement (char &__x, bool) { @@ -191,50 +148,6 @@ } -#if defined (__ia64) || defined (__x86_64) -# if 4 < _RWSTD_LONG_SIZE - -inline long -__rw_atomic_predecrement (long &__x, bool) -{ - _RWSTD_COMPILE_ASSERT (8 == sizeof (long)); - return __sync_sub_and_fetch (&__x, 1); -} - - -inline unsigned long -__rw_atomic_predecrement (unsigned long &__x, bool) -{ - _RWSTD_COMPILE_ASSERT (8 == sizeof (unsigned long)); - return __sync_sub_and_fetch (&__x, 1); -} - -# endif // _RWSTD_LONG_SIZE - - -# ifdef _RWSTD_LONG_LONG -# if _RWSTD_LLONG_SIZE > _RWSTD_LONG_SIZE - -inline _RWSTD_LONG_LONG -__rw_atomic_predecrement (_RWSTD_LONG_LONG &__x, bool) -{ - _RWSTD_COMPILE_ASSERT (8 == sizeof (_RWSTD_LONG_LONG)); - return __sync_sub_and_fetch (&__x, 1); -} - - -inline unsigned _RWSTD_LONG_LONG -__rw_atomic_predecrement (unsigned _RWSTD_LONG_LONG &__x, bool) -{ - _RWSTD_COMPILE_ASSERT (8 == sizeof (unsigned _RWSTD_LONG_LONG)); - return __sync_sub_and_fetch (&__x, 1); -} - -# endif // _RWSTD_LLONG_SIZE > _RWSTD_LONG_SIZE -# endif // _RWSTD_LONG_LONG -#endif // __ia64 || __x86_64 - - inline char __rw_atomic_exchange (char &__x, char __y, bool) { @@ -295,6 +208,38 @@ # if 4 < _RWSTD_LONG_SIZE inline long +__rw_atomic_preincrement (long &__x, bool) +{ + _RWSTD_COMPILE_ASSERT (8 == sizeof (long)); + return __sync_add_and_fetch (&__x, 1); +} + + +inline unsigned long +__rw_atomic_preincrement (unsigned long &__x, bool) +{ + _RWSTD_COMPILE_ASSERT (8 == sizeof (unsigned long)); + return __sync_add_and_fetch (&__x, 1); +} + + +inline long +__rw_atomic_predecrement (long &__x, bool) +{ + _RWSTD_COMPILE_ASSERT (8 == sizeof (long)); + return __sync_sub_and_fetch (&__x, 1); +} + + +inline unsigned long +__rw_atomic_predecrement (unsigned long &__x, bool) +{ + _RWSTD_COMPILE_ASSERT (8 == sizeof (unsigned long)); + return __sync_sub_and_fetch (&__x, 1); +} + + +inline long __rw_atomic_exchange (long &__x, long __y, bool) { _RWSTD_COMPILE_ASSERT (8 == sizeof (long)); @@ -309,11 +254,44 @@ return __sync_lock_test_and_set (&__x, __y); } -# endif // _RWSTD_LONG_SIZE == _RWSTD_INT_SIZE +# else +# define _RWSTD_NO_LONG_ATOMIC_OPS +# endif // 4 < _RWSTD_LONG_SIZE + + +# if defined (_RWSTD_LONG_LONG) && (_RWSTD_LLONG_SIZE > _RWSTD_LONG_SIZE) + +inline _RWSTD_LONG_LONG +__rw_atomic_preincrement (_RWSTD_LONG_LONG &__x, bool) +{ + _RWSTD_COMPILE_ASSERT (8 == sizeof (_RWSTD_LONG_LONG)); + return __sync_add_and_fetch (&__x, 1); +} + +inline unsigned _RWSTD_LONG_LONG +__rw_atomic_preincrement (unsigned _RWSTD_LONG_LONG &__x, bool) +{ + _RWSTD_COMPILE_ASSERT (8 == sizeof (unsigned _RWSTD_LONG_LONG)); + return __sync_add_and_fetch (&__x, 1); +} + + +inline _RWSTD_LONG_LONG +__rw_atomic_predecrement (_RWSTD_LONG_LONG &__x, bool) +{ + _RWSTD_COMPILE_ASSERT (8 == sizeof (_RWSTD_LONG_LONG)); + return __sync_sub_and_fetch (&__x, 1); +} + + +inline unsigned _RWSTD_LONG_LONG +__rw_atomic_predecrement (unsigned _RWSTD_LONG_LONG &__x, bool) +{ + _RWSTD_COMPILE_ASSERT (8 == sizeof (unsigned _RWSTD_LONG_LONG)); + return __sync_sub_and_fetch (&__x, 1); +} -# ifdef _RWSTD_LONG_LONG -# if _RWSTD_LLONG_SIZE > _RWSTD_LONG_SIZE inline _RWSTD_LONG_LONG __rw_atomic_exchange (_RWSTD_LONG_LONG &__x, _RWSTD_LONG_LONG __y, bool) @@ -331,8 +309,13 @@ return __sync_lock_test_and_set (&__x, __y); } -# endif // _RWSTD_LLONG_SIZE > _RWSTD_LONG_SIZE -# endif // _RWSTD_LONG_LONG +# else +# define _RWSTD_NO_LLONG_ATOMIC_OPS +# endif // _RWSTD_LONG_LONG && _RWSTD_LLONG_SIZE > _RWSTD_LONG_SIZE + +#else // !__ia64 && !__x86_64 +# define _RWSTD_NO_LONG_ATOMIC_OPS +# define _RWSTD_NO_LLONG_ATOMIC_OPS #endif // __ia64 || __x86_64 } // namespace __rw Copied: stdcxx/branches/4.3.x/include/rw/_atomic-x64.h (from r696295, stdcxx/branches/4.2.x/include/rw/_atomic-x64.h) URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_atomic-x64.h?p2=stdcxx/branches/4.3.x/include/rw/_atomic-x64.h&p1=stdcxx/branches/4.2.x/include/rw/_atomic-x64.h&r1=696295&r2=704152&rev=704152&view=diff ============================================================================== --- stdcxx/branches/4.2.x/include/rw/_atomic-x64.h (original) +++ stdcxx/branches/4.3.x/include/rw/_atomic-x64.h Mon Oct 13 09:25:34 2008 @@ -6,7 +6,7 @@ * This is an internal header file used to implement the C++ Standard * Library. It should never be #included directly by a program. * - * $Id $ + * $Id$ * *************************************************************************** * @@ -183,64 +183,6 @@ } -#if 4 < _RWSTD_LONG_SIZE - -inline long -__rw_atomic_preincrement (long &__x, bool) -{ - _RWSTD_COMPILE_ASSERT (8 == sizeof (long)); - - return __rw_atomic_add64 (_RWSTD_REINTERPRET_CAST (_RWSTD_INT64_T*, &__x), - +1); -} - - -inline unsigned long -__rw_atomic_preincrement (unsigned long &__x, bool) -{ - _RWSTD_COMPILE_ASSERT (8 == sizeof (unsigned long)); - - return __rw_atomic_add64 (_RWSTD_REINTERPRET_CAST (_RWSTD_INT64_T*, &__x), - +1); -} - -#endif // _RWSTD_LONG_SIZE - - -#ifdef _RWSTD_LONG_LONG -# if _RWSTD_LLONG_SIZE > _RWSTD_LONG_SIZE - -inline _RWSTD_LONG_LONG -__rw_atomic_preincrement (_RWSTD_LONG_LONG &__x, bool) -{ - _RWSTD_COMPILE_ASSERT (8 == sizeof (_RWSTD_LONG_LONG)); - -#ifdef _MSC_VER - return _InterlockedIncrement64 (_RWSTD_REINTERPRET_CAST (__int64*, &__x)); -#else - return __rw_atomic_add64 (_RWSTD_REINTERPRET_CAST (_RWSTD_INT64_T*, &__x), - +1); -#endif -} - - -inline unsigned _RWSTD_LONG_LONG -__rw_atomic_preincrement (unsigned _RWSTD_LONG_LONG &__x, bool) -{ - _RWSTD_COMPILE_ASSERT (8 == sizeof (unsigned _RWSTD_LONG_LONG)); - -#ifdef _MSC_VER - return _InterlockedIncrement64 (_RWSTD_REINTERPRET_CAST (__int64*, &__x)); -#else - return __rw_atomic_add64 (_RWSTD_REINTERPRET_CAST (_RWSTD_INT64_T*, &__x), - +1); -#endif -} - -# endif // _RWSTD_LLONG_SIZE > _RWSTD_LONG_SIZE -#endif // _RWSTD_LONG_LONG - - inline char __rw_atomic_predecrement (char &__x, bool) { @@ -327,64 +269,6 @@ } -#if 4 < _RWSTD_LONG_SIZE - -inline long -__rw_atomic_predecrement (long &__x, bool) -{ - _RWSTD_COMPILE_ASSERT (8 == sizeof (long)); - - return __rw_atomic_add64 (_RWSTD_REINTERPRET_CAST (_RWSTD_INT64_T*, &__x), - -1); -} - - -inline unsigned long -__rw_atomic_predecrement (unsigned long &__x, bool) -{ - _RWSTD_COMPILE_ASSERT (8 == sizeof (unsigned long)); - - return __rw_atomic_add64 (_RWSTD_REINTERPRET_CAST (_RWSTD_INT64_T*, &__x), - -1); -} - -#endif // _RWSTD_LONG_SIZE - - -#ifdef _RWSTD_LONG_LONG -# if _RWSTD_LLONG_SIZE > _RWSTD_LONG_SIZE - -inline _RWSTD_LONG_LONG -__rw_atomic_predecrement (_RWSTD_LONG_LONG &__x, bool) -{ - _RWSTD_COMPILE_ASSERT (8 == sizeof (_RWSTD_LONG_LONG)); - -#ifdef _MSC_VER - return _InterlockedDecrement64 (_RWSTD_REINTERPRET_CAST (__int64*, &__x)); -#else - return __rw_atomic_add64 (_RWSTD_REINTERPRET_CAST (_RWSTD_INT64_T*, &__x), - -1); -#endif -} - - -inline unsigned _RWSTD_LONG_LONG -__rw_atomic_predecrement (unsigned _RWSTD_LONG_LONG &__x, bool) -{ - _RWSTD_COMPILE_ASSERT (8 == sizeof (unsigned _RWSTD_LONG_LONG)); - -#ifdef _MSC_VER - return _InterlockedDecrement64 (_RWSTD_REINTERPRET_CAST (__int64*, &__x)); -#else - return __rw_atomic_add64 (_RWSTD_REINTERPRET_CAST (_RWSTD_INT64_T*, &__x), - -1); -#endif -} - -# endif // _RWSTD_LLONG_SIZE > _RWSTD_LONG_SIZE -#endif // _RWSTD_LONG_LONG - - inline char __rw_atomic_exchange (char &__x, char __y, bool) { @@ -465,7 +349,47 @@ } -# if 4 < _RWSTD_LONG_SIZE +#if 4 < _RWSTD_LONG_SIZE + +inline long +__rw_atomic_preincrement (long &__x, bool) +{ + _RWSTD_COMPILE_ASSERT (8 == sizeof (long)); + + return __rw_atomic_add64 (_RWSTD_REINTERPRET_CAST (_RWSTD_INT64_T*, &__x), + +1); +} + + +inline unsigned long +__rw_atomic_preincrement (unsigned long &__x, bool) +{ + _RWSTD_COMPILE_ASSERT (8 == sizeof (unsigned long)); + + return __rw_atomic_add64 (_RWSTD_REINTERPRET_CAST (_RWSTD_INT64_T*, &__x), + +1); +} + + +inline long +__rw_atomic_predecrement (long &__x, bool) +{ + _RWSTD_COMPILE_ASSERT (8 == sizeof (long)); + + return __rw_atomic_add64 (_RWSTD_REINTERPRET_CAST (_RWSTD_INT64_T*, &__x), + -1); +} + + +inline unsigned long +__rw_atomic_predecrement (unsigned long &__x, bool) +{ + _RWSTD_COMPILE_ASSERT (8 == sizeof (unsigned long)); + + return __rw_atomic_add64 (_RWSTD_REINTERPRET_CAST (_RWSTD_INT64_T*, &__x), + -1); +} + inline long __rw_atomic_exchange (long &__x, long __y, bool) @@ -486,11 +410,68 @@ _RWSTD_STATIC_CAST (_RWSTD_INT64_T, __y)); } -# endif // _RWSTD_LONG_SIZE == _RWSTD_INT_SIZE +#else +# define _RWSTD_NO_LONG_ATOMIC_OPS +#endif // 4 < _RWSTD_LONG_SIZE + + +#if defined (_RWSTD_LONG_LONG) && (_RWSTD_LLONG_SIZE > _RWSTD_LONG_SIZE) + +inline _RWSTD_LONG_LONG +__rw_atomic_preincrement (_RWSTD_LONG_LONG &__x, bool) +{ + _RWSTD_COMPILE_ASSERT (8 == sizeof (_RWSTD_LONG_LONG)); + +#ifdef _MSC_VER + return _InterlockedIncrement64 (_RWSTD_REINTERPRET_CAST (__int64*, &__x)); +#else + return __rw_atomic_add64 (_RWSTD_REINTERPRET_CAST (_RWSTD_INT64_T*, &__x), + +1); +#endif +} + + +inline unsigned _RWSTD_LONG_LONG +__rw_atomic_preincrement (unsigned _RWSTD_LONG_LONG &__x, bool) +{ + _RWSTD_COMPILE_ASSERT (8 == sizeof (unsigned _RWSTD_LONG_LONG)); +#ifdef _MSC_VER + return _InterlockedIncrement64 (_RWSTD_REINTERPRET_CAST (__int64*, &__x)); +#else + return __rw_atomic_add64 (_RWSTD_REINTERPRET_CAST (_RWSTD_INT64_T*, &__x), + +1); +#endif +} + + +inline _RWSTD_LONG_LONG +__rw_atomic_predecrement (_RWSTD_LONG_LONG &__x, bool) +{ + _RWSTD_COMPILE_ASSERT (8 == sizeof (_RWSTD_LONG_LONG)); + +#ifdef _MSC_VER + return _InterlockedDecrement64 (_RWSTD_REINTERPRET_CAST (__int64*, &__x)); +#else + return __rw_atomic_add64 (_RWSTD_REINTERPRET_CAST (_RWSTD_INT64_T*, &__x), + -1); +#endif +} + + +inline unsigned _RWSTD_LONG_LONG +__rw_atomic_predecrement (unsigned _RWSTD_LONG_LONG &__x, bool) +{ + _RWSTD_COMPILE_ASSERT (8 == sizeof (unsigned _RWSTD_LONG_LONG)); + +#ifdef _MSC_VER + return _InterlockedDecrement64 (_RWSTD_REINTERPRET_CAST (__int64*, &__x)); +#else + return __rw_atomic_add64 (_RWSTD_REINTERPRET_CAST (_RWSTD_INT64_T*, &__x), + -1); +#endif +} -#ifdef _RWSTD_LONG_LONG -# if _RWSTD_LLONG_SIZE > _RWSTD_LONG_SIZE inline _RWSTD_LONG_LONG __rw_atomic_exchange (_RWSTD_LONG_LONG &__x, _RWSTD_LONG_LONG __y, bool) @@ -522,7 +503,8 @@ #endif } -# endif // _RWSTD_LLONG_SIZE > _RWSTD_LONG_SIZE -#endif // _RWSTD_LONG_LONG +#else +# define _RWSTD_NO_LLONG_ATOMIC_OPS +#endif // _RWSTD_LONG_LONG && _RWSTD_LLONG_SIZE > _RWSTD_LONG_SIZE } // namespace __rw Copied: stdcxx/branches/4.3.x/include/rw/_atomic-x86.h (from r696295, stdcxx/branches/4.2.x/include/rw/_atomic-x86.h) URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_atomic-x86.h?p2=stdcxx/branches/4.3.x/include/rw/_atomic-x86.h&p1=stdcxx/branches/4.2.x/include/rw/_atomic-x86.h&r1=696295&r2=704152&rev=704152&view=diff ============================================================================== --- stdcxx/branches/4.2.x/include/rw/_atomic-x86.h (original) +++ stdcxx/branches/4.3.x/include/rw/_atomic-x86.h Mon Oct 13 09:25:34 2008 @@ -6,7 +6,7 @@ * This is an internal header file used to implement the C++ Standard * Library. It should never be #included directly by a program. * - * $Id $ + * $Id$ * *************************************************************************** * @@ -30,6 +30,9 @@ * **************************************************************************/ +#define _RWSTD_NO_LONG_ATOMIC_OPS +#define _RWSTD_NO_LLONG_ATOMIC_OPS + #ifdef _MSC_VER extern "C" long __cdecl _InterlockedIncrement (volatile long*); @@ -61,14 +64,14 @@ __declspec (dllimport) long __stdcall InterlockedExchange (_RWSTD_INTERLOCKED_T*, long); +} // extern "C" + inline long _InterlockedIncrement (volatile long *__x) { return InterlockedIncrement ( _RWSTD_CONST_CAST (_RWSTD_INTERLOCKED_T*, __x)); } -} // extern "C" - inline long _InterlockedDecrement (volatile long *__x) { return InterlockedDecrement ( Copied: stdcxx/branches/4.3.x/include/rw/_atomic-xlc.h (from r696295, stdcxx/branches/4.2.x/include/rw/_atomic-xlc.h) URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_atomic-xlc.h?p2=stdcxx/branches/4.3.x/include/rw/_atomic-xlc.h&p1=stdcxx/branches/4.2.x/include/rw/_atomic-xlc.h&r1=696295&r2=704152&rev=704152&view=diff ============================================================================== --- stdcxx/branches/4.2.x/include/rw/_atomic-xlc.h (original) +++ stdcxx/branches/4.3.x/include/rw/_atomic-xlc.h Mon Oct 13 09:25:34 2008 @@ -6,7 +6,7 @@ * This is an internal header file used to implement the C++ Standard * Library. It should never be #included directly by a program. * - * $Id $ + * $Id$ * *************************************************************************** * @@ -32,6 +32,10 @@ #include +#define _RWSTD_NO_CHAR_ATOMIC_OPS +#define _RWSTD_NO_SHORT_ATOMIC_OPS +#define _RWSTD_NO_LLONG_ATOMIC_OPS + _RWSTD_NAMESPACE (__rw) { inline int @@ -137,6 +141,8 @@ _RWSTD_STATIC_CAST (long, __y), false); } +# else // _RWSTD_INT_SIZE == _RWSTD_LONG_SIZE +# define _RWSTD_NO_LONG_ATOMIC_OPS # endif // _RWSTD_INT_SIZE < _RWSTD_LONG_SIZE } // namespace __rw Copied: stdcxx/branches/4.3.x/include/rw/_atomic.h (from r696295, stdcxx/branches/4.2.x/include/rw/_atomic.h) URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_atomic.h?p2=stdcxx/branches/4.3.x/include/rw/_atomic.h&p1=stdcxx/branches/4.2.x/include/rw/_atomic.h&r1=696295&r2=704152&rev=704152&view=diff ============================================================================== --- stdcxx/branches/4.2.x/include/rw/_atomic.h (original) +++ stdcxx/branches/4.3.x/include/rw/_atomic.h Mon Oct 13 09:25:34 2008 @@ -5,7 +5,7 @@ * This is an internal header file used to implement the C++ Standard * Library. It should never be #included directly by a program. * - * $Id $ + * $Id$ * *************************************************************************** * @@ -57,6 +57,11 @@ # include # elif defined (_PA_RISC2_0) # include +# elif defined (__GNUG__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 401) \ + && (defined (__i486__) || defined (__x86_64) || defined (__ia64)) \ + && !defined (__INTEL_COMPILER) \ + || (defined (__INTEL_COMPILER) && defined (__ia64)) +# include # elif defined (__i386__) && (defined (__GNUG__) \ || defined (__INTEL_COMPILER)) || defined (_M_IX86) # include @@ -72,11 +77,14 @@ # ifndef _RWSTD_NO_BOOL -# if _RWSTD_BOOL_SIZE == _RWSTD_CHAR_SIZE +# if _RWSTD_BOOL_SIZE == _RWSTD_CHAR_SIZE \ + && !defined (_RWSTD_NO_CHAR_ATOMIC_OPS) # define _RWSTD_BOOL_TYPE char -# elif _RWSTD_BOOL_SIZE == _RWSTD_SHORT_SIZE +# elif _RWSTD_BOOL_SIZE == _RWSTD_SHORT_SIZE \ + && !defined (_RWSTD_NO_SHORT_ATOMIC_OPS) # define _RWSTD_BOOL_TYPE short -# elif _RWSTD_BOOL_SIZE == _RWSTD_INT_SIZE +# elif _RWSTD_BOOL_SIZE == _RWSTD_INT_SIZE \ + && !defined (_RWSTD_NO_INT_ATOMIC_OPS) # define _RWSTD_BOOL_TYPE int # endif @@ -103,7 +111,11 @@ /********************** generic long functions ************************/ -# if _RWSTD_LONG_SIZE == _RWSTD_INT_SIZE +# if _RWSTD_LONG_SIZE == _RWSTD_INT_SIZE \ + && defined (_RWSTD_NO_LONG_ATOMIC_OPS) \ + && !defined (_RWSTD_NO_INT_ATOMIC_OPS) + +# undef _RWSTD_NO_LONG_ATOMIC_OPS # if 6 == _RWSTD_HP_aCC_MAJOR // suppress HP aCC 64 bit migration remark: conversion from @@ -170,8 +182,12 @@ /********************** generic long long functions *******************/ -# ifdef _RWSTD_LONG_LONG -# if _RWSTD_LLONG_SIZE == _RWSTD_LONG_SIZE +# if defined (_RWSTD_LONG_LONG) \ + && _RWSTD_LLONG_SIZE == _RWSTD_LONG_SIZE \ + && defined (_RWSTD_NO_LLONG_ATOMIC_OPS) \ + && !defined (_RWSTD_NO_LONG_ATOMIC_OPS) + +# undef _RWSTD_NO_LLONG_ATOMIC_OPS _RWSTD_NAMESPACE (__rw) { @@ -222,8 +238,7 @@ } // namespace __rw -# endif // _RWSTD_LLONG_SIZE == _RWSTD_LONG_SIZE -# endif // _RWSTD_LONG_LONG +# endif // _RWSTD_LONG_LONG && _RWSTD_LLONG_SIZE == _RWSTD_LONG_SIZE # endif // _RWSTD_NO_ATOMIC_OPS Copied: stdcxx/branches/4.3.x/include/rw/_mutex-dce.h (from r696295, stdcxx/branches/4.2.x/include/rw/_mutex-dce.h) URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_mutex-dce.h?p2=stdcxx/branches/4.3.x/include/rw/_mutex-dce.h&p1=stdcxx/branches/4.2.x/include/rw/_mutex-dce.h&r1=696295&r2=704152&rev=704152&view=diff ============================================================================== --- stdcxx/branches/4.2.x/include/rw/_mutex-dce.h (original) +++ stdcxx/branches/4.3.x/include/rw/_mutex-dce.h Mon Oct 13 09:25:34 2008 @@ -5,7 +5,7 @@ * This is an internal header file used to implement the C++ Standard * Library. It should never be #included directly by a program. * - * $Id $ + * $Id$ * *************************************************************************** * Copied: stdcxx/branches/4.3.x/include/rw/_mutex-os2.h (from r696295, stdcxx/branches/4.2.x/include/rw/_mutex-os2.h) URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_mutex-os2.h?p2=stdcxx/branches/4.3.x/include/rw/_mutex-os2.h&p1=stdcxx/branches/4.2.x/include/rw/_mutex-os2.h&r1=696295&r2=704152&rev=704152&view=diff ============================================================================== --- stdcxx/branches/4.2.x/include/rw/_mutex-os2.h (original) +++ stdcxx/branches/4.3.x/include/rw/_mutex-os2.h Mon Oct 13 09:25:34 2008 @@ -5,7 +5,7 @@ * This is an internal header file used to implement the C++ Standard * Library. It should never be #included directly by a program. * - * $Id $ + * $Id$ * *************************************************************************** * Copied: stdcxx/branches/4.3.x/include/rw/_mutex-pthread.h (from r696295, stdcxx/branches/4.2.x/include/rw/_mutex-pthread.h) URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_mutex-pthread.h?p2=stdcxx/branches/4.3.x/include/rw/_mutex-pthread.h&p1=stdcxx/branches/4.2.x/include/rw/_mutex-pthread.h&r1=696295&r2=704152&rev=704152&view=diff ============================================================================== --- stdcxx/branches/4.2.x/include/rw/_mutex-pthread.h (original) +++ stdcxx/branches/4.3.x/include/rw/_mutex-pthread.h Mon Oct 13 09:25:34 2008 @@ -6,7 +6,7 @@ * This is an internal header file used to implement the C++ Standard * Library. It should never be #included directly by a program. * - * $Id $ + * $Id$ * *************************************************************************** * Copied: stdcxx/branches/4.3.x/include/rw/_mutex-solaris.h (from r696295, stdcxx/branches/4.2.x/include/rw/_mutex-solaris.h) URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_mutex-solaris.h?p2=stdcxx/branches/4.3.x/include/rw/_mutex-solaris.h&p1=stdcxx/branches/4.2.x/include/rw/_mutex-solaris.h&r1=696295&r2=704152&rev=704152&view=diff ============================================================================== --- stdcxx/branches/4.2.x/include/rw/_mutex-solaris.h (original) +++ stdcxx/branches/4.3.x/include/rw/_mutex-solaris.h Mon Oct 13 09:25:34 2008 @@ -6,7 +6,7 @@ * This is an internal header file used to implement the C++ Standard * Library. It should never be #included directly by a program. * - * $Id $ + * $Id$ * *************************************************************************** * Copied: stdcxx/branches/4.3.x/include/rw/_mutex-win32.h (from r696295, stdcxx/branches/4.2.x/include/rw/_mutex-win32.h) URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_mutex-win32.h?p2=stdcxx/branches/4.3.x/include/rw/_mutex-win32.h&p1=stdcxx/branches/4.2.x/include/rw/_mutex-win32.h&r1=696295&r2=704152&rev=704152&view=diff ============================================================================== --- stdcxx/branches/4.2.x/include/rw/_mutex-win32.h (original) +++ stdcxx/branches/4.3.x/include/rw/_mutex-win32.h Mon Oct 13 09:25:34 2008 @@ -6,7 +6,7 @@ * This is an internal header file used to implement the C++ Standard * Library. It should never be #included directly by a program. * - * $Id $ + * $Id$ * *************************************************************************** *