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

	Merge r666742, r666829, r668632, r673164, r673573, r673978, r674008,
	r674023, r674069, r674236, r674441, r674550, r675269, r675315, r676077,
	r677756, r677764, r677770, r677777, r677789, r677783, r677791, r677800,
	r677810, r678003, r678239, r678483, r678619, r678905, r679241, r679246,
	r679601, r680049, r680050, r680051, r680545, r680756, r680775, r680791,
	r681102 from branches/4.2.x:


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

	STDCXX-871
	* tests/include/rw_driver.h (rw_fatal):
	* tests/include/rw_printf.h (rw_sprintfa, rw_snprintfa): Add
	link to page containing specifications for formatting directives.
	* tests/include/rw_printf.h (rw_asnprintf): Removed old list of
	formatting directives.  Added more specifications for formatting
	directives to rwtest-fmtspec page and listed undocumented (i.e.
	complicated) formatting directives in a separate section so all
	directives are at least accounted for.


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

	STDCXX-488
	* etc/config/gcc.config: Use rpath on Darwin 9 OR LATER VERSION.
	Do not use rpath on Darwin 8.


	2008-06-17  Farid Zaripov  <farid_zaripov@epam.com>

	* GNUmakefile: Add "narrow" mode to the build mode in 15d builds.


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

	STDCXX-670
	* include/ansi/setjmp.h [!setjmp]: Define function macro setjmp.


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

	STDCXX-986
	* doc/stdlibug/2-3.html (2.3.1 Input Stream Iterators): Corrected
	a typo in example code.


	2008-07-04  Farid Zaripov  <faridz@apache.com>

	* etc/config/makefile.rules: Define local shell variable
	TZ to export its value (to complete changes in rev. 561060).


	2008-07-04  Farid Zaripov  <faridz@apache.com>

	* tests/include/rw_file.h: Replaced _MSC_VER to _WIN32 in
	preprocessor directive to use correct file name on MinGW.


	2008-07-04  Farid Zaripov  <faridz@apache.com>

	* tests/src/printf.cpp (_rw_fmtfloating): Use workaround for
	MSVC on MinGW too since MinGW uses MSVC's runtime.


	2008-07-04  Farid Zaripov  <faridz@apache.com>

	* include/rw/_config-gcc.h [__MINGW32__]: Add MinGW specific defines.
	* tests/localization/22.locale.cons.mt.cpp (test_ctors): Use MSVC
	specific workarounds on MinGW too.
	* tests/localization/22.locale.time.put.cpp (rw_strftime): Ditto.
	* util/gencat.cpp [__MINGW32__] (main): Create message catalog dll's
	independent on cygwin1.dll.


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

	* include/rw/_config-gcc.h: Corrected typos in comments.
	Added comments to clearly separate sections dealing with
	individual operating environments.


	2008-07-07  Farid Zaripov  <faridz@apache.com>

	* etc/config/makefile.rules: Added comment about TZ variable.


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

	STDCXX-988
	* include/ansi/limits.h [__GNUG__]: Used #include_next twice to coax
	gcc's <limits.h> to pull in the system <limits.h> in order to #define
	POSIX and system macros.
	* tests/regress/18.c.limits.stdcxx-988.cpp: Regression test for
	STDCXX-988. Tested with gcc 4.1.2 and EDG eccp 3.9 on Fedora 8.


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

	STDCXX-550
	* tests/utilities/20.operators.cpp (test_random_access_iterators):
	Account for debug iterators on HP-UX platforms.


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

	STDCXX-550
	* tests/utilities/20.operators.cpp (test_random_access_iterator):
	Oops.  Should be `!defined' in #if directive.


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

	* src/wcodecvt.cpp (size_t): Used type throughout in place of
	the _RWSTD_SIZE_T macro which is necessary in library headers.


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

	STDCXX-494
	* include/vector (vector): Removed Allocator base class, replacing
	it (in a binary compatible way) with a new member, _C_alloc, instead.
	(_C_value_alloc_type): Removed member typedef.
	(vector): Initialized the _C_alloc member instead of allocator_type
	in all class ctors.
	(~vector, begin, end, size, max_size, empty, swap): Referenced
	_C_begin, _C_end, and _C_bufend indirectly, via the new _C_alloc
	member.
	(pop_back, push_back): Used the new _C_alloc member to destroy
	and construct elements.
	* include/vector.cc (_C_realloc, _C_destroy, _C_insert_1,
	_C_insert_n, _C_insert_range): Same as above.
	* tests/regress/23.vector.stdcxx-494: Added regression test for
	the vector part of the issue.


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

	* tests/regress/18.c.limits.stdcxx-988.cpp (main): Avoided testing
	macros for specific values to prevent failures on non-conforming
	systems.


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

	* etc/config/xfail.txt: Copied from trunk.


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

	* tests/regress/18.c.limits.stdcxx-988.cpp [HP aCC] (main): Avoided
	testing LLONG_MAX and LLONG_MIN unless 199901L <= __STDC_VERSION__
	(otherwise the macros are deliberately not defined).


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

	* test/strings/21.string.erase.cpp (test_erase): Cast actual
	function arguments to the target type to silence HP aCC 6.16
	remarks #4271-D: type conversion may lose sign.


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

	STDCXX-780
	* tests/include/rw_streambuf.h (test): Aasserted a precondition
	to silence HP aCC 6/cadvise warning #20206-D: Out of bound access.


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

	* tests/containers/23.deque.modifiers.cpp (exception_loop): Converted
	a signed int to size_type to silence HP aCC 6 remark #4271-D: type
	conversion may lose sign.


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

	STDCXX-896
	* tests/containers/23.deque.modifiers.cpp (test_insert, test_assign):
	Cast away the constness of the target type before deleting a pointer
	to work around an HP aCC 6.16 bug.


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

	* examples/manual/wctype.cpp: New example showcasing the wchar_t
	specialization of the std::ctype_byname facet along with the wide
	character classification functions, inspired by the following post
	to the Sun C++ discussion forum:
	http://forums.sun.com/thread.jspa?threadID=5315069.


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

	STDCXX-997
	* src/strtol.cpp [__SUNPRO_CC] (__rw_strtol, __rw_strtoul): Used
	#pragma no_side_effects to help Sun C++ optimizer generate better
	code (about 5% improvement was measured).
	[__SUNPRO_CC && _RWSTD_LONG_LONG] (__rw_strtoll, __rw_strtoull):
	Same.


	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-21  Martin Sebor  <sebor@roguewave.com>

	STDCXX-999
	* NOTICE.txt: Updated year of copyright.


	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-23  Martin Sebor  <sebor@roguewave.com>

	STDCXX-997
	* include/bitset [__SUNPRO_CC] (__rw_bitset, __rw_bit_count,
	__rw_shl, __rw_shr): Used #pragma no_side_effects to help the
	optimizer generate better code.


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

	* include/bitset [__SUNPRO_CC] Spelled #pragma no_side_effect
	the same as in the manual (even if the compiler seems to grok
	it both ways).


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

	STDCXX-998
	* include/rw/_defs.h [_RWSTD_ATTRIBUTE_NOTHROW] (_RWSTD_DECLARE_NOTHROW,
	_RWSTD_DEFINE_NOTHROW): Defined new helper macros to make it possible to
	declare functions with the attribute((nothrow)) when it's available and
	to use the empty exception specification to emulate the same feature
	when it isn't.
	(__rw_assert_fail): Used _RWSTD_DECLARE_NOTHROW.
	* include/rw/_config-gcc.h [gcc >= 3.3] (RWSTD_ATTRIBUTE_NOTHROW):
	Defined.


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

	STDCXX-998
	* src/assert.cpp (U_STACK_TRACE, __rw_stack_trace, printstack,
	__rw_assert_fail): Declared nothrow.


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

	STDCXX-998
	* src/strtol.h (__rw_strtol, __rw_strtoll): Declared nothrow.
	(__rw_strtoul, __rw_strtoull): Same.
	* src/strtol.cpp: Same.


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

	* include/rw/_defs.h: Use _RWSTD_DECLARE_NOTHROW macro only after
	definition of _THROWS to avoid compile errors.


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

	* include/loc/_moneypunct.h (~moneypunct): Explicitly declared
	to prevent the compiler from generating a definition (and vtable)
	in every translation unit that uses the class. Pursuant to
	STDCXX-998, made use of attribute((nothrow)) where available.
	* include/loc/_codecvt.h (~codecvt, ~codecvt_byname): Same.
	* include/loc/_collate.h (~collate, ~collate_byname): Same.
	* include/loc/_codecvt.cc (~codecvt, ~codecvt_byname): Defined.
	* include/loc/_moneypunct.cc (~moneypunct): Same.
	* include/loc/_collate.cc (~collate, ~collate_byname): Same.
	* src/collate.cpp (~collate, ~collate_byname): Same.
	* src/codecvt.cpp (~codecvt): Same.
	* src/wcodecvt.cpp (~codecvt, ~codecvt_byname): Defined.


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

	* include/loc/_messages.h (~messages, ~messages_byname): Explicitly
	declared dtors to prevent the compiler from emitting function and
	vtable definition in every translation unit that uses the class.
	* include/loc/_money_put.h (~money_put): Same.
	* include/loc/_moneypunct.h (~moneypunct_byname): Same.
	* include/loc/_numpunct.h (~numpunct_byname): Same.
	* include/loc/_time_get.h (~time_get, ~time_get_byname): Same.
	* include/loc/_time_put.h (~time_put, ~time_put_byname): Same.
	* include/loc/_money_put.cc (~money_put): Defined.
	* include/loc/_time_get.cc (~time_get, ~time_get_byname): Same.
	* include/loc/_moneypunct.cc (~moneypunct_byname): Same.
	* include/loc/_messages.cc (~messages, ~messages_byname): Same.
	* include/loc/_numpunct.cc (~numpunct_byname): Same.
	* include/loc/_time_put.cc (~time_put, ~time_put_byname): Same.


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

	* include/loc/_codecvt.h (codecvt_byname<char, char>): Added
	an explicit specialization to avoid having to explicitly
	instanting the primary template in order to emit the definition
	of (the now explicitly defined out-of-line, since rev 680756)
	virtual dtor needed in __rw::__rw_ct_codecvt().
	* src/codecvt.cpp (codecvt_byname<char, char>): Defined ctor
	and dtor.


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

	* include/rw/_defs.h (_RWSTD_ATTRIBUTE_NOTHROW): Defined as a no-op
	when the attribute isn't supported by the compiler to make the macro
	portably usable.
	(__rw_assert_fail): Inverted the order of the function attribute
	and exception specification to prevent compiler errors.



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