2008-10-13  Farid Zaripov  <faridz@apache.org>

	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  <faridz@apache.org>
	* src/random.cpp: #included <stddef.h> for size_t type.


	2008-09-17  Farid Zaripov  <faridz@apache.org>
	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  <faridz@apache.org>
	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  <faridz@apache.org>
	* tests/containers/23.list.erase.cpp (test_erase): Simplify type of the pres_iter.


	2008-09-30  Farid Zaripov  <faridz@apache.org>
	* 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  <faridz@apache.org>
	* 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  <faridz@apache.org>
	* 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  <faridz@apache.org>
	* 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 <rw/_atomic-sync.h> with
	gcc >= 4.1 on x86, x86_64, ia64 platforms and icc on ia64 platform.


	2008-10-06  Farid Zaripov  <faridz@apache.org>
	* 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  <faridz@apache.org>
	* 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  <faridz@apache.org>
	* 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  <faridz@apache.org>
	* src/locale_body.h: Replace __CYGWIN32__ to __CYGWIN__ for consistency.
	* util/ctype.cpp: Ditto.
	* util/localedef.cpp: Ditto.


	2008-10-09  Farid Zaripov  <faridz@apache.org>
        * src/locale_body.h: Revert changes, accidentally committed in r703124. 
        * util/path.cpp: Replace __CYGWIN32__ to __CYGWIN__ for consistency.


git-svn-id: https://svn.apache.org/repos/asf/stdcxx/trunk@704153 13f79535-47bb-0310-9956-ffa450edef68
30 files changed