You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by se...@apache.org on 2007/10/16 06:06:49 UTC

svn commit: r585025 [3/4] - in /incubator/stdcxx/trunk: examples/ChangeLog include/ChangeLog src/ChangeLog tests/ChangeLog util/ChangeLog

Added: incubator/stdcxx/trunk/tests/ChangeLog
URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/ChangeLog?rev=585025&view=auto
==============================================================================
--- incubator/stdcxx/trunk/tests/ChangeLog (added)
+++ incubator/stdcxx/trunk/tests/ChangeLog Mon Oct 15 21:06:47 2007
@@ -0,0 +1,5360 @@
+2007-10-15  Martin Sebor  <se...@roguewave.com>
+
+	* 21.string.io.stdcxx-206.cpp: Added a license header.
+
+2007-10-15 Farid Zaripov <fa...@epam.com>
+
+	* 21.string.io.stdcxx-206.cpp: Perform testing with zero
+	and non-zero padding. Perform checking according to
+	_RWSTD_NO_EXT_KEEP_WIDTH_ON_FAILUDE macro definition.
+
+2007-10-14  Martin Sebor  <se...@roguewave.com>
+
+	* 26.valarray.sub.stdcxx-224.cpp: Added regression test for STDCXX-224.
+
+2007-10-10  Martin Sebor  <se...@roguewave.com>
+
+	* 21.string.io.stdcxx-206.cpp: Regression test for STDCXX-206.
+
+2007-10-10  Martin Sebor  <se...@roguewave.com>
+
+	* 26.valarray.members.stdcxx-313.cpp: Regression test for STDCXX-313.
+
+2007-10-10  Martin Sebor  <se...@roguewave.com>
+
+	* 26.valarray.unary.stdcxx-314.cpp: Regression test for STDCXX-314.
+
+2007-10-10  Martin Sebor  <se...@roguewave.com>
+
+	* 26.valarray.members.stdcxx-318.cpp: Regression test for STCDCXX-318.
+
+2007-10-10 Travis Vitek <vi...@roguewave.com>
+
+	STDCXX-582
+	* 0.printf.cpp (test_errno): Deallocate memory allocated
+	automatically by rw_snprintfa().
+
+2007-10-04 Farid Zaripov <fa...@epam.com>
+
+	STDCXX-575
+	* 22.locale.cons.mt.cpp [_MSC_VER] (test_ctors): If
+	cat == std::locale::messages, compare combined locale
+	with first because of the MSVC doesn't support
+	LC_MESSAGES constant.
+
+2007-10-04 Farid Zaripov <fa...@epam.com>
+
+	* 27.stringbuf.xsputn.stdcxx-576.cpp: Regression test for STDCXX-576 issue.
+
+2007-10-03 Farid Zaripov <fa...@epam.com>
+
+	* 22.locale.moneypunct.cpp (convert): Save the name of the
+	original locale using std::string object. Use return instead
+	of break to avoid restoring the original locale twice.
+
+2007-10-03 Farid Zaripov <fa...@epam.com>
+
+	* 23.vector.bool.stdcxx-235.cpp (main): Corrected the
+	lines which are testing the operator!=.
+
+2007-09-26 Travis Vitek <vi...@roguewave.com>
+
+	STDCXX-571
+	* 22.locale.numpunct.mt.cpp (run_test): Use C++ locale to
+	generate test data. This is to avoid any incompatibilities
+	between C and C++ locales.
+	(thread_func): Updated to use changed test data types.
+	(main): add support for command line options nlocales and
+	shared-locale for consistency with other multithreaded locale
+	tests.
+
+2007-09-26  Farid Zaripov  <fa...@epam.com>
+
+	* 22.locale.moneypunct.mt.cpp (thread_loop_body): Corrected char type to wchar_t.
+
+2007-09-26  Farid Zaripov  <fa...@epam.com>
+
+	* 22.locale.money.get.cpp (set_pattern): New function to translate
+	test format to money_base::pattern.
+	(do_test): If fmat is not null set pattern using set_pattern().
+	(test_get): Test patterns replaced to human-readable form.
+
+2007-09-25  Martin Sebor  <se...@roguewave.com>
+
+	* 26.valarray.transcend.stdcxx-315.cpp: Added regression test
+	for STDCXX-315.
+
+2007-09-25  Martin Sebor  <se...@roguewave.com>
+
+	* 26.valarray.sub.stdcxx-309.cpp: Added regression test for STCXX-309.
+
+2007-09-25  Martin Sebor  <se...@roguewave.com>
+
+	* 26.valarray.binary.stdcxx-237.cpp: Added regression test for STCXX-237.
+
+2007-09-22  Martin Sebor  <se...@roguewave.com>
+
+	* 23.list.insert.cpp (InsertRange, InsertRangeOverload): Removed
+	an unused local vaiable to silence a gcc warning: unused variable.
+	(InsertRangePtrOverload): Removed const qualification from a const
+	cast to silence Intel C++ warning warning #191: type qualifier is
+	meaningless on cast type.
+
+2007-09-22  Martin Sebor  <se...@roguewave.com>
+
+	* 23.list.assign.cpp (AssignRangePtrOverload): Removed a pointless
+	const qualification from a cast to silence Intel C++ warning #191:
+	type qualifier is meaningless on cast type.
+	(AssignRangeOverload): Constified a local variable.
+
+2007-09-20  Martin Sebor  <se...@roguewave.com>
+
+	* 0.printf.cpp (__PURE_CNAME): Undefined Compaq (now HP) C++ macro
+	to bring in ENOMEM from <errno.h> otherwise guarded (and undefined)
+	by the compiler's strict implementation of the C++ libc headers in
+	response to the -std strict_ansi_errors command line option.
+	* 0.process: Ditto for ENOENT, ECHILD, and ESRCH.
+	* 18.limits.stdcxx-436.cpp: Same for popen().
+
+2007-09-19 Farid Zaripov <Fa...@epam.com>
+
+	* 20.temp.buffer.cpp (run_test): Define constant MAX_SIZE = INT_MAX
+	for MSVC and ICC/Windows and MAX_SIZE = _RWSTD_PTRDIFF_MAX for other
+	platforms.
+
+2007-09-18  Martin Sebor  <se...@roguewave.com>
+
+	* 21.string.cons.cpp (test_cons): Used argument of the appropriate
+	type to silence HP aCC pedantic Warning (suggestion) 887: Type 'int'
+	is smaller than type 'unsigned long', unwanted widening in value may
+	result.
+
+2007-09-18 Farid Zaripov <Fa...@epam.com>
+
+	* rw_streambuf.h: Removed 'Unknown' enum member as unused and
+	conflicting with Windows API enumerator.
+
+2007-09-18 Farid Zaripov <Fa...@epam.com>
+
+	* 20.temp.buffer.cpp (run_test): Use _RWSTD_LONG_MAX instead
+	of _RWSTD_PTRDIFF_MAX because BigStruct parametrized by
+	unsigned long type and sizeof (_RWSTD_PTRDIFF_T) can be
+	greater that sizeof (unsigned long).
+
+2007-09-18 Farid Zaripov <Fa...@epam.com>
+
+	* 22.locale.stdcxx-554.cpp: Removed dependency on rwtest library.
+
+2007-09-17  Travis Vitek  <vi...@roguewave.com>
+
+	* 18.limits.stdcxx-436.cpp: Regression test exercising STDCXX-436.
+
+2007-09-14 Farid Zaripov <Fa...@epam.com>
+
+	* 22.locale.messages.cpp: Removed unnecessary #includes.
+	* 22.locale.messages.mt.cpp: Ditto.
+	Removed generate_catalog() function.
+	Used rw_create_catalog() istead of generate_catalog().
+
+2007-09-14 Farid Zaripov <Fa...@epam.com>
+
+	* 22.locale.stdcxx-554.cpp: Added a regression test for STDCXX-554.
+
+2007-03-14  Farid Zaripov  <Fa...@epam.com>
+
+	* 23.associative.stdcxx-16.cpp: Added Farid's regression test
+	for STDCXX-16.
+
+2007-09-12  Travis Vitek  <vi...@roguewave.com>
+
+	* 24.operations.stdcxx-234.cpp: change to get regression
+	test to correctly compile on gcc and msvc.
+
+2007-09-06 Farid Zaripov <Fa...@epam.com>
+
+	* 22.locale.messages.stdcxx-508_542.cpp: File renamed ...
+	* 22.locale.messages.stdcxx-542.cpp: ... to this.
+
+2007-09-06  Martin Sebor  <se...@roguewave.com>
+
+	* 24.operations.stdcxx-234.cpp: Added a regression test for STDCXX-234.
+
+2007-08-30  Travis Vitek  <vi...@roguewave.com>
+
+	STDCXX-532
+	* 22.locale.codecvt.mt.cpp: New test exercising the thread safety
+	of the std::codecvt facet.
+
+2008-08-31  Travis Vitek  <vi...@roguewave.com>
+
+	STDCXX-531
+	* 22.locale.messages.mt.cpp: New test exercising the thread safety
+	of the std::messages facet.
+
+2007-08-28  Travis Vitek  <vi...@roguewave.com>
+
+	STDCXX-413
+	* 22.locale.money.get (do_test): move intl param to front of param
+	list to avoid modifying many lines of code unnecessarily.
+	(test_get): update to support testing international money format,
+	add overload to test both local and international money formats.
+
+2007-09-05 Farid Zaripov <Fa...@epam.com>
+
+	* 22.locale.messages.stdcxx-508_542.cpp: New regression test
+	for STDCXX-508 and STDCXX-542 issues.
+
+2007-09-05 Farid Zaripov <Fa...@epam.com>
+
+	* 22.locale.messages.cpp: Removed generate_catalog() function.
+	Used rw_create_catalog() istead of generate_catalog().
+
+2007-09-05 Farid Zaripov <Fa...@epam.com>
+
+	* rw_locale.h (rw_create_catalog): New function to generate message catalog.
+	* locale.cpp (rw_create_catalog): Ditto.
+
+2007-09-4  Travis Vitek  <vi...@roguewave.com>
+
+	STDCXX-511
+	* 22.locale.numpunct.mt.cpp (run_test): Fatal assert if unable to
+	create at least one locale.
+	22.locale.ctype.mt.cpp (run_test): Ditto.
+
+2007-08-28  Travis Vitek  <vi...@roguewave.com>
+
+	STDCXX-528
+	* 22.locale.money.get.mt.cpp: New test exercising the thread safety
+	of the std::money_get facet. 
+
+2007-09-04 Farid Zaripov <Fa...@epam.com>
+
+	* 22.locale.messages.cpp (test_open_close) [_WIN32]: Don't test file
+	descriptor leaking because the catalog functions not uses files on Win32.
+	(stress_test) [_WIN32]: Removed appending ".dll" because it will be
+	appended by Windows by default.
+
+2007-09-04 Farid Zaripov <Fa...@epam.com>
+
+	* 22.locale.messages.cpp (test_get): Corrected condition in "for" loop
+	to test all messages.
+
+2007-08-29  Martin Sebor  <se...@roguewave.com>
+
+	* 27.filebuf.virtuals.stdcxx-522.cpp: Add the real regression
+	test for STDCXX-522 (not a symlink to it committed in r570898).
+
+2007-08-29  Martin Sebor  <se...@roguewave.com>
+
+	* 27.filebuf.virtuals.stdcxx-522.cpp: Deleted a symlink.
+
+2007-08-29  Martin Sebor  <se...@roguewave.com>
+
+	* 27.filebuf.virtuals.stdcxx-522.cpp: Regression test for STDCXX-522.
+
+2007-08-28  Martin Sebor  <se...@roguewave.com>
+
+	* 20.specialized.stdcxx-390.cpp: Regression test for STDCXX-390.
+
+2007-08-28 Farid Zaripov <Fa...@epam.com>
+
+	STDCXX-515
+	* 27.stringbuf.xsputn.stdcxx-515.cpp: New regression test for STDCXX-515.
+
+2007-08-28  Travis Vitek  <vi...@roguewave.com>
+
+	* 22.locale.time.get.mt.cpp: New test exercising the thread safety
+	of the std::time_get facet. When compiled against the latest trunk
+	the test crashes due to what's most likely a library bug that still
+	remains to be analyzed.
+
+2007-08-26  Martin Sebor  <se...@roguewave.com>
+
+	* 23.vector.bool.stdcxx-235.cpp: Regression test for STDCXX-235.
+
+2007-08-25  Martin Sebor  <se...@roguewave.com>
+
+	* 21.string.stdcxx-162.cpp: Added a regression test for STDCXX-162.
+
+2007-08-25  Travis Vitek  <vi...@roguewave.com>
+
+	STDCXX-530
+	* 22.locale.num.get.mt.cpp: New test exercising the thread safety
+	of the std::num_get facet.
+
+2007-08-24  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-475
+	* 18.exception.cpp (induce_exception): Moved local classes
+	to namespace scope to work around an Intel C++ 10.0 ICE on
+	Linux.
+
+2007-08-22 Farid Zaripov <Fa...@epam.com>
+
+	* 21.cwchar.cpp (test_functions) [_MSC_VER]: Prevent invalid parameter
+	validation error by setting size to 1.
+
+2007-08-21 Farid Zaripov <Fa...@epam.com>
+
+	* 0.char.cpp (test_rw_widen): Added missing parameter in rw_assert().
+	(test_rw_narrow): The same.
+
+2007-08-17  Martin Sebor  <se...@roguewave.com>
+
+	* testdefs.h [Intel C++ 10.0 and prior]: Disabled warning #279:
+	controlling expression is constant issued for the commonly used
+	statement RW_ASSERT(!"not implemented"). Works around Intel C++
+	bug described in STDCXX-487.
+
+2007-08-16  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.statics.mt.cpp: New test exercising the thread safety
+	of [lib.locale.statics].
+
+2007-08-15  Martin Sebor  <se...@roguewave.com>
+
+	* src/locale.cpp (rw_locales): Fixed up bad formatting introduced
+	in r565991.
+	* 22.locale.money.put.mt.cpp (thread_func): Ditto.
+	* 22.locale.num.put.mt.cpp (put_data): Fixed up indentation and
+	formatting. Renamed template parameter for consistency. Added
+	a missing template argument.
+	(thread_func, run_test): Fixed up formatting.
+
+2007-08-14  Travis Vitek  <vi...@roguewave.com>
+
+	* rw_locale.h (rw_locales): Added new parameter to indicate the
+	"C" locale should appear at the front of returned locale list.
+	* locale.cpp (rw_locales): Added support for new parameter.
+	* testdefs.h: Added convenience macro RW_COUNT_OF that can beused
+	to get the number of elements in an array.
+	* 22.locale.money.put.mt.cpp (MyIos, MyStreambuf, MyMoneyData):
+	Added structures to simplify testing.
+	(run_test): Build a table of in/outptus for verification in test
+	threads.
+	(thread_func): Assert the data written matches expected.
+	(main): Add support for --nlocales and --shared-locale command
+	line arguments
+	* 22.locale.num.put.mt.cpp (MyIos, MyStreambuf, MyNumData): Added
+	structures to simplify testing.
+	(run_test): Build a table of in/outptus for verification in test
+	threads.
+	(thread_func): Assert the data written matches expected.
+	(main): Add support for --nlocales and --shared-locale command
+	line arguments
+	* 22.locale.time.put.mt.cpp (run_test, thread_func): Use macro
+	RW_COUNT_OF. Remove "C" locale fallback. Eliminate unnecessary
+	rdbuf() calls.
+
+2007-08-14  Martin Sebor  <se...@roguewave.com>
+
+	* 18.csetjmp.cpp: New test exercising [support.runtime], header
+	<csetjmp>, including STDCXX-513.
+	* 18.setjmp.cpp: New test exercising [support.runtime], (deprecated)
+	header <setjmp.h>.
+
+2007-08-13 Farid Zaripov <Fa...@epam.com>
+
+	* char.cpp (rw_widen): Don't write after end of dst.
+
+2007-08-13 Farid Zaripov <Fa...@epam.com>
+
+	* char.cpp (rw_widen): Don't write after end of dst.
+
+2007-08-12  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.time.put.mt.cpp (thread_func): Fixed up formatting and
+	used '\0' and L'\0' in place of char() and wchar_t() for simplicity.
+	(run_test): Same. Moved code that can't throw outside a try block.
+	Printed out the number of locales in addition to their names.
+
+2007-08-10  Travis Vitek    <vi...@roguewave.com>
+
+	* 22.locale.time.put.mt.cpp (MyIos, MyStreambuf, MyTimeData): Added
+	structures to simplify testing.
+	(run_test): Build table of in/outputs for verification in test threads.
+	(thread_func): Assert that data written matches expected.
+	(main): Add command line options for specifying number of locales,
+	locale names, and locale usage.
+
+2007-08-12 Farid Zaripov <Fa...@epam.com>
+
+	* 21.cwchar.cpp: Define long long overloads of get_type_name()
+	(fixes compilation problem on MSVC-x64).
+
+2007-08-09 Farid Zaripov <Fa...@epam.com>
+
+	* 27.stringbuf.str.stdcxx-514.cpp: New regression test from STDCXX-514 issue.
+
+2007-08-08  Martin Sebor  <se...@roguewave.com>
+
+	* 18.limits.cvqual.cpp (test_limits): Exercised quiet NAN.
+
+2007-08-07  Martin Sebor  <se...@roguewave.com>
+
+	* 23.vector.allocator.cpp: New test exercising the ability of vector
+	to be instantiated on a user-defined Allocator with a user-defined
+	pointer type.
+
+2007-08-06  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-510
+	* locale.cpp (rw_opt_setlocales): Added option help.
+
+2007-07-31 Farid Zaripov <Fa...@epam.com>
+
+	* 22.locale.messages.cpp (test_open_close): Use default locale if loc_name==0.
+	(test_get): The same.
+
+2007-07-30 Farid Zaripov <Fa...@epam.com>
+
+	* locale.cpp (rw_locales): On error return "C\0" instead of 0.
+	[_MSC_VER]: Use _free_dbg() instead of free().
+
+2007-07-29 Farid Zaripov <Fa...@epam.com>
+
+	* thread.cpp [_WIN32]: Use _beginthreadex() only if _MT defined.
+
+2007-07-26 Farid Zaripov <Fa...@epam.com>
+
+	* thread.cpp (rw_thread_create) [_WIN32]: Use _beginthreadex() instead of CreateThread().
+
+2007-07-25  Martin Sebor  <se...@roguewave.com>
+
+	* 26.valarray.cassign.cpp: New test exercising [lib.valarray.cassign],
+	valarray computed assignment operators.
+
+2007-07-25 Farid Zaripov <Fa...@epam.com>
+
+	* 21.string.stdcxx-466.cpp: Corrected tests for find_first_not_of() and find_last_not_of().
+	* 21.string.find.first.not.of.cpp: Test updated to reflect changes from r559037.
+	* 21.string.find.first.of.cpp: Ditto.
+	* 21.string.find.last.not.of.cpp: Ditto.
+	* 21.string.find.last.of.cpp: Ditto.
+
+2007-07-25 Farid Zaripov <Fa...@epam.com>
+
+	* 22.locale.cons.stdcxx-485.cpp: Moved to tests/regress directory.
+	* 21.string.replace.stdcxx-175.cpp: Ditto.
+	* 21.string.stdcxx-466.cpp: Ditto.
+
+2007-07-24 Farid Zaripov <Fa...@epam.com>
+
+	* 21.string.stdcxx-466.cpp: Corrected file name in file header.
+	* 21.string.replace.stdcxx-175.cpp: New regression test for STDCXX-175.
+
+2007-07-24 Farid Zaripov <Fa...@epam.com>
+
+	* 21.string.rfind.stdcxx-466.cpp: Added testing of find(), find_first_of(),
+	find_last_of(), find_first_not_of(), find_last_not_of(), compare() methods.
+	File renamed ...
+	* 21.string.stdcxx-466.cpp: ... to this.
+
+2007-07-23  Martin Sebor  <se...@roguewave.com>
+
+	* process.cpp (__PURE_CNAME): Removed Compaq C++ preprocessor guard.
+	* thread.cpp (__PURE_CNAME): Removed an #undef (done in <testdefs.h>
+	in r558120).
+
+2007-07-23 Farid Zaripov <Fa...@epam.com>
+
+	* 27.istream.manip.cpp (test_ws): ws() shouldn't affect the gcount() value;
+	if initial state is not good, the result state should be state | failbit.
+
+2007-07-23 Farid Zaripov <Fa...@epam.com>
+
+	* 21.string.rfind.stdcxx-466.cpp: New regression test for STDCXX-466.
+
+2007-07-20  Martin Sebor  <se...@roguewave.com>
+
+	* testdefs.h (__PURE_CNAME): Undefined the Compaq C++ macro #defined
+	in response to the -std strict_ansi_errors compiler option in order
+	to allow C++ extensions (such POSIX names) to be declared by C++ libc
+	headers when building the test driver.
+
+2007-07-19 Farid Zaripov <Fa...@epam.com>
+
+	* 27.istream.unformatted.get.cpp: Update test according to changes in r423404.
+
+2007-07-19 Farid Zaripov <Fa...@epam.com>
+
+	* rw_streambuf.h (MyStreambuf): Init throw_when_ array using when parameter.
+
+2007-07-19  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.ctype.mt.cpp: New test exercising the thread safety
+	of the member functions narrow() and widen() of the two required
+	specializations of the ctype facet.
+
+2007-07-19 Farid Zaripov <Fa...@epam.com>
+
+	* 0.new.cpp: Removed handling of the SIGSEGV signal.
+	Skip all tests if _RWSTD_NO_REPLACEABLE_NEW_DELETE macro #defined.
+
+2007-07-19  Martin Sebor  <se...@roguewave.com>
+
+	* rw_locale.h (rw_get_wchars): Declared a new function to find
+	a set of (valid or invalid) wide characters in the current locale.
+	* locale.cpp (rw_get_wchars): Defined.
+
+2007-07-19  Martin Sebor  <se...@roguewave.com>
+
+	* rw_locale.h: Added comments, commented out function formal
+	arguments.
+
+2007-07-18  Martin Sebor  <se...@roguewave.com>
+
+	* locale.cpp (<rw_printf.h>, <errno.h>): Removed #include directives.
+	(PATH_MAX): Redefined to 1024 when it's too small or excessively big.
+	(<driver.h>): #included for rw_note() and rw_warn().
+	(rw_locale): Used the BINDIR macro instead of hardcoding its value.
+	(rw_localedef): Same. Also replaced fprintf() with rw_error().
+	(rw_locale_root): Used PATH_MAX as index instead of hardcoding
+	an arbitrary value.
+	(rw_set_locale_root): Same. Replaced rw_fprintf() and perror() with
+	rw_note() and rw_error(), respectively.
+	(rw_get_mb_chars, rw_find_mb_locale): Replaced rw_fprintf() with
+	rw_note() or_rw_warn(), whichever was appropriate, and a hardcoded
+	arbitrary value with PATH_MAX.
+	(rw_create_locale): Replaced a hardcoded arbitrary value with PATH_MAX
+	and fprintf() with rw_error().
+
+2007-07-18  Martin Sebor  <se...@roguewave.com>
+
+	* printf.cpp (rw_sprintf): Copied the entire string including
+	the terminating NUL to the destination buffer.
+
+2007-07-18  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.globals.mt.cpp (test_has_facet): Exercised has_facet
+	specializations on _byname facets only when not disabled on the
+	command line.
+	Added comments throughout.
+
+2007-07-17  Martin Sebor  <se...@roguewave.com>
+
+	* 0.printf.cpp (TEST_SPEC): Removed the const quialifier from
+	a local variable declaration to silence the pesky Intel C++
+	warning #279: controlling expression is constant.
+
+2007-07-17  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.cons.stdcxx-485.cpp: Called rw_locales() to obtain
+	the set of installed locales to use. Introduced a dependency on
+	rw_test() required in order to be able to call rw_locales().
+
+2007-07-17  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.cons.stdcxx-485.cpp: New regression test for STDCXX-485.
+
+2007-07-13 Farid Zaripov <Fa...@epam.com>
+
+	* fmt_bits.cpp (_rw_fmtlasterror): Cast pmsg to const char* to avoid MSVC error.
+
+2007-07-12  Martin Sebor  <se...@roguewave.com>
+
+	* fmt_defs.h (_rw_fmtlasterror): Declared new function to format
+	Windows GetLastError() messages. 
+	* fmt_bits.cpp (_rw_fmtlasterror): Defined.
+	* printf.cpp (_rw_vasnprintf_ext): Called _rw_fmtlasterror() to process
+	the %{E} directive. Set spec.param.int_ to the argument value in the
+	the %{m} directive handler to allow it to be referenced in subsequent
+	paramno directives.
+
+2007-07-12  Martin Sebor  <se...@roguewave.com>
+
+	* 0.printf.cpp (test_errno): Exercised %{m} and %{*m} with errno of 0.
+
+2007-07-11 Farid Zaripov <Fa...@epam.com>
+
+	* ctype.cpp (do_narrow): Return ch instead of dfault if conversion table not defined.
+
+2007-07-10  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.globals.mt.cpp (opt_facets, opt_no_exceptions): Flags
+	flags for the new command line options --enable/disable-<facet>
+	and --no-exceptions.
+	(test_has_facet, test_use_facet): Disabled/enabbled tests of
+	individual facets in response to command line options.
+	(run_test): When a facet is explicitly enabled using a command
+	line option disabled all the rest that weren't also explicitly
+	enabled.
+	(main): Added command line options and "handlers."
+
+2007-07-10  Martin Sebor  <se...@roguewave.com>
+
+	* thread.cpp (rw_get_cpus): Used _SC_NPROCESSORS_ONLN when #defined.
+
+2007-07-10  Martin Sebor  <se...@roguewave.com>
+
+	* thread.cpp (rw_get_cpus): Used sysconf() to try to determine
+	the number of processors programmatically for efficiency before
+	invoking a shell script to read system files.
+
+2007-07-09  Martin Sebor  <se...@roguewave.com>
+
+	* atomic_xchg.cpp (run_test): Documented algorithm used to compute
+	the expected value of the shared variable manipulated by threads.
+
+2007-07-08  Martin Sebor  <se...@roguewave.com>
+
+	* driver.cpp [Linux] (UTS_RELEASE): Removed conditionally-defined
+	helper macro in favor of _RWSTD_LINUX_RELEASE.
+	(__x86_64__): Moved check above __amd64__ and other x86 arches
+	whose macros are always defined (e.g., __pentiumpro__).
+
+2007-07-08  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-395
+	* etc/config/src/LIMITS.cpp (_RWSTD_WCHAR_T_MAX, _RWSTD_WCHAR_T_MIN,
+	_RWSTD_WCHAR_T_SIZE): Renamed to _RWSTD_WCHAR_MAX, _RWSTD_WCHAR_MIN,
+	and _RWSTD_WCHAR_SIZE, respectively, for consistency with the libc
+	macros.
+	* tests/src/locale.cpp: Same.
+	* tests/src/char.cpp: Same.
+	* tests/src/printf.cpp: Same.
+	* tests/localization/22.locale.codecvt.out.cpp: Same.
+	* tests/self/0.printf.cpp: Same.
+	* include/limits: Same.
+	* include/tr1/cstdint: Same.
+	* include/ansi/_cwchar.h: Same.
+	* src/wctype.cpp: Same.
+	* src/wcodecvt.cpp: Same.
+	* util/ctype.cpp: Same.
+	* util/charmap.cpp: Same.
+
+2007-07-06 Farid Zaripov <Fa...@epam.com>
+
+	* 27.stringbuf.virtuals.cpp: #define EOF as unique value;
+	(test_virtual): Assign arg0 and ret_expect to Traits::eof() if EOF passed.
+
+2007-07-05 Farid Zaripov <Fa...@epam.com>
+
+	* 0.new.cpp: Catch SIGSEGV signal as SIGABRT.
+
+2007-07-05 Farid Zaripov <Fa...@epam.com>
+
+	* 27.ostream.cpp (test_formatted): Don't check os.width(0) if
+	_RWSTD_NO_EXT_KEEP_WIDTH_ON_FAILURE defined.
+
+2007-07-04  Martin Sebor  <se...@roguewave.com>
+
+	* 27.ostream.cpp (test_flush): Added a comment documenting
+	the test for LWG issue 581.
+
+2007-07-03 Farid Zaripov <Fa...@epam.com>
+
+	* 21.string.access.cpp (test_access): Avoid use rw_match() for
+	comparing the single characters.
+	* 21.string.copy.cpp (test_copy): Ditto.
+
+2007-06-29  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.globals.mt.cpp (<cwchar>): #included for mbstate_t.
+
+2007-06-28  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.cons.mt.cpp: New test exercising the thread safety
+	of locale ctors.
+	* 22.locale.globals.mt.cpp: New test exercising the thread safety
+	of therequired specializations of the std::has_facet and
+	std::use_facet function templates.
+
+2007-06-28  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.num.put.cpp (inf_nan_test): New function template
+	to exercise the formatting of infinities and, when enabled,
+	(quiet) NaNs, including STDCXX-461.
+
+2007-06-28  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.moneypunct.mt.cpp [_REENTRANT] (main): Set the number
+	of nthreads to the greater of the number of processors and 2 (for
+	uniprocessor systems) by default.
+	* 22.locale.money.put.mt.cpp: Same.
+	* 22.locale.numpunct.mt.cpp: Same.
+	* 22.locale.num.put.mt.cpp: Same.
+	* 22.locale.time.put.mt.cpp: Same.
+
+2007-06-28  Martin Sebor  <se...@roguewave.com>
+
+	* thread.cpp [Linux] (rw_get_cpus): Avoided invoking system utilities
+	such as cat and grep using absolute pathnames since they are installed
+	in different directories on different distributions of Linux (e.g.,
+	grep is in /bin on Red Hat Linux but in /usr/bin on SuSE).
+
+2007-06-27  Martin Sebor  <se...@roguewave.com>
+
+	* rw_locale.h (rw_opt_locales): New constant pointing to a
+	NUL-separated list of locale names specified by the --locales
+	command line option (set by the rw_opt_setlocales handler).
+	(rw_opt_setlocales): Callback function invoked in response to
+	the --locales=<locale-list> command line option to set the
+	rw_opt_locales global variable to a NUL-separated list of
+	locale names to exercise.
+	* locale.cpp (<cstdio>): Avoided #including C++ header (the C
+	header is sufficient and preferable).
+	(rw_create_locale): Removed std:: qualification from C library
+	names.
+	(_rw_locale_names): Static global helper.
+	(rw_opt_locales): Defined and initialized to refer to the above.
+	(rw_opt_setlocale): Defined.
+	* 22.locale.moneypunct.mt.cpp (run_test): Used rw_opt_locales.
+	(rw_opt_setlocales): Removed definition.
+	* 22.locale.time.put.mt.cpp (rw_opt_nthreads): Initialzed to 1,
+	and overwrote in main() with the result of rw_get_cpus() when
+	thread safety is being exercised.
+	(run_test): Used rw_opt_locales.
+	(main): Used rw_opt_setlocales to handle the --locales option.
+	* 22.locale.num.put.mt.cpp: Same.
+	* 22.locale.numpunct.mt.cpp: Same.
+	* 22.locale.money.put.mt.cpp: Same.
+
+2007-06-27  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.moneypunct.mt.cpp: Rewrote so as not to rely on localeconv
+	but retrieve the "master" data from the C++ locale instead instead.
+	(thread_loop_body): Factored out the body of thread_func here.
+	(get_format): Removed.
+	(rw_opt_nloops): Reduced from 2000000 to 10000 and set to the number
+	of tested locales in non-reentrant configurations to speed things up.
+	(rw_opt_setlocales): Callback function to process --locales option.
+	(main): Set rw_opt_nthreads to rw_get_cpus() in thread-safe configs.
+	(--locale=<arg>): New command line option to specify the names of
+	locales to test.
+
+2007-06-27  Martin Sebor  <se...@roguewave.com>
+
+	* locale.cpp [Solaris] (rw_locales): Avoided all locale names
+	starting with "iso_8859_" and the name "common" on SunOS, not
+	just iso_8859_1. They're all known to cause setlocale() to
+	fail.
+
+2007-06-27 Farid Zaripov <Fa...@epam.com>
+
+	* thread.cpp (rw_get_cpus) [_WIN32]: Added Windows version of the function.
+
+2007-06-26  Martin Sebor  <se...@roguewave.com>
+
+	* rw_thread.h (rw_get_cpus): New function to determine the number
+	of processors on the system.
+	* thread.cpp (rw_get_cpus): Defined it.
+	(rw_thread_pool): Called rw_get_cpus() to set nthreads when the
+	argument is equal to SIZE_MAX.
+
+2007-06-26 Farid Zaripov <Fa...@epam.com>
+
+	* 22.locale.ctype.is.cpp: Added svn:eol-style=native property.
+	* 22.locale.ctype.narrow.cpp: Ditto.
+	* 22.locale.ctype.scan.cpp Ditto.
+	* 22.locale.ctype.tolower.cpp Ditto.
+	* 22.locale.ctype.toupper.cpp Ditto.
+	* 22.locale.money.put.mt.cpp Ditto.
+	* 22.locale.moneypunct.cpp Ditto.
+	* 22.locale.moneypunct.mt.cpp Ditto.
+	* 22.locale.num.put.mt.cpp Ditto.
+	* 22.locale.numpunct.mt.cpp Ditto.
+	* 22.locale.time.put.mt.cpp Ditto.
+
+2007-06-26 Farid Zaripov <Fa...@epam.com>
+
+	* 22.locale.money.put.mt.cpp: Added Ios::ios() invoking ios_base::init(0).
+	* 22.locale.num.put.mt.cpp: The same.
+	* 22.locale.time.put.mt.cpp: The same.
+
+2007-06-25 Farid Zaripov <Fa...@epam.com>
+
+	* 22.locale.ctype.is.cpp: Check the pointer before dereferencing of it.
+	* 22.locale.ctype.narrow.cpp: Ditto.
+	* 22.locale.ctype.scan.cpp: Ditto.
+	* 22.locale.ctype.tolower.cpp: Ditto.
+	* 22.locale.ctype.toupper.cpp: Ditto.
+
+2007-06-23  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-457
+	* 2.smartptr.shared.cpp: Updated license statement.
+	* 2.smartptr.weak.cpp: Same.
+	* 27.objects.cpp: Same.
+	* rw_alarm.h: Same.
+	* rw_printf.h: Same.
+	* environ.h: Same.
+	* valcmp.h: Same.
+	* cmdopt.h: Same.
+	* opt_lines.h: Same.
+	* opt_diags.cpp: Same.
+	* opt_types.h: Same.
+	* opt_lines.cpp: Same.
+	* opt_diags.h: Same.
+	* opt_types.cpp: Same.
+	* any.cpp: Same.
+	* 21.cctype.cpp: Same.
+	* 21.string.access.cpp: Same.
+	* 0.new.cpp: Same.
+	* 23.deque.iterators.cpp: Same.
+	* 19.cerrno.cpp: Same.
+
+2007-06-21  Farid Zaripov  <Fa...@epam.com>
+
+	* 18.exception.cpp (RW_SETJMP, RW_LONGJMP): Corrected logic errors
+	introduced in r548112 and used setjmp() and longjmp() as opposed to
+	sigsetjmp() and siglongjmp() except on Linux.
+
+2007-06-19  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.numpunct.mt.cpp (<ios>): Removed #include directive.
+	(run_test): Set LC_ALL rather than just LC_NUMERIC in order to
+	get reliable results from mbstowcs().
+
+2007-06-19  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.moneypunct.mt.cpp: New test exercising the thread safety
+	of all four required specializations of the std::moneypunct facet.
+
+2007-06-19  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.numpunct.mt.cpp: New test exercising the thread safety
+	of the numpunct facet.
+
+2007-06-18  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.money.put.mt.cpp: New test exercising the thread safety
+	of the money_put facet (including moneypunct).
+
+2007-06-18  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.num.put.mt.cpp: New test exercising the thread safety
+	of the required specializations of the num_put facet (including
+	numpunct).
+
+2007-06-18  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 22.locale.time.put.mt.cpp: Test exercising the thread safety
+	of the required specializations of the std::time_put facet.
+
+2007-06-18  Martin Sebor  <se...@roguewave.com>
+
+	* 26.valarray.sub.stdcxx-448.cpp: Regression test for STDCXX-448.
+
+2007-06-17  Scott Zhong  <sc...@roguewave.com>
+
+	* 22.locale.ctype.is.cpp: Test exercising ctype::is()
+	* 22.locale.ctype.narrow.cpp: Test exercising ctype::narrow().
+	* 22.locale.ctype.scan.cpp: Test exercising the ctype::scan_xxx()
+	family of functions.
+	* 22.locale.ctype.tolower.cpp: Test exercising ctype::tolower().
+	* 22.locale.ctype.toupper.cpp: Test exercising ctype::toupper().
+
+2007-06-17  Scott Zhong  <sc...@roguewave.com>
+	    Martin Sebor <se...@roguewave.com>
+
+	* rw_locale.h (rw_create_locale): New helper function to invoke
+	the stdcxx localedef utility to create a stdcxx locale.
+	* locale.cpp ((rw_create_locale): Defined.
+
+2007-06-17  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.codecvt.out.cpp (mb_char_array_t, get_mb_char,
+	find_mb_locale): Removed/replaced...
+	(rw_mbchar_array_t, rw_find_mb_locale): ...with these replacement
+	type and functions defined in the test driver.
+
+2007-06-17  Martin Sebor  <se...@roguewave.com>
+
+	* rw_locale.h (rw_mbchar_array_t, rw_get_mb_chars, rw_find_mb_locale):
+	New type and helper functions to retrieve locales that use multibyte
+	encodings (where MB_CUR_MAX > 1).
+
+2007-06-17  Martin Sebor  <se...@roguewave.com>
+
+	* 21.string.push_back.mt.cpp [!_RWSTD_REENTRANT](rw_opt_nthreads): Set
+	to 1 in "single-threaded" builds.
+	(thread_func, run_test): Removed gratuitous output.
+	(run_test): Added rw_error() calls checking the successful creation
+	of thread pools.
+
+2007-06-17  Martin Sebor  <se...@roguewave.com>
+
+	* 21.string.cons.mt.cpp [!_RWSTD_REENTRANT](rw_opt_nthreads): Set
+	to 1 in "single-threaded" builds.
+	(run_test): Added rw_error() calls checking the successful creation
+	of thread pools.
+
+2007-06-17  Martin Sebor  <se...@roguewave.com>
+
+	* rw_thread.h: Added comments.
+
+2007-06-17  Martin Sebor  <se...@roguewave.com>
+
+	* thread.cpp [!_RWSTD_REENTRANT] (rw_thread_pool): When not reentrant
+	 (in non-thread safe builds) emulated the creation of a single thread
+	and then waiting for it to finish by simply calling the thread
+	procedure to simplify the logic in each test.
+
+2007-06-17  Martin Sebor  <se...@roguewave.com>
+
+	* 18.exception.cpp (RW_JMP_BUF, RW_LONGJMP, RW_SETJMP): New macros
+	to hide calls to siglongjmp() and sigsetjmp() on Linux while making
+	calls to longjmp() and setjmp() everywhere else.
+	(induce_exception): Used size_t instead of unsigned long
+	as an argument to operator new().
+	(SIGABRT_handler, test_terminate_handler, test_unexpected_handler):
+	Used RW_LONGJMP() instead of plain longjmp().
+	(test_runtime, run_test): Used RW_SETJMP() instead of plain setjmp().
+	(run_test): Called test_effects() last to defer potential problems
+	due to the tests returning (jumping) out of the handlers.
+
+2007-06-17  Martin Sebor  <se...@roguewave.com>
+
+	* 0.printf.cpp (test_dec): Exercised long and long long formatting.
+	(test_nested_format): Added comments.
+
+2007-06-13  Martin Sebor  <se...@roguewave.com>
+
+	* 21.string.cons.mt.cpp: New test exercising the thread safety
+	of a small subset of basic_string ctors and assignment operators.
+
+2007-06-13 Farid Zaripov <Fa...@epam.com>
+
+	* 27.stringbuf.members.stdcxx-427.cpp: new test from STDCXX-427 issue
+
+2007-06-06 Farid Zaripov <Fa...@epam.com>
+
+	* 23.bitset.cons.stdcxx-297.cpp: new test from STDCXX-297 issue
+
+2007-06-06 Farid Zaripov <Fa...@epam.com>
+
+	* 23.list.cons.stdcxx-268.cpp: new test from STDCXX-268 issue
+
+2007-06-06 Farid Zaripov <Fa...@epam.com>
+
+	* 23.deque.special.stdcxx-127.cpp: new test from STDCXX-127 issue
+
+2007-06-06 Farid Zaripov <Fa...@epam.com>
+
+	* 23.list.special.stdcxx-334.cpp: new test from STDCXX-334 issue
+
+2007-06-06 Farid Zaripov <Fa...@epam.com>
+
+	* 23.list.insert.stdcxx-331.cpp: new test from STDCXX-331 issue
+
+2007-06-03  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-135
+	* 0.printf.cpp (test_string): Added a test for the format being
+	the empty string ("").
+
+2007-05-28  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.num.get.cpp (do_test): Disabled grouping tests when
+	rw_opt_no_grouping is non-zero in response to the --no-grouping
+	command line option.
+	(test_llong, test_ullong): Better exercised long long parsing,
+	including STDCXX-402.
+
+2007-05-25  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-426
+	* 21.cwchar.cpp (test_file_functions): Opened a new file for I/O
+	instead of reusing stdout and called fwide() first before any prior
+	output since 7.19.2, p5 of C99 prohibits wide character I/O functions
+	from being called on a byte-oriented stream.
+
+2007-05-24  Martin Sebor  <se...@roguewave.com>
+
+	* alg_test.h (InputIter): Outlined member functions too big for
+	the gcc inliner to handle (causing noise for -Winline warnings).
+	(OutputIter): Ditto.
+
+2007-05-23 Farid Zaripov <Fa...@epam.com>
+
+	* 22.locale.codecvt.length.cpp: Added checking result of the rw_locales()
+	before dereferencing.
+	* 22.locale.codecvt.out.cpp: Ditto.
+	* 22.locale.ctype.cpp: Ditto.
+	* 22.locale.messages.cpp: Ditto.
+	* 22.locale.moneypunct.cpp: Ditto.
+	* 22.locale.num.put.cpp: Ditto.
+	* 22.locale.time.get.cpp: Ditto.
+	* 22.locale.num.get.cpp: Ditto. Corrected len parameter of the rw_widen().
+	* 0.inputiter.cpp [_MSC_VER]: Disabled GUI window from abort().
+	* 0.outputiter.cpp [_MSC_VER]: Ditto.
+	* 21.cwchar.cpp [_MSC_VER]: Disabled GUI window with error from
+	CRT assertion fail.
+
+2007-05-22  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 22.locale.moneypunct.cpp: New test exercising locale.moneypunct.
+
+2007-05-18  Eric Lemings  <le...@roguewave.com>
+
+	STDCXX-358
+	* environ.cpp (rw_putenv): Handled unsetenv() on Darwin the same
+	as on FreeBSD: the function is declared to return void on both.
+
+2007-05-15 Farid Zaripov <Fa...@epam.com>
+
+	STDCXX-339
+	* NONDEDUCED_CONTEXT.cpp: Removed _RWSTD_NO_INLINE_MEMBER_TEMPLATES
+	config macro and all workarounds for it. Updated copyright notice.
+	* bitset: Ditto
+	* deque: Ditto
+	* iomanip: Ditto
+	* list: Ditto
+	* _locale.h: Ditto
+	* map: Ditto
+	* queue: Ditto
+	* _algobase.h: Ditto
+	* _defs.h: Ditto
+	* _pair.h: Ditto
+	* _tree.h: Ditto
+	* set: Ditto
+	* string: Ditto
+	* string.cc: Ditto
+	* vector: Ditto
+	* 25.random.shuffle.cpp: Ditto
+	* 23.deque.modifiers.cpp: Ditto
+	* 23.vector.cons.cpp: Ditto
+	* 23.vector.modifiers.cpp: Ditto
+	* rw_allocator.h: Ditto
+	* 20.pairs.cpp: Ditto
+
+2007-05-15 Farid Zaripov <Fa...@epam.com>
+
+	* value.cpp (xinit) Removed as unused.
+
+2007-05-12  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.money.get.cpp (PunctData): New base class for the test
+	Punct facet.
+	(Punct): Derived from PunctData.
+	(narrow, widen): Removed.
+	(do_test): Used PunctData instead of Punct. User the testuite helpers
+	rw_expand() and rw_narrow() instead of narrow() and widen(). Used the
+	%{*Ac} directive to format either narrow and wide character strings.
+	(test_memfun): Renamed...
+	(test_get): ...to this and used PunctData instead of Punct.
+	(test_long_double, test_string): Called test_get().
+
+2007-05-03  Martin Sebor  <se...@roguewave.com>
+
+	* environ.cpp [FreeBSD] (rw_putenv): Ignored unsetenv() return
+	value since the function is declared to return void on FreeBSD.
+
+2007-05-03  Martin Sebor  <se...@roguewave.com>
+
+	* file.cpp (P_tmpdir): Added a comment.
+
+2007-04-09  Martin Sebor  <se...@roguewave.com>
+
+	* 21.string.access.cpp (test_access): Cast an argument to
+	a (potentially) wider type to silence the pesky HP aCC 3.73
+	Warning (suggestion) 887: Type T is smaller than type U,
+	unwanted widening in value may result.
+	* 21.string.append.cpp (test_append): Same.
+
+2007-04-05  Martin Sebor  <se...@roguewave.com>
+
+	* valcmp.cpp (rw_fltcmp): Corrected typos in preprocessor conditional.
+
+2007-04-03  Martin Sebor  <se...@roguewave.com>
+
+	* 21.string.find.last.of.cpp (TEST): Replaced NPOS with -1 to silence
+	(the justified) gcc warning: overflow in implicit constant conversion.
+
+2007-04-02  Martin Sebor  <se...@roguewave.com>
+
+	* 27.ostream.cpp (test_formatted): Corrected wide character format
+	directives.
+
+2007-03-29  Martin Sebor  <se...@roguewave.com>
+
+	* process.cpp (<signal.h>, <sys/types.h>): Included for kill(), pid_t.
+	(E2BIG, SIGCHLD, SIGHUP, SIGQUIT, SIGKILL): Defined if not defined by
+	system headers.
+	(kill): Declared for EDG eccp demo.
+
+2007-03-29  Farid Zaripov <Fa...@epam.com>
+
+	* 21.string.io.cpp: Used std::size_t instead of size_t.
+
+2007-03-29  Farid Zaripov <Fa...@epam.com>
+
+	* 23.list.assign.cpp: Used std::size_t instead of size_t.
+	* 23.list.capacity.cpp: Ditto.
+	* 23.list.cons.cpp: Ditto.
+	* 23.list.erase.cpp: Ditto.
+	* 23.list.insert.cpp: Ditto.
+	* 23.list.iterators.cpp: Ditto.
+
+2007-03-28  Farid Zaripov <Fa...@epam.com>
+
+	* 23.list.assign.cpp (_rw_advance): Removed static keyword.
+	* 23.list.cons.cpp (_rw_advance): Ditto.
+	* 23.list.erase.cpp (_rw_advance, _rw_distance): Ditto.
+	* 23.list.insert.cpp (_rw_advance, _rw_distance): Ditto.
+
+2007-03-27  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-134
+	* driver.cpp (rw_vtest): Extended column width to accommodate very
+	large values.
+
+	STDCXX-376
+	* driver.cpp (rw_vtest): Used floating point arithmetic to avoid
+	integer overflow on very large values.
+
+2007-03-27  Martin Sebor  <se...@roguewave.com>
+
+	* driver.cpp (_rw_setopt_ulimit): Silenced gcc warning: missing
+	initializer for member.
+	(rw_vtest): Allowed test source file name to be null.
+
+2007-03-27  Farid Zaripov <Fa...@epam.com>
+
+	* 23.list.assign.cpp: New test exercising [lib.list.assign].
+	* 23.list.capacity.cpp: New test exercising [lib.list.capacity].
+	* 23.list.cons.cpp: New test exercising [lib.list.cons].
+	* 23.list.erase.cpp: New test exercising [lib.list.,erase].
+	* 23.list.insert.cpp: New test exercising [lib.list.insert].
+	* 23.list.iterators.cpp: New test exercising [lib.list.iterators].
+	* 23.list.special.cpp: New test exercising [lib.list.special].
+
+2007-03-23  Martin Sebor  <se...@roguewave.com>
+
+	* 27.stringbuf.virtuals.cpp (test_virtual): Introduced a cast to silence
+	gcc warning: comparison between signed and unsigned integer expressions.
+
+2007-03-23  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.money.put.cpp (type_test): Silenced gcc warning:
+	comparison between signed and unsigned.
+
+2007-03-23  Martin Sebor  <se...@roguewave.com>
+
+	* 21.cwctype.cpp (run_test): Explicitly cast the result of wctrans()
+	to ptrdiff_t in case the function's return type is a pointer as is
+	the case in GNU glibc.
+
+2007-03-14  Eric Lemings  <le...@roguewave.com>
+
+	STDCXX-359
+	* printf.cpp (_rw_vasnprintf_ext): Replaced the use of operator!
+	on an enum with operator== to prevent a gcc error on Mac OS X.
+
+2007-03-12  Farid Zaripov <Fa...@epam.com>
+
+	* 23.list.h (_rw_equal): Declared extern in order to allow
+	it to be found by argument dependent lookup.
+	* 23.containers.cpp (enum OverloadId): Added dummy enumeration.
+
+2007-03-09  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 22.locale.codecvt.length.cpp: New test exercising the member function
+	std::codecvt::length().
+
+2007-03-08  Martin Sebor  <se...@roguewave.com>
+
+	* 27.istream.fmat.arith.cpp (make_locale): Hardcoded array size
+	to UCHAR_MAX to work around a gcc 3.4 bug described in STDCXX-351.
+
+2007-03-08  Martin Sebor  <se...@roguewave.com>
+
+	* 0.printf.cpp (TEST_SPEC): Introduced a local variable to silence
+	compiler warnings about controlling expression being constant.
+
+2007-03-07  Martin Sebor  <se...@roguewave.com>
+
+	* locale.cpp (_RWSTD_USE_CONFIG): Removed references to macro.
+	* driver.cpp (_RWSTD_USE_CONFIG): Ditto.
+	* _config-gcc.h (_RWSTD_USE_CONFIG): Ditto.
+	* _config-xlc.h (_RWSTD_USE_CONFIG): Ditto.
+	* configure.wsf (_RWSTD_USE_CONFIG): Ditto.
+	* projects.js (_RWSTD_USE_CONFIG): Ditto.
+	* README (_RWSTD_USE_CONFIG): Ditto.
+
+2007-03-07  Farid Zaripov <Fa...@epam.com>
+
+	* alloc.cpp: fixed typo (removed comma);
+	* 0.alloc.cpp: use setjmp() instead sigsetjmp() on Cygwin
+
+2007-03-05  Andrew Black  <ab...@roguewave.com>
+
+	* tests/src/driver.cpp (_rw_setopt_output_file): Add logic to treat 
+	the magic file name of '-' as a reference to stdout.
+	* etc/config/GNUmakefile.tst (RUNFLAGS): Specify compatibility mode 
+	flags to enable parsing of legacy tests.
+	* util/output.cpp (check_compat_test): Adjust seek position to avoid 
+	false format errors when an executable contains a very small number 
+	of tests.
+
+2007-03-06  Martin Sebor  <se...@roguewave.com>
+
+	* 18.limits.traps.cpp (try_trap): Renamed from test_trap and declared
+	extern in order to allow it to be found by argument dependent lookup.
+
+2007-03-02  Martin Sebor  <se...@roguewave.com>
+
+	* 27.istream.fmat.arith.cpp (make_locale): Worked around a Sun
+        C++ 5.8 bug described in STDCXX-345.
+
+2007-03-02  Martin Sebor  <se...@roguewave.com>
+
+	* 0.outputiter.cpp: New test exercising the helper class template
+	OutputIter.
+
+2007-03-01  Farid Zaripov <Fa...@kyiv.vdiweb.com>
+
+	* 18.limits.traps.cpp (test_trap): New function to avoid MSVC error C2712:
+	Cannot use __try in functions that require object unwinding;
+	(test_traps) Used test_trap() function.
+
+2007-02-23 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	ChangeLog:
+	* 23.list.h: New file with definitions of helpers used in
+	clause 23.list tests.
+	* 23.containers.cpp: #included 23.list.h; removed definition
+	of the temporary struct ListIds; _rw_list_sigcat filled by code.
+
+2007-02-23 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	ChangeLog:
+	* 21.strings.h: #included 23.containers.h;
+	struct StringIds inherited from struct ContainerIds;
+	removed definitions of the AllocId and IteratorId.
+	* 23.containers.h: New file with definitions of helpers used
+	in clause 23 tests.
+	* 23.containers.cpp: Ditto.
+
+2007-02-23 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	ChangeLog:
+	* rw_value.h (struct UserData): new common structure holding
+	value for UserPOD and UserClass types;
+	(UserPOD): New user type to be used in tests as POD type
+	* value.cpp: Use UserClass::data_.val_ instead of UserClass::val_;
+	(__rw_from_char): new function to create array of the UserXXX type
+	from string;
+	(_rw_mismatch): new function compare the array of the UserXXX type
+	and string.
+	* 25.binary.search.cpp: Use UserClass::data_.val_ instead of UserClass::val_.
+	* 25.copy.cpp: The same.
+	* 25.equal.range.cpp: The same.
+	* 25.fill.cpp: The same.
+	* 25.find.cpp: The same.
+	* 25.find.end.cpp: The same.
+	* 25.for.each.cpp: The same.
+	* 25.generate.cpp: The same.
+	* 25.heap.cpp: The same.
+	* 25.includes.cpp: The same.
+	* 25.lex.comparison.cpp: The same.
+	* 25.libc.cpp: The same.
+	* 25.lower.bound.cpp: The same.
+	* 25.merge.cpp: The same.
+	* 25.min.max.cpp: The same.
+	* 25.mismatch.cpp: The same.
+	* 25.nth.element.cpp: The same.
+	* 25.partial.sort.cpp: The same.
+	* 25.partitions.cpp: The same.
+	* 25.permutation.cpp: The same.
+	* 25.random.shuffle.cpp: The same.
+	* 25.remove.cpp: The same.
+	* 25.replace.cpp: The same.
+	* 25.reverse.cpp: The same.
+	* 25.rotate.cpp: The same.
+	* 25.search.cpp: The same.
+	* 25.set.difference.cpp: The same.
+	* 25.set.intersection.cpp: The same.
+	* 25.set.sym.difference.cpp: The same.
+	* 25.set.union.cpp: The same.
+	* 25.sort.cpp: The same.
+	* 25.swap.cpp: The same.
+	* 25.transform.cpp: The same.
+	* 25.upper.bound.cpp: The same.
+	* 23.deque.modifiers.cpp: The same.
+	* 23.vector.modifiers.cpp: The same.
+	* 26.accumulate.cpp: The same.
+	* 26.adjacent.diff.cpp: The same.
+	* 26.inner.product.cpp: The same.
+	* 26.partial.sum.cpp: The same.
+	* 26.valarray.cons.cpp: The same.
+	* 0.inputiter.cpp: The same.
+	* 20.pairs.cpp: The same.
+
+2007-02-23 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	ChangeLog:
+	* rw_value.h (_rw_user_class_fmat_init): New static variable
+	to install the formatting callback function for UserClass type.
+	* value.cpp (_rw_fmtxarray): Removed prototype of the function.
+	Installation of the formatting callback function moved from
+	UserClass ctor to UserClassFmatInit ctor.
+
+2007-02-21 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	ChangeLog:
+	* rw_value.h (struct X): Renamed to struct UserClass.
+	* value.cpp: The same.
+	* 25.adjacent.find.cpp: Updated copyright notice.
+	#included rw_value.h; used struct UserClass instead of struct X.
+	* 25.binary.search.cpp: The same.
+	* 25.copy.cpp: The same.
+	* 25.equal.cpp: The same.
+	* 25.equal.range.cpp: The same.
+	* 25.fill.cpp: The same.
+	* 25.find.cpp: The same.
+	* 25.find.end.cpp: The same.
+	* 25.find.first.cpp: The same.
+	* 25.for.each.cpp: The same.
+	* 25.generate.cpp: The same.
+	* 25.heap.cpp: The same.
+	* 25.includes.cpp: The same.
+	* 25.lex.comparison.cpp: The same.
+	* 25.libc.cpp: The same.
+	* 25.lower.bound.cpp: The same.
+	* 25.merge.cpp: The same.
+	* 25.min.max.cpp: The same.
+	* 25.mismatch.cpp: The same.
+	* 25.nth.element.cpp: The same.
+	* 25.partial.sort.cpp: The same.
+	* 25.partitions.cpp: The same.
+	* 25.permutation.cpp: The same.
+	* 25.random.shuffle.cpp: The same.
+	* 25.remove.cpp: The same.
+	* 25.replace.cpp: The same.
+	* 25.reverse.cpp: The same.
+	* 25.rotate.cpp: The same.
+	* 25.search.cpp: The same.
+	* 25.set.difference.cpp: The same.
+	* 25.set.intersection.cpp: The same.
+	* 25.set.sym.difference.cpp: The same.
+	* 25.set.union.cpp: The same.
+	* 25.sort.cpp: The same.
+	* 25.swap.cpp: The same.
+	* 25.transform.cpp: The same.
+	* 25.unique.cpp: The same.
+	* 25.upper.bound.cpp: The same.
+	* 23.deque.modifiers.cpp: The same.
+	* 23.deque.special.cpp: The same.
+	* 23.vector.capacity.cpp: The same.
+	* 23.vector.cons.cpp: The same.
+	* 23.vector.modifiers.cpp: The same.
+	* 26.accumulate.cpp: The same.
+	* 26.adjacent.diff.cpp: The same.
+	* 26.inner.product.cpp: The same.
+	* 26.partial.sum.cpp: The same.
+	* 26.valarray.cons.cpp: The same.
+	* 0.inputiter.cpp: The same.
+	* 20.pairs.cpp: The same.
+
+2007-02-21 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	ChangeLog:
+	* rw_sigdefs.h: New file with definitions of helpers macros
+	to define member and non-member functions overload id's
+	* 21.strings.h: Helper macros moved from here to rw_sigdefs.h
+
+2007-02-21 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	ChangeLog:
+	STDCXX-341
+	* alg_test.h: ConstFwdIter<T> inherited from FwdIter<const T>.
+	ConstBidirIter<T> inherited from BidirIter<const T>.
+	ConstRandomAccessIter<T> inherited from RandomAccessIter<const T>.
+	(make_iter): type of the last parameter changed to const reference
+
+2007-02-21 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	ChangeLog:
+	* alg_test.h (struct X, struct UnaryPredicate,
+	struct BinaryPredicate): Declarations moved from here ...
+	* rw_value.h: ... to here (new header file).
+	* alg_test.cpp: Updated copyright notice;
+	(struct X, struct UnaryPredicate, struct BinaryPredicate,
+	_rw_fmtxarrayv, _rw_fmtxarray): Definitions moved from here ...
+	* value.cpp: ... to here (new source file).
+
+2007-02-15  Martin Sebor  <se...@roguewave.com>
+
+	* printf.cpp (VarArgs): Made pargs_ non-const.
+	(VA_ARG): Removed a const cast obviated by the above.
+	(_rw_fmtexp): Simplified/corrected the uses of VA_ARG.
+
+2007-02-13  Martin Sebor  <se...@roguewave.com>
+
+	* src/printf.cpp (_rw_fmtnested): New function to handle nested
+	formatting directives (%{@} et al) extended to format arrays of
+	values of arbitrary types, including structures.
+	(VarArgs): New stuct to encapsulate variable arguments and arrays.
+	(VA_ARG): New macro to extract arguments from VarArgs.
+	(_rw_fmtinteger, _rw_vasnprintf_ext, _rw_fmtspec): Used VarArgs.
+	(PARAM): Changed it to use VarArgs.
+	* test/printf.cpp (test_nested_format): Exercised the above.
+
+2007-02-05  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 27.istream.readsome.cpp: New test exercising the member function
+	readsome() of basic_istream.
+
+2007-02-05  Martin Sebor  <se...@roguewave.com>
+
+	* 27.istream_sentry.cpp (memfun_info): Renamed from just info.
+	(test_ok): Called memfun_info w/o "%{$SENTRY}::" (the string
+	is prepended by the callee).
+
+2007-02-05  Martin Sebor  <se...@roguewave.com>
+
+	* istream_sentry.cpp (Streambuf, test_ctor, test_ok): Added
+	a template parameter for Traits.
+	(test_ctor, test_ok): Removed unnecessary local blocks.
+	(test_ctor): Verified that the ctor doesn't affect gcount()
+	to exercise STDCXX-329.
+	(run_test): Exercised specializations on UserTraits. Handled
+	command line options.
+
+2007-02-05  Martin Sebor  <se...@roguewave.com>
+
+	* src/printf.cpp (_rw_pvasnprintf): Gracefuly handled a null format
+	string.
+	* self/0.printf.cpp (test_malformed_directives): Exercised the above.
+
+2007-02-05  Martin Sebor  <se...@roguewave.com>
+
+	* 27.istream.fmar.arith.cpp: Renamed...
+	* 27.istream.fmat.arith.cpp: to this.
+
+2007-01-31  Martin Sebor  <se...@roguewave.com>
+
+	* 27.istream.fmat.arith.cpp: New test exercising arithmetic extractor
+	operators [istream.formatted.arithmetic]. The test reveals a number
+	of known bugs.
+
+2007-01-30  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 27.istream.sentry.cpp: New test exercising [istream.sentry].
+
+2007-01-28  Martin Sebor  <se...@roguewave.com>
+
+	* printf.cpp (_rw_fmtspec): Avoided handling '$' when it's immediately
+	followed by a closing curly brace ('}'). Ditto for '@'.
+	(_rw_pvasnprintf): New. Implements the guts of rw_vasnprintf without
+	NUL-terminating the buffer to make it easier to call it recursively.
+	(_rw_vasnprintf_ext): Recognized the new %{@} directive (nested format
+	specifier). Called _rw_fmtexpr to handle it.
+	(_rw_fmtexpr): Handled the %{@} directive (nested format specifier).
+	* test/printf.cpp (test_envvar): Added test cases exercising
+	unconditional assignment (the %{$<param>!:<word>} directive).
+	(test_nested_format): Exercised the %{@} directive.
+
+2007-01-25  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 27.istream.manip.cpp: New test exercising istream.manip.
+
+2007-01-15  Martin Sebor  <se...@roguewave.com>
+
+	* 26.valarray.cons.cpp: New test exercising valarray constructors.
+
+2007-01-11  Martin Sebor  <se...@roguewave.com>
+
+	* 21.strings.h (arg_type): Explicitly cast an enum to int before
+	applying bitwise operators to it to silence bogus Sun C++ warning:
+	"Comparing different enum types."
+	* 21.string.operators.cpp (test_operators): Same.
+	* 21.string.cons.cpp (test_cons): Same.
+	* 21.string.io.cpp (test_io): Same.
+
+2007-01-11  Martin Sebor  <se...@roguewave.com>
+
+	* 21.strings.cpp (_rw_sigcat, rw_setvars, _rw_dispatch, _rw_run_cases):
+	Explicitly cast an enum to int before applying bitwise operators to it
+	to silence (bogus) Sun C++ warning: "Comparing different enum types."
+
+2007-01-11  Martin Sebor  <se...@roguewave.com>
+
+	* money_put.cpp (MoneyPut): Defined the default ctor in order
+	to make it possible to define const objects of the type w/o
+	explictly initializing them and to silence IBM XLC++ warning
+	1540-1296 (W) The const object requires "struct MoneyPut<T>"
+        to have a user-declared default constructor.
+	(type_test): Qualified sprintf with std:: since the function
+	may not be declared in the global namespace (as with Sun C++).
+
+2007-01-11  Martin Sebor  <se...@roguewave.com>
+
+	* 26.accumulate.cpp (size_t): Qualifed with std:: since the type
+	may not be declared in the global namespace (e.g., with Sun C++).
+
+2007-01-06  Martin Sebor  <se...@roguewave.com>
+
+	* 26.mask.array.cpp: New test exercising helper class template
+	std::mask_array.
+
+2007-01-02  Martin Sebor  <se...@roguewave.com>
+
+	* 26.indirect.array.cpp: New test exercising the std::indirect_array
+	helper template.
+
+2007-01-01  Martin Sebor  <se...@roguewave.com>
+
+	* 17.names.cpp: Added more public names to test for.
+
+2006-12-22  Martin Sebor  <se...@roguewave.com>
+
+	* 26.class.gslice.cpp (make_array): Corrected an off-by-1 error.
+	(test_gslice): Exercised gslice copy ctor.
+
+2006-12-18  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 26.class.gslice.cpp: New test exercising lib.class.gslice.
+
+2006-12-01  Martin Sebor  <se...@roguewave.com>
+
+	* 21.string.find.first.not.of.cpp (test_find_first_not_of): Inverted
+	the logic of a controlling expression in an unconditional assertion.
+
+2006-12-01 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	* process.cpp: Removed unused #include <time.h>
+	(rw_waitpid): Used sleep() instead of nanosleep()
+	(rw_process_kill): Corrected timeout value to 1 second
+
+2006-11-29  Martin Sebor  <se...@roguewave.com>
+
+	* cwchar.cpp (wprintf, wscanf, swprintf): Gave the last formal
+	argument prior to the ellipsis a name in order to silence SGI
+	MIPSpro warning: the last argument of the varargs function is
+	unnamed.
+	(swscanf, vfwprintf): Removed an undeducible template parameter.
+
+2006-11-29  Martin Sebor  <se...@roguewave.com>
+
+	* printf.cpp (TEST_SPEC): Avoided the use of a conditional
+	intended to always evaluate to the same value except at
+	runtime in order to prevent compiler warnings.
+
+2006-11-29  Martin Sebor  <se...@roguewave.com>
+
+	* fmt_bits.cpp (_rw_fmtbits): Inverted a controlling expression
+	in an uncoditional assertion.
+
+2006-11-17 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	* process.cpp (rw_process_create) [!_WIN32]: Added missing __FILE__, __LINE__
+
+2006-11-16  Martin Sebor  <se...@roguewave.com>
+
+	* valcmp.cpp (test_case): Used size_t instead of unsigned in order
+	to silence HP aCC Warning (suggestion) 887: Type 'unsigned int' is
+	smaller than type 'unsigned long', unwanted widening in value may
+	result.
+	(cases, test_all_cases): Ditto.
+
+2006-11-15  Martin Sebor  <se...@roguewave.com>
+
+	* 21.find.last.not.of.cpp (cptr_size_size_test_cases): Cast NPOS
+	to int to silence Compaq C++ warning: integer conversion resulted
+	in truncation.
+	Stripped trailing whitespace.
+
+2006-11-14  Martin Sebor  <se...@roguewave.com>
+
+	* printf.cpp (test_errno): Removed assumption that strerror()
+	never returns a null pointer (see STDCXX-305).
+
+2006-11-10  Martin Sebor  <se...@roguewave.com>
+
+	* 0.printf.cpp (TEST_SPEC): Avoided using constant controlling
+	expression in do/while loop to silence annoyning EDG warnings.
+
+2006-11-09  Martin Sebor  <se...@roguewave.com>
+
+	* process.cpp: ( __PURE_CNAME): Undefined Compaq/C++ macro to allow
+	POSIX errno constants such as EACCES to be #defined even in strict
+	mode.
+
+2006-11-08 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	* rw_process.h (rw_pid_t): The type long changed to _RWSTD_SSIZE_T.
+	(rw_wait_pid): Added the timeout parameter.
+	(rw_process_kill): New function to terminate the specified process.
+	* process.cpp [_WIN32] (__rw_map_errno): New function to get errno
+	value from WinAPI last error code
+	(__rw_split_cmd): Moved to #ifndef _WIN32/#endif
+	[_WIN32] (_rw_vprocess_create): Used CreateProcess instead of
+	rw_process_create(char*, char* [])
+	[_WIN32] (rw_process_create): Used rw_process_create(char*, ...)
+	instead of spawnp
+	* 0.process.cpp: New test exercising the rw_process_create(),
+	rw_process_kill() and rw_waitpid() functions.
+
+2006-11-07 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	* fmt_defs.h: Added definition of the DummyStruct
+	* printf.cpp (rw_vasnprintf): Added checking for malformed directive
+	(_rw_fmttm, _rw_fmtarray, _rw_fmtstrarray, _rw_fmtstr, _rw_fmtwstr):
+	Third parameter of __rw::__rw_memattr() changed to -1
+	(_rw_vasnprintf_ext): Ditto. Added "%{P}" formating directive to
+	format the rw_pid_t value
+	* 0.printf.cpp: #included rw_process.h for rw_pid_t
+	(test_chararray): Added missing backslash in result string
+	(test_stringarray): Added exercising of the "%{ As}" formatting
+	directive
+	(test_pid): New function exercising the "%{P}" formating directive
+	(main): Added call to the test_pid()
+
+2006-10-23 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	* printf.cpp (_rw_fmtstrarray): Use ' ' as delimiter if
+	' ' is specified in flags field
+
+2006-10-19 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	* alloc.cpp (_rw_allocate_blocks): Set r/w access to the
+	_rw_tail->next before modification
+
+2006-10-19 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	* driver.h (rw_enable): New function to enable/disable
+	specified diagnostics
+	* driver.cpp (rw_enable): New function to enable/disable
+	specified diagnostics
+	(_rw_vdiag): Added checking whether the diagnostic
+	is enabled or disabled
+	* opt_trace.h: Added declaration of the _rw_diag_ignore variable
+	* opt_trace.cpp: Added definition of the _rw_diag_ignore variable
+
+2006-10-10 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	* environ.cpp (rw_putenv): Added missing semicolon
+
+2006-10-09  Martin Sebor  <se...@roguewave.com>
+
+	* environ.cpp (unsetenv): Conditionally declared.
+	(rw_putenv): Handled invalid separator character.
+	Handled malloc() failure to allocate memory.
+	Used unsetenv() when available, otherwise putenv().
+
+2006-10-09  Martin Sebor  <se...@roguewave.com>
+
+	* alloc.cpp (MAP_PRIVATE, MAP_ANONYMOUS): #defined to 0 when not
+	#defined in system headers.
+
+2006-10-06  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 23.bitset.cpp: New test exercising lib.bitset.
+
+2006-10-06  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-3
+	* rw_rand.h: New. Declarations of testsuite random generator helpers.
+	* random.cpp: New. Definitions of the above.
+
+2006-10-03 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	Set svn:eol-style property.
+
+2006-10-02 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	* _select.h (__rw_is_same): Renamed: yes; no; Type<class T> to:
+	_C_yes; _C_no; _C_Type<class _TypeV>
+	* 22.locale.num.get.cpp (do_test): Changed type of dummy argument
+	from charT to charT* to resolve MSVC 7.0 ambiguity
+	* 21.cwchar.cpp (swscanf, vfwprintf): Removed unused template
+	parameter SizeT to prevent MSVC 7.0 error:
+	error C2783: 'int std::swscanf(const WCharT *,const WCharT *,...)' :
+	could not deduce template argument for 'SizeT'
+	(fgetwc): Return type changed to wint_t to prevent MSVC 7.0 error:
+	error C2785: 'int std::fgetwc(FileT *)' and 'wint_t fgetwc(FILE *)'
+	have different return types
+	(test_functions): commented const to prevent MSVC 7.0 error:
+	error C2147: 'tm_buf' : const automatic array must be fully
+	initialized
+	* 21.cwctype.cpp (towlower, towupper, wctrans, wctype, towctrans):
+	Corrected return type to prevent MSVC 7.0 error:
+	error C2785: 'int std::towlower(T)' and 'wchar_t towlower(wchar_t)'
+	have different return types
+	(run_test): Added exercising of the std::towctrans()
+	* 26.c.math.cpp (test_declarations): Resolved MSVC 7.0 ambiguity:
+	error C2782: 'T std::modf(T,T *)' : template parameter 'T' is
+	ambiguous: could be 'double' or 'long double'
+	* 27.forward.cpp [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added is_same_type
+	for compilers which not support the partial ordering of function
+	templates
+	* 25.search.cpp [_MSC_VER <= 1300]: Added explicit definition of the
+	NonPredicateTag<X>::DummyPredicate::funcalls_ to prevent MSVC 7.0
+	linker error
+	* alg_test.h [_MSC_VER <= 1300] (conv_to_bool): UniquePtr defined
+	as const void* to deal with MSVC 7.0
+
+2006-10-01  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 17.names.cpp: New test exercising the absence of namespace pollution.
+
+2006-09-22 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	* limits [_RWSTD_NO_CLASS_PARTIAL_SPEC]: Corrected macro _RWSTD_SPECIALIZE_LIMITS
+	* rw_char.h (UserInt): Added const_cast to avoid MSVC 7.0 error "C2446: '=='
+	: no conversion from 'const int *' to 'void *const '"
+	* _autoptr.h (__rw_nonvoid_ref): Added #ifndef _RWSTD_NO_CV_VOID_SPECIALIZATIONS/#endif
+	to avoid error on MSVC 7.0 (http://www.dotnet247.com/247reference/msgs/1/7727.aspx)
+	* _specialized.h (__rw_construct) [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added code to deal
+	with compilers, which are not supports the "Partial Ordering of Function Templates"
+	* VA_LIST.cpp (va_list_array_size) [_RWSTD_NO_CLASS_PARTIAL_SPEC && _RWSTD_NO_PART_SPEC_OVERLOAD]:
+	Added code to deal with compilers, which are not supports the "Partial Ordering of Function Templates"
+	* CV_VOID_SPECIALIZATIONS.cpp: New file, checking for cv qualifiers on type void
+	* 20.operators.cpp: Added #include <cstddef> for std::size_t
+	* 20.pairs.cpp: Added #ifdef/#endif guard to avoid error "Cannot access private copy constructor"
+
+2006-09-21 Farid Zaripov <fa...@kyiv.vdiweb.com>
+
+	* 21.string.h (StringState): Added _TEST_EXPORT specification
+	* rw_char.h (UserCharFmatInit): Ditto
+	* 21.cwchar.cpp: Added #ifndef/#endif guard to avoid double
+	function definition
+	* 27.objects.cpp (run_test): Corrected rw_warning() to rw_warn()
+
+2006-09-12  Martin Sebor  <se...@roguewave.com>
+
+	* sstream.cc (str): Avoided setting (pptr() == epptr()) except in
+	input mode as required (see lwg issue 562 for clarification). See
+	also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29035.
+	* stringbuf_virtuals.cpp (test_seekoff): Corrected tests exercising
+	seeking on objects constructed in out mode so as not to assume that
+	(pptr() == epptr()) holds after the construction of the stream (in
+	fact, (pptr() == pbase()) is required to hold -- see lwg issue 562
+	and this issue http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29035
+	for more detail).
+
+2006-09-01  Martin Sebor  <se...@roguewave.com>
+
+	* 26.c.math.cpp (test_behavior): Introduced helper local variables
+	and corrected the type of others to match the type returned by the
+	called function.
+
+2006-08-28  Martin Sebor  <se...@roguewave.com>
+
+	* codecvt_out.cpp (get_mb_char): Randomized all bits of a wide
+	character. Used the RW_ASSERT() testsuite macro instead of the
+	library-configured _RWSTD_ASSERT().
+	(test_out): Verified that the tested function doesn't write
+	past the end of the converted destination sequence (denoted
+	by to_next).
+	(test_wcodecvt, test_wcodecvt_byname_table_based): Added test
+	cases, comments. Adjusted indentation.
+
+2006-08-26  Martin Sebor  <se...@roguewave.com>
+
+	* rw_locale.h (rw_locales): Introduced default arguments.
+
+2006-08-26  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* codecvt_out.cpp: New test execising lib.locale.codecvt.virtuals,
+	member function do_out.
+
+2006-08-11  Martin Sebor  <se...@roguewave.com>
+
+	* allocator.cpp (deallocate): Commented out unused function arguments
+	to silence HP aCC 3.70 Warning (suggestion) 431: No uses of argument
+	were detected; it may be possible to remove its declaration.
+
+2006-08-11  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.money.get.cpp (test_memfun): Avoided relying on
+	implementation-defined preprocessor behavior and silenced HP
+	aCC 3.70 Warning 823: Redundant preprocessing concatenation
+	operation results in two valid preprocessing tokens.
+
+2006-08-10  Martin Sebor  <se...@roguewave.com>
+
+	* 0.strncmp.cpp (TEST): Avoided unnecessarily casting away constness
+	in order to silence gcc warning: cast from `const char*' to `void*'
+	discards qualifiers from pointer target type.
+
+2006-08-10  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.num.put.cpp: Added preprocessor guards to disable
+	long long tests when the type is not supported.
+
+2006-08-10  Martin Sebor  <se...@roguewave.com>
+
+	* printf.h (<time.h>): #included for struct tm.
+
+2006-08-09  Martin Sebor  <se...@roguewave.com>
+
+	* messages.cpp (<stdlib.h>): Removed an unnecessary #include directive.
+	(open_catalog): Improved diagnostics to include failure (in addition
+	to exception) detection.
+	(test_open_close, test_get, test_use_codecvt, test_use_nls_path):
+	Simplified the handling of errors from open().
+	(stress_test): Removed catalog extension (since it's already present
+	in the value of NLSPATH). Replaced hardcoded values with a constant.
+
+2006-08-09  Martin Sebor  <se...@roguewave.com>
+
+	* new.cpp (_rw_find_block): Corrected a typo in conditionally
+	compiled code (Compaq C++ prior to version 6.6).
+
+2006-08-08  Martin Sebor  <se...@roguewave.com>
+
+	* messages.cpp (test_has_facet): Exercised the behavior of has_facet
+	and use_facet with messages_byname (in addition to the base class).
+	(test_use_nls_path): Handled getcwd() errors, called open_catalog
+	instead of invoking messages::open() directly.
+	(open_catalog, test_open_close, test_use_codecvt): Added missing
+	argument to rw_assert().
+	(stress_test): Asserted a precondition.
+
+2006-08-05  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 23.bitset.cons.cpp: New test exercising lib.bitset.cons.
+
+2006-08-04  Martin Sebor  <se...@roguewave.com>
+
+	* rw_char.h (to_char): Worked around an Intel C++ 9.1/Windows
+	codegen	bug described in STDCCXX-248.
+
+2006-08-01  Martin Sebor  <se...@roguewave.com>
+
+	* alloc.cpp (CaddrT): New type.
+	(munmap): Changed first argument from void* to CaddrT.
+	(_rw_table, _rw_table_size, _rw_table_max_size): Renamed from
+	table_, table_size_, and table_max_size_ according to the naming
+	convention.
+	(MemRWGuard::caddr_): Changed type to CaddrT and renamed from
+	addr_.
+	(_rw_table_free, _rw_table_grow, _rw_table_insert,
+	_rw_table_remove, _rw_find_by_addr): Type and naming changes
+	according to the above.
+	(MAP_FAILED): Changed to a macro.
+	(mmap, mprotect): Changed to return/take CaddrT rather than
+	void*.
+	Removed unnecessary casts.
+	(_rw_table_remove): Silenced Sun C++ 5.8 Warning: Conversion
+	of 64 bit type value to "char" causes truncation.
+
+2006-07-31  Martin Sebor  <se...@roguewave.com>
+
+	* alloc.cpp (sig_handler): Declqred extern "C" to avoid errors
+	due to the incompatibility between extern "C" ane extern "C++"
+	functions.
+	(<stddef.h>): Included for size_t.
+
+2006-07-31  Martin Sebor  <se...@roguewave.com>
+
+	* exception.cpp (<stdlib.h>): Included instead of the non-standard
+	<malloc.h> for malloc() and free().
+	(ExceptionBase::operator=, format): Replaced calls to the C95
+	function strncpy() with strcpy() for portability to C89 systems.
+
+2006-07-31  Martin Sebor  <se...@roguewave.com>
+
+	* exception.cpp: Replaced Windows \r\n sequences with \n alone.
+
+2006-07-28  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 20.pairs.cpp: New test exercising lib.pairs.
+
+2006-07-28  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 20.function.objects.cpp: New test exercising lib.function.objects.
+
+2006-07-28  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 20.temp.buffer.cpp: New test execising lib.temporary.buffer.
+
+2006-07-27  Martin Sebor  <se...@roguewave.com>
+
+	* system.h: Removed (moved to <rw_process.h>).
+	* system.cpp: Ditto (moved to process.cpp).
+	* 22.locale.messages.cpp (<rw_process.h>): Included instead of
+	<system.h> to avoid potential clashes with system header of the
+	same name.
+	* locale.cpp: Ditto.
+
+2006-07-27  Farid Zaripov  <fa...@kyiv.vdiweb.com>
+	    Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* rw_process.h: New. Declared test suite process helpers.
+	* process.cpp: New. Defined the above.
+
+2006-07-27  Martin Sebor  <se...@roguewave.com>
+
+	* src/printf.cpp (_rw_fmtstrarray): New function to format argv-style
+	(i.e., null-terminated) arrays of NUL-terminated character strings.
+	(_rw_vasnprintf_ex): Called _rw_fmtstrarray to process the "%{As}"
+	formatting directive.
+	* test/0.printf.cpp (test_stringarray): Exercised the above.
+
+2006-07-27  Farid Ziripov <fa...@kyiv.vdiweb.com>
+            Martin Sebor  <se...@roguewave.com>
+
+        * 21.strings.h (rw_setvars): Declared.
+        (assert_equal): Changed return type to int.
+        * 21.strings.cpp (rw_setvars): Renamed from _rw_setvars and made extern.
+
+2006-07-25  Martin Sebor  <se...@roguewave.com>
+
+	* rwthread.h: Renamed...
+	* rw_thread.h: ...to this according to convention.
+	* rwthread.cpp: Renamed...
+	* thread.cpp: ...to this.
+	* push_back_mt.cpp (<rw_thread.h>): Included instead of rwthread.h.
+	* atomic_add.cpp (<rw_thread.h>): Same.
+	* atomic_xchg.cpp (<rw_thread.h>): Same.
+	* temp_buffer_mt.cpp (<rw_thread.h>): Same.
+	* exceptions_mt.cpp (<rw_thread.h>): Same. Replaced a call
+	to memset() with zero-initialization of POD.
+
+2006-07-25  Anton Pevtsov <an...@moscow.vdiweb.com>
+
+	* rwthread.cpp (rw_thread_pool): Passed the value of the thread
+	argument rather than its address to the thread being created.
+
+2006-07-24  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 22.locale.ctype.cpp: New test exercising the std::ctype facet.
+
+2006-07-23  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 22.locale.time.get.cpp: New test exercising the std::time_get facet.
+
+2006-07-23  Martin Sebor  <se...@roguewave.com>
+
+	* 21.string.append.cpp (AppendRangeOverload): Qualified references
+	to dependent base member function begin() with this-> to allow lookup
+	to find them.
+	* 21.string.assign.cpp (AssignRangeOverload): Same.
+	* 21.string.cons.cpp (ConsRangeOverload): Same.
+	* 21.string.insert.cpp (InsertRangeOverload): Same.
+
+2006-07-20  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.messages.cpp (CodeCvt): Parametrized to make it possible
+	to exercise both required specialization of the messages facet.
+	Overrode do_always_noconv() to try to make the messages facet use
+	the codecvt<char, char>::in().
+	(open_catalog, close_catalog): New helpers to reduce code bloat when
+	opening and closing catalogs and checking for exceptions.
+	(test_open_close, test_get, test_use_codecvt, test_use_nls_path,
+	stress_test): Called helpers.
+
+2006-07-19  Anton Pevtsov  <an...@moscow.vdiweb.com>
+
+	* 21.string.io.cpp (Ctype): Removed as obsolete
+	(TEST): test cases updated to exercise the exception safety
+	(test_io): Ctype replaced with UserCtype, added exception 
+	safety checks with streams
+
+2006-07-19  Anton Pevtsov  <an...@moscow.vdiweb.com>
+
+	* allocator.cpp (_rw_throw_exception): Removed as obsolete 
+	(allocate, funcall): The calls to _rw_throw_exception() replaced 
+	with calls to rw_throw()
+	* new.cpp (BadAlloc): Removed because of another one 
+	is defined in exception.cpp
+	(operator_new): The throw statement replaced with call 
+	to rw_throw(ex_bad_alloc, ..) 
+	* rw_streambuf.h (MyStreambuf): Added new method memfun_inx() 
+	which returns the index of the method in array ncalls_; 
+	added the member throw_when_ to define which virtual 
+	method and when should throw the exception;  
+	added the member allthrows_ to count the total number 
+	of thrown exceptions; 
+	added the member allcalls_ to count the total number of
+	calls to the virtual methods
+	(test): The throw statement replaced with call 
+	to rw_throw(ex_stream, ...) 
+
+2006-07-19  Anton Pevtsov  <an...@moscow.vdiweb.com>
+
+	STDCXX-3
+	* rw_exception.h: New header with definition of the Exception class
+	and the rw_throw() function
+	* exception.cpp: Implementation of the Exception class 
+	and the rw_throw() function.
+
+2006-07-18  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 22.locale.messages.cpp: New test exercising lib.locale.messages.
+
+2006-07-18  Martin Sebor  <se...@roguewave.com>
+
+	* file.h (rw_nextfd): New function.
+	* file.cpp (rw_nextfd): Definition.
+
+2006-07-18  Anton Pevtsov  <an...@moscow.vdiweb.com>
+
+	STDCXX-3
+	* 0.alloc.cpp: New test exercising the rw_alloc() and 
+	rw_free() functions
+
+2006-07-18  Anton Pevtsov  <an...@moscow.vdiweb.com>
+
+	* rw_alloc.h: Removed RW_PROT_EXEC as unusable
+	* alloc.cpp: RW_ASSERT macro replaced with calls to more 
+	informative rw_error() / rw_fail() 
+
+2006-07-17  Martin Sebor  <se...@roguewave.com>
+
+	* src/printf.cpp (_rw_bufcat): Avoided appending NUL to the end
+	of buffer and failed consistently when the maximum size of of the
+	buffer has been reached.
+	(rw_vasnprintf): Allowed buffer length not including the terminating
+	NUL to reach its maximum capacity. Reset errno to original value if
+	set by a failed call to fprintf (e.g., when the file has been closed).
+	(_rw_vasnprintf_ex): Made sure buffer is NUL-terminated before
+	invoking user-defined callbacks.
+	(rw_snprintfa): Returned (char*)0 on error.
+	* test/printf.cpp (stress_bufsize): Stress test to exercised the
+	ability to format into a fixed size buffer and correctly report
+	buffer overlow errors via ENOMEM.
+	(main): Closed stderr before calling stress_bufsize to avoid
+	excessive noise.
+
+2006-07-16  Martin Sebor  <se...@roguewave.com>
+
+	* rw_ctype.h (UserCtype, ctype): Added a ctor overload
+	to all specializations.
+	* 0.ctype.cpp: Defined the above.
+
+2006-07-16  Martin Sebor  <se...@roguewave.com>
+
+	* rw_ctype.h (std::ctype<UserChar>): Defined specialization.
+	(UserCtype<UserChar>): Defined in terms of the above.
+	* src/ctype.cpp (std::ctype<UserChar>): Defined members.
+	(UserCtype<UserChar>): Removed definitions of virtual members.
+	* test/ctype.cpp (UserCtype::id): Exercised.
+
+2006-07-14  Martin Sebor  <se...@roguewave.com>
+
+	* alloc.cpp: Renamed driver-private symbols according to the naming
+	convention (by prepending the "_rw_" prefix to their names).
+	(first, last): Renamed to _rw_head and _rw_tail, respectively.
+	(RA_ASSERT): Used instead of the assert() macro.
+	Adjusted formatting according to convention.
+
+2006-07-14  Anton Pevtsov  <an...@moscow.vdiweb.com>
+
+	STDCXX-3
+	* rw_alloc.h: New header with the declarations of the rw_alloc 
+	and rw_free functions.
+	* alloc.cpp: Definitions of the rw_alloc and rw_free functions.
+
+2006-07-13  Martin Sebor  <se...@roguewave.com>
+
+	* alarm.h: Renamed...
+	* rw_alarm.h: ...to this to avoid a name clash on HP-UX.
+	* alarm.cpp: Included rw_alarm.h instead of alarm.h.
+	* exceptions_mt.cpp: Same.
+
+2006-07-09  Martin Sebor  <se...@roguewave.com>
+
+	* 0.strncmp.cpp (run_test): Used SIZE_MAX instead of ~0.
+
+2006-07-09  Martin Sebor  <se...@roguewave.com>
+
+	* src/char.cpp (_rw_get_char): Handled terminating NUL when
+	the source string length is specified (i.e., not SIZE_MAX).
+	(_rw_expand, rw_match): Passed the length of the source
+	string to _rw_get_char.
+	* self/0.char.cpp (test_rw_match): Added assertions exercising
+	the above (see also the thread at http://tinyurl.com/zf9pm).
+
+2006-07-08  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-3
+	* rw_ctype.h: New header with the definitions of the UserCtype
+	primary template and explicit specializations for char, wchar_t,
+	and UserChar.
+	* ctype.cpp: Definitions of members of UserCtype specializations.
+	* test/ctype.cpp: New test (partially) exercising UserCtype::is().
+
+2006-07-07  Martin Sebor  <se...@roguewave.com>
+
+	* replace.cpp (ReplaceRangeOverload): Qualified calls to members
+	of a dependent base with this-> to allow lookup to find them and
+	prevent compilation errors with strict compilers.
+
+2006-07-07  Anton Pevtsov  <an...@moscow.vdiweb.com>
+
+	* 25.for.each.cpp: Updated acording to changes in alg_test.h -
+	the calls to make_iter replaced with calls to iterators ctors.
+	* 25.mismatch.cpp: Same
+	* 25.reverse.cpp: Same
+	* 25.rotate.cpp: Same
+
+2006-07-05  Martin Sebor  <se...@roguewave.com>
+
+	* 21.strings.cpp (_rw_run_test): Avoided making the assumption
+	that the range function member template is the last element in
+	the array of tests and "optimized" by moving the loop iterating
+	over iterator categories and known iterator types into the loop
+	that iterates over each function's array of tests. See the
+	thread starting at http://tinyurl.com/qsfy3 for more.
+
+2006-07-05  Martin Sebor  <se...@roguewave.com>
+
+	* fmt_defs.h (_rw_fmtmask): Renamed to _rw_fmtcharmask and added
+	a new function with the same name to format ctype_base::mask values.
+	* fmt_bits.cpp (_rw_fmtmask): Same.
+	* src/printf.cpp (_rw_vasnprintf_ext): Handled the new %{C} and
+	%{LC} directives to format the ctype mask of a character argument
+	and a ctype_base::mask value, respectively.
+	* test/printf.cpp (test_ctype_mask): Exercised the %{LC} directive.
+	(main): Called test_ctype_mask.
+
+2006-06-30  Martin Sebor  <se...@roguewave.com>
+
+	* 21.string.io.cpp (NotEof): Parenthesized.
+	(extractor_test_cases): Added test cases.
+	(test_io): Simplified, constified locals, added comments,
+	used the %{Is} directive to format ios::iostate values,
+	and adjusted formatting.
+
+2006-06-30  Martin Sebor  <se...@roguewave.com>
+
+	* 21.strings.cpp (_rw_setvars): Formatted the (initial)
+	contents of the string argument to string I/O functions.
+
+2006-06-30  Anton Pevtsov  <an...@moscow.vdiweb.com>
+
+	STDCXX-4
+	* 21.string.io.cpp: New test exercising lib.string.io.
+
+2006-06-30  Anton Pevtsov  <an...@moscow.vdiweb.com>
+
+	* 21.strings.h (MemberId): Added new elements for inserter, 
+	extractor, getline non-members.
+	(OverloadId): Added new enum elements for these non-members and 
+	their overloads.
+	(ArgId): Added new elements for input and output stream arguments.
+	* 21.strings.cpp (_rw_sigcat): Updated to operate with 
+	stream arguments and new fids, added new formatting variables
+	ISTREAM and OSTREAM processing
+	(_rw_setvars): Added new formatting variables ISTREAM and OSTREAM 
+	processing to operate with stream arguments in string's non-members.
+	* rw_streambuf.h: Added support for UserChar.
+
+2006-06-28  Martin Sebor  <se...@roguewave.com>
+
+	* 21.strings.cpp (_rw_dispatch): Detected and diagnosed
+	test logic error: null test callback function.
+
+2006-06-28  Martin Sebor  <se...@roguewave.com>
+
+	* src/char.cpp (_rw_get_char): New helper to parse <char>@<count>
+	directives and Unicode <Unnn...> sequences denoting UCS characters.
+	(_rw_expand): Called _rw_get_char.
+	(rw_match): Called _rw_get_char, optimized and simplified.
+	* test/0.char.cpp (test_rw_match): Added test cases and exercised
+	the handling of <Unnn...> sequences.
+	* 21.string.replace.cpp: Made use of the <Unnnn> directive and
+	replaced NUL characters embedded in hardcoded string literals with
+	the <U0> Unicode sequence (denoting NUL).
+
+2006-06-28  Anton Pevtsov   <an...@moscow.vdiweb.com>
+
+	* 21.string.access.cpp: Made use of the <Unnnn> directive and
+	replaced NUL characters embedded in hardcoded string literals with
+	the <U0> Unicode sequence (denoting NUL).
+	* 21.string.access.cpp: Same.
+	* 21.string.append.cpp: Same.
+	* 21.string.assign.cpp: Same.
+	* 21.string.capacity.cpp: Same.
+	* 21.string.cons.cpp: Same.
+	* 21.string.copy.cpp: Same.
+	* 21.string.erase.cpp: Same.
+	* 21.string.insert.cpp: Same.
+	* 21.string.iterators.cpp: Same.
+	* 21.string.operators.cpp: Same.
+	* 21.string.plus.cpp: Same.
+	* 21.string.plus_equal.cpp: Same.
+	* 21.string.substr.cpp: Same.
+	* 21.string.swap.cpp: Same.
+
+2006-06-27  Martin Sebor  <se...@roguewave.com>
+
+	* 21.strings.cpp (_rw_reverse_results): Conditionally declared
+	static to avoid Sun C++ bug/limitation (see STDCXX-207), and
+	constified locals.
+	(_rw_dispatch): Qualified the call to _rw_reverse_results with
+	:: and constified locals.
+	Used size_t instead of the _RWSTD_SIZE_T macro intended to be
+	used only in headers.
+
+2006-06-23  Martin Sebor  <se...@roguewave.com>
+
+	* char.cpp (test_user_traits_wchar): Removed from ...wchar_t to
+	avoid Emacs syntax highlighting normally used only for types.
+	(test_rw_expand): Added test cases.
+	(opt_user_traits, ...): Renamed from no_user_traits, ...
+	(run_test): Accommodated naming changes above and treated
+	options as tristate (rather than two-state switches).
+	(main): Changed options from switches to tristate.
+
+2006-06-22  Martin Sebor  <se...@roguewave.com>
+
+	* stringbuf_virtuals.cpp (<ctsring>, <rw_char.h>): Included.
+	(VFun): Added sequence_ member.
+	(widen): Removed (obviated by rw_expand declared in <rw_char.h>).
+	(test_virtual): Called rw_expand() instead of widen(). Called
+	sputn() with pptr() as the first argument when string argument
+	is null.
+	(test_virtual): Reset strarg_ and sequence_ after each test case.
+	(test_xsputn): Used <char>@<repeat-count> directives and added
+	new test cases exercising xsputn() with the first argument of
+	pptr().
+
+2006-06-22  Martin Sebor  <se...@roguewave.com>
+
+	* char.cpp (_rw_expand): NUL-terminated expanded string.
+	(rw_match): Avoided false positives when detecting whether
+	to expand the first argument.
+
+2006-06-22  Martin Sebor  <se...@roguewave.com>
+
+	* printf.cpp (rw_vasnprintf): Used the number of bytes,
+	not elements, in the call to memcpy.
+
+2006-06-21  Anton Pevtsov  <an...@moscow.vdiweb.com>
+
+	* 21.string.rfind.cpp: Added missed header <exception>
+
+2006-06-19  Martin Sebor  <se...@roguewave.com>
+
+	* fmt_defs.h (_rw_fmtbits): Declared new helper function.
+	* fmt_bits.cpp (_rw_fmtbits): Defined it.
+	* src/printf.cpp (_rw_vasnprintf_ext): Called _rw_fmtbits in
+	response to the %B and %b directives to format bitset values.
+	* test/printf.cpp (test_bitset): Exercised the %b directive.
+	(test_*): Declared all functions static.
+
+2006-06-19  Anton Pevtsov  <an...@moscow.vdiweb.com>
+
+	STDCXX-4
+	* 21.string.iterators.cpp: New test exercising lib.string.iterators.
+	* 21.strings.h (MemberId): Added new elements for data, c_str,
+	get_allocator, begin, end, rbegin, rend methods.
+	(OverloadId): Added new enum elements for these methods and their 
+	overloads.
+	* 21.strings.cpp (_rw_setvars): Added support for data, c_str,
+	get_allocator, begin, end, rbegin, rend overloads.
+
+2006-06-16  Martin Sebor  <se...@roguewave.com>
+
+	* 20.specialized.cpp (make_iter): Replaced a template with a couple
+	of ordinary functions to avoid tripping up broken compilers such
+	as HP aCC 3.63 on argument deduction.
+
+2006-06-16  Martin Sebor  <se...@roguewave.com>
+
+	* specialized.cpp (type_name): Added an overload for const
+	volatile T*.
+	(run_test): Exercised std::uninitialized_copy() specialized
+	on InputIterator=const volatile int* to further exercise
+	STDCXX-203.
+
+2006-06-16  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 20.specialized.cpp: New test exercising lib.specialized.algorithms,
+	including STDCXX-203.
+
+2006-06-16  Martin Sebor  <se...@roguewave.com>
+
+	* alg_test.h (InputIter ctor): Asserted a precondition.
+	(InputIter, OutputIter, ...): Changed the actual type
+	of difference_type from plain int to ptrdiff_t.
+	(make_iter): Made the type of the first argument const T*
+	for const iterator overloads of the function template.
+
+2006-06-15  Anton Pevtsov  <an...@moscow.vdiweb.com>
+
+	* 21.strings.cpp (_rw_reverse_results): new helper function to 
+	reverse the substring in the resulting sequence
+	(_rw_dispatch): updated to reverse the resulting substring for
+	the reverse iterators via call to the helper function.
+	* 21.string.append.cpp (AppendRangeOverload): Added special
+	processing for the reverse iterators.
+	(test_append): reverse iterators tests enabled, range classes
+	variables renamed for the convenience.
+	* 21.string.assign.cpp: Same
+	* 21.string.cons.cpp: Same
+	* 21.string.insert.cpp: Same
+	* 21.string.replace.cpp: Same
+
+2006-06-14  Anton Pevtsov  <an...@moscow.vdiweb.com>
+
+	* 21.strings.cpp (_rw_setvars): ctor_range and ctor_range_alloc 
+	cases joined with append_range and assign_range
+	* 21.string.cons.cpp: Ctor replaced with Cons according to 
+	the naming conventions.
+	(ConsRange, ConsRangeOverload): New class templates to abstract out 
+	the invocation of the ctor member template and its overloads.
+	(test_cons): Added RangeBase& argument and eliminated
+	test_cons_range (obviated by the addition of the argument).
+	(test_cons): Dispatched to the appropriate specialization
+	based on the iterator id (if any).
+
+2006-06-13  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.time.put.cpp (test_POSIX): Avoided exercising the "%Z"
+	directive with an invalid tm object (tm_isdst < 0). Added a couple
+	of test cases for the same directive (but with a valid tm object).
+	See STDCXX-201.
+
+2006-06-13  Martin Sebor  <se...@roguewave.com>
+
+	* 22.locale.time.put.cpp (do_test): Included the value of the TZ
+	environment variable in diagnostics involving the "%Z" or "%z"
+	formatting directives.
+
+2006-06-13  Martin Sebor  <se...@roguewave.com>
+
+	* rw_char.h (UserTraits): Removed the definition of the primary
+	template and replaced it with definitions of the two required
+	specializations (on char and wchar_t) to avoid Sun C++ 5.8 bugs
+	described at http://issues.apache.org/jira/browse/STDCXX-177.
+	(TraitsMemFunc): Moved from the primary template to file scope
+	and renamed from TraitsFun.
+	* char.cpp: Same.
+
+2006-06-12  Martin Sebor  <se...@roguewave.com>
+
+	* cmdopt.cpp (cmdopts_t): Renamed toggle_ to tristate_.
+	(_rw_getbounds): Added a formal argument and handled tristate_
+	bit number specification.
+	(_rw_match_tristate): Renamed from _rw_match_toggle.
+	(_rw_set_bits): New helper.
+	(rw_runopts): Handled tristate bit specifications.
+	* 0.cmdopts.cpp (test_tristate): Renamed from test_toggles
+	and exercised bit specification.
+
+2006-06-12  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 27.ostream.cpp: New test exercising lib.ostream.
+
+2006-06-09  Martin Sebor  <se...@roguewave.com>
+
+	STDCXX-4
+	* 27.filebuf.codecvt.cpp: New test exercising lib.filebuf with
+	a user-defined codecvt facet.
+
+2006-06-08  Anton Pevtsov  <an...@moscow.vdiweb.com>
+
+	* 21.strings.h (RangeBase): New base class to exercise the range
+	template methods overloads - append, assign, insert and replace.
+	* 21.strings.cpp (_rw_setvars): append_range and assign_range 
+	cases separated from others due to the changes in the 
+	corresponding tests.
+	* 21.string.append.cpp (AppendRange, AppendRangeOverload): New class
+	templates to abstract out the invocation of the append member
+	template and its overloads.
+	(test_append): Added RangeBase& argument and eliminated
+	test_append_range (obviated by the addition of the argument).
+	(test_append): Dispatched to the appropriate specialization
+	based on the iterator id (if any).
+	* 21.string.assign.cpp: Same
+	* 21.string.insert.cpp: Same
+	* 21.string.replace.cpp (ReplaceBase): moved to 21.strings.h
+	and renamed to RangeBase.
+	(ReplaceRangeOverload): begin overloads moved to the base class.
+	(test_replace): parameter type changed to RangeBase.
+
+2006-06-07  Anton Pevtsov  <an...@moscow.vdiweb.com>
+
+	* 21.string.swap.cpp (str_test_cases): Added test cases with
+	special strings length.
+	(test_swap): Added two Allocator parameters, migrated to use 
+	StringTestCaseData structure, exception safety testing loop added.
+	(main): rw_run_string_test call updated according to 
+	test driver changes.
+
+2006-06-06  Anton Pevtsov  <an...@moscow.vdiweb.com>
+	    Martin Sebor  <se...@roguewave.com>
+
+	* 21.string.replace.cpp: Added test cases.
+	(ReplaceBase, ReplaceRange, ReplaceRangeOverload): New class
+	templates to abstract out the invocation of the replace member
+	template and its overloads.
+	(test_replace): Added ReplaceBase& argument and eliminated
+	test_replace_range (obviated by the addition of the argument).
+	(test_replace): Dispatched to the appropriate specialization
+	based on the iterator id (if any).
+
+2006-06-06  Martin Sebor  <se...@roguewave.com>
+
+	* 21.strings.h (IteratorId): New member type of StringIds.

[... 2954 lines stripped ...]