2008-08-01  Travis Vitek  <vitek@roguewave.com>

	Merge r671285, r671294, r671306, r671612, r671972, r672048, r672395,
	r672596, r672948, r673227, r673490, r673495, r673534, r673851, r673865,
	r675044, r675316, r675344, r675390, r675429, r675434, r675458, r675803,
	r675809, r675829, r676788, r677418, r677464, r677465, r677985, r678247,
	r678475, r678894, r678901, r678907, r678913, r678931, r680574, r681567
	from branches/4.3.x:


	2008-06-24  Travis Vitek  <vitek@roguewave.com>

	STDCXX-916
	* include/rw/_meta_arr.h (_RWSTD_REMOVE_EXTENT)
	(_RWSTD_REMOVE_ALL_EXTENTS): Add macros for type traits.
	* include/rw/_meta_cat.h (_RWSTD_IS_VOID, _RWSTD_IS_INTEGRAL)
	(_RWSTD_IS_FLOATING_POINT, _RWSTD_IS_ARRAY, _RWSTD_IS_UNION)
	(_RWSTD_IS_LVALUE_REFERENCE, _RWSTD_IS_RVALUE_REFERENCE)
	(_RWSTD_IS_CLASS, _RWSTD_IS_FUNCTION, _RWSTD_IS_MEMBER_OBJECT_PTR)
	(_RWSTD_IS_MEMBER_OBJECT_PTR): Ditto.
	* include/rw/_meta_comp.h (_RWSTD_IS_REFERENCE, _RWSTD_IS_OBJECT)
	(_RWSTD_IS_ARITHMETIC, _RWSTD_IS_FUNDAMENTAL, _RWSTD_IS_SCALAR)
	(_RWSTD_IS_MEMBER_POINTER, _RWSTD_IS_COMPOUND): Ditto.
	* include/rw/_meta_cv.h (_RWSTD_REMOVE_CONST, _RWSTD_REMOVE_CV)
	(_RWSTD_REMOVE_VOLATILE, _RWSTD_ADD_CONST, _RWSTD_ADD_VOLATILE)
	(_RWSTD_ADD_CV): Ditto.
	* include/rw/_meta_prop.h (_RWSTD_IS_CONST, _RWSTD_IS_VOLATILE)
	(_RWSTD_IS_STANDARD_LAYOUT, _RWSTD_IS_POD, _RWSTD_IS_ABSTRACT)
	(_RWSTD_IS_POLYMORPHIC, _RWSTD_IS_EMPTY, _RWSTD_HAS_TRIVIAL_CTOR)
	(_RWSTD_HAS_TRIVIAL_COPY, _RWSTD_HAS_TRIVIAL_ASSIGN)
	(_RWSTD_HAS_TRIVIAL_DTOR, _RWSTD_IS_TRIVIAL, _RWSTD_RANK)
	(_RWSTD_HAS_NOTHROW_CTOR, _RWSTD_HAS_NOTHROW_COPY)
	(_RWSTD_HAS_NOTHROW_ASSIGN, _RWSTD_HAS_VIRTUAL_DTOR)
	(_RWSTD_IS_SIGNED, _RWSTD_IS_UNSIGNED, _RWSTD_EXTENT_1)
	(_RWSTD_EXTENT_2): Ditto.
	* include/rw/_meta_ptr.h (_RWSTD_REMOVE_POINTER)
	(_RWSTD_ADD_POINTER): Ditto.
	* include/rw/_meta_ref.h (_RWSTD_ADD_RVALUE_REFERENCE)
	(_RWSTD_ADD_LVALUE_REFERENCE, _RWSTD_REMOVE_REFERENCE): Ditto.
	* include/rw/_meta_rel.h (_RWSTD_IS_SAME, _RWSTD_IS_BASE_OF)
	(_RWSTD_IS_CONVERTIBLE): Ditto.
	* include/rw/_meta_sign.h (_RWSTD_MAKE_SIGNED)
	(_RWSTD_MAKE_UNSIGNED): Ditto.


	2008-06-24  Travis Vitek  <vitek@roguewave.com>

	STDCXX-916
	* include/type_traits: Remove doxygen comments, leaving C++
	comments where appropriate.
	* include/rw/_meta_arr.h: Ditto.
	* include/rw/_meta_cat.h: Ditto.
	* include/rw/_meta_comp.h: Ditto.
	* include/rw/_meta_cv.h: Ditto.
	* include/rw/_meta_other.h: Ditto.
	* include/rw/_meta_prop.h: Ditto.
	* include/rw/_meta_ptr.h: Ditto.
	* include/rw/_meta_ref.h: Ditto.
	* include/rw/_meta_rel.h: Ditto.
	* include/rw/_meta_sign.h: Ditto.
	(_RWSTD_SHRT_SIZE): Fix spelling error.


	2008-06-24  Eric Lemings <eric.lemings@roguewave.com>

	STDCXX-958
	* include/tuple: Removed comments containing public API
	documentation in the interests implementing C++0x features as
	quickly as possible by saving time writing further documentation
	and dealing with documentation-related issues in the foreseeable
	future.
	* include/rw/_tuple.h: Likewise.
	* include/rw/_tuple_traits.h: Likewise.
	* include/rw/_forward.h: Likewise.
	* include/rw/_ref_wrap.h: Likewise.
	* doc/Doxyfile: Not needed for now.


	2008-06-25  Eric Lemings <eric.lemings@roguewave.com>

	STDCXX-958
	* include/rw/_meta_help.h (_RWSTD_BOOL_CONST): Add convenience
	macro for boolean constants.


	2008-06-26  Eric Lemings <eric.lemings@roguewave.com>

	STDCXX-958
	* tests/intro/17.names.cpp: C++0x `reference_wrapper' class
	template requires `type' member so replace `type' name with
	`!ERROR!' only when not building with C++0x extensions.


	2008-06-27  Travis Vitek  <vitek@roguewave.com>

	* tests/utilities/20.forward.cpp [_RWSTD_NO_EXT_CXX_0X]: Add
	guard to get test to compile and run when extension is not
	explicitly enabled. Include rw/_defs.h explicitly before using
	configuration macro to follow include policy.
	* tests/utilities/20.tuple.cnstr.cpp: Ditto.
	* tests/utilities/20.tuple.elem.cpp: Ditto.
	* tests/utilities/20.tuple.helpers.cpp: Ditto.
	* tests/utilities/20.meta.help.cpp: include rw/_defs.h explicitly
	in case rw_driver.h does not.
	* tests/utilities/20.meta.rel.cpp: Ditto.
	* tests/utilities/20.meta.trans.arr.cpp: Ditto.
	* tests/utilities/20.meta.trans.cv.cpp: Ditto.
	* tests/utilities/20.meta.trans.ptr.cpp: Ditto.
	* tests/utilities/20.meta.trans.ref.cpp: Ditto.
	* tests/utilities/20.meta.unary.comp.cpp: Ditto.
	* tests/utilities/20.meta.trans.other.cpp: Ditto. Move includes
	inside _RWSTD_NO_EXT_CXX_0X block.
	* tests/utilities/20.meta.trans.sign.cpp: Ditto.
	* tests/utilities/20.meta.unary.cat.cpp: Ditto.
	* tests/utilities/20.meta.unary.prop.cpp: Ditto.


	2008-06-27  Eric Lemings <eric.lemings@roguewave.com>

	STDCXX-958
	* include/rw/_ref_wrap.h: Convert internal namespace members to
	standard namespace members (at least until such a time when
	internal namespace members are actually needed).
	(reference_wrapper): Implemented basic constructors, operators,
	and accessors.  (No specializations, function inheritance,
	result_of, or invocation operators yet.)
	(ref, cref): Also implemented.
	* include/functional: Include <rw/_ref_wrap.h> header.
	(Internal header contains C++0x guards so it only gets compiled
	for C++0X code.)


	2008-06-28  Martin Sebor  <sebor@roguewave.com>

	* tests/utilities/20.meta.unary.prop.cpp (cfun_t, incomplete_t): New
	types used for testing.
	(test_is_const, test_is_volatile): Exercised incomplete_t, arrays
	with unknown bounds, functions with C++ and C language linkage,
	and pointers to member functions.
	(test_is_trivial): Exercised void.


	2008-06-30  Eric Lemings <eric.lemings@roguewave.com>

	STDCXX-958
	* include/rw/_forward.h: Add additional macro functions for
	consistency.  Use consistent comment format for standard section
	references.  Utilize type trait macro.  Other minor changes in
	copyright notice.
	* include/rw/_ref_wrap.h: Add standard section reference comment.
	Remove explicit template parameter names within class template.
	Add _RWSTD_ASSERT() statements where appropriate.  Replaced
	template parameter name with public typedef name inside class
	template.
	* include/rw/_tuple_traits.h: Removed.  Incorporated directly
	into <tuple> header.
	* include/rw/_tuple.h: Added internal tuple class template and
	make_tuple helpers.  Utilize _RWSTD_FORWARD() function macro.
	* include/tuple: Minor changes in header comment.  Moved internal
	members to <rw/_tuple.h> header.  Include <rw/_forward.h> and
	utilize _RWSTD_FORWARD() and _RWSTD_MOVE macro functions.
	Inherit class template `std::tuple' from internal `__rw_tuple'
	class template.  Reworked pair specialization to also inherit
	from internal tuple.  Add `_BaseU' macro definition for use in
	_RWSTD_STATIC_CAST where type contains commas (which won't work
	in static_cast when expanded).
	(tuple_element): Updated get helpers in std::tuple_element class
	template with internal type trait macros.  
	(get): Fixed.
	(make_tuple(), operator==, operator<): Implemented.
	* tests/utilities/20.tuple.cnstr.cpp: Updated previously broken
	tests.
	* tests/utilities/20.tuple.helpers.cpp: Minor changes (copyright
	notice).
	* tests/utilities/20.tuple.h: Same.
	* tests/utilities/20.tuple.creation.cpp: Added new test program
	for tuple creation helpers.
	* tests/utilities/20.tuple.rel.cpp: Added (outline of) new test
	program
	* tests/utilities/20.tuple.elem.cpp: Added more const/mutable
	tests.



	2008-07-01  Eric Lemings <eric.lemings@roguewave.com>

	STDCXX-958
	* include/tuple: Uncomment ctors that were temporarily commented
	out (and accidently checked in) due to forward/move semantics
	problem in make_tuple() with reference wrappers.
	* include/rw/_forward.h: Remove unnecessary _EXPORT macro.
	Define functions as inline.  Change `std' namespace to `_STD' in
	definition of _RWSTD_MOVE function macro.
	* include/rw/_tuple.h: Fix forward/move semantics for homogenous
	move ctor.
	* tests/utilities/20.tuple.h: Add tuple with reference type.
	* tests/utilities/20.tuple.cnstr.cpp: Added tests for tuples
	with reference types.  Added more tests for value move ctors.
	* tests/utilities/20.tuple.creation.cpp: Added two small tests
	for make_tuple() with reference wrappers.


	2008-07-02  Eric Lemings <eric.lemings@roguewave.com>

	STDCXX-958
	* include/tuple: Include internal type traits headers
	individually.
	* include/utility: Conditionally include C++0x header if
	corresponding macro is defined (and C++0x extension is enabled).
	* include/functional: Likewise.
	* include/rw/_meta_other.h: Include other necessary headers.
	* include/rw/_forward.h: Remove guards for C++0x extension.
	Reindent preprocessing directives appropriately.
	* include/rw/_ref_wrap.h: Likewise.  
	* include/rw/_tuple.h: Likewise.  Also forward declare reference
	wrapper class rather than including header.  Use _STD macro to
	qualify move() function.

	Incorporates some initial code review comments:
	http://www.nabble.com/Re%3A-Tuple-status-p18230401.html


	2008-07-02  Eric Lemings <eric.lemings@roguewave.com>

	STDCXX-948
	* include/functional:  Oops.  Used wrong name for C++0x macro
	guard.  Fixed.
	* include/utility: Likewise.


	2008-07-02  Eric Lemings <eric.lemings@roguewave.com>

	STDCXX-958
	* include/tuple: Use `_TypeT' and `_TypesT' template parameter
	names.  Add comment clarifying necessary static casts.  Use
	_RWSTD_SIZE_T type for index of tuple elements per LWG issue
	#755.
	* include/rw/_forward.h: More template parameter renaming.
	* include/rw/_ref_wrap.h: Likewise.
	* include/rw/_tuple.h: Likewise.

	Incorporates more initial code review comments:
	http://www.nabble.com/Re%3A-Tuple-status-p18230401.html


	2008-07-03  Travis Vitek  <vitek@roguewave.com>

	* include/functional [_RWSTD_NO_EXT_CXX_0X]: Move <rw/_ref_wrap.h>
	include into conditional block to avoid problems compiling test
	17.names.cpp


	2008-07-03  Travis Vitek  <vitek@roguewave.com>

	* tests/utilities/20.tuple.cnstr.cpp [_RWSTD_NO_RVALUE_REFERENCES]:
	Disable body of test if _RWSTD_NO_EXT_CXX_0X is not defined but tuples
	are unavailable due to insufficient compiler support.
	(run_test) [_RWSTD_NO_RVALUE_REFERENCES, _RWSTD_NO_EXT_CXX_0X]: Display
	descriptive warning explaining why test is disabled.
	* tests/utilities/20.tuple.helpers.cpp: Ditto.
	* tests/utilities/20.tuple.creation.cpp: Ditto.
	* tests/utilities/20.tuple.elem.cpp: Ditto.
	* tests/utilities/20.tuple.rel.cpp: Ditto.
	* tests/utilities/20.forward.cpp (run_test): Run test_identity() even
	when rvalue references are not supported. Display descriptive warning
	explaining why parts of test are disabled.


	2008-07-08  Eric Lemings <eric.lemings@roguewave.com>

	STDCXX-958
	* include/tuple: Second parameter in value move ctor of pair
	specialization missing rvalue reference.
	(make_tuple, get, relational operators): Explicitly declare
	as inline functions.
	(tie): Implemented.
	* include/rw/_tuple.h: Fix move semantics in heterogenous move
	assignment operator.
	(__rw_ignore): Add assignment operator to ignore all values.
	* tests/utilities/20.tuple.cnstr.cpp: Added V&V for tuple
	state and invariants.  Manually inspected proper construction
	of all test tuples.  Updated/corrected/added tests as necessary.
	* tests/utilities/20.tuple.creation.cpp: Added simple tie()
	test.
	* tests/utilities/20.tuple.h: Minor stylistic changes.
	* tests/utilities/20.tuple.helpers.cpp: Same.


	2008-07-09  Eric Lemings <eric.lemings@roguewave.com>

	STDCXX-958
	* tests/utilities/20.tuple.cnstr.cpp (verify_tuple): Fixed
	assertions from float/double conversions.
	* tests/tr1.util, tests/tr1.c99: Removed unused directories.


	2008-07-09  Eric Lemings <eric.lemings@roguewave.com>

	STDCXX-958
	* include/rw/_tuple.h (__rw_ignore::operator=): Simplify
	defininition of operator.


	2008-07-09  Martin Sebor  <sebor@roguewave.com>

	* include/rw/_select.h (__rw_same_type): Renamed from __rw_is_same
	to avoid conflicts with <rw/_meta_rel.h>.
	* include/rw/_ioinsert.h (__rw_insert): Used __rw_same_type rather
	than __rw_is_same.


	2008-07-09  Martin Sebor  <sebor@roguewave.com>

	* include/queue (typename): Replaced uses of the _TYPENAME macro
	with the now universally supported C++ keyword.
	* include/fstream: Same.
	* include/set: Same.
	* include/list: Same.
	* include/bitset.cc: Same.
	* include/string: Same.
	* include/streambuf.cc: Same.
	* include/ostream.cc: Same.
	* include/map: Same.
	* include/valarray: Same.
	* include/streambuf: Same.
	* include/loc/_money_put.cc: Same.
	* include/loc/_messages.cc: Same.
	* include/loc/_num_put.cc: Same.
	* include/loc/_ctype.cc: Same.
	* include/loc/_numpunct.h: Same.
	* include/loc/_time_get.cc: Same.
	* include/loc/_money_get.cc: Same.
	* include/loc/_num_get.cc: Same.
	* include/loc/_time_put.cc: Same.
	* include/algorithm.cc: Same.
	* include/ostream: Same.
	* include/functional: Same.
	* include/vector.cc: Same.
	* include/type_traits: Same.
	* include/fstream.cc: Same.
	* include/istream.cc: Same.
	* include/deque.cc: Same.
	* include/stack: Same.
	* include/string.cc: Same.
	* include/list.cc: Same.
	* include/istream: Same.
	* include/vector: Same.
	* include/deque: Same.
	* include/bitset: Same.
	* include/algorithm: Same.
	* include/sstream: Same.
	* include/array: Same.
	* include/rw/_defs.h: Same.
	* include/rw/_tree.cc: Same.
	* include/rw/_iterbase.h: Same.
	* include/rw/_select.h: Same.
	* include/rw/_tuple.h: Same.
	* include/rw/_iterator.h: Same.
	* include/rw/_basic_ios.h: Same.
	* include/rw/_specialized.h: Same.
	* include/rw/_ioinsert.cc: Same.
	* include/rw/_tree.h: Same.
	* include/rw/_stringio.cc: Same.
	* include/rw/_strref.h: Same.
	* include/rw/_streamiter.h: Same.
	* include/rw/_forward.h: Same.
	* include/rw/_autoptr.h: Same.
	* include/rw/_smartptr.h: Same.
	* include/rw/_funcbase.h: Same.
	* include/rw/_typetraits.h: Same.
	* include/rw/_allocator.h: Same.
	* include/rw/_ioiter.h: Same.
	* include/rw/_algobase.h: Same.
	* include/sstream.cc: Same.
	* include/tuple: Same.
	* src/collate.cpp: Same.
	* examples/include/examples.h: Same.
	* tests/containers/23.bitset.cpp: Same.
	* tests/utilities/20.meta.help.cpp: Same.
	* tests/utilities/20.auto.ptr.cpp: Same.
	* tests/utilities/20.meta.trans.other.cpp: Same.
	* tests/include/rw_testdefs.h: Same.

	* include/rw/_defs.h (_TYPENAME): Removed macro #definition.
	* include/vector [!_RWSTD_NO_TYPENAME] (typename): Removed macro
	#definition.
	* examples/include/examples.h: Same.
	* tests/include/rw_testdefs.h: Same.
	* etc/config/src/DEPENDENT_TEMPLATE.cpp: Same.
	* etc/config/src/NONDEDUCED_CONTEXT.cpp: Same.
	* etc/config/src/STATIC_CONST_MEMBER_EXPR_CONST.cpp: Same.
	* etc/config/src/TYPENAME.cpp: Deleted.
	* README (_TYPENAME): Same.


	2008-07-09  Martin Sebor  <sebor@roguewave.com>

	* include/tuple (explicit): Replaced uses of the _EXPLICIT macro
	with the universally supported C++ keyword.
	* include/iomanip: Same.
	* include/loc/_locale.h: Same.
	* include/loc/_moneypunct.h: Same.
	* include/loc/_messages.h: Same.
	* include/loc/_numpunct.h: Same.
	* include/loc/_facet.h: Same.
	* include/loc/_collate.h: Same.
	* include/loc/_money_get.h: Same.
	* include/loc/_time_get.h: Same.
	* include/loc/_num_get.h: Same.
	* include/loc/_money_put.h: Same.
	* include/loc/_ctype.h: Same.
	* include/loc/_time_put.h: Same.
	* include/loc/_num_put.h: Same.
	* include/loc/_codecvt.h: Same.
	* include/map: Same.
	* include/rw/_basic_ios.h: Same.
	* include/rw/_iosfailure.h: Same.
	* include/rw/_iterator.h: Same.
	* include/rw/_smartptr.h: Same.
	* include/rw/_rawiter.h: Same.
	* include/rw/_tuple.h: Same.
	* include/rw/_autoptr.h: Same.
	* include/rw/_exception.h: Same.
	* include/bitset: Same.
	* include/set: Same.
	* include/functional: Same.
	* include/istream: Same.
	* include/stack: Same.
	* include/string: Same.
	* include/complex: Same.
	* include/ostream: Same.
	* include/sstream: Same.
	* include/valarray: Same.
	* include/vector: Same.
	* include/stdexcept: Same.
	* include/deque: Same.
	* include/list: Same.
	* include/strstream: Same.
	* include/queue: Same.
	* include/fstream: Same.
	* src/podarray.h: Same.
	* tests/localization/22.locale.synopsis.cpp: Same.
	* tests/containers/23.deque.modifiers.cpp: Same.
	* tests/containers/23.bitset.cpp: Same.
	* tests/diagnostics/19.std.exceptions.cpp: Same.
	* tests/utilities/20.function.objects.cpp: Same.

	* etc/config/src/EXPLICIT.cpp: Deleted test.

	* include/rw/_defs.h (_EXPLICIT): Removed macro #definition.
	
	* tests/containers/23.deque.modifiers.cpp (_RWSTD_NO_EXPLICIT):
	Removed conditional.
	* tests/containers/23.bitset.cpp: Same.
	* tests/utilities/20.function.objects.cpp: Same.


	2008-07-09  Travis Vitek  <vitek@roguewave.com>

	STDCXX-916
	* include/rw/_meta_help.h: Remove doxygen tags from comments.
	* include/rw/_meta_prop.h: Reduce lines to 76 characters or
	less where necessary.
	[_MSC_VER]: Simplify workaround for broken __is_pod() and
	__is_empty().
	[!_RWSTD_TT_IS_STANDARD_LAYOUT]: Change fallback for the
	__rw_is_standard_layout<> trait to be more reliable.
	[!_RWSTD_TT_IS_EMPTY]: Change fallback for __rw_is_empty<>
	trait to be more reliable.
	[!_RWSTD_TT_IS_POLYMORPHIC]: Add fallback to detect polymorphic
	class types when compiler support is not available.
	[!_RWSTD_TT_IS_ABSTRACT]: Add fallback to detect abstract
	class types when compiler support is not available.
	[!_RWSTD_TT_HAS_TRIVIAL_CTOR]: Add fallback to detect types
	that have a trivial constructor when compiler support is not
	available.
	[!_RWSTD_TT_HAS_TRIVIAL_COPY]: Add fallback to detect types
	that have a trivial copy constructor when compiler support is
	not available.
	[!_RWSTD_TT_HAS_TRIVIAL_ASSIGN]: Add fallback to detect types
	that have a trivial assignment operator when compiler support
	is not available.
	[!_RWSTD_TT_HAS_TRIVIAL_DTOR]: Add fallback to detect types
	that have a trivial destructor when compiler support is not
	available.
	[!_RWSTD_TT_HAS_NOTHROW_CTOR]: Add fallback to detect types
	that have a nothrow constructor when compiler support is not
	available.
	[!_RWSTD_TT_HAS_NOTHROW_COPY]: Add fallback to detect types
	that have a nothrow copy constructor when compiler support is
	not available.
	[!_RWSTD_TT_HAS_NOTHROW_ASSIGN]: Add fallback to detect types
	that have a nothrow assignment operator when compiler support
	is not available.
	[!_RWSTD_TT_HAS_VIRTUAL_DTOR]: Add fallback to detect types
	that have a virtual destructor when compiler support is not
	available. Currently tests that the type is polymorphic, which
	may not be entirely accurate.
	* include/rw/_meta_other.h [__GNUG__]: Use simpler implementation for
	__rw_aligned_storage<>. Reorder union members to make most strictly
	aligned member first.
	[_RWSTD_TT_MAX_ALIGNMENT]: Guard __rw_aligned_storage_impl<>
	specializations to prevent their use when the requested alignment
	is out of range.
	* include/rw/_meta_comp.h: Reduce lines to 76 characters or less.
	* include/rw/_meta_cat.h: Add __rw_is_class_or_union<> helper.
	[!_RWSTD_TT_IS_CLASS]: Add fallback to detect class types, using
	_RWSTD_TT_IS_UNION if available.
	[!_RWSTD_TT_IS_UNION]: Add fallback to detect union types, using
	_RWSTD_TT_IS_CLASS if available.
	[!_RWSTD_TT_IS_ENUM]: Add fallback to detect enum types when compiler
	support is not available.
	[!_RWSTD_TT_IS_FUNCTION]: Fix fallback for __rw_is_function to avoid
	compiler warnings on HP aCC 6.16.
	* include/rw/_meta_ref.h: Reduce lines to 76 characters or less.
	Remove use of _TYPENAME macro.
	* include/rw/_meta_rel.h: Fix __rw_is_convertible_impl to avoid 
	warning on HP aCC 6.16. Reduce lines to 76 characters or less.
	Remove use of _TYPENAME macro. Fix __rw_is_convertible_impl<> to
	avoid compiler warnings on HP aCC 6.16.
	[_RWSTD_TT_IS_CONVERTIBLE]: Guard header inclusion. Rename template
	parameters to _From and _To for clarity.
	[_RWSTD_TT_IS_BASE_OF]: Guard header inclusion. Change fallback for
	__rw_is_base_of to be more reliable. Rename template parameters to
	_Base and _Derived for clarity.
	* include/rw/_config-gcc.h [__GNUG__]: Reduce lines to 76 characters
	or less where necessary. Work around issue with gcc aligned attribute
	so we can use it to define __rw_aligned_storage<>.
	* include/rw/_config-acc.h [__HP_aCC]: Add macros _RWSTD_TT_ALIGN_OF,
	_RWSTD_TT_MAX_ALIGNMENT, and _RWSTD_TT_ALIGNED_POD.
	* include/rw/_config-msvc.h [_MSC_VER]: Remove comments about broken
	__is_pod(). Reduce lines to 76 characters or less where necessary.
	Provide accurate definition of _RWSTD_TT_MAX_ALIGNMENT.
	* tests/utilities/20.meta.trans.other.cpp: Add include for stddef.h.
	Use std::alignment_of<> instead of __alignof() for portability. Test
	default alignment for various aligned storage sizes.
	* tests/utilities/20.meta.rel.cpp (test_is_base_of): Fix test cases
	that were failing due to parameter ordering.


	2008-07-10  Martin Sebor  <sebor@roguewave.com>

	STDCXX-990
	* include/rw/_defs.h [2 < __GNUG__](_RWSTD_VA_COPY): Unconditionally
	defined to gcc's __builtin_va_copy() to avoid errors due to potential
	configuration differences (e.g., after configuring in C++ 1998 mode
	and compiling with the -std=c++0x option).


	2008-07-10  Martin Sebor  <sebor@roguewave.com>

	* include/rw/_config-gcc.h [gcc >= 4.3 && __GXX_EXPERIMENTAL_CXX0X__]
	(_RWSTD_NO_VARIADIC_TEMPLATES, _RWSTD_NO_RVALUE_REFERENCES): Undefined
	to make it possible to use C++ 0x library extensions even in builds
	configured w/o C++ 0x extensions enabled in the compiler.
	(_RWSTD_EXT_CXX_0X): #defined in response to either of the -std=c++0x
	or -std=gnu++0x options.


	2008-07-14  Martin Sebor  <sebor@roguewave.com>

	* etc/config/src/INITIALIZER_LIST.cpp: New config test to determine
	whether the C++ 0x class template std::initializer_list is supported.


	2008-07-16  Travis Vitek  <vitek@roguewave.com>

	* tests/utilities/20.meta.unary.prop.cpp: Add empty throw spec to
	help convince eccp-3.10 that functions won't throw.


	2008-07-16  Eric Lemings <eric.lemings@roguewave.com>

	STDCXX-958
	* tests/include/20.tuple.h: Remove commented member function.


	2008-07-16  Eric Lemings <eric.lemings@roguewave.com>

	STDCXX-958
	* tests/utilities/20.tuple.cnstr.cpp: Simplify random character
	generation.


	2008-07-18  Eric Lemings <eric.lemings@roguewave.com>

	STDCXX-958
	* include/rw/_tuple.h (operator==): Minor formatting change.
	(operator<): Fixed lexicographical comparison logic.
	* tests/utilities/20.tuple.h: Remove global tuple typedefs and
	unused output opeator<<.
	* tests/utilities/20.tuple.cnstr.cpp: Replaced typedefs with
	explicit tuple types.  Added TUPLE macros where tuple types
	containing commas are used as function macro arguments.
	* tests/utilities/20.tuple.creation.cpp: Same.
	* tests/utilities/20.tuple.elem.cpp: Same.
	* tests/utilities/20.tuple.helpers.cpp: Same.
	* tests/utilities/20.tuple.rel.cpp: Same.  Also added more tests
	(which uncovered broken `operator<') and concise TEST() function
	macro wrapper.


	2008-07-19  Martin Sebor  <sebor@roguewave.com>

	* tests/utilities/20.meta.unary.nothrow.cpp: New test exercising
	just the has_nothrow_xxx traits (so far has_nothrow_copy_constructor
	only).


	2008-07-21  Eric Lemings  <eric.lemings@roguewave.com>

	STDCXX-808
	* tests/regress/27.streambuf.buffer.stdcxx-808.cpp: Add
	regression test case that has failed in previous releases.


	2008-07-22  Travis Vitek  <vitek@roguewave.com>

	STDCXX-1002
	* include/rw/_meta_prop.h [__SUNPRO_CC]: Work around sunpro-5.9
	detecting cv-qualifiers on array types.


	2008-07-22  Travis Vitek  <vitek@roguewave.com>

	STDCXX-1001
	* include/rw/_meta_arr.h [__IBMCPP__]: Conditionally compile out
	definitions of traits that are partial specializations of unbound array
	types to avoid issues on vacpp-9.0.
	* include/rw/_meta_cat.h: Ditto.
	* include/rw/_meta_prop.h: Ditto.


	2008-07-22  Eric Lemings  <eric.lemings@roguewave.com>

	STDCXX-808
	* tests/regress/27.streambuf.buffer.stdcxx-808.cpp: Add file
	header comment.


	2008-07-22  Eric Lemings  <eric.lemings@roguewave.com>

	STDCXX-978
	* README: Removed _RWSTD_NO_MEMBER_TEMPLATES section.

	* etc/config/src/MEMBER_TEMPLATE_OVERLOAD.cpp: Removed config
	test.  (Assume required compiler support for member templates
	in all subsequent releases.)
	* etc/config/src/MEMBER_TEMPLATES.cpp: Same.
	* etc/config/src/implicit_inclusion_imp.h: Removed #if
	directives and code compiled when no member templates supported.
	* etc/config/src/IMPLICIT_INCLUSION.cpp: Same.
	* etc/config/src/extern_template_imp.h: Same.
	* etc/config/src/EXTERN_MEMBER_TEMPLATE.cpp: Same.
	* etc/config/src/extern_template_imp.cpp: Same.
	* etc/config/src/implicit_inclusion_imp.cc: Same.

	* include/bitest [_RWSTD_NO_MEMBER_TEMPLATES]: Removed #if
	directives leaving code compiled when macro is not defined and
	removing (unused) code that is compiled when macro is defined.
	* include/complex: Same.
	* include/deque: Same.
	* include/deque.cc: Same.
	* include/list: Same.
	* include/list.cc: Same.
	* include/set: Same.
	* include/string: Same.
	* include/string.cc: Same.
	* include/vector: Same.
	* include/vector.cc: Same.

	* src/vecbool.cpp [_RWSTD_NO_MEMBER_TEMPLATES]: Removed
	unused code compiled when no member templates supported.

	* tests/utilities/20.auto.ptr.cpp [_RWSTD_NO_MEMBER_TEMPLATES]:
	Removed #if directives.  (Most code was already being compiled.
	Two directives were not but the code appears harmless.)
	* tests/containers/23.bitset.cpp: Same.
	* tests/localization/22.locale.synopsis.cpp: Same.
	* tests/strings/21.string.exceptions.cpp: Same.

	* examples/include/stocks.h: Removed unused code.


	2008-07-22  Travis Vitek  <vitek@roguewave.com>

	* include/type_traits [_RWSTD_NO_ALIGN_TRAITS]: Conditionally remove
	traits that deal with alignment as there is a good chance they will
	be removed from the draft.
	* include/rw/_defs.h: Define _RWSTD_NO_ALIGN_TRAITS if one or more of
	the alignment helper macros is not provided.
	* include/rw/_meta_prop.h: Stop defining _TT_ macros in workarounds.
	Add fallback for alignment_of<>. Temporarily remove msvc-8.0 workarounds.
	* include/rw/_meta_other.h: Simplify implementation of aligned_storage
	and aligned_union traits.
	* include/rw/_config-acc.h: Update comment after guard macro.
	* include/rw/_config-gcc.h: Remove _RWSTD_EXT_CXX_0X macro.
	* include/rw/_config-eccp.h: Disable a few built-in traits.
	* include/rw/_config.h: Remove _RWSTD_EXT_CXX_0X macro.
	* tests/include/rw/rw_testdefs.h: Enable strict conformance testing for
	next version of EDG C++ and G++.
	* tests/utilities/20.meta.trans.other.cpp (test_aligned_storage):
	Disable testing aligned_storage<> and aligned_union<> if compiler
	support is unavailable or disabled.
	* tests/utilities/20.meta.unary.nothrow.cpp (run_test): Move test body
	to new function.
	(test_has_nothrow_copy): Add new function. Conditionally disable tests
	for types that require rvalue-references or variadic template support.
	Conditionally disable test when compiler support is unavailable.
	* tests/utilities/20.meta.unary.cat.cpp (test_trait): Fix assert to
	display correct line number. Update warning message.
	(test_is_union): Conditionally disable test when compiler support is
	unavailable.
	* tests/utilities/20.meta.unary.prop.cpp: Conditionally disable parts
	of tests that require compiler support. Add assertsions to several of
	the test_has_trivial_* and test_has_nothrow_* tests. Expect traits
	has_trivial_assign, has_trivial_copy, has_nothrow_assign and
	has_nothrow_copy to fail for array types.
	(test_alignment_of): Add tests for alignment_of. 
	* tests/utilities/20.meta.unary.rel.cpp: Append a `t' to a few
	internal test class names.
	(test_is_base_of): Disable portion of test if required support
	is not available.


	2008-07-28  Travis Vitek  <vitek@roguewave.com>

	* tests/src/thread.cpp [__EDG__]: Disable error for use of long long
	in pthreadtypes.h system header.


	2008-07-31  Martin Sebor  <sebor@roguewave.com>

	* tests/src/thread.cpp [_RWSTD_POSIX_THREADS]: Simplified
	preprocessor conditional logic introduced in rev 680574.




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