2007-12-13  William Rowe <wrowe@rowe-clan.net>

	* README: Struck incubating disclaimer, stdcxx is a top level project

2007-10-16  Martin Sebor  <sebor@roguewave.com>

	* ChangeLog: Generated a single per-project ChangeLog.
	* examples/ChangeLog: Deleted. Superseded by the above.
	* include/ChangeLog: Likewise.
	* src/ChangeLog: Likewise.
	* util/ChangeLog: Likewise.
	* tests/ChangeLog: Likewise.

2007-10-16  Martin Sebor  <sebor@roguewave.com>

	Merged a partial fix for STDCXX-600 from branches/4.2.0.
	* include/exception (exception): Partially reverted fix for STDCXX-262
	committed in rev 583667 due to the binary incompatibility of the change
	both with stdcxx 4.1.x as well as with gcc's libsupc++.

2007-10-16  Martin Sebor  <sebor@roguewave.com>

	Merged a (mostly) binary compatible fix for STDCXX-509 from
	branches/4.2.0:
	* inlcude/limits [_RWSTD_NO_OBJECT_MANGLING] (__rw_flt_denorm_min,
	__rw_flt_infinity, __rw_flt_qNaN, __rw_flt_sNaN, __rw_dbl_denorm_min,
	__rw_dbl_infinity, __rw_dbl_qNaN, __rw_dbl_sNaN, __rw_ldbl_denorm_min,
	__rw_ldbl_infinity, __rw_ldbl_qNaN, __rw_ldbl_sNaN): Declared with C++
	linkage when the config macro is #defined for binary compatibility with
	prior 4.x releases.
	* src/limits_bits.cpp: Same as above for definitions of constants.
	* src/num_get.cpp  [_RWSTD_NO_OBJECT_MANGLING] (__rw_flt_infinity,
	__rw_dbl_infinity, __rw_ldbl_infinity): Same.

2007-10-15 Andrew Black <ablack@roguewave.com>

	STDCXX-109 
	* etc/config/makefile.rules ($(CATFILE)): Make failure to execute
	the gencat utility non-fatal. 

2007-10-16 Travis Vitek <vitek@roguewave.com>

	STDCXX-596
	* 0.printf.cpp (_rw_fmtarray): Check pointer bounds before
	examining the contents to avoid uninitialized memory read.

2007-10-15  Martin Sebor  <sebor@roguewave.com>

	* src/ChangeLog: Updated.
	* include/ChangeLog: Generated.
	* examples/ChangeLog: Ditto.
	* tests/ChangeLog: Ditto.
	* util/ChangeLog: Ditto.

2007-10-15  Martin Sebor  <sebor@roguewave.com>

	* README: Removed the "(pre-release)" bit from the version string
	and added the set of platforms on which 4.2.0 has been tested on.

2007-10-15  Martin Sebor  <sebor@roguewave.com>

	* _config.h: Corrected a typo in a comment and updated the year
	of copyright.

2007-10-15  Martin Sebor  <sebor@roguewave.com>

	* 21.string.io.stdcxx-206.cpp: Added a license header.

2007-10-15  Martin Sebor  <sebor@roguewave.com>

	* NO_OBJECT_MANGLING.cpp: New config test to determine whether
	namespace-scope objects have their types mangled into their
	names (as done by MSVC) or not (other compilers).
	* object_mangling_imp.cpp: Helper file to go with the above.

2007-10-15 Farid Zaripov <farid_zaripov@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-15 Farid Zaripov <farid_zaripov@epam.com>

	STDCXX-206
	* _ioinsert.cc (__rw_insert): Corrected #ifndef to #ifdef.

2007-10-14  Martin Sebor  <sebor@roguewave.com>

	* 26.valarray.sub.stdcxx-224.cpp: Added regression test for STDCXX-224.

2007-10-14  Marc Betz  <betz@roguewave.com>

	* 1-5.html: Editorial improvements not related to but made
	in the process of resolving STDCXX-574.

2007-10-14  Martin Sebor  <sebor@roguewave.com>

	STDCXX-278
	* valarray.html: Updated example source code to reflect rev 584618.

2007-10-14  Martin Sebor  <sebor@roguewave.com>

	STDCXX-278
	* valarray.cpp (<valarray.h>): Removed a confusing #include directive
	and added the definition of a generic operator<<() for valarray copied
	from the said header.
	(main): Replaced endl with '\n' for efficiency.

2007-10-14  Martin Sebor  <sebor@roguewave.com>

	STDCXX-407
	* frames-contents-all.html: Removed section 1.2.3 - Relationship
	to the Essential Tools Module.
	* 1-1.html: Replaced C++ Standard Library Module with Apache C++
	Standard Library.

2007-10-14  Martin Sebor  <sebor@roguewave.com>

	STDCXX-407
	* tindex.html: Replaced "Rogue Wave" with Apache.
	* frames-contents-all.html: Same.

2007-10-14  Marc Betz  <betz@roguewave.com>

	STDCXX-407
	* copyright.html: Deleted.
	* contact.html: Same.

2007-10-14  Marc Betz  <betz@roguewave.com>

	STDCXX-407
	* copyright.html: Deleted.
	* contact.html: Same.
	* 1-6.html: Same.
	* 1-7.html: Same.

2007-10-14  Marc Betz  <betz@roguewave.com>

	STDCXX-407
	* 40-5.html: Replaced "C++ Standard Library Module" with "Apache C++
	Standard Library."
	* 1-1.html: Same.
	* 33-3.html: Same.
	* 25-5.html: Same.
	* 39-1.html: Same.
	* 1-5.html: Same. Also made the width of the "next" button the same
	as that of the "previous" button. 
	* 32-5.html: Same.
	* 18-3.html: Same. Also made the width of the "next" button the same
	as that of the "previous" button. 
	* 24-4.html: Same.
	* 27-3.html: Same.
	* 41-2.html: Same.
	* 16-3.html: Same.
	* 22-7.html: Same.
	* 36-3.html: Same.
	* noframes.html: Same.
	* 30-2.html: Same.
	* 22-4.html: Same.
	* 42-1.html: Same.
	* 17-2.html: Same.
	* II.html: Same. Also made the width of the "next" button the same
	as that of the "previous" button.
	* 1-3.html: Same.
	* 27-4.html: Same.
	* 24-2.html: Same.
	* 16-1.html: Same.
	* 28-3.html: Same.
	* tindex.html: Same. Removed references to Rogue Wave SourcePro C++
	products and services.
	* booktoc.html: Same.
	* 1.html: Same.
	* 1-2.html: Same.
	* 1-4.html: Same.

2007-10-14  Martin Sebor  <sebor@roguewave.com>

	* 1-1.html: Corrected a link to the Rogue Wave site.
	* 1-4.html: Corrected paths pointing to documentation.

2007-10-14  Marc Betz  <betz@roguewave.com>

	STDCXX-407
	* locale.html: Replaced "C++ Standard Library Module" with "Apache C++
	Standard Library." Also made the width of the "next" button the same
	as that of the "previous" button. 
	* noframes.html: Same.
	* localedefutility.html: Same.

2007-10-11  Martin Sebor  <sebor@roguewave.com>

	STDCXX-509
	* limits_bits.cpp [_RWSTD_NO_INFINITY] (__rw_flt_denorm_min,
	__rw_flt_infinity, __rw_flt_qNaN, __rw_flt_sNaN, __rw_dbl_denorm_min,
	__rw_dbl_infinity, __rw_dbl_qNaN, __rw_dbl_sNaN, __rw_ldbl_denorm_min,
	__rw_ldbl_infinity, __rw_ldbl_qNaN, __rw_ldbl_sNaN): Declared constants
	with "C" linkage corresponding to rev 564059.

2007-10-11  Martin Sebor  <sebor@roguewave.com>

	STDCXX-590
	* _cerrno.h [__linux__] (errno): Unconditionally #defined to
	__errno_location() which is always declared/defined by GNU
	libc, going as far back as Red Hat Linux 8 (libc 2.2.93).

2007-10-11  Martin Sebor  <sebor@roguewave.com>

	STDCXX-589
	* file.cpp [!_RWSTD_NO_PURE_C_HEADERS] (fileno): Relaxed a guard
	around a declaration.

2007-10-11  Martin Sebor  <sebor@roguewave.com>

	STDCXX-588
	* _config-eccp.h (_RWSTD_NO_DEPRECATED_C_HEADERS,
	_RWSTD_NO_PURE_C_HEADERS): #undef'ined config macros for EDG eccp.

2007-10-11  Martin Sebor  <sebor@roguewave.com>

	STDCXX-586
	* WCHAR_T.cpp [_RWSTD_NO_NATIVE_WCHAR_T] (<wchar.h>): Guarded #include
	directive to prevent failures when wchar_t is already known to be a
	fundamental type.

2007-10-04 Travis Vitek <vitek@roguewave.com>

	STDCXX-580
	* strstream.cpp (main): Unfreeze streambuf so destructor
	will deallocate memory.

2007-10-11 Farid Zaripov <farid_zaripov@epam.com>

	* configure.wsf (configure): Removed IncludeDir command
	line option.
	* projects.js (CreateProjectsDefs): Removed /IncludeDir
	option from command line of the configure.wsf script.

2007-09-26 Martin Sebor <sebor@roguewave.com>

	STDCXX-262
	* exception (~exception): Declared after what() to prevent gcc 4
	on Darwin from generating a vtable for the class in exception.o.
	gcc 3.4.6 on FreeBSD 6.2 has no problem either way.
	(~bad_exception): Declared before what() to achieve the same
	effect as above.
	* new (~bad_alloc): Declared before what() for the same reason.

2007-10-10  Martin Sebor  <sebor@roguewave.com>

	* 21.string.io.stdcxx-206.cpp: Regression test for STDCXX-206.

2007-10-10  Martin Sebor  <sebor@roguewave.com>

	* 26.valarray.members.stdcxx-313.cpp: Regression test for STDCXX-313.

2007-10-10  Martin Sebor  <sebor@roguewave.com>

	* 26.valarray.unary.stdcxx-314.cpp: Regression test for STDCXX-314.

2007-10-10  Martin Sebor  <sebor@roguewave.com>

	* 26.valarray.members.stdcxx-318.cpp: Regression test for STCDCXX-318.

2007-10-10 Travis Vitek <vitek@roguewave.com>

	STDCXX-582
	* 0.printf.cpp (test_errno): Deallocate memory allocated
	automatically by rw_snprintfa().

2007-10-05 Farid Zaripov <farid_zaripov@epam.com>

	* _punct.cc (__rw_match_name): Added missing space character.

2007-10-04 Farid Zaripov <farid_zaripov@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 <farid_zaripov@epam.com>

	* Merged the head of branches/4.2.0

2007-10-04 Farid Zaripov <farid_zaripov@epam.com>

	* 27.stringbuf.xsputn.stdcxx-576.cpp: Regression test for STDCXX-576
	issue.

2007-10-04 Farid Zaripov <farid_zaripov@epam.com>

	* Merged the head of branches/4.2.0

2007-10-03 Farid Zaripov <farid_zaripov@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 <farid_zaripov@epam.com>

	* 23.vector.bool.stdcxx-235.cpp (main): Corrected the
	lines which are testing the operator!=.

2007-10-03 Farid Zaripov <farid_zaripov@epam.com>

	* display.cpp (print_status_plain): Use float arithmetic when
	calculating the percent of the failed assertions to avoid
	overflow of the unsigned int type.

2007-10-01 Farid Zaripov <farid_zaripov@epam.com>

	* Merged the head of branches/4.2.0

2007-10-01 Farid Zaripov <farid_zaripov@epam.com>

	* Merged the head of branches/4.2.0

2007-10-01  Farid Zaripov  <farid_zaripov@epam.com>

	* time_put.cpp (__rw_get_date_fmat): Convert char argument
	of isspace(), isdigit(), ispunct() to unsigned char.
	(__rw_get_time_fmat): Ditto.

2007-10-01  Farid Zaripov  <farid_zaripov@epam.com>

	* locale.cpp [_WIN32] (EnumLocales): New function to
	enumerate system locales.
	(print_locale_names): Obtain list of system locales if
	RWSTD_LOCALE_ROOT environment variable is not defined.

2007-10-01  Farid Zaripov  <farid_zaripov@epam.com>

	* Merged the head of branches/4.2.0

2007-09-26 Travis Vitek <vitek@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-27  Farid Zaripov  <farid_zaripov@epam.com>

	* projects.js (CreateProjectsDefs): Set stdcxx_runtests
	project dependent on stdcxx_utils project (was dependent
	on exec project only).

2007-09-26  Martin Sebor  <sebor@roguewave.com>

	* ctype.cpp (main): Parenthesized a call to ctype::toupper() to avoid
	errors when the symbol is shadowed by a macro defined in libc header(s)
	as happens to be the case with gcc 4 on Darwin.

2007-09-26  Martin Sebor  <sebor@roguewave.com>

	STDCXX-572
	* aliases.cpp (ci_pre_compare): Parenthesized calls to two-argument
	overload of tolower() to avoid errors when the symbol is #defined
	as a macro in libc header(s) as is the case with gcc 4 on Darwin.

2007-09-26  Farid Zaripov  <farid_zaripov@epam.com>

	* locale.cpp [_WIN32]: Add /A:D option in dir command
	to print the directory names only.

2007-09-26  Farid Zaripov  <farid_zaripov@epam.com>

	* 22.locale.moneypunct.mt.cpp (thread_loop_body): Corrected char type
	to wchar_t.

2007-09-26  Farid Zaripov  <farid_zaripov@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-26  Farid Zaripov  <farid_zaripov@epam.com>

	* _money_get.cc (_C_get): If no characters available during
	parsing sign part of the pattern, then set failbit only when
	positive_sign and negative_sign both are not empty. Else set
	negative sign if positive_sign is not empty and negative_sign
	is empty.

2007-09-26  Farid Zaripov  <farid_zaripov@epam.com>

	* msvc-7.0.config: Added new config variable: LIBS.
	* utilities.js: Ditto.
	* msvcex-8.0.config: Set LIBS=user32.lib (by default
	the VCExpress links with kernel32.lib only).
	* projects.js: Use LIBS config variable instead of
	hardcoded commonLibs.

2007-09-25  Martin Sebor  <sebor@roguewave.com>

	STDCXX-315
	* valarray (atan2): Initialized array elements before assigning
	to them.

2007-09-25  Martin Sebor  <sebor@roguewave.com>

	* 26.valarray.transcend.stdcxx-315.cpp: Added regression test
	for STDCXX-315.

2007-09-25  Andrew Black  <ablack@roguewave.com>
	STDCXX-440
	* exec.cpp (limit_process): Stop itteration over limits structure
	when name element is null, not limit element.  Old behavior
	incorrectly aborted loop when encountering the first limit that
	didn't need to be set.

2007-09-25  Martin Sebor  <sebor@roguewave.com>

	* 26.valarray.sub.stdcxx-309.cpp: Added regression test for STCXX-309.

2007-09-25  Martin Sebor  <sebor@roguewave.com>

	* 26.valarray.binary.stdcxx-237.cpp: Added regression test for
	STCXX-237.

2007-09-25  Dennis Handly <dhandly@cup.hp.com>

	STDCXX-237
	STDCXX-448
	* valarray (ind_numb): Returned 0 when the lengths array is empty.

2007-09-24  Martin Sebor  <sebor@roguewave.com>

	STDCXX-404
	* charmap.h (<iconv.h>): Removed a redundant _MSC_VER guard.
	(open_iconv_to_utf8, open_iconv_to_ext, ic_to_utf8_, ic_to_ext_):
	Guarded declarations with _RWSTD_NO_ICONV instead of _MSC_VER.
	* charmap.cpp (my_iconv_open): Guarded function definition with
	_RWSTD_NO_ICONV instead of _MSC_VER.
	(convert_to_utf8): Defined function unconditionally and guarded
	implementation with _RWSTD_NO_ICONV (defaulting to returning 0
	when the macro is #defined).
	(ic_to_utf8_, ic_to_ext_): Guarded the assignment of variables
	with _RWSTD_NO_ICONV.
	Guarded MSVC-specific behavior with _MSC_VER.

2007-09-24 Travis Vitek <vitek@roguewave.com>

	STDCXX-492
	* string (operator+=): Replace call to append with push_back
	for performance.
	(append): Avoid calling replace() from append if there is
	sufficient buffer space available for performance.
	(append): Simplify append overload, move it to header and then
	inline it.
	(append): Use _RWSTD_SIZE_T to avoid integer overflow problems
	that could lead to heap corruption.
	(push_back): Call replace() instead of append when buffer
	reallocation required. cleanup. avoid integer overflow problem.
	* string.cc (append): Moved append overload to header and make
	it inline. 

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

	STDCXX-570
	* complex (pow): Removed inline keyword from the declaration
	of a function template outlined in revision 545847 while fixing
	STDCXX-447.

2007-09-20  Martin Sebor  <sebor@roguewave.com>

	STDCXX-567
	* atomic.s (__rw_atomic_xchg8): Appended the 'b' (byte) prefix
	to the xchg instruction instead of counting on the assembler to
	figure it out from the widths of the operands to prevent an error
	when using the Sun Assembler (which, unlike the GNU assembler,
	doesn't support doing this).

2007-09-20  Martin Sebor  <sebor@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-20 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-560
	* icc-10.0-x64.config: Added ASL header.
	* icc-10.0.config: Ditto.
	* icc-9.0.config: Ditto.
	* icc-9.1-x64.config: Ditto.
	* icc-9.1.config: Ditto.
	* msvc-7.0.config: Ditto.
	* msvc-7.1.config: Ditto.
	* msvc-8.0-x64.config: Ditto.
	* msvc-8.0.config: Ditto.
	* msvc-9.0-x64.config: Ditto.
	* msvc-9.0.config: Ditto.
	* msvcex-8.0.config: Ditto.

2007-09-20 Travis Vitek <vitek@roguewave.com>

	STDCXX-561
	* ANSI_X3.110-1983: Add ASL Header
	* ANSI_X3.4-1968: Same.
	* ASMO_449: Same.
	* BIG5: Same.
	* BIG5-HKSCS: Same.
	* BS_4730: Same.
	* BS_VIEWDATA: Same.
	* CP10007: Same.
	* CP1250: Same.
	* CP1251: Same.
	* CP1252: Same.
	* CP1253: Same.
	* CP1254: Same.
	* CP1255: Same.
	* CP1256: Same.
	* CP1257: Same.
	* CP1258: Same.
	* CP437: Same.
	* CP737: Same.
	* CP775: Same.
	* CP949: Same.
	* CSA_Z243.4-1985-1: Same.
	* CSA_Z243.4-1985-2: Same.
	* CSA_Z243.4-1985-GR: Same.
	* CSN_369103: Same.
	* CWI: Same.
	* DEC-MCS: Same.
	* DIN_66003: Same.
	* DS_2089: Same.
	* EBCDIC-AT-DE: Same.
	* EBCDIC-AT-DE-A: Same.
	* EBCDIC-CA-FR: Same.
	* EBCDIC-DK-NO: Same.
	* EBCDIC-DK-NO-A: Same.
	* EBCDIC-ES: Same.
	* EBCDIC-ES-A: Same.
	* EBCDIC-ES-S: Same.
	* EBCDIC-FI-SE: Same.
	* EBCDIC-FI-SE-A: Same.
	* EBCDIC-FR: Same.
	* EBCDIC-IS-FRISS: Same.
	* EBCDIC-IT: Same.
	* EBCDIC-PT: Same.
	* EBCDIC-UK: Same.
	* EBCDIC-US: Same.
	* ECMA-CYRILLIC: Same.
	* ES: Same.
	* ES2: Same.
	* EUC-JP: Same.
	* EUC-KR: Same.
	* EUC-TW: Same.
	* GB18030: Same.
	* GB2312: Same.
	* GB_1988-80: Same.
	* GBK: Same.
	* GEORGIAN-ACADEMY: Same.
	* GEORGIAN-PS: Same.
	* GOST_19768-74: Same.
	* GREEK-CCITT: Same.
	* GREEK7: Same.
	* GREEK7-OLD: Same.
	* HP-ROMAN8: Same.
	* IBM037: Same.
	* IBM038: Same.
	* IBM1004: Same.
	* IBM1026: Same.
	* IBM1047: Same.
	* IBM256: Same.
	* IBM273: Same.
	* IBM274: Same.
	* IBM275: Same.
	* IBM277: Same.
	* IBM278: Same.
	* IBM280: Same.
	* IBM281: Same.
	* IBM284: Same.
	* IBM285: Same.
	* IBM290: Same.
	* IBM297: Same.
	* IBM420: Same.
	* IBM423: Same.
	* IBM424: Same.
	* IBM437: Same.
	* IBM500: Same.
	* IBM850: Same.
	* IBM851: Same.
	* IBM852: Same.
	* IBM855: Same.
	* IBM857: Same.
	* IBM860: Same.
	* IBM861: Same.
	* IBM862: Same.
	* IBM863: Same.
	* IBM864: Same.
	* IBM865: Same.
	* IBM866: Same.
	* IBM868: Same.
	* IBM869: Same.
	* IBM870: Same.
	* IBM871: Same.
	* IBM874: Same.
	* IBM875: Same.
	* IBM880: Same.
	* IBM891: Same.
	* IBM903: Same.
	* IBM904: Same.
	* IBM905: Same.
	* IBM918: Same.
	* IEC_P27-1: Same.
	* INIS: Same.
	* INIS-8: Same.
	* INIS-CYRILLIC: Same.
	* INVARIANT: Same.
	* ISIRI-3342: Same.
	* ISO-8859-1: Same.
	* ISO-8859-10: Same.
	* ISO-8859-13: Same.
	* ISO-8859-14: Same.
	* ISO-8859-15: Same.
	* ISO-8859-16: Same.
	* ISO-8859-2: Same.
	* ISO-8859-3: Same.
	* ISO-8859-4: Same.
	* ISO-8859-5: Same.
	* ISO-8859-6: Same.
	* ISO-8859-7: Same.
	* ISO-8859-8: Same.
	* ISO-8859-9: Same.
	* ISO-IR-197: Same.
	* ISO-IR-209: Same.
	* ISO-IR-90: Same.
	* ISO_10367-BOX: Same.
	* ISO_10646: Same.
	* ISO_2033-1983: Same.
	* ISO_5427: Same.
	* ISO_5427-EXT: Same.
	* ISO_5428: Same.
	* ISO_646.BASIC: Same.
	* ISO_646.IRV: Same.
	* ISO_6937: Same.
	* ISO_6937-2-25: Same.
	* ISO_6937-2-ADD: Same.
	* ISO_8859-1,GL: Same.
	* ISO_8859-SUPP: Same.
	* IT: Same.
	* JIS_C6220-1969-JP: Same.
	* JIS_C6220-1969-RO: Same.
	* JIS_C6229-1984-A: Same.
	* JIS_C6229-1984-B: Same.
	* JIS_C6229-1984-B-ADD: Same.
	* JIS_C6229-1984-HAND: Same.
	* JIS_C6229-1984-HAND-ADD: Same.
	* JIS_C6229-1984-KANA: Same.
	* JIS_X0201: Same.
	* JOHAB: Same.
	* JUS_I.B1.002: Same.
	* JUS_I.B1.003-MAC: Same.
	* JUS_I.B1.003-SERB: Same.
	* KOI-8: Same.
	* KOI8-R: Same.
	* KOI8-T: Same.
	* KOI8-U: Same.
	* KSC5636: Same.
	* LATIN-GREEK: Same.
	* LATIN-GREEK-1: Same.
	* MAC-CYRILLIC: Same.
	* MAC-IS: Same.
	* MAC-SAMI: Same.
	* MAC-UK: Same.
	* MACINTOSH: Same.
	* MSZ_7795.3: Same.
	* NATS-DANO: Same.
	* NATS-DANO-ADD: Same.
	* NATS-SEFI: Same.
	* NATS-SEFI-ADD: Same.
	* NC_NC00-10: Same.
	* NEXTSTEP: Same.
	* NF_Z_62-010: Same.
	* NF_Z_62-010_1973: Same.
	* NS_4551-1: Same.
	* NS_4551-2: Same.
	* PT: Same.
	* PT2: Same.
	* SAMI: Same.
	* SAMI-WS2: Same.
	* SEN_850200_B: Same.
	* SEN_850200_C: Same.
	* Shift_JIS: Same.
	* T.101-G2: Same.
	* T.61-7BIT: Same.
	* TCVN5712-1: Same.
	* TIS-620: Same.
	* UTF-8: Same.
	* VIDEOTEX-SUPPL: Same.
	* VISCII: Same.
	* af_ZA: Same.
	* am_ET: Same.
	* ar_AE: Same.
	* ar_BH: Same.
	* ar_DZ: Same.
	* ar_EG: Same.
	* ar_IN: Same.
	* ar_IQ: Same.
	* ar_JO: Same.
	* ar_KW: Same.
	* ar_LB: Same.
	* ar_LY: Same.
	* ar_MA: Same.
	* ar_OM: Same.
	* ar_QA: Same.
	* ar_SA: Same.
	* ar_SD: Same.
	* ar_SY: Same.
	* ar_TN: Same.
	* ar_YE: Same.
	* az_AZ: Same.
	* be_BY: Same.
	* bg_BG: Same.
	* bn_IN: Same.
	* br_FR: Same.
	* bs_BA: Same.
	* ca_ES: Same.
	* ca_ES.euro: Same.
	* cs_CZ: Same.
	* cy_GB: Same.
	* da_DK: Same.
	* de_AT: Same.
	* de_AT.euro: Same.
	* de_BE: Same.
	* de_BE.euro: Same.
	* de_CH: Same.
	* de_DE: Same.
	* de_DE.euro: Same.
	* de_LU: Same.
	* de_LU.euro: Same.
	* el_GR: Same.
	* el_GR.euro: Same.
	* en_AU: Same.
	* en_BW: Same.
	* en_CA: Same.
	* en_DK: Same.
	* en_GB: Same.
	* en_HK: Same.
	* en_IE: Same.
	* en_IE.euro: Same.
	* en_IN: Same.
	* en_NZ: Same.
	* en_PH: Same.
	* en_SG: Same.
	* en_US: Same.
	* en_ZA: Same.
	* en_ZW: Same.
	* es_AR: Same.
	* es_BO: Same.
	* es_CL: Same.
	* es_CO: Same.
	* es_CR: Same.
	* es_DO: Same.
	* es_EC: Same.
	* es_ES: Same.
	* es_ES.euro: Same.
	* es_GT: Same.
	* es_HN: Same.
	* es_MX: Same.
	* es_NI: Same.
	* es_PA: Same.
	* es_PE: Same.
	* es_PR: Same.
	* es_PY: Same.
	* es_SV: Same.
	* es_US: Same.
	* es_UY: Same.
	* es_VE: Same.
	* et_EE: Same.
	* eu_ES: Same.
	* eu_ES.euro: Same.
	* fa_IR: Same.
	* fi_FI: Same.
	* fi_FI.euro: Same.
	* fo_FO: Same.
	* fr_BE: Same.
	* fr_BE.euro: Same.
	* fr_CA: Same.
	* fr_CH: Same.
	* fr_FR: Same.
	* fr_FR.euro: Same.
	* fr_LU: Same.
	* fr_LU.euro: Same.
	* ga_IE: Same.
	* ga_IE.euro: Same.
	* gd_GB: Same.
	* gl_ES: Same.
	* gl_ES.euro: Same.
	* gv_GB: Same.
	* he_IL: Same.
	* hi_IN: Same.
	* hr_HR: Same.
	* hu_HU: Same.
	* hy_AM: Same.
	* i18n: Same.
	* id_ID: Same.
	* is_IS: Same.
	* iso14651_t1: Same.
	* it_CH: Same.
	* it_IT: Same.
	* it_IT.euro: Same.
	* iw_IL: Same.
	* ja_JP: Same.
	* ka_GE: Same.
	* kl_GL: Same.
	* ko_KR: Same.
	* kw_GB: Same.
	* lt_LT: Same.
	* lv_LV: Same.
	* mi_NZ: Same.
	* mk_MK: Same.
	* mr_IN: Same.
	* ms_MY: Same.
	* mt_MT: Same.
	* nl_BE: Same.
	* nl_BE.euro: Same.
	* nl_NL: Same.
	* nl_NL.euro: Same.
	* nn_NO: Same.
	* no_NO: Same.
	* oc_FR: Same.
	* pl_PL: Same.
	* POSIX: Same.
	* pt_BR: Same.
	* pt_PT: Same.
	* pt_PT.euro: Same.
	* ro_RO: Same.
	* ru_RU: Same.
	* ru_UA: Same.
	* se_NO: Same.
	* sk_SK: Same.
	* sl_SI: Same.
	* sq_AL: Same.
	* sr_YU: Same.
	* sr_YU.cyrillic: Same.
	* sv_FI: Same.
	* sv_FI.euro: Same.
	* sv_SE: Same.
	* ta_IN: Same.
	* te_IN: Same.
	* tg_TJ: Same.
	* th_TH: Same.
	* ti_ER: Same.
	* ti_ET: Same.
	* tl_PH: Same.
	* tr_TR: Same.
	* translit_circle: Same.
	* translit_cjk_compat: Same.
	* translit_cjk_variants: Same.
	* translit_combining: Same.
	* translit_compat: Same.
	* translit_et: Same.
	* translit_font: Same.
	* translit_fraction: Same.
	* translit_hangul: Same.
	* translit_narrow: Same.
	* translit_neutral: Same.
	* translit_small: Same.
	* translit_wide: Same.
	* tt_RU: Same.
	* uk_UA: Same.
	* ur_PK: Same.
	* uz_UZ: Same.
	* vi_VN: Same.
	* yi_US: Same.
	* zh_CN: Same.
	* zh_HK: Same.
	* zh_SG: Same.
	* zh_TW: Same. 
	* 100: Same.
	* 101: Same.
	* 102: Same.
	* 1026: Same.
	* 103: Same.
	* 104: Same.
	* 1047: Same.
	* 105: Same.
	* 106: Same.
	* 107: Same.
	* 108: Same.
	* 109: Same.
	* 11: Same.
	* 110: Same.
	* 111: Same.
	* 112: Same.
	* 113: Same.
	* 114: Same.
	* 115: Same.
	* 116: Same.
	* 117: Same.
	* 118: Same.
	* 119: Same.
	* 12: Same.
	* 120: Same.
	* 121: Same.
	* 122: Same.
	* 123: Same.
	* 124: Same.
	* 125: Same.
	* 126: Same.
	* 127: Same.
	* 128: Same.
	* 129: Same.
	* 13: Same.
	* 130: Same.
	* 131: Same.
	* 132: Same.
	* 133: Same.
	* 134: Same.
	* 135: Same.
	* 136: Same.
	* 137: Same.
	* 138: Same.
	* 139: Same.
	* 14: Same.
	* 140: Same.
	* 141: Same.
	* 142: Same.
	* 143: Same.
	* 144: Same.
	* 145: Same.
	* 146: Same.
	* 147: Same.
	* 148: Same.
	* 149: Same.
	* 15: Same.
	* 150: Same.
	* 151: Same.
	* 152: Same.
	* 153: Same.
	* 154: Same.
	* 155: Same.
	* 156: Same.
	* 16: Same.
	* 17: Same.
	* 18: Same.
	* 19: Same.
	* 20: Same.
	* 21: Same.
	* 22: Same.
	* 23: Same.
	* 24: Same.
	* 25: Same.
	* 26: Same.
	* 27: Same.
	* 28: Same.
	* 29: Same.
	* 30: Same.
	* 31: Same.
	* 32: Same.
	* 33: Same.
	* 34: Same.
	* 35: Same.
	* 36: Same.
	* 37: Same.
	* 38: Same.
	* 39: Same.
	* 40: Same.
	* 41: Same.
	* 42: Same.
	* 43: Same.
	* 437: Same.
	* 44: Same.
	* 45: Same.
	* 46: Same.
	* 47: Same.
	* 48: Same.
	* 49: Same.
	* 50: Same.
	* 500: Same.
	* 500V1: Same.
	* 51: Same.
	* 52: Same.
	* 53: Same.
	* 54: Same.
	* 55: Same.
	* 56: Same.
	* 57: Same.
	* 58: Same.
	* 59: Same.
	* 60: Same.
	* 61: Same.
	* 62: Same.
	* 63: Same.
	* 64: Same.
	* 65: Same.
	* 66: Same.
	* 67: Same.
	* 68: Same.
	* 69: Same.
	* 70: Same.
	* 71: Same.
	* 72: Same.
	* 73: Same.
	* 74: Same.
	* 75: Same.
	* 76: Same.
	* 77: Same.
	* 78: Same.
	* 79: Same.
	* 80: Same.
	* 81: Same.
	* 82: Same.
	* 83: Same.
	* 84: Same.
	* 85: Same.
	* 850: Same.
	* 851: Same.
	* 852: Same.
	* 855: Same.
	* 857: Same.
	* 86: Same.
	* 860: Same.
	* 861: Same.
	* 862: Same.
	* 863: Same.
	* 865: Same.
	* 869: Same.
	* 87: Same.
	* 88: Same.
	* 89: Same.
	* 90: Same.
	* 904: Same.
	* 91: Same.
	* 92: Same.
	* 93: Same.
	* 94: Same.
	* 95: Same.
	* 96: Same.
	* 97: Same.
	* 98: Same.
	* 99: Same.
	* ANSI_X3.110-1983: Same.
	* ANSI_X3.4-1968: Same.
	* ANSI_X3.4-1986: Same.
	* ARABIC: Same.
	* ARABIC7: Same.
	* ASCII: Same.
	* ASMO-708: Same.
	* ASMO_449: Same.
	* BALTIC: Same.
	* BS_4730: Same.
	* BS_VIEWDATA: Same.
	* CA: Same.
	* CN: Same.
	* CP-AR: Same.
	* CP-GR: Same.
	* CP-HU: Same.
	* CP-IS: Same.
	* CP037: Same.
	* CP038: Same.
	* CP1004: Same.
	* CP1026: Same.
	* CP1047: Same.
	* CP1250: Same.
	* CP1251: Same.
	* CP1252: Same.
	* CP1253: Same.
	* CP1254: Same.
	* CP1255: Same.
	* CP1256: Same.
	* CP1257: Same.
	* CP273: Same.
	* CP274: Same.
	* CP275: Same.
	* CP278: Same.
	* CP280: Same.
	* CP281: Same.
	* CP284: Same.
	* CP285: Same.
	* CP290: Same.
	* CP297: Same.
	* CP367: Same.
	* CP420: Same.
	* CP423: Same.
	* CP424: Same.
	* CP437: Same.
	* CP500: Same.
	* CP819: Same.
	* CP850: Same.
	* CP851: Same.
	* CP852: Same.
	* CP855: Same.
	* CP857: Same.
	* CP860: Same.
	* CP861: Same.
	* CP862: Same.
	* CP863: Same.
	* CP864: Same.
	* CP865: Same.
	* CP868: Same.
	* CP869: Same.
	* CP870: Same.
	* CP871: Same.
	* CP875: Same.
	* CP880: Same.
	* CP891: Same.
	* CP903: Same.
	* CP904: Same.
	* CP905: Same.
	* CP918: Same.
	* CSA7-1: Same.
	* CSA7-2: Same.
	* CSA_T500-1983: Same.
	* CSA_Z243.4-1985-1: Same.
	* CSA_Z243.4-1985-2: Same.
	* CSA_Z243.4-1985-GR: Same.
	* CSN_369103: Same.
	* CUBA: Same.
	* CWI: Same.
	* CWI-2: Same.
	* CYRILLIC: Same.
	* DE: Same.
	* DEC: Same.
	* DEC-MCS: Same.
	* DIN_66003: Same.
	* DK: Same.
	* DS2089: Same.
	* DS_2089: Same.
	* E13B: Same.
	* EBCDIC-AT-DE: Same.
	* EBCDIC-AT-DE-A: Same.
	* EBCDIC-BE: Same.
	* EBCDIC-BR: Same.
	* EBCDIC-CA-FR: Same.
	* EBCDIC-CP-AR1: Same.
	* EBCDIC-CP-AR2: Same.
	* EBCDIC-CP-BE: Same.
	* EBCDIC-CP-CA: Same.
	* EBCDIC-CP-CH: Same.
	* EBCDIC-CP-DK: Same.
	* EBCDIC-CP-ES: Same.
	* EBCDIC-CP-FI: Same.
	* EBCDIC-CP-FR: Same.
	* EBCDIC-CP-GB: Same.
	* EBCDIC-CP-GR: Same.
	* EBCDIC-CP-HE: Same.
	* EBCDIC-CP-IS: Same.
	* EBCDIC-CP-IT: Same.
	* EBCDIC-CP-NL: Same.
	* EBCDIC-CP-NO: Same.
	* EBCDIC-CP-ROECE: Same.
	* EBCDIC-CP-SE: Same.
	* EBCDIC-CP-TR: Same.
	* EBCDIC-CP-US: Same.
	* EBCDIC-CP-WT: Same.
	* EBCDIC-CP-YU: Same.
	* EBCDIC-CYRILLIC: Same.
	* EBCDIC-DK-NO: Same.
	* EBCDIC-DK-NO-A: Same.
	* EBCDIC-ES: Same.
	* EBCDIC-ES-A: Same.
	* EBCDIC-ES-S: Same.
	* EBCDIC-FI-SE: Same.
	* EBCDIC-FI-SE-A: Same.
	* EBCDIC-FR: Same.
	* EBCDIC-GREEK: Same.
	* EBCDIC-INT: Same.
	* EBCDIC-INT1: Same.
	* EBCDIC-IS-FRISS: Same.
	* EBCDIC-IT: Same.
	* EBCDIC-JP-E: Same.
	* EBCDIC-JP-KANA: Same.
	* EBCDIC-PT: Same.
	* EBCDIC-UK: Same.
	* EBCDIC-US: Same.
	* ECMA-114: Same.
	* ECMA-118: Same.
	* ECMA-CYRILLIC: Same.
	* ELOT_928: Same.
	* ES: Same.
	* ES2: Same.
	* FR: Same.
	* FRISS: Same.
	* GB: Same.
	* GB_1988-80: Same.
	* GOST_19768-74: Same.
	* GREEK: Same.
	* GREEK-CCITT: Same.
	* GREEK7: Same.
	* GREEK7-OLD: Same.
	* GREEK8: Same.
	* HEBREW: Same.
	* HP-ROMAN8: Same.
	* HU: Same.
	* IBM037: Same.
	* IBM038: Same.
	* IBM1004: Same.
	* IBM1026: Same.
	* IBM1047: Same.
	* IBM256: Same.
	* IBM273: Same.
	* IBM274: Same.
	* IBM275: Same.
	* IBM277: Same.
	* IBM278: Same.
	* IBM280: Same.
	* IBM281: Same.
	* IBM284: Same.
	* IBM285: Same.
	* IBM290: Same.
	* IBM297: Same.
	* IBM367: Same.
	* IBM420: Same.
	* IBM423: Same.
	* IBM424: Same.
	* IBM437: Same.
	* IBM500: Same.
	* IBM819: Same.
	* IBM850: Same.
	* IBM851: Same.
	* IBM852: Same.
	* IBM855: Same.
	* IBM857: Same.
	* IBM860: Same.
	* IBM861: Same.
	* IBM862: Same.
	* IBM863: Same.
	* IBM864: Same.
	* IBM865: Same.
	* IBM868: Same.
	* IBM869: Same.
	* IBM870: Same.
	* IBM871: Same.
	* IBM875: Same.
	* IBM880: Same.
	* IBM891: Same.
	* IBM903: Same.
	* IBM904: Same.
	* IBM905: Same.
	* IBM918: Same.
	* IEC_P27-1: Same.
	* INIS: Same.
	* INIS-8: Same.
	* INIS-CYRILLIC: Same.
	* INVARIANT: Same.
	* IRV: Same.
	* ISO-8859-1: Same.
	* ISO-8859-10: Same.
	* ISO-8859-15: Same.
	* ISO-8859-2: Same.
	* ISO-8859-3: Same.
	* ISO-8859-4: Same.
	* ISO-8859-5: Same.
	* ISO-8859-6: Same.
	* ISO-8859-7: Same.
	* ISO-8859-8: Same.
	* ISO-8859-9: Same.
	* ISO-IR-100: Same.
	* ISO-IR-101: Same.
	* ISO-IR-109: Same.
	* ISO-IR-110: Same.
	* ISO-IR-111: Same.
	* ISO-IR-121: Same.
	* ISO-IR-122: Same.
	* ISO-IR-123: Same.
	* ISO-IR-126: Same.
	* ISO-IR-127: Same.
	* ISO-IR-13: Same.
	* ISO-IR-138: Same.
	* ISO-IR-139: Same.
	* ISO-IR-14: Same.
	* ISO-IR-141: Same.
	* ISO-IR-142: Same.
	* ISO-IR-143: Same.
	* ISO-IR-144: Same.
	* ISO-IR-146: Same.
	* ISO-IR-147: Same.
	* ISO-IR-148: Same.
	* ISO-IR-15: Same.
	* ISO-IR-150: Same.
	* ISO-IR-151: Same.
	* ISO-IR-152: Same.
	* ISO-IR-153: Same.
	* ISO-IR-154: Same.
	* ISO-IR-155: Same.
	* ISO-IR-156: Same.
	* ISO-IR-157: Same.
	* ISO-IR-17: Same.
	* ISO-IR-170: Same.
	* ISO-IR-179: Same.
	* ISO-IR-18: Same.
	* ISO-IR-19: Same.
	* ISO-IR-2: Same.
	* ISO-IR-21: Same.
	* ISO-IR-27: Same.
	* ISO-IR-37: Same.
	* ISO-IR-4: Same.
	* ISO-IR-47: Same.
	* ISO-IR-49: Same.
	* ISO-IR-50: Same.
	* ISO-IR-51: Same.
	* ISO-IR-54: Same.
	* ISO-IR-55: Same.
	* ISO-IR-57: Same.
	* ISO-IR-6: Same.
	* ISO-IR-69: Same.
	* ISO-IR-8-1: Same.
	* ISO-IR-8-2: Same.
	* ISO-IR-85: Same.
	* ISO-IR-86: Same.
	* ISO-IR-88: Same.
	* ISO-IR-89: Same.
	* ISO-IR-9-1: Same.
	* ISO-IR-9-2: Same.
	* ISO-IR-90: Same.
	* ISO-IR-91: Same.
	* ISO-IR-92: Same.
	* ISO-IR-93: Same.
	* ISO-IR-94: Same.
	* ISO-IR-95: Same.
	* ISO-IR-96: Same.
	* ISO-IR-98: Same.
	* ISO-IR-99: Same.
	* ISO646-CA: Same.
	* ISO646-CA2: Same.
	* ISO646-CN: Same.
	* ISO646-CU: Same.
	* ISO646-DE: Same.
	* ISO646-DK: Same.
	* ISO646-ES: Same.
	* ISO646-ES2: Same.
	* ISO646-FR: Same.
	* ISO646-GB: Same.
	* ISO646-HU: Same.
	* ISO646-IT: Same.
	* ISO646-JP: Same.
	* ISO646-JP-OCR-B: Same.
	* ISO646-KR: Same.
	* ISO646-US: Same.
	* ISO646-YU: Same.
	* ISO6937: Same.
	* ISO_10367-BOX: Same.
	* ISO_2033-1983: Same.
	* ISO_5427: Same.
	* ISO_5427-EXT: Same.
	* ISO_5427.1981: Same.
	* ISO_5428: Same.
	* ISO_5428.1980: Same.
	* ISO_646.BASIC: Same.
	* ISO_646.BASIC.1983: Same.
	* ISO_646.IRV.1983: Same.
	* ISO_646.IRV.1991: Same.
	* ISO_6937: Same.
	* ISO_6937-2-25: Same.
	* ISO_6937-2-ADD: Same.
	* ISO_6937-2.1983: Same.
	* ISO_6937.1992: Same.
	* ISO_8859-1: Same.
	* ISO_8859-1,GL: Same.
	* ISO_8859-1.1987: Same.
	* ISO_8859-10: Same.
	* ISO_8859-10.1993: Same.
	* ISO_8859-2: Same.
	* ISO_8859-2.1987: Same.
	* ISO_8859-3: Same.
	* ISO_8859-3.1988: Same.
	* ISO_8859-4: Same.
	* ISO_8859-4.1988: Same.
	* ISO_8859-5: Same.
	* ISO_8859-5.1988: Same.
	* ISO_8859-6: Same.
	* ISO_8859-6.1987: Same.
	* ISO_8859-7: Same.
	* ISO_8859-7.1987: Same.
	* ISO_8859-8: Same.
	* ISO_8859-8.1988: Same.
	* ISO_8859-9: Same.
	* ISO_8859-9.1989: Same.
	* ISO_8859-SUPP: Same.
	* ISO_9036: Same.
	* IT: Same.
	* JIS_C6220-1969: Same.
	* JIS_C6220-1969-JP: Same.
	* JIS_C6220-1969-RO: Same.
	* JIS_C6229-1984-A: Same.
	* JIS_C6229-1984-B: Same.
	* JIS_C6229-1984-B-ADD: Same.
	* JIS_C6229-1984-HAND: Same.
	* JIS_C6229-1984-HAND-ADD: Same.
	* JIS_C6229-1984-KANA: Same.
	* JIS_X0201: Same.
	* JP: Same.
	* JP-OCR-A: Same.
	* JP-OCR-B: Same.
	* JP-OCR-B-ADD: Same.
	* JP-OCR-HAND: Same.
	* JP-OCR-HAND-ADD: Same.
	* JS: Same.
	* JUS_I.B1.002: Same.
	* JUS_I.B1.003-MAC: Same.
	* JUS_I.B1.003-SERB: Same.
	* KATAKANA: Same.
	* KOI-7: Same.
	* KOI-8: Same.
	* KOI8-R: Same.
	* KOI8-RU: Same.
	* KOI8-U: Same.
	* KSC5636: Same.
	* L1: Same.
	* L2: Same.
	* L3: Same.
	* L4: Same.
	* L5: Same.
	* L6: Same.
	* LATIN-GREEK: Same.
	* LATIN-GREEK-1: Same.
	* LATIN1: Same.
	* LATIN1-2-5: Same.
	* LATIN2: Same.
	* LATIN3: Same.
	* LATIN4: Same.
	* LATIN5: Same.
	* LATIN6: Same.
	* MAC: Same.
	* MAC-IS: Same.
	* MACEDONIAN: Same.
	* MACINTOSH: Same.
	* MS-ANSI: Same.
	* MS-ARAB: Same.
	* MS-CYRL: Same.
	* MS-EE: Same.
	* MS-GREEK: Same.
	* MS-HEBR: Same.
	* MS-TURK: Same.
	* MSZ_7795.3: Same.
	* NAPLPS: Same.
	* NATS-DANO: Same.
	* NATS-DANO-ADD: Same.
	* NATS-SEFI: Same.
	* NATS-SEFI-ADD: Same.
	* NC_NC00-10: Same.
	* NC_NC00-10.81: Same.
	* NEXT: Same.
	* NEXTSTEP: Same.
	* NF_Z_62-010: Same.
	* NF_Z_62-010_1973: Same.
	* NS_4551-1: Same.
	* NS_4551-2: Same.
	* OS2LATIN1: Same.
	* PT: Same.
	* PT2: Same.
	* R8: Same.
	* REF: Same.
	* ROMAN8: Same.
	* SAMI: Same.
	* SEN_850200_B: Same.
	* SEN_850200_C: Same.
	* SERBIAN: Same.
	* ST_SEV_358-88: Same.
	* T.101-G2: Same.
	* T.61-7BIT: Same.
	* T.61-8BIT: Same.
	* UK: Same.
	* US: Same.
	* US-ASCII: Same.
	* VIDEOTEX-SUPPL: Same.
	* WINBALTRIM: Same.
	* X0201: Same.
	* X0201-7: Same.
	* YU: Same.
	* cs_CZ: Same.
	* da_DK: Same.
	* da_EU: Same.
	* de_AT: Same.
	* de_BE: Same.
	* de_CH: Same.
	* de_DE: Same.
	* de_EU: Same.
	* de_LU: Same.
	* el_EU: Same.
	* el_GR: Same.
	* en_AU: Same.
	* en_CA: Same.
	* en_DK: Same.
	* en_EU: Same.
	* en_GB: Same.
	* en_IE: Same.
	* en_NZ: Same.
	* en_US: Same.
	* es_AR: Same.
	* es_BO: Same.
	* es_CL: Same.
	* es_CO: Same.
	* es_DO: Same.
	* es_EC: Same.
	* es_ES: Same.
	* es_EU: Same.
	* es_GT: Same.
	* es_HN: Same.
	* es_MX: Same.
	* es_PA: Same.
	* es_PE: Same.
	* es_PY: Same.
	* es_SV: Same.
	* es_US: Same.
	* es_UY: Same.
	* es_VE: Same.
	* et_EE: Same.
	* eu_ES: Same.
	* fi_EU: Same.
	* fi_FI: Same.
	* fo_FO: Same.
	* fr_BE: Same.
	* fr_CA: Same.
	* fr_CH: Same.
	* fr_EU: Same.
	* fr_FR: Same.
	* fr_LU: Same.
	* ga_EU: Same.
	* ga_IE: Same.
	* gl_ES: Same.
	* he_IL: Same.
	* hr_HR: Same.
	* hu_HU: Same.
	* id_ID: Same.
	* is_EU: Same.
	* is_IS: Same.
	* it_EU: Same.
	* it_IT: Same.
	* iw_IL: Same.
	* kl_GL: Same.
	* lt_LT: Same.
	* lv_LV: Same.
	* nl_BE: Same.
	* nl_EU: Same.
	* nl_NL: Same.
	* no_EU: Same.
	* no_NO: Same.
	* pl_PL: Same.
	* POSIX: Same.
	* pt_BR: Same.
	* pt_EU: Same.
	* pt_PT: Same.
	* ro_RO: Same.
	* ru_RU: Same.
	* sl_SI: Same.
	* sv_EU: Same.
	* sv_FI: Same.
	* sv_SE: Same.
	* tr_TR: Same.

2007-09-20 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-560
	* configure.bat: Added ASL header.
	* generate.bat: Ditto.

2007-09-19  Martin Sebor  <sebor@roguewave.com>

	* rwstderr.msg: Added missing space after the comment character
	to prevent pedantic gencat errors on Linux.

2007-09-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-406
	* GNUmakefile.lib [Compaq C++] (SOBJS): Explicitly added all object
	files from template repository to the archive when building the lib
	with Compaq (HP) C++ on Tru64 UNIX as documented in the manual:
	http://h30097.www3.hp.com/cplus/ugutmpl.htm#templ_chap

2007-09-19 Farid Zaripov <Farid_Zaripov@epam.com>

	* build.wsf (BuildProject): Remove temporary checks (used
	for investigating of the problem with build on icc).

2007-09-19 Farid Zaripov <Farid_Zaripov@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-19  Martin Sebor  <sebor@roguewave.com>

	* _messages.cc (do_close): Qualified argument type to work around
	a Sun C++ 5.8 (and prior) bug.

2007-09-19 Farid Zaripov <Farid_Zaripov@epam.com>

	* _messages.h: Reverted changes from r577000 because
	they are obsolete since r577098.
	messages.cpp: Ditto.

2007-09-18  Martin Sebor  <sebor@roguewave.com>

	STDCXX-457
	* path.h: Added the required ASL header.

2007-09-18  Martin Sebor  <sebor@roguewave.com>

	STDCXX-457
	* rwstderr.rc: Added a comment with the required ASL header.
	Comment format according to:
	http://msdn2.microsoft.com/en-us/library/aa380896.aspx

2007-09-18  Martin Sebor  <sebor@roguewave.com>

	* rwstderr.msg: Added the RCS Id keyword.

2007-09-18  Martin Sebor  <sebor@roguewave.com>

	STDCXX-457
	* rwstderr.msg: Added a comment with the required ASL header.

20070-09-18 Travis Vitek <vitek@roguewave.com>

	STDCXX-559
	* index.html: Add ASL header.
	* rw.css: Same.
	* rwbanner.css: Same.

20070-09-18 Travis Vitek <vitek@roguewave.com>

	STDCXX-559
	* 1-1.html: Add ASL header.
	* 1-2.html: Same.
	* 1-3.html: Same.
	* 1-4.html: Same.
	* 1-5.html: Same.
	* 1-6.html: Same.
	* 1-7.html: Same.
	* 1.html: Same.
	* 10-1.html: Same.
	* 10-2.html: Same.
	* 10-3.html: Same.
	* 10.html: Same.
	* 11-1.html: Same.
	* 11-2.html: Same.
	* 11-3.html: Same.
	* 11.html: Same.
	* 12-1.html: Same.
	* 12-2.html: Same.
	* 12-3.html: Same.
	* 12.html: Same.
	* 13-1.html: Same.
	* 13-2.html: Same.
	* 13-3.html: Same.
	* 13-4.html: Same.
	* 13-5.html: Same.
	* 13-6.html: Same.
	* 13-7.html: Same.
	* 13-8.html: Same.
	* 13.html: Same.
	* 14-1.html: Same.
	* 14-2.html: Same.
	* 14-3.html: Same.
	* 14-4.html: Same.
	* 14-5.html: Same.
	* 14-6.html: Same.
	* 14-7.html: Same.
	* 14.html: Same.
	* 15-1.html: Same.
	* 15-2.html: Same.
	* 15-3.html: Same.
	* 15.html: Same.
	* 16-1.html: Same.
	* 16-2.html: Same.
	* 16-3.html: Same.
	* 16-4.html: Same.
	* 16.html: Same.
	* 17-1.html: Same.
	* 17-2.html: Same.
	* 17.html: Same.
	* 18-1.html: Same.
	* 18-2.html: Same.
	* 18-3.html: Same.
	* 18-4.html: Same.
	* 18.html: Same.
	* 19-1.html: Same.
	* 19-2.html: Same.
	* 19.html: Same.
	* 2-1.html: Same.
	* 2-2.html: Same.
	* 2-3.html: Same.
	* 2-4.html: Same.
	* 2-5.html: Same.
	* 2.html: Same.
	* 20-1.html: Same.
	* 20-2.html: Same.
	* 20-3.html: Same.
	* 20.html: Same.
	* 21-1.html: Same.
	* 21-2.html: Same.
	* 21-3.html: Same.
	* 21.html: Same.
	* 22-1.html: Same.
	* 22-2.html: Same.
	* 22-3.html: Same.
	* 22-4.html: Same.
	* 22-5.html: Same.
	* 22-6.html: Same.
	* 22-7.html: Same.
	* 22.html: Same.
	* 23-1.html: Same.
	* 23-2.html: Same.
	* 23-3.html: Same.
	* 23-4.html: Same.
	* 23.html: Same.
	* 24-1.html: Same.
	* 24-2.html: Same.
	* 24-3.html: Same.
	* 24-4.html: Same.
	* 24.html: Same.
	* 25-1.html: Same.
	* 25-2.html: Same.
	* 25-3.html: Same.
	* 25-4.html: Same.
	* 25-5.html: Same.
	* 25-6.html: Same.
	* 25.html: Same.
	* 26-1.html: Same.
	* 26-2.html: Same.
	* 26-3.html: Same.
	* 26-4.html: Same.
	* 26-5.html: Same.
	* 26-6.html: Same.
	* 26-7.html: Same.
	* 26-8.html: Same.
	* 26-9.html: Same.
	* 26.html: Same.
	* 27-1.html: Same.
	* 27-2.html: Same.
	* 27-3.html: Same.
	* 27-4.html: Same.
	* 27.html: Same.
	* 28-1.html: Same.
	* 28-2.html: Same.
	* 28-3.html: Same.
	* 28-4.html: Same.
	* 28-5.html: Same.
	* 28.html: Same.
	* 29-1.html: Same.
	* 29-2.html: Same.
	* 29-3.html: Same.
	* 29.html: Same.
	* 3-1.html: Same.
	* 3-2.html: Same.
	* 3-3.html: Same.
	* 3-4.html: Same.
	* 3-5.html: Same.
	* 3.html: Same.
	* 30-1.html: Same.
	* 30-2.html: Same.
	* 30-3.html: Same.
	* 30-4.html: Same.
	* 30-5.html: Same.
	* 30.html: Same.
	* 31-1.html: Same.
	* 31-2.html: Same.
	* 31-3.html: Same.
	* 31.html: Same.
	* 32-1.html: Same.
	* 32-2.html: Same.
	* 32-3.html: Same.
	* 32-4.html: Same.
	* 32-5.html: Same.
	* 32-6.html: Same.
	* 32.html: Same.
	* 33-1.html: Same.
	* 33-2.html: Same.
	* 33-3.html: Same.
	* 33.html: Same.
	* 34-1.html: Same.
	* 34-2.html: Same.
	* 34-3.html: Same.
	* 34-4.html: Same.
	* 34.html: Same.
	* 35-1.html: Same.
	* 35-2.html: Same.
	* 35-3.html: Same.
	* 35-4.html: Same.
	* 35-5.html: Same.
	* 35-6.html: Same.
	* 35.html: Same.
	* 36-1.html: Same.
	* 36-2.html: Same.
	* 36-3.html: Same.
	* 36-4.html: Same.
	* 36.html: Same.
	* 37-1.html: Same.
	* 37-2.html: Same.
	* 37.html: Same.
	* 38-1.html: Same.
	* 38-2.html: Same.
	* 38-3.html: Same.
	* 38-4.html: Same.
	* 38-5.html: Same.
	* 38.html: Same.
	* 39-1.html: Same.
	* 39-2.html: Same.
	* 39-3.html: Same.
	* 39.html: Same.
	* 4-1.html: Same.
	* 4-2.html: Same.
	* 4-3.html: Same.
	* 4-4.html: Same.
	* 4.html: Same.
	* 40-1.html: Same.
	* 40-2.html: Same.
	* 40-3.html: Same.
	* 40-4.html: Same.
	* 40-5.html: Same.
	* 40.html: Same.
	* 41-1.html: Same.
	* 41-2.html: Same.
	* 41-3.html: Same.
	* 41.html: Same.
	* 42-1.html: Same.
	* 42-2.html: Same.
	* 42-3.html: Same.
	* 42.html: Same.
	* 43-1.html: Same.
	* 43-2.html: Same.
	* 43-3.html: Same.
	* 43-4.html: Same.
	* 43.html: Same.
	* 44-1.html: Same.
	* 44-2.html: Same.
	* 44.html: Same.
	* 45-1.html: Same.
	* 45-2.html: Same.
	* 45-3.html: Same.
	* 45-4.html: Same.
	* 45-5.html: Same.
	* 45.html: Same.
	* 46-1.html: Same.
	* 46.html: Same.
	* 5-1.html: Same.
	* 5-2.html: Same.
	* 5-3.html: Same.
	* 5-4.html: Same.
	* 5.html: Same.
	* 6-1.html: Same.
	* 6-2.html: Same.
	* 6-3.html: Same.
	* 6.html: Same.
	* 7-1.html: Same.
	* 7-2.html: Same.
	* 7-3.html: Same.
	* 7.html: Same.
	* 8-1.html: Same.
	* 8-2.html: Same.
	* 8-3.html: Same.
	* 8-4.html: Same.
	* 8.html: Same.
	* 9-1.html: Same.
	* 9-2.html: Same.
	* 9-3.html: Same.
	* 9.html: Same.
	* acknow.html: Same.
	* booktoc.html: Same.
	* contact.html: Same.
	* copyright.html: Same.
	* frames-banner.html: Same.
	* frames-contents-all.html: Same.
	* frames-contents-chapter.html: Same.
	* frames-displayarea.html: Same.
	* frames-intro-contents.html: Same.
	* frames-intro-text.html: Same.
	* frames-tindex-contents.html: Same.
	* frames-tindex.html: Same.
	* I.html: Same.
	* II.html: Same.
	* III.html: Same.
	* index.html: Same.
	* IV.html: Same.
	* lists.html: Same.
	* noframes.html: Same.
	* tindex.html: Same.
	* V.html: Same.
	* VI.html: Same.
	* VII.html: Same.
	* VIII.html: Same.

20070-09-18 Travis Vitek <vitek@roguewave.com>

	STDCXX-559
	* --distance-type.html: Add ASL header
	* --iterator-category.html: Same. 	
	* 1-1.html: Same.
	* 1-2.html: Same.
	* 1-3.html: Same.
	* 1.html: Same.
	* 2-1.html: Same.
	* 2-10.html: Same.
	* 2-11.html: Same.
	* 2-2.html: Same.
	* 2-3.html: Same.
	* 2-4.html: Same.
	* 2-5.html: Same.
	* 2-6.html: Same.
	* 2-7.html: Same.
	* 2-8.html: Same.
	* 2-9.html: Same.
	* 2.html: Same.
	* A-1.html: Same.
	* A-2.html: Same.
	* A-3.html: Same.
	* A.html: Same.
	* accumulate.html: Same.
	* acknow.html: Same.
	* adjacent-difference.html: Same.
	* adjacent-find.html: Same.
	* advance.html: Same.
	* algorithm-h.html: Same.
	* algorithms.html: Same.
	* allocator.html: Same.
	* associativecontainers.html: Same.
	* auto-ptr.html: Same.
	* B.html: Same.
	* back-insert-iterator.html: Same.
	* bad-alloc.html: Same.
	* bad-cast.html: Same.
	* bad-exception.html: Same.
	* bad-typeid.html: Same.
	* basic-filebuf.html: Same.
	* basic-fstream.html: Same.
	* basic-ifstream.html: Same.
	* basic-ios.html: Same.
	* basic-iostream.html: Same.
	* basic-istream.html: Same.
	* basic-istringstream.html: Same.
	* basic-ofstream.html: Same.
	* basic-ostream.html: Same.
	* basic-ostringstream.html: Same.
	* basic-streambuf.html: Same.
	* basic-string.html: Same.
	* basic-stringbuf.html: Same.
	* basic-stringstream.html: Same.
	* bidirectionaliterators.html: Same.
	* binary-function.html: Same.
	* binary-negate.html: Same.
	* binary-search.html: Same.
	* bind1st.html: Same.
	* bitmasktypes.html: Same.
	* bitset.html: Same.
	* booktoc.html: Same.
	* cerr.html: Same.
	* char-traits.html: Same.
	* cin.html: Same.
	* clog.html: Same.
	* codecvt-byname.html: Same.
	* codecvt.html: Same.
	* collate.html: Same.
	* compare.html: Same.
	* complex-h.html: Same.
	* complex.html: Same.
	* contact.html: Same.
	* containers.html: Same.
	* copy.html: Same.
	* copyright.html: Same.
	* count.html: Same.
	* cout.html: Same.
	* ctype-byname.html: Same.
	* ctype.html: Same.
	* deque-h.html: Same.
	* deque.html: Same.
	* distance.html: Same.
	* divides.html: Same.
	* domain-error.html: Same.
	* equal-range.html: Same.
	* equal-to.html: Same.
	* equal.html: Same.
	* exception-h.html: Same.
	* exception.html: Same.
	* exceptions.html: Same.
	* facets.html: Same.
	* fill.html: Same.
	* find-end.html: Same.
	* find-first-of.html: Same.
	* find-if.html: Same.
	* find.html: Same.
	* for-each.html: Same.
	* forwarditerators.html: Same.
	* fpos.html: Same.
	* frames-banner.html: Same.
	* frames-classes-alpha.html: Same.
	* frames-classes-func.html: Same.
	* frames-displayarea.html: Same.
	* frames-intro-contents.html: Same.
	* frames-intro-text.html: Same.
	* frames-tindex-contents.html: Same.
	* frames-tindex.html: Same.
	* front-insert-iterator.html: Same.
	* fstream-h.html: Same.
	* functional-h.html: Same.
	* functionobjects.html: Same.
	* functoc.html: Same.
	* generate.html: Same.
	* get-temporary-buffer.html: Same.
	* greater-equal.html: Same.
	* greater.html: Same.
	* gslice-array.html: Same.
	* gslice.html: Same.
	* has-facet.html: Same.
	* heapoperations.html: Same.
	* I.html: Same.
	* II.html: Same.
	* III.html: Same.
	* includes.html: Same.
	* index.html: Same.
	* indirect-array.html: Same.
	* inner-product.html: Same.
	* inplace-merge.html: Same.
	* inputiterators.html: Same.
	* insert-iterator.html: Same.
	* insertiterators.html: Same.
	* invalid-argument.html: Same.
	* iomanip-h.html: Same.
	* ios-base--failure.html: Same.
	* ios-base.html: Same.
	* ios-h.html: Same.
	* iosfwd-h.html: Same.
	* iostream-h.html: Same.
	* isalnum.html: Same.
	* isalpha.html: Same.
	* iscntrl.html: Same.
	* isdigit.html: Same.
	* isgraph.html: Same.
	* islower.html: Same.
	* isprint.html: Same.
	* ispunct.html: Same.
	* isspace.html: Same.
	* istream-h.html: Same.
	* istream-iterator.html: Same.
	* istreambuf-iterator.html: Same.
	* istrstream.html: Same.
	* isupper.html: Same.
	* isxdigit.html: Same.
	* iter-swap.html: Same.
	* iterator-h.html: Same.
	* iterator-traits.html: Same.
	* iterator.html: Same.
	* iterators.html: Same.
	* IV.html: Same.
	* length-error.html: Same.
	* less-equal.html: Same.
	* less.html: Same.
	* lexicographical-compare.html: Same.
	* limits-h.html: Same.
	* list-h.html: Same.
	* list.html: Same.
	* lists.html: Same.
	* locale-h.html: Same.
	* locale.html: Same.
	* localedefutility.html: Same.
	* localeutility.html: Same.
	* logic-error.html: Same.
	* logical-and.html: Same.
	* logical-not.html: Same.
	* logical-or.html: Same.
	* lower-bound.html: Same.
	* make-heap.html: Same.
	* map-h.html: Same.
	* map.html: Same.
	* mask-array.html: Same.
	* max-element.html: Same.
	* max.html: Same.
	* mem-fun.html: Same.
	* memory-h.html: Same.
	* merge.html: Same.
	* messages.html: Same.
	* min-element.html: Same.
	* min.html: Same.
	* minus.html: Same.
	* mismatch.html: Same.
	* modulus.html: Same.
	* money-get.html: Same.
	* money-put.html: Same.
	* moneypunct.html: Same.
	* multimap.html: Same.
	* multiplies.html: Same.
	* multiset.html: Same.
	* negate.html: Same.
	* negators.html: Same.
	* new-h.html: Same.
	* next-permutation.html: Same.
	* noframes.html: Same.
	* not-equal-to.html: Same.
	* not1.html: Same.
	* not2.html: Same.
	* nth-element.html: Same.
	* num-get.html: Same.
	* num-put.html: Same.
	* numeric-h.html: Same.
	* numeric-limits.html: Same.
	* numpunct.html: Same.
	* operatordelete.html: Same.
	* operatornew.html: Same.
	* operators.html: Same.
	* ostream-h.html: Same.
	* ostream-iterator.html: Same.
	* ostreambuf-iterator.html: Same.
	* ostrstream.html: Same.
	* out-of-range.html: Same.
	* outputiterators.html: Same.
	* overflow-error.html: Same.
	* pair.html: Same.
	* partial-sort-copy.html: Same.
	* partial-sort.html: Same.
	* partial-sum.html: Same.
	* partition.html: Same.
	* plus.html: Same.
	* pointer-to-binary-function.html: Same.
	* pointer-to-unary-function.html: Same.
	* pop-heap.html: Same.
	* predicates.html: Same.
	* prev-permutation.html: Same.
	* priority-queue.html: Same.
	* ptr-fun.html: Same.
	* push-heap.html: Same.
	* queue-h.html: Same.
	* queue.html: Same.
	* random-shuffle.html: Same.
	* randomaccessiterators.html: Same.
	* range-error.html: Same.
	* raw-storage-iterator.html: Same.
	* remove-copy-if.html: Same.
	* remove-copy.html: Same.
	* remove-if.html: Same.
	* remove.html: Same.
	* replace-copy-if.html: Same.
	* replace-copy.html: Same.
	* replace-if.html: Same.
	* replace.html: Same.
	* return-temporary-buffer.html: Same.
	* reverse-copy.html: Same.
	* reverse-iterator.html: Same.
	* reverse.html: Same.
	* rotate.html: Same.
	* runtime-error.html: Same.
	* search.html: Same.
	* sequences.html: Same.
	* set-difference.html: Same.
	* set-h.html: Same.
	* set-intersection.html: Same.
	* set-symmetric-difference.html: Same.
	* set-union.html: Same.
	* set.html: Same.
	* slice-array.html: Same.
	* slice.html: Same.
	* sort-heap.html: Same.
	* sort.html: Same.
	* sstream-h.html: Same.
	* stable-partition.html: Same.
	* stable-sort.html: Same.
	* stack-h.html: Same.
	* stack.html: Same.
	* stdexcept-h.html: Same.
	* streambuf-h.html: Same.
	* streamiterators.html: Same.
	* string-h.html: Same.
	* string.html: Same.
	* strstream-h.html: Same.
	* strstream.html: Same.
	* strstreambuf.html: Same.
	* swap-ranges.html: Same.
	* swap.html: Same.
	* time-get-byname.html: Same.
	* time-get.html: Same.
	* time-put-byname.html: Same.
	* time-put.html: Same.
	* tindex.html: Same.
	* tolower.html: Same.
	* toupper.html: Same.
	* transform.html: Same.
	* typeinfo-h.html: Same.
	* unary-function.html: Same.
	* unary-negate.html: Same.
	* underflow-error.html: Same.
	* uninitialized-copy.html: Same.
	* uninitialized-fill-n.html: Same.
	* uninitialized-fill.html: Same.
	* unique.html: Same.
	* upper-bound.html: Same.
	* use-facet.html: Same.
	* utility-h.html: Same.
	* valarray-h.html: Same.
	* valarray.html: Same.
	* vector-h.html: Same.
	* vector.html: Same.
	* wcerr.html: Same.
	* wcin.html: Same.
	* wclog.html: Same.
	* wcout.html: Same.
	* wstring.html: Same.

2007-09-18  Martin Sebor  <sebor@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  Martin Sebor  <sebor@roguewave.com>

	* _messages.h (do_open, do_close): Outlined virtual functions
	to avoid code bloat due to compiler emitting their definition
	in every object file where the class is used.
	* _messages.cc: Same.

2007-09-18 Farid Zaripov <Farid_Zaripov@epam.com>

	* _mutex.h: Use #pragma intrinsic only on MSVC
	(ICC doesn't support this #pragma).
	Use _InterlockedIncrement16() and _InterlockedDecrement16()
	intrinsic functions only on MSVC (ICC doesn't support them).

2007-09-18 Farid Zaripov <Farid_Zaripov@epam.com>

	* rw_streambuf.h: Removed 'Unknown' enum member as unused and
	conflicting with Windows API enumerator.

2007-09-18 Farid Zaripov <Farid_Zaripov@epam.com>

	* gencat.cpp [_WIN32] (main): Added checking VS90COMNTOOLS
	environment variable (get ready to use with MSVC 9.0 Orcas).

2007-09-18 Farid Zaripov <Farid_Zaripov@epam.com>

	* exec.cpp [_WIN32]: Added STATUS_INVALID_CRUNTIME_PARAMETER
	to the nt_status_map (detected on x64 Windows).

2007-09-18 Farid Zaripov <Farid_Zaripov@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 <Farid_Zaripov@epam.com>

	* 22.locale.stdcxx-554.cpp: Removed dependency on rwtest library.

2007-09-18 Farid Zaripov <Farid_Zaripov@epam.com>

	* _messages.h (__rw_cat_open): Declare fnuction as _RWSTD_EXPORT.
	* _messages.h (__rw_get_message): Ditto.
	* _messages.h (__rw_get_locale): Ditto.
	* _messages.h (__rw_cat_close): Ditto.
	* messages.cpp (__rw_cat_open): Ditto.
	* messages.cpp (__rw_get_message): Ditto.
	* messages.cpp (__rw_get_locale): Ditto.
	* messages.cpp (__rw_cat_close): Ditto.

2007-09-18 Farid Zaripov <Farid_Zaripov@epam.com>

	* messages.cpp (__rw_cat_open): Use _RWSTD_MT_CLASS_GUARD instead of
	_RWSTD_MT_STATIC_GUARD to synchronize access to global repository
	of open	catalogs.
	(__rw_get_message): Ditto.
	(__rw_get_locale): Ditto.
	(__rw_cat_close): Ditto.

2007-09-17  Travis Vitek  <vitek@roguewave.com>

	STDCXX-560
	* WCTYPE_T.cpp: Added ASL header.
	* BAD_EXCEPTION_DEFAULT_CTOR.cpp: Same.
	* EXTERN_TEMPLATE.cpp: Same.
	* TYPE_INFO_INEQUALITY.cpp: Same.
	* NEW_HEADER.cpp: Same.
	* implicit_inclusion_imp.c: Same.
	* WCTRANS_T.cpp: Same.
	* STD_TYPE_INFO.cpp: Same.
	* LIB_EXCEPTIONS.cpp: Same.
	* TEMPLATE_ON_RETURN_TYPE.cpp: Same.
	* implicit_inclusion_imp.h: Same.
	* STD_NOTHROW.cpp: Same.
	* OPERATOR_DELETE_ARRAY.cpp: Same.
	* collapse_static_locals.lib.cpp: Same.
	* EXPLICIT_MEMBER_INSTANTIATION.cpp: Same.
	* SETRLIMIT.cpp: Same.
	* IMPLICIT_INSTANTIATION.cpp: Same.
	* NEW_CLASS_TEMPLATE_SYNTAX.cpp: Same.
	* RUNTIME_IN_STD.cpp: Same.
	* GLOBAL_BAD_TYPEID.cpp: Same.
	* BAD_EXCEPTION_COPY_CTOR.cpp: Same.
	* EXCEPTION_ASSIGNMENT.cpp: Same.
	* proclimits.h: Same.
	* BAD_ALLOC_DEFAULT_CTOR.cpp: Same.
	* TYPE_INFO_NAME.cpp: Same.
	* instantiation_with_implicit_inclusion.c: Same.
	* IMPLICIT_INCLUSION.cpp: Same.
	* HONOR_STD.cpp: Same.
	* collapse_template_locals.lib.cpp: Same.
	* EXTERN_C_COMPATIBILITY.cpp: Same.
	* NEWLINE.cpp: Same.
	* SIG_ATOMIC_T.cpp: Same.
	* instantiation_with_implicit_inclusion.h: Same.
	* LCONV_INT_FMAT.cpp: Same.
	* FRIEND_TEMPLATE.cpp: Same.
	* headers.inc: Same.
	* EXTERN_INLINE.cpp: Same.
	* NL_TYPES_H.cpp: Same.
	* NONDEDUCED_CONTEXT.cpp: Same.
	* LONG_LONG.cpp: Same.
	* STD_BAD_EXCEPTION.cpp: Same.
	* EXCEPTION_COPY_CTOR.cpp: Same.
	* GLOBAL_NOTHROW.cpp: Same.
	* TYPENAME.cpp: Same.
	* STRUCT_TM.cpp: Same.
	* STATIC_CONST_MEMBER_EXPR_CONST.cpp: Same.
	* VSNPRINTF_RETURN.cpp: Same.
	* NONCLASS_ARROW_RETURN.cpp: Same.
	* DEPRECATED_LIBC_IN_STD.cpp: Same.
	* DYNAMIC_CAST.cpp: Same.
	* BAD_TYPEID_DEFAULT_CTOR.cpp: Same.
	* EMPTY_MEM_INITIALIZER.cpp: Same.
	* WCSFTIME_WCHAR_T_FMAT.cpp: Same.
	* instantiation_with_implicit_inclusion.cc: Same.
	* DIV_OVERLOADS.cpp: Same.
	* DEPENDENT_TEMPLATE.cpp: Same.
	* STD_TERMINATE.cpp: Same.
	* NO_SIGNALING_NAN.cpp: Same.
	* POD_ZERO_INIT.cpp: Same.
	* NEW_FUNC_TEMPLATE_SYNTAX.cpp: Same.
	* FLOAT.cpp: Same.
	* OPERATOR_DELETE_PLACEMENT.cpp: Same.
	* LOCALE_NAME_FMAT.cpp: Same.
	* STD_UNCAUGHT_EXCEPTION.cpp: Same.
	* MATH_OVERLOADS.cpp: Same.
	* STATIC_CONST_MEMBER_INIT.cpp: Same.
	* LIBC_IN_STD.cpp: Same.
	* EXPLICIT_ARG.cpp: Same.
	* extern_template_imp.h: Same.
	* PART_SPEC_OVERLOAD.cpp: Same.
	* SETLOCALE.cpp: Same.
	* STD_SET_TERMINATE.cpp: Same.
	* instantiation_before_definition.c: Same.
	* GLOBAL_BAD_CAST.cpp: Same.
	* EXCEPTIONS.cpp: Same.
	* EXCEPTION_WHAT.cpp: Same.
	* MBSTATE_T.cpp: Same.
	* instantiation_before_definition.h: Same.
	* BAD_TYPEID_COPY_CTOR.cpp: Same.
	* NL_LANGINFO.cpp: Same.
	* DUMMY_DEFAULT_ARG.cpp: Same.
	* STATICS_IN_TEMPLATE.cpp: Same.
	* NAMESPACE.cpp: Same.
	* STATIC_TEMPLATE_MEMBER_INIT.cpp: Same.
	* MEMBER_TEMPLATE_OVERLOAD.cpp: Same.
	* OPERATOR_DELETE_NOTHROW.cpp: Same.
	* GLOBAL_SET_UNEXPECTED.cpp: Same.
	* OVERLOAD_OF_TEMPLATE_FUNCTION.cpp: Same.
	* STATIC_CAST.cpp: Same.
	* VA_LIST.cpp: Same.
	* TLS.cpp: Same.
	* OPERATOR_DELETE_ARRAY_PLACEMENT.cpp: Same.
	* INSTANTIATE_DEFAULT_ARGS.cpp: Same.
	* STD_BAD_CAST.cpp: Same.
	* OFFSETOF.cpp: Same.
	* thread.h: Same.
	* GLOBAL_EXCEPTION.cpp: Same.
	* GLOBAL_BAD_ALLOC.cpp: Same.
	* EXPLICIT.cpp: Same.
	* EXPORT.cpp: Same.
	* BAD_CAST_WHAT.cpp: Same.
	* TYPE_INFO_DTOR.cpp: Same.
	* EXCEPTION_DTOR.cpp: Same.
	* BAD_EXCEPTION_WHAT.cpp: Same.
	* WCHAR_T.cpp: Same.
	* locale_names.h: Same.
	* INFINITY.cpp: Same.
	* PLACEMENT_DELETE.cpp: Same.
	* TIMEZONE.cpp: Same.
	* DEFAULT_TEMPLATE_ARGS.cpp: Same.
	* OPERATOR_NEW_PLACEMENT.cpp: Same.
	* STD_MBSTATE_T.cpp: Same.
	* NATIVE_WCHAR_T.cpp: Same.
	* MUNMAP.cpp: Same.
	* UNISTD_DECL.cpp: Same.
	* EXCEPTION_SPECIFICATION.cpp: Same.
	* GLOBAL_NOTHROW_T.cpp: Same.
	* EXTERN_FUNCTION_TEMPLATE.cpp: Same.
	* UNAME.cpp: Same.
	* EXPLICIT_MEMBER_SPECIALIZATION.cpp: Same.
	* SPECIALIZATION_ON_RETURN_TYPE.cpp: Same.
	* TEMPLATE_DEFAULT_ARG_CONVERSION.cpp: Same.
	* ICONV.cpp: Same.
	* STD_UNEXPECTED.cpp: Same.
	* TYPE_INFO_BEFORE.cpp: Same.
	* EXPLICIT_INSTANTIATION_BEFORE_DEFINITION.cpp: Same.
	* LCONV.cpp: Same.
	* BAD_CAST_COPY_CTOR.cpp: Same.
	* BAD_ALLOC_WHAT.cpp: Same.
	* EXPLICIT_INSTANTIATION.cpp: Same.
	* EXPORT_KEYWORD.cpp: Same.
	* COLLAPSE_TEMPLATE_STATICS.cpp: Same.
	* EXTERN_MEMBER_TEMPLATE.cpp: Same.
	* BAD_CAST_DTOR.cpp: Same.
	* COLLAPSE_TEMPLATE_LOCALS.cpp: Same.
	* CLASS_PARTIAL_SPEC.cpp: Same.
	* BAD_EXCEPTION_DTOR.cpp: Same.
	* PTR_EXCEPTION_SPEC.cpp: Same.
	* SIZE_T.cpp: Same.
	* NEW_THROWS.cpp: Same.
	* extern_template_before_definition_imp.cpp: Same.
	* CONST_CAST.cpp: Same.
	* NO_DBL_TRAPS.cpp: Same.
	* THREAD_SAFE_EXCEPTIONS.cpp: Same.
	* MATH_EXCEPTION.cpp: Same.
	* THREAD_SAFE_ERRNO.cpp: Same.
	* STD_SET_NEW_HANDLER.cpp: Same.
	* GLOBAL_UNCAUGHT_EXCEPTION.cpp: Same.
	* GLOBAL_TYPE_INFO.cpp: Same.
	* EXPLICIT_CTOR_INSTANTIATION.cpp: Same.
	* REINTERPRET_CAST.cpp: Same.
	* STD_BAD_TYPEID.cpp: Same.
	* FUNC_PARTIAL_SPEC.cpp: Same.
	* BAD_ALLOC_COPY_CTOR.cpp: Same.
	* instantiation_before_definition.cc: Same.
	* OPERATOR_NEW_ARRAY_NOTHROW.cpp: Same.
	* QUIET_NAN.cpp: Same.
	* SPECIALIZED_FRIEND.cpp: Same.
	* BAD_TYPEID_WHAT.cpp: Same.
	* BAD_ALLOC_DTOR.cpp: Same.
	* BAD_CAST_ASSIGNMENT.cpp: Same.
	* EXTERN_TEMPLATE_BEFORE_DEFINITION.cpp: Same.
	* BAD_EXCEPTION_ASSIGNMENT.cpp: Same.
	* collapse_template_statics.lib.cpp: Same.
	* FUNCTION_TRY_BLOCK.cpp: Same.
	* NO_INT_TRAPS.cpp: Same.
	* LIBC_EXCEPTION_SPEC.cpp: Same.
	* EXTERN_C_OVERLOAD.cpp: Same.
	* OPERATOR_NEW_ARRAY.cpp: Same.
	* EXCEPTION_SPECIFICATION_ON_NEW.cpp: Same.
	* DAYLIGHT.cpp: Same.
	* COLLAPSE_STATIC_LOCALS.cpp: Same.
	* STD_EXCEPTION.cpp: Same.
	* TYPE_INFO_EQUALITY.cpp: Same.
	* types.h: Same.
	* CV_VOID_SPECIALIZATIONS.cpp: Same.
	* STD_BAD_ALLOC.cpp: Same.
	* LDBL_PRINTF_PREFIX.cpp: Same.
	* GLOBAL_SET_NEW_HANDLER.cpp: Same.
	* ABS_OVERLOADS.cpp: Same.
	* GLOBAL_BAD_EXCEPTION.cpp: Same.
	* OPERATOR_NEW_NOTHROW.cpp: Same.
	* PUTENV_CONST_CHAR.cpp: Same.
	* THREAD_SAFE_LOCALE.cpp: Same.
	* NO_FOR_LOCAL_SCOPE.cpp: Same.
	* MEMBER_TEMPLATES.cpp: Same.
	* BAD_ALLOC_ASSIGNMENT.cpp: Same.
	* LONG_DOUBLE.cpp: Same.
	* EXCEPTION_DEFAULT_CTOR.cpp: Same.
	* FPOS_T.cpp: Same.
	* OPERATOR_NEW_ARRAY_PLACEMENT.cpp: Same.
	* FUNC.cpp: Same.
	* BAD_TYPEID_DTOR.cpp: Same.
	* PRETTY_FUNCTION.cpp: Same.
	* STD_NOTHROW_T.cpp: Same.
	* EXPLICIT_FUNC_INSTANTIATION.cpp: Same.
	* LIMITS.cpp: Same.
	* WINT_T.cpp: Same.
	* CTYPE_BITS.cpp: Same.
	* STRUCT_TM_IN_WCHAR_H.cpp: Same.
	* extern_template_imp.cpp: Same.
	* implicit_inclusion_imp.cc: Same.
	* GLOBAL_TERMINATE.cpp: Same.
	* extern_inline.lib.cpp: Same.
	* EXTERN_C_EXCEPTIONS.cpp: Same.
	* LLONG_PRINTF_PREFIX.cpp: Same.
	* extern_function_template_imp.cpp: Same.
	* lib_exceptions.lib.cpp: Same.
	* ICONV_CONST_CHAR.cpp: Same.
	* INLINE_MEMBER_TEMPLATES.cpp: Same.
	* GLOBAL_SET_TERMINATE.cpp: Same.
	* GLOBAL_UNEXPECTED.cpp: Same.
	* NESTED_CLASS_ACCESS.cpp: Same.
	* STD_SET_UNEXPECTED.cpp: Same.
	* OPERATOR_DELETE_ARRAY_NOTHROW.cpp: Same.
	* BOOL.cpp: Same.
	* BAD_CAST_DEFAULT_CTOR.cpp: Same.
	* BAD_TYPEID_ASSIGNMENT.cpp: Same.
	* ATOMIC_OPS.cpp: Same.
	* EXPLICIT_INSTANTIATION_WITH_IMPLICIT_INCLUSION.cpp: Same.
	* fun_present_check.cpp: Same.

2007-09-17  Travis Vitek  <vitek@roguewave.com>

	STDCXX-560
	* eccp.config: Added ASL header.

2007-09-17  Travis Vitek  <vitek@roguewave.com>

	STDCXX-560
	* configure.sh: Added ASL header.
	* reliant_cds.config: Same.
	* mipspro.config: Same.
	* gcc.config: Same.
	* como.config: Same.
	* icc.config: Same.
	* xlC_version.sh: Same.
	* runall.sh: Same.
	* run_locale_utils.sh: Same.
	* osf_cxx.config: Same.
	* vacpp.config: Same.

2007-09-17  Martin Sebor  <sebor@roguewave.com>

	STDCXX-20
	* MADVISE.cpp: New config test to determine whether the system call
	madvise() is supported.

2007-09-18  Martin Sebor  <sebor@roguewave.com>

	* LIMITS.cpp [_RWSTD_NO_LIMITS_H] (<limits.h>): Guarded the #include
	directive introduced in revision 575978 to prevent EDG eccp errors
	on Linux caused by the header making use of the #include_next gcc
	extension.

2007-09-17  Martin Sebor  <sebor@roguewave.com>

	STDCXX-547
	* locale_core.cpp (_C_get_std_facet): Used a safe cast to silence
	a Sun C++ 64-bit conversion warning.

2007-09-17  Travis Vitek  <vitek@roguewave.com>

	* 18.limits.stdcxx-436.cpp: Regression test exercising STDCXX-436.

2007-09-17 Farid Zaripov <Farid_Zaripov@epam.com>

	* msvc-7.0.config: Comments extended with information on MSVC 9.0
	(Orcas).
	* msvc-9.0.config: New config file for MSVC 9.0.
	* msvc-9.0-x64.config: New config file for MSVC 9.0 x64 platform.

2007-09-17 Farid Zaripov <Farid_Zaripov@epam.com>

	* build.wsf (BuildProject): Log all available project properties
	if project.UniqueName is inaccessible.

2007-09-17 Farid Zaripov <Farid_Zaripov@epam.com>

	* catalog.cpp (__catfind): Fixed undefined behavior
	when __rw_catlist vector is full and id is not valid.

2007-09-13 Travis Vitek <vitek@roguewave.com>

	STDCXX-436
	* LIMITS.cpp [_WIN32] (main): Include limits.h to get definition
	of MB_LEN_MAX so that we don't have to guess the correct value.
	If we must guess a default on _WIN32, use a known good value.

2007-09-14 Farid Zaripov <Farid_Zaripov@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 <Farid_Zaripov@epam.com>

	* runall.cpp (main): Pass buf to strchr() call instead of target
	(we need char* result instead of const char*).

2007-09-14 Farid Zaripov <Farid_Zaripov@epam.com>

	* 22.locale.stdcxx-554.cpp: Added a regression test for STDCXX-554.

2007-09-14 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-554
	* _messages.h (messages): Removed explicit invoking of the
	messages_base() ctor
	to avoid buffer overrun due to bad code generation on MSVC 7.1.
	* _moneypunct.h (moneypunct): Removed explicit invoking of the
	money_base() ctor
	to avoid buffer overrun due to bad code generation on MSVC 7.1.

2007-09-13  Martin Sebor  <sebor@roguewave.com>

	STDCXX-418
	* basic-filebuf.html: Documented the fd() member function.

2007-09-13 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-543
	* runall.cpp (main): Added ability to pass list of the targets
	using the text file.
	* cmdopt.cpp: Updated usage_text with description of the
	changes above.
	* runall.wsf (runAllExamples): Pass targets using text file
	rather than using command line if the resulting command line
	length would exceed the maximum value.

2007-09-13  Martin Sebor  <sebor@roguewave.com>

	* memattr.cpp (EFAULT): #defined macro when not #defined in system
	headers. Needed by EDG eccp on Linux.
	[Linux] (__USE_BSD): #defined macro when not already #defined to
	bring in declarations of caddr_t, madvise(), and MADV_WILLNEED.
	Also needed by EDG eccp on Linux.

2007-09-13  Martin Sebor  <sebor@roguewave.com>

	STDCXX-394
	* FLOAT.cpp [__EDG__ && !__INTEL_COMPILER] (__FLT_DIG__,
	__FLT_EPSILON__, etc.) #defined gcc 4 intrinsics otherwise
	not recognized by the EDG eccp 3.9 (and prior) vanilla front
	end.

2007-03-14  Farid Zaripov  <Farid_Zaripov@epam.com>

	* 23.associative.stdcxx-16.cpp: Added Farid's regression test
	for STDCXX-16.

2007-09-12  Travis Vitek  <vitek@roguewave.com>

	* 24.operations.stdcxx-234.cpp: change to get regression
	test to correctly compile on gcc and msvc.

2007-09-12  Martin Sebor  <sebor@roguewave.com>

	STDCXX-545
	* vector (vector<bool>::_C_iter): Explicitly defined a copy ctor
	for the nested class to work around a Sun C++ optimizer (ube) ICE
	on x86_64.

2007-09-12  Martin Sebor  <sebor@roguewave.com>

	* _localedef.h (__rw_codecvt_t, __rw_ctype_t, __rw_itoutf8,
	__rw_utf8toucs4,  __rw_mbtowco): Used _RWSTD_UINT8_T instead of plain
	unsigned char to make the expected width of the data type explicit and
	for consistency with the other data types.

2007-09-12 Farid Zaripov <Farid_Zaripov@epam.com>

	* build.wsf (build): Select proper Intel compiler if
	more than one has installed.
	* projectdef.js (InitVSObjects): Get through all installed
	intel compilers when detecting path to the ICProjConvertxx
	utility.
	* utilities.js: Added config variable ICCVER (version of the
	Interl C++ compiler).
	* msvc-7.0.config: Ditto.
	* icc-9.0.config: Ditto.
	* icc-9.1.config: Ditto.
	* icc-10.0.config: Ditto.
	* icc-10.0-x64.config: Ditto.
	* icc-9.1-x64.config: New configuration file for
	64-bit Intel 9.1 compiler.

2007-09-12 Farid Zaripov <Farid_Zaripov@epam.com>

	* generate.bat: New batch file which just invokes
	configure.bat to preserve the user interface to the
	library. This file is deprecated and will be
	removed in 4.3 release.

2007-09-12  Martin Sebor  <sebor@roguewave.com>

	STDCXX-549
	* sunpro.config (CCVER): Removed unnecessary backslashes accepted
	on Solaris from a sed expression to prevent incorrect behavior on
	Linux.

2007-09-12  Martin Sebor  <sebor@roguewave.com>

	STDCXX-547	
	* num_get.cpp (__rw_get_stdio_fmat): Changed the type of the last
	argument so std::streamsize to make it possible to pass in and
	correctly handle 64-bit values and to aid in silencing 64-bit
	conversion warnings at the call site. (Missed this in r574422).

2007-09-07  Mark Brown  <mbrown@inbox.com>

	STDCXX-493
	* string (append): Replaced calls to replace() with calls to append()
	to improve performance.

2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>

	* build.wsf: Added optional parameter TOPDIR. Replace build
	dir path and src dir path in logs to $(BUILDDIR) and $(TOPDIR)
	respectively.
	(removeLogClutter): New function to remove clutters from build log.
	* generate.wsf (generateBuildBatch): Pass /TOPDIR parameter to
	build.wsf script.

2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>

	* configure.wsf (configure): Specify exactly one library
	in /NODEFAULTLIB parameter of the linker.
	* projectdef.js (projectCreateVCProject): The same.

2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-517
	* README: Fixed a typo.

2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-516
	* generate.bat: File renamed ...
	* configure.bat: ... to this.
	* README: "generate.bat" text replaced by "configure.bat".

2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>

	* generate.wsf (readAndCheckArguments): Removed assigning
	of the outDir variable to srcDir value.

2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-517
	* generate.wsf: Detect values for CONFIG and BUILDDIR
	parameters if they are not specified in command line.
	* projectdef.js (InitVSObjects): return value indicating
	the success or failure of the initialization.
	* utilities.js (getCompilerOpts): Set variables to initial
	state before parsing .config file.
	* README: Updated text on CONFIG and BUILDDIR parameters of
	the generate.bat script.

2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>

	* msvc-7.0.config: Fixed descriptive comment of
	VERSION variable.

2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>

	* codecvt1.cpp (main): Added output of the error message
	in case of exception caught.

2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>

	* projectsdef.js (projectCreateVCProject): Set optimization by speed
	instead of optimization by size in release builds.

2007-09-10  Martin Sebor  <sebor@roguewave.com>

	STDCXX-547
	* num_get.cpp (__rw_get_num): Cast a wider type to a narrower one
	to silence Sun C++ 64-bit conversion warnings.
	* num_put.cpp (__rw_get_stdio_fmat): Changed the type of the last
	argument so std::streamsize to make it possible to pass in and
	correctly handle 64-bit values and to aid in silencing 64-bit
	conversion warnings at the call site.
	* punct.cpp (__rw_get_stdio_fmat): Same. Used the %ld formatting
	directive and cast streamsize argument to long before passing it
	to sprintf.

2007-09-10 Farid Zaripov <Farid_Zaripov@epam.com>

	* utilities.js (expandSysMacro): New function to expand
	system macros in string.
	(parseConfig): Expand system macros in config variables.

2007-09-09 Farid Zaripov <Farid_Zaripov@epam.com>

	* projectdef.js (projectCreateVCProject): Enable using of the
	intrinsic functions in release builds.

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

	STDCXX-436
	* limits.h (MB_LEN_MAX): Redefine MB_LEN_MAX if the current
	value is different from the configured value.
	* climits (MB_LEN_MAX): Ditto.

2007-09-07 Farid Zaripov <Farid_Zaripov@epam.com>

	* src/atomic.asm: New file to define __rw_atomicxxx() functions.
	* i86/atomic.asm: File renamed ...
	* i86/atomic.inc: ... to this.
	* i86_64/atomic.asm: File renamed ...
	* i86_64/atomic.inc: ... to this.
	* projects.js (CreateProjectsDefs): Removed platform dependent files
	array.
	* projectdef.js: InitAsmTool() function moved ...
	* filterdef.js: ... to this. Removed platform dependent files
	processing.

2007-09-07 Farid Zaripov <Farid_Zaripov@epam.com>

	* once.cpp: Moved #pragma's from this file ...
	* export.cpp: ... to this.

2007-09-07 Farid Zaripov <Farid_Zaripov@epam.com>

	* atomic-cxx.S: Updated copyright notice.
	* atomic.s: Ditto.

2007-09-06  Martin Sebor  <sebor@roguewave.com>

	STDCXX-501
	* acc.config (CXXFLAGS, CPPFLAGS, LDFLAGS): Used -AA and aCC's own
	C library headers by default regardless of platform (i.e., PA-RISC
	as well as IPF), unless -Aa is specified in _CXXOPTS.
	* libc_decl.sh (CXXFLAGS): Appended -I/usr/include only when -Aa
	is specified instead of based on the compiler version.

2007-08-09  Martin Sebor  <sebor@roguewave.com>

	* stdexcept (invalid_argument, length_error, underflow_error,
	overflow_error, out_of_range): Declared virtual ctors to prevent
	them from being implicitly defined by the compiler (and to reduce
	the size of object files compiled from translation units that
	#include the header). See also change 553643.
	* invalid_argument.cpp: Defined virtual dtor.
	* length_error.cpp: Same.
	* underflow_error.cpp: Same.
	* overflow_error.cpp: Same.
	* out_of_range.cpp: Same.

2007-09-06  Martin Sebor  <sebor@roguewave.com>

	* _codecvt.h (codecvt, do_always_noconv, do_encoding, do_max_length):
	Outlined codecvt<char, char, mbstate_t> ctor and virtual member
	functions of the codecvt<wchar_t, char, mbstate_t> specialization
	to reduce the size of objects in which these functions end up getting
	emitted by most (all?) compilers.

2007-09-06 Farid Zaripov <Farid_Zaripov@epam.com>

	* projects.js: Added definitions of the platform dependent files.
	* i86/atomic.asm: New file with definitions of the __rw_atomic_xxx()
	functions for Win32 platform.
	* i86_64/atomic.asm: New file with definitions of the
	__rw_atomic_xxx() functions for Windows/x64 platform.
	* _mutex.h: Use new __rw_atomic_xxx() functions if corresponding
	InterlockedXXX() functions are not present.
	[_MSC_VER >= 1400]: Use intrinsic InterlockedXXX() functions
	on MSVC 8 and higher.
	* once.cpp [_WIN32 && _DLL]: Tell linker to export __atomic_xxx()
	functions, defined in .asm files.

2007-09-06 Farid Zaripov <Farid_Zaripov@epam.com>

	* msvc-7.0.config: Added AS config variable.
	* msvc-8.0-x64.config: Ditto.
	* filterdef.js: Added definition of the CustomFileDef class
	(AddFilterFile): Invoke custom init function if current file
	is present in platform dependent file definitions array.
	* projectdef.js (InitAsmTool): New function to init custom build rule
	for .asm files.
	* utilities.js: Read AS configuration variable from the .config file.

2007-09-06  Liviu Nicoara  <nicoara@roguewave.com>

	* rw/_traits.h: added cast to unsigned char
	

2007-09-06 Farid Zaripov <Farid_Zaripov@epam.com>

	* projects.js (CreateProjectsDefs): Added echo path of clvars.bat file
	to see why the system cannot find the path.

2007-09-06 Farid Zaripov <Farid_Zaripov@epam.com>

	* 22.locale.messages.stdcxx-508_542.cpp: File renamed ...
	* 22.locale.messages.stdcxx-542.cpp: ... to this.

2007-09-06 Farid Zaripov <Farid_Zaripov@epam.com>

	* gencat.cpp (main): Resolve ambiguity of overloaded methods.

2007-09-06 Farid Zaripov <Farid_Zaripov@epam.com>

	* build.wsf (BuildProject): Use FullName property instead of FileName
	(to fix problem on ICC).

2007-09-06  Martin Sebor  <sebor@roguewave.com>

	* 24.operations.stdcxx-234.cpp: Added a regression test for STDCXX-234.

2007-09-06  Martin Sebor  <sebor@roguewave.com>

	STDCXX-234
	* _iterbase.h (distance): Corrected function signature according
	to the spec.

2007-08-30  Travis Vitek  <vitek@roguewave.com>

	STDCXX-532
	* 22.locale.codecvt.mt.cpp: New test exercising the thread safety
	of the std::codecvt facet.

2007-09-05 Farid Zaripov <Farid_Zaripov@epam.com>

	* build.wsf (event_ProjectBuildFinished): Read text from all
	buildlog.htm
	files, which is present in output window text.
	(BuildProject): Trying to fix "build.wsf(163, 14) (null): Invalid
	pointer "error; rewritten logic on ICC builds.

2008-08-31  Travis Vitek  <vitek@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  <vitek@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 Travis Vitek <vitek@roguewave.com>

	STDCXX-542
	* catalog.cpp (catclose): check bounds before index to avoid out of
	bound access.

2007-09-05 Farid Zaripov <Farid_Zaripov@epam.com>

	* 22.locale.messages.stdcxx-508_542.cpp: New regression test
	for STDCXX-508 and STDCXX-542 issues.

2007-09-05 Farid Zaripov <Farid_Zaripov@epam.com>

	* 22.locale.messages.cpp: Removed generate_catalog() function.
	Used rw_create_catalog() istead of generate_catalog().

2007-09-05 Farid Zaripov <Farid_Zaripov@epam.com>

	* rw_locale.h (rw_create_catalog): New function to generate message catalog.
	* locale.cpp (rw_create_catalog): Ditto.

2007-09-05 Farid Zaripov <Farid_Zaripov@epam.com>

	* GNUmakefile.bin: Added gencat target.
	* projects.js (CreateProjectsDefs): Added gencat utility project.
	* gencat.cpp: New utility for generating the message catalogs.

2007-09-4  Travis Vitek  <vitek@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  <vitek@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 <Farid_Zaripov@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 <Farid_Zaripov@epam.com>

	* 22.locale.messages.cpp (test_get): Corrected condition in "for" loop
	to test all messages.

2007-08-29  Martin Sebor  <sebor@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  <sebor@roguewave.com>

	* 27.filebuf.virtuals.stdcxx-522.cpp: Deleted a symlink.

2007-08-29  Martin Sebor  <sebor@roguewave.com>

	* 27.filebuf.virtuals.stdcxx-522.cpp: Regression test for STDCXX-522.

2007-08-29  Everton Araujo  <everton.basso@gmail.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-522
	* fstream.cc (overflow): Prevented writing junk to file when
	the argument is EOF and the internal buffer is empty.

2007-08-29 Farid Zaripov <Farid_Zaripov@epam.com>

	* msvc-7.0.config: Updated comment on ICCCONVERT variable.
	* icc-10.0.config: Set ICCCONVERT=ICProjConvert100.exe.
	* icc-10.0-x64.config: Ditto.
	* projectdef.js (InitVSObjects): Updated the intel conversion
	utility path detection algorithm.

2007-08-29 Farid Zaripov <Farid_Zaripov@epam.com>

	* _config-icc.h: Corrected warning number.

2007-08-28  Martin Sebor  <sebor@roguewave.com>

	* 20.specialized.stdcxx-390.cpp: Regression test for STDCXX-390.

2007-08-28 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-515
	* 27.stringbuf.xsputn.stdcxx-515.cpp: New regression test for STDCXX-515.

2007-08-28 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-515
	* sstream.cc (xsputn): Correct write position after growing the buffer.

2007-08-28 Farid Zaripov <Farid_Zaripov@epam.com>

	* _mutex.h [__ia64 || __x86_64]: Define set of __rw_atomic_xxx()
	functions for types _RWSTD_LONG_LONG and unsigned _RWSTD_LONG_LONG.

2007-08-28 Farid Zaripov <Farid_Zaripov@epam.com>

	* ia64/atomic-64.s: Updated copyright notice.
	* ia64/atomic.s: Ditto.
	* parisc/atomic-64.s: Ditto.
	* parisc/atomic.s: Ditto.
	* sparc/atomic-64.s: Ditto.
	* sparc/atomic.s: Ditto.
	* i86/atomic.s: Updated comments.
	* i86_64/atomic.s: Updated copyright notice and comments.

2007-08-28  Travis Vitek  <vitek@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-27 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-462
	* money-put.html: Updated example code according to real example.
	* num-get.html: Ditto.
	* time-get.html: Ditto.

2007-08-27 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-538
	* ATOMIC_OPS.cpp: Determine the argument type of InterlockedIncrement()
	only on Win32 platform.

2007-08-26  Martin Sebor  <sebor@roguewave.com>

	* 23.vector.bool.stdcxx-235.cpp: Regression test for STDCXX-235.

2007-08-25  Martin Sebor  <sebor@roguewave.com>

	* 21.string.stdcxx-162.cpp: Added a regression test for STDCXX-162.

2007-08-25  Travis Vitek  <vitek@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  <sebor@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-23  Martin Sebor  <sebor@roguewave.com>

	STDCXX-344
	* sunpro.config (WARNFLAGS): For Sun C++ 5.7 and beyond, enabled
	diagnostic "tags" in compiler output and used -erroff to silence
	Warning: std::stringstream::rdbuf hides the function std::ios::
	rdbuf(std::streambuf*) and similar.

2007-08-23  Martin Sebor  <sebor@roguewave.com>

	* NOTICE.txt: Updated year of copyright.

2007-08-22  Martin Sebor  <sebor@roguewave.com>

	STDCXX-525
	* mipspro.config (LDLIBS): Added libpthread to the list of libraries
	to link with when pthread is in BUILDMODE to make sure it's after
	libstdcxx on the link line.
	(MULTI_LDFLAGS_POSIX): Removed -lpthread (wasn't last on the link
	line).

2007-08-22  Martin Sebor  <sebor@roguewave.com>

	* README: Changed version to 4.2.0 (pre-release).
	Added Disclaimer to the Index.

2007-08-22 Farid Zaripov <Farid_Zaripov@epam.com>

	* projects.js (CreateProjectsDefs): Set BINDIR env variable before run
	tests (used in rw_locale(), rw_localedef()).

2007-08-22 Farid Zaripov <Farid_Zaripov@epam.com>

	* 21.cwchar.cpp (test_functions) [_MSC_VER]: Prevent invalid parameter
	validation error by setting size to 1.

2007-08-21 Farid Zaripov <Farid_Zaripov@epam.com>

	* 0.char.cpp (test_rw_widen): Added missing parameter in rw_assert().
	(test_rw_narrow): The same.

2007-08-20 Farid Zaripov <Farid_Zaripov@epam.com>

	* dynatype.cpp (copy): applied again changes in r544831 with
	adding comment in source file (the changes prevents error
	"invalid static_cast from type `const dynatype' to type `int'"
	on gcc 3.4.4/Cygwin).

2007-08-20 Farid Zaripov <Farid_Zaripov@epam.com>

	* dynatype.cpp (copy): This change was hasty and fixed in r567733
	(was: reverted unnecessary changes in r544831).

2007-08-17  Martin Sebor  <sebor@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-17  Martin Sebor  <sebor@roguewave.com>

	* once.h [_WIN32] (_RWSTD_ONCE_INIT): Defined also for Windows.

2007-08-17  Martin Sebor  <sebor@roguewave.com>

	* once.h (_RWSTD_ONCE_INIT): Defined to PTHREAD_ONCE_INIT.
	[_RWSTD_POSIX_THREADS, _RWSTD_NO_PTHREAD_ONCE] (__rw_once_t,
	_RWSTD_ONCE_INIT): Defined in terms of pthread_mutex_t and
	PTHREAD_MUTEX_INITIALIZER, respectively.
	* once.cpp [_RWSTD_POSIX_THREADS, _RWSTD_NO_PTHREAD_ONCE]
	(__rw_once_t): Defined in terms of pthread_mutex_lock()
	and pthread_mutex_unlock().
	(__rw_once_t): Consistently asserted both preconditions.

2007-08-17  Martin Sebor  <sebor@roguewave.com>

	STDCXX-523
	* locale_classic.cpp (__rw_classic): New. Namespace-scope buffer
	backing the classic locale object.
	(__rw_classic_once_init): New. One-time initialization flag for
	the classic locale object.
	(__rw_init_classic): New. One-time initialization function for
	the classic locale object.
	(classic): Used __rw_once() to initialize the classic locale
	object.

2007-08-16  Martin Sebor  <sebor@roguewave.com>

	* 22.locale.statics.mt.cpp: New test exercising the thread safety
	of [lib.locale.statics].

2007-08-15  Martin Sebor  <sebor@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  <vitek@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  <sebor@roguewave.com>

	* EXTERN_C_EXCEPTIONS.cpp: New config test to determine whether
	it's possible to throw exceptions from functions with C language
	linkage.

2007-08-14  Martin Sebor  <sebor@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-14  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile: Added an Apache license header and Rogue Wave
	copyright statement. Shortened pound-comments to not exceed
	72 characters per line.

2007-08-14  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.exm: Added Apache license header and a Rogue Wave
	copyright statement.
	* GNUmakefile.exm: Same.
	* GNUmakefile.cfg: Same.
	* GNUmakefile.lib: Same.
	* GNUmakefile.ph: Same.
	* GNUmakefile.bin: Same.
	* GNUmakefile.tst: Same.
	* GNUmakefile.rwt: Same.
	* makefile.common: Same.
	* makefile.rules: Same.
	(makedep): Replaced a TAB with spaces.

2007-08-14  Martin Sebor  <sebor@roguewave.com>

	STDCXX-521
	* makefile.rules (makedep): Set the "local" shell variable depflags
	to the value of $(DEPENDLFAGS) when the GNU make $(value) function
	yields the empty string (as a result of GNU make 3.79 bug).

2007-08-13 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-519
	* fmtflags_manip.cpp (fmtflags_manip): Use value
	initialization to workaround MSVC 7.1 bug.

2007-08-13 Farid Zaripov <Farid_Zaripov@epam.com>

	* char.cpp (rw_widen): Don't write after end of dst.

2007-08-13 Farid Zaripov <Farid_Zaripov@epam.com>

	* char.cpp (rw_widen): Don't write after end of dst.

2007-08-13 Farid Zaripov <Farid_Zaripov@epam.com>

	* _defs.h: Quote assert.h and setjmp.h pathnames
	in order to prevent the corresponding macro
	expanding in the #include directive.

2007-08-12  Martin Sebor  <sebor@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    <vitek@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 <Farid_Zaripov@epam.com>

	* projectdef.js: Enable RTTI by default.
	* projects.js: Ditto. Disable RTTI for projects
	in NonRTTIProjects array.

2007-08-12 Farid Zaripov <Farid_Zaripov@epam.com>

	* 21.cwchar.cpp: Define long long overloads of get_type_name()
	(fixes compilation problem on MSVC-x64).

2007-08-10 Farid Zaripov <Farid_Zaripov@epam.com>

	* _mutex.h (__rw_atomic_preincrement) [_WIN32]: Cast __x to int& instead of long&
	to use InterlockedIncrement() optimized function instead of generic one using
	critical sections.

2007-08-10 Farid Zaripov <Farid_Zaripov@epam.com>

	* exec.cpp (fttoull) [_WIN32]: New function to convert from
	FILETIME to ULONGLONG.
	(exec_file) [_WIN32]: Get kernel time and user time of the child
	process using GetProcessTimes().
	Map STATUS_FLOAT_STACK_CHECK to SIGSTKFLT signal instead of SIGFPE.

2007-08-10  Farid Zaripov  <faridz@apache.org>

	* num_get.cpp (__rw_ldbl_infinity): Guarded with _RWSTD_NO_LONG_DOUBLE.

2007-08-10  Martin Sebor  <sebor@roguewave.com>

	STDCXX-509
	* num_get.cpp (__rw_flt_infinity, __rw_dbl_infinity,
	__rw_ldbl_infinity): Declared constants with C language
	linkage as in r564059.

2007-08-09 Farid Zaripov <Farid_Zaripov@epam.com>

	* 27.stringbuf.str.stdcxx-514.cpp: New regression test from STDCXX-514 issue.

2007-08-09 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-514
	* sstream.cc (str): Take ownership of the allocated buffer a bit
	later to avoid deallocation of the external buffer.

2007-08-09 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-513
	* csetjmp: #define setjmp macro if it's not #defined.

2007-08-09  Martin Sebor  <sebor@roguewave.com>

	STDCXX-509
	* limits (__rw_flt_denorm_min, __rw_flt_infinity, __rw_flt_qNaN,
	__rw_flt_sNaN, __rw_dbl_denorm_min, __rw_dbl_infinity, __rw_dbl_qNaN,
	__rw_dbl_sNaN, __rw_ldbl_denorm_min, __rw_ldbl_infinity, __rw_ldbl_qNaN,
	__rw_ldbl_sNaN): Declared floating point constants with "C" language
	linkage to prevent "clever" compilers such as MSVC from mangling their
	type into their names and to permit them to be defined with different
	types.
	* limits_bits.cpp (__rw_flt_denorm_min, __rw_flt_infinity,
	__rw_flt_qNaN, __rw_flt_sNaN, __rw_dbl_denorm_min, __rw_dbl_infinity,
	__rw_dbl_qNaN, __rw_dbl_sNaN, __rw_ldbl_denorm_min, __rw_ldbl_infinity,
	__rw_ldbl_qNaN, __rw_ldbl_sNaN): Defined as statically (i.e., at load
	time as opposed to dynamically, at runtime) initialized unions, backed
	by the appropriate byte patterns, with "C" language linkage to permit
	the defintions to have a different type than the declarations.
	(__rw_flt_denorm_min_bits, __rw_flt_infinity_bits, __rw_flt_qNaN_bits,
	__rw_flt_sNaN_bits, __rw_dbl_denorm_min_bits, __rw_dbl_infinity_bits,
	__rw_dbl_qNaN_bits, __rw_dbl_sNaN_bits, __rw_ldbl_denorm_min_bits,
	__rw_ldbl_infinity_bits, __rw_ldbl_qNaN_bits,  __rw_ldbl_sNaN_bits):
	Removed.

2007-08-08 Farid Zaripov <Farid_Zaripov@epam.com>

	* cmdopt.cpp [_WIN32]: Set TICKS_PER_SEC = CLOCKS_PER_SEC.
	* exec.cpp [_WIN32]: Added mappings of the STATUS_STACK_BUFFER_OVERRUN.
	Translate wall time value from 100ns units to clocks.

2007-08-08 Farid Zaripov <Farid_Zaripov@epam.com>

	* exec.cpp [_WIN32]: Added mappings of the STATUS_STACK_OVERFLOW and
	STATUS_INVALID_PARAMETER.

2007-08-08  Martin Sebor  <sebor@roguewave.com>

	* 18.limits.cvqual.cpp (test_limits): Exercised quiet NAN.

2007-08-08  Martin Sebor  <sebor@roguewave.com>

	* limits (_RWSTD_FLT_SNAN, _RWSTD_DBL_SNAN, _RWSTD_LDBL_SNAN):
	Removed macro vestiges.
	(__rw_flt_sNaN, __rw_dbl_sNaN, __rw_ldbl_sNaN): Declared
	unconditionally.

2007-08-08  Martin Sebor  <sebor@roguewave.com>

	* limits (_RWSTD_FLT_INFINITY, _RWSTD_FLT_QNAN, _RWSTD_FLT_SNAN,
	_RWSTD_FLT_DENORM_MIN): Removed macro definitions and replaced
	their uses with the actual symbols).
	(_RWSTD_DBL_INFINITY, _RWSTD_DBL_QNAN, _RWSTD_DBL_SNAN,
	_RWSTD_DBL_DENORM_MIN, _RWSTD_LDBL_INFINITY, _RWSTD_LDBL_QNAN,
	_RWSTD_LDBL_SNAN, _RWSTD_LDBL_DENORM_MIN): Same.

2007-08-07  Martin Sebor  <sebor@roguewave.com>

	* graph.cpp: Simplified in an (unsuccessful) effort to eliminate
	gcc -Winline warnings.
	(stringVector, graph): Used default template arguments for similicity
	and renamed to Distances and Cities, respectively.
	(main): Moved global variables into local scope, changing strings to
	const char arrays for simplicity and efficiency. Replaced std::endl
	with '\n' for efficiency.

2007-08-07  Martin Sebor  <sebor@roguewave.com>

	* dynatype.cpp (get): Outlined to silence gcc -Winline warnings.
	(dynatype, operator=): Same.

2007-08-07  Martin Sebor  <sebor@roguewave.com>

	* once.h: New implementation-private header. Declares __rw_once_t
	and __rw_once() for portable, thread-safe one-time initialization.
	* once.cpp: New. Defines the above.

2007-08-07  Martin Sebor  <sebor@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-07  Martin Sebor  <sebor@roguewave.com>

	* vector.cc (__rw_insert_range): Used predecrement even with pointers
	instead of preincrement for efficiency when pointer is a user-defined
	type.

2007-08-07 Farid Zaripov <Farid_Zaripov@epam.com>

	* runall.wsf (runAllExamples): Removed quotes around exec.exe. Lowered timeout to 100 ms.

2007-08-07 Farid Zaripov <Farid_Zaripov@epam.com>

	* projects.js (CreateProjectsDefs): Fixed bug with deleting original
	rwtest.dll when solution was generated with /COPYDLL:yes.

2007-08-06  Martin Sebor  <sebor@roguewave.com>

	STDCXX-510
	* locale.cpp (rw_opt_setlocales): Added option help.

2007-08-06  Martin Sebor  <sebor@roguewave.com>

	* ChangeLog: Updated, keeping original TABs.

2007-08-03  Mark Brown  <mark.g.brown@gmail.com>
	    Farid Zaripov  <faridz@apache.org>

	STDCXX-491
	* string (push_back): Moved definition outside the basic_string class
	template and optimized so as to call append() only when reallocation
	is necessary.

2007-08-03  Martin Sebor  <sebor@roguewave.com>

	* cmdopt.cpp (parse_limit_opts): Silenced silly MSVC "performance"
	warnings about converting int to bool.

2007-08-03  Martin Sebor  <sebor@roguewave.com>

	* util.cpp (DEV_NULL): Defined macro.
	(input_name): Used it.

2007-08-03 Farid Zaripov <Farid_Zaripov@epam.com>

	* runall.wsf (runAllExamples): Run command using cmd.exe with
	redirecting stderr to stdout to avoid deadlocks.

2007-08-02  Andrew Black  <ablack@roguewave.com>

	* exec.cpp [_WIN32] (exec_file): Fix incorrect variable name in
	conditionally compiled code, introduced in http://svn.apache.org/viewvc?view=rev&rev=562224

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

	* display.h (print_footer): Added an argument for the total number
	of programs processed by the utility.
	* display.cpp (print_target_verbose): Print stdin, stdout, and stderr
	redirectiopn.
	(print_status_verbose): Justified output.
	(print_footer_plain): Printed the total number of programs processed
	by the utility and avoided printing assertion totals unless they're
	valid.
	(print_footer_verbose): Added an argument.
	* target.h (target_opts): Added infname and outfname members.
	* util.h (input_name): Declared.
	* util.cpp (input_name): Defined to parallel output_name().
	* exec.cpp (open_input): Removed.
	(exec_file): Used target_opts::infname and target_opts::outfname.
	* runall.cpp (run_target): Called input_name() and output_name()
	to set the names of files to redirect input and output from and
	to, respectively.
	Avoided printing out assertion totals when they're not valid.

2007-07-31 Farid Zaripov <Farid_Zaripov@epam.com>

	* 22.locale.messages.cpp (test_open_close): Use default locale if loc_name==0.
	(test_get): The same.

2007-07-31 Farid Zaripov <Farid_Zaripov@epam.com>

	* makefile.rules: Removed double exporting of the TMP variable.
	* projects.js: Set TOPDIR env variable before running tests.

2007-07-30 Farid Zaripov <Farid_Zaripov@epam.com>

	* locale.cpp (rw_locales): On error return "C\0" instead of 0.
	[_MSC_VER]: Use _free_dbg() instead of free().

2007-07-30 Farid Zaripov <Farid_Zaripov@epam.com>

	* GNUmakefile.exm: Set TZ environment variable only for examples.
	* makefile.rules: Determine cygwin using PLATFORM variable.
	[CYGWIN]: Add $(BINDIR) to PATH.

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

	* display.cpp (print_header): Defined function pointer using
	the array notation just as is done in the declaration of the
	object to work around what looks like a bug in the Intel C++
	compiler on Windows.

2007-07-29 Farid Zaripov <Farid_Zaripov@epam.com>

	* thread.cpp [_WIN32]: Use _beginthreadex() only if _MT defined.

2007-07-27 Farid Zaripov <Farid_Zaripov@epam.com>

	* cwchar: _RWSTD_NO_TM replaced with _RWSTD_NO_STRUCT_TM.
	Added using ::tm after #including _RWSTD_ANSI_C_TIME_H.

2007-07-27 Farid Zaripov <Farid_Zaripov@epam.com>

	* gcc.config [__CYGWIN__]: Added -D_REENTRANT option in
	multithreaded builds. Don't define AS_EXT as .s.
	* atomic.s [__CYGWIN__]: Prepend symbol names by '_'.

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

	* display.h (short_st_name): Removed declaration.
	(print_header, print_footer): Added an argument.
	* display.cpp (short_st_name): Moved to the top of file.
	(verbose_st_name): New array to parallel short_st_name.
	(print_argv): New.
	(print_header_plain): Added an (unused) argument.
	(print_header_verbose, print_target_verbose, print_status_verbose):
	New handlers for verbose output.
	(print_target_plain): Asserted a precondition.
	(print_footer_plain): Added an argument and printed out summary
	information.
	(set_output_format): Defined.
	* exec.cpp (open_input): Allowed data_dir to be null.
	* cmdopt.cpp (eval_options): Set defaults to all 0. Handled
	the -v (verbose) option.
	* output.cpp (parse_output): Allowed data_dir to be null.
	* util.cpp (reference_name): Allowed data_dir to be null.
	* target.h (target_opts): Added a verbose member.
	* runall.cpp (merge_argv): Corrected constness of argument.
	(run_target): Added a new argument and incremented summary data.
	(main): Removed default timeout of 10 seconds.
	Called set_output_format().
	Passed argument to print_header() and print_footer().

2007-07-26 Farid Zaripov <Farid_Zaripov@epam.com>

	* utilities.js: Added global variable EXEC_TIMEOUT = 300 seconds.
	* projectdef.js: Removed execTimeout variable, instead used EXEC_TIMEOUT.
	* runall.wsf: Removed /COMPAT option, added /RUNFLAGS option.
	* projects.js: Added proper /RUNFLAGS:... to runExamples, runTests,
	testLocale projects.

2007-07-26 Farid Zaripov <Farid_Zaripov@epam.com>

	* thread.cpp (rw_thread_create) [_WIN32]: Use _beginthreadex() instead of CreateThread().

2007-07-25  Martin Sebor  <sebor@roguewave.com>

	* cmdopt.cpp (eval_options): Added inline comments.

2007-07-25  Martin Sebor  <sebor@roguewave.com>

	* 26.valarray.cassign.cpp: New test exercising [lib.valarray.cassign],
	valarray computed assignment operators.

2007-07-25 Farid Zaripov <Farid_Zaripov@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 <Farid_Zaripov@epam.com>

	* cmdopt.cpp [_WIN32]: #define RLIMIT_AS (for limit process memory on Windows).
	* exec.cpp (exec_file) [_WIN32]: Create process in suspended state.
	Limit process memory if needed. Set start time as time before resuming process.

2007-07-25 Farid Zaripov <Farid_Zaripov@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  Travis Vitek  <vitek@roguewave.com>

	STDCXX-502
	* valarray (valarray, operator=): Updated local variable names
	to meet conventions and get test 17.names passing again.

2007-07-24 Farid Zaripov <Farid_Zaripov@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 <Farid_Zaripov@epam.com>

	STDCXX-175
	* string.cc (replace): Throw std::length_error() if __n2 > max_size().

2007-07-24 Farid Zaripov <Farid_Zaripov@epam.com>

	* string (replace): Corrected function name in _RWSTD_FUNC() macro.
	* string.cc (replace): Ditto.

2007-07-24 Farid Zaripov <Farid_Zaripov@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-24 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-466
	* string.cc (find_first_of): Don't throw std::length_error() if n > max_size().
	(find_first_of): Ditto.
	(find_last_of): Ditto.
	(find_first_not_of): Ditto.
	(find_last_not_of): Ditto.

2007-07-23  Martin Sebor  <sebor@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 <Farid_Zaripov@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 <Farid_Zaripov@epam.com>

	* 21.string.rfind.stdcxx-466.cpp: New regression test for STDCXX-466.

2007-07-20  Martin Sebor  <sebor@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 <Farid_Zaripov@epam.com>

	STDCXX-466
	* string.cc (rfind): Don't throw std::length_error() if n > max_size().

2007-07-19 Farid Zaripov <Farid_Zaripov@epam.com>

	* 27.istream.unformatted.get.cpp: Update test according to changes in r423404.

2007-07-19 Farid Zaripov <Farid_Zaripov@epam.com>

	* rw_streambuf.h (MyStreambuf): Init throw_when_ array using when parameter.

2007-07-19  Martin Sebor  <sebor@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 <Farid_Zaripov@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  <sebor@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  <sebor@roguewave.com>

	* rw_locale.h: Added comments, commented out function formal
	arguments.

2007-07-18  Martin Sebor  <sebor@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  <sebor@roguewave.com>

	* printf.cpp (rw_sprintf): Copied the entire string including
	the terminating NUL to the destination buffer.

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

	* _ctype.h (ctype<wchar_t>): Moved definitions of public members
	above those of protected virtual functions and removed an outdated
	comment explaining the unusual class layout.

2007-07-18  Martin Sebor  <sebor@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  <sebor@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  <sebor@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  <sebor@roguewave.com>

	* 22.locale.cons.stdcxx-485.cpp: New regression test for STDCXX-485.

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

	STDCXX-486
	* time_put.cpp (tzset): Added throw() to the declaration.

2007-07-16 Farid Zaripov <Farid_Zaripov@epam.com>

	* wchar.h (swprintf): Avoided declaring function for all MSVC's.

2007-07-13  Martin Sebor  <sebor@roguewave.com>

	STDCXX-485
	* locale_body.cpp (_C_manage): Reset the capacity of the locale
	buffer to the capacity of the statically allocated buffer after
	its size shrinks below that level.

2007-07-13  Martin Sebor  <sebor@roguewave.com>

	* wchar.h (mbrtowc): Changed return type from wchar_t (introduced
	in r554281 to address STDCXX-472) to size_t.

2007-07-13 Farid Zaripov <Farid_Zaripov@epam.com>

	* fmt_bits.cpp (_rw_fmtlasterror): Cast pmsg to const char* to avoid MSVC error.

2007-07-12  Martin Sebor  <sebor@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  <sebor@roguewave.com>

	* 0.printf.cpp (test_errno): Exercised %{m} and %{*m} with errno of 0.

2007-07-12  Martin Sebor  <sebor@roguewave.com>

	* makefile.rules (makedep): Quoted the definition of the shell variable
	depflags in case it contains spaces (as it does when using acc.config)
	to correct a regression introduced in r555061 made to address issue
	STDCXX-481.

2007-07-12 Farid Zaripov <Farid_Zaripov@epam.com>

	* exec.cpp [WIN32]: Added map between NT_STATUS values and UNIX signals.
	(exec_file) [WIN32]: Translate exit code to signal value using map.
	* runall.cpp [WIN32]: Removed #include'ing of signal.h and windows.h.

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

	* wchar.h (swprintf): Corrected a nonconforming signature, introduced
	in r554281 to address STDCXX-472, to one taking size_t as the second
	argument.
	(mbrlen): Corrected signature to take const char* as the first argument.

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

	* acc.config (CXX): Removed the assumption introduced in r543687
	made to addressSTDCXX-434 that the version number is followed by
	a timestamp (or anything at all) since in versions prior to aCC
	6.13 (and whatever the equivalent ends up being on PA), it's not.

2007-07-11 Farid Zaripov <Farid_Zaripov@epam.com>

	* ctype.cpp (do_narrow): Return ch instead of dfault if conversion table not defined.

2007-07-11 Farid Zaripov <Farid_Zaripov@epam.com>

	* runall.wsf: Added processing of FORMAT, NOUT, TRAP status.

2007-07-11 Farid Zaripov <Farid_Zaripov@epam.com>

	* exec.cpp (exec_file) [_WIN32]: Translate STATUS_BREAKPOINT exit code into SIGTRAP.

2007-07-10  Martin Sebor  <sebor@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  <sebor@roguewave.com>

	* thread.cpp (rw_get_cpus): Used _SC_NPROCESSORS_ONLN when #defined.

2007-07-10  Martin Sebor  <sebor@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-10  Martin Sebor  <sebor@roguewave.com>

	STDCXX-482
	* LIMITS.cpp (compute_limits): Used the first argument to pass in
	a pointer to a value for the function to use in integer arithmetic
	involving (signed) overflow which with some aggressive optimizers
	such as Sun Studio 12 aka Sun C++ 5.9 leads to undefined behavior.
	(main): Introduced MKLIMITS() macro for convenience.

2007-07-10  Michael van der Westhuizen <r1mikey@gmail.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-470
	STDCXX-479
	STDCXX-481
	* sunpro.config (CCMAJOR, CCMINOR): New variables for the major
	and minor version of the compiler.
	(DEPENDFLAGS.cpp, DEPENDFLAGS.S): New variables for compiler options
	to generate makefile dependencies from C++ and assembly source files,
	respectively.
	(wide_flags): Set to -m64 for Sun C++ 5.9 and beyond, and for 5.8
	and prior to -xarch=v9 on SPARC and to -xarch=amd64 on AMD64.
	(narrow_flags): Set to -m32 for Sun C++ 5.9 and beyond, and for C++
	5.8 and prior to -xarch=v8 on SPARC, -xarch=386 on AMD64, and to
	-xarch=generic otherwise.
	* makefile.rules (makedep): Used DEPENDFLAGS$(depsuffix) to set
	compiler options to generate makefile dependencies.
	(depsuffix): Defined a target-specific variable to the suffix of
	the first prerequisite of the %.d pattern rule used to generate
	makefile dependencies.
	(DEPENDFLAGS, DEPENDFLAGS.cpp, DEPENDFLAGS.S, DEPENDFLAGS.s): Set
	appropriately when not defined or empty, and guarded .d: %.cpp and
	%.d: %$(AS_EXT) pattern rules.
	(GNUmakefile.cfg): Commented out make variables whose names do not
	form valid shell variable names (i.e., those containing periods)
	from the gernerated vars.sh file.
	* GNUmakefile (DEPENDFLAGS, DEPENDFLAGS.cpp, DEPENDFLAGS$(AS_EXT):
	Wrote definitions to the generated makefile.in.

2007-07-10 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-508
	* catalog.cpp (catopen): while() loop replaced to for() loop
	with checking for max iterations.

2007-07-10 Farid Zaripov <Farid_Zaripov@epam.com>

	* icc-10.0-x64.config: Added svn:eol-style = native, svn:keywords = Id properties.
	* icc-10.0.config: The same.

2007-07-09 Andrew Black <ablack@roguewave.com>
	* icc-10.0-x64.config: Add (untested) config file for the 64-bit Intel
	10.0 compiler for Windows.
	* icc-10.0.config: Add (untested) config file for the 32-bit Intel
	10.0 compiler for Windows. 

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

	* atomic_xchg.cpp (run_test): Documented algorithm used to compute
	the expected value of the shared variable manipulated by threads.

2007-07-09 Farid Zaripov <Farid_Zaripov@epam.com>

	* projects.js (CreateProjectsDefs): Turn on RTTI for rwtest project.

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

	* wchar.h (swprintf): Avoided declaring function for MSVC 8 so as
	not to cause a collision with the compiler's own horribly hacked up
	declaration.

2007-07-09 Farid Zaripov <Farid_Zaripov@epam.com>

	* makefile.rules: Set TZ environment variable (needed by examples).

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

	* wchar.h (wmemcmp): Corrected declaration introduced in r554281
	to address STDCXX-472.

2007-07-08  Martin Sebor  <sebor@roguewave.com>

	STDCXX-478
	* locale_eq.cpp (operator==): Removed the assumption that the same
	user-defined facets must be stored at the same index in the array
	in order for two locales in which they are installed to compare
	equal.

2007-07-08  Martin Sebor  <sebor@roguewave.com>

	STDCXX-477
	* locale_eq.cpp (operator==): Considered the names of locales when
	all their standard and byname facet masks are the same and all their
	facet pointers are the same.

2007-07-08  Martin Sebor  <sebor@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  <sebor@roguewave.com>

	* UNAME.cpp (print_os_version): Factored OS-specific code from main
	into here.
	(print_linux_release): New function to determine the release of Linux
	from /etc/xxx-release and #define the _RWSTD_LINUX_RELEASE macro.

2007-07-08  Martin Sebor  <sebor@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-08  Martin Sebor  <sebor@roguewave.com>

	STDCXX-474
	* valarray (slice_array): Renamed the implementation-specific member
	get_slice() to _C_get_slice() to prevent it from clashing with macros
	of the same name in the user namespace.
	(gslice_array): Same.
	(mask_array): Renamed get_array() and get_array_pt() to _C_get_array()
	and _C_get_array_ptr() for the same reason as above.
	(indirect_array): Same.
	(__rw_unary_function, __rw_binary_function): Same.

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

	STDCXX-472
	* wchar.h (WCHAR_MAX, WCHAR_MIN): #defined macros when they're not
	#defined in the system header.
	(mbstate_t): Defined typedef when not defined in system header.
	(fwprintf, fwscanf, swprintf, swscanf, vfwprintf, vfwscanf, vwprintf,
	vwscanf, mbrlen, mbrtowc, mbsinit, mbsrtowcs, wcrtomb, wcsrtombs,
	wcschr, wcsrchr, wcsstr, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset,
	wprintf, wscanf): Declared functions (including C++ overloads wherever
	appropriate) when not declared in system header.

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

	STDCXX-125
	* wchar.h (wctob): Added a declaration for wctob() when it's not
	provided in the system header. 

2007-07-06  Martin Sebor  <sebor@roguewave.com>

	* ctype_bits.cpp (_RWSTD_NO_V3_LOCALE): Removed unnecessary guards
	and replaces references to _V3_LOCALE with _STD and std, whichever
	is appropriate.
	* time_get.cpp: Same.
	* iso2022.cpp: Same.
	* wctype.cpp: Same.
	* iso2022.h: Same.
	* locale_bits.cpp: Same.
	* locale_eq.cpp: Same.
	* codecvt.cpp: Same.
	* locale_name.cpp: Same.
	* locale_classic.cpp: Same.
	* locale_core.cpp: Same.
	* wcodecvt.cpp: Same.
	* locale_global.cpp: Same.
	* locale_body.h: Same.
	* locale_combine.cpp: Same.

2007-07-06  Martin Sebor  <sebor@roguewave.com>

	* _facet.h (_V3_LOCALE): Replaced a vestige from stdcxx 2 with _STD.
	(_C_factory_f): Removed unused typedef.

2007-07-06  Martin Sebor  <sebor@roguewave.com>

	STDCXX-469
	* _facet.h (__rw_facet): Declared ctor and dtor protected.

2007-07-06  Martin Sebor  <sebor@roguewave.com>

	* mman.h: Header with declarations of portability helper functions
	for the manipulation of memory mapped files.
	* mman.cpp: Definitions of the said helpers.
	* facet.cpp (__rw_mmap, __rw_unmmap): Moved functions to mman.cpp.

2007-07-06 Farid Zaripov <Farid_Zaripov@epam.com>

	* sstream.cc (xsputn): __off declared as _RWSTD_PTRDIFF_T (was int).

2007-07-06 Farid Zaripov <Farid_Zaripov@epam.com>

	* sstream.cc (xsputn): Allow to pass internal buffer as method parameter.

2007-07-06 Farid Zaripov <Farid_Zaripov@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  Martin Sebor  <sebor@roguewave.com>

	* use_facet.h (_RWSTD_DEFINE_FACET_FACTORY): Documented macro
	and "constified" a local variable in its definition.

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

	* stdexcept (range_error, domain_error, runtime_error): Declared
	virtual destructors instead of relying on the compiler to generate
	them automatically to avoid generating the class vtable in every
	translation unit that uses each of the classes.
	* range_error.cpp: Defined range_error destructor.
	* domain_error.cpp: Defined domain_error destructor.
	* runtime_error.cpp: Defined runtime_error destructor.

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

	STDCXX-457
	* limits.c: Updated license statement.
	* valarray.c: Ditto.
	* deque.c: Ditto.
	* rw/_tree.c: Ditto.
	* rw/_algobase.c: Ditto.
	* rw/_heap.c: Ditto.
	* rw/_basic_ios.c: Ditto.
	* rw/_ioinsert.c: Ditto.
	* list.c: Ditto.
	* bitset.c: Ditto.
	* fstream.c: Ditto.
	* istream.c: Ditto.
	* string.c: Ditto.
	* ostream.c: Ditto.
	* sstream.c: Ditto.
	* algorithm.c: Ditto.
	* vector.c: Ditto.
	* streambuf.c: Ditto.

2007-07-05 Farid Zaripov <Farid_Zaripov@epam.com>

	* 0.new.cpp: Catch SIGSEGV signal as SIGABRT.

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

	STDCXX-457
	* _moneypunct.c: Updated license statement.
	* _messages.c: Ditto.
	* _numpunct.c: Ditto.
	* _collate.c: Ditto.
	* _money_get.c: Ditto.
	* _time_get.c: Ditto.
	* _num_get.c: Ditto.
	* _money_put.c: Ditto.
	* _ctype.c: Ditto.
	* _time_put.c: Ditto.
	* _num_put.c: Ditto.
	* _codecvt.c: Ditto.
	* _punct.c: Ditto.

2007-07-05 Farid Zaripov <Farid_Zaripov@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  <sebor@roguewave.com>

	* 27.ostream.cpp (test_flush): Added a comment documenting
	the test for LWG issue 581.

2007-07-04 Farid Zaripov <Farid_Zaripov@epam.com>

	* locale.cpp: Use "dir /B" command on Windows instead of "ls -1"

2007-07-03 Farid Zaripov <Farid_Zaripov@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-07-03  Martin Sebor  <sebor@roguewave.com>

	* xbuildgen: Utility to generate cross-build results from multiple
	stdcxx build logs.

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

	* sstream (str): Corrected formatting problems.

2007-06-29  Martin Sebor  <sebor@roguewave.com>

	* 22.locale.globals.mt.cpp (<cwchar>): #included for mbstate_t.

2007-06-28  Martin Sebor  <sebor@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  <sebor@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  <sebor@roguewave.com>

	STDCXX-461
	* num_put.cpp (__rw_fix_flt): Corrected the formatting of Infinities
	and NaN's when precision exceeds the length of the formatted string.

2007-06-28  Martin Sebor  <sebor@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  <sebor@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  <sebor@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  <sebor@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  <sebor@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 <Farid_Zaripov@epam.com>

	* thread.cpp (rw_get_cpus) [_WIN32]: Added Windows version of the function.

2007-06-26  Martin Sebor  <sebor@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 <Farid_Zaripov@epam.com>

	* projects.js (CreateProjectsDefs): Enable RTTI in stdcxx project.

2007-06-26 Farid Zaripov <Farid_Zaripov@epam.com>

	* _iosbase.h: Fixed references to standard.

2007-06-26 Farid Zaripov <Farid_Zaripov@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 <Farid_Zaripov@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-26 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-462
	* moneyput.cpp (main): Create named std::locale object instead of unnamed.
	* num_get.cpp (main): Ditto.
	* time_get.cpp (main): Ditto.

2007-06-25 Farid Zaripov <Farid_Zaripov@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-25 Farid Zaripov <Farid_Zaripov@epam.com>

	* projects.js (CreateProjectsDefs): Enable RTTI for all tests.

2007-06-23  Martin Sebor  <sebor@roguewave.com>

	STDCXX-457
	* ascii.cm: Updated license statement and restored
	original contents.
	* C.src: Ditto.

2007-06-23  Martin Sebor  <sebor@roguewave.com>

	STDCXX-457
	* podarray.cc: Updated license statement.
	* podarray.c: Same.
	* version.cpp: Updated copyright.

2007-06-23  Martin Sebor  <sebor@roguewave.com>

	STDCXX-457
	* loc_exception.h: Updated license statement.
	* memchk.h: Same.
	* path.cpp: Same.
	* iconv.cpp: Same.
	* localedef.h: Same.
	* aliases.h: Same.

2007-06-23  Martin Sebor  <sebor@roguewave.com>

	STDCXX-457
	* tr1/array: Updated license statement.
	* ansi/csignal: Same.
	* ansi/cstdio: Same.
	* ansi/cstdarg: Same.
	* ansi/ciso646: Same.
	* ansi/climits: Same.
	* ansi/cstring: Same.
	* ansi/cstddef: Same.
	* ansi/cwctype: Same.
	* ansi/cstdlib: Same.
	* ansi/cctype: Same.
	* ansi/cerrno: Same.
	* ansi/cmath: Same.
	* ansi/ctime: Same.
	* ansi/clocale: Same.
	* ansi/cassert: Same.
	* ansi/csetjmp: Same.
	* ansi/cfloat: Same.
	* iostream: Same.
	* numeric: Same.
	* utility: Same.
	* memory: Same.
	* iterator: Same.
	* functional: Same.
	* istream: Same.
	* algorithm: Same.
	* typeinfo: Same.
	* exception: Same.
	* locale: Same.
	* strstream: Same.
	* new: Same.
	* ios: Same.

2007-06-23  Martin Sebor  <sebor@roguewave.com>

	STDCXX-457
	* loc/_time_get.cc: Updated license statement.
	* loc/_convenience.h: Same.
	* loc/_moneypunct.h: Same.
	* loc/_messages.h: Same.
	* loc/_numpunct.h: Same.
	* loc/_money_put.cc: Same.
	* loc/_facet.h: Same.
	* loc/_collate.h: Same.
	* loc/_codecvt.cc: Same.
	* loc/_punct.cc: Same.
	* loc/_moneypunct.cc: Same.
	* loc/_numpunct.cc: Same.
	* loc/_collate.cc: Same.
	* loc/_ctype.cc: Same.
	* loc/_time_put.cc: Same.
	* loc/_num_put.h: Same.
	* loc/_codecvt.h: Same.
	* loc/_punct.h: Same.
	* rw/_iosfailure.h: Same.
	* rw/_relops.h: Same.
	* rw/_heap.cc: Same.
	* rw/_file.h: Same.
	* rw/_funcbase.h: Same.
	* rw/_error.h: Same.
	* rw/_basic_ios.cc: Same.
	* rw/_bitmask.h: Same.
	* rw/_iosfwd.h: Same.
	* rw/_tree.cc: Same.
	* rw/_exception.h: Same.
	* rw/_typetraits.h: Same.
	* rw/_algobase.cc: Same.
	* rw/_heap.h: Same.
	* rw/_rawiter.h: Same.
	* rw/_allocator.h: Same.
	* rw/_math.h: Same.
	* rw/_new.h: Same.
	* ansi/_cmath.h: Same.
	* ansi/_ctime.h: Same.
	* ansi/_clocale.h: Same.
	* ansi/limits.h: Same.
	* ansi/_cassert.h: Same.
	* ansi/_csetjmp.h: Same.
	* ansi/float.h: Same.
	* ansi/_cwchar.h: Same.
	* ansi/stddef.h: Same.
	* ansi/wctype.h: Same.
	* ansi/stdlib.h: Same.
	* ansi/stdio.h: Same.
	* ansi/_cctype.h: Same.
	* ansi/_cstdarg.h: Same.
	* ansi/_cerrno.h: Same.
	* ansi/math.h: Same.
	* ansi/time.h: Same.
	* ansi/locale.h: Same.
	* ansi/assert.h: Same.
	* ansi/setjmp.h: Same.
	* ansi/wchar.h: Same.
	* ansi/_cfloat.h: Same.
	* ansi/_cstring.h: Same.
	* ansi/_cstddef.h: Same.
	* ansi/_cwctype.h: Same.
	* ansi/signal.h: Same.
	* ansi/_cstdio.h: Same.
	* ansi/ctype.h: Same.
	* ansi/stdarg.h: Same.
	* ansi/errno.h: Same.
	* vector_spec.h: Same.
	* deque.cc: Same.
	* ostream.cc: Same.
	* list.cc: Same.
	* limits.cc: Same.
	* deque_spec.h: Same.
	* list_spec.h: Same.

2007-06-23  Martin Sebor  <sebor@roguewave.com>

	STDCXX-457
	* catalog.h: Updated license statement.
	* access.h: Same.
	* use_facet.h: Same.
	* iso2022.h: Same.
	* setlocale.h: Same.
	* version.cpp: Same.
	* iosdata.h: Same.
	* locale_body.h: Same.
	* strtol.h: Same.

2007-06-23  Martin Sebor  <sebor@roguewave.com>

	STDCXX-457
	* rwstdmessages.h: Updated license statement.
	* replace.h: Same.
	* codecvte.h: Same.
	* examples.h: Same.
	* valarray.h: Same.
	* memfunref.h: Same.
	* alg3.h: Same.
	* widwork.h: Same.
	* stocks.h: Same.
	* teller.h: Same.

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

	STDCXX-457
	* icecream.cpp: Updated license statement.
	* graph.cpp: Same.
	* complx.cpp: Same.
	* calc.cpp: Same.
	* stocks.cpp: Same.
	* radix.cpp: Same.
	* sieve.cpp: Same.
	* spell.cpp: Same.
	* alg1.cpp: Same.
	* alg2.cpp: Same.
	* widwork.cpp: Same.
	* alg3.cpp: Same.
	* alg4.cpp: Same.
	* concord.cpp: Same.
	* teller.cpp: Same.
	* alg5.cpp: Same.
	* alg6.cpp: Same.
	* tele.cpp: Same.
	* alg7.cpp: Same.
	* heap_ops.cpp: Same.
	* toupper.cpp: Same.
	* rotate.cpp: Same.
	* map.cpp: Same.
	* mismatch.cpp: Same.
	* search.cpp: Same.
	* find_end.cpp: Same.
	* includes.cpp: Same.
	* partial_sort.cpp: Same.
	* messages.cpp: Same.
	* transform.cpp: Same.
	* codecvt1.cpp: Same.
	* replace.cpp: Same.
	* partial_sum.cpp: Same.
	* lex_compare.cpp: Same.
	* max.cpp: Same.
	* strstreambuf.cpp: Same.
	* set_diff.cpp: Same.
	* fill.cpp: Same.
	* set_intr.cpp: Same.
	* setex.cpp: Same.
	* bitset.cpp: Same.
	* distance.cpp: Same.
	* random_shuffle.cpp: Same.
	* auto_ptr.cpp: Same.
	* time_get.cpp: Same.
	* remove.cpp: Same.
	* has_facet.cpp: Same.
	* funct_ob.cpp: Same.
	* slice.cpp: Same.
	* mutex.cpp: Same.
	* stringbuf.cpp: Same.
	* stack.cpp: Same.
	* string.cpp: Same.
	* complex.cpp: Same.
	* ul_bound.cpp: Same.
	* isalnum.cpp: Same.
	* swap.cpp: Same.
	* ifstream.cpp: Same.
	* istreambuf_iterator.cpp: Same.
	* valarray.cpp: Same.
	* ostreambuf_iterator.cpp: Same.
	* collate.cpp: Same.
	* adj_diff.cpp: Same.
	* count.cpp: Same.
	* multimap.cpp: Same.
	* negator.cpp: Same.
	* multiset.cpp: Same.
	* pnt2fnct.cpp: Same.
	* indirect_array.cpp: Same.
	* locale.cpp: Same.
	* moneypunct.cpp: Same.
	* wostream.cpp: Same.
	* advance.cpp: Same.
	* vector.cpp: Same.
	* deque.cpp: Same.
	* accumulate.cpp: Same.
	* equal.cpp: Same.
	* copyex.cpp: Same.
	* list.cpp: Same.
	* reverse.cpp: Same.
	* num_get.cpp: Same.
	* permutation.cpp: Same.
	* find.cpp: Same.
	* moneyput.cpp: Same.
	* ctype.cpp: Same.
	* queue.cpp: Same.
	* strstream.cpp: Same.
	* max_elem.cpp: Same.
	* sort.cpp: Same.
	* mask_array.cpp: Same.
	* num_put.cpp: Same.
	* istringstream.cpp: Same.
	* generate.cpp: Same.
	* slice_array.cpp: Same.
	* nthelem.cpp: Same.
	* gslice_array.cpp: Same.
	* istrstream.cpp: Same.
	* rwexcept.cpp: Same.
	* fstream.cpp: Same.
	* set_union.cpp: Same.
	* for_each.cpp: Same.
	* unique.cpp: Same.
	* gslice.cpp: Same.
	* use_facet.cpp: Same.
	* filebuf.cpp: Same.
	* memfunref.cpp: Same.
	* istream1.cpp: Same.
	* binders.cpp: Same.
	* stream_iterator.cpp: Same.
	* wstringstream.cpp: Same.
	* memfunc.cpp: Same.
	* find_first_of.cpp: Same.
	* equal_range.cpp: Same.
	* inner_product.cpp: Same.
	* insert_iterator.cpp: Same.
	* priority_queue.cpp: Same.
	* partition.cpp: Same.
	* set_sym_diff.cpp: Same.

2007-06-23  Martin Sebor  <sebor@roguewave.com>

	STDCXX-457
	* ti_istream.cpp: Updated license statement.
	* ti_stringbuf.cpp: Same.
	* ti_string.cpp: Same.
	* ti_wmoney_put.cpp: Same.
	* ctype_bits.cpp: Same.
	* ti_ostream.cpp: Same.
	* memory.cpp: Same.
	* ti_wstreambuf.cpp: Same.
	* ti_collate.cpp: Same.
	* ti_insert_dbl.cpp: Same.
	* strtol.cpp: Same.
	* ti_wistream.cpp: Same.
	* ti_wnumpunct.cpp: Same.
	* ti_moneypunct.cpp: Same.
	* ti_wostream.cpp: Same.
	* time_get.cpp: Same.
	* iso2022.cpp: Same.
	* ti_winsert_int.cpp: Same.
	* limits.cpp: Same.
	* ti_numpunct.cpp: Same.
	* ti_wcollate.cpp: Same.
	* ti_wmoney_get.cpp: Same.
	* ti_money_put.cpp: Same.
	* ti_winsert_ptr.cpp: Same.
	* ti_num_put.cpp: Same.
	* ti_streambuf.cpp: Same.
	* ti_ios.cpp: Same.
	* locale_core.cpp: Same.
	* ti_wstring.cpp: Same.
	* typeinfo.cpp: Same.
	* assert.cpp: Same.
	* ti_winsert_dbl.cpp: Same.
	* ti_wtime_put.cpp: Same.
	* ti_wnum_put.cpp: Same.
	* ios_bits.cpp: Same.
	* ti_wios.cpp: Same.
	* rwstderr.cpp: Same.
	* locale_bits.cpp: Same.
	* random.cpp: Same.
	* ti_money_get.cpp: Same.
	* ti_time_put.cpp: Same.
	* ti_wmoneypunct.cpp: Same.
	* locale_eq.cpp: Same.
	* strstream.cpp: Same.
	* version.cpp: Same.
	* ti_wstringbuf.cpp: Same.
	* num_put.cpp: Same.
	* codecvt.cpp: Same.
	* vecbool.cpp: Same.
	* ios.cpp: Same.
	* ti_num_get.cpp: Same.
	* catalog.cpp: Same.
	* ti_wmessages.cpp: Same.
	* locale_name.cpp: Same.
	* locale_classic.cpp: Same.
	* ti_messages.cpp: Same.
	* ti_insert_int.cpp: Same.
	* locale_global.cpp: Same.
	* ti_wtime_get.cpp: Same.
	* ti_wnum_get.cpp: Same.
	* limits_bits.cpp: Same.
	* ti_insert_ptr.cpp: Same.
	* ti_time_get.cpp: Same.
	* locale_combine.cpp: Same.

2007-06-22  Martin Sebor  <sebor@roguewave.com>

	* 30-3.html: Added a note about the effects of ios::out creating
	a file when it doesn't exist.

2007-06-22 Farid Zaripov <Farid_Zaripov@epam.com>

	* _error.h(__rw_free_what_buf): Removed inline in declaration.
	* exception.cpp(__rw_free_what_buf): The same.

2007-06-22 Farid Zaripov <Farid_Zaripov@epam.com>

	* projects.js (CreateProjectsDefs): Set TZ environment variable before run examples.

2007-06-22 Farid Zaripov <Farid_Zaripov@epam.com>

	* _error.h: Put _RWSTD_EXPORT before the return type for
	consistency between declaration and definition.

2007-06-22 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-454
	* _error.h: Added declaration of the __rw_free_what_buf.
	* exception.cpp (__rw_free_what_buf): Added _RWSTD_EXPORT to prototype.
	Added assertion on __rw_what_refcnt value.
	(_C_assign): If whatstr == __rw_what_buf, just reuse it without allocation
	of the new buffer.
	* rwexcept.cpp: Use __rw_free_what_buf() instead of delete[].

2007-06-22 Farid Zaripov <Farid_Zaripov@epam.com>

	* build.wsf (build): Limit infinite loop by 60 seconds.

2007-06-21  Farid Zaripov  <Farid_Zaripov@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-21 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-293
	* exception.cpp (__rw_throw): Don't delete allocated what string because of
	__rw_throw_proc() takes ownership and must delete what string.

2007-06-21 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-293
	* exception.cpp (__rw_free_what_buf): New function to free buffer, allocated by __rw_vfmtwhat().
	Used __rw_free_what_buf() instead of delete[].

2007-06-21 Farid Zaripov <Farid_Zaripov@epam.com>

	* projects.js (CreateProjectsDefs): Added path to rwstdmessages.dll before run examples.

2007-06-21 Farid Zaripov <Farid_Zaripov@epam.com>

	* rwstdmessages.cpp (_rw_messages_version): Added missing '}'.
	* rwstdmessages.dll: Updated to valid WIN32 dll file.

2007-06-21 Farid Zaripov <Farid_Zaripov@epam.com>

	* time_manip.in: New input file for the time_manip.cpp example.

2007-06-19  Martin Sebor  <sebor@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  <sebor@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  <sebor@roguewave.com>

	* punct.cpp (_RWSTD_NO_V3_LOCALE): Removed a dead guard.
	(_RWSTD_SIZE_T): Replaced with size_t throughout.
	Removed the :: scope resolution operator from references
	to C library functions.

2007-06-19  Martin Sebor  <sebor@roguewave.com>

	* 22.locale.numpunct.mt.cpp: New test exercising the thread safety
	of the numpunct facet.

2007-06-19  Martin Sebor  <sebor@roguewave.com>

	* LOCALE_NAME_FMAT.cpp (test_locale_names, nlocales): Moved...
	* locale_names.h: ...to here so that it could be reused elsewhere.
	* THREAD_SAFE_LOCALE.cpp: New test to determine whether each thread
	has its own C locale environment that's independent of those of all
	other threads or whether the C locale facility is process global,
	i.e., shared among all threads.

2007-06-19 Farid Zaripov <Farid_Zaripov@epam.com>

	* configure.wsf (cleanQuit): New function to clean and quit.
	(configure): Use cleanQuit() instead of WScript.Quit().

2007-06-19 Farid Zaripov <Farid_Zaripov@epam.com>

	* build.wsf (build): Fix the "Call was Rejected By Callee" error.

2007-06-19 Farid Zaripov <Farid_Zaripov@epam.com>

	* proclimits.h: New file with process limit functions
	* NEW_THROWS.cpp: #included "proclimits.h"
	* GLOBAL_BAD_ALLOC.cpp: Ditto
	* STD_BAD_ALLOC.cpp: Ditto

2007-06-18  Martin Sebor  <sebor@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  <sebor@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  <sebor@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  <sebor@roguewave.com>

	* 26.valarray.sub.stdcxx-448.cpp: Regression test for STDCXX-448.

2007-06-17  Scott Zhong  <scottz@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  <scottz@roguewave.com>
	    Martin Sebor <sebor@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  <sebor@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  <sebor@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  <sebor@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  <sebor@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  <sebor@roguewave.com>

	* rw_thread.h: Added comments.

2007-06-17  Martin Sebor  <sebor@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  <sebor@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  <sebor@roguewave.com>

	* 0.printf.cpp (test_dec): Exercised long and long long formatting.
	(test_nested_format): Added comments.

2007-06-13  Martin Sebor  <sebor@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 <Farid_Zaripov@epam.com>

	* money_manip.in: New input file for the money_manip.cpp example.

2007-06-13 Farid Zaripov <Farid_Zaripov@epam.com>

	* 27.stringbuf.members.stdcxx-427.cpp: new test from STDCXX-427 issue

2007-06-13 Farid Zaripov <Farid_Zaripov@epam.com>

	* runall.wsf (parseStatus): Parse OUTPUT status.
	(runAllExamples): Use OUTPUT status as successful result.

2007-06-13 Farid Zaripov <Farid_Zaripov@epam.com>

	* dynatype.out: Corrected example expected output.

2007-06-13 Farid Zaripov <Farid_Zaripov@epam.com>

	* except.out: Renamed...
	* failure.out: ...to this (see http://svn.apache.org/viewvc?view=rev&rev=544238).
	* insert_wchar.out: Added svn:eol-style=native property. Removed svn:keywords property.
	* mbsrtowcs.out: Ditto.
	* fmtflags_manip.out: Ditto.
	* wstringstream.out: Ditto.

2007-06-12 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-429
	* _config.h: #include "_config-msvc.h" only on MSVC.
	* _config-msvcrt.h: New file with configuration definitions of the MSVC CRT.
	* _config-icc.h [_WIN{32,64}]: #include "_config-msvcrt.h",
	added #pragma's to silence bogus warnings.
	* _config-msvc.h: #include "_config-msvcrt.h",
	MSVC CRT specific definitions moved to _config-msvcrt.h.

2007-06-12 Farid Zaripov <Farid_Zaripov@epam.com>

	* dynatype.out: Added svn:eol-style=native property.

2007-06-12 Farid Zaripov <Farid_Zaripov@epam.com>

	* runall.wsf (parseStatus): Increased width of the NAME column,
	according to http://svn.apache.org/viewvc?view=rev&rev=545641.

2007-06-12 Farid Zaripov <Farid_Zaripov@epam.com>

	* sstream (str): Method definition moved outside of the class definition.

2007-06-12 Farid Zaripov <Farid_Zaripov@epam.com>

	* cwchar: Added missing ';' in using declarations.

2007-06-11  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.cfg (sane): Printed out the library version
	for which the config header is being generated.
	clean): Removed $(LOGFILE) from the list of files to remove
	by the target.

2007-06-08  Andrew Black  <ablack@roguewave.com>

STDCXX-440
	* GNUmakefile.exm (RUNFLAGS): Add --ulimit:as switch to limit examples
	to allocating 256 MB of memory (total)
	* GNUmakefile.tst (RUNFLAGS): Add --ulimit:as switch to limit tests to
	allocating 1 GB of memory (total)

2007-06-11  Martin Sebor  <sebor@roguewave.com>

	* money_manip.cpp (main): Corrected a trivial typo in a comment.

2007-06-09  Martin Sebor  <sebor@roguewave.com>

	STDCXX-446
	STDCXX-447
	* complex (pow, operator>>, operator<<): Removed inline definitions.
	* complex.cc (pow, operator>>, operator<<): Defined out-of-line and
	exported.
	* complex.c: #included complex.cc.
	* export.cpp (<complex>, complex.cc): #included.

2007-06-09  Martin Sebor  <sebor@roguewave.com>

	* dynatype.out: Expected output of tutorial/dynatype.cpp.

2007-06-09  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile (.DEFAULT): Recursed into $BUILDDIR/include.
	* GNUmakefile.cfg (realclean): Avoided removing config.h
	but cleaned out all object files.

2007-06-08  Martin Sebor  <sebor@roguewave.com>

	* display.cpp (print_header_plain, print_target_plain): Increased
	the width of the first column (NAME) to 30 characters.
	* output.cpp (check_test, check_test_compat): Set the state
	of targets that produce an empty output file to ST_NO_OUTPUT.

2007-06-08  Martin Sebor  <sebor@roguewave.com>

	* src/wctype.cpp (do_widen): Explicitly specified template argument
	list to work around HP aCC 3 and 5 bug resulting in Error 331: Illegal
	cast expression; cannot cast expression type '<no type>' to 'wchar_t'.
	See STDCXX-445.

2007-06-08 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-427
	* sstream (str): Function updated according to 27.7.1.2, p1

2007-06-07  Martin Sebor  <sebor@roguewave.com>

	STDCXX-439
	* vacpp.config (LDFLAGS): Added -Wl,-bh:5 to silence ld warning
	0711-224 (Duplicate symbol) for shared library linking with IBM
	VisualAge C++ 6.0.

2007-06-07  Martin Sebor  <sebor@roguewave.com>

	* vacpp.config (OPTMZ_CXXFLAGS): Replaced -qinline with the equivalent
	-Q for consistency with other single-letter options and documented.

2007-06-07  Martin Sebor  <sebor@roguewave.com>

	* _ctype.h (do_toupper, do_tolower, do_widen, do_narrow): Outlined
	virtual member functions of ctype<wchar_t> since they can almost
	never be inlined anyway.
	* wctype.cpp: Same.

2007-06-07  Martin Sebor  <sebor@roguewave.com>

	* xlC_version.sh: Added a comment listing known versions and PTF
	dates they correspond to.

2007-06-07  Martin Sebor  <sebor@roguewave.com>

	* xlC_version.sh: Restored detailed script output from stdcxx 4.1.3
	for VAC++ 6.0 (i.e., to include the last component) inadvertently
	removed in r518779.

2007-06-06  Martin Sebor  <sebor@roguewave.com>

	STDCXX-271
	* string (_RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES): New convenience
	macro #defined in response to the various conditions previously tested
	throughout the header and .cc file.
	(__rw_replace, __rw_replace_aux, replace): Guarded global and member
	functions with said macro.
	Replaced guards for specific version(s) of MSVC with the config macro
	_RWSTD_NO_MEMBER_TEMPLATES (tested by artificially defining the macro
	on the command line).
	* string.cc (__rw_replace, __rw_replace_aux, replace): Same as above.

2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>

	* GLOBAL_BAD_ALLOC.cpp: Use size_t type in new() instead of unsigned long.
	* STD_BAD_ALLOC.cpp: Ditto.

2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-422
	* GNUmakefile.lib [CYGWIN]: changed name of the library to libstd${BUILDTYPE}-X.Y.Z.dll
	* makefile.rules [CYGWIN]: add $(LIBDIR) to PATH

2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>

	* dynatype.cpp (copy): static_cast to const T& instead of T
	to avoid error on gcc 3.4.4/Cygwin: invalid static_cast from
	type `const dynatype' to type `int'.

2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-188
	* typeinfo.cpp: use ::_C_name or std::_C_name depending on _RWSTD_NO_STD_TYPE_INFO macro

2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>

	* 23.bitset.cons.stdcxx-297.cpp: new test from STDCXX-297 issue

2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>

	* 23.list.cons.stdcxx-268.cpp: new test from STDCXX-268 issue

2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>

	* 23.deque.special.stdcxx-127.cpp: new test from STDCXX-127 issue

2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>

	* 23.list.special.stdcxx-334.cpp: new test from STDCXX-334 issue

2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>

	* 23.list.insert.stdcxx-331.cpp: new test from STDCXX-331 issue

2007-06-05  Martin Sebor  <sebor@roguewave.com>

	* insert_wchar.cpp (main): Parenthesized a call to isalnum() to prevent
	macro expension in case the function happens to be (illegally) shadowed
	by a macro.

2007-06-05  Martin Sebor  <sebor@roguewave.com>

	* acc.config: Silenced excessively noisy remarks for aCC 6.10
	and beyond (causing build logs to exceed 15MB in size).

2007-06-05 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-188
	* typeinfo.cpp: silenced warning: _C_name was declared
	but never referenced

2007-06-05 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-105
	* README: Extended VisualStudio Setup Instructions;
	added VisualStudio Test Suite Build Instructions.

2007-06-04  Martin Sebor  <sebor@roguewave.com>

	* stdexcept.cpp: Removed output file (exact output depends on
	the compiler and on the location of stdcxx headers).

2007-06-04  Martin Sebor  <sebor@roguewave.com>

	* 18-4.html: Updated example program to match the latest code
	and added possible output.

2007-06-04  Martin Sebor  <sebor@roguewave.com>

	* exceptn.cpp: Moved...
	* stdexcept.cpp: ...to this.

2007-06-04  Martin Sebor  <sebor@roguewave.com>

	* exceptn.cpp: Renamed...
	* failure.cpp: ...to this.

2007-06-03  Martin Sebor  <sebor@roguewave.com>

	STDCXX-135
	* 0.printf.cpp (test_string): Added a test for the format being
	the empty string ("").

2007-06-01  Martin Sebor  <sebor@roguewave.com>

	STDCXX-434
	* acc.config (CCVER): Adjusted to the change in HP aCC -V output
	by searching for "A.NN.NN" as suggested by Dennis Handly.

2007-06-01  Martin Sebor  <sebor@roguewave.com>

	STDCXX-433
	* string.h (strpbrk): Added declaration and definition when
	the function is not declared in the system string.h header.

2007-06-01  Martin Sebor  <sebor@roguewave.com>

	STDCXX-432
	* _config.h (_config-eccp.h): Avoided #including when using HP aCC.
	* exception.cpp (stdarg.h): Used _RWSTD_EDG_ECCP to guard against
	inclusion when using EDG eccp based compilers including HP aCC 6.

2007-06-01  Martin Sebor  <sebor@roguewave.com>

	STDCXX-431
	* string.h (memchr): Added declaration and definition when
	the function is not declared in the system string.h header.

2007-05-31 Farid Zaripov <Farid_Zaripov@epam.com>

	* build.wsf (getBuildLog): New function to extract data from BuildLog.htm;
	(event_ProjectBuildStarted): Added checking function parameter != null;
	(event_ProjectBuildFinished): If Cfg == null find path to the BuildLog.htm
	in Output window;
	(BuildProject): Invoke event_ProjectBuildStarted() and
	event_ProjectBuildFinished() on ICC.
	* utilities.js (stipTags): Remove additional html tags from buildlog.

2007-05-30  Martin Sebor  <sebor@roguewave.com>

	* gcc.config: Made formatting consistent (4 space indents
	everywhere, at most 78 characters per line).

2007-05-30  Martin Sebor  <sebor@roguewave.com>

	STDCXX-369
	* gcc.config (LDSOFLAGS): For gcc 3.3 and prior added -shared-libgcc.

2007-05-30  Andrew Black  <ablack@roguewave.com>

	STDCXX-117
	* aliases.cpp [_RWSTD_NO_NL_LANGINFO] (<langinfo.h>): Guarded 
	against inclusion when the header is detected to be missing at 
	configuration time.
	* charmap.cpp [_RWSTD_NO_ICONV] (<iconv.h>): Ditto.
	* charmap.h [_RWSTD_NO_ICONV] (<iconv.h>): Ditto.
	* locale.cpp [_RWSTD_NO_ICONV] (<iconv.h>): Ditto.
	[_RWSTD_NO_NL_LANGINFO] (<langinfo.h>): Ditto.

2007-05-29 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-378
	* dynatype.cpp: Restored dynatype::operator T&(); dynatype::operator T() const
	renamed to dynatype::operator const T&() const.

2007-05-29 Farid Zaripov <Farid_Zaripov@epam.com>

	* generate.wsf (Echo) : Try/catched the output to the StdOut
	to prevent the error: generate.wsf(90, 6) (null): The handle is invalid.

2007-05-28  Martin Sebor  <sebor@roguewave.com>

	STDCXX-402
	* strtol.cpp (__rw_strtoul, __rw_strtol, __rw_strtoull, __rw_strtoll):
	Asserted preconditions.
	(LLong, ULLong): New convenience typedefs at namespace scope.
	(__rw_strtoull, __rw_strtoll): Corrected off by one errors.

2007-05-28  Martin Sebor  <sebor@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  <sebor@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-25  Martin Sebor  <sebor@roguewave.com>

	* fmtflags_manip.cpp: New example program demonstrating
	an implementation of a user-defined manipulator for convenient
	and exception-safe setting and restoring of stream formatting
	flags. Prompted by the following Usenet thread:
	http://groups.google.com/group/comp.lang.c++/browse_frm/thread/acfa77336a6137cd/50e116d0a0c889ad
	* fmtflags_manip.out: Expected example output.

2007-05-25 Farid Zaripov <Farid_Zaripov@epam.com>

	* _config-msvc.h: MSVC specific #pragma's decorated with #ifndef _INTEL_COMPILER;
	added #pragma's to disable ICC warnings.

2007-05-25 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-378
	* dynatype.cpp: Removed dynatype::operator T&() to resolve
	ambiguity between user defined conversions on MSVC.

2007-05-25 Farid Zaripov <Farid_Zaripov@epam.com>

	* dynatype.cpp: Updated copyright notice;
	(main): Fixed missprint (v1 replaced with v3).

2007-05-24  Martin Sebor  <sebor@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 <Farid_Zaripov@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-23 Farid Zaripov <Farid_Zaripov@epam.com>

	* projects.js (CreateProjectDefs): Add path of the bin directory to PATH
	envirobment variable before invoking runall.wsf script.
	* runall.wsf: Removed LIBDIR option as unused. Removed libdllFolder and
	libFileName variables as unused.

2007-05-23  Martin Sebor  <sebor@roguewave.com>

	* _array.h (ctor): Removed redundant (ill-formed?) template
	argument list from the definition of __rw_array destructor.

2007-05-22  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 22.locale.moneypunct.cpp: New test exercising locale.moneypunct.

2007-05-22  Martin Sebor  <sebor@roguewave.com>

	* mbsrtowcs.cpp (main): Corrected typo in hardcoded input.
	* mbsrtowcs.out: Corrected typos in expected output.

2007-05-22  Martin Sebor  <sebor@roguewave.com>

	STDCXX-424
	* _array.h (dtor): Simplified and implemented without
	relying on resize() for efficiency.
	(resize): Avoided calling trivial inline functions.

2007-05-21  Martin Sebor  <sebor@roguewave.com>

	STDCXX-296
	* insert_wchar.cpp: New example program demonstrating an implementation
	of an inserter operator overloaded for arrays of wchar_t that performs
	codeset conversion from arrays of wchar_t to mutlibyte characters.
	* insert_wchar.out: Expected output of the example program.

2007-05-18  Eric Lemings  <lemings@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-18  Martin Sebor  <sebor@roguewave.com>

	STDCXX-421
	* run_locale_utils.sh: When installed, invoked Bash on AIX instead
	of the default system shell (/bin/sh -> /usr/bin/sh) to work around
	a bug (?) that prevents it from trapping SIGHUP (and invoking the
	signal handler).
	Removed binary locale database at each stage of testing instead
	of waiting until the end of the process to reduce the amount of
	wasted disk space.
	Replaced [ "$var" = "" ] syntax with the more concise [ -z "$var" ].
	Incorporated the name of the locale being tested in the name of the
	temporary directory.

2007-05-18  Martin Sebor  <sebor@roguewave.com>

	* makefile.rules (run): To avoid filling up disk space with junk files left
	behind by bad programs, created and set TMP to a temporary directory before
	running the programs, and then removed it when done.

2007-05-16  Martin Sebor  <sebor@roguewave.com>

	* mbsrtowcs.cpp: NUL-terminated destination sequence before
	writing it out to stdout.

2007-05-15  Martin Sebor  <sebor@roguewave.com>

	STDCXX-417
	* atomic.s (TYPE_DIR): New macro conditionally defined to the .type
	directive for GNU as on ELF targets.

2007-05-15  Martin Sebor  <sebor@roguewave.com>

	STDCXX-416
	* stdexcept (logic_error): Declared dtor.
	* logic_error.cpp: New file.
	(logic_error): Defined class dtor

2007-05-15  Martin Sebor  <sebor@roguewave.com>

	* codecvt.html: Added a note to do_length() clarifying the relationship
	(or the lack thereof) between it and the C Standard Library function
	mbsrtowcs(). See the following thread:
	http://groups.google.com/group/comp.lang.c++/tree/browse_frm/thread/85ffe366e1d65734

2007-05-15 Farid Zaripov <Farid_Zaripov@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 <Farid_Zaripov@epam.com>

	* value.cpp (xinit) Removed as unused.

2007-05-14 Farid Zaripov <Farid_Zaripov@epam.com>

	* summary.js (checkForFailures, readBuildLog): Added check to avoid
	JScript runtime error: Input past end of file Project.
	* utilities.js (stripTags): Remove "</pre>" from build log.

2007-05-12  Martin Sebor  <sebor@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-12  Martin Sebor  <sebor@roguewave.com>

	STDCXX-411
	* money-get.html: Updated example program to (closely) match
	the latest version of the program in svn and to match shown
	output.

2007-05-12  Martin Sebor  <sebor@roguewave.com>

	* money_get.cpp (main): Removed a redundant template argument
	for brevity and introduced a typedef for better readability.

2007-05-12  Martin Sebor  <sebor@roguewave.com>

	* money_get.cpp: Made example more interesting by using thousands
	separators and more decimal places than two in input, and by making
	it possible to specify all parameters on the command line.
	Simplified the invocation of money_get::get() by taking advantage
	of the implicit conversion from ios to istreambuf_iterator.
	* money_get.out: Adjusted to match the above changes.

2007-05-12  Martin Sebor  <sebor@roguewave.com>

	* moneyget.out: Renamed...
	* money_get.out: ...to this to complete rev 537480.

2007-05-12  Martin Sebor  <sebor@roguewave.com>

	* moneyget.cpp: Renamed...
	* money_get.cpp: ...to this to match the name of the facet
	and (as closely as reasonable) the documentation page in
	the Class Reference.

2007-05-10  Martin Sebor  <sebor@roguewave.com>

	STDCXX-409
	* eccp.config (BUILDDIR): Set to the CWD if not defined on the command
	line to avoid setting the template directory to a bogus directory.

2007-05-10  Martin Sebor  <sebor@roguewave.com>

	* gen_list (de_DE.UTF-8, en_US.UTF-8, fr_FR.UTF-8, ru_RU.UTF-8,
	zh_CN.UTF-8): Added UTF-8 locales.

2007-05-09  Martin Sebor  <sebor@roguewave.com>

	STDCXX-407
	* stdlibug/1-4.html: Removed reference to Rogue Wave wherever
	they're not relevant/appropriate anymore and replaced with
	Apache stdcxx or similar as necessary.
	* stdlibug/1-1.html: Same.
	* stdlibug/tindex.html: Same.
	* stdlibug/33-3.html: Same.
	* stdlibug/34-2.html: Same.
	* stdlibug/1-5.html: Same.
	* stdlibug/copyright.html: Same.
	* stdlibug/40-3.html: Same.
	* stdlibug/46-1.html: Same.
	* stdlibug/1-2.html: Same.
	* stdlibug/44-1.html: Same.
	* stdlibug/noframes.html: Same.
	* stdlibug/30-2.html: Same.
	* stdlibug/booktoc.html: Same.
	* stdlibug/46.html: Same.
	* stdlibug/contact.html: Same.
	* stdlibug/frames-contents-chapter.html: Same.
	* stdlibug/VIII.html: Same.
	* stdlibref/basic-ofstream.html: Same.
	* stdlibref/ios-base.html: Same.
	* stdlibref/localeutility.html: Same.
	* stdlibref/count.html: Same.
	* stdlibref/lists.html: Same.
	* stdlibref/basic-filebuf.html: Same.
	* stdlibref/basic-ifstream.html: Same.
	* stdlibref/2-1.html: Same.
	* stdlibref/codecvt-byname.html: Same.
	* stdlibref/basic-fstream.html: Same.
	* stdlibref/1-3.html: Same.
	* stdlibref/A-3.html: Same.
	* stdlibref/localedefutility.html: Same.
	* stdlibref/partial-sort.html: Same.

2007-05-09  Martin Sebor  <sebor@roguewave.com>

	STDCXX-407
	* index.html: Renamed "Rogue Wave Standard Stylesheet"
	to "Apache stdcxx Stylesheet."
	* stdlibug/22-2.html: Same.
	* stdlibug/42-2.html: Same.
	* stdlibug/25-1.html: Same.
	* stdlibug/14-4.html: Same.
	* stdlibug/45-1.html: Same.
	* stdlibug/34-4.html: Same.
	* stdlibug/17.html: Same.
	* stdlibug/26-6.html: Same.
	* stdlibug/29.html: Same.
	* stdlibug/3-1.html: Same.
	* stdlibug/1-7.html: Same.
	* stdlibug/11-2.html: Same.
	* stdlibug/31-2.html: Same.
	* stdlibug/14-1.html: Same.
	* stdlibug/34-1.html: Same.
	* stdlibug/14.html: Same.
	* stdlibug/40-5.html: Same.
	* stdlibug/23-4.html: Same.
	* stdlibug/43-4.html: Same.
	* stdlibug/26-3.html: Same.
	* stdlibug/26.html: Same.
	* stdlibug/frames-intro-text.html: Same.
	* stdlibug/29-2.html: Same.
	* stdlibug/38.html: Same.
	* stdlibug/35-6.html: Same.
	* stdlibug/38-5.html: Same.
	* stdlibug/frames-intro-contents.html: Same.
	* stdlibug/1-4.html: Same.
	* stdlibug/4-3.html: Same.
	* stdlibug/7-2.html: Same.
	* stdlibug/20-2.html: Same.
	* stdlibug/11.html: Same.
	* stdlibug/40-2.html: Same.
	* stdlibug/23-1.html: Same.
	* stdlibug/43-1.html: Same.
	* stdlibug/23.html: Same.
	* stdlibug/32-4.html: Same.
	* stdlibug/15-3.html: Same.
	* stdlibug/35.html: Same.
	* stdlibug/35-3.html: Same.
	* stdlibug/18-2.html: Same.
	* stdlibug/38-2.html: Same.
	* stdlibug/1-1.html: Same.
	* stdlibug/9.html: Same.
	* stdlibug/8-4.html: Same.
	* stdlibug/frames-banner.html: Same.
	* stdlibug/12-1.html: Same.
	* stdlibug/20.html: Same.
	* stdlibug/32-1.html: Same.
	* stdlibug/32.html: Same.
	* stdlibug/24-3.html: Same.
	* stdlibug/13-6.html: Same.
	* stdlibug/44.html: Same.
	* stdlibug/27-2.html: Same.
	* stdlibug/I.html: Same.
	* stdlibug/tindex.html: Same.
	* stdlibug/2-3.html: Same.
	* stdlibug/5-2.html: Same.
	* stdlibug/8-1.html: Same.
	* stdlibug/6.html: Same.
	* stdlibug/21-1.html: Same.
	* stdlibug/41-1.html: Same.
	* stdlibug/acknow.html: Same.
	* stdlibug/30-4.html: Same.
	* stdlibug/13-3.html: Same.
	* stdlibug/41.html: Same.
	* stdlibug/33-3.html: Same.
	* stdlibug/16-2.html: Same.
	* stdlibug/22-6.html: Same.
	* stdlibug/36-2.html: Same.
	* stdlibug/19-1.html: Same.
	* stdlibug/25-5.html: Same.
	* stdlibug/39-1.html: Same.
	* stdlibug/45-5.html: Same.
	* stdlibug/28-4.html: Same.
	* stdlibug/3.html: Same.
	* stdlibug/3-5.html: Same.
	* stdlibug/V.html: Same.
	* stdlibug/9-3.html: Same.
	* stdlibug/10-1.html: Same.
	* stdlibug/30-1.html: Same.
	* stdlibug/22-3.html: Same.
	* stdlibug/42-3.html: Same.
	* stdlibug/25-2.html: Same.
	* stdlibug/14-5.html: Same.
	* stdlibug/45-2.html: Same.
	* stdlibug/28-1.html: Same.
	* stdlibug/18.html: Same.
	* stdlibug/26-7.html: Same.
	* stdlibug/lists.html: Same.
	* stdlibug/3-2.html: Same.
	* stdlibug/6-1.html: Same.
	* stdlibug/frames-contents-all.html: Same.
	* stdlibug/11-3.html: Same.
	* stdlibug/31-3.html: Same.
	* stdlibug/14-2.html: Same.
	* stdlibug/34-2.html: Same.
	* stdlibug/17-1.html: Same.
	* stdlibug/15.html: Same.
	* stdlibug/37-1.html: Same.
	* stdlibug/26-4.html: Same.
	* stdlibug/27.html: Same.
	* stdlibug/29-3.html: Same.
	* stdlibug/39.html: Same.
	* stdlibug/frames-tindex-contents.html: Same.
	* stdlibug/1-5.html: Same.
	* stdlibug/4-4.html: Same.
	* stdlibug/7-3.html: Same.
	* stdlibug/copyright.html: Same.
	* stdlibug/20-3.html: Same.
	* stdlibug/12.html: Same.
	* stdlibug/40-3.html: Same.
	* stdlibug/23-2.html: Same.
	* stdlibug/43-2.html: Same.
	* stdlibug/24.html: Same.
	* stdlibug/26-1.html: Same.
	* stdlibug/32-5.html: Same.
	* stdlibug/46-1.html: Same.
	* stdlibug/36.html: Same.
	* stdlibug/35-4.html: Same.
	* stdlibug/18-3.html: Same.
	* stdlibug/38-3.html: Same.
	* stdlibug/1-2.html: Same.
	* stdlibug/4-1.html: Same.
	* stdlibug/frames-tindex.html: Same.
	* stdlibug/index.html: Same.
	* stdlibug/12-2.html: Same.
	* stdlibug/21.html: Same.
	* stdlibug/32-2.html: Same.
	* stdlibug/15-1.html: Same.
	* stdlibug/35-1.html: Same.
	* stdlibug/33.html: Same.
	* stdlibug/24-4.html: Same.
	* stdlibug/VII.html: Same.
	* stdlibug/13-7.html: Same.
	* stdlibug/45.html: Same.
	* stdlibug/27-3.html: Same.
	* stdlibug/2-4.html: Same.
	* stdlibug/5-3.html: Same.
	* stdlibug/8-2.html: Same.
	* stdlibug/7.html: Same.
	* stdlibug/21-2.html: Same.
	* stdlibug/30.html: Same.
	* stdlibug/41-2.html: Same.
	* stdlibug/24-1.html: Same.
	* stdlibug/30-5.html: Same.
	* stdlibug/13-4.html: Same.
	* stdlibug/44-1.html: Same.
	* stdlibug/42.html: Same.
	* stdlibug/16-3.html: Same.
	* stdlibug/22-7.html: Same.
	* stdlibug/36-3.html: Same.
	* stdlibug/19-2.html: Same.
	* stdlibug/25-6.html: Same.
	* stdlibug/39-2.html: Same.
	* stdlibug/28-5.html: Same.
	* stdlibug/2-1.html: Same.
	* stdlibug/4.html: Same.
	* stdlibug/noframes.html: Same.
	* stdlibug/VI.html: Same.
	* stdlibug/10-2.html: Same.
	* stdlibug/30-2.html: Same.
	* stdlibug/13-1.html: Same.
	* stdlibug/33-1.html: Same.
	* stdlibug/22-4.html: Same.
	* stdlibug/25-3.html: Same.
	* stdlibug/14-6.html: Same.
	* stdlibug/45-3.html: Same.
	* stdlibug/28-2.html: Same.
	* stdlibug/19.html: Same.
	* stdlibug/26-8.html: Same.
	* stdlibug/1.html: Same.
	* stdlibug/3-3.html: Same.
	* stdlibug/6-2.html: Same.
	* stdlibug/9-1.html: Same.
	* stdlibug/22-1.html: Same.
	* stdlibug/42-1.html: Same.
	* stdlibug/14-3.html: Same.
	* stdlibug/34-3.html: Same.
	* stdlibug/17-2.html: Same.
	* stdlibug/16.html: Same.
	* stdlibug/37-2.html: Same.
	* stdlibug/26-5.html: Same.
	* stdlibug/28.html: Same.
	* stdlibug/booktoc.html: Same.
	* stdlibug/II.html: Same.
	* stdlibug/1-6.html: Same.
	* stdlibug/11-1.html: Same.
	* stdlibug/31-1.html: Same.
	* stdlibug/13.html: Same.
	* stdlibug/40-4.html: Same.
	* stdlibug/23-3.html: Same.
	* stdlibug/43-3.html: Same.
	* stdlibug/25.html: Same.
	* stdlibug/26-2.html: Same.
	* stdlibug/32-6.html: Same.
	* stdlibug/29-1.html: Same.
	* stdlibug/37.html: Same.
	* stdlibug/35-5.html: Same.
	* stdlibug/18-4.html: Same.
	* stdlibug/38-4.html: Same.
	* stdlibug/1-3.html: Same.
	* stdlibug/4-2.html: Same.
	* stdlibug/7-1.html: Same.
	* stdlibug/frames-displayarea.html: Same.
	* stdlibug/III.html: Same.
	* stdlibug/IV.html: Same.
	* stdlibug/20-1.html: Same.
	* stdlibug/10.html: Same.
	* stdlibug/40-1.html: Same.
	* stdlibug/12-3.html: Same.
	* stdlibug/22.html: Same.
	* stdlibug/32-3.html: Same.
	* stdlibug/15-2.html: Same.
	* stdlibug/35-2.html: Same.
	* stdlibug/34.html: Same.
	* stdlibug/18-1.html: Same.
	* stdlibug/38-1.html: Same.
	* stdlibug/13-8.html: Same.
	* stdlibug/46.html: Same.
	* stdlibug/27-4.html: Same.
	* stdlibug/contact.html: Same.
	* stdlibug/2-5.html: Same.
	* stdlibug/5-4.html: Same.
	* stdlibug/8.html: Same.
	* stdlibug/8-3.html: Same.
	* stdlibug/21-3.html: Same.
	* stdlibug/31.html: Same.
	* stdlibug/41-3.html: Same.
	* stdlibug/24-2.html: Same.
	* stdlibug/13-5.html: Same.
	* stdlibug/44-2.html: Same.
	* stdlibug/43.html: Same.
	* stdlibug/27-1.html: Same.
	* stdlibug/16-4.html: Same.
	* stdlibug/36-4.html: Same.
	* stdlibug/39-3.html: Same.
	* stdlibug/frames-contents-chapter.html: Same.
	* stdlibug/2-2.html: Same.
	* stdlibug/5-1.html: Same.
	* stdlibug/5.html: Same.
	* stdlibug/10-3.html: Same.
	* stdlibug/30-3.html: Same.
	* stdlibug/13-2.html: Same.
	* stdlibug/40.html: Same.
	* stdlibug/33-2.html: Same.
	* stdlibug/16-1.html: Same.
	* stdlibug/22-5.html: Same.
	* stdlibug/36-1.html: Same.
	* stdlibug/25-4.html: Same.
	* stdlibug/14-7.html: Same.
	* stdlibug/45-4.html: Same.
	* stdlibug/28-3.html: Same.
	* stdlibug/26-9.html: Same.
	* stdlibug/VIII.html: Same.
	* stdlibug/2.html: Same.
	* stdlibug/3-4.html: Same.
	* stdlibug/6-3.html: Same.
	* stdlibug/9-2.html: Same.
	* stdlibref/iterators.html: Same.
	* stdlibref/operatornew.html: Same.
	* stdlibref/strstream-h.html: Same.
	* stdlibref/swap.html: Same.
	* stdlibref/negators.html: Same.
	* stdlibref/stdexcept-h.html: Same.
	* stdlibref/uninitialized-fill.html: Same.
	* stdlibref/frames-intro-contents.html: Same.
	* stdlibref/insert-iterator.html: Same.
	* stdlibref/ctype-byname.html: Same.
	* stdlibref/invalid-argument.html: Same.
	* stdlibref/algorithms.html: Same.
	* stdlibref/frames-banner.html: Same.
	* stdlibref/replace-copy.html: Same.
	* stdlibref/back-insert-iterator.html: Same.
	* stdlibref/get-temporary-buffer.html: Same.
	* stdlibref/range-error.html: Same.
	* stdlibref/time-get-byname.html: Same.
	* stdlibref/set.html: Same.
	* stdlibref/mem-fun.html: Same.
	* stdlibref/num-get.html: Same.
	* stdlibref/stack-h.html: Same.
	* stdlibref/locale.html: Same.
	* stdlibref/frames-tindex-contents.html: Same.
	* stdlibref/ios-h.html: Same.
	* stdlibref/next-permutation.html: Same.
	* stdlibref/divides.html: Same.
	* stdlibref/unary-negate.html: Same.
	* stdlibref/advance.html: Same.
	* stdlibref/min-element.html: Same.
	* stdlibref/istreambuf-iterator.html: Same.
	* stdlibref/inner-product.html: Same.
	* stdlibref/noframes.html: Same.
	* stdlibref/1.html: Same.
	* stdlibref/not2.html: Same.
	* stdlibref/II.html: Same.
	* stdlibref/partition.html: Same.
	* stdlibref/predicates.html: Same.
	* stdlibref/modulus.html: Same.
	* stdlibref/unique.html: Same.
	* stdlibref/multiplies.html: Same.
	* stdlibref/2.html: Same.

2007-05-09  Martin Sebor  <sebor@roguewave.com>

	STDCXX-407
	* stdlibref/new-h.html: Renamed "Rogue Wave Standard Stylesheet"
	to "Apache stdcxx Stylesheet."
	* stdlibref/2-11.html: Same.
	* stdlibref/front-insert-iterator.html: Same.
	* stdlibref/char-traits.html: Same.
	* stdlibref/B.html: Same.
	* stdlibref/queue.html: Same.
	* stdlibref/reverse-iterator.html: Same.
	* stdlibref/negate.html: Same.
	* stdlibref/string.html: Same.
	* stdlibref/messages.html: Same.
	* stdlibref/numpunct.html: Same.
	* stdlibref/logical-and.html: Same.
	* stdlibref/indirect-array.html: Same.
	* stdlibref/bad-cast.html: Same.
	* stdlibref/bad-typeid.html: Same.
	* stdlibref/locale-h.html: Same.
	* stdlibref/deque-h.html: Same.
	* stdlibref/frames-intro-text.html: Same.
	* stdlibref/minus.html: Same.
	* stdlibref/istream-iterator.html: Same.
	* stdlibref/sequences.html: Same.
	* stdlibref/lower-bound.html: Same.
	* stdlibref/wstring.html: Same.
	* stdlibref/basic-ofstream.html: Same.
	* stdlibref/equal-range.html: Same.
	* stdlibref/sstream-h.html: Same.
	* stdlibref/ostrstream.html: Same.
	* stdlibref/ios-base--failure.html: Same.
	* stdlibref/find-first-of.html: Same.
	* stdlibref/complex.html: Same.
	* stdlibref/2-9.html: Same.
	* stdlibref/random-shuffle.html: Same.
	* stdlibref/algorithm-h.html: Same.
	* stdlibref/find-if.html: Same.
	* stdlibref/iterator-h.html: Same.
	* stdlibref/prev-permutation.html: Same.
	* stdlibref/adjacent-find.html: Same.
	* stdlibref/isupper.html: Same.
	* stdlibref/cerr.html: Same.
	* stdlibref/1-1.html: Same.
	* stdlibref/merge.html: Same.
	* stdlibref/ios-base.html: Same.
	* stdlibref/2-6.html: Same.
	* stdlibref/search.html: Same.
	* stdlibref/valarray-h.html: Same.
	* stdlibref/gslice.html: Same.
	* stdlibref/return-temporary-buffer.html: Same.
	* stdlibref/logical-not.html: Same.
	* stdlibref/basic-istringstream.html: Same.
	* stdlibref/use-facet.html: Same.
	* stdlibref/A-1.html: Same.
	* stdlibref/plus.html: Same.
	* stdlibref/localeutility.html: Same.
	* stdlibref/isxdigit.html: Same.
	* stdlibref/basic-string.html: Same.
	* stdlibref/compare.html: Same.
	* stdlibref/sort.html: Same.
	* stdlibref/I.html: Same.
	* stdlibref/count.html: Same.
	* stdlibref/utility-h.html: Same.
	* stdlibref/iterator.html: Same.
	* stdlibref/tindex.html: Same.
	* stdlibref/isdigit.html: Same.
	* stdlibref/outputiterators.html: Same.
	* stdlibref/ostreambuf-iterator.html: Same.
	* stdlibref/toupper.html: Same.
	* stdlibref/2-3.html: Same.
	* stdlibref/bidirectionaliterators.html: Same.
	* stdlibref/runtime-error.html: Same.
	* stdlibref/time-put-byname.html: Same.
	* stdlibref/operatordelete.html: Same.
	* stdlibref/nth-element.html: Same.
	* stdlibref/unary-function.html: Same.
	* stdlibref/valarray.html: Same.
	* stdlibref/lexicographical-compare.html: Same.
	* stdlibref/bad-exception.html: Same.
	* stdlibref/acknow.html: Same.
	* stdlibref/fill.html: Same.
	* stdlibref/uninitialized-fill-n.html: Same.
	* stdlibref/isprint.html: Same.
	* stdlibref/bitset.html: Same.
	* stdlibref/inputiterators.html: Same.
	* stdlibref/underflow-error.html: Same.
	* stdlibref/partial-sum.html: Same.
	* stdlibref/insertiterators.html: Same.
	* stdlibref/bind1st.html: Same.
	* stdlibref/binary-function.html: Same.
	* stdlibref/queue-h.html: Same.
	* stdlibref/cout.html: Same.
	* stdlibref/replace.html: Same.
	* stdlibref/iter-swap.html: Same.
	* stdlibref/wcerr.html: Same.
	* stdlibref/min.html: Same.
	* stdlibref/greater.html: Same.
	* stdlibref/money-put.html: Same.
	* stdlibref/lists.html: Same.
	* stdlibref/domain-error.html: Same.
	* stdlibref/exception.html: Same.
	* stdlibref/map-h.html: Same.
	* stdlibref/money-get.html: Same.
	* stdlibref/num-put.html: Same.
	* stdlibref/less.html: Same.
	* stdlibref/inplace-merge.html: Same.
	* stdlibref/replace-copy-if.html: Same.
	* stdlibref/not1.html: Same.
	* stdlibref/collate.html: Same.
	* stdlibref/logic-error.html: Same.
	* stdlibref/overflow-error.html: Same.
	* stdlibref/basic-filebuf.html: Same.
	* stdlibref/iterator-traits.html: Same.
	* stdlibref/associativecontainers.html: Same.
	* stdlibref/priority-queue.html: Same.
	* stdlibref/pointer-to-binary-function.html: Same.
	* stdlibref/copyright.html: Same.
	* stdlibref/isalnum.html: Same.
	* stdlibref/transform.html: Same.
	* stdlibref/list.html: Same.
	* stdlibref/exceptions.html: Same.
	* stdlibref/max.html: Same.
	* stdlibref/multimap.html: Same.
	* stdlibref/remove.html: Same.
	* stdlibref/1-2.html: Same.
	* stdlibref/wcout.html: Same.
	* stdlibref/basic-stringstream.html: Same.
	* stdlibref/sort-heap.html: Same.
	* stdlibref/2-7.html: Same.
	* stdlibref/frames-tindex.html: Same.
	* stdlibref/index.html: Same.
	* stdlibref/slice-array.html: Same.
	* stdlibref/A-2.html: Same.
	* stdlibref/pointer-to-unary-function.html: Same.
	* stdlibref/set-h.html: Same.
	* stdlibref/find.html: Same.
	* stdlibref/ctype.html: Same.
	* stdlibref/fstream-h.html: Same.
	* stdlibref/numeric-h.html: Same.
	* stdlibref/remove-if.html: Same.
	* stdlibref/distance.html: Same.
	* stdlibref/pair.html: Same.
	* stdlibref/set-intersection.html: Same.
	* stdlibref/adjacent-difference.html: Same.
	* stdlibref/moneypunct.html: Same.
	* stdlibref/numeric-limits.html: Same.
	* stdlibref/remove-copy-if.html: Same.
	* stdlibref/2-4.html: Same.
	* stdlibref/streambuf-h.html: Same.
	* stdlibref/bad-alloc.html: Same.
	* stdlibref/bitmasktypes.html: Same.
	* stdlibref/basic-ostringstream.html: Same.
	* stdlibref/basic-stringbuf.html: Same.
	* stdlibref/reverse-copy.html: Same.
	* stdlibref/functional-h.html: Same.
	* stdlibref/isspace.html: Same.
	* stdlibref/basic-ifstream.html: Same.
	* stdlibref/string-h.html: Same.
	* stdlibref/slice.html: Same.
	* stdlibref/2-1.html: Same.
	* stdlibref/list-h.html: Same.
	* stdlibref/ostream-iterator.html: Same.
	* stdlibref/vector.html: Same.
	* stdlibref/time-put.html: Same.
	* stdlibref/time-get.html: Same.
	* stdlibref/auto-ptr.html: Same.
	* stdlibref/isalpha.html: Same.
	* stdlibref/raw-storage-iterator.html: Same.
	* stdlibref/find-end.html: Same.
	* stdlibref/clog.html: Same.
	* stdlibref/islower.html: Same.
	* stdlibref/vector-h.html: Same.
	* stdlibref/generate.html: Same.
	* stdlibref/ptr-fun.html: Same.
	* stdlibref/isgraph.html: Same.
	* stdlibref/wcin.html: Same.
	* stdlibref/codecvt-byname.html: Same.
	* stdlibref/functoc.html: Same.
	* stdlibref/fpos.html: Same.
	* stdlibref/reverse.html: Same.
	* stdlibref/max-element.html: Same.
	* stdlibref/2-10.html: Same.
	* stdlibref/A.html: Same.
	* stdlibref/basic-fstream.html: Same.
	* stdlibref/gslice-array.html: Same.
	* stdlibref/for-each.html: Same.
	* stdlibref/not-equal-to.html: Same.
	* stdlibref/codecvt.html: Same.
	* stdlibref/logical-or.html: Same.
	* stdlibref/partial-sort-copy.html: Same.
	* stdlibref/push-heap.html: Same.
	* stdlibref/tolower.html: Same.
	* stdlibref/has-facet.html: Same.
	* stdlibref/rotate.html: Same.
	* stdlibref/upper-bound.html: Same.
	* stdlibref/booktoc.html: Same.
	* stdlibref/out-of-range.html: Same.
	* stdlibref/basic-streambuf.html: Same.
	* stdlibref/basic-ios.html: Same.
	* stdlibref/iscntrl.html: Same.
	* stdlibref/allocator.html: Same.
	* stdlibref/iosfwd-h.html: Same.
	* stdlibref/accumulate.html: Same.
	* stdlibref/basic-istream.html: Same.
	* stdlibref/strstream.html: Same.
	* stdlibref/streamiterators.html: Same.
	* stdlibref/complex-h.html: Same.
	* stdlibref/--iterator-category.html: Same.
	* stdlibref/functionobjects.html: Same.
	* stdlibref/1-3.html: Same.
	* stdlibref/basic-iostream.html: Same.
	* stdlibref/2-8.html: Same.
	* stdlibref/frames-displayarea.html: Same.
	* stdlibref/III.html: Same.
	* stdlibref/wclog.html: Same.
	* stdlibref/IV.html: Same.
	* stdlibref/uninitialized-copy.html: Same.
	* stdlibref/A-3.html: Same.
	* stdlibref/ispunct.html: Same.
	* stdlibref/binary-negate.html: Same.
	* stdlibref/equal-to.html: Same.
	* stdlibref/swap-ranges.html: Same.
	* stdlibref/make-heap.html: Same.
	* stdlibref/contact.html: Same.
	* stdlibref/istrstream.html: Same.
	* stdlibref/randomaccessiterators.html: Same.
	* stdlibref/ostream-h.html: Same.
	* stdlibref/stable-sort.html: Same.
	* stdlibref/forwarditerators.html: Same.
	* stdlibref/frames-classes-func.html: Same.
	* stdlibref/localedefutility.html: Same.
	* stdlibref/2-5.html: Same.
	* stdlibref/multiset.html: Same.
	* stdlibref/length-error.html: Same.
	* stdlibref/less-equal.html: Same.
	* stdlibref/operators.html: Same.
	* stdlibref/iomanip-h.html: Same.
	* stdlibref/heapoperations.html: Same.
	* stdlibref/set-union.html: Same.
	* stdlibref/exception-h.html: Same.
	* stdlibref/set-difference.html: Same.
	* stdlibref/limits-h.html: Same.
	* stdlibref/basic-ostream.html: Same.
	* stdlibref/frames-classes-alpha.html: Same.
	* stdlibref/memory-h.html: Same.
	* stdlibref/set-symmetric-difference.html: Same.
	* stdlibref/2-2.html: Same.
	* stdlibref/deque.html: Same.
	* stdlibref/mismatch.html: Same.
	* stdlibref/facets.html: Same.
	* stdlibref/equal.html: Same.
	* stdlibref/iostream-h.html: Same.
	* stdlibref/cin.html: Same.
	* stdlibref/map.html: Same.
	* stdlibref/partial-sort.html: Same.
	* stdlibref/stable-partition.html: Same.
	* stdlibref/strstreambuf.html: Same.
	* stdlibref/typeinfo-h.html: Same.
	* stdlibref/binary-search.html: Same.
	* stdlibref/istream-h.html: Same.
	* stdlibref/greater-equal.html: Same.
	* stdlibref/--distance-type.html: Same.
	* stdlibref/remove-copy.html: Same.
	* stdlibref/containers.html: Same.
	* stdlibref/stack.html: Same.
	* stdlibref/includes.html: Same.
	* stdlibref/replace-if.html: Same.
	* stdlibref/mask-array.html: Same.
	* stdlibref/pop-heap.html: Same.
	* stdlibref/copy.html: Same.

2007-05-08  Martin Sebor  <sebor@roguewave.com>

	* gcc.config (PICFLAGS): Avoided clever tricks in conditional
	to avoid failing to match Cygwin.

2007-05-08  Martin Sebor  <sebor@roguewave.com>

	* stdlibref/frames-banner.html: Made stdcxx index page replace
	the whole page instead of just a single frame.
	* stdlibug/frames-banner.html: Same.

2007-05-08  Martin Sebor  <sebor@roguewave.com>

	* stdlibref/frames-banner.html: Added an image of Apache logo
	and a link to the stdcxx project web page to make it easier
	for users to navigate to the site.
	* stdlibug/frames-banner.html: Same.

2007-05-08  Martin Sebor  <sebor@roguewave.com>

	STDCXX-407
	* B.html: Removed references to "Rogue Wave extensions."
	* frames-intro-contents.html: Same.
	* noframes.html: Same.
	* IV.html: Same.

2007-05-06  Martin Sebor  <sebor@roguewave.com>

	* stdlibug/22-2.html: Inserted Google Analytics tracking code
	using the sed script below:
	/<\/BODY>/ {
	$!N
	s/<\/BODY>\n<\/HTML>/\n\n<!-- Google Analytics tracking code -->\n<script src="http:\/\/www.google-analytics.com\/urchin.js" type="text\/javascript">\n<\/script>\n<script type="text\/javascript">\n    _uacct = "UA-1775151-1";\n    urchinTracker();\n<\/script>\n<!-- end of Google Analytics tracking code -->\n\n<\/BODY>\n<\/HTML>/
	}

	* stdlibug/42-2.html: Same.
	* stdlibug/25-1.html: Same.
	* stdlibug/14-4.html: Same.
	* stdlibug/45-1.html: Same.
	* stdlibug/34-4.html: Same.
	* stdlibug/17.html: Same.
	* stdlibug/26-6.html: Same.
	* stdlibug/29.html: Same.
	* stdlibug/3-1.html: Same.
	* stdlibug/1-7.html: Same.
	* stdlibug/11-2.html: Same.
	* stdlibug/31-2.html: Same.
	* stdlibug/14-1.html: Same.
	* stdlibug/34-1.html: Same.
	* stdlibug/14.html: Same.
	* stdlibug/40-5.html: Same.
	* stdlibug/23-4.html: Same.
	* stdlibug/43-4.html: Same.
	* stdlibug/26-3.html: Same.
	* stdlibug/26.html: Same.
	* stdlibug/frames-intro-text.html: Same.
	* stdlibug/29-2.html: Same.
	* stdlibug/38.html: Same.
	* stdlibug/35-6.html: Same.
	* stdlibug/38-5.html: Same.
	* stdlibug/frames-intro-contents.html: Same.
	* stdlibug/1-4.html: Same.
	* stdlibug/4-3.html: Same.
	* stdlibug/7-2.html: Same.
	* stdlibug/20-2.html: Same.
	* stdlibug/11.html: Same.
	* stdlibug/40-2.html: Same.
	* stdlibug/23-1.html: Same.
	* stdlibug/43-1.html: Same.
	* stdlibug/23.html: Same.
	* stdlibug/32-4.html: Same.
	* stdlibug/15-3.html: Same.
	* stdlibug/35.html: Same.
	* stdlibug/35-3.html: Same.
	* stdlibug/18-2.html: Same.
	* stdlibug/38-2.html: Same.
	* stdlibug/1-1.html: Same.
	* stdlibug/9.html: Same.
	* stdlibug/8-4.html: Same.
	* stdlibug/12-1.html: Same.
	* stdlibug/20.html: Same.
	* stdlibug/32-1.html: Same.
	* stdlibug/32.html: Same.
	* stdlibug/24-3.html: Same.
	* stdlibug/13-6.html: Same.
	* stdlibug/44.html: Same.
	* stdlibug/27-2.html: Same.
	* stdlibug/I.html: Same.
	* stdlibug/tindex.html: Same.
	* stdlibug/2-3.html: Same.
	* stdlibug/5-2.html: Same.
	* stdlibug/8-1.html: Same.
	* stdlibug/6.html: Same.
	* stdlibug/21-1.html: Same.
	* stdlibug/41-1.html: Same.
	* stdlibug/acknow.html: Same.
	* stdlibug/30-4.html: Same.
	* stdlibug/13-3.html: Same.
	* stdlibug/41.html: Same.
	* stdlibug/33-3.html: Same.
	* stdlibug/16-2.html: Same.
	* stdlibug/22-6.html: Same.
	* stdlibug/36-2.html: Same.
	* stdlibug/19-1.html: Same.
	* stdlibug/25-5.html: Same.
	* stdlibug/39-1.html: Same.
	* stdlibug/45-5.html: Same.
	* stdlibug/28-4.html: Same.
	* stdlibug/3.html: Same.
	* stdlibug/3-5.html: Same.
	* stdlibug/V.html: Same.
	* stdlibug/9-3.html: Same.
	* stdlibug/10-1.html: Same.
	* stdlibug/30-1.html: Same.
	* stdlibug/22-3.html: Same.
	* stdlibug/42-3.html: Same.
	* stdlibug/25-2.html: Same.
	* stdlibug/14-5.html: Same.
	* stdlibug/45-2.html: Same.
	* stdlibug/28-1.html: Same.
	* stdlibug/18.html: Same.
	* stdlibug/26-7.html: Same.
	* stdlibug/lists.html: Same.
	* stdlibug/3-2.html: Same.
	* stdlibug/6-1.html: Same.
	* stdlibug/frames-contents-all.html: Same.
	* stdlibug/11-3.html: Same.
	* stdlibug/31-3.html: Same.
	* stdlibug/14-2.html: Same.
	* stdlibug/34-2.html: Same.
	* stdlibug/17-1.html: Same.
	* stdlibug/15.html: Same.
	* stdlibug/37-1.html: Same.
	* stdlibug/26-4.html: Same.
	* stdlibug/27.html: Same.
	* stdlibug/29-3.html: Same.
	* stdlibug/39.html: Same.
	* stdlibug/frames-tindex-contents.html: Same.
	* stdlibug/1-5.html: Same.
	* stdlibug/4-4.html: Same.
	* stdlibug/7-3.html: Same.
	* stdlibug/copyright.html: Same.
	* stdlibug/20-3.html: Same.
	* stdlibug/12.html: Same.
	* stdlibug/40-3.html: Same.
	* stdlibug/23-2.html: Same.
	* stdlibug/43-2.html: Same.
	* stdlibug/24.html: Same.
	* stdlibug/26-1.html: Same.
	* stdlibug/32-5.html: Same.
	* stdlibug/46-1.html: Same.
	* stdlibug/36.html: Same.
	* stdlibug/35-4.html: Same.
	* stdlibug/18-3.html: Same.
	* stdlibug/38-3.html: Same.
	* stdlibug/1-2.html: Same.
	* stdlibug/4-1.html: Same.
	* stdlibug/12-2.html: Same.
	* stdlibug/21.html: Same.
	* stdlibug/32-2.html: Same.
	* stdlibug/15-1.html: Same.
	* stdlibug/35-1.html: Same.
	* stdlibug/33.html: Same.
	* stdlibug/24-4.html: Same.
	* stdlibug/VII.html: Same.
	* stdlibug/13-7.html: Same.
	* stdlibug/45.html: Same.
	* stdlibug/27-3.html: Same.
	* stdlibug/2-4.html: Same.
	* stdlibug/5-3.html: Same.
	* stdlibug/8-2.html: Same.
	* stdlibug/7.html: Same.
	* stdlibug/21-2.html: Same.
	* stdlibug/30.html: Same.
	* stdlibug/41-2.html: Same.
	* stdlibug/24-1.html: Same.
	* stdlibug/30-5.html: Same.
	* stdlibug/13-4.html: Same.
	* stdlibug/44-1.html: Same.
	* stdlibug/42.html: Same.
	* stdlibug/16-3.html: Same.
	* stdlibug/22-7.html: Same.
	* stdlibug/36-3.html: Same.
	* stdlibug/19-2.html: Same.
	* stdlibug/25-6.html: Same.
	* stdlibug/39-2.html: Same.
	* stdlibug/28-5.html: Same.
	* stdlibug/2-1.html: Same.
	* stdlibug/4.html: Same.
	* stdlibug/noframes.html: Same.
	* stdlibug/VI.html: Same.
	* stdlibug/10-2.html: Same.
	* stdlibug/30-2.html: Same.
	* stdlibug/13-1.html: Same.
	* stdlibug/33-1.html: Same.
	* stdlibug/22-4.html: Same.
	* stdlibug/25-3.html: Same.
	* stdlibug/14-6.html: Same.
	* stdlibug/45-3.html: Same.
	* stdlibug/28-2.html: Same.
	* stdlibug/19.html: Same.
	* stdlibug/26-8.html: Same.
	* stdlibug/1.html: Same.
	* stdlibug/3-3.html: Same.
	* stdlibug/6-2.html: Same.
	* stdlibug/9-1.html: Same.
	* stdlibug/22-1.html: Same.
	* stdlibug/42-1.html: Same.
	* stdlibug/14-3.html: Same.
	* stdlibug/34-3.html: Same.
	* stdlibug/17-2.html: Same.
	* stdlibug/16.html: Same.
	* stdlibug/37-2.html: Same.
	* stdlibug/26-5.html: Same.
	* stdlibug/28.html: Same.
	* stdlibug/booktoc.html: Same.
	* stdlibug/II.html: Same.
	* stdlibug/1-6.html: Same.
	* stdlibug/11-1.html: Same.
	* stdlibug/31-1.html: Same.
	* stdlibug/13.html: Same.
	* stdlibug/40-4.html: Same.
	* stdlibug/23-3.html: Same.
	* stdlibug/43-3.html: Same.
	* stdlibug/25.html: Same.
	* stdlibug/26-2.html: Same.
	* stdlibug/32-6.html: Same.
	* stdlibug/29-1.html: Same.
	* stdlibug/37.html: Same.
	* stdlibug/35-5.html: Same.
	* stdlibug/18-4.html: Same.
	* stdlibug/38-4.html: Same.
	* stdlibug/1-3.html: Same.
	* stdlibug/4-2.html: Same.
	* stdlibug/7-1.html: Same.
	* stdlibug/III.html: Same.
	* stdlibug/IV.html: Same.
	* stdlibug/20-1.html: Same.
	* stdlibug/10.html: Same.
	* stdlibug/40-1.html: Same.
	* stdlibug/12-3.html: Same.
	* stdlibug/22.html: Same.
	* stdlibug/32-3.html: Same.
	* stdlibug/15-2.html: Same.
	* stdlibug/35-2.html: Same.
	* stdlibug/34.html: Same.
	* stdlibug/18-1.html: Same.
	* stdlibug/38-1.html: Same.
	* stdlibug/13-8.html: Same.
	* stdlibug/46.html: Same.
	* stdlibug/27-4.html: Same.
	* stdlibug/2-5.html: Same.
	* stdlibug/5-4.html: Same.
	* stdlibug/8.html: Same.
	* stdlibug/8-3.html: Same.
	* stdlibug/21-3.html: Same.
	* stdlibug/31.html: Same.
	* stdlibug/41-3.html: Same.
	* stdlibug/24-2.html: Same.
	* stdlibug/13-5.html: Same.
	* stdlibug/44-2.html: Same.
	* stdlibug/43.html: Same.
	* stdlibug/27-1.html: Same.
	* stdlibug/16-4.html: Same.
	* stdlibug/36-4.html: Same.
	* stdlibug/39-3.html: Same.
	* stdlibug/frames-contents-chapter.html: Same.
	* stdlibug/2-2.html: Same.
	* stdlibug/5-1.html: Same.
	* stdlibug/5.html: Same.
	* stdlibug/10-3.html: Same.
	* stdlibug/30-3.html: Same.
	* stdlibug/13-2.html: Same.
	* stdlibug/40.html: Same.
	* stdlibug/33-2.html: Same.
	* stdlibug/16-1.html: Same.
	* stdlibug/22-5.html: Same.
	* stdlibug/36-1.html: Same.
	* stdlibug/25-4.html: Same.
	* stdlibug/14-7.html: Same.
	* stdlibug/45-4.html: Same.
	* stdlibug/28-3.html: Same.
	* stdlibug/26-9.html: Same.
	* stdlibug/VIII.html: Same.
	* stdlibug/2.html: Same.
	* stdlibug/3-4.html: Same.
	* stdlibug/6-3.html: Same.
	* stdlibug/9-2.html: Same.
	* stdlibref/iterators.html: Same.
	* stdlibref/new-h.html: Same.
	* stdlibref/2-11.html: Same.
	* stdlibref/B.html: Same.
	* stdlibref/char-traits.html: Same.
	* stdlibref/front-insert-iterator.html: Same.
	* stdlibref/queue.html: Same.
	* stdlibref/reverse-iterator.html: Same.
	* stdlibref/negate.html: Same.
	* stdlibref/operatornew.html: Same.
	* stdlibref/string.html: Same.
	* stdlibref/messages.html: Same.
	* stdlibref/numpunct.html: Same.
	* stdlibref/strstream-h.html: Same.
	* stdlibref/logical-and.html: Same.
	* stdlibref/swap.html: Same.
	* stdlibref/indirect-array.html: Same.
	* stdlibref/bad-cast.html: Same.
	* stdlibref/negators.html: Same.
	* stdlibref/bad-typeid.html: Same.
	* stdlibref/locale-h.html: Same.
	* stdlibref/deque-h.html: Same.
	* stdlibref/frames-intro-text.html: Same.
	* stdlibref/stdexcept-h.html: Same.
	* stdlibref/minus.html: Same.
	* stdlibref/istream-iterator.html: Same.
	* stdlibref/sequences.html: Same.
	* stdlibref/uninitialized-fill.html: Same.
	* stdlibref/lower-bound.html: Same.
	* stdlibref/wstring.html: Same.
	* stdlibref/basic-ofstream.html: Same.
	* stdlibref/equal-range.html: Same.
	* stdlibref/frames-intro-contents.html: Same.
	* stdlibref/ostrstream.html: Same.
	* stdlibref/sstream-h.html: Same.
	* stdlibref/ios-base--failure.html: Same.
	* stdlibref/2-9.html: Same.
	* stdlibref/complex.html: Same.
	* stdlibref/find-first-of.html: Same.
	* stdlibref/random-shuffle.html: Same.
	* stdlibref/algorithm-h.html: Same.
	* stdlibref/find-if.html: Same.
	* stdlibref/iterator-h.html: Same.
	* stdlibref/prev-permutation.html: Same.
	* stdlibref/isupper.html: Same.
	* stdlibref/adjacent-find.html: Same.
	* stdlibref/insert-iterator.html: Same.
	* stdlibref/cerr.html: Same.
	* stdlibref/ctype-byname.html: Same.
	* stdlibref/1-1.html: Same.
	* stdlibref/merge.html: Same.
	* stdlibref/ios-base.html: Same.
	* stdlibref/2-6.html: Same.
	* stdlibref/search.html: Same.
	* stdlibref/return-temporary-buffer.html: Same.
	* stdlibref/invalid-argument.html: Same.
	* stdlibref/gslice.html: Same.
	* stdlibref/valarray-h.html: Same.
	* stdlibref/logical-not.html: Same.
	* stdlibref/algorithms.html: Same.
	* stdlibref/basic-istringstream.html: Same.
	* stdlibref/use-facet.html: Same.
	* stdlibref/A-1.html: Same.
	* stdlibref/replace-copy.html: Same.
	* stdlibref/plus.html: Same.
	* stdlibref/localeutility.html: Same.
	* stdlibref/isxdigit.html: Same.
	* stdlibref/basic-string.html: Same.
	* stdlibref/compare.html: Same.
	* stdlibref/sort.html: Same.
	* stdlibref/I.html: Same.
	* stdlibref/count.html: Same.
	* stdlibref/utility-h.html: Same.
	* stdlibref/iterator.html: Same.
	* stdlibref/tindex.html: Same.
	* stdlibref/isdigit.html: Same.
	* stdlibref/outputiterators.html: Same.
	* stdlibref/ostreambuf-iterator.html: Same.
	* stdlibref/toupper.html: Same.
	* stdlibref/2-3.html: Same.
	* stdlibref/bidirectionaliterators.html: Same.
	* stdlibref/runtime-error.html: Same.
	* stdlibref/time-put-byname.html: Same.
	* stdlibref/operatordelete.html: Same.
	* stdlibref/nth-element.html: Same.
	* stdlibref/unary-function.html: Same.
	* stdlibref/valarray.html: Same.
	* stdlibref/lexicographical-compare.html: Same.
	* stdlibref/bad-exception.html: Same.
	* stdlibref/acknow.html: Same.
	* stdlibref/fill.html: Same.
	* stdlibref/uninitialized-fill-n.html: Same.
	* stdlibref/isprint.html: Same.
	* stdlibref/back-insert-iterator.html: Same.
	* stdlibref/bitset.html: Same.
	* stdlibref/inputiterators.html: Same.
	* stdlibref/underflow-error.html: Same.
	* stdlibref/partial-sum.html: Same.
	* stdlibref/insertiterators.html: Same.
	* stdlibref/bind1st.html: Same.
	* stdlibref/get-temporary-buffer.html: Same.
	* stdlibref/binary-function.html: Same.
	* stdlibref/queue-h.html: Same.
	* stdlibref/cout.html: Same.
	* stdlibref/replace.html: Same.
	* stdlibref/iter-swap.html: Same.
	* stdlibref/wcerr.html: Same.
	* stdlibref/range-error.html: Same.
	* stdlibref/min.html: Same.
	* stdlibref/time-get-byname.html: Same.
	* stdlibref/greater.html: Same.
	* stdlibref/set.html: Same.
	* stdlibref/money-put.html: Same.
	* stdlibref/lists.html: Same.
	* stdlibref/domain-error.html: Same.
	* stdlibref/exception.html: Same.
	* stdlibref/map-h.html: Same.
	* stdlibref/money-get.html: Same.
	* stdlibref/mem-fun.html: Same.
	* stdlibref/num-put.html: Same.
	* stdlibref/less.html: Same.
	* stdlibref/inplace-merge.html: Same.
	* stdlibref/num-get.html: Same.
	* stdlibref/replace-copy-if.html: Same.
	* stdlibref/not1.html: Same.
	* stdlibref/collate.html: Same.
	* stdlibref/logic-error.html: Same.
	* stdlibref/overflow-error.html: Same.
	* stdlibref/stack-h.html: Same.
	* stdlibref/basic-filebuf.html: Same.
	* stdlibref/iterator-traits.html: Same.
	* stdlibref/locale.html: Same.
	* stdlibref/associativecontainers.html: Same.
	* stdlibref/frames-tindex-contents.html: Same.
	* stdlibref/priority-queue.html: Same.
	* stdlibref/pointer-to-binary-function.html: Same.
	* stdlibref/isalnum.html: Same.
	* stdlibref/copyright.html: Same.
	* stdlibref/list.html: Same.
	* stdlibref/transform.html: Same.
	* stdlibref/ios-h.html: Same.
	* stdlibref/exceptions.html: Same.
	* stdlibref/next-permutation.html: Same.
	* stdlibref/max.html: Same.
	* stdlibref/multimap.html: Same.
	* stdlibref/remove.html: Same.
	* stdlibref/1-2.html: Same.
	* stdlibref/basic-stringstream.html: Same.
	* stdlibref/wcout.html: Same.
	* stdlibref/sort-heap.html: Same.
	* stdlibref/2-7.html: Same.
	* stdlibref/slice-array.html: Same.
	* stdlibref/pointer-to-unary-function.html: Same.
	* stdlibref/A-2.html: Same.
	* stdlibref/find.html: Same.
	* stdlibref/set-h.html: Same.
	* stdlibref/ctype.html: Same.
	* stdlibref/fstream-h.html: Same.
	* stdlibref/numeric-h.html: Same.
	* stdlibref/divides.html: Same.
	* stdlibref/remove-if.html: Same.
	* stdlibref/distance.html: Same.
	* stdlibref/pair.html: Same.
	* stdlibref/set-intersection.html: Same.
	* stdlibref/unary-negate.html: Same.
	* stdlibref/remove-copy-if.html: Same.
	* stdlibref/numeric-limits.html: Same.
	* stdlibref/moneypunct.html: Same.
	* stdlibref/adjacent-difference.html: Same.
	* stdlibref/advance.html: Same.
	* stdlibref/2-4.html: Same.
	* stdlibref/min-element.html: Same.
	* stdlibref/streambuf-h.html: Same.
	* stdlibref/bad-alloc.html: Same.
	* stdlibref/bitmasktypes.html: Same.
	* stdlibref/basic-ostringstream.html: Same.
	* stdlibref/basic-stringbuf.html: Same.
	* stdlibref/reverse-copy.html: Same.
	* stdlibref/isspace.html: Same.
	* stdlibref/functional-h.html: Same.
	* stdlibref/istreambuf-iterator.html: Same.
	* stdlibref/basic-ifstream.html: Same.
	* stdlibref/inner-product.html: Same.
	* stdlibref/string-h.html: Same.
	* stdlibref/2-1.html: Same.
	* stdlibref/slice.html: Same.
	* stdlibref/list-h.html: Same.
	* stdlibref/ostream-iterator.html: Same.
	* stdlibref/vector.html: Same.
	* stdlibref/time-put.html: Same.
	* stdlibref/noframes.html: Same.
	* stdlibref/auto-ptr.html: Same.
	* stdlibref/time-get.html: Same.
	* stdlibref/isalpha.html: Same.
	* stdlibref/raw-storage-iterator.html: Same.
	* stdlibref/islower.html: Same.
	* stdlibref/clog.html: Same.
	* stdlibref/find-end.html: Same.
	* stdlibref/vector-h.html: Same.
	* stdlibref/generate.html: Same.
	* stdlibref/ptr-fun.html: Same.
	* stdlibref/isgraph.html: Same.
	* stdlibref/1.html: Same.
	* stdlibref/codecvt-byname.html: Same.
	* stdlibref/wcin.html: Same.
	* stdlibref/functoc.html: Same.
	* stdlibref/fpos.html: Same.
	* stdlibref/reverse.html: Same.
	* stdlibref/max-element.html: Same.
	* stdlibref/2-10.html: Same.
	* stdlibref/basic-fstream.html: Same.
	* stdlibref/A.html: Same.
	* stdlibref/not2.html: Same.
	* stdlibref/gslice-array.html: Same.
	* stdlibref/for-each.html: Same.
	* stdlibref/not-equal-to.html: Same.
	* stdlibref/codecvt.html: Same.
	* stdlibref/logical-or.html: Same.
	* stdlibref/partial-sort-copy.html: Same.
	* stdlibref/push-heap.html: Same.
	* stdlibref/has-facet.html: Same.
	* stdlibref/tolower.html: Same.
	* stdlibref/rotate.html: Same.
	* stdlibref/booktoc.html: Same.
	* stdlibref/upper-bound.html: Same.
	* stdlibref/II.html: Same.
	* stdlibref/out-of-range.html: Same.
	* stdlibref/basic-streambuf.html: Same.
	* stdlibref/basic-ios.html: Same.
	* stdlibref/iscntrl.html: Same.
	* stdlibref/iosfwd-h.html: Same.
	* stdlibref/allocator.html: Same.
	* stdlibref/basic-istream.html: Same.
	* stdlibref/accumulate.html: Same.
	* stdlibref/strstream.html: Same.
	* stdlibref/streamiterators.html: Same.
	* stdlibref/complex-h.html: Same.
	* stdlibref/--iterator-category.html: Same.
	* stdlibref/functionobjects.html: Same.
	* stdlibref/1-3.html: Same.
	* stdlibref/basic-iostream.html: Same.
	* stdlibref/2-8.html: Same.
	* stdlibref/partition.html: Same.
	* stdlibref/III.html: Same.
	* stdlibref/wclog.html: Same.
	* stdlibref/IV.html: Same.
	* stdlibref/A-3.html: Same.
	* stdlibref/uninitialized-copy.html: Same.
	* stdlibref/predicates.html: Same.
	* stdlibref/ispunct.html: Same.
	* stdlibref/binary-negate.html: Same.
	* stdlibref/equal-to.html: Same.
	* stdlibref/swap-ranges.html: Same.
	* stdlibref/make-heap.html: Same.
	* stdlibref/istrstream.html: Same.
	* stdlibref/randomaccessiterators.html: Same.
	* stdlibref/ostream-h.html: Same.
	* stdlibref/stable-sort.html: Same.
	* stdlibref/forwarditerators.html: Same.
	* stdlibref/frames-classes-func.html: Same.
	* stdlibref/localedefutility.html: Same.
	* stdlibref/2-5.html: Same.
	* stdlibref/multiset.html: Same.
	* stdlibref/length-error.html: Same.
	* stdlibref/less-equal.html: Same.
	* stdlibref/operators.html: Same.
	* stdlibref/iomanip-h.html: Same.
	* stdlibref/heapoperations.html: Same.
	* stdlibref/set-union.html: Same.
	* stdlibref/exception-h.html: Same.
	* stdlibref/set-difference.html: Same.
	* stdlibref/limits-h.html: Same.
	* stdlibref/modulus.html: Same.
	* stdlibref/basic-ostream.html: Same.
	* stdlibref/frames-classes-alpha.html: Same.
	* stdlibref/memory-h.html: Same.
	* stdlibref/set-symmetric-difference.html: Same.
	* stdlibref/2-2.html: Same.
	* stdlibref/deque.html: Same.
	* stdlibref/mismatch.html: Same.
	* stdlibref/facets.html: Same.
	* stdlibref/unique.html: Same.
	* stdlibref/equal.html: Same.
	* stdlibref/iostream-h.html: Same.
	* stdlibref/cin.html: Same.
	* stdlibref/map.html: Same.
	* stdlibref/partial-sort.html: Same.
	* stdlibref/stable-partition.html: Same.
	* stdlibref/strstreambuf.html: Same.
	* stdlibref/typeinfo-h.html: Same.
	* stdlibref/multiplies.html: Same.
	* stdlibref/binary-search.html: Same.
	* stdlibref/istream-h.html: Same.
	* stdlibref/greater-equal.html: Same.
	* stdlibref/2.html: Same.
	* stdlibref/--distance-type.html: Same.
	* stdlibref/remove-copy.html: Same.
	* stdlibref/containers.html: Same.
	* stdlibref/stack.html: Same.
	* stdlibref/includes.html: Same.
	* stdlibref/replace-if.html: Same.
	* stdlibref/mask-array.html: Same.
	* stdlibref/pop-heap.html: Same.
	* stdlibref/copy.html: Same.

2007-05-06  Martin Sebor  <sebor@roguewave.com>

	* index.html: Removed executable property, set EOL style to native,
	and added the Id keyword.
	* stdlibref/find-end.html: Same.
	* stdlibref/bad-alloc.html: Same.
	* stdlibref/fstream-h.html: Same.
	* stdlibref/not-equal-to.html: Same.
	* stdlibref/iter-swap.html: Same.
	* stdlibref/stable-sort.html: Same.
	* stdlibref/collate.html: Same.
	* stdlibref/fill.html: Same.
	* stdlibref/bad-typeid.html: Same.
	* stdlibref/isgraph.html: Same.
	* stdlibref/IV.html: Same.
	* stdlibref/isupper.html: Same.
	* stdlibref/basic-stringstream.html: Same.
	* stdlibref/allocator.html: Same.
	* stdlibref/operators.html: Same.
	* stdlibref/wcin.html: Same.
	* stdlibref/basic-filebuf.html: Same.
	* stdlibref/isspace.html: Same.
	* stdlibref/frames-intro-text.html: Same.
	* stdlibref/logical-and.html: Same.
	* stdlibref/equal-to.html: Same.
	* stdlibref/auto-ptr.html: Same.
	* stdlibref/ptr-fun.html: Same.
	* stdlibref/isalnum.html: Same.
	* stdlibref/I.html: Same.
	* stdlibref/2-5.html: Same.
	* stdlibref/A.html: Same.
	* stdlibref/new-h.html: Same.
	* stdlibref/has-facet.html: Same.
	* stdlibref/sequences.html: Same.
	* stdlibref/containers.html: Same.
	* stdlibref/search.html: Same.
	* stdlibref/vector.html: Same.
	* stdlibref/isprint.html: Same.
	* stdlibref/islower.html: Same.
	* stdlibref/complex-h.html: Same.
	* stdlibref/remove-copy.html: Same.
	* stdlibref/bad-cast.html: Same.
	* stdlibref/nth-element.html: Same.
	* stdlibref/basic-ostream.html: Same.
	* stdlibref/set-intersection.html: Same.
	* stdlibref/istrstream.html: Same.
	* stdlibref/operatordelete.html: Same.
	* stdlibref/2-7.html: Same.
	* stdlibref/basic-fstream.html: Same.
	* stdlibref/sort-heap.html: Same.
	* stdlibref/set-symmetric-difference.html: Same.
	* stdlibref/strstream.html: Same.
	* stdlibref/adjacent-find.html: Same.
	* stdlibref/accumulate.html: Same.
	* stdlibref/clog.html: Same.
	* stdlibref/numeric-h.html: Same.
	* stdlibref/basic-ios.html: Same.
	* stdlibref/functionobjects.html: Same.
	* stdlibref/mismatch.html: Same.
	* stdlibref/reverse-iterator.html: Same.
	* stdlibref/time-get.html: Same.
	* stdlibref/lower-bound.html: Same.
	* stdlibref/time-put.html: Same.
	* stdlibref/istream-iterator.html: Same.
	* stdlibref/pointer-to-unary-function.html: Same.
	* stdlibref/map-h.html: Same.
	* stdlibref/list-h.html: Same.
	* stdlibref/basic-istream.html: Same.
	* stdlibref/basic-ifstream.html: Same.
	* stdlibref/pop-heap.html: Same.
	* stdlibref/plus.html: Same.
	* stdlibref/runtime-error.html: Same.
	* stdlibref/A-2.html: Same.
	* stdlibref/memory-h.html: Same.
	* stdlibref/bitmasktypes.html: Same.
	* stdlibref/binary-search.html: Same.
	* stdlibref/fpos.html: Same.
	* stdlibref/sort.html: Same.
	* stdlibref/moneypunct.html: Same.
	* stdlibref/acknow.html: Same.
	* stdlibref/basic-ostringstream.html: Same.
	* stdlibref/cin.html: Same.
	* stdlibref/char-traits.html: Same.
	* stdlibref/wclog.html: Same.
	* stdlibref/domain-error.html: Same.
	* stdlibref/compare.html: Same.
	* stdlibref/list.html: Same.
	* stdlibref/iterator-traits.html: Same.
	* stdlibref/pair.html: Same.
	* stdlibref/localeutility.html: Same.
	* stdlibref/A-3.html: Same.
	* stdlibref/rotate.html: Same.
	* stdlibref/set-union.html: Same.
	* stdlibref/1-1.html: Same.
	* stdlibref/sstream-h.html: Same.
	* stdlibref/2-3.html: Same.
	* stdlibref/front-insert-iterator.html: Same.
	* stdlibref/money-get.html: Same.
	* stdlibref/lexicographical-compare.html: Same.
	* stdlibref/ios-base--failure.html: Same.
	* stdlibref/numpunct.html: Same.
	* stdlibref/2-6.html: Same.
	* stdlibref/bitset.html: Same.
	* stdlibref/replace-if.html: Same.
	* stdlibref/greater.html: Same.
	* stdlibref/valarray.html: Same.
	* stdlibref/minus.html: Same.
	* stdlibref/2-8.html: Same.
	* stdlibref/basic-ofstream.html: Same.
	* stdlibref/max-element.html: Same.
	* stdlibref/overflow-error.html: Same.
	* stdlibref/wcout.html: Same.
	* stdlibref/binary-negate.html: Same.
	* stdlibref/stack.html: Same.
	* stdlibref/A-1.html: Same.
	* stdlibref/iostream-h.html: Same.
	* stdlibref/booktoc.html: Same.
	* stdlibref/facets.html: Same.
	* stdlibref/reverse.html: Same.
	* stdlibref/partial-sort-copy.html: Same.
	* stdlibref/wcerr.html: Same.
	* stdlibref/money-put.html: Same.
	* stdlibref/less-equal.html: Same.
	* stdlibref/insertiterators.html: Same.
	* stdlibref/contact.html: Same.
	* stdlibref/stable-partition.html: Same.
	* stdlibref/multiset.html: Same.
	* stdlibref/raw-storage-iterator.html: Same.
	* stdlibref/frames-classes-alpha.html: Same.
	* stdlibref/--iterator-category.html: Same.
	* stdlibref/find.html: Same.
	* stdlibref/time-put-byname.html: Same.
	* stdlibref/basic-istringstream.html: Same.
	* stdlibref/num-put.html: Same.
	* stdlibref/set-h.html: Same.
	* stdlibref/frames-displayarea.html: Same.
	* stdlibref/queue-h.html: Same.
	* stdlibref/min.html: Same.
	* stdlibref/swap-ranges.html: Same.
	* stdlibref/binary-function.html: Same.
	* stdlibref/2-10.html: Same.
	* stdlibref/iomanip-h.html: Same.
	* stdlibref/forwarditerators.html: Same.
	* stdlibref/bidirectionaliterators.html: Same.
	* stdlibref/transform.html: Same.
	* stdlibref/frames-tindex.html: Same.
	* stdlibref/strstreambuf.html: Same.
	* stdlibref/negate.html: Same.
	* stdlibref/slice-array.html: Same.
	* stdlibref/associativecontainers.html: Same.
	* stdlibref/basic-stringbuf.html: Same.
	* stdlibref/copy.html: Same.
	* stdlibref/valarray-h.html: Same.
	* stdlibref/ostream-h.html: Same.
	* stdlibref/equal-range.html: Same.
	* stdlibref/limits-h.html: Same.
	* stdlibref/replace-copy-if.html: Same.
	* stdlibref/exception-h.html: Same.
	* stdlibref/iscntrl.html: Same.
	* stdlibref/tolower.html: Same.
	* stdlibref/III.html: Same.
	* stdlibref/underflow-error.html: Same.
	* stdlibref/gslice-array.html: Same.
	* stdlibref/localedefutility.html: Same.
	* stdlibref/make-heap.html: Same.
	* stdlibref/outputiterators.html: Same.
	* stdlibref/unary-function.html: Same.
	* stdlibref/priority-queue.html: Same.
	* stdlibref/generate.html: Same.
	* stdlibref/streambuf-h.html: Same.
	* stdlibref/prev-permutation.html: Same.
	* stdlibref/push-heap.html: Same.
	* stdlibref/use-facet.html: Same.
	* stdlibref/logical-or.html: Same.
	* stdlibref/find-first-of.html: Same.
	* stdlibref/multimap.html: Same.
	* stdlibref/toupper.html: Same.
	* stdlibref/gslice.html: Same.
	* stdlibref/codecvt.html: Same.
	* stdlibref/string-h.html: Same.
	* stdlibref/find-if.html: Same.
	* stdlibref/1-2.html: Same.
	* stdlibref/cerr.html: Same.
	* stdlibref/index.html: Same.
	* stdlibref/ios-base.html: Same.
	* stdlibref/ostream-iterator.html: Same.
	* stdlibref/includes.html: Same.
	* stdlibref/messages.html: Same.
	* stdlibref/2-11.html: Same.
	* stdlibref/B.html: Same.
	* stdlibref/bind1st.html: Same.
	* stdlibref/logical-not.html: Same.
	* stdlibref/numeric-limits.html: Same.
	* stdlibref/inplace-merge.html: Same.
	* stdlibref/isxdigit.html: Same.
	* stdlibref/2-2.html: Same.
	* stdlibref/deque-h.html: Same.
	* stdlibref/slice.html: Same.
	* stdlibref/count.html: Same.
	* stdlibref/2-1.html: Same.
	* stdlibref/random-shuffle.html: Same.
	* stdlibref/for-each.html: Same.
	* stdlibref/functoc.html: Same.
	* stdlibref/max.html: Same.
	* stdlibref/partial-sum.html: Same.
	* stdlibref/streamiterators.html: Same.
	* stdlibref/indirect-array.html: Same.
	* stdlibref/algorithm-h.html: Same.
	* stdlibref/distance.html: Same.
	* stdlibref/queue.html: Same.
	* stdlibref/utility-h.html: Same.
	* stdlibref/basic-string.html: Same.
	* stdlibref/remove-if.html: Same.
	* stdlibref/exceptions.html: Same.
	* stdlibref/merge.html: Same.
	* stdlibref/partial-sort.html: Same.
	* stdlibref/vector-h.html: Same.
	* stdlibref/iterator-h.html: Same.
	* stdlibref/mask-array.html: Same.
	* stdlibref/cout.html: Same.
	* stdlibref/heapoperations.html: Same.
	* stdlibref/ostreambuf-iterator.html: Same.
	* stdlibref/uninitialized-copy.html: Same.
	* stdlibref/uninitialized-fill-n.html: Same.
	* stdlibref/length-error.html: Same.
	* stdlibref/reverse-copy.html: Same.
	* stdlibref/adjacent-difference.html: Same.
	* stdlibref/2-9.html: Same.
	* stdlibref/basic-iostream.html: Same.
	* stdlibref/exception.html: Same.
	* stdlibref/remove.html: Same.
	* stdlibref/less.html: Same.
	* stdlibref/typeinfo-h.html: Same.
	* stdlibref/locale-h.html: Same.
	* stdlibref/functional-h.html: Same.
	* stdlibref/isalpha.html: Same.
	* stdlibref/basic-streambuf.html: Same.
	* stdlibref/istream-h.html: Same.
	* stdlibref/iterator.html: Same.
	* stdlibref/lists.html: Same.
	* stdlibref/pointer-to-binary-function.html: Same.
	* stdlibref/not1.html: Same.
	* stdlibref/upper-bound.html: Same.
	* stdlibref/out-of-range.html: Same.
	* stdlibref/codecvt-byname.html: Same.
	* stdlibref/iosfwd-h.html: Same.
	* stdlibref/tindex.html: Same.
	* stdlibref/wstring.html: Same.
	* stdlibref/string.html: Same.
	* stdlibref/complex.html: Same.
	* stdlibref/1-3.html: Same.
	* stdlibref/greater-equal.html: Same.
	* stdlibref/ostrstream.html: Same.
	* stdlibref/2-4.html: Same.
	* stdlibref/copyright.html: Same.
	* stdlibref/frames-classes-func.html: Same.
	* stdlibref/remove-copy-if.html: Same.
	* stdlibref/ctype.html: Same.
	* stdlibref/isdigit.html: Same.
	* stdlibref/inputiterators.html: Same.
	* stdlibref/logic-error.html: Same.
	* stdlibref/equal.html: Same.
	* stdlibref/--distance-type.html: Same.
	* stdlibref/randomaccessiterators.html: Same.
	* stdlibref/deque.html: Same.
	* stdlibref/ispunct.html: Same.
	* stdlibref/return-temporary-buffer.html: Same.
	* stdlibref/set-difference.html: Same.
	* stdlibref/bad-exception.html: Same.
	* stdlibref/replace.html: Same.
	* stdlibref/map.html: Same.
	* stdlibref/unique.html: Same.
	* stdlibref/modulus.html: Same.
	* stdlibref/mem-fun.html: Same.
	* stdlibref/strstream-h.html: Same.
	* stdlibref/time-get-byname.html: Same.
	* stdlibref/unary-negate.html: Same.
	* stdlibref/advance.html: Same.
	* stdlibref/multiplies.html: Same.
	* stdlibref/set.html: Same.
	* stdlibref/get-temporary-buffer.html: Same.
	* stdlibref/II.html: Same.
	* stdlibref/replace-copy.html: Same.
	* stdlibref/num-get.html: Same.
	* stdlibref/frames-tindex-contents.html: Same.
	* stdlibref/invalid-argument.html: Same.
	* stdlibref/noframes.html: Same.
	* stdlibref/inner-product.html: Same.
	* stdlibref/istreambuf-iterator.html: Same.
	* stdlibref/frames-banner.html: Same.
	* stdlibref/uninitialized-fill.html: Same.
	* stdlibref/partition.html: Same.
	* stdlibref/predicates.html: Same.
	* stdlibref/stack-h.html: Same.
	* stdlibref/ctype-byname.html: Same.
	* stdlibref/1.html: Same.
	* stdlibref/min-element.html: Same.
	* stdlibref/operatornew.html: Same.
	* stdlibref/swap.html: Same.
	* stdlibref/insert-iterator.html: Same.
	* stdlibref/not2.html: Same.
	* stdlibref/iterators.html: Same.
	* stdlibref/2.html: Same.
	* stdlibref/stdexcept-h.html: Same.
	* stdlibref/next-permutation.html: Same.
	* stdlibref/divides.html: Same.
	* stdlibref/algorithms.html: Same.
	* stdlibref/back-insert-iterator.html: Same.
	* stdlibref/frames-intro-contents.html: Same.
	* stdlibref/locale.html: Same.
	* stdlibref/ios-h.html: Same.
	* stdlibref/range-error.html: Same.
	* stdlibref/negators.html: Same.
	* stdlibug/43-3.html: Same.
	* stdlibug/26-3.html: Same.
	* stdlibug/IV.html: Same.
	* stdlibug/8-2.html: Same.
	* stdlibug/4-2.html: Same.
	* stdlibug/28-3.html: Same.
	* stdlibug/VIII.html: Same.
	* stdlibug/42-3.html: Same.
	* stdlibug/18-1.html: Same.
	* stdlibug/8-3.html: Same.
	* stdlibug/26-7.html: Same.
	* stdlibug/31-3.html: Same.
	* stdlibug/27-4.html: Same.
	* stdlibug/1-6.html: Same.
	* stdlibug/frames-intro-text.html: Same.
	* stdlibug/45-3.html: Same.
	* stdlibug/5-3.html: Same.
	* stdlibug/23-2.html: Same.
	* stdlibug/6-2.html: Same.
	* stdlibug/24-4.html: Same.
	* stdlibug/I.html: Same.
	* stdlibug/38-3.html: Same.
	* stdlibug/38-4.html: Same.
	* stdlibug/43-4.html: Same.
	* stdlibug/12.html: Same.
	* stdlibug/2-5.html: Same.
	* stdlibug/22-3.html: Same.
	* stdlibug/45-5.html: Same.
	* stdlibug/10-3.html: Same.
	* stdlibug/26-1.html: Same.
	* stdlibug/45-1.html: Same.
	* stdlibug/27-1.html: Same.
	* stdlibug/5-1.html: Same.
	* stdlibug/38-5.html: Same.
	* stdlibug/15-2.html: Same.
	* stdlibug/3.html: Same.
	* stdlibug/26-6.html: Same.
	* stdlibug/37-2.html: Same.
	* stdlibug/43.html: Same.
	* stdlibug/22-5.html: Same.
	* stdlibug/3-3.html: Same.
	* stdlibug/32-4.html: Same.
	* stdlibug/26.html: Same.
	* stdlibug/13-4.html: Same.
	* stdlibug/23.html: Same.
	* stdlibug/19-2.html: Same.
	* stdlibug/29.html: Same.
	* stdlibug/19.html: Same.
	* stdlibug/14.html: Same.
	* stdlibug/33-1.html: Same.
	* stdlibug/7-2.html: Same.
	* stdlibug/5-4.html: Same.
	* stdlibug/40-5.html: Same.
	* stdlibug/34-3.html: Same.
	* stdlibug/24-2.html: Same.
	* stdlibug/41-2.html: Same.
	* stdlibug/11-3.html: Same.
	* stdlibug/10.html: Same.
	* stdlibug/14-7.html: Same.
	* stdlibug/8-1.html: Same.
	* stdlibug/VI.html: Same.
	* stdlibug/35.html: Same.
	* stdlibug/35-4.html: Same.
	* stdlibug/acknow.html: Same.
	* stdlibug/33-3.html: Same.
	* stdlibug/44.html: Same.
	* stdlibug/29-1.html: Same.
	* stdlibug/40-3.html: Same.
	* stdlibug/31-2.html: Same.
	* stdlibug/28.html: Same.
	* stdlibug/36.html: Same.
	* stdlibug/46-1.html: Same.
	* stdlibug/34-4.html: Same.
	* stdlibug/1-1.html: Same.
	* stdlibug/45-2.html: Same.
	* stdlibug/2-3.html: Same.
	* stdlibug/21-3.html: Same.
	* stdlibug/13-5.html: Same.
	* stdlibug/39-2.html: Same.
	* stdlibug/20-2.html: Same.
	* stdlibug/22-7.html: Same.
	* stdlibug/23-3.html: Same.
	* stdlibug/33-2.html: Same.
	* stdlibug/16-4.html: Same.
	* stdlibug/42.html: Same.
	* stdlibug/28-4.html: Same.
	* stdlibug/25-6.html: Same.
	* stdlibug/35-3.html: Same.
	* stdlibug/25.html: Same.
	* stdlibug/32-5.html: Same.
	* stdlibug/9-1.html: Same.
	* stdlibug/24-3.html: Same.
	* stdlibug/booktoc.html: Same.
	* stdlibug/39-1.html: Same.
	* stdlibug/14-3.html: Same.
	* stdlibug/26-5.html: Same.
	* stdlibug/contact.html: Same.
	* stdlibug/31-1.html: Same.
	* stdlibug/13-3.html: Same.
	* stdlibug/36-4.html: Same.
	* stdlibug/38-2.html: Same.
	* stdlibug/12-3.html: Same.
	* stdlibug/5.html: Same.
	* stdlibug/16-2.html: Same.
	* stdlibug/frames-displayarea.html: Same.
	* stdlibug/28-2.html: Same.
	* stdlibug/34-1.html: Same.
	* stdlibug/14-4.html: Same.
	* stdlibug/17.html: Same.
	* stdlibug/13-7.html: Same.
	* stdlibug/41-1.html: Same.
	* stdlibug/32.html: Same.
	* stdlibug/13-8.html: Same.
	* stdlibug/6.html: Same.
	* stdlibug/32-6.html: Same.
	* stdlibug/27-3.html: Same.
	* stdlibug/22-1.html: Same.
	* stdlibug/43-2.html: Same.
	* stdlibug/34.html: Same.
	* stdlibug/frames-tindex.html: Same.
	* stdlibug/13-6.html: Same.
	* stdlibug/24.html: Same.
	* stdlibug/21-1.html: Same.
	* stdlibug/40-1.html: Same.
	* stdlibug/38-1.html: Same.
	* stdlibug/45-4.html: Same.
	* stdlibug/34-2.html: Same.
	* stdlibug/10-1.html: Same.
	* stdlibug/39.html: Same.
	* stdlibug/24-1.html: Same.
	* stdlibug/15-1.html: Same.
	* stdlibug/11-2.html: Same.
	* stdlibug/35-1.html: Same.
	* stdlibug/III.html: Same.
	* stdlibug/9.html: Same.
	* stdlibug/22-6.html: Same.
	* stdlibug/3-5.html: Same.
	* stdlibug/5-2.html: Same.
	* stdlibug/3-4.html: Same.
	* stdlibug/43-1.html: Same.
	* stdlibug/V.html: Same.
	* stdlibug/22-2.html: Same.
	* stdlibug/41.html: Same.
	* stdlibug/38.html: Same.
	* stdlibug/13.html: Same.
	* stdlibug/41-3.html: Same.
	* stdlibug/39-3.html: Same.
	* stdlibug/20.html: Same.
	* stdlibug/14-5.html: Same.
	* stdlibug/40.html: Same.
	* stdlibug/3-2.html: Same.
	* stdlibug/26-2.html: Same.
	* stdlibug/20-3.html: Same.
	* stdlibug/1-2.html: Same.
	* stdlibug/30-2.html: Same.
	* stdlibug/7-1.html: Same.
	* stdlibug/18-4.html: Same.
	* stdlibug/index.html: Same.
	* stdlibug/32-2.html: Same.
	* stdlibug/25-2.html: Same.
	* stdlibug/29-3.html: Same.
	* stdlibug/21.html: Same.
	* stdlibug/33.html: Same.
	* stdlibug/2-2.html: Same.
	* stdlibug/8-4.html: Same.
	* stdlibug/45.html: Same.
	* stdlibug/2-1.html: Same.
	* stdlibug/14-1.html: Same.
	* stdlibug/42-1.html: Same.
	* stdlibug/11.html: Same.
	* stdlibug/13-2.html: Same.
	* stdlibug/15-3.html: Same.
	* stdlibug/frames-contents-chapter.html: Same.
	* stdlibug/7-3.html: Same.
	* stdlibug/36-3.html: Same.
	* stdlibug/35-6.html: Same.
	* stdlibug/37-1.html: Same.
	* stdlibug/7.html: Same.
	* stdlibug/11-1.html: Same.
	* stdlibug/18-2.html: Same.
	* stdlibug/18.html: Same.
	* stdlibug/26-9.html: Same.
	* stdlibug/28-1.html: Same.
	* stdlibug/30.html: Same.
	* stdlibug/30-3.html: Same.
	* stdlibug/40-2.html: Same.
	* stdlibug/17-1.html: Same.
	* stdlibug/20-1.html: Same.
	* stdlibug/14-2.html: Same.
	* stdlibug/6-3.html: Same.
	* stdlibug/10-2.html: Same.
	* stdlibug/32-1.html: Same.
	* stdlibug/23-1.html: Same.
	* stdlibug/25-1.html: Same.
	* stdlibug/1-5.html: Same.
	* stdlibug/22-4.html: Same.
	* stdlibug/35-5.html: Same.
	* stdlibug/22.html: Same.
	* stdlibug/VII.html: Same.
	* stdlibug/lists.html: Same.
	* stdlibug/27.html: Same.
	* stdlibug/21-2.html: Same.
	* stdlibug/4-1.html: Same.
	* stdlibug/tindex.html: Same.
	* stdlibug/frames-contents-all.html: Same.
	* stdlibug/1-7.html: Same.
	* stdlibug/1-3.html: Same.
	* stdlibug/2-4.html: Same.
	* stdlibug/copyright.html: Same.
	* stdlibug/13-1.html: Same.
	* stdlibug/25-5.html: Same.
	* stdlibug/16.html: Same.
	* stdlibug/36-2.html: Same.
	* stdlibug/46.html: Same.
	* stdlibug/37.html: Same.
	* stdlibug/4-3.html: Same.
	* stdlibug/30-4.html: Same.
	* stdlibug/4.html: Same.
	* stdlibug/44-2.html: Same.
	* stdlibug/17-2.html: Same.
	* stdlibug/26-8.html: Same.
	* stdlibug/30-1.html: Same.
	* stdlibug/29-2.html: Same.
	* stdlibug/8.html: Same.
	* stdlibug/40-4.html: Same.
	* stdlibug/36-1.html: Same.
	* stdlibug/14-6.html: Same.
	* stdlibug/9-2.html: Same.
	* stdlibug/18-3.html: Same.
	* stdlibug/32-3.html: Same.
	* stdlibug/42-2.html: Same.
	* stdlibug/31.html: Same.
	* stdlibug/30-5.html: Same.
	* stdlibug/II.html: Same.
	* stdlibug/9-3.html: Same.
	* stdlibug/frames-tindex-contents.html: Same.
	* stdlibug/12-2.html: Same.
	* stdlibug/noframes.html: Same.
	* stdlibug/4-4.html: Same.
	* stdlibug/6-1.html: Same.
	* stdlibug/frames-banner.html: Same.
	* stdlibug/25-4.html: Same.
	* stdlibug/16-1.html: Same.
	* stdlibug/26-4.html: Same.
	* stdlibug/3-1.html: Same.
	* stdlibug/1.html: Same.
	* stdlibug/1-4.html: Same.
	* stdlibug/35-2.html: Same.
	* stdlibug/16-3.html: Same.
	* stdlibug/2.html: Same.
	* stdlibug/28-5.html: Same.
	* stdlibug/23-4.html: Same.
	* stdlibug/25-3.html: Same.
	* stdlibug/27-2.html: Same.
	* stdlibug/12-1.html: Same.
	* stdlibug/frames-intro-contents.html: Same.
	* stdlibug/15.html: Same.
	* stdlibug/19-1.html: Same.
	* stdlibug/44-1.html: Same.

2007-05-05  Martin Sebor  <sebor@roguewave.com>

	* mbsrtowcs.cpp: New example program to demonstrate an implementation
	of the C Standard Library function mbsrtowcs() in terms of the C++
	Standard Library codecvt facet precipitated by the Usenet thread:
	http://groups.google.com/group/comp.lang.c++/browse_thread/thread/85ffe366e1d65734
	* mbsrtowcs.out: Expected output of the example program.

2007-05-03  Martin Sebor  <sebor@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  <sebor@roguewave.com>

	* file.cpp (P_tmpdir): Added a comment.

2007-05-03  Martin Sebor  <sebor@roguewave.com>

	* index.html: Added Google Analytics tracking code and reformatted.
	* stdlibug/frames-banner.html: Same.
	* stdlibref/frames-banner.html: Same.
	* stdlibug/index.html: Reformatted.
	* stdlibref/index.html: Reformatted.

2007-05-02  Martin Sebor  <sebor@roguewave.com>

	STDCXX-338
	* _config-gcc.h [__CYGWIN__](_RWSTD_NO_EXCEPTION_WHAT): Undefined
	to prevent linker errors due to the symbol being multiply defined.

2007-05-02  Martin Sebor  <sebor@roguewave.com>

	* _config-msvc.h (_RWSTD_DLLIMPORT): Added comments.

2007-04-30  Martin Sebor  <sebor@roguewave.com>

	STDCXX-397
	* algorithm.cc (__introsort_loop): Reduced max_depth before each
	recursive call rather than after.

2007-04-30  Martin Sebor  <sebor@roguewave.com>

	STDCXX-399
	* codecvt.html: Zero-initialized mbstate_t variable in example code
	before passing it to codecvt::in() and codecvt::out() (as done in
	revision 533806. Replaced std::endl with '\n' for efficiency.

2007-04-30  Martin Sebor  <sebor@roguewave.com>

	* codecvt.cpp (main): Zero-initialized mbstate_t variable
	before passing it to codecvt::in() and codecvt::out().
	Replaced std::endl with '\n' for efficiency.

2007-04-26 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-220
	* collate.cpp (def::add_missing_values): Added checking of the
	iterator validity before use.

2007-04-26 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-398
	* projectdef.js (projectCreateVCProject): Added workarounds to build
	projects with ".obj" in name on MSVC 7.x

2007-04-24 Farid Zaripov <Farid_Zaripov@epam.com>

	* configure.wsf: "Checking" replaced with "checking" for consistency
	(checkHeaders): removed variable hdrname2.
	* utilities.js (stripTags): Rewritten to correctly extract text from Buildlog.htm.
	* build.wsf (event_ProjectBuildFinished): Removed invoking of the decodeHTML()
	because of this function invoked in stripTags().

2007-04-21 Farid Zaripov <Farid_Zaripov@epam.com>

	* runall.wsf (runAllExamples, parseStatus): Added handling
	of the status LINK.

2007-04-20 Farid Zaripov <Farid_Zaripov@epam.com>

	* runall.wsf: Added options /PRJDIR and /COMPAT, removed options /BUILDTYPE and /COPYDLL
	* projectdef.js: Add the library path to the PATH environment variable before
	invoking scripts or utilities (exec, localedef)
	* projects.js: Ditto. Removed copying libstdxx.dll to bin directory before invoking
	scripts or utilities

2007-04-16 Farid Zaripov <Farid_Zaripov@epam.com>

	* locale_stub.cpp (main): Corrected calculation of
	the command line length (arglen).

2007-04-13 Farid Zaripov <Farid_Zaripov@epam.com>

	* projects.js (CreateProjectsDefs): Corrected path to the
	shared library.

2007-04-12  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.rwt (CXXPRELINK): Added LDLIBS to avoid IBM xlC link
	failures.

2007-04-11 Farid Zaripov <Farid_Zaripov@epam.com>

	* projects.js (localedef): Added a dependency on locale.cpp and
 	memchk.cpp.
 	(locale): Replaced all dependencies with one on locale_stub.cpp.

2007-04-11 Farid Zaripov <Farid_Zaripov@epam.com>

	* generate.wsf (Echo): New function to replace WScript.Echo().

2007-04-10  Martin Sebor  <sebor@roguewave.com>

	STDCXX-393
	* STRUCT_TM.cpp (OFF): #defined a helper macro when the offsetof()
	macro from <stddef.h> doesn't work (i.e., when _RWSTD_NO_OFFSETOF
	is #defined).

2007-04-10  Martin Sebor  <sebor@roguewave.com>

	* limits (_RWSTD_ROUND_STYLE): #defined to round_indeterminate
	when the configuration macro _RWSTD_FLT_ROUNDS is not #defined.

2007-04-10  Martin Sebor  <sebor@roguewave.com>

	* LIMITS.cpp (<limits.h>): Removed an unnecessary #include directive
	(causes compilation errors with EDG eccp -A on Linux due to the use
	of the gcc #include_next extension in system headers).

2007-04-10  Martin Sebor  <sebor@roguewave.com>

	* gcc.config (wide): Encoded the PID of the shell in a temporary file
	name to prevent collisions. Removed a stray $ from an invocation of
	the echo built-in.

2007-04-10  Martin Sebor  <sebor@roguewave.com>

	* _mbstate.h: Updated ASF license.

2007-04-10  Martin Sebor  <sebor@roguewave.com>

	STDCXX-392
	* _mbstate.h (_RWSTD_MBSTATE_T): #defined macro for generic OS.

2007-04-09  Martin Sebor  <sebor@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-09  Martin Sebor  <sebor@roguewave.com>

	STDCXX-390
	* _specialized.h (__rw_construct): Removed const qualification from
	second parameter and let the compiler deduce the cv-qualifier from
	the actual argument.

2007-04-07  Martin Sebor  <sebor@roguewave.com>

	STDCXX-387
	* DAYLIGHT.cpp: New config test to determine whether the system
	supports the XSI POSIX extension daylight.
	* time_put.cpp (daylight): #defined to 0 when _RWSTD_NO_DAYLIGHT
	is #defined.

2007-04-06  Martin Sebor  <sebor@roguewave.com>

	STDCXX-386
	* locale.cpp (main): Renamed...
	(locale_main): ...to this and removed exception handling.
	(print_mon): Added missing comma.
	* localedef.cpp (main): Renamed...
	(localedef_main): ...to this and removed exception handling.
	(main): Invoked locale_main() or localedef_main() depending on whether
	the first command line option is the special keyword "--locale-mode"
	or something else. Handled exceptions from either function.
	* locale_stub.cpp: New. Invokes localedef --locale-mode ...
	* GNUmakefile.bin (localedef): Added a dependency on locale.o and
	memchk.o.
	(locale): Replaced all dependencies with one on locale_stub.o so
	as to avoid linking the same object files into more than one program.

2007-04-06 Farid Zaripov <Farid_Zaripov@epam.com>

	* build.wsf: Rename stdlib to stdcxx.
	* generate.wsf: Ditto.
	* makelog.wsf: Ditto.
	* projects.js: Ditto. Rename out library name from
	stdlib.[lib|dll] to libstd.[lib|dll] to consistency
	with unix names
	* runall.wsf: The same.

2007-04-06 Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-352
	* gcc.config [Cygwin]: Set SHARED_SUFFIX = .dll

2007-04-05  Martin Sebor  <sebor@roguewave.com>

	* valcmp.cpp (rw_fltcmp): Corrected typos in preprocessor conditional.

2007-04-05 Farid Zaripov <Farid_Zaripov@epam.com>

	* build.wsf (BuildProject): Get real name of the project file
	instead of the predefined PrjName.vcproj.
	* generate.wsf (convertSolutions): New function to convert
	the solution(s) from MSVC to ICC format.
	(generate): Use convertSolutions() to convert the all
	created solutions.
	* summary.js (saveSummaryHeaderMulti): Close file to unlock
	it before delete.

2007-04-04  Martin Sebor  <sebor@roguewave.com>

	STDCXX-385
	* vector.cc (_C_insert_range): Renamed a loop control variable
	to prevent clashing with another, and to silence a bogus HP
	cadvise error #2101: variable has already been declared in the
	current scope.

2007-04-03  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.tst (RWTESTDIR): Removed redundant variable.
	(INCLUDES): Removed $(RWTESTDIR)/include (a duplicate of
	$(TESTDIR)/include).
	* GNUmakefile.rwt (SRCDIRS, INCLUDE, VPATH): Removed redundant
	references to $(RWTESTDIR).
	(TARGET): Removed incorrect/unused variable.

2007-04-03  Martin Sebor  <sebor@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  <sebor@roguewave.com>

	* 27.ostream.cpp (test_formatted): Corrected wide character format
	directives.

2007-04-02  Martin Sebor  <sebor@roguewave.com>

	STDCXX-383
	* string (_C_off): Convenience functions to compute the unsigned
	distance between two iterators or the offset of an iterator from
	the beginning of the container.
	(insert, erase, replace): Used _C_off() to silence HP aCC 3.76
	remark #4271-D: type conversion may lose sign.

2007-04-02  Martin Sebor  <sebor@roguewave.com>

	STDCXX-382
	* limits (_RWSTD_DIGITS): Cast a Boolean expression to int to silence
	many HP aCC 3.76 remarks #4296-D: arithmetic operation on boolean type.

2007-03-30  Martin Sebor  <sebor@roguewave.com>

	STDCXX-379
	* _config-xlc.h (_RWSTD_NO_EXTERN_TEMPLATE): Hardcoded macro
	for XLC++ 8.0 and prior to work around a compiler bug.

2007-03-29  Martin Sebor  <sebor@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 <Farid_Zaripov@epam.com>

	* 21.string.io.cpp: Used std::size_t instead of size_t.

2007-03-29  Farid Zaripov <Farid_Zaripov@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  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile (CXXFLAGS.narrow, LDFLAGS.narrow, LDSOFLAGS.narrow,
	ARFLAGS.narrow): Added options to BUILDMODE whenever a "narrow"
	BUILDTYPE (i.e., one of { 8s, 11s, 12s, and 15s } is specified.
	* acc.config (CXXFLAGS.narrow, LDFLAGS.narrow, LDSOFLAGS.narrow,
	ARFLAGS.narrow): Commented out options implicit in the default
	invocation of the compiler.
	* mipspro.config: Ditto.
	* vacpp.config: Ditto.
	* gcc.config (CXXFLAGS.narrow, LDFLAGS.narrow, LDSOFLAGS.narrow,
	ARFLAGS.narrow, CXXFLAGS.wide, LDFLAGS.wide, LDSOFLAGS.wide,
	ARFLAGS.wide): Autodetected whether the default invocation of
	the compiler produces narrow (32-bit) or wide (64-bit) code and
	set options accordingly, avoiding specifying redundant options.

2007-03-28  Martin Sebor  <sebor@roguewave.com>

	* sunpro.config: Added a Makefile file type tag for emacs.

2007-03-28  Martin Sebor  <sebor@roguewave.com>

	* ctype.cpp (ctype_byname ctor): Asserted a precondition.
	(_RWSTD_NO_V3_LOCALE, _V3_LOCALE): Removed/replaced obsolete macros.

2007-03-28  Farid Zaripov <Farid_Zaripov@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  <sebor@roguewave.com>

	STDCXX-112
	* etc/config/README: Moved to...
	* README: ...here.

2007-03-27  Martin Sebor  <sebor@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  <sebor@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 <Farid_Zaripov@epam.com>

	STDCXX-364
	* STRUCT_TM_IN_WCHAR_H.cpp: Removed struct keyword.

2007-03-27  Farid Zaripov <Farid_Zaripov@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-26  Martin Sebor  <sebor@roguewave.com>

	STDCXX-62
	* _money_get.cc (_C_get): Checked for iterator equality to end before
	dereferencing it.

2007-03-26  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.tst (INCLUDES): Removed an unneeded directory from
	the preprocessor search path.

2007-03-26  Martin Sebor  <sebor@roguewave.com>

	* algorithm.cc: Removed a stray backtick.

2007-03-26  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-131
	* algorithm.cc (__stable_partition): Corrected an off-by-one error.

2007-03-26  Martin Sebor  <sebor@roguewave.com>

	STDCXX-371
	* locale.cpp (print_currency_symbol): Corrected indices (regression
	introduced in http://svn.apache.org/viewvc?view=rev&revision=448754).

2007-03-26  Martin Sebor  <sebor@roguewave.com>

	STDCXX-370
	* def.cpp (convert_string): Removed the assumption that a string
	that begins with the less-than sign also ends with a greater-than
	sign.

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

	* _basic_ios.h (~basic_ios): Removed protected declaration accidentally
	introduced in http://svn.apache.org/viewvc?view=rev&revision=519751.

2007-03-23  Martin Sebor  <sebor@roguewave.com>

	* 22.locale.money.put.cpp (type_test): Silenced gcc warning:
	comparison between signed and unsigned.

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

	STDCXX-364
	* STRUCT_TM_IN_WCHAR_H.cpp: Checked only for the declaration of struct
	tm, not its definition (according to 7.24.1, p2 of C99, struct tm is
	required to declared as an incomplete type in <wchar.h>).

2007-03-23  Martin Sebor  <sebor@roguewave.com>

	STDCXX-368
	* string (ctor): Removed unused function formal arguments
	from function declaration to silence gcc 3.2.3 warnings.

2007-03-23  Farid Zaripov <Farid_Zaripov@epam.com>

	* msvc-7.0.config: Added variable CLVARSBAT (path to the iclvars.bat for ICC)
	* icc-9.0.config: Ditto.
	* icc-9.1.config: Ditto.
	* utilities.js: Added support of the variable CLVARSBAT
	* projects.js: Call iclvars.bat before invoking the confirure.wsf script.

2007-03-22  Martin Sebor  <sebor@roguewave.com>

	* vector (_C_construct): Eliminated first argument (is always end())
	and replaced with _C_push_back() for efficiency.
	(_C_destroy): Removed an un unnecessary argument (is always end())
	and outlined.
	(_C_unsafe_swap): New function defined out of line.
	(insert): Added an assertion.
	(erase): Simplified and optimized a wee bit.
	(clear): Defined in terms of _C_destroy() outside the body
	of the class template.
	(swap): Optimized, called _C_unsafe_swap() for unequal allocators.
	(dtor): Called _C_destroy() with a single argument for efficiency.
	(assign): Called clear() instead of erase() for better efficiency.
	* vector.cc (_C_realloc): Passed this to Allocator::allocate()
	instead of begin() and called _C_push_back() instead of _C_construct().
	(_C_unsafe_swap): Implements swap for objects with unequal allocators.
	(_C_assign_n, _C_insert_1, _C_assign_range, _C_insert_range): Called
	_C_push_back() instead of _C_construct() for efficiency.

2007-03-22  Martin Sebor  <sebor@roguewave.com>

	* vector (ctors): Removed extraneous zeros from initializers.

2007-03-22  Martin Sebor  <sebor@roguewave.com>

	* vector (ctors): Removed extraneous zeros from initializers.

2007-03-21  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.tst (RUNFLAGS): Appended new options instead of straight
	out setting the variable to keep its value (such as the timeout set in
	makefile.in).

2007-03-20  Martin Sebor  <sebor@roguewave.com>

	* istream: Used _RWSTD_DEFINE_TEMPLATE_{FIRST,LAST} instead
	of just plain _RWSTD_DEFINE_TEMPLATE (_BASIC_ISTREAM).

2007-03-20  Martin Sebor  <sebor@roguewave.com>

	STDCXX-286
	* vacpp.config (PRELINKFLAGS): Avoided appending flags when the
	variable is empty to prevent trying to prelink with the wrong
	options (i.e., without -qmkshrobj). This should complete the
	change started in rev 515423:
	http://svn.apache.org/viewvc?view=rev&revision=515423

2007-03-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-300
	* _config-xlc.h (_RWSTD_NO_EXPLICIT_INSTANTIATION_BEFORE_DEFINITION,
	_RWSTD_NO_EXTERN_TEMPLATE_BEFORE_DEFINITION): Defined for IBM XLC++
	8.0 when _RWSTD_NO_INSTANTIATE_DEFAULT_ARGS is also #defined.

2007-03-18  Martin Sebor  <sebor@roguewave.com>

	* _basic_ios.h: Used _RWSTD_DEFINE_TEMPLATE_FIRST and _LAST instead of
	just _RWSTD_DEFINE_TEMPLATE, and corrected the spelling of _BASIC_IOS.

2007-03-16  Martin Sebor  <sebor@roguewave.com>

	* INSTANTIATE_DEFAULT_ARGS.cpp (bar): Removed a duplicate definition.	

2007-03-16  Martin Sebor  <sebor@roguewave.com>

	* INSTANTIATE_DEFAULT_ARGS.cpp: Exercised the ability to explicitly
	instantiate class templates whose member functions declare default
	arguments referring to static member functions of the template
	parameter that aren't declared (or well-formed) for the argument
	used in the instantiation directive. Reveals compiler bugs such as
	IBM XLC++ 8.0 STDCXX-363.

2007-03-16  Martin Sebor  <sebor@roguewave.com>

	* EXPLICIT_INSTANTIATION.cpp: Added comments.

2007-03-16  Farid Zaripov <Farid_Zaripov@epam.com>

	* configure.wsf (configure): Removed empty string from array initializer.

2007-03-15  Martin Sebor  <sebor@roguewave.com>

	STDCXX-97
	* xlC_version.sh: Corrected output for XLC/C++ 6.0, 7.0 (including
	patches), and 8.0.

2007-03-14  Eric Lemings  <lemings@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-08  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile (CPPFLAGS): Removed -D_RWSTD_USE_CONFIG.

2007-03-14  Farid Zaripov <Farid_Zaripov@epam.com>

	STDCXX-16
	* _tree.cc (operator=): Added missing assignment of the _C_cmp member.

2007-03-14  Martin Sebor  <sebor@roguewave.com>

	STDCXX-356
	* GNUmakefile.bin (INCLUDES): Removed inlcude/loc from preprocessor
	search path.

2007-03-13  Eric Lemmings  <lemmings@roguewave.com>

	STDCXX-262
	* gcc.config (LDSOFLAGS): Set to -dynamiclib for Mac OS X.

2007-03-12  Martin Sebor  <sebor@roguewave.com>

	STDCXX-354
	* makefile.common (LDFLAGS): Moved -l$(LIBBASE)...
	(LDLIBS): ...to here, prepending it to the variable to keep runtime
	libraries that are already there last in order to allow symbols
	referenced in the former library and defined in the latter to be
	resolved by UNIX linkers.

2007-03-12  Farid Zaripov <Farid_Zaripov@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  <sebor@roguewave.com>

	STDCXX-4
	* 22.locale.codecvt.length.cpp: New test exercising the member function
	std::codecvt::length().

2007-03-09  Farid Zaripov <Farid_Zaripov@epam.com>

	* configure.sh: Added svn:executable property,
	svn:eol-style changed from native to LF.
	* fixtree.sh: The same.
	* run_locale_utils.sh: The same.
	* runall.sh: The same.
	* libc_decl.sh: The same.
	* xlC_version.sh: The same.
	* headers.inc: svn:eol-style changed from native to LF.

2007-03-08  Martin Sebor  <sebor@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  <sebor@roguewave.com>

	* 0.printf.cpp (TEST_SPEC): Introduced a local variable to silence
	compiler warnings about controlling expression being constant.

2007-03-07  Andrew Black  <ablack@roguewave.com>

	* util/output.cpp (check_compat_test): Rewrite FSM to eliminate seek 
	to near end (was causing parsing issues on tests with output 
	following result block).

2007-03-07  Martin Sebor  <sebor@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  Martin Sebor  <sebor@roguewave.com>

	STDCXX-349
	* iostore.cpp (_C_copyfmt): Zeroed out a_size array to prevent
	(bogus) gcc warnings about the variable being used uninitialized.

2007-03-07  Martin Sebor  <sebor@roguewave.com>

	STDCXX-346
	* gcc.config (PICFLAGS): Corrected a typo inadvertently introduced
	in r514256: http://svn.apache.org/viewcvs?view=rev&rev=514256.

2007-03-07  Martin Sebor  <sebor@roguewave.com>

	* ABS_OVERLOADS.cpp: Removed all references to the (no longer
	necessary) _RWSTD_USE_CONFIG macro.
	* ATOMIC_OPS.cpp: Same.
	* BAD_ALLOC_ASSIGNMENT.cpp: Same.
	* BAD_ALLOC_COPY_CTOR.cpp: Same.
	* BAD_ALLOC_DEFAULT_CTOR.cpp: Same.
	* BAD_ALLOC_DTOR.cpp: Same.
	* BAD_ALLOC_WHAT.cpp: Same.
	* BAD_CAST_ASSIGNMENT.cpp: Same.
	* BAD_CAST_COPY_CTOR.cpp: Same.
	* BAD_CAST_DEFAULT_CTOR.cpp: Same.
	* BAD_CAST_DTOR.cpp: Same.
	* BAD_CAST_WHAT.cpp: Same.
	* BAD_EXCEPTION_ASSIGNMENT.cpp: Same.
	* BAD_EXCEPTION_COPY_CTOR.cpp: Same.
	* BAD_EXCEPTION_DEFAULT_CTOR.cpp: Same.
	* BAD_EXCEPTION_DTOR.cpp: Same.
	* BAD_EXCEPTION_WHAT.cpp: Same.
	* BAD_TYPEID_ASSIGNMENT.cpp: Same.
	* BAD_TYPEID_COPY_CTOR.cpp: Same.
	* BAD_TYPEID_DEFAULT_CTOR.cpp: Same.
	* BAD_TYPEID_DTOR.cpp: Same.
	* BAD_TYPEID_WHAT.cpp: Same.
	* CLASS_PARTIAL_SPEC.cpp: Same.
	* CONST_CAST.cpp: Same.
	* CTYPE_BITS.cpp: Same.
	* DIV_OVERLOADS.cpp: Same.
	* DUMMY_DEFAULT_ARG.cpp: Same.
	* DYNAMIC_CAST.cpp: Same.
	* EXCEPTION_ASSIGNMENT.cpp: Same.
	* EXCEPTION_COPY_CTOR.cpp: Same.
	* EXCEPTION_DEFAULT_CTOR.cpp: Same.
	* EXCEPTION_DTOR.cpp: Same.
	* EXCEPTION_SPECIFICATION.cpp: Same.
	* EXCEPTION_WHAT.cpp: Same.
	* EXPLICIT_CTOR_INSTANTIATION.cpp: Same.
	* EXPLICIT_INSTANTIATION.cpp: Same.
	* EXPLICIT_INSTANTIATION_BEFORE_DEFINITION.cpp: Same.
	* EXPLICIT_MEMBER_INSTANTIATION.cpp: Same.
	* EXPORT.cpp: Same.
	* EXTERN_FUNCTION_TEMPLATE.cpp: Same.
	* EXTERN_MEMBER_TEMPLATE.cpp: Same.
	* EXTERN_TEMPLATE.cpp: Same.
	* EXTERN_TEMPLATE_BEFORE_DEFINITION.cpp: Same.
	* FLOAT.cpp: Same.
	* FRIEND_TEMPLATE.cpp: Same.
	* FUNCTION_TRY_BLOCK.cpp: Same.
	* GLOBAL_BAD_ALLOC.cpp: Same.
	* GLOBAL_BAD_CAST.cpp: Same.
	* GLOBAL_BAD_EXCEPTION.cpp: Same.
	* GLOBAL_BAD_TYPEID.cpp: Same.
	* GLOBAL_EXCEPTION.cpp: Same.
	* GLOBAL_NOTHROW.cpp: Same.
	* GLOBAL_NOTHROW_T.cpp: Same.
	* GLOBAL_SET_NEW_HANDLER.cpp: Same.
	* GLOBAL_SET_TERMINATE.cpp: Same.
	* GLOBAL_SET_UNEXPECTED.cpp: Same.
	* GLOBAL_TERMINATE.cpp: Same.
	* GLOBAL_TYPE_INFO.cpp: Same.
	* GLOBAL_UNCAUGHT_EXCEPTION.cpp: Same.
	* GLOBAL_UNEXPECTED.cpp: Same.
	* HONOR_STD.cpp: Same.
	* ICONV.cpp: Same.
	* IMPLICIT_INSTANTIATION.cpp: Same.
	* INFINITY.cpp: Same.
	* INSTANTIATE_DEFAULT_ARGS.cpp: Same.
	* LDBL_PRINTF_PREFIX.cpp: Same.
	* LIMITS.cpp: Same.
	* LLONG_PRINTF_PREFIX.cpp: Same.
	* LOCALE_NAME_FMAT.cpp: Same.
	* LONG_LONG.cpp: Same.
	* MATH_OVERLOADS.cpp: Same.
	* MBSTATE_T.cpp: Same.
	* MUNMAP.cpp: Same.
	* NEWLINE.cpp: Same.
	* NEW_FUNC_TEMPLATE_SYNTAX.cpp: Same.
	* NEW_THROWS.cpp: Same.
	* NONDEDUCED_CONTEXT.cpp: Same.
	* NO_DBL_TRAPS.cpp: Same.
	* NO_INT_TRAPS.cpp: Same.
	* NO_SIGNALING_NAN.cpp: Same.
	* OPERATOR_DELETE_ARRAY.cpp: Same.
	* OPERATOR_DELETE_ARRAY_PLACEMENT.cpp: Same.
	* OPERATOR_DELETE_PLACEMENT.cpp: Same.
	* OPERATOR_NEW_ARRAY.cpp: Same.
	* OPERATOR_NEW_ARRAY_NOTHROW.cpp: Same.
	* OPERATOR_NEW_ARRAY_PLACEMENT.cpp: Same.
	* OPERATOR_NEW_NOTHROW.cpp: Same.
	* OPERATOR_NEW_PLACEMENT.cpp: Same.
	* OVERLOAD_OF_TEMPLATE_FUNCTION.cpp: Same.
	* POD_ZERO_INIT.cpp: Same.
	* PUTENV_CONST_CHAR.cpp: Same.
	* QUIET_NAN.cpp: Same.
	* REINTERPRET_CAST.cpp: Same.
	* RUNTIME_IN_STD.cpp: Same.
	* SIG_ATOMIC_T.cpp: Same.
	* SIZE_T.cpp: Same.
	* SPECIALIZATION_ON_RETURN_TYPE.cpp: Same.
	* STATIC_CAST.cpp: Same.
	* STATIC_CONST_MEMBER_EXPR_CONST.cpp: Same.
	* STD_BAD_ALLOC.cpp: Same.
	* STD_BAD_CAST.cpp: Same.
	* STD_BAD_EXCEPTION.cpp: Same.
	* STD_BAD_TYPEID.cpp: Same.
	* STD_EXCEPTION.cpp: Same.
	* STD_MBSTATE_T.cpp: Same.
	* STD_NOTHROW.cpp: Same.
	* STD_NOTHROW_T.cpp: Same.
	* STD_SET_NEW_HANDLER.cpp: Same.
	* STD_SET_TERMINATE.cpp: Same.
	* STD_SET_UNEXPECTED.cpp: Same.
	* STD_TERMINATE.cpp: Same.
	* STD_TYPE_INFO.cpp: Same.
	* STD_UNCAUGHT_EXCEPTION.cpp: Same.
	* STD_UNEXPECTED.cpp: Same.
	* TEMPLATE_DEFAULT_ARG_CONVERSION.cpp: Same.
	* TEMPLATE_ON_RETURN_TYPE.cpp: Same.
	* TYPENAME.cpp: Same.
	* TYPE_INFO_BEFORE.cpp: Same.
	* TYPE_INFO_DTOR.cpp: Same.
	* TYPE_INFO_EQUALITY.cpp: Same.
	* TYPE_INFO_INEQUALITY.cpp: Same.
	* TYPE_INFO_NAME.cpp: Same.
	* UNAME.cpp: Same.
	* UNISTD_DECL.cpp: Same.
	* VA_LIST.cpp: Same.
	* VSNPRINTF_RETURN.cpp: Same.
	* WCSFTIME_WCHAR_T_FMAT.cpp: Same.
	* WINT_T.cpp: Same.
	* extern_template_before_definition_imp.cpp: Same.

2007-03-07  Martin Sebor  <sebor@roguewave.com>

	* wstringstream.out: Added a missing example output file.

2007-03-07  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile (RUNFLAGS): Bumped up exec timeout from 180 seconds
	to 300 to allow long-running tests (such as those exercising UTF-8
	locales) to finish.

2007-03-07  Martin Sebor  <sebor@roguewave.com>

	* time_put.cpp (main): Silenced the bogus HP aCC Warning 578: A class
	member may not be a const array since there is no way to initialize
	such a member (see STDCXX-347).

2007-03-07  Farid Zaripov <Farid_Zaripov@epam.com>

	* alloc.cpp: fixed typo (removed comma);
	* 0.alloc.cpp: use setjmp() instead sigsetjmp() on Cygwin

2007-03-06  Martin Sebor  <sebor@roguewave.com>

	STDCXX-286
	* vacpp.config (PRELINKFLAGS): Used -qmkshrobj only when building
	a shared library (including a shared archive), and not an ordinary
	archive.
	(DEFAULT_SHROBJ): Set only when using -qmkshrobj.
	(use_tempinc): Removed a temporary file when done.

2007-03-05  Andrew Black  <ablack@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  <sebor@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-03  Mark Brown  <mbrown@inbox.com>

	STDCXX-337
	* gcc.config (LDLIBS): Used -lcatgets, not -catgets, to link with
	libcatgets on Cygwin.

2007-03-03  Mark Brown  <mbrown@inbox.com>

	STDCXX-346
	* gcc.config (PICFLAGS): Avoided using -fPIC for Cygwin in addition
	to AIX since gcc generated code is always position independent there.

2007-03-02  Martin Sebor  <sebor@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  <sebor@roguewave.com>

	* 0.outputiter.cpp: New test exercising the helper class template
	OutputIter.

2007-03-01  Martin Sebor  <sebor@roguewave.com>

	STDCXX-92
	* GNUmakefile.cfg (.NOTPARALLEL): Defined target to disable parallel
	builds until we figure out how to get them to work correctly.

2007-03-01  Martin Sebor  <sebor@roguewave.com>

	STDCXX-214
	* _traits.h (lt): Cast char arguments to unsigned char to
	yield results consistent with compare (and with memcmp).

2007-03-01  Farid Zaripov <FaridZ@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-27  Martin Sebor  <sebor@roguewave.com>

	* time_put.cpp: Added descriptions of ordinary (unmodified) conversion
	specifiers and printed out the "base" format specifier string for %c,
	%r, %x, and %X. Changed the date to demonstrate the formatting of %e
	formats (space followed by a digit for single-digit days of month).
	Treated the first command line argument as the name of the locale to
	format output in (including "" for the locale specified by the
	environment).
	* time_put.out: Adjusted accordingly.

2007-02-23 Farid Zaripov <faridz@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 <faridz@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 <faridz@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 <faridz@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 <faridz@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  lnicoara  <nicoara@roguewave.com>

     * etc/config/icc.config
       Changed build process for post-8.1 compilers to
       use the yet undocumented -cxxlib-nostd option. 

2007-02-21 Farid Zaripov <faridz@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 <faridz@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 <faridz@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-19  Mark Brown  <mbrown@inbox.com>

	STDCXX-340
	* aliases.cpp (get_installed_locales): Avoided aborting on locale
	(or system) error and instead just issued a warning and continued.

2007-02-15  Martin Sebor  <sebor@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-15 Farid Zaripov <faridz@kyiv.vdiweb.com>

	STDCXX-268
	STDCXX-331
	* list (_RWSTD_LIST_SAFE_INSERT_RANGE): New macro for exception
	safe inserting the range into the list.
	(_C_insert (bidirectional_iterator_tag, input_iterator_tag)):
	Removed.
	(_C_insert): Used _RWSTD_LIST_SAFE_INSERT_RANGE macro.
	(_C_insert): Added try/catch with removing the inserted elements
	if exception was thrown.

2007-02-15 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* deque: The swap method moved from here ...
	* deque.cc: ... to here

2007-02-15 Farid Zaripov <faridz@kyiv.vdiweb.com>

	STDCXX-127
	* deque (swap): Corrected _C_beg._C_node and _C_end._C_node
	after swap operation for empty container.

2007-02-13  Martin Sebor  <sebor@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-11  Martin Sebor  <sebor@apache.org>

	* exception.cpp: Updated copyright notice.

2007-02-11  Martin Sebor  <sebor@apache.org>

	* except.cpp: Renamed...
	* exception.cpp: ...to this.

2007-02-11  Mark Brown  <mbrown@inbox.com>

	STDCXX-40
	STDCXX-337
	* gcc.config [Cygwin](LDLIBS): Added libcatgets and libiconv.

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

	* GNUmakefile.bin (localedb.d): Gracefully handled empty/undefined
	LOCALES variable.

2007-02-07 Farid Zaripov <faridz@kyiv.vdiweb.com>

	STDCXX-334
	* list (swap): Fixed bug: used reference instead of the temporary object.

2007-02-05  Martin Sebor  <sebor@roguewave.com>

	STDCXX-230
	STDCXX-329
	* istream.cc (__rw_extract): Added comment.
	(_C_ipfx): Avoided resetting gcount().
	(_C_ipfx): Guarded body in a try/catch block and set badbit when
	an exception occurs.
	[_RWSTD_NO_OPTIMIZE_SPEED](_C_ipfx): Removed conditionally compiled
	block (and instead used the "optimized" branch unconditionally).
	(_C_get, read, readsome, get, getline, operator>>): Explicitly
	reset gcount.

2007-02-05  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 27.istream.readsome.cpp: New test exercising the member function
	readsome() of basic_istream.

2007-02-05  Martin Sebor  <sebor@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  <sebor@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  <sebor@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  <sebor@roguewave.com>

	* 27.istream.fmar.arith.cpp: Renamed...
	* 27.istream.fmat.arith.cpp: to this.

i2007-02-02  Martin Sebor  <sebor@roguewave.com>

	STDCXX-295
	* sstream.cc (seekoff): Prevented the function from failing when
	offset is 0 and neither sequence has been initialized yet (see 
	LWG issue 453:
	http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#453).

2007-01-31  Martin Sebor  <sebor@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-31 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* exec.cpp (calculate_usage): Corrected variable
	in conditional expression

2007-01-30  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 27.istream.sentry.cpp: New test exercising [istream.sentry].

2007-01-29  Martin Sebor  <sebor@roguewave.com>

	* _num_get.cc (_C_get): Added comments.

2007-01-28  Martin Sebor  <sebor@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  <sebor@roguewave.com>

	* gcc.config (MAPFLAGS): Temporarily disabled until fully implemented.

2007-01-25  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 27.istream.manip.cpp: New test exercising istream.manip.

2007-01-25 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* projectdef.js (projectCreateTestLocalesDef): PreBuildCmd modified
	to avoid using of very long lines.
	* projects.js (CreateProjectsDefs): Use runall.wsf script to run locale tests.
	* runall.wsf: Added new parameter EXT.

2007-01-22  Martin Sebor  <sebor@roguewave.com>

	* sstream (str): Made one-argument char_type* overload public
	for efficiency since it's indistinguishable from the string
	overload (the two argument continues to be private in strict
	mode).
	(basic_stringstream ctor): Used __rw::__rw_in_out instead of
	(in | out) for efficiency and to make debugging easier (by
	avoiding the call to operator| defined by the implementation).

2007-01-22  Martin Sebor  <sebor@roguewave.com>

	STDCXX-327
	* sstream (stringbuf::str): Added a public char_type* overload
	to prevent compilation errors in strict mode when the 2 argument
	overload is private.
	* sstream.cc (stringbuf::str): Removed a comment.

2007-01-22 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* projectdef.js (projectCreateTestLocalesDef): PreBuildCmd modified
	to avoid using of the $(SolutionDir) variable.
	* projects.js (CreateProjectsDefs): Ditto.

2007-01-21  Martin Sebor  <sebor@roguewave.com>

	* valarray (operator[]): Changed return type to const value_type&
	as per LWG issue 389:
	http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#389

2007-01-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-326
	* _iosbase.h (seek_dir, io_state, open_mode): Declared as int.

2007-01-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-324
	* _cstdlib.h (div_t, ldiv_t): Declared quot and rem members.

2007-01-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-323
	* _cstdlib.h (abs, div): Added overloads for long.

2007-01-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-322
	* complex (operator=): Used the public member functions real()
	and imag() instead of the private data members.

2007-01-19 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* projectdef.js (projectCreateTestLocalesDef): PreBuildCmd modified
	to use local variables for paths.
	* projects.js (CreateProjectsDefs): Ditto.

2007-01-18  Martin Sebor  <sebor@roguewave.com>

	STDCXX-320
	* _csignal.h (SIG_DFL, SIG_ERR, SIG_IGN): Cast to the appropriate type.

2007-01-17 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* build.wsf (build): Set BuildLogging variable to true before the build
	* projectdef.js (projectCreateTestLocalesDef): Use compacted PreBuildCmd
	* summary.js (readBuildLog): Removed temporary for loop since the bug not repeated

2007-01-15  Martin Sebor  <sebor@roguewave.com>

	* 26.valarray.cons.cpp: New test exercising valarray constructors.

2007-01-12  Andrew Black  <ablack@roguewave.com>

	* GNUmakefile (RPATH) [!shared]: Fix indentation.

2007-01-12  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.bin (install): Handled locales with the @ modifier
	in their name. Correctly handled the LOCALES variable when set
	to the empty string.

2007-01-12  Martin Sebor  <sebor@roguewave.com>

	* valarray.cc (shift, cshift): Used T(0) instead of T() in the
	declaration of an object to avoid a gcc 3.2 bug (see STDCXX-317).

2007-01-12  Andrew Black  <ablack@roguewave.com>

	* GNUmakefile (RPATH) [!shared]: Unset RPATH for archive builds (Not needed).

2007-01-11  Martin Sebor  <sebor@roguewave.com>

	* numpunct.cpp (make_german_locale): Corrected a logic error
	introduced in revision 431272.

2007-01-11  Martin Sebor  <sebor@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  <sebor@roguewave.com>

	* limits.cpp (operator<<): New overload for std::float_denorm_style.
	(print_limits): Called it for numeric_limits<T>::has_denorm.
	* limits.out: Adjusted accordingly.

2007-01-11  Martin Sebor  <sebor@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  <sebor@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  <sebor@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-11 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* build.wsf: New script file to build specified configuration
	* configure.wsf (configure): Check if the environment variable
	exist before removing; use MT DLL runtime instead of ST static
	runtime in ST DLL solution configurations
	* devenv_consts.js: Added new constants
	* generate.wsf: Removed unused BUILDTYPE option from usage text;
	by default don't generate projects for build and test locales;
	generate additional solution files (stdlib + examples;
	stdlib + rwtest + tests; stdlib + utils + locales;
	stdlib + utils + locale tests;
	stdlib + utils + run_examples + run_tests); use new build.wsf
	script in generated build batch file
	* makelog.wsf (makelog): Updated according to new directory structure
	* projectdef.js (InitVSObjects): Added freedte parameter, don't free
	dte object if freedte == false;
	(projectCreateVCProject): Use MT DLL runtime instead of ST static
	runtime in ST DLL solution configurations;
	(projectCreateProjectDefsFromFolder): Add name of subfolder to the
	OutDir only if shiftOutDir is true;
	(projectCreateTestLocalesDef): New function to generate project for
	perform all locale tests in one shot;
	* projects.js (CreateProjectDefs): Added generation of the 3 projects:
	.stdcxx_runexamples; .stdcxx_runtests; .stdcxx_testlocales. Now
	returns array of the sets of projects (configure, stdlib, rwtest,
	utils, examples, run_examples, tests, run_tests, locales,
	locale_tests)
	* run_locale_utils.wsf (Cleanup): New function to remove
	temporary folder
	(Exit): New function to exit from script with cleanup
	(CreateFolder): New function to create directory three
	(dump_charmap): New function to dump the charmap of a locale
	(dump_locale): On error exited script with the same non-zero
	exit status as the locale utility
	(generate_locale): Used Exit function
	(test_locale): Called dump_charmap to produce the charmap source
	from the locale database at each of the three stages. Used this
	charmap source to create a locale in each subsequent stage.
	Placed the files created at each stage in separate directories
	named stage.1 through stage.3.
	(run_locale_utils): Avoided deleting stage directories when
	the -n option is set
	* runall.wsf: Parameter INOUTDIR now is optional; removed unused
	parameter COPYRWTESTDLL;
	(readOutFile): check manual and tutorial subfolders when searching
	example requested output file;
	(runWithChecks, runNoChecks): Removed as unused;
	(runAllExamples): Rewritten to use exec utility in packet mode.
	* summary.js (saveBuildInfoTable): encode symbols in example output
	before saving them to HTML file
	(readBuildLog): Added temporary loop to check the run-time error
	"runall.wsf(59, 6) Microsoft JScript runtime error: Permission denied"
	* utilities.js (decodeHTML): New function to decode escaped symbols
	(stripTags): New function to get text from HTML document

2007-01-09  Martin Sebor  <sebor@roguewave.com>

	STDCXX-318
	* valarray.cc (cshift): Avoided division by zero when *this is empty.

2007-01-09  Martin Sebor  <sebor@roguewave.com>

	* valarray (abs, acos, asin, atan, atan2, cos, cosh, exp, log,
	log10, pow, sin, sinh, sqrt, tan, tanh): Replaced T() with T(0)
	in order to work around a gcc 3.2.3 bug (see STDCXX-317).

2007-01-09 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* runall.cpp (check_target_ok): Corrected index in array item assigning

2007-01-06  Martin Sebor  <sebor@roguewave.com>

	* 26.mask.array.cpp: New test exercising helper class template
	std::mask_array.

2007-01-05  Martin Sebor  <sebor@roguewave.com>

	STDCXX-316
	* valarray.cc (cshift): Initialized destination array prior
	to assigning to its elements.

2007-01-05  Martin Sebor  <sebor@roguewave.com>

	STDCXX-315
	* valarray (abs, acos, asin, atan, atan2, cos, cosh, exp, log,
	log10, pow, sin, sinh, sqrt, tan, tanh): Initialized destination
	array prior to assigning to its elements. 

2007-01-04 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* string.cpp (__rw_memchr, __rw_wmemchr): Fixed bug: the function
	returns incorrect result when nbytes == 0 and *src == c

2007-01-02  Martin Sebor  <sebor@roguewave.com>

	* 26.indirect.array.cpp: New test exercising the std::indirect_array
	helper template.

2007-01-01  Martin Sebor  <sebor@roguewave.com>

	* 17.names.cpp: Added more public names to test for.

2006-12-22  Martin Sebor  <sebor@roguewave.com>

	* 26.class.gslice.cpp (make_array): Corrected an off-by-1 error.
	(test_gslice): Exercised gslice copy ctor.

2006-12-20  Martin Sebor  <sebor@roguewave.com>

	* _array.h (operator[]): Returned a const reference rather than
	value_type to make it possible to implement the resolution of
	LWG issue 389.
	Simplifed a few other expressions and removed redundant formal
	argument names from member function declarations.

2006-12-18  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 26.class.gslice.cpp: New test exercising lib.class.gslice.

2006-12-15  Martin Sebor  <sebor@roguewave.com>

	* run_locale_utils.sh [Tru64]: Made getopts work on Tru64 by setting
	the BIN_SH variable and re-executing self with the same command line
	arguments.

2006-12-12  Andrew Black  <ablack@roguewave.com>

	* makefile.rules (run runall run_all): Remove unneeded if-then-else-fi 
	construct, fixing bug introduced in 
	http://svn.apache.org/viewvc?view=rev&rev=485859 in the process.

2006-12-11  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.lib (TARGET): Defined also in archive mode.

2006-12-11  Martin Sebor  <sebor@roguewave.com>

	STDCXX-309
	* valarray (operator[]): Invoked next_ind() at most once per each
	iteration of the loop.
	* valarray.cpp (next_ind): Returned start() instead of 0 after
	wrapping around.

2006-12-11  Andrew Black  <ablack@roguewave.com>

	* GNUmakefile.bin (SRCDIRS): Fix accidental path change in 
	http://svn.apache.org/viewvc?view=rev&rev=485859

2006-12-11  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile (REPORTFILE): Replaced...
	(CONFIG_H): ...with this variable (intended as a future replacement
	of the current config.h).
	(PREFIX, install): Added new variable and installation target.
	(post): Removed target.
	* GNUmakefile.bin (LOCALE_LIST): Renamed...
	(LOCALES): ...to this.
	(install): New target to install locale utilities and locales.
	* GNUmakefile.lib (LIBLINK): New variable.
	(TARGET): Replaced the use of the variable as a target...
	(LIB, LIBLINK): ...with each of these.
	(install): New target.
	* makefile.common (REGRESS_FILE): Removed unused variable.
	* makefile.rules (REGRESS_FILE, REPORTFILE): Removed.

2006-12-08  Andrew Black  <ablack@roguewave.com>

	* GNUmakefile ($(MAKEFILE_IN)): Echo RPATH into generated makefile.in
	* GNUmakefile.bin (LDFLAGS): Add $(RPATH) switch with a value of 
	$(LIBDIR) to $(LDFLAGS) if $(RPATH) is defined.
	* GNUmakefile.exm (LDFLAGS): Ditto.
	* GNUmakefile.ph (LDFLAGS): Ditto.
	* GNUmakefile.rwt (LDFLAGS): Ditto.
	* GNUmakefile.tst (LDFLAGS): Add $(RPATH) switch with a value of 
	$(LIBDIR):$(BUILDDIR)/rwtest to $(LDFLAGS) if $(RPATH) is defined.
	* acc.config (SHARED_LDFLAGS): Move rpath flag definition from here ...
	(RPATH): ... To here.
	* gcc.config (SHARED_LDFLAGS, RPATH): Ditto.
	* icc.config (SHARED_LDFLAGS, RPATH): Ditto.
	* sunpro.config (SHARED_LDFLAGS, RPATH): Ditto.
	* mipspro.config (SHARED_LDFLAGS, RPATH): Ditto.
	* osf_cxx.config (SHARED_LDFLAGS, RPATH): Ditto.
	* vacpp.config (SHARED_LDFLAGS, RPATH): Ditto.
	* como.config (RPATH): Define placeholder (empty) flag definition.
	* eccp.config (RPATH): Ditto.
	* reliant_cds.config (RPATH): Ditto.

2006-12-07  Andrew Black  <ablack@roguewave.com>

	* exec.cpp (alarm_timeout) [!_WIN32]: Update documentation.
	(kill_signal) [!WIN32]: Add file local variable to track signal used to 
	kill process.
	(handle_term_signal) [!_WIN32]: Add new callback function...
	(wait_for_child) [!_WIN32]: ... Used here for SIGHUP, SIGINT, SIGQUIT, 
	and SIGTERM signals (via sigaction).  Handlers are cleared if 
	kill_signal is set and the signal contained within is raise()ed.

2006-12-07  Andrew Black  <ablack@roguewave.com>

	* output.cpp (check_test): Set status->status to ST_OVERFLOW if 
	status->assert equals -1, don't return when status->t_warn reaches -1.
	(check_example): Set status->assert to -1 to denote example.
	* display.cpp (print_status_plain): Output assertion totals if 
	status->assert isn't -1 and status->status and status->exit are 0,
	special case status->assert = 0 to avoid divide by 0 errors.

2006-12-06  Martin Sebor  <sebor@roguewave.com>

	STDCXX-306
	* valarray (gslice_array::operator=): Removed private declaration.

2006-12-05  Martin Sebor  <sebor@roguewave.com>

	* string.cpp (__rw_memcpy, __rw_memmove, __rw_memchr, __rw_memset,
	__rw_memcmp, __rw_strlen): Defined each helper without depending
	on the corresponding libc function in order to avoid infinite
	recursion.
	(__rw_wmemcpy, __rw_wmemmove, __rw_wmemchr, __rw_wmemset, __rw_wmemcmp,
	__rw_wcslen): Same.

2006-12-04  Andrew Black  <ablack@roguewave.com>

	* display.cpp (short_st_name): Rename "OUTPUT" and "NREF" states, per 
	http://tinyurl.com/y28xev

2006-12-01  Martin Sebor  <sebor@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 <faridz@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  <sebor@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  <sebor@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  <sebor@roguewave.com>

	* def.h (create_format): Removed redundant const qualifier from
	function formal arguments and removed their names.
	(mon_punct_out_): Removed data member.
	* def.cpp (Def): Invalidated mon_out_ char members by assigning
	CHAR_MAX as expected (and required by C) rather than -1.
	* monetary.cpp (create_format): Assigned CHAR_MAX instead of -1
	to indicate missing values.
	(write_monetary): Renamed mon_punct_out_ to punct and made local.

2006-11-29  Martin Sebor  <sebor@roguewave.com>

	* fmt_bits.cpp (_rw_fmtbits): Inverted a controlling expression
	in an uncoditional assertion.

2006-11-29  Martin Sebor  <sebor@roguewave.com>

	* time_put.cpp [MSVC >= 8.0] (__rw_put_time): Used the conforming
	swprintf() rather than the legacy Microsoft one without the size
	argument as suggested by the compiler warning.

2006-11-29  Andrew Black  <ablack@roguewave.com>

	* acc.config (CCVER, aCC_MAJOR, aCC_MINOR): Convert expensive 
	assignments from recursive to simple expansion.
	* como.config (CCVER, CC_MAJOR, CC_MINOR): Ditto.
	* eccp.config (CCVER, ECCP_MAJOR, ECCP_MINOR): Ditto.
	* icc.config (CCVER): Ditto.
	* osf_cxx.config (CCVER): Ditto.
	* reliant_cds.config (CCVER): Ditto.
	* sunpro.config (CCVER): Ditto.
	* vacpp.config (CCVER, CXX_MAJOR, CXX_MINOR): Ditto.

2006-11-29  Andrew Black  <ablack@roguewave.com>

	* gcc.config [AIX] (OS_MAJOR, OS_MINOR): Retrieve and store OS major 
	and minor version.
	[AIX] (SHARED_CPPFLAGS): Only set if OS is 5.3 or newer (Earlier 
	versions of ld don't support -bsrv4, -R switches).
	* vacpp.config [AIX] (OS_MAJOR, OS_MINOR): Retrieve and store OS major 
	and minor version.
	[AIX] (SHARED_CPPFLAGS): Only set if OS is 5.3 or newer (Earlier 
	versions of ld don't support -bsrv4, -R switches).
	[!AIX] (SHARED_CPPFLAGS): Use -R switch (assuming Linux ld).

2006-11-28  Martin Sebor  <sebor@roguewave.com>

	* locale.cpp (print_ellipsis): New function to print sequences
	of consecutive characters as ellipses for compactness and for
	better efficiency.
	(print_charmap): Called print_ellipsis.

2006-11-28  Martin Sebor  <sebor@roguewave.com>

	* monetary.cpp (process_monetary): Simplified the parsing of integer
	values and checking their validity.

2006-11-28  Martin Sebor  <sebor@roguewave.com>

	* locale.cpp (MON_INT): New convenience macro to print out unspecified
	integer values as -1 even when char is an unsigned type.
	(print_int_frac_digits, print_frac_digits, print_p_cs_precedes,
	print_n_sep_by_space, print_p_sep_by_space, print_n_cs_precedes,
	print_p_sign_posn, print_n_sign_posn, print_int_p_cs_precedes,
	print_int_n_sep_by_space, print_int_p_sep_by_space,
	print_int_n_cs_precedes, print_int_p_sign_posn,
	print_int_n_sign_posn): Used it.

2006-11-28  Andrew Black  <ablack@roguewave.com>
	* sunpro.config (LDFLAGS): Remove redundant -L$(LIBDIR) switch.  Switch is added if needed in makefile.common.
	(MULTI_LDFLAGS_POSIX, MULTI_LDFLAGS_SOLARIS): Use $(LIBPTHREAD) for MULTI_LDFLAGS_POSIX and $(LIBTHREAD) for MULTI_LDFLAGS_SOLARIS.  Had been reversed at some point by mistake.
	* acc.config (LDFLAGS): Remove redundant -L$(LIBDIR) switch.  Switch is added if needed in makefile.common.
	(SHARED_LDFLAGS): Add rpath switch to include $(LIBDIR) in ld search path of executables.
	* gcc.config (SHARED_LDFLAGS): Ditto.
	* icc.config (SHARED_LDFLAGS): Ditto.
	* mipspro.config (LDFLAGS): Remove redundant -L$(LIBDIR) switch.  Switch is added if needed in makefile.common.
	(SHARED_LDFLAGS): Add rpath switch to include $(LIBDIR) in ld search path of executables.
	* osf_cxx.config (SHARED_LDFLAGS): Ditto.
	* vacpp.config (SHARED_LDFLAGS): Ditto.

2006-11-28 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* vector (vector<bool, _Allocator>): Removed _VB_TYPENAME macro.
	[_RWSTD_NO_CLASS_PARTIAL_SPEC && !_RWSTD_NO_TYPENAME]: _TYPENAME
	cleared before types definitions and restored after.

2006-11-28 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* _config-msvc.h: Updated copyright notice

2006-11-28 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* _config-msvc.h: All definitions which duplicates or contradict
	with config.h are moved to #if _MSC_VER <= 1200 / #endif

2006-11-27  Martin Sebor  <sebor@roguewave.com>

	* runall.cpp (merge_argv): Removed a redundant const qualifier
	from function return type.

2006-11-27  Martin Sebor  <sebor@roguewave.com>

	* locale.cpp (sect_charmap): Removed an unused static constant.

2006-11-22 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* projectdef.js (projectCreateTestLocaleDefs,
	projectCreateTestLocaleDefs): Code, independent from
	locale name moved from here ...
	* projects.js (CreateProjectsDefs): ... to here.
	Command line for custom build step assigned to file
	run_locale_utils.wsf (to deal with MSVC 8)

2006-11-20 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* projects.js (CreateProjectsDefs): Corrected OutDir for test
	locales projects; added dependency from project "exec"
	* projectdef.js (projectCreateTestLocaleDefs): Added locale
	sanity test; modified command line to using the exec utility
	to run locale test.

2006-11-20 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* generate.wsf (generate): Added printing of compiler config
	variables
	* runall.wsf: Timeout value increased up to 180 seconds

2006-11-17 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* process.cpp (rw_process_create) [!_WIN32]: Added missing __FILE__, __LINE__

2006-11-16  Martin Sebor  <sebor@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  <sebor@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-15  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile (CURDIR): Used the shell PWD variable to avoid
	expanding NFS paths as mount points instead of the user-visible
	directories.
	(MAKEFILE_IN): Used "$(TOPDIR)" in the definition of the BUILDDIR
	variable when generating makefile.in rather than fully expanding
	the variable.

2006-11-15  Andrew Black  <ablack@roguewave.com>

	* GNUmakefile.bin (exec): Fix typo introduced in http://svn.apache.org/viewvc?view=rev&rev=475095

2006-11-15  Andrew Black  <ablack@roguewave.com>

	* GNUmakefile.bin (SRCDIRS): Revert accidental altering in http://svn.apache.org/viewvc?view=rev&rev=475095

2006-11-15 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* target.h: #include time.h instead of sys/types.h for clock_t

2006-11-15 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* COLLAPSE_STATIC_LOCALS.cpp: Removed "./" from the LDOPTS.
	* COLLAPSE_TEMPLATE_LOCALS.cpp: Ditto.
	* COLLAPSE_TEMPLATE_STATICS.cpp: Ditto.
	* EXPORT.cpp: Ditto.
	* EXTERN_FUNCTION_TEMPLATE.cpp: Ditto.
	* EXTERN_INLINE.cpp: Ditto.
	* EXTERN_MEMBER_TEMPLATE.cpp: Ditto.
	* EXTERN_TEMPLATE.cpp: Ditto.
	* EXTERN_TEMPLATE_BEFORE_DEFINITION.cpp: Ditto.
	* IMPLICIT_INSTANTIATION.cpp: Ditto.
	* LIB_EXCEPTIONS.cpp: Ditto.
	* collapse_static_locals.lib.cpp (bar) [_WIN32 && _DLL]: Added
	__declspec (dllexport) to the function definition.
	* collapse_template_locals.lib.cpp (bar): Ditto.
	* collapse_template_statics.lib.cpp (bar): Ditto.
	* extern_inline.lib.cpp (foo): Ditto.
	* lib_exceptions.lib.cpp (foo): Ditto.
	* configure.wsf (runExeTests): Removed replacing the "./" in LDOPTS.
	(compileLibs): Added parameter: shared.
	(makeLibrary): Ditto. Added creation of the dynamic library (dll)
	instead of static library, if shared is true

2006-11-15 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* projectdef.js (InitVSObjects): Use devenv.com instead of
	devenv.exe to get buildlog in batch build

2006-11-14  Martin Sebor  <sebor@roguewave.com>

	STDCXX-302
	* makefile.common (CXX.repo): New make function.
	* makefile.rules (%.o, %): Used CXX.repo in rules.
	* GNUmakefile.bin (exec, locale, localedef): Same.

2006-11-14  Andrew Black  <ablack@roguewave.com>

	* cmdopt.h (TICKS_PER_SEC): Declare global constant.
	* cmdopt.cpp (TICKS_PER_SEC): Define, value dependent on pre-processor
	declarations. (Already comitted -- see revision 472162).
	* target.h (sys/types.h): Include for clock_t.
	(sys/time.h) [!_WIN32 && !_WIN64 && _XOPEN_UNIX]: Remove dependency.
	(rw_timeval): Remove as unneeded.
	(rw_time_t, rw_suseconds_t) [!_XOPEN_UNIX]: Ditto.
	(target_status): Use clock_t rather than rw_timeval.
	* exec.cpp (sys/times.h) [!_WIN32 && !_WIN64]: Include.
	(sys/time.h) [!_WIN32 && !_WIN64 && _XOPEN_UNIX]: Remove dependency.
	(calculate_usage) [!_WIN32 && !_WIN64]: Update documentation, alter
	signature, use times() rather than getrusage() to retrieve timing
	information.
	(exec_file) [!_WIN32 && !_WIN64]: Move wall clock timing logic into
	calculate_usage, retrieve starting times prior to wait_for_child().
	(exec_file) [_WIN32 || _WIN64]: Simplify wall clock delta logic.
	* display.cpp (unistd.h) [!_WIN32 && !_WIN64]: Remove dependency.
	(print_status_plain): Alter logic used to print times, reflecting
	change to target_status.

2006-11-14  Martin Sebor  <sebor@roguewave.com>

	* memattr.cpp (__rw_memattr): Used msync() instead of the unreliable
	madvise() on IRIX.

2006-11-14  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (test_errno): Removed assumption that strerror()
	never returns a null pointer (see STDCXX-305).

2006-11-14  Andrew Black  <ablack@roguewave.com>

	* sunpro.config (SHARED_LDFLAGS): Add -R$(LIBDIR) switch so $(LIBDIR) is included in the runtime library search path of linked executables.

2006-11-14 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* projectdef.js (projectCreateVCProject): Used Libs member of the ProjectDef class.
	* projects.js (CreateProjectsDefs): Added missing libraries in definition of the rwtest project.

2006-11-13  Martin Sebor  <sebor@roguewave.com>

	STDCXX-303
	STDCXX-304
	* mipspro.config (PRELINKFLAGS): Removed.
	(AR, ARFLAGS): Set to only invoke the archiver through the compiler.

2006-11-13  Andrew Black  <ablack@roguewave.com>

	* exec.cpp (alarm_handler) [!_WIN32]: Define typedef with signature matching that of handle_alrm.
	(wait_for_child) [!_WIN32]: Use alarm_handler typedef for type of local variable storing reference to handle_alrm.

2006-11-10  Andrew Black  <ablack@roguewave.com>

	* GNUmakefile.bin (LDFLAGS.exec): Define LDFLAGS variant, filtering out the stdcxx library.
	(exec): Use LDFLAGS.exec rather than LDFLAGS.

2006-11-10  Martin Sebor  <sebor@roguewave.com>

	* 0.printf.cpp (TEST_SPEC): Avoided using constant controlling
	expression in do/while loop to silence annoyning EDG warnings.

2006-11-10  Martin Sebor  <sebor@roguewave.com>

	* cwchar (wmemcmp, wmemcpy, wmemmove): Correted typos (called the
	corresponding wide forms of the __rw_xxx functions rather than the
	narrow ones). Causing compilation errors with MIPSpro on IRIX64.

2006-11-10 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* EXPORT.cpp: Added "./" in LDOPTS.
	* configure.wsf (runExeTests): Added replacing ".o" with ".obj" in LDOPTS
	(compileFiles): Reused srcsArr instead of srcs
	* projects.wsf (CreateProjectsDefs): Removed extra '\' in command line

2006-11-09  Martin Sebor  <sebor@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  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile: Included the name of the platform in error messages.

2006-11-08  Martin Sebor  <sebor@roguewave.com>

	STDCXX-271
	* EXTERN_MEMBER_TEMPLATE.cpp: New test to detect the ability to use
	function template members of a specialization of a class template
	declared extern template.
	* extern_template_imp.cpp (NO_INLINE_MEMBER_TEMPLATE,
	NO_MEMBER_TEMPLATE): Defined macros in response to the corresponding
	configuration macros.
	* extern_template_imp.h (inline_member_template, member_template):
	Declared.

2006-11-08 Farid Zaripov <faridz@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  Martin Sebor  <sebor@roguewave.com>

	* cmdopt.cpp (eval_options): Set errno to 0 before calling strtol
	and testing its value to avoid false positives due to the variable
	being already set by another function.

2006-11-07 Farid Zaripov <faridz@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-11-03  Martin Sebor  <sebor@roguewave.com>

	* cwchar (wcsrchr): Fixed a typo in conditionally compiled code.

2006-11-01 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* configure.wsf (configure): try/catch'ed removing
	VS_UNICODE_OUTPUT environment variable 

2006-10-31 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* configure.wsf (configure): Remove VS_UNICODE_OUTPUT
	environment variable before run cl.exe

2006-10-24 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* projectdef.js (projectCreateTestLocaleDefs): Fixed bug in assignment
	* projects.js (CreateProjectsDefs): Fixed bug in assignment

2006-10-23 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* configure.wsf (checkHeaders): Removed unused parameter
	(configure): Try/catch'ed run of the sanity.exe while
	checking run environment sanity
	* data.js: Removed unused variable platformWin32Name
	* generate.wsf: Added output of the compiler configuration
	variables to the log file
	* makelog.wsf: Corrected the comment about CONFIG parameter
	* msvc-7.0.config: Added variable PLATFORM
	* msvc-8.0-x64.config: New configuration file for MSVC 8.0
	(x64 platform)
	* projectdef.js (setProperty): New function to assign value
	to a property if it's exists
	(projectCreateVCProject): Use PLATFORM compiler configuration
	variable instead of hardcoded variable platformWin32Name; use
	setProperty function with properties which are not supported
	on some platforms; leave default value of the property
	linker.TargetMachine (which is target dependent)
	* projects.js (CreateProjectsDefs): Copy dll's after every
	project rebuild
	* runall.wsf: Added parameter CONFIG to the list of parameters
	and usage example
	* utilities.js: Added variable PLATFORM
	(parseConfig): Renamed from getCompilerOpts, redesigned to use
	regular expression
	(PrintVars): New function to print compiler configuration
	variables and their values to the text stream
	(getWinDiffDifferences): code for determine the path to the
	windiff utility moved from here ...
	(getCompilerOpts): ... to here
	* generate.bat: Added check to run 32-bit cscript.exe
	on 64-bit Windows

2006-10-23 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* printf.cpp (_rw_fmtstrarray): Use ' ' as delimiter if
	' ' is specified in flags field

2006-10-19 Andrew Black <ablack@roguewave.com>

	* libc_decl.sh: Fixed if expression

2006-10-19 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* alloc.cpp (_rw_allocate_blocks): Set r/w access to the
	_rw_tail->next before modification

2006-10-19 Farid Zaripov <faridz@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-19 Farid Zaripov <faridz@kyiv.vdiweb.com>

	STDCXX-297
	* bitset.cc (__rw_bitset): Corrected calculation of
	size of the __bits buffer

2006-10-16 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* libc_decl.sh: libc headers and functions moved to headers.inc file 
	* configure.wsf (checkHeaders): The same
	* headers.inc: New file with libc headers and functions list

2006-10-13  Martin Sebor  <sebor@roguewave.com>

	* makefile.common (TEEOPTS): Reverted previous change (rev 463535).
	* makefile.rules (%.o: %(AS_EXT), %.o: %.cpp, %: %.o, %: %.cpp):
	Reverted previous change and removed $(TEEOPTS) from compile/link
	lines so as to prevent the pipeline from masking compilation and/or
	linking errors.

2006-10-12  Andrew Black  <ablack@roguewave.com>

	* makefile.rules (%.o: %(AS_EXT), %.o: %.cpp, %: %.o, %: %.cpp): Add
	$(TEEOPTS) to compile/link line so that output is routed to log files.
	* makefile.common (TEEOPTS): Always tee output to $@.log.
	* target.h (target_opts): Add c_warn and l_warn fields.
	(target_status): Split warn field into c_warn, l_warn, t_warn.
	* output.cpp (check_test): Count warnings, store in status->t_warn.
	(check_compat_test): Expand tail horizon, capture warnings into
	status->t_warn.
	* display.cpp (print_header_plain): Add WARN column, rename WALL
	column to REAL.
	(print_status_plain): Print the total number of warnings in the WARN
	column.
	* runall.cpp (count_warnings): Add static method to count the number
	of warnings in a .log file.
	(check_target_ok): Always calculate object file name, call
	count_warnings for object and executable.
	* cmdopt.cpp (usage_text): Document new --warn switch.
	(parse_warn_opts): Define new helper function to parse --warn switch.
	(eval_options): Used here in parsing and to initialize default c_warn
	and l_warn values. 

2006-10-11  Martin Sebor  <sebor@roguewave.com>

	* cwchar (wcscat, wcscpy): Used the block form of language linkage
	specification to work around an HP aCC 3.70 bug (see STDCXX-298).

2006-10-10 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* configure.wsf (checkHeaders): Added tests for POSIX
	functions (putenv, setenv, unsetenv).

2006-10-10 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* environ.cpp (rw_putenv): Added missing semicolon

2006-10-09  Martin Sebor  <sebor@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  <sebor@roguewave.com>

	* libc_decl.sh (putenv, setenv, unsetenv): Added tests for POSIX
	functions.

2006-10-09  Martin Sebor  <sebor@roguewave.com>

	* alloc.cpp (MAP_PRIVATE, MAP_ANONYMOUS): #defined to 0 when not
	#defined in system headers.

2006-10-09  Martin Sebor  <sebor@roguewave.com>

	* wcodecvt.cpp (__rw_libc_do_in): Corrected a typo in conditionally
	compiled code.

2006-10-09 Farid Zaripov <faridz@kyiv.vdiweb.com>

	STDCXX-93
	* time_put.cpp (__rw_get_timepunct): Corrected buffer size in
	wcsftime() calls; _RWSTD_SIZE_MAX changed to size of source
	string in mbstowcs() calls to deal with MSVC 8.0 CRT

2006-10-06  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 23.bitset.cpp: New test exercising lib.bitset.

2006-10-06  Martin Sebor  <sebor@roguewave.com>

	STDCXX-3
	* rw_rand.h: New. Declarations of testsuite random generator helpers.
	* random.cpp: New. Definitions of the above.

2006-10-06 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* icc-9.0.config: New configuration file for ICC-9.0
	* icc-9.1.config: New configuration file for ICC-9.1
	* msvc-7.0.config: New configuration file for MSVC-7.0
	* msvc-7.1.config: New configuration file for MSVC-7.1
	* msvc-8.0.config: New configuration file for MSVC-8.0
	* msvcex-8.0.config: New config file for MSVCExpress-8.0
	* config.js: Removed definitions of the classes: Solution,
	SolutionConfiguration, ProjectConfiguration, Project, Filter,
	Platform, Configuration, Tool, Compiler, Linker, Librarian,
	CustomBuild, PostBuild
	* data.js: Removed variables of types which was removed from config.js
	(ConfigInfo): New class for storing information about build
	configuration
	* devenv_consts.js: New file with constant variables for
	VisualStudio Automation objects
	* filterdef.js: New script file with FilterDef class definition
	* projectdef.js: New script file with ProjectDef class definition
	* projects.js: New script file with definitions of the projects
	for solution
	* summary.js (saveSummaryHeaderMulti): Modified according to the new
	directory structure
	(saveBuildSummaryMulti): Modified according to the new directory
	structure, added checking of source folder presence
	(saveBuildSummariesFromFolder): Added checking of folder presence
	* utilities.js: Removed functions: convertSolutionImpl,
	setCompilerEnvironment, compile, compileFiles, link, linkFiles,
	preprocess, preprocessFile, buildLibrary, makeLibrary
	(createUUID): Get new UUID using the "scriptlet.typelib" COM object
	instead of executing uuidgen utility
	(getCompilerOpts): New function for parsing the configuration file
	of the specified compiler
	(getExtension): New function for obtain extension of filename
	(changeFileExt): New function for get new filename with specified
	extension
	(arrayIndexOf): New function for obtain index of item in array
	(generateSolution): New function for create the solution file
	* configure.wsf (checkHeaders): Removed checking of the wctomb,
	wcstombs functions in wchar.h header. Added missing break keyword.
	(joinArray): New function to get string from array of strings
	(preprocessFile): New function to preprocess the specified file
	(compileFiles): New function to compile the specified files
	(linkFiles): New function to link targets in specified executable
	(makeLibrary): New function to build C++ library file
	(logLine): New function to append the line to log file
	* generate.wsf: Removed function generateUpdateBatch
	(generate): Modified to use the new objects for generate project files
	(LogMessage): New function to print message to the stdout and logfile
	(generateUpdateBatch): Modified to create separate build batch for
	each compiler configuration instead of common build.bat
	(createBuildDirs): Modified according to the new directory structure
	(readAndCheckArguments): Added checking of the new script parameters:
	/LOCALES and /LOCALETESTS
	* makelog.wsf: Modified according to the new directory structure
	* runall.wsf: Removed functions: inspectProcesses
	(runexamples): Get type of buildlog file from compiler
	configuration file
	(readAndCheckArguments): Added new option COPYRWTESTDLL
	(runAllExamples): Modified according to the new directory
	structure; added code for copying and deleting the rwtest.dll
	if COPYRWTESTDLL option is specified
	(runNoChecks): Used exec utility to run example instead of
	WshShell::Exec method
	(runWithChecks): Used exec utility to run example instead of
	WshShell::Exec method
	(parseStatus): New function to obtain the exit code of the example
	* run_locale_utils.wsf: New script file which implements
	functionality of the run_locale_utils.sh script

2006-10-05  Martin Sebor  <sebor@roguewave.com>

	* _config.h: Updated license.

2006-10-05  Andrew Black  <ablack@roguewave.com>

	* target.h: Update header comment.
	(target_status): Add wall field for wall clock timing.
	* exec.cpp [!_WIN32 && !_WIN64 && _XOPEN_UNIX] (sys/time.h): Included
	for gettimeofday.
	exec_file [!_WIN32 && !_WIN64 && _XOPEN_UNIX]: Set result->wall.
	exec_file [_WIN32 || _WIN64]: Ditto.
	* display.cpp (print_header_plain): Add column for wall clock time.
	(print_status_plain): Print result->wall, if set.

2006-10-05  Martin Sebor  <sebor@roguewave.com>

	* time_put.cpp (__rw_get_time_put_data): Added braces around
	the initializer of a local array to silence a gcc warning.

2006-10-04  Martin Sebor  <sebor@roguewave.com>

	STDCXX-294
	* vector.cc (_C_insert_n): Corrected logic error.

2006-10-04 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* exception.cpp [_MSC_VER]: #undefined _RWSTD_NO_VSNPRINTF after
	#define vsnprintf _vsnprintf

2006-10-04 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* output.cpp (check_example): swapped size and count parameters of fread() call

2006-10-04 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* THREAD_SAFE_EXCEPTIONS.cpp [_WIN32]: disable displaying
	general protection fault message box

2006-10-03  Martin Sebor  <sebor@roguewave.com>

	* limits (_RWSTD_FLT_HAS_DENORM, _RWSTD_DBL_HAS_DENORM,
	_RWSTD_LDBL_HAS_DENORM): Defined macros to false when
	not #defined at configuration time.

2006-10-03 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* time_get.cpp: File renamed ...
	* time_get.out: ... to this.

2006-10-03 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* _defs.h: _RWBUILD_std replaced to _RWSTD_LIB_SRC

2006-10-03 Farid Zaripov <faridz@kyiv.vdiweb.com>

	Set svn:eol-style property.

2006-10-03 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* sstream.cc (basic_stringbuf<>::str): Added check before
	deallocate the old buffer

2006-10-03 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* _specialized.h: Restored HP copyright notice
	* vector: Ditto
	* set: Ditto
	* map: Ditto
	* list: Ditto
	* deque: Ditto

2006-10-02 Andrew Black <ablack@roguewave.com>

	* cmdopt.cpp: Convert C++ comments to C comments.
	(rw_signal) [!_WIN32 & !_WIN64]: Ditto.
	(parse_limit_opts): Ditto, fix style violation.
	(show_usage): Make static (move from global to file scope).
	(eval_options, split_opt_string): Move documentation from here ...
	* cmdopt.h (eval_options, split_opt_string): ... To here.
	Convert C++ comments to C comments.
	* display.cpp (print_header_plain, print_target_plain,
	print_status_plain, print_footer_plain): Make static, document.
	* display.h: Convert C++ comments to C comments.
	* exec.cpp: Ditto.
	(limit_process) [!_WIN32 & !_WIN64]: Ditto.
	(get_signo): Fix style violation.
	(wait_for_child, exec_file) [!_WIN32 & !_WIN64]: Ditto.
	(wait_for_child) [!_WIN32 & !_WIN64]: Correct embedded comment.
	(get_signo, get_signame, exec_file): Move documentation from here ...
	* exec.h (get_signo, get_signame, exec_file): ... To here.
	Convert C++ comments to C comments.
	* output.cpp (parse_output): Move documentation from here ...
	* output.h (parse_output): ... To here.
	Convert C++ comments to C comments.
	* runall.cpp: Ditto
	* target.h: Ditto, correct file header documentation.
	* util.cpp (guarded_realloc): Fix style violation.
	(terminate, guarded_malloc, guarded_realloc): Move documentation
	from here ...
	* util.h (terminate, guarded_malloc, guarded_realloc): ... To here.
	(terminate): Fix style violation in declaration.
	Convert C++ comments to C comments.

2006-10-02 Farid Zaripov <faridz@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  <sebor@roguewave.com>

	STDCXX-4
	* 17.names.cpp: New test exercising the absence of namespace pollution.

2006-09-29  Martin Sebor  <sebor@roguewave.com>

	* run_locale_utils.sh (signal_cleanup): Renamed...
	(cleanup): ...to this and set up as a handler for SIGHUP,
	SIGINT, SIGQUIT, and SIGTERM.

2006-09-29 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* _num_put.cc: Updated the licensing header
	* _select.h: The same
	* file.cpp: The same

2006-09-29 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* _num_put.cc (__rw_iter_failed): Removed const to resolve
	ambiguity on MSVC 7.0
	* _select.h [_RWSTD_NO_CLASS_PARTIAL_SPEC]: Added __rw_is_same
	for compilers which not support the partial template specialization
	* file.cpp: Declare fileno() only if it not declared in CRT header,
	but present in libc
	* NEW_THROWS.cpp: Returned 1 if operator new doesn't throws

2006-09-28  Martin Sebor  <sebor@roguewave.com>

	* exec.cpp (wait_for_child): Added SIGQUIT to the array of signals
	to send to child.

2006-09-28  Andrew Black  <ablack@roguewave.com>

	* target.h: Add new header.
	(target_opts): Define.
	(rw_rlimit, ProcessStatus, target_status): Move from display.h.
	(rw_timeval, RLIM_INFINITY, RLIM_SAVED_CUR, RLIM_SAVED_MAX): Move from
	cmdopt.h.
	* cmdopt.h (rw_timeval, RLIM_INFINITY, RLIM_SAVED_CUR, RLIM_SAVED_MAX):
	Move to target.h.
	(timeout, compat, verbose, exe_opts, in_root, child_limits): Remove
	global declarations.
	(target_name): Move from global scope to runall.cpp local scope.
	(eval_options): Alter declaration to take storage structure, handle.
	(get_target): Declare, document accessor function defined in runall.cpp.
	* cmdopt.cpp (timeout, compat, verbose, exe_opts, in_root, target_name,
	child_limits): Remove global definitions.
	(usage_text): Remove -q and -v switch descriptions (they were unused).
	(parse_limit_opts): Alter definition to take storage structure, use
	storage structure.
	(eval_options): Alter definition to take storage structure, handle,
	update documentation, store parsed values in provided structure/handle,
	remove -q, -v switches.
	* display.h (rw_rlimit, ProcessStatus, target_status): Move to target.h.
	(short_st_name): Make immutable.
	(print_target): Alter declaration to take target_opts rather than
	target_status.
	* display.cpp (print_target_plain): Alter definition to match
	print_target.
	(print_status_plain): Alter usage to match changes to target_status
	structure.
	(short_st_name): Make immutable.
	(print_target): Alter definition to match declaration.
	* exec.h (exec_attrs): Remove.
	(target.h): Include.
	(exec_file): Alter declaration to accept target_opts in addition to
	target_status.
	* exec.cpp (target.h): Include instead of display.h.
	(open_input): Alter definition to take data_dir, update documentation.
	[!_WIN32 && !_WIN64] (alarm_timeout): Clean documentation slightly.
	[!_WIN32 && !_WIN64] (wait_for_child): Alter definition to take timeout,
	target_status, store results directly in struct.
	[!_WIN32 && !_WIN64] (LIMIT, limit_process): Alter definition to take
	target_opts, update documentation, check for valid pointer to limit
	structure rather than invalid values.
	[!_WIN32 && !_WIN64 && _XOPEN_UNIX] (calculate_usage): Store calculated
	times in static local vartiables, and store references to these
	variables in target_status struct.
	[!_WIN32 && !_WIN64] (exec_file): Alter to match prototype, altered
	function usage to match definitions.
	[_WIN32 || _WIN64] (kill_child_process): New helper function to simplify
	child process kill code.
	[_WIN32 || _WIN64] (exec_file): Alter to match prototype, altered
	functions to match definitions, use new helper function, some cleaning,
	process execution results.
	* output.h (parse_output): Alter declaration to take target_opts in
	addition to target_status.
	* output.cpp (check_test): Retrieve target_name via get_target.
	(check_example): Alter definition to take data_dir, update
	documentation.
	(parse_output): Alter definition to match prototype, use target_opts
	in place of removed globals.
	* runall.cpp (target.h): Included.
	(check_target_ok): Alter definition to take target (char*) in addition
	to target_status, retrieve target_name via get_target.
	(process_results): Remove, functionality rolled into exec_file.
	(target_name): moved to file local scope from global scope.
	(get_target): Declare accessor function for target_name, defined in
	cmdopt.h.
	(run_target): Alter definition to take target_opts structure rather
	than argv array.
	(main): Create local target_opts structure to fill in eval_opts and
	use in target_template, free any rlimit structures allocated in
	parse_limit_opts.
	* util.h (reference_name): Alter declaration to take data_dir, update
	documentation.
	* util.cpp (warn, terminate): Retrieve target_name via get_target.
	(reference_name): Retrieve target_name via get_target, use data_dir
	rather than (removed) in_root global.

2006-09-28 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* deque: Added #ifndef _RWSTD_NO_PART_SPEC_OVERLOAD/#endif around the
	function std::swap<T, A> (std::deque<T, A>&, std::deque<T, A>&);
	[_RWSTD_NO_PART_SPEC_OVERLOAD]: Added function std::swap
	(std::deque&, std::deque&)
	* list [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added function
	std::swap (std::list&, std::list&)
	* map [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added functions
	std::swap (std::map&, std::map&) and
	std::swap (std::multimap&, std::multimap&)
	* set [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added functions
	std::swap (std::set&, std::set&) and
	std::swap (std::multiset&, std::multiset&)
	* string [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added function
	std::swap (std::string&, std::string&)
	* vector [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added functions
	std::swap (std::vector&, std::vector&) and
	std::swap (std::vector<bool>&, std::vector<bool>&)

2006-09-27  Martin Sebor  <sebor@roguewave.com>

	* charmap.cpp (convert_sym_to_ucs): Parenthesized a call
	to isxdigit to prevent macro expansion.
	(process_ellipsis): Corrected a loop control expression.

2006-09-25  Martin Sebor  <sebor@roguewave.com>

	* exec.cpp (wait_for_child): Worked around HP aCC bug (STDCXX-291)
	even harder (and more correctly).

2006-09-25  Martin Sebor  <sebor@roguewave.com>

	* exec.cpp (wait_for_child): Used memcpy to assign function
	pointers as a workaround for HP aCC 6 bug (STDCXX-291).

2006-09-25  Martin Sebor  <sebor@roguewave.com>

	* cmdopt.cpp (rw_signal): Worked around an HP aCC 6 bug (see
	STDCXX-291).
	(eval_options): Changed the type of a local to avoid HP aCC
	sign extension warnings.

2006-09-25  Martin Sebor  <sebor@roguewave.com>

	* cwchar (wcschr): Added a missing parenthesis.

2006-09-25  Martin Sebor  <sebor@roguewave.com>

	* BAD_ALLOC_ASSIGNMENT.cpp (Base1, Derived): Silenced gcc -Wunused
	warnings.

2006-09-25  Martin Sebor  <sebor@roguewave.com>

	* wthread.h: Allowed to be #included regardless of the platform
	and renamed...
	* thread.h: ...to this.
	* THREAD_SAFE_ERRNO (thread.h): Included instead of wthread.h.
	* THREAD_SAFE_EXCEPTIONS.cpp (thread.h): Same.

2006-09-25  Martin Sebor  <sebor@roguewave.com>

	* INFINITY.cpp (main): Made output correct even when the macro
	_RWSTD_USE_CONFIG is not #defined.

2006-09-25  Martin Sebor  <sebor@roguewave.com>

	* TLS.cpp (_RWSTD_THREAD_STR): Removed unused macro.
	(PRINT_MACRO): Corrected ill-formed preprocessor concatenation.

2006-09-25  Martin Sebor  <sebor@roguewave.com>

	* scanner.cpp (convert_escape): Cast away constness to work around
	an MSVC 7.0 bug causing error C2446: '==' : no conversion from
	'char ** ' to 'const char ** ' Conversion loses qualifier.

2006-09-25 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* BAD_ALLOC_COPY_CTOR.cpp: Added dependency on RUNTIME_IN_STD.cpp
	* BAD_ALLOC_DEFAULT_CTOR.cpp: Ditto
	* BAD_ALLOC_DTOR.cpp: Ditto
	* BAD_ALLOC_WHAT.cpp: Ditto
	* BAD_CAST_ASSIGNMENT.cpp: Ditto
	* BAD_CAST_COPY_CTOR.cpp: Ditto
	* BAD_CAST_DEFAULT_CTOR.cpp: Ditto
	* BAD_CAST_DTOR.cpp: Ditto
	* BAD_CAST_WHAT.cpp: Ditto
	* BAD_EXCEPTION_ASSIGNMENT.cpp: Ditto
	* BAD_EXCEPTION_COPY_CTOR.cpp: Ditto
	* BAD_EXCEPTION_DEFAULT_CTOR.cpp: Ditto
	* BAD_EXCEPTION_DTOR.cpp: Ditto
	* BAD_EXCEPTION_WHAT.cpp: Ditto
	* BAD_TYPEID_ASSIGNMENT.cpp: Ditto
	* BAD_TYPEID_COPY_CTOR.cpp: Ditto
	* BAD_TYPEID_DEFAULT_CTOR.cpp: Ditto
	* BAD_TYPEID_DTOR.cpp: Ditto
	* BAD_TYPEID_WHAT.cpp: Ditto
	* EXCEPTION_ASSIGNMENT.cpp: Ditto
	* EXCEPTION_COPY_CTOR.cpp: Ditto
	* EXCEPTION_DEFAULT_CTOR.cpp: Ditto
	* EXCEPTION_DTOR.cpp: Ditto
	* EXCEPTION_WHAT.cpp: Ditto
	* libc_decl.sh: Removed checking of the wctomb and wcstombs in wchar.h header
	* wthread.h: New file with definitions of Win32 POSIX compatibility layer functions
	* THREAD_SAFE_ERRNO.cpp [_WIN32]: Ported to Windows platform
	* THREAD_SAFE_EXCEPTIONS.cpp [_WIN32]: Ported to Windows platform
	* TLS.cpp: Added print out the #definition of the _RWSTD_THREAD macro
	[_MSC_VER]: Used modifier __declspec (thread) instead of __thread

2006-09-24  Andrew Black  <ablack@roguewave.com>

	* exec.cpp [!_WIN32 && !WIN64] (wait_for_child): Evaluate return value
	when sending signals to child process group, correct off-by-one issue
	when checking for end of signal array, Try to kill off any grandchildren
	left in the child process group after the child process terminates.

2006-09-22  Andrew Black  <ablack@roguewave.com>

	* cmdopt.cpp (parse_limit_opts): Restrict sub-option values to
	non-negative integers.
	(eval_options): Ditto for -t, --exit, and --sleep. Fix off-by
	one error in logic for --ignore and --ulimit, leading to incorrect
	parsing.

2006-09-22  Martin Sebor  <sebor@roguewave.com>

	* def.cpp (strip_pair): Eliminated HP aCC Warning (suggestion) 887:
	Type 'int' is smaller than type 'unsigned long', unwanted widening
	in value may result.

2006-09-22  Martin Sebor  <sebor@roguewave.com>

	* codecvt.cpp (write_codecvt): Corrected delete expressions.

2006-09-22 Farid Zaripov <faridz@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  Martin Sebor  <sebor@roguewave.com>

	* aliases.cpp (get_installed_locales): Redirected locale's stderr
	to /dev/null to prevent it from cluttering our own. Eliminated
	the handling of invalid category values.
	* charmap.h (<list>): Included.
	(portable_charset): Declared.
	(get_n_cmap, get_rn_cmap, get_w_cmap, get_rw_cmap): Documented.
	(get_n_cmap2, get_rn_cmap2, get_strval_map, increment_val): Renamed...
	(get_mb_cmap, get_rmb_cmap, get_symnames_list, increment_wchar): ...to
	this.
	(get_strval_map): Replaced...
	(get_symnames_list): ...with this.
	(process_ellipsis): Changed to return the number of characters denoted
	by the ellipsis instead of void.
	(increment_strval): Renamed...
	(increment_encoding): ...to this for clarity and changed it to return
	true on success and false otherwise.
	(verify_portable_charset): Made const.
	(parse_ext_strval): Renamed...
	(encoding_to_mbchar): ...to this for clarity.
	(add_to_cmaps): Added a bool argument.
	(n_cmap2_, rn_cmap2_): Renamed...
	(mb_cmap_, rmb_cmap_): ...to this for clarity.
	(valid_mb_set_, valid_wchar_set_, strval_map_): Removed unused members.
	(symnames_list_): Added new member.
	* def.h (process_abs_ellipsis): New.
	(process_sym_ellipsis): Returned the number of characters denoted by
	the ellipsis instead of void.
	(hex_increment, dec_increment): Removed (defined as static non-members
	in collate.cpp).
	(process_mask): Added an argument denoting the human readable name
	of the mask for progress diagnostics.
	(process_transliteration, process_transliteration_statement,
	generate_xliteration_data): Renamed...
	(process_xlit, process_xlit_statement, gen_xlit_data): ...to this for
	brevity.
	(extract_string_array): New.
	(ctype_offset_tab_t): Renamed...
	(codecvt_offset_tab_t): ...to this.
	(wchar_off_map_, mb_char_offs_, wchar_offs_, wchar_utf8_to_ext_,
	utf8_offs_, valid_codecvt_utf8_set_, utf8_map_, next_codecvt_tab_num_,
	next_wchar_codecvt_tab_num_, next_utf8_codecvt_tab_num_, codecvt_out_):
	Removed data members.
	(mb_char_offs_iter, wchar_offs_iter, utf8_offs_iter, utf8_map_iter,
	(gen_valid_codecvt_wchar_set, gen_valid_codecvt_utf8_set, gen_utf8_map,
	generate_wchar_codecvt_table, generate_utf8_codecvt_table):
	Replaced member functions...
	(gen_mbchar_tables, gen_wchar_tables, gen_utf8_tables): ...with these.
	* diagnostic.h (E_NOTSUP, W_NOTSUP, W_CHARMAP, I_SKIP): Added.
	(W_COLVAL): Removed.
	* scanner.h (token_id): Arranged enumerators by LC_XXX section and
	documented. Added enumerators for LC_ADDRESS and other sections defined
	by ISO/IEC TR 14652.
	(tok_ellipsis, tok_dellipsis, tok_qellipsis, tok_doub_inc_ellipsis):
	Renamed...
	(tok_abs_ellipsis, tok_hex_ellipsis, tok_dec_ellipsis,
	tok_dbl_ellipsis): ...to this for better correspondence to ISO/IEC
	TR 14652 names.
	(tok_eof, tok_cont_line): Removed unused names.
	(tok_octal_value, tok_decimal_value, tok_hex_value): Replaced...
	(tok_char_value): ...with this for simplicity.
	* charmap.cpp (convert_escape): Removed dead code.
	(portable_charset): Defined.
	(convert_to_wc): Simplified, added comments.
	(increment_val): Renamed...
	(increment_wchar): ...to this, renamed locals for clarity, and replaced
	hardcoded 0xff with UCHAR_MAX (is this really correct when char is more
	that 8 bits wide?).
	(increment_strval): Renamed...
	(increment_encoding): ...to this, removed local statics, and optimized.
	The function is unused since it is not possible to increment a multibyte
	character so that its last byte overflows (i.e., wraps around to 0). It
	should/will be removed in a future commit.
	(parse_ext_strval): Renamed...
	(encoding_to_mbchar): ...to this and renamed locals.
	(convert_sym_to_ucs): Tightened up the checking of symbolic character
	names for validity (expect a hex digit after the leading "<U" prefix).
	Used strtoul instead strtol for simplicity.
	(convert_to_ucs): Adjusted formatting.
	(add_to_cmaps): Added an argument indicating whether the encoding
	is multibyte or whether it should be converted to it. Optimized and
	added inline comments.
	(process_ellipsis): Renamed locals, added inline comments and adjusted
	formatting for clarity. Corrected sprintf format. Avoided calling
	increment_strval and instead incremented the last byte of a multibyte
	character, detecting and diagnosing overflow, for efficiency.
	(process_chars): Added a progress message at the beginning of the
	function. Counted the number of tokens, ellipses, and characters
	processed. Added inline comments. Simplified the handling of numeric
	character values (tok_char_value). Used tok_abs_ellipsis,
	tok_hex_ellipsis, and tok_dec_ellipsis.  Added a progress message
	at the end of the function indicating the number of of tokens, ellipses,
	and characters processed.
	* codecvt.cpp (gen_valid_codecvt_mb_set, gen_valid_codecvt_wchar_set,
	gen_valid_codecvt_utf8_set, generate_codecvt_table, gen_utf8_map,
	generate_wchar_codecvt_table, -generate_utf8_codecvt_table): Replaced...
	(gen_mbchar_tables, gen_wchar_tables, gen_utf8_tables): ...with these
	functions and simplified by replacing member variables with function
	arguments wherever possible.
	(create_wchar_utf8_table): Moved to collate.cpp where the function
	is actually used.	
	(generate_xliteration_data): Renamed...
	(gen_xlit_data): ...to this.
	(write_codecvt): Called gen_mbchar_tables, gen_wchar_tables, and
	gen_utf8_tables for better locality of reference and documented.
	* collate.cpp (lc_name): New.
	(create_wchar_utf8_table): Moved from codecvt.cpp.
	(dec_increment, hex_increment): Made static non-members.
	(process_weights, add_missing_values, process_collate, write_collate):
	Used preincrement instead of postincrement with iterators for better
	efficiency.
	* ctype.cpp (lc_name): New.
	(convert_literal_to_ucs4): Handled tok_char_value instead of
	tok_octal_value, tok_decimal_value, and tok_hex_value.
	(process_abs_ellipsis): New function.
	(process_sym_ellipsis): Simplified.
	(process_mask): Added an argument, displayed progress message, and
	simplified.
	(process_upper_lower): Displayed progress message, and simplified.
	(process_transliteration, process_transliteration_statement): Renamed...
	(process_xlit, process_xlit_statement): ...to this.
	(process_ctype): Added a progress diagnostic.
	* def.cpp (convert_to_ext): Used rmb_cmap_iter.
	(process_input): Removed progress diagnostics.
	(verify_portable_charset): Used portable_charset.
	* diagnostic.cpp (issue_diag): Used fputs instead of fprintf where
	appropriate and simplified.
	* messages.cpp (lc_name): New.
	(process_messages): Used lc_name, issued an informative diagnostic,
	and simplified ever so slightly.
	* monetary.cpp (lc_name): New.
	(process_monetary): Used lc_name. Issued an informative diagnostic.
	* numeric.cpp (lc_name): New.
	(process_numeric): Used lc_name, issued an informative diagnostic,
	and simplified ever so slightly.
	* time.cpp (lc_name): New.
	(parse_era): Handled empty era strings and constified locals.
	(extract_string_array): Defined new member function of class Def.
	(process_time): Used lc_name, issued an informative diagnostic,
	called extract_string_array.
	(write_time): Issued an informative diagnostic and simplified ever
	so slightly.
	* scanner.cpp (ScannerContext): Declared copy ctor and assignment
	operator private and removed definitions.
	(process_token): Simplified the handling of numeric character values,
	removed unnecessary qualification from the definition of tok_map array
	elements.
	(next_token): Used the new names tok_abs_ellipsis, tok_hex_ellipsis,
	tok_dec_ellipsis, and tok_dbl_ellipsis, eliminated a C-style const
	cast to avoid a gcc warning.
	* localedef.cpp (--notes): Documented option.
	* locale.cpp: Declared all definitions static, renamed many locals for
	clarity and/or brevity.
	(collate_charmap, ctype_charmap, time_charmap, num_charmap, mon_charmap,
	messages_charmap, current_locales, is_env_set): Removed globals (moved
	into get_charmap()).
	(sect_charmap, sect_lc_all, sect_lc_collate, sect_lc_ctype, ect_lc_time,
	sect_lc_messages, sect_lc_monetary, sect_lc_numeric): Defined new global
	constants.
	(UChar): New convenience typedef.
	(validate): Tweaked text of error message.
	(initialize_struct): Renamed...
	(init_struct): ...to this for brevity, removed redundant arguments
	and added their static local equivalents.
	(initialize): Renamed...
	(init_section): ...to this and removed redundant arguments.
	(initialize_structs): Renamed...
	(init_sections): ...to this. Called init_section with fewer arguments.
	(get_charmap): Added static locals for better encapsulation and locality
	of reference.
	(escape_value): New function to handling the formatting of characters
	and weights using escape sequences.
	(create_str): Simolified.
	(print_section, print_keyword): New helper functions.
	(print_weight): Simplified.
	(write_coll_info): Renamed locals.
	(print_ce_info): Added comments, adjusted code formatting.
	(print_lc_collate, print_lc_ctype, print_lc_messages, print_lc_numeric,
	print_lc_time, print_lc_all): Printed comments on stdout with additional
	detail about each section. Simplified.
	(print_int): New helper to handle the printing of numeric values.
	(print_time_keyword): New helper to handle the printing of LC_TIME
	keywords.
	(print_mask, print_toupper, print_tolower): Simplified, added inline
	comments, adjusted formatting.
	(print_frac_digits, ...): Called print_int or print_time_keyword
	as appropriate for simplicity and to avoid code duplication.
	(print_help_msg): Renamed...
	(print_help): ...to this.
	(initialize_env_vars): Removed (done in get_charmap).
	(print_locale_name): Removed.
	(print_charmap): Collected character statistics.
	(print_charmap): Added a default argument, computed additional stats.
	(print_lc_var): New function to handle the formatting of localization
	environment variables according to POSIX rules.
	(handlers): New array of command line argument handlers.
	(main): Used handlers. Added -p to force locale to use symbolic
	character names from the Portable Character Set whenever possible.

2006-09-21 Farid Zaripov <faridz@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-20  Martin Sebor  <sebor@roguewave.com>

	* run_locale_utils.sh (output, debug_output): New functions to handle
	script output.
	(check_locale_help, check_locale_all, check_locale_m, check_locale_k,
	check_localedef_help, generate_locale, dump_locale, test_locale,
	signal_cleanup, main body of script): Used output, debug_output.
	(dump_locale): Set the LC_ALL environment variable for the invoked
	process only (instead of the entire script). Incremented the number
	of assertions. On error exited script with the same non-zero exit
	status as the locale utility.
	(dump_charmap): New function to dump the charmap of a locale.
	(test_locale): Called dump_charmap to produce the charmap source
	from the locale database at each of the three stages. Used this
	charmap source to create a locale in each subsequent stage. Placed
	the files created at each stage in separate directories named stage.1
	through stage.3. Avoided setting the LANG and LC_ALL environment
	variables for the whole script to prevent their values from screwing
	up the output of system utilities that don't understand them. Avoided
	deleting stage directories when the -n option is set.

2006-09-18  Martin Sebor  <sebor@roguewave.com>

	* NOTICE.txt: Added a required file with names of copyright holders.

2006-09-15 Andrew Black <ablack@roguewave.com>

	* display.h (unistd.h) [!_WIN32 && !_WIN64]: Include.
	(sys/time.h) [_XOPEN_UNIX]: Include.
	(rw_time_t, rw_suseconds_t, struct rw_timeval) [!_XOPEN_UNIX]: Define
	placeholder structures.
	(rw_timeval): Define abstraction typedef.
	(struct target_status): Add run, user, sys elements.
	* display.cpp (unistd.h) [!_WIN32 && !_WIN64]: Include.
	print_header_plain: Alter cols for process times.
	print_target_plain: Partition output column printing by section, add
	timing output.
	* exec.h (exec_file): Alter signature to accept target_status rather
	than char**.
	* exec.cpp (display.h): Include.
	(calculate_usage) [!_WIN32 && !_WIN64]: Define function to populate
	user and sys fields of provided target_status struct (if _XOPEN_UNIX
	is defined).
	(exec_file): Alter to accept target_status rather than char**, use
	argv element in place of old char** argument.
	(exec_file) [!_WIN32 && !_WIN64]: call calculate_usage after
	wait_for_child.
	* runall.cpp (run_target): Pass target_status struct rather than argv
	element.

2006-09-15  Farid Zaripov  <farid@kyiv.vdiweb.com>

	* output.cpp (check_example): Switched size and count parameters of fread() call to get fread() result in bytes (needed for memcmp)

2006-09-14  Andrew Black  <ablack@roguewave.com>

	* cmdopt.cpp (RLIM_INFINITY, RLIM_SAVED_CUR, RLIM_SAVED_MAX): Move
	fallback definitions to...
	* cmdopt.h (RLIM_INFINITY, RLIM_SAVED_CUR, RLIM_SAVED_MAX): ... Here.
	* exec.cpp (limit_process) [!_WIN32 && !_WIN64 && _XOPEN_UNIX]: Check
	limits prior to setting.

2006-09-14  Martin Sebor  <sebor@roguewave.com>

	* aliases.cpp (get_installed_locales): Redirected locale stderr
	to /dev/null to prevent warning/error messages from cluttering
	our output.

2006-09-13  Andrew Black  <ablack@roguewave.com>

	* cmdopt.h (unistd.h) [!_WIN32 && !_WIN64]: Include.
	(sys/resource.h) [_XOPEN_UNIX]: Include.
	(rw_rlim_t, struct rw_rlimit) [!_XOPEN_UNIX]: Define placeholder
	type/struct for rlim_t and struct rlimit respectively.
	(rw_rlimit, limit_set): Define.
	(child_limits): Declare.
	* cmdopt.cpp (sys/resource.h) [!_WIN32 && !_WIN64 && _XOPEN_UNIX]:
	Include.
	(RLIM_INFINITY, RLIM_SAVED_CUR, RLIM_SAVED_MAX): Define if not defined.
	(child_limits): Define/initialize.
	(usage_text): Document --ulimit switch.
	(parse_limit_opts): Define helper function for parsing --rlimit option
	borrowed in part from _rw_setopt_ulimit in tests/src/driver.cpp.
	(eval_options): Define opt_ulimit character string, use with
	parse_limit_opts to handle --ulimit command line switch.
	* exec.cpp (sys/resource.h) [!_WIN32 && !_WIN64 && _XOPEN_UNIX]:
	Include.
	(LIMIT) [!_WIN32 && !_WIN64 && _XOPEN_UNIX]: Define helper macro for...
	(limit_process) [!_WIN32 && !_WIN64 && _XOPEN_UNIX]: ... New helper
	function to set resource limits, based on the values in child_limits
	borrowed in part from _rw_setopt_ulimit in tests/src/driver.cpp.
	(exec_file) [!_WIN32 && !_WIN64 && _XOPEN_UNIX]: Call above prior to
	execv.

2006-09-13  Andrew Black  <ablack@roguewave.com>

	* sunpro.config: Fix mistake in comparison.

2006-09-12  Martin Sebor  <sebor@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-12  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile (CXXFLAGS, LDFLAGS, LDSOFLAGS): Corrected a typo
	when detecting narrow mode.

2006-09-12  Martin Sebor  <sebor@roguewave.com>

	* sunpro.config (CXXFLAGS.narrow, LDFLAGS.narrow, LDSOFLAGS.narrow):
	Corrected.
	(CXXFLAGS.* LDFLAGS.*, LDSOFLAGS.*): Handled AMD64.

2006-09-10  Martin Sebor  <sebor@roguewave.com>

	* time_manip.cpp (time_get_manip. time_put_manip): Rewrote
	operator() to demonstrate necessary exception handling.

2006-09-10  Martin Sebor  <sebor@roguewave.com>

	* money_manip.cpp: Updated copyright.
	* time_manip.cpp: Same.

2006-09-06 Andrew Black <ablack@roguewave.com>

	* GNUmakefile.bin: Added display.o to link objects for exec utility.
	* display.h: New. Defined display subsystem.
	* display.cpp: New. Implemented initial display subsystem, equivalent
	to existing output.
	* output.h (parse_output): Altered signature to support display
	subsystem.
	* output.cpp: Included display.h. Updated comments.
	(check_test, check_compat_test, check_example, parse_output): Altered
	signatures to support display subsystem, replaced I/O calls with
	updates to target_status structure.
	* runall.cpp: Same as above.
	(check_target_ok, process_results): Same as above.
	(run_target): Added storage structure for display subsystem, calls
	into display subsystem.
	(main): Added calls into display subsystem.

2006-09-06 Andrew Black <ablack@roguewave.com>

	* makefile.common (DEPS): Initialized variable (used in makefile.rules)
	to prevent an infinite recursion when referencing it.

2006-09-05  Martin Sebor  <sebor@roguewave.com>

	STDCXX-184
	* charmap.cpp (Charmap): Set code_set_name_ to the same basename
	as the name of the character set description file in case it's
	not specified by the <code_set_name> declaration witin the said
	file.

2006-09-05  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.bin (RUNTARGET, LOCALE_LIST, localedb.d): Added
	a dependency on gen_list.
	Removed an explicit include statement to pull in localedb.d
	and added said file to DEPS to let makefile.rules pull it in.
	* makefile.rules (DEPS): Appended to the variable since it may
	be previously set (see above).
	(makedep): Avoided creating $(DEPENDDIR) and instead done so
	in an explicit target for it to avoid code duplication between
	GNUmakefile.bin and this file.

2006-09-01  Martin Sebor  <sebor@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-09-01  Andrew Black  <ablack@roguewave.com>

	* run_locale_utils.sh (test_locale): Corrected locale target name
	conversion patterns to avoid errors due to sed removing the trailing
	part of ANSI_X3.4-1968.
	* GNUmakefile.bin (LOCALE_LIST, DEPENDDIR/localedb.d): Simplified
	and made consistent sed patterns used to convert locale target names
	into locale and character map parameters.

2006-08-29  Andrew Black  <ablack@roguewave.com>
            Farid Zaripov  <faridz@kyiv.vdiweb.com>

	* run_locale_utils.sh (test_locale): Corrected generation
	of the locale src file name (replaced '@' with '.').

2006-08-29  Martin Sebor  <sebor@roguewave.com>

	STDCXX-277
	* locale.cpp (print_weight): Formatted weights with value greater
	than UCHAR_MAX as multibyte characters of value UCHAR_MAX or less.
	(write_coll_info): Introduced a convenience typedef and simplified.
	* collate.cpp (get_weight): Handled weights formatted as multibyte
	characters (using escape sequences).
	* scanner.h (convert_escape): Added an argument.
	* scanner.cpp (convert_escape): Handled multibyte characters.

2006-08-28  Martin Sebor  <sebor@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-28  Martin Sebor  <sebor@roguewave.com>

	STDCXX-280
	* wcodecvt.cpp (__rw_libc_do_out): Used wcrtomb instead of wcsrtombs
	in order to avoid reading past the end of the source sequence when
	it doesn't contain an embedded NUL.

2006-08-26  Martin Sebor  <sebor@roguewave.com>

	* rw_locale.h (rw_locales): Introduced default arguments.

2006-08-26  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* codecvt_out.cpp: New test execising lib.locale.codecvt.virtuals,
	member function do_out.

2006-08-25  Martin Sebor  <sebor@roguewave.com>

	STDCXX-279
	* nl_BE.euro (LC_MONETARY): Copied from fr_BE.euro instead of @euro.
	* sv_FI.euro (LC_MONETARY): Copied from fi_FI.euro instead of @euro.

2006-08-25  Farid Zaripov  <faridz@kyiv.vdiweb.com>

	* exec.cpp [_WIN32 || _WIN64] (exec_file): Set appropriate error mode
	before running the child process to disable displaying the critical
	error-handler and general-protection-fault message boxes.
	* runall.cpp [_WIN32 || _WIN64]: Included windows.h and signal.h.
	(process_results): Handle returned status STATUS_ACCESS_VIOLATION
	and print status "SEGV".

2006-08-25  Andrew Black  <ablack@roguewave.com>

	* runall.cpp (merge_argv): Update function documentation.
	(run_target): Free argv array returned by merge_argv.

2006-08-21 Farid Zaripov <faridz@kyiv.vdiweb.com>

        * exec.cpp [_WIN32 || _WIN64] (exec_file): WAIT_FAIL replaced
        with WAIT_FAILED; fixed incorrect parameter in calls CloseHandle
        and WaitForSingleObject.

2006-08-20  Martin Sebor  <sebor@roguewave.com>

	* collate.cpp ("podarray.cc"): Removed #include directive
	to prevent multiple definition errors.
	(__rw_pod_array): Moved explicit instantiation...
	* podarray.h: ...to here.

2006-08-18 Andrew Black  <ablack@roguewave.com>

	* run_locale_utils.sh (test_locale): Remove redundant calls to rm.
	(signal_cleanup): Add exit handler for cleaning up tempdir.
	(main): Set EXIT trap before calling test_locale, remove redundant
	rm call.

2006-08-18  Andrew Black  <ablack@roguewave.com>

	* exec.cpp [_WIN32 || _WIN64] (exec_file): Check return value
	from calls to CloseHandle and WaitForSingleObject.

2006-08-18  Martin Sebor  <sebor@roguewave.com>

	* messages.cpp: Constified locals and sanitized formatting.
	(_RWSTD_NO_V3_LOCALE): Removed dead macro.
	(_V3_LOCALE): Replaced with _STD.

2006-08-18  Martin Sebor  <sebor@roguewave.com>

	* collate.cpp (podarray.cc): #included in order to be able
	to explicitly instantiate __rw_pod_array.

2006-08-18 Farid Zaripov <faridz@kyiv.vdiweb.com>

	* exec.cpp [_WIN32 || _WIN64] (warn_last_error): When
	FORMAT_MESSAGE_ALLOCATE_BUFFER is used then lpBuffer must point
	to the place where pointer to the allocated buffer is stored.
	(exec_file): Added wait after sending Ctrl+Break signal. Added
	wait after TerminateProcess(). Closed handles of child process.

2006-08-18 Andrew Black <ablack@roguewave.com>

	* cmdopt.cpp [!_WIN32 && !_WIN64] (rw_sleep): Declared function
	'extern "C"' if __cplusplus is defined.

2006-08-18 Martin Sebor  <sebor@roguewave.com>

	* cmdopt.cpp: Added comments.

2006-08-17  Andrew Black  <ablack@roguewave.com>

	* exec.h [_WIN32 || _WIN64] (exec_attrs): Alter structure definition
	for windows.
	* exec.cpp [_WIN32 || _WIN64]: Use windows.h and process.h in place
	of unistd.h and sys/wait.h on windows.
	[!_WIN32 && !_WIN64] (handle_alrm, wait_for_child, open_input,
	replace_file, exec_file): Reduce scope of (existing) functions
	to non-windows platforms only.
	[_WIN32 || _WIN64] (open_input, merge_argv, warn_last_error, exec_file):
	Define implementation of named functions for windows platforms only.
	* cmdopt.cpp [_WIN32 || _WIN64]: Use windows.h in place of unistd.h
	on windows.
	(escape_code, default_path_sep, suffix_sep, exe_suffix_len): Alter
	values for windows.
	(rw_sleep, rw_signal): Define platform independent wrapper for
	sleep/Sleep and sigaction/signal.
	(eval_options): Use above.
	* runall.cpp [!_WIN32 && !_WIN64]: Don't include sys/wait.h on windows.
	(S_IXUSR, S_IXGRP, S_IXOTH): Define values if undefined (for windows).
	(check_target_ok) [_WIN32 || _WIN64]: Make object file comparison
	operating system specific.
	(process_results) [_WIN32 || _WIN64]: Make error state processing code
	operating system specific.
	(rw_basename) [_WIN32 || _WIN64]: Treat slash as an additional path
	separator on windows.

2006-08-16  Farid Zaripov  <faridz@kyiv.vdiweb.com>

	* memchk.cpp [_WIN32] (memchk): Or'ed _O_TEMPORARY with O_CREAT
	before passing the whole thing to Win32 open() and handled error
	return.

2006-08-16 Andrew Black <ablack@roguewave.com>

	* util.h (reference_name, output_name): Declaree functions to generate
	the names for reference and output files respectively.
	* util.cpp (reference_name, output_name): Defined the above.
	(guarded_malloc, guarded_realloc): Allocated memory after asserts.
	* cmdopt.h (escape_code, default_path_sep, suffix_len, suffix_sep):
	Declared (platform specific) file system related constants.
	* cmdopt.cpp (escape_code, default_path_sep, suffix_len, suffix_sep):
	Defined the above for UNIX systems.
	(split_opt_string): Moved the use of opts after assert, used escape_code
	as escape character in place of '\'.
	* exec.cpp: (get_signame): Enlarged static buffer, use sprintf in place
	of snprintf.
	(open_input): Used reference_name to determine input file name, removed
	root_len variable, move use of in_root after asserts.
	(exec_file): Altered to use output_name to determine output file name.
	* output.cpp (check_example): Used reference_name to determine reference
	file location, add assert on on_name.
	(parse_output): Used output_name to determine output file name.
	* runall.cpp (merge_argv): Used target after asserts.
	(check_target_ok): Disabled (unused) logic for output only targets.
	Altered compile check on windows systems to correctly locate .obj file.
	(rw_basename): Used default_path_sep as separator.
	(run_target): Used target, argv, childargv after asserts.

2006-08-16 Andrew Black <ablack@roguewave.com>

	* run_locale_utils.sh (generate_locale): Redirected stderr from
	localedef utility to $dbgout.
	(test_locale): Exported LC_ALL and LANG and echo'ed all export
	directives and values to debug output.

2006-08-16 Andrew Black <ablack@roguewave.com>

	* scanner.cpp (Scanner::convert_escape): Corrected order of arguments
	to an issue_diag call, added missing newline.

2006-08-14  Martin Sebor  <sebor@roguewave.com>

	* podarray.h: Moved brace closing a namespace to the correct place.

2006-08-14  Martin Sebor  <sebor@roguewave.com>

	STDCXX-276
	* podarray.h (__rw_pod_array): Moved member initialization into
	the body of the ctor in order to prevent HP aCC 3.70 ICE.

2006-08-14  Andrew Black <ablack@roguewave.com>

	* exec.cpp (wait_for_child): Corrected mistake in kill()
	call to kill child process group rather than child process.

2006-08-13  Martin Sebor  <sebor@roguewave.com>

	* numpunct.cpp (make_german_locale): New helper function.
	(main): Called it instead of using a hardcoded locale name for each
	known operating system (apparently the names that used to be valid
	on Tru64 UNIX no longer is in 5.1).

2006-08-13  Martin Sebor  <sebor@roguewave.com>

	* output.cpp (check_example): Compared only as many bytes as read
	from files to prevent false negatives.
	(fout, fref, buf, nread): Renamed locals for brevity and to avoid
	confusing Emacs syntax highlighting for "reference."

2006-08-13  Martin Sebor  <sebor@roguewave.com>

	* exception.cpp: Added/modified comments.
	* iostream.cpp: Same.
	* tmpbuf.cpp: Same.
	* facet.cpp: Same. Removed dead macro.
	* setlocale.cpp: Same.

2006-08-13  Martin Sebor  <sebor@roguewave.com>

	STDCXX-274
	* collate.cpp (__rw_pod_array): Explicitly instantiated for Compaq C++
	and other compilers that do not do so automatically when a template
	specialization is used.
	(_RWSTD_NO_V3_LOCALE, _V3_LOCALE): Removed dead macros.
	* podarray.h (__rw_pod_array): Added explicit instantiation directive.
	* ti_podarray.cpp: New file for the explicit instantiation of class
	__rw_pod_array.

2006-08-11  Martin Sebor  <sebor@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  <sebor@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  <sebor@roguewave.com>

	* GNUmakefile.ph (.DEFAULT): Avoided redirection to an undefined
	variable.

2006-08-10  Martin Sebor  <sebor@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  <sebor@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  <sebor@roguewave.com>

	* printf.h (<time.h>): #included for struct tm.

2006-08-10  Martin Sebor  <sebor@roguewave.com>

	* runall.cpp (<sys/wait.h>): Included for WIFEXITED() et al.

2006-08-09  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile (WIDE_CXXFLAGS, WIDE_LDFLAGS, WIDE_LDSOFLAGS,
	WIDE_ARFLAGS): Renamed to CXXFLAGS.wide, LDFLAGS.wide, etc.
	Handled CXXFLAGS.narrow etc. analogously.
	* acc.config: Same. Introduced CXXFLAGS.narrow, etc., to
	parallel the wide flags.
	* gcc.config: Same.
	* mipspro.config: Same.
	* sunpro.config: Same.
	* vacpp.config: Same.

2006-08-09  Martin Sebor  <sebor@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  <sebor@roguewave.com>

	STDCXX-269
	* gcc.config (WIDE_CXXFLAGS, WIDE_LDFLAGS, WIDE_LDSOFLAGS): Defined
	to -m64 on non-IA64 architectures only.

2006-08-09  Martin Sebor  <sebor@roguewave.com>

	* new.cpp (_rw_find_block): Corrected a typo in conditionally
	compiled code (Compaq C++ prior to version 6.6).

2006-08-07  Andrew Black  <ablack@roguewave.com>

	* cmdopt.cpp (eval_options): Used raise(signal) rather than
        kill(getpid (), signal).
	* runall.cpp (merge_argv): Added missing terminator to generated
	array for bare executables.
	* cmdopt.cpp, output.cpp, runall.cpp: Removed unneeded #includes.

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

	* ostream1.cpp: Renamed...
	* ostream.cpp: ...to this.
	* ostream1.out: Renamed...
	* ostream.out: ...to this.

2006-08-08  Martin Sebor  <sebor@roguewave.com>

	* ostream1.cpp: Hardcoded 64-bit output for platforms with
	no 64-bit integer type to prevent comparison failures while
	testing.

2006-08-08  Martin Sebor  <sebor@roguewave.com>

	* limits.cpp: Added output for numeric_limits<int> and changed
	format to make it more readable.
	* limits.out: Same.

2006-08-07 Andrew Black <ablack@roguewave.com>

	* output.cpp (check_example): Initialized read buffers prior
	to read to prevent incorrect results.

2006-08-07  Martin Sebor  <sebor@roguewave.com>

	* cmdopt.h (show_usage, eval_options): Removed redundant const
	qualifier from function parameter types to avoid running into
	bugs in Sun and Compaq/HP C++ compilers (see STDCXX-266 and
	STDCXX-267).
	* cmdopt.cpp (show_usage, eval_options): Made definitions
	consistent with declarations.

2006-08-05  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 23.bitset.cons.cpp: New test exercising lib.bitset.cons.

2006-08-04  Martin Sebor  <sebor@roguewave.com>

	* rw_char.h (to_char): Worked around an Intel C++ 9.1/Windows
	codegen	bug described in STDCCXX-248.

2006-08-03  Martin Sebor  <sebor@roguewave.com>

	* cmdopt.cpp (usage_text): New.
	(show_usage): Printed usage to stdout when explicitly requested
	via a command line option (such as --help) and to stderr otherwise.
	(eval_options): Added the new --help option (same as -h).

2006-08-03  Andrew Black  <ablack@roguewave.com>
	    Martin Sebor  <sebor@roguewave.com>

	* cmdopt.cpp (bad_value, missing_value): New helpers.
	(bad_option): Made pointer const, not the argument.
	(eval_options): Detected and diagnosed invalid or missing
	option arguments and failed calls to kill and sigaction.

2006-08-01 Andrew Black <ablack@roguewave.com>

	* runall.cpp (main): Widened NAME column to 25 characters, and
	renamed ASSRTS column to ASSERTS, widening to 7 characters in
	the process.
	* runall.cpp (run_target): Altered format string used to print
	target name to match above.
	* output.cpp (check_test, check_compat_test): Altered format
	string used to print assertion counts to match the above.

2006-08-02  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile (BINDIR, LIBDIR): Removed from makefile.in.
	* makefile.common (BINDIR, LIBDIR): Defined.

2006-08-02  Martin Sebor  <sebor@roguewave.com>

	* cmdopt.h (eval_options, split_opt_string): Removed spurious const.
	* exec.cpp: Inserted a missing newline to reduce line length to less
	than 80 characters.
	* exec.h (get_signo): Removed a redundant const qualifier from the
	function's return type.

2006-08-01 Andrew Black <ablack@roguewave.com>

	* exec.h (get_signo): Declared.
	* exec.cpp (get_signo): Defined.
	* exec.cpp (signal_names): Moved lookup table out of get_signame
        to file scope.
	* cmdopt.h (verbose): Declared global.
	* cmdopt.cpp (verbose): Defined global.
	* cmdopt.cpp (get_short_val, get_long_val, bad_option): Added
        helper functions for option parsing.
	* cmdopt.cpp (eval_options): Used new functions, add -v, -q,
        --exit, --sleep, --signal, --ignore switches.

2006-07-31 Andrew Black <ablack@roguewave.com>

	* util.h (RW_REALLOC, guarded_realloc): Define helper macro and
	wrapper function for realloc.
	* util.cpp (guarded_realloc): Implementation.
	* cmdopt.h (split_child_opts): rename to split_opt_string, alter
        signature.
	* cmdopt.cpp (split_child_opts): ditto, alter behavior removing
        'empty' 0 element from generated array.
	* runall.cpp (merge_argv): Define static function to merge a target
        with an argument array.
	* runall.cpp (run_target): Alter to use above.
	* runall.cpp (main): alter use of split_child_opts/split_opt_string
        to reflect changes in cmdopt.cpp/h.

2006-08-01 Andrew Black <ablack@roguewave.com>

	* util.cpp (warn, terminate): Handle case of null target_name.

2006-08-01  Martin Sebor  <sebor@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  <sebor@roguewave.com>

	* exec.cpp (__PURE_CNAME): Defined prior to #including any system
	headers in order to prevent Compaq/HP C++ from using its "pure"
	libc headers and to get it to define POSIX symbols such as SIGABRT
	or SIGKILL.

2006-07-31  Martin Sebor  <sebor@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  <sebor@roguewave.com>

	STDCXX-264
	* LIMITS.cpp (compute_min): Renamed from foo.
	(greater): Removed.
	(compute_limits): Used the volatile globals zero, one, and two
	instead the locals to (try to) foil aggressive optimizers and
	avoid undefined behavior due to signed overflow. Used said
	globals instead of integer constants consistently in all
	arithmetic expressions.

2006-07-31  Martin Sebor  <sebor@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  <sebor@roguewave.com>

	* exception.cpp: Replaced Windows \r\n sequences with \n alone.

2006-07-28  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 20.pairs.cpp: New test exercising lib.pairs.

2006-07-28  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 20.function.objects.cpp: New test exercising lib.function.objects.

2006-07-28 Andrew Black <ablack@roguewave.com>

	* cmdopt.h (target_name): Declared global variable indicating current
	target.
	* cmdopt.cpp (eval_options): Routed unknown option message to stderr
	rather than stdout.
	* cmdopt.cpp (split_child_opts): Cached output of a strlen() call.
	* util.h (warn): Declared.
	* util.cpp (warn): Added utility function for generating a (non-fatal)
	error message.
	* util.cpp (terminate): Added executable and target name to output.
	* output.h (parse_output): Altered prototype.
	* exec.h (exec_file): Ditto.
	* output.cpp (FILE_TEST, check_example): Altered check_example to
	remove reliance on the diff utility, remove FILE_TEST as unneeded.
	* output.cpp (check_test, check_compat_test, parse_output): Moved
	opening of output file to parse_output.
	* exec.cpp (wait_for_child, exec_file): Used warn() utility.
	* runall.cpp (check_target_ok): Ditto.
	* runall.cpp (process_results): Altered signature, alter call to
	parse_output.
	* runall.cpp (run_target): Set/used target_name global, alter calls
	to exec_file and process_results.

2006-07-28  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 20.temp.buffer.cpp: New test execising lib.temporary.buffer.

2006-07-27  Martin Sebor  <sebor@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  <faridz@kyiv.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* rw_process.h: New. Declared test suite process helpers.
	* process.cpp: New. Defined the above.

2006-07-27  Martin Sebor  <sebor@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 <faridz@kyiv.vdiweb.com>
            Martin Sebor  <sebor@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 Andrew Black <ablack@roguewave.com>

	* cmdopt.cpp: Formatting cleanup.
	* exec.cpp: Same.
	* output.cpp: Same.
	* runall.cpp: Same.
	* util.cpp: Same.

2006-07-25  Martin Sebor  <sebor@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 <antonp@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-23 Andrew Black <ablack@roguewave.com>
	   Martin Sebor <sebor@apache.org>

	* GNUmakefile (BINDIR): Add and use convenience variable referencing
	the bin/ subdirectory of the buildspace.
	* GNUmakefile.exm (RUNFLAGS): Change command line switch used to
	specify input/output file directory to match switch expected by
	the utility.
	* GNUmakefile.bin (exec): Add rule to build the new exec utility.
	* GNUmakefile.tst (RUNFLAGS): Removed additional switches as unneeded.
	* makefile.rules (run runall run_all): Add dependency on exec utility.
	* GNUmakefile.exm, GNUmakefile.tst: Add rule to build the exec utility.
	* run_locale_utils.sh: Change default output file to /dev/stdout, add
	test driver style assertion count summary.
	* cmdopt.h: New. Declared command line parsing function(s).
	* cmdopt.cpp: Definition(s) of the above.
	* exec.h: New. Declared helper to execute program(s).
	* exec.cpp: Definition(s) of the above.
	* output.h: New. Declarations of functions for program (test,
	example, etc.) output processing.
	* output.cpp: Defintions of the above.
	* runall.cpp: Defintion of main and helpers.
	* util.h: New. Declared helper functions.
	* util.cpp: Definitions of the above.

2006-07-24  Martin Sebor  <sebor@roguewave.com>

	* README: Added basic info for VisualStudio users.

2006-07-24  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 22.locale.ctype.cpp: New test exercising the std::ctype facet.

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

	STDCXX-4
	* 22.locale.time.get.cpp: New test exercising the std::time_get facet.

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

	STDCXX-4
	* 22.locale.messages.cpp: New test exercising lib.locale.messages.

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

	* file.h (rw_nextfd): New function.
	* file.cpp (rw_nextfd): Definition.

2006-07-18  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-3
	* 0.alloc.cpp: New test exercising the rw_alloc() and 
	rw_free() functions

2006-07-18  Anton Pevtsov  <antonp@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  <sebor@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  <sebor@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  <sebor@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  <sebor@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  <antonp@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  <sebor@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-11  Martin Sebor  <sebor@roguewave.com>

	* _config.h (_RWSTD_NO_EXT_KEEP_WIDTH_ON_FAILURE): #defined
	in response to _RWSTD_STRICT_ANSI/_RWSTD_NO_EXTENSIONS being
	#defined. (See STDCXX-205 and STDCXX-206).
	(_RWSTD_VER): Added a missing digit.

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

	STDCXX-205
	STDCXX-206
	* _num_put.cc (_C_put): Called width(0) before outputting any
	characters (see STDCXX-259) but guarded with the configuration
	macro _RWSTD_NO_EXT_KEEP_WIDTH_ON_FAILURE for consistency with
	(some) other inserters. When the macro is not #defined, reset
	width only after all characters have been successfully output
	(i.e., no exception occurred and the iterator is not in failed
	state).
	* ostream (operator<<(ostream&, charT), operator<<(ostream&,
	charT*): Avoided calling width(0) here (done in __rw_insert).
	_ioinsert.cc (__rw_insert)): Called width(0) unconditionally
	after outputting characters as required of array inserters
	(but not single-charater inserters), and guarded with
	_RWSTD_NO_EXT_KEEP_WIDTH_ON_FAILURE. When the macro is not
	#defined, reset width only after all characters, including
	any padding, have been successfully output (for consistency
	with numeric inserters).

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

	* GNUmakefile.bin (SRCDIRS): Reverted an inadvertent change
	introduced in r420633.

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

	STDCXX-255
	* locale.cpp (initialize): Avoided trying to validate and diagnose
	null pointers.

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

	* run_locale_utils.sh (check_locale_location): Removed a bogus test.
	(locale, localedef): Added helper variables to refer to the utilities
	in the CWD.
	(check_locale_xxx): Removed "let x+= 1" Bash-isms, replaced the non
	portable Linux extension echo -n with printf.
	(generate_locale): Removed inadvertent backgrounding of process.
	(test_locale): Added assertions.
	Used process id in temporary file name(s) and removed on exit.
	Removed redundant debugging output.

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

	* GNUmakefile.bin ($(RUNTARGET)): Simplified. Used the $* shell
	variable to pass all command line arguments to the invoked script.
	Added progress output.

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

	STDCXX-257 (part 2)
	* GNUmakefile.bin: Renamed run_locale_utils.sh to run_utils.

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

	STDCXX-257
	* GNUmakefile: Renamed the run_locale_utils.sh symlink to run_utils
	to prevent the clean target from removing it.
	* GNUmakefile.bin: Same.

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

	* 0.strncmp.cpp (run_test): Used SIZE_MAX instead of ~0.

2006-07-09  Martin Sebor  <sebor@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  <sebor@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  <sebor@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  Martin Sebor  <sebor@roguewave.com>

	STDCXX-256
	* run_locale_utils.sh (check_locale_location, check_locale_help,
	check_locale_all, ...): Removed non-portable function keyword.
	(test_locale): Used the export keyword in a portable way.

2006-07-07  Andrew Black  <ablack@roguewave.com>

	STDCXX-254
	* GNUmakefile.tst (RUNFLAGS): Added --compat to make tests
	produce output understandable by the runall.sh script.
	* runall.sh: Moved XOPTS in front of any other command line
	options passed to executables (tests, examples, or locale
	scripts).

2006-07-07  Anton Pevtsov  <antonp@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-06  Martin Sebor  <sebor@roguewave.com>

	STDCXX-253
	* GNUmakefile (.PHONY): Added target util.

2006-07-05  Martin Sebor  <sebor@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  <sebor@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  <sebor@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  <sebor@roguewave.com>

	* 21.strings.cpp (_rw_setvars): Formatted the (initial)
	contents of the string argument to string I/O functions.

2006-06-30  Martin Sebor  <sebor@roguewave.com>

	STDCXX-251
	* streambuf (uflow): Outlined and moved...
	* streambuf.cc (uflow): ...to here. Prevented undefined behavior
	caused by dereferencing gptr() when underflow() doesn't set up
	a non-empty pending sequence (i.e., when gptr() == 0 or when
	gptr() == egptr()).

2006-06-30  Martin Sebor  <sebor@roguewave.com>

	* _mutex.h: Updated copyright.

2006-06-30  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.io.cpp: New test exercising lib.string.io.

2006-06-30  Anton Pevtsov  <antonp@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-29  Martin Sebor  <sebor@roguewave.com>

	STDCXX-245
	STDCXX-247
	* sstream.cc (seekpos): Used a typedef rather than the class name
	(w/o a template argument list) to prevent invoking a virtual member
	function overridden in a derived class to work around an HP aCC
	3.27 bug.
	* fstream.cc (overflow, xsputn): Same.
	Replaced codecvt_base::result with plain old int to work around
	yet another HP aCC 3.27 bug.
	* _messages.cc (do_get): Same.

2006-06-29  Martin Sebor  <sebor@roguewave.com>

	STDCXX-184
	* cstdlib (abs): Hacked around an HP aCC quirk when using system
	headers in /usr/include without the compiler's wrappers (i.e.,
	when -I/usr/include is before the compiler's include directory
	in the preprocessor seacrh path). See STDCXX-244.
	* stdlib.h: Same.

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

	* 21.strings.cpp (_rw_dispatch): Detected and diagnosed
	test logic error: null test callback function.

2006-06-28  Martin Sebor  <sebor@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   <antonp@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  <sebor@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-26  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* include/rw/_mutex.h: Added missed _RWSTD_EXPORT directive.
	* src/exception.cpp: Added missed _RWSTD_EXPORT directive.

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

	* printf.cpp (rw_vasnprintf): Used the number of bytes,
	not elements, in the call to memcpy.

2006-06-21  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.rfind.cpp: Added missed header <exception>

2006-06-20  Martin Sebor  <sebor@roguewave.com>

	STDCXX-7
	* fstream (xsputn): Declared.
	* fstream (xsputn): Overrode the base class virtual function and
	optimized to avoid unnecessary writes when the size of the array
	argument exceeds the amount of space available in the internal
	character buffer.
	(overflow): Moved most of the body of the function to xsputn()
	and called it.

2006-06-20  Martin Sebor  <sebor@roguewave.com>

	* reverse_iterator.cpp: Updated copyright.

2006-06-20  Martin Sebor  <sebor@roguewave.com>

	STDCXX-197
	* gcc.config (SHARED_SUFFIX): Defined to .dylib for Darwin.

2006-06-19  Martin Sebor  <sebor@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  Martin Sebor  <sebor@roguewave.com>

	Renamed files for sanity.

2006-06-19  Anton Pevtsov  <antonp@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  <sebor@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  <sebor@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  <sebor@roguewave.com>

	STDCXX-4
	* 20.specialized.cpp: New test exercising lib.specialized.algorithms,
	including STDCXX-203.

2006-06-16  Martin Sebor  <sebor@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-16  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-202
	* configure.wsf (checkHeader): Parentheses added.
	(runExeTests): "ok" changed to "no" for failed tests.

2006-06-15  Martin Sebor  <sebor@roguewave.com>

	STDCXX-203
	* _specialized.h (__rw_construct): Added an overload on volatile T*.

2006-06-15  Martin Sebor  <sebor@roguewave.com>

	* atomic-64.s: Updated copyright notice.
	* atomic.s: Same.

2006-06-15  Anton Pevtsov  <antonp@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  Martin Sebor  <sebor@roguewave.com>

	* collate.cpp (wcstombs): Decorated with dllimport to silence
	MSVC warnings about incompatible DLL linkage.
	* wcodecvt.cpp (wctomb): Same.

2006-06-14  Martin Sebor  <sebor@roguewave.com>

	* cwchar (swprintf, vswprintf): More hackery for the various
	strains of the disease known as MSVC.

2006-06-14  Anton Pevtsov  <antonp@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  <sebor@roguewave.com>

	* cwchar (wprintf, swprintf): Avoid declaring functions extern
	"C++" to prevent dumb MSVC 8 from choking on it for some bizarre
	reason.

2006-06-13  Martin Sebor  <sebor@roguewave.com>

	STDCXX-200
	* _localedef.h (__rw_time_t): Changed function argument types
	to silence Sun C++ 5.8 64-bit conversion/truncation warnings.
	* punct.cpp (__rw_get_numpunct, __rw_get_moneypunct): Explicitly
	cast wide expressions to the (narrower) destination type in order
	to silence Sun C++ 5.8 64-bit truncation warnings.
	* time_put.cpp (__rw_get_timepunct, __rw_get_zone): Same.

2006-06-13  Martin Sebor  <sebor@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  <sebor@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  <sebor@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  <sebor@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  <sebor@roguewave.com>

	STDCXX-4
	* 27.ostream.cpp: New test exercising lib.ostream.

2006-06-11  Eric Lemings  <lemmings@roguewave.com>

	STDCXX-194
	* gcc.config (LDSOFLAGS): Avoided using -shared on Darwin.

2006-06-09  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 27.filebuf.codecvt.cpp: New test exercising lib.filebuf with
	a user-defined codecvt facet.

2006-06-09  Martin Sebor  <sebor@roguewave.com>

	* cwchar (swprintf, vswprintf): Declared extern "C++" for MSVC 7.1
        and beyond.

2006-06-08  Anton Pevtsov  <antonp@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  <antonp@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  <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@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  <sebor@roguewave.com>

	* 21.strings.h (IteratorId): New member type of StringIds.
	(StringFunc): Added a new data member.
	* 21.strings.cpp (_rw_iter_names): New.
	(_rw_opt_char_types, ...): Sized based on the corresponding
	_rw_xxx_names arrays.
	(_rw_sigcat): Used _rw_iter_names in function signatures and
	command line option names.
	(_rw_argno): Renamed from _rw_uses_alloc and generalized.
	(_rw_setvars): Simplified the setting of environment variables
	by using the %{paramater!:word} extended directive.
	(_rw_run_cases): New helper.
	(_rw_run_test): Iterated over all IteratorId's and called
	_rw_run_cases.
	(_rw_add_toggles): New helper.
	(_rw_run_test): Called _rw_add_toggles, installed option
	handlers for iterator specializations of member templates.

2006-06-05  Martin Sebor  <sebor@roguewave.com>

	STDCXX-189
	* LOCALE_NAME_FMAT.cpp (MAX_LOCALE_NAME_LEN): New macro defined
	to the maximum length of a locale name sufficiently large to
	handle excessively long names generated by GNU glibc.
	(main): Used it consistently throughout.

2006-06-05  Eric Lemings <eric.lemings@roguewave.com>

	STDCXX-191
	* gcc.config (MULTI_CPPFLAGS_POSIX, MULTI_LDFLAGS_POSIX): Removed
	-pthread for gcc on Darwin.

2006-06-02  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.cpp (_rw_setvars): Handled the %{$Iterator} directive in
	formatting of string member function templates.
	(_rw_run_test): Corrected a typo in a conditional formatting directive.

2006-06-02  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (_rw_fmtexpr): Added the %{$parameter!:word} drective
	as an extension and corrected logic error (passing a pointer to an
	auto array to free()).

2006-06-01  Martin Sebor  <sebor@roguewave.com>

	* rw_allocator.h (reset_call_counters, func_name): New functions.
	* allocator.cpp (reset_call_counters, func_name): Implemented.
	(instance): Made sure global instance always exists.

2006-06-01  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.cpp (_rw_setvars): Corercted the syntax of setenv
	directives.

2006-06-01  Martin Sebor  <sebor@roguewave.com>

	STDCXX-193
	* makefile.common (INCLUDES): Reversed the order of -I options.

2006-06-01  Martin Sebor  <sebor@roguewave.com>

	STDCXX-192
	* atomic.s: Removed .type directives to prevent as errors
	on Mac OS X.

2006-06-01  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.strings.h (FuncId): Added new elements for capacity mehtods.
	(OverloadId): Added new elements for capacity methods overloads.
	* 21.strings.cpp (_rw_func_names): Added capacity methods names,
	(_rw_setvars): Added cases for capacity methods overloads.
	* 21.string.capacity.cpp: Converted to simplified format
	(MemFun, run_test): removed as obsolete
	(test_capacity): Updated to use the test driver features.
	(main): Updated to use common workflow via test driver functions.

2006-06-01  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.cons.cpp (cptr_test_cases, cstr_test_cases, ...): Added
	new test cases which contains strings with special length to 
	exercise memory allocation,
	(test_cons_range): Changed signature
	to take StringTestCaseData<charT> instead of charT* arrays and
	their sizes and simplified definition.
	(test_cons): Same.
	(DEFINE_STRING_TEST_FUNCTIONS): Used to define an array of
	pointers to specializations of the test_cons template,
	thus obviating the need for the dispatch function.
	(main): Passed test_cons_func_array defined by the macro
	above to rw_run_string_test.
	21.string.append.cpp: Added new test cases which contains strings 
	with special length to exercise memory allocation,
	21.string.assign.cpp: Same
	21.string.insert.cpp: Same
	21.string.op.plus.equal.cpp: Same
	21.string.replace.cpp: Same

2006-05-30  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.cpp (_rw_dispatch): Corrected the type of the test
	function to match its actual definition in the test.

2006-05-29  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.opertators.cpp: New test exercising 
	lib.string.nonmembers operators.

2006-05-29  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.op.plus.cpp: New test exercising lib.string::op+.

2006-05-29  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.strings.cpp (_rw_sigcat, _rw_setvars): Added 
	workaround for STDCXX-190 - warning silenced.

2006-05-29  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.strings.h (bit_member): Silenced MSVC bogus warning.

2006-05-28  Martin Sebor  <sebor@roguewave.com>

	* 21.string.replace.cpp (test_replace_range): Changed signature
	to takeStringTestCaseData<charT> instead of charT* arrays and
	their sizes and simplified definition.
	(test_replace): Same.
	(DEFINE_STRING_TEST_FUNCTIONS): Used to define an array of
	pointers to specializations of the test_replace template,
	thus obviating the need for the dispatch function.
	(main): Passed test_replace_func_array defined by the macro
	above to rw_run_string_test.

2006-05-28  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.h (StringTestCaseData): New helper class template.
	(VoidFunc): New helper typedef.
	(DEFINE_STRING_TEST_FUNCTIONS): New helper macro to define an
	array of pointers to test functions (typically specializations
	of the same function template) and to obviate the need for the
	definition of the dispatch function in each test.
	(rw_run_string_test): Added a new overload taking an array of
	VoidFunc.
	* 21.strings.cpp (<string>, <rw_allocator.h>): Included headers.
	(_rw_dispatch): Added a set of overloaded function templates.
	(_rw_test_case): Added a VoidFunc[] argument and invoked
	_rw_dispatch.
	(_rw_func_array): New global array of pointers to test functions.
	(_rw_run_test): Passed _rw_func_array to _rw_test_case.
	(_rw_run_test): Moved body of rw_run_string_test here.
	(rw_run_string_test): Called _rw_run_test.

2006-05-26  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.replace.cpp (test_replace): Updated the expected_throw 
	value calculating mechanism.
	* 21.string.append.cpp (test cases): Changed the meaning of
	(tcase.bthrow == 0) to enable the testing of exception safety,
	and used -1 to disable.
	(Test, MemFun): Removed unused typedefs.
	(test_replace): Renamed throw_after to throw_count to better
	reflect the purpose of the variable
	Set UserAlloc::allocate() to throw bad_alloc analogously to
	operator new.
	Exercised exception safety in each test case by default (i.e.,
	when tcase.bthrow == 0).
	* 21.string.assign.cpp: Same
	* 21.string.insert.cpp: Same
	* 21.string.op.plus.equal.cpp: Same

2006-05-25  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.h (FuncId): Added members, increased to 6 bits.
	(bit_member): New enumerator designating member functions.
	(OverloadId): Added enumerator for operator+, operator==,
	operator!=, and all relational operators.
	* 21.strings.cpp (_rw_func_names): Added function names.
	(_rw_class_name): New helper function to compute the name
	of the basic_string class (string, wstring, or basic_string).
	(_rw_sigcat): Used mnemonics instead of real function names
	for name of options controlling operators (such as operator+).
	Handled non-members correctly.
	(_rw_uses_alloc): New helper to help determine whether a ctor
	overload takes an allocator argument.
	(_rw_setvars): Formatted ctors and non-members correctly.
	Added formatting handlers for missing ctor overloads.
	Added formatting handlers for non-member functions.

2006-05-24  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.h: Renamed StringMembers to StringIds, charT to CharId,
	Traits to TraitsId, Allocator to AllocId, and MemberId to FuncId).
	Removed UnknownChar, UnknownTraits, and UnknownAllocator and renamed
	DefaultAllocator and UserAllocator to DefaultAlloc and UserAlloc,
	respectively.
	Changed the prefix of FuncId (previously MemberId) enumerators from
	mem_ to fid_ (function id) to accommodate non-member string functions.
	(ArgId): New enum to encode the type of a single function argument.
	Removed SignatureId.
	(OverloadId): Defined enumerators in terms of FuncId and ArgId.
	Renamed Function to StringFunc, TestCase to StringTestCase, Test to
	StringTest, TestFun to StringTestFunc, run_test to rw_run_string_test,
	and moved all to file scope to make it possible to refer to them
	without qualification.
	(arg_type): New helper to determine the type of a function argument.
	(NPOS): New convenience constant representing std::string::npos.
	Removed long_string, rw_disable_user_allocator, and
	DEFINE_TEST_DISPATCH.
	(TEST_DISPATCH): Accommodated above changes.
	* 21.strings.cpp: Made naming and restructuring changes corresponding
	to the above.
	(_rw_opt_func): New array for toggling (enable/disable) options.
	Replaces _rw_opt_memfun_disabled and _rw_opt_memfun_enabled.
	(_rw_opt_char_types, _rw_opt_traits_types, _rw_opt_alloc_types,
	_rw_opt_self_ref): New arrays replacing _rw_opt_no_char_types,
	_rw_opt_no_traits_types, _rw_opt_no_alloc_types, and
	_rw_opt_no_self_ref.
	(_rw_get_func_inx): New helper. Computes a zero-based index of
	a tested string function from the array of tests supplied by each
	test program.
	(_rw_ilog2): Removed unused static function.
	(_rw_sigcat): New helper. Formats a string function signature
	or the mnemonic used to refer to it on the command line (e.g.,
	"append_val").
	(_rw_test_case): Enhanced the handling of command line options
	to allow to enable specific cases in addition to disabling them.
	(_rw_toggle_options): New helper. Scans an array of enable/disable
	options (toggles) and disables all those not explicitly enabled
	when at least one explicitly enabled option is found.
	(_rw_run_test): Simplified and enhanced by using toggles.
	(rw_run_string_tests): Dynamically constructed a command line
	option specification from the set of tests passed to it by the
	test program. Included function name in the name of the option.
	* 21.string.access.cpp: Accommodated the changes above and simplified.
	* 21.string.append.cpp: Same.
	* 21.string.assign.cpp: Same.
	* 21.string.compare.cpp: Same.
	* 21.string.cons.cpp: Same.
	* 21.string.copy.cpp: Same.
	* 21.string.erase.cpp: Same.
	* 21.string.find.cpp: Same.
	* 21.string.find_first_not_of.cpp: Same.
	* 21.string.find_first_of.cpp: Same.
	* 21.string.find_last_not_of.cpp: Same.
	* 21.string.find_last_of.cpp: Same.
	* 21.string.insert.cpp: Same.
	* 21.string.plus_equal.cpp: Same.
	* 21.string.replace.cpp: Same.
	* 21.string.rfind.cpp: Same.
	* 21.string.substr.cpp: Same.
	* 21.string.swap.cpp: Same.

2006-05-24  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* data.js (icc91SolutionName, icc91CfgSolutionName): New global
	variables to keep icc-9.1 solution names.
	* generate.js (solutionICC91): New global variable to keep icc-9.1 
	solution object.
	* generate.wsf (generateBuildBatch): Added special processing 
	for icc-9.1solution.
	* icc-config.js (solutionICC91Cfg): New variable to keep icc-9.1
	configuration solution.
	(configureToolsICC91): New function to configure tools for icc-9.1.
	* makelog.wsf (readAndCheckArguments): Set buildLogUnicode 
	variable to -1 for icc-9.1 - buildlog.htm is unicode.
	* msvc-config.js (solutionICC91): New variable to keep icc-9.1 
	solution object.
	* runall.wsf (runAllExamples): Set logUnicode variable to "true"
	for icc-9.1 - buildlog.htm is unicode.

2006-05-23  Martin Sebor  <sebor@roguewave.com>

	* 18.exception.cpp: Simplified command line option handling
	by using toggles.

2006-05-23  Martin Sebor  <sebor@roguewave.com>

	* cmdopt.cpp (cmdopts_t): Added the toggle_ member.
	(rw_vsetopts): Added the tilde ('~') special character
	denoting a toggle (i.e., and off/on option).
	(_rw_match_toggle): New.
	(rw_runopts): Called _rw_match_toggle.
	* 0.cmdopts.cpp (test_toggles): Added tests for the above.
	(main): Called test_toggles.

2006-05-22  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 18.exception.cpp: Converted to new test driver.

2006-05-19  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.h (TEST_DISPATCH): Passed the entire Function object
	to the test function template, not just the OverloadId member.
	* 21.string.access.cpp (OverloadId, Test): Removed unused typedefs.
	(Function): New convenience typedef.
	(test_access): Changed signature to take a Function argument
	rather than just OverloadId. Renamed the cs formal argument
	to tcase to make it more understandable and for consistency
	with other tests.
	* 21.string.append.cpp: Same.
	* 21.string.assign.cpp: Same.
	* 21.string.compare.cpp: Same.
	* 21.string.cons.cpp: Same.
	* 21.string.copy.cpp: Same.
	* 21.string.erase.cpp: Same.
	* 21.string.find.cpp: Same.
	* 21.string.find.first.not.of.cpp: Same.
	* 21.string.find.first.of.cpp: Same.
	* 21.string.find.last.not.of.cpp: Same.
	* 21.string.find.last.of.cpp: Same.
	* 21.string.insert.cpp: Same.
	* 21.string.plus_equal.cpp: Same.
	* 21.string.replace.cpp: Same.
	* 21.string.rfind.cpp: Same.
	* 21.string.substr.cpp: Same.
	* 21.string.swap.cpp: Same.

2006-05-19  Martin Sebor  <sebor@roguewave.com>

	* 21.string.cons.cpp: Removed unnecessary #include directives
	and improved comments.

2006-05-18  Martin Sebor  <sebor@roguewave.com>

	* 21.string.replace.cpp (test cases): Changed the meaning of
	(tcase.bthrow == 0) to enable the testing of exception safety,
	and used -1 to disable.
	(Test, MemFun): Removed unused typedefs.
	(test_replace): Renamed throw_after to throw_count to better
	reflect the purpose of the variable.
	Simplified the conditional computing the expected exception.
	Set UserAlloc::allocate() to throw bad_alloc analogously to
	operator new.
	Exercised exception safety in each test case by default (i.e.,
	when tcase.bthrow == 0).

2006-05-18  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.cpp (_rw_setvars): Corrected formatting by adding
	the missing %{;} directive.

2006-05-18  Martin Sebor  <sebor@roguewave.com>

	* rw_allocator.h (n_throws_): New member array to keep track
	of the number of exceptions thrown from each member function.
	* allocator.cpp (SharedAlloc ctor): Zero-initialized all arrays.
	(funcall): Incremented the member function call counter regarless
	of whether the call results in an exception or not to parallel
	the same algorithm used in operator_new(). Incremented the
	exception counter, n_throws_, for each thrown exception.

2006-05-18  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.h (DEFINE_STRING_TEST_DISPATCH): Used fully qualified
	StringMembers types Function and TestCase instead of relying on
	convenience typedefs defined in each test.

2006-05-18  Martin Sebor  <sebor@roguewave.com>

	* rw_allocator.h (allocator): Changed the class-key from struct
	to class to shut up a bogus MSVC warning.

2006-05-18  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.append.cpp (<rw_allocator.h>): Included.
	(test_append_range, test_append): Added Allocator template
	parameter and function argument.
	(DEFINE_STRING_TEST_DISPATCH): Replaced DEFINE_TEST_DISPATCH.
	* 21.string.access.cpp: Same
	* 21.string.assing.cpp: Same
	* 21.string.compare.cpp: Same
	* 21.string.cons.cpp: Same
	* 21.string.copy.cpp: Same
	* 21.string.erase.cpp: Same
	* 21.string.find.cpp: Same
	* 21.string.find.first.not.of.cpp: Same
	* 21.string.find.first.of.cpp: Same
	* 21.string.find.last.not.of.cpp: Same
	* 21.string.find.last.of.cpp: Same
	* 21.string.insert.cpp: Same
	* 21.string.op.plus.equal.cpp: Same
	* 21.string.rfind.cpp: Same
	* 21.string.substr.cpp: Same
	* 21.string.swap.cpp: Same

2006-05-17  Martin Sebor  <sebor@roguewave.com>

	* vector.cc (_C_insert_range): Removed a shadowing variable.

2006-05-17  Martin Sebor  <sebor@roguewave.com>

	* vector_modifiers.cpp (main): Removed a duplicate option
	specification.

2006-05-17  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.cpp (_rw_setvars): Made static.
	Defined the {charT}, {Traits}, and {Allocator} environment variables
	to the name of the character type and the Traits and Allocator
	template arguments specified by each test.
	Removed an extraneous space from the format of the function call.
	Added the missing "|-no-self-ref# " option specification.

2006-05-17  Martin Sebor  <sebor@roguewave.com>

	* 21.string.replace.cpp (test_replace): Corrected the formatting
	of expected result string.
	(test_replace): Used rw_check_leaks() to simplify the detection
	of memory leaks using the user-defined allocator UserAlloc as
	well as replacement operator new (when available).

2006-05-17  Martin Sebor  <sebor@roguewave.com>

	* rw_allocator.h (m_cpy_assign, m_cvt_assign): New constants.
	(UserAlloc::operator=): Defined.
	(rw_check_leaks): Declared and defined new helpers.
	* allocator.cpp (<driver.h>): Included for rw_assert().
	(UserAlloc ctor): Initialized n_refs_.
	(UserAlloc dtor): Invalidated member arrays.
	(_rw_check_leaks): New helper.
	(rw_check_leaks): Defined.

2006-05-16  Martin Sebor  <sebor@roguewave.com>

	* 21.string.replace.cpp (<rw_allocator.h>): Included.
	(test_replace_range, test_replace): Added Allocator template
	parameter and function argument.
	(test_replace): Simplified the checking of calls to traits_type::
	length() in preparation for doing something similar for the user
	defined allocator.
	(DEFINE_STRING_TEST_DISPATCH): Replaced DEFINE_TEST_DISPATCH.

2006-05-16  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.h (TEST_DISPATCH): Added an Alloc parameter.
	(DEFINE_TEST_DISPATCH): Introduced a transitional overload of
	the dispatch function template taking an Allocator argument
	and dispatching to the test-defined one which doesn't take
	one.
	(DEFINE_STRING_TEST_DISPATCH): New macro to define a dispatch
	function to invoke a test-defined function template with an
	Allocator argument.
	(rw_disable_user_allocator): Transitional variable to disable
	tests exercising basic_string with a user-defined allocator.
	* 21.strings.cpp (rw_disable_user_allocator): Defined.
	(_rw_run_test): Conditionally enabled tests exercising user
	defined allocators.
	("|-enable-size-const#"): Added a missing command line option.

2006-05-16  Martin Sebor  <sebor@roguewave.com>

	* rw_char.h (rw_get_call_counters): Inlined.
	Adjusted the formatting of function declarations according
	to convention (with function name in column 1).

2006-05-16  Martin Sebor  <sebor@roguewave.com>

	* allocator.cpp (<rw_new.h>): Included for operator_new() and
	operator_delete().
	(allocate, deallocate): Called the operator_new() and operator_delete()
	implementation functions instead of invoking the operators directly.

2006-05-16  Martin Sebor  <sebor@roguewave.com>

	STDCXX-179
	* vector.cc (_C_insert_range): Corrected the persistent logic
	error in the computation of the end of the range of elements
	to be overwritten (assigned).

2006-05-16  Martin Sebor  <sebor@roguewave.com>

	* vector_modifiers.cpp (test_insert): Corrected formatting.
	(test_insert_range): Added test cases exercising STDCXX-179.

2006-05-16  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.swap.cpp: New test exercising lib.string.swap.

2006-05-16  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.append.cpp (push_back_val_test_cases): New array to
	exercise the push_back method.
	(test_append): Added the case to exercise the push_back method.

2006-05-16  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.strings.cpp (_rw_setvars): Added support for swap and push_back
	overloads.

2006-05-16  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.strings.h (MemberId): Added new elements for swap, push_back
	(OverloadId): Added new enum elements for swap and push_back 
	overloads.

2006-05-15  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.cons.cpp: New test exercising lib.string.cons.

2006-05-15  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.access.cpp: New test exercising lib.string.access.

2006-05-15  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.copy.cpp: Converted to simplified format
	(MemFun, run_test): removed as obsolete
	(test_copy): Updated to use test driver features.
	* 21.string.replace.cpp (test_replace_range): Added res_len
	paramter, fixed bug with incorrect expected result string length.
	(test_replace): Updated cal to test_replace_range, fixed bug
	with agruments for the rw_match call. 
 	* 21.string.append.cpp: Replaced LSTR, LLEN, and LPAR in test 
	cases with strings containing the '<char>@<count>' directive(s).
	Corrected errors in expected results involving said strings 
	revealed by the use of the more flexible/reliable directives.
	* 21.string.assing.cpp: Same
	* 21.string.compare.cpp: Same
	* 21.string.copy.cpp: Same
	* 21.string.erase.cpp: Same
	* 21.string.find.cpp: Same
	* 21.string.find.first.not.of.cpp: Same
	* 21.string.find.first.of.cpp: Same
	* 21.string.find.last.not.of.cpp: Same
	* 21.string.find.last.of.cpp: Same
	* 21.string.insert.cpp: Same
	* 21.string.op.plus.equal.cpp: Same
	* 21.string.rfind.cpp: Same
	* 21.string.substr.cpp: Same

2006-05-15  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* char.cpp (rw_match): Fixed the bug with the expanded string length.
	* 21.strings.cpp (_rw_setvars): Added support for access, copy and 
	cons overloads.
	(run_test): Added support for new signature

2006-05-15  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.strings.h (MemberId): Added new elements for access, copy, cons
	(OverloadId): Added new enum elements for access, copy and cons 
	overloads.
	(SignatureId): Added new signature for at (size_type) const

2006-05-14  Martin Sebor  <sebor@roguewave.com>

	* rw_allocator.h: New header with the definition of a user-defined
	allocator class template.
	* allocator.cpp: New source containing definitions of helper classes
	and functions used by the user-defined allocator template.

2006-05-12  Martin Sebor  <sebor@roguewave.com>

	STDCXX-179
	* vector.cc (_C_insert_range): Corrected logic error in the computation
	of the end of the range of elements to be overwritten (assigned over).

2006-05-12  Martin Sebor  <sebor@roguewave.com>

	* deque (_RWSTD_COMPLEX_DEFAULT): Eliminated and unconditionally
	used default template arguments.
	* list: Same.
	* map: Same.
	* queue: Same.
	* set: Same.
	* stack: Same.
	* vector: Same.
	* _strref.h: Same.
	* fstream (_RWSTD_COMPLEX_DEFAULT): Same.
	(filebuf, fstream, ...): Made use of default template arguments
	in typedef defintions and in explicit instantiation directives.
	* iosfwd: Same.
	* sstream: Same.
	* istream: Same.
	* streambuf: Same.
	* _basic_ios.h: Same.
	* _ioinsert.h: Same.
	* _ioiter.h: Same.
	* _iterator.h: Same.
	* _money_get.h: Same. Replaced the _RWSTD_V3_LOCALE macro with std.
	* _money_put.h: Same.
	* _num_get.h: Same.
	* _num_put.h: Same.
	* _time_get.h: Same.
	* _time_put.h: Same.
	* _defs.h (_RWSTD_SIMPLE_DEFAULT, _RWSTD_COMPLEX_DEFAULT): Removed.

2006-05-12  Martin Sebor  <sebor@roguewave.com>

	* _iterbase.h (iterator): Removed uses of the _RWSTD_SIMPLE_DEFAULT
	macro (no longer detected).
	* _streamiter.h (istream_iterator, ostream_iterator): Same.

2006-05-12  Martin Sebor  <sebor@roguewave.com>

	* instance.cpp (__nullref): Increased the size of the array to make
	big enough to accommodate std::wstring times two with some extra
	space to spare.

2006-05-12  Martin Sebor  <sebor@roguewave.com>

	* 21.string.substr.cpp (test_substr): Inverted the expression
	in an unconditional assertion to make it actually fire when it
	gets hit and to silence icc warnings #279: controlling expression
	is constant.

2006-05-12  Martin Sebor  <sebor@roguewave.com>

        * char.cpp (UChar): New convenience typedef.
        (_rw_expand, _rw_fmtstringv): Cast char to unsigned char before
        passing it to isdigit() in order to prevent undefined behavior
        caused by sign extension.

2006-05-08  Martin Sebor  <sebor@roguewave.com>

	* char.cpp (test_rw_expand): Plugged benign memory leaks.

2006-05-08  Martin Sebor  <sebor@roguewave.com>

	* replace.cpp: Replaced LSTR, LLEN, and LPAR in test cases with
	strings containing the '<char>@<count>' directive(s). Corrected
	errors in expected results involving said strings revealed by
	the use of the more flexible/reliable directives. Added more
	test cases exercising self-referential modification.
	(test_replace_range): Added arguments, simplified, documented.
	(test_replace): Used the new rw_expand() instead of rw_widen(),
	added (and disabled for now) checking for memory leaks.

2006-05-08  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.cpp (_rw_this_file): New.
	(_rw_setvars): Used rw_expand() to expand string arguments containing
	<char>@<count> directives.
	(_rw_test_case): New.
	(_rw_run_test): Factored the body of the innermost loop into
	_rw_test_case() for better readability and called it.

2006-05-08  Martin Sebor  <sebor@roguewave.com>

	* char.cpp (_rw_expand): New "generic" implementation of all three
	rw_expand() overloads. Corrected the handling of empty strings to
	produce a NUL-terminated string of 0 size.
	(rw_expand): Implemented in terms of the generic _rw_expand().
	(rw_match): Used rw_expand() when the first string contains '@'.
	* 0.char.cpp (test_rw_expand): Simplified, verified the correcntess
	of the result size, and added more test cases.

2006-05-08  Martin Sebor  <sebor@roguewave.com>

	* new.cpp (operator_new, operator_delete): Used rw_note() instead
	of rw_error() for tracing. Used the %#p rective to format pointers.

2006-05-08  Martin Sebor  <sebor@roguewave.com>

	* rw_char.h (rw_expand): Declared a set of new utility overloads.
	* src/char.cpp (rw_expand): Defined the above.
	* test/char.cpp (test_rw_expand): (Partially) exercised the above.

2006-05-06  Martin Sebor  <sebor@roguewave.com>

	* 21.string.compare.cpp (test_compare): Used StringState and simplified
	the detection and reporting of exception safety violations. Made naming
	and formatting changes.

2006-05-05  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.cpp (_rw_setvars): Simplified formatting code
	and the resulting formatted string.
	Corrected the formatting of characters by using the %{#c}
	extended directive.
	Documented formatting convention.

2006-05-05  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.cpp (_rw_setvars): Used memset() instead of a loop
	to set string elements.

2006-05-05  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (_rw_vfprintf): Called OutputDebugString() to send
	the string into the debugger window only when file is non-zero.

2006-05-05  Martin Sebor  <sebor@roguewave.com>

	* driver.cpp (rw_vtest): Set _rw_ftestout to rw_stdout here
	instead of relying on static initialization. Checked for 0
	before closing.

2006-05-05  Martin Sebor  <sebor@roguewave.com>

	* rw_char.h (UserTraits::n_calls_): Specified array extent in the
	declaration of the array member inside the class instead of its
	definition outside to work around a Sun C++ bug (see STDCXX-177).

2006-05-05  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.strings.h (MemberId): Added new elements for access, copy.
	(OverloadId): Added new enum elements for access and copy overloads.
	* 21.strings.cpp (_rw_setvars): Added support for access and copy
	overloads.
	* 21.string.copy.cpp: Converted to simplified format.
	(MemFun, run_test): removed as obsolete.
	(test_copy): Updated to use test driver features.

2006-05-05  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.substr.cpp: New test exercising lib.string.substr.

2006-05-05  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.strings.cpp (_rw_setvars): Added support for substr
	overloads.

2006-05-05  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.strings.h (MemberId): Added new element for substr.
	(OverloadId): Added new enum elements for substr overloads.

2006-05-04  Martin Sebor  <sebor@roguewave.com>

	* 21.string.append.cpp (test_append): Simplified the handling
	of the _RWSTD_NO_REPLACEABLE_NEW_DELETE config macro.
	* 21.string.assign.cpp (test_assign): Same.
	* 21.string.insert.cpp (test_insert): Same.
	* 21.string.plus_equal.cpp (test_op_plus_eq): Same.
	* 21.string.replace.cpp (test_replace): Same.

2006-05-04  Martin Sebor  <sebor@roguewave.com>

	* rw_new.h (operator new, operator delete): Guarded definitions
	of the replacement operators with _RWSTD_NO_REPLACEABLE_NEW_DELETE
	in order to allow the header to be included unconditionally, w/o
	regard to the setting of the macro, and with no adverse effects
	even when the macro is defined.

2006-05-04  Martin Sebor  <sebor@roguewave.com>

	* 21.string.append.cpp (test_append): Corrected compilation errors
	when _RWSTD_NO_EXCEPTIONS is #defined and verified with
	gcc -fno-exceptions.
	* 21.string.assign.cpp (test_assign): Same.
	* 21.string.copy.cpp (test_assign): Same.
	* 21.string.insert.cpp (test_insert): Same.
	* 21.string.plus_equal.cpp (test_op_plus_eq): Same.
	* 21.string.replace.cpp (test_replace): Same.

i2006-05-04  Martin Sebor  <sebor@roguewave.com>

	* find.cpp (test_find): Used StringState to simplify the detection
	ond reporting of exception safety violations.
	Renamed the cs formal function argument to tcase to make the name
	more descriptive.
	Removed length_error handler.
	Verified the return value for invalid arguments.

2006-05-04  Martin Sebor  <sebor@roguewave.com>

	* testdefs.h (try, catch, RW_CATCH_ALL): Defined based on whether
	the config macro _RWSTD_NO_EXCEPTIONS is or isn't #defined.

2006-05-04  Martin Sebor  <sebor@roguewave.com>

	* _config-gcc.h (_RWSTD_NO_EXCEPTIONS): #defined in response to
	the __EXCEPTIONS macro not being #defined by the compiler, e.g.,
	when the -fno-exceptions command line option is used.

2006-05-04  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.h (StringState, rw_get_string_stat): New.
	* 21.strings.cpp (StringState::assert_equal): Defined.
	* 21.string.append.cpp (test_append): Used StringState to simplify
	the detection ond reporting of exception safety violations.
	* 21.string.assign.cpp (test_assign): Same.
	* 21.string.insert.cpp (test_insert): Same.
	* 21.string.plus_equal (test_op_plus_eq): Same.
	* 21.string.replace (test_replace): Same.

2006-05-03  Martin Sebor  <sebor@roguewave.com>

	* 21.string.find.cpp: Removed tests for length_error, added new
	test cases.

2006-05-03  Martin Sebor  <sebor@roguewave.com>

	STDCXX-176
	* string.cc (find): Optimized for a 50% speedup.

2006-05-03  Martin Sebor  <sebor@roguewave.com>

	* string.cc (replace): Renamed function arguments for clarity.

2006-05-03  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* rw_char.h (rw_get_call_counters): Removed _TEST_EXPORT as
	not needed.

2006-05-03  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.compare.cpp: New test exercising lib.string.comapre.

2006-05-03  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.strings.cpp (_rw_setvars): Added support for compare
	overloads.

2006-05-03  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.strings.h (MemberId): Added new element for compare.
	(OverloadId): Added new enum elements for compare overloads.

2006-05-03  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.append.cpp (get_calls): Moved to rw_char.h
	* 21.string.assign.cpp (test_assign): Added verification
	that Traits::length() is used.
	* 21.string.insert.cpp: Same
	* 21.string.op.plus.equal.cpp: Same
	* 21.string.replace.cpp: Same

2006-05-03  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* rw_char.h (rw_get_call_counters): New functions to retrieve 
	the pointer to n_calls array if it is defined for traits type.

2006-05-02  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.cpp (_rw_opt_no_self_ref): New option handler.
	(_rw_run_test, run_test): Used _rw_opt_no_self_ref to disable
	tests of self-referential modifying member functions.

2006-05-02  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.find.cpp (NPOS): New constant added
	for convenience.
	(ptr_test_cases, str_test_cases): Updated according 
	to changes in TestCase structure.
	(test_find): res_len renamed to nres according to
	changes in the TestCase structure.
	* 21.string.rfind.cpp: Same
	* 21.string.find.first.of.cpp: Same
	* 21.string.find.last.of.cpp: Same
	* 21.string.find.first.not.of.cpp: Same
	* 21.string.find.last.not.of.cpp: Same

2006-05-02  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.find.first.not.of.cpp: New test exercising 
	lib.string.find.first.not.of.

2006-05-02  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.find.last.not.of.cpp: New test exercising 
	lib.string.find.last.not.of.

2006-05-02  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.find.last.of.cpp: New test exercising 
	lib.string.find.last.of.

2006-05-02  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.find.first.of.cpp: New test exercising 
	lib.string.find.first.of.

2006-05-02  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.rfind.cpp: New test exercising lib.string.rfind.

2006-05-02  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.find.cpp: New test exercising lib.string.find.

2006-05-02  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	*  21.string.erase.cpp (MemFun, EraseTags): Removed as 
	obsolete.
	(void_test_cases, size_test_cases, etc): New arrays of the
	test cases to exercise erase overloads.
	(test_erase): Rewrote to use test cases arrays, exception 
	handling updated.
	(main): Updated to use new test driver features.
	*  21.string.append.cpp (ptr_test_cases, str_test_cases, etc): 
	signature descriptions updated.
	(get_calls): New function returning pointer to n_calls array,
	if it presents in the traits type.
	(test_append): Removed obsolete declarations, added the
	traits::length() use verification.
	*  21.string.assign.cpp (ptr_test_cases, str_test_cases, etc): 
	signature descriptions updated.
	(test_assign): Removed obsolete declarations.
	*  21.string.insert.cpp: Same
	*  21.string.op.plus.equal.cpp: Same
	*  21.string.replace.cpp: Same

2006-05-02  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	*  21.strings.cpp (_rw_memfun_names): Added names for
	find, rfind, find_first_of, etc methods. 
	(_rw_setvars): Added missed signatures to the signatures array,
	added cases for erase method and find methods overloads.
	(run_test): Added options for new signatures. 

2006-05-02  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	*  21.strings.h (SignatureId): Added missed signatures. 
	(MemberId): Added elements for erase, find, rfind, etc,
	set start of elements to 1 << 6 because there are more than
	32 signatures.
	(OverloadId): Added elements for find, rfind, etc overloads.
	(TestCase): res_len member renamed ot nres to be used as
	the expected result value than an integer is expected.

2006-04-27  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.cpp (_rw_opt_memfun_enabled): New array of option
	flags analogous to _rw_opt_memfun_disabled.
	(_rw_run_test): Used _rw_opt_memfun_enabled to disable options
	when at least one element is non-zero.
	(run_test): Used _rw_opt_memfun_enabled.

2006-04-26  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (_rw_quotechar, _rw_fmtarray): Avoid instantiating
	on wchar_t when the type is not a fundamental type (since it's
	most likely not distinct from one of the types the templates
	have already been instantiated on at this point).

2006-04-26  Martin Sebor  <sebor@roguewave.com>

	* rw_char.h (UserTraits): Added the MemFun struct and the n_calls_
	array to the definition of the primary template for compatibility
	with the UserTraits<UserChar> specialization.

2006-04-25  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.h (TEST_DISPATCH): Handled all enumerations
	in conditionals.
	* 21.strings.cpp (_rw_run_test): Corrected the use of indices
	in nested loops.
	Added file and line information to rw_note() invocations for
	context.
	Set _rw_no_exceptions and _rw_no_exception_safety in response
	to the _RWSTD_NO_EXCEPTIONS macro being #defined.
	Set _rw_opt_no_char_types [1] in response to _RWSTD_NO_WCHAR_T
	being #defined.

2006-04-25  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.h (run_test): Added function arguments.
	(opt_memfun_disabled, opt_no_user_char, opt_no_char_traits,
	opt_no_user_traits, opt_no_exceptions, opt_no_exception_safety,
	setvars): Removed.
	* 21.strings.cpp (_rw_char_names, _rw_traits_names, _rw_alloc_names,
	_rw_memfun_names): Moved from run_test to file scope to make them
	accessible from other functions.
	(_rw_ilog2): New helper to compute an integral base-2 logarithm.
	(_rw_setvars): Renamed from setvars and gave it internal linkage.
	(_rw_run_test): New helper. Handled command line options common
	to all tests.
	(run_test): Invoked _rw_run_test via a call to rw_test after
	setting and processing command line options common to all tests.
	* 21.string.append.cpp (run_test): Moved body into main and removed.
	(main): Called StringMembers::run_test.
	* 21.string.assign.cpp: Same.
	* 21.string.op.plus.equal.cpp: Same.
	* 21.string.replace.cpp: Same.
	* 21.string.insert.cpp: Same.

2006-04-25  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.h (long_string, long_string_len): New static members.
	* 21.strings.cpp (char_names, traits_names, alloc_names): Moved
	from file scope to run_test.
	(run_test): Initialized long_string.
	* 21.string.append.cpp (run_test): Removed initialization
	of long_string,	used the static member declared in 21.strings.h.
	(AppendOverload): Replaced/renamed macro with OverloadId typedef.
	* 21.string.assign.cpp: Same.
	* 21.string.insert.cpp: Same.
	* 21.string.plus_equal.cpp: Same.
	* 21.string.replace.cpp: Same.

2006-04-25 Anton Pevtsov <antonp@moscow.vdiweb.com>

	* 21.strings.h (SignatureId): Added missed signature sig_val.
	(MemberId): Added new element mem_op_plus_eq.
	(OverloadId): Added new elements for += overloads.
	* 21.strings.cpp (setvars): Updated to support operator+=
	overloads, minor formatting bugs fixed.

2006-04-25  Anton Pevtsov <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.plus_equal.cpp: Enhanced and ported to new test driver.

2006-04-25 Anton Pevtsov <antonp@moscow.vdiweb.com>

	* 21.string.append.cpp (range_test_cases): Bug in test case
	description fixed.
	(test_append_range): Typo bug fixed.
	* 21.string.assign.cpp (exceptions): Added elements and renamed
	from exp_exceptions for clarity.
	(test_exceptions): Merged the body of the function into the
	test_assign function and removed the declaration of the former.
	(test_assign): Exercised both the function exception safety and
	the behavior of the function under normal conditions.
	* 21.string.insert.cpp: Same.
	* 21.string.replace.cpp (exceptions): Added elements and renamed
	from exp_exceptions for clarity.
	(size_size_ptr_test_cases, size_size_str_test_cases, etc): Merged
	with equal iterator version arrays.
	(test_exceptions): Merged the body of the function into the
	test_assign function and removed the declaration of the former.
	(test_replace): Exercised both the function exception safety and
	the behavior of the function under normal conditions.

2006-04-24  Martin Sebor  <sebor@roguewave.com>

	* 21.string.append.cpp (exceptions): Added elements and renamed
	from exp_exceptions for clarity.
	(test_exceptions): Merged the body of the function into the
	test_append function and removed the declaration of the former.
	(test_append_range): Constified locals wherever appropriate
	and introduced new helper variables to simplify expressions.
	(test_append): Exercised both the function exception safety
	and the behavior of the function under normal conditions.

2006-04-24  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.h (DEFINE_TEST_DISPATCH): New helper macro
	to define the same boilerplate "test dispatch" function
	in each test.
	* 21.string.append.cpp (DEFINE_TEST_DISPATCH): Used and
	simplified.
	Renamed the cs function argument to tcase (for test case)
	for clarity.
	(<memory>): Removed the inclusion of an unneeded header.
	* 21.string.assign.cpp: Same.
	* 21.string.insert.cpp: Same.
	* 21.string.replace.cpp: Same.

2006-04-24  Anton Pevtsov <antonp@moscow.vdiweb.com>

	* 21.strings.cpp (setvars): Added formatting of calls to overloads
	of insert.

2006-04-24  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.cpp (setvars): Corrected an off-by-one error indexing
	into an array of signatures.

2006-04-23  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.h (UnknownChar, UnknownTraits, UnknownAllocator): Added.
	(sig_void): Defined to 1 instead of 0 to distinguish an "unknown"
	value from a known one.
	(MemberId): New member indentifying a set of overloads of a given
	member function of basic_string.
	(SignatureId): Renamed from MemberFunction and defined partly in
	terms of MemberId constants.
	(Function): New struct uniquely identifying a specific overload of
	a given member function of a particular specialization of basic_string.
	(setvars): Renamed from format, changed signature and semantics and
	made private.
	(run_test): New function to run all test cases defined by a test.
	* 21.strings.cpp (setvars): Defined the environment variables CLASS,
	FUNC, FUNCSIG, and FUNCALL to the name of the specialization of the
	class template, the name of the member function, and the name of the
	overload of the member function, respectively, and optionally, the
	call to the member function with argument expanded.
	(run_test): Runs all test cases specified by each test.
	* 21.string.append.cpp: Simplified by using the above.
	(MemFun): Defined to StringMembers::Function.
	(tests): Made static local and removed function signatures obviated
	by the above changes.
	* 21.string.assign.cpp: Same.
	* 21.string.replace.cpp: Same.

2006-04-21  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.h (append_last, assign_last, insert_last, replace_last):
	Made constants one greater than the last valid index for each member
	function.
	(append_overloads, assign_overloads, insert_overloads,
	replace_overloads, member_functions): Removed from the definition
	of the MemberFunction enumeration and moved them into an enum of
	their own.
	(append, assign, insert, replace): Removed.
	* 21.strings.cpp (format): Adjusted for the above, simplified the
	formatting of basic_string template arguments by leaving out the
	name of the default allocator for brevity. Implemented the formatting
	for replace.

2006-04-21  Anton Pevtsov  <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>
	
	* 21.string.replace.cpp (<21.strings.h>, StringMembers): Included
	header and used class to simplify.
	(ReplaceTags, TestCase, rw_opt_no_replace_*): Removed, replaced with
	StringMembers equivalents.
	(test_exceptions, test_replace_range, test_replace): Made locals const
	wherever appropriate.

2006-04-20  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.h (TestCase): Added new members.
	(Test): Removed the member which (moved to TestCase).
	(format): Removed last argument.
	(opt_no_user_char, opt_no_char_traits, opt_no_user_traits,
	opt_no_exceptions, opt_no_exception_safety): New static members.
	* 21.strings.cpp: Same as above as necessary.
	* 21.string.append.cpp: Reflected the above.
	* 21.string.assign.cpp: Ditto.

2006-04-20  Martin Sebor  <sebor@roguewave.com>

	* 21.string.append.cpp (test_append): Replaced get_append_format()
	with a direct call to StringMembers::format.
	* 21.string.assign.cpp (test_assign): Same for get_assign_format().

2006-04-20  Martin Sebor  <sebor@roguewave.com>

	STDCXX-174
	* bitset (_C_from_ulong, flip, set, operator<<=): Used ULONG_MAX
	instead of SIZE_MAX in bitwise operations involving unsigned long.

2006-04-20  Martin Sebor  <sebor@roguewave.com>

	* bitset.cpp (__rw_bit_count): Reimplemented to work around
	an uncharacterized MSVC 8.0 codegen bug on EM64T and for
	better efficiency (> 2x speedup on ILP32, likely much greater
	on LP64).

2006-04-20  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.cpp (_RWSTD_TEST_SRC): Defined.

2006-04-19  Martin Sebor  <sebor@roguewave.com>

	* 21.strings.assign.cpp (<21.strings.h>, StringMembers): Included
	header and used class to simplify.
	(AssignOverload, TestCase, FunctionTag, rw_opt_no_assign): Removed,
	replaced with StringMembers equivalents.
	(*_test_cases): Renamed from assign_*_test_cases for simplicity,
	reverting a previous rename in the opposite direction.
	* 21.strings.append.cpp: Same.

2006-04-19  Martin Sebor  <sebor@roguewave.com>

	* 21_strings.h: New header containing definitions of helpers
	used in clause 21 tests.
	* 21_strings.cpp: New implementation file of the same.

2006-04-19  Martin Sebor  <sebor@roguewave.com>

	* 21.string.assign.cpp (AssignOverload): Renamed from AssignTags.
	(TestCase): Renamed members to correspond to AssignOverload enums
	and to better indicate the purpose of each.
	(rw_opt_no_assign_*): Collapsed individual varaibles into an array
	indexed with AssignOverload enums.
	(*_test_cases): Renamed to assign_*_test_cases for consistency and
	to make it easy to refer to each array using just AssignOverload
	enums.
	(FunctionTag): Removed p_opt member (obviated by the addition
	of the rw_opt_no_assign array) and renamed other members for
	consistency with local variables used to refer to the same things
	elsewhere in the test.
	(TEST): Simplified the definition of the macro by relying on the
	changes above.
	(test_assign_exceptions, test_assign_range, test_assign): Introduced
	local helper variables, consitified others, and simplified.
	(get_assign_format): Removed first two arguments and changed to
	return pointer to the formatted string.
	(test_assign): Qualified a call to free() with std:: and simplified.
	(test_assign): Naming changes.
	(main): Used rw_opt_no_assign array.

2006-04-19  Martin Sebor  <sebor@roguewave.com>

	* fmt_defs.h (<testdefs.h>): Included.
	(i64_t): Defined to int when _RWSTD_INT32_T is not #defined.

2006-04-18  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 20.auto.ptr.cpp: New test exercising lib.auto.ptr.

2006-04-18  Martin Sebor  <sebor@roguewave.com>

	* testdefs.h (_PTR_THROWS): New helper macro.

2006-04-18  Martin Sebor  <sebor@roguewave.com>

	STDCXX-172
	* _smartptr.h (__rw_nonvoid_ref): Moved from here...
	* _autoptr.h: ...to here and used to declare operator*().
	(operator->): Avoided using _RWSTD_OPERATOR_ARROW and instead spelled
	out the definition of the operator without relying on operator*() to
	avoid instantiating its (ill-formed) declaration when element_type is
	void.

2006-04-14  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.assign.cpp: New test exercising lib.string.assign.

2006-04-12  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.append.cpp: New test exercising lib.string.append.

2006-04-10  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.replace.cpp (ReplaceTags): Enum members renamed
	according to naming convention.
	(TestCase): num2, it_res, it_res_len fileds removed as obsolete,
	cnt field rename to count.
	(test_cases): array split to off_size_test_cases, 
	off_size_str_test_cases, etc to exercise each replace 
	overload separately.
	(FunctionTag): New strcture containing information about test
	options and test cases for each replace overload.
	(function_tags): New array of function tags.
	(rw_opt_no_replace_off_size_ptr, rw_opt_no_replace_off_size_str, ...): 
	Command line options renamed according naming convention.
	(test_replace_exceptions): New function to exrcise exception safety.
	(test_replace_range): New functions to exercise 
	replace range version.
	(test_replace): Modified to exercise replace versions independently,
	included exception safety tests, added exc_safety_test parameter 
	to indicate the test case type.
	(get_replace_format): New function to prepare test output 
	formatted string.
	(run_test): Modified to iterate through function_tags array.
	(main): Changed to operate with renamed command line options.

2006-04-10  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.insert.cpp (get_insert_format): Added missed 
	function name "insert".

2006-04-07  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.insert.cpp (rw_opt_no_exception_safety): New option to
	disable the exception safety tests.
	(off_test_cases, off_str_test_cases, ...): New test cases were 
	added include cases for exception safety tests.
	(test_insert_exceptions): New function to exrcise exception safety.
	(test_insert): Modified to include exception safety tests, added
	exc_safety_test parameter to indicate the test case type.
	(main): added support for new option  no-exception-safety.

2006-04-06  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-168
	* generate.wsf (readAndCheckArguments): Conversion to absolute
	path added.
	(createBuildDirs): Added mechanism to create all BUILDDIR
	subfolders.

2006-04-04  Martin Sebor  <sebor@qvdx018242>

	* fmt_bits.cpp (<ctype.h>): Added a missing #include directive.

2006-04-03  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.insert.cpp: New test exercising lib.string.insert.

2006-04-03  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 0.char.cpp (rw_widen): Exercised r391042
	(rw_narrow): The same.

2006-04-03  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* char.cpp (rw_widen): Added '\0' symbol to the end of string.

2006-03-30  Martin Sebor  <sebor@roguewave.com>

	* fmt_defs.h: New header.
	* printf.cpp (Buffer, FmtSpec): Moved definitions to fmt_defs.h.
	(_rw_fmterrno, _rw_fmtlc, _rw_fmtmask, _rw_fmtiostate, _rw_fmtflags,
	_rw_fmtopenmode, _rw_fmtseekdir, _rw_fmtevent, _rw_fmtmonpat,
	_rw_fmtsignal): Moved definitions to fmt_bits.cpp.
	(_rw_quotechar, _rw_fmtarray): Prepended underscore according
	to the naming convention.
	(_rw_fmtspec): Corrected the handling of $<expression> syntax.
	(_rw_fmtexpr): New function to format expressions involving
	environment variables.
	(_rw_vasnprintf_ext): Called _rw_fmtexpr(). Avoided aborting on
	malformed directives.
	* fmt_bits.cpp (_rw_fmterrno, _rw_fmtlc, ...): Moved definitions
	from printf.cpp.
	* test/printf.cpp (test_envvar): Exercised $<expressions>.
	(test_malformed_directives): Exercised malformed directives.
	(test_tm): Used a power of 2 (sizeof(int)) to create a bad
	(misaligned) address.

2006-03-30  Martin Sebor  <sebor@roguewave.com>

	* environ.cpp (rw_putenv): Removed the variable from the environment
	when it doesn't contain the equals sign.

2006-03-28  Martin Sebor  <sebor@roguewave.com>

	* cwchar (mbrlen, mbrtowc, ...): Used _RWSTD_MBSTATE_T instead
	of mbstate_t.
	* _mbstate.h (_RWSTD_NO_STD_MBSTATE_T): Undefined when not using
	HP aCC on HP-UX (i.e., for gcc).

2006-03-28  Martin Sebor  <sebor@roguewave.com>

	* memattr.cpp (__rw_memattr): Checked errno for EFAULT and ENOMEM
	after caling madvise() on Linux to prevent false negatives when
	errno is set to EBADF for mapped address ranges not backed by a
	file.

2006-03-28  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.copy.cpp: New test exercising lib.string.copy.

2006-03-27  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.cfg (compile, link, compile_then_link, prelink, archive):
	New helper functions to invoke the compiler, linker, and archiver and
	log the results.
	(arch): Used the function(s) defined above and simplified. Exited with
	an error when unable to determine the system architecture.
	(sane, %.o: %.cpp, %: %.o, library rule): Used the function(s) defined
	above and simplified.

2006-03-27  Martin Sebor  <sebor@roguewave.com>

	STDCXX-159
	* _config-xlc.h: Disabled explicit instantiation for XLC++ 8.0 when
	extern template isn't correctly implemented to work around an XLC++
	8.0 optimizer bug.

2006-03-27  Martin Sebor  <sebor@roguewave.com>

	* merge.cpp: Used '\n' instead of endl.
	* merge.out: Added terminating newline.

2006-03-27  Martin Sebor  <sebor@roguewave.com>

	* char.cpp (_rw_fmtstringv): Used _RWSTD_VA_COPY() instead of direct
	assignment to va_list (which may have array type) .

2006-03-27  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.replace.cpp (test_replace): Strings format in
	rw_assert calls changed to generic strings, workaround 
	for UserChars strings output removed as obsolete.

2006-03-27  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.erase.cpp (EraseTags): New enum determining which
	erase version to test.
	(test_erase): Changed "which" parameter type to use new enum,
	changed strings output in rw_assert calls to use generic
	strings.
	(note_test_disabled): Changed "which" parameter type to
	EraseTags enum.
	(run_test): Updated to use new enum EraseTags instead of
	integer.

2006-03-27  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.capacity.cpp (MemFun): Add UChar member to charT
	enum.
	(test_resize): Updated to be able operate with UserChar's,
	strings output format in rw_assert calls changed to generic 
	strings.
	(test_capacity): The same.
	(rw_opt_no_user_chars): New cmd line option --no-user_chars.
	(run_test): UserChar's tests added.
	(main): New command line option added.

2006-03-25  Martin Sebor  <sebor@roguewave.com>

	* locale_body.cpp (__rw_cats): Guarded the use of _RWSTD_CAT_5
	and used _RWSTD_CAT_0 in its place when not #defined (e.g., by
	dumb windoze).

2006-03-25  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (UChar, UShrt, UInt, ULong, ULLong): Introduced and
	used global convenience typedefs.
	(WEOF): Defined if not defined in libc headers.
	(rw_quotechar, rw_fmtarray): Explicitly instantiated for compilers
	such as Compaq C++ that do not do so implicitly.

2006-03-25  Martin Sebor  <sebor@roguewave.com>

	* _defs.h (_RWSTD_VA_COPY): New helper macro.
	* VA_LIST.cpp(_RWSTD_NO_VA_COPY): New macro #defined in response
	to the C99 va_copy() macro not being #defined in <stdarg.h>.
	* exception.cpp (__rw_vfmtwhat): Unconditionally used _RWSTD_VA_COPY().
	* printf.cpp (rw_vasnprintf): Used _RWSTD_VA_COPY.
	(rw_sprintf, rw_snprintf): Provided definitions.

2006-03-25  Martin Sebor  <sebor@roguewave.com>

	* memattr.cpp (__rw_memattr): Used mvalid() instead of madvise()
	on Tru64 UNIX.
	Removed checks for errno values EFAULT and EINVAL for portability
	and simply tested for any non-zero errno value.

2006-03-25  Martin Sebor  <sebor@roguewave.com>

	STDCXX-167
	* vacpp.config (WIDE_ARFLAGS): Used -X64 only on AIX (and not,
	for example, on Linux).

2006-03-22  Martin Sebor  <sebor@roguewave.com>

	STDCXX-140
	* LOCALE_NAME_FMAT.cpp (lc_vars): Added LC_ALL.
	(print_lc_constants): Avoided the assumption that the name of each
	constant contains the equals sign.
	(print_categories): Iterated through all lc_vars but the element
	that refers to LC_ALL.

2006-03-22  Martin Sebor  <sebor@roguewave.com>

        STDCXX-140
	* LOCALE_NAME_FMAT.cpp (setlocale): Added a definition for debugging
	(to emulate platforms with no locales installed) and disabled it.
	(test_locale_names, nlocales): Renamed from loc and and nloc, and
	made const.
	(print_lc_constants, print_categories, print_locale_name_format):
	New helper functions for better readability.
	(cat_seps): Renamed from cats and moved from main() to file scope.
	(lc_consts): Merged with lc_vars.
	(lc_vars): Moved to file scope.
	(print_locale_name_format): Hardcoded locale format for a bunch
	of platforms in case there are no locales installed on the system.
	(test_locale_names): Added more locales.

2006-03-22  Martin Sebor  <sebor@roguewave.com>

	STDCXX-140
	* locale_body.cpp (_C_is_managed): Avoided an infinite loop
	when _RWSTD_CAT_SEP is #defined to the empty string ("").

2006-03-22  Martin Sebor  <sebor@roguewave.com>

	* locale_body.cpp (size_t): Used instead of _RWSTD_SIZE_T for
	readability.
	(_V3_LOCALE, _RWSTD_NO_V3_LOCALE): Removed dead macro/guard.
	Minor formatting adjustments for consistency.

2006-03-22  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.replace.cpp (LPAR): Macro definition changed
	(long_parity_len): Removed as obsolete.
	(ReplaceTags): New enum containing the descriptive "which"
	arguments.
	(test_cases): Strings alignment changed.
	(test_replace): Changed to use ReplaceTags members, type of
	"which" variable changed to ReplaceTags.
	(note_test_disabled): The same.
	(run_test): The same.

2006-03-21  Martin Sebor  <sebor@roguewave.com>

	* char.cpp (test_rw_match): Cast character string macro argument
	to the correct type.

2006-03-21  Martin Sebor  <sebor@roguewave.com>

	* rw_char.h (UserCharFmatInit, _rw_user_char_fmat_init): Initializer
	type and object to install a "user-defined" formatting callback for
	arrays of generic characters including UserChar.
	* src/char.cpp (_rw_fmtstring, _rw_fmtstringv): "User-defined"
	formatting callback for arrays of generic characters including
	UserChar.
	* test/0.char.cpp (test_formatting): Exercised the above.

2006-03-21  Martin Sebor  <sebor@roguewave.com>

	* 21.string.capacity.cpp (LSTR, LLEN): New macros for convenience.
	(test_resize): Changed type of cparam argument to int and simplified.
	(test_capacity): Avoided returning the result of a call to a fuction
	returning void to prevent an HP aCC 3.63 error. Eliminated pstr local
	variable and used the same string object instead.
	(test_resize): Added test cases.

2006-03-21  Martin Sebor  <sebor@roguewave.com>

	* rw_char.h (rw_match): Declared and documented new helpers.
	* src/char.cpp (rw_match): Implemented new helpers.
	* test/char.cpp (test_rw_match): Exercised new helpers.

2006-03-20  Martin Sebor  <sebor@roguewave.com>

	* 21.string.replace.cpp (LSTR, LLEN, LPAR): New convenience macros.
	(TestCase::str, src, res, it_res): Added const-qualification to avoid
	gcc warnings.
	(test_replace): Added const-qualification wherever appropriate.

2006-03-20  Martin Sebor  <sebor@roguewave.com>

	* rw_char.h (rw_narrow): Declared new testsuite helper(s).
	* char.cpp (rw_narrow): Implemented new testsuite helper(s).
	* 0.char.cpp (test_narrow): Exercised new testsuite helper(s).

2006-03-20  Martin Sebor  <sebor@roguewave.com>

	* 0.char.cpp (test_widen): Exercised r387377.

2006-03-20  Martin Sebor  <sebor@roguewave.com>

	* char.cpp (rw_widen): Zeroed out the destination array when the
	source pointer is null and length is less than SIZE_MAX (i.e.,
	implemented the equivalent of memset(dst, 0, len * sizeof *dst)).
	* rw_char.h (rw_widen): Updated comments to reflect the above.

2006-03-20  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.replace.cpp (ReplaceData): Removed as obsolete
	(TestCase): New structure to store a test case
	(test_cases): Static array of the test cases
	(test_replace): Functions updated to use TestCase and test_cases[] 
	instead of ReplaceData.

2006-03-20  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.capacity.cpp (run_test): Fixed bug in options processing
	(main): Fixed bug with missed '#' sign in options.

2006-03-20  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.erase.cpp (main): Fixed bug with missed '#' sign.

2006-03-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 27.istream.unformatted.get.cpp: New test exercising the overloads
	of the get() member functions specified in lib.istream.unformatted.

2006-03-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-3
	* rw_streambuf.h: New header. Defines a test streambuf class template.

2006-03-19  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (bad_address, format_bad_address): Helpers to generate
	and format an invalid or misaligned address.
	(test_string, test_chararray, test_basic_string, test_tm): Used
	bad_address and format_bad_address to exercise the detection and
	formatting of invalid and misaligned addresses.
	(test_ios_bitmasks): Verified that the directive doesn't insert NULs.

2006-03-19  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (_rw_fmtbadaddr): Added a size argument to distinguish
	an invalid address from a misaligned one.
	(_rw_vasnprintf_c99, rw_vasnprintf, _rw_fmtpointer, _rw_fmtarray,
	_rw_vfprintf): Explicitly cast integer values to the target type
	to silence HP aCC's truncation and or sign-extension warnings.
	(_rw_fmttm, rw_fmtarray, _rw_fmtwstr, _rw_vasnprintf_ext): Detected
	and properly formatted both invalid and mislaigned addresses.
	(rw_bmpfmt): Avoided NUL-terminating buffer.

2006-03-18  Martin Sebor  <sebor@roguewave.com>

	* 22.locale.num.get.cpp (<cstddef>): Removed an unnecessary #include
	directive.
	(PunctData): New base class of the Punct<charT> template to reduce
	code bloat.
	(Punct): Derived from PunctData and simplified.
	(Streambuf): New class template.
	(Ios, NumGet): Added a template parameter.
	(do_test): Exercised std::num_get specializations on istreambuf_iterator
	and user-defined InputIterator type in addition to character pointer.
	(do_test): New helper to dispatch to the appropriate specialization of
	the main do_test function.
	(test_errno, test_bool, test_shrt, ...): Removed the charT template
	parameter to reduce code bloat.
	(test_llong, test_ullong): Guarded with _RWSTD_NO_LONG_LONG.
	(run_tests): New dispatch function on iterator type.

2006-03-18  Martin Sebor  <sebor@roguewave.com>

	* 22.locale.num.get.cpp [_MSC_VER] (ULL): Corrected typo in macro name.
	(test_llong) Moved sign out of the macro argument to prevent undefined
	behavior due to the concatenation of more than two tokens during
	preprocessing.

2006-03-18  Martin Sebor  <sebor@roguewave.com>

	* 22.time.put.cpp: Renamed...
	* 22.locale.time.put.cpp: ...to this for consistency.

2006-03-18  Martin Sebor  <sebor@roguewave.com>

	* 22.time.put.cpp (<rw_locale.h>): Included instead of <localedef.h>.

2006-03-18  Martin Sebor  <sebor@roguewave.com>

	STDCXX-165
	* num_get.cpp (__rw_get_num): Checked _LONG_DOUBLE in addition to __hpux
	before using struct long_double in case the struct is not defined e.g.,
	when using gcc's replacement <stdlib.h> on HP-UX.

2006-03-18  Martin Sebor  <sebor@roguewave.com>

	* localedef.h: Renamed...
	* rw_locale.h: ...to this to prevent clashing with the HP-UX
	system header with the same name.
	* localedef.cpp: Renamed...
	* locale.cpp: ...to this to (pretty closely) match header name.

2006-03-18  Martin Sebor  <sebor@roguewave.com>

	STDCXX-164
	* FLOAT.cpp (strtold): Checked _LONG_DOUBLE in addition to __hpux
	before using struct long_double in case the struct is not defined
	e.g., when using gcc's replacement <stdlib.h> on HP-UX.

2006-03-18  Martin Sebor  <sebor@roguewave.com>

	STDCXX-166
	* GNUmakefile (SHARED_SUFFIX, STATIC_SUFFIX): Defined variables
	only if they are not already defined (in the .config file).

2006-03-17  Martin Sebor  <sebor@roguewave.com>

	* gcc.config (LDSOFLAGS): Removed -lsupc++ from the defintion
	of the variable (libraries go in the LDIBS variable and only
	position independent options in LDSOFLAGS and similar).

2006-03-17  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.lib: Generalized the handling of shared archives
	so as not to depend on the name of the compiler (which, while
	unique to VisualAge/XLC++, is specific to AIX); Used BUILDMODE
	instead.
	Moved LDFLAGS before OBJS on the link line since the former
	should not contain any libraries (that's what LDLIBS is for).

2006-03-17  Martin Sebor  <sebor@roguewave.com>

	* vacpp.config: Used xlc with a whole bunch of obscure libraries
	on the link line instead of xlC on Linux in order to prevent the
	compiler driver from linking with gcc's libstdc++.

2006-03-17  Martin Sebor  <sebor@roguewave.com>

	* _tree.h (_C_make_iter): Removed an unnecessary const qualification.

2006-03-17  Martin Sebor  <sebor@roguewave.com>

	* exception.cpp (_C_assign): Replaced size_t (~0) with SIZE_MAX
	to avoid HP aCC remark 4237.
	(operator=): Avoided the use of a comma expression in the return
	statement to prevent the bogus HP aCC remark 4284 (operator= does
	not return reference to *this).

2006-03-17  Martin Sebor  <sebor@roguewave.com>

	* ti_filebuf.cpp (<stdio.h>): Included before <fstream> to get
	the extended member functions of basic_filebuf that take FILE*
	as an argument defined and to prevent unsats from programs that
	do the same thing when extern template is enabled.
	* ti_filebuf.cpp: Ditto.

2006-03-17  Martin Sebor  <sebor@roguewave.com>

	* 25.equal.range.cpp (Y ctor): Changed argument to char.
	(test_equal_range): Removed a cast to prevent gcc 3.2 from
	confusing an object definition with that of a function.

2006-03-17  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.replace.cpp: Svn properties were set.

2006-03-17  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 21.string.replace.cpp: New test exercising lib.string.replace.

2006-03-16  Martin Sebor  <sebor@roguewave.com>

	* 25.adjacent.find.cpp (test_adjacent_find): Corrected paramno values
	to account for the change in the handling of conditionals in r371638.

2006-03-16  Martin Sebor  <sebor@roguewave.com>

	* memattr.cpp (__rw_memattr): Handled EFAULT (set by HP-UX)
	in addition to ENOMEM.

2006-03-15  Martin Sebor  <sebor@roguewave.com>

	* driver.cpp (RLIM_SAVED_CUR, RLIM_SAVED_MAX): Defined to RLIM_INFINITY
	when not #defined.
	(rw_vtest): Explicitly cast an int to long to silence HP aCC's integer
	widening warning 887.

2006-03-15  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 21.string.erase.cpp (rw_opt_no_exceptions, rw_opt_no_erase, 
	rw_opt_no_erase_pos, rw_opt_no_erase_count,
	rw_opt_no_erase_iterator, 
	rw_opt_no_erase_range): New command line options.
	(test_erase): Added check for the --no-exceptions option.
	(note_test_disabled): New function to display the disable note.
	(run_test): Changed to support new command line options.
	(main): Added new command line options.

2006-03-14  Martin Sebor  <sebor@roguewave.com>

	* driver.cpp (<ctype.h>): Included for islower() and isupper().
	(<sys/resource.h>): Conditionally included for setrlimit().
	(_rw_check_init): Enhanced diagnostics.
	(_rw_setopt_output_file): Correctly handled spaces between the short
	option and its argument (i.e., allowd -o <filename> in addition to
	-o<filename>).
	(_rw_setopt_ulimit): New function to set one or more resource (soft
	and/or hard) limits.
	(_rw_setopt_compat_error, _rw_setopt_compat_warn): New helpers to
	print out diagnostics for compatibility-mode options used when not
	in that mode.
	(_rw_setopt_compat_append): -A compatibility option handler.
	(_rw_setopt_compat_compiler): -C compatibility option handler.
	(_rw_setopt_compat_dir): -D compatibility option handler.
	(rw_setopt_compat_debug_file): -G compatibility option handler.
	(_rw_setopt_compat_alarm): -L compatibility option handler.
	(_rw_setopt_compat_machine): -M compatibility option handler.
	(_rw_setopt_compat_output_file): -O compatibility option handler.
	(_rw_setopts_compat): New function to install compatibility option
	handlers.
	(rw_vtest): Installed --ulimit handler and called _rw_setopts_compat.

2006-03-14  Martin Sebor  <sebor@roguewave.com>

	* 25.find.cpp (test_find): Avoided binding a reference to an unnamed
	temporary to prevent a code generation issue with Intel C++ 9.0.
	Simplified by removing unnecessary template argument(s).

2006-03-11  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 21.string.erase.cpp: New test exercising lib.string.erase.

2006-03-11  Martin Sebor  <sebor@roguewave.com>

	* rw_char.h (rw_widen): Documented behavior.

2006-03-11  Martin Sebor  <sebor@roguewave.com>

	* char.cpp (copy, move, rw_widen): Corrected logic errors.

2006-03-11  Martin Sebor  <sebor@roguewave.com>

	* 0.char.cpp: New test exercising the UserTraits class template
	and the rw_widen() set of overloaded helper functions.

2006-03-09  Martin Sebor  <sebor@roguewave.com>

	* 21.string.capacity.cpp (test_capacity): Changed Traits argument from
	by-value to a pointer to avoid making assumptions about Traits object
	being constructible.

2006-03-09  Martin Sebor  <sebor@roguewave.com>

	* rw_char.h (UserTraits<UserChar>): Declared ctor, dtor and assignment
	private to detect unwarranted assumptions.
	(MemFun, n_calls_): New member class and array of counters to keep
	track of member function calls.
	(assign, eq, lt, not_eof, to_char_type, to_int_type, eq_int_type,
	eof): Outlined UserTraits members.
	* char.cpp (assign, eq, lt, not_eof, to_char_type, to_int_type,
	eq_int_type, eof): Defined out of line.
	(copy, move): Corrected logic errors.

2006-03-09  Martin Sebor  <sebor@roguewave.com>

	* collate.cpp (_RWSTD_MB_MAX): Defined to avoid using MB_LEN_MAX
	in case it's less than 8 (the theoretical maximum for UTF-8) or
	even less than 6 (the real maximum for UTF-8). Noted by HP aCC
	6.07.
	(__rw_get_w_ce_offset, __rw_get_wchar_offset, do_transform): Used
	_RWSTD_MB_MAX.
	(__rw_strnxfrm, __rw_wcsnxfrm): Plugged a potential memory leak
	noted by HP aCC 6.07.

2006-03-09  Martin Sebor  <sebor@roguewave.com>

	* README: Corrected the location of the etc/nls/ subdirectory.

2006-03-09  Martin Sebor  <sebor@roguewave.com>

	* rw_char.h (UserTraits<UserChar>): Moved _TEST_EXPORT where MSVC
	wants to see it.
	* char.cpp (assign): Added a missing definition.

2006-03-08  Martin Sebor  <sebor@roguewave.com>

	* STD_BAD_TYPEID.cpp (type_info): Defined class when the header
	<typeinfo> (or <typeinfo.h> is not available to avoid false
	negatives (such as with Intel C++ on Linux).

2006-03-08  Martin Sebor  <sebor@roguewave.com>

	* _defs.h (_RWSTD_NO_IMPLICIT_INSTANTIATION): Handled in a conditional.
	Added comments.

2006-03-08  Martin Sebor  <sebor@roguewave.com>

	* fstream (_C_pbacksize): Changed type from streamsize to size_t
	since negative values don't make sense and aren't permitted.
	* streambuf (_C_write_avail, _C_putback_avail): Returned size_t
	instead of streamsize since the returned value is guaranteed to
	be non-negative.

2006-03-07  Martin Sebor  <sebor@roguewave.com>

	* 21.string.capacity.cpp  (CharTraits, widen): Replaced with UserTraits
	and rw_widen() from <rw_char.h>.
	(test_resize): Renamed locals.
	(test_string_capacity): Renamed...
	(test_capacity): ...to this.
	(rw_opt_no_exceptions): New option to disable exceptions.
	(test_resize): Handled rw_opt_no_exceptions.
	(main): Same.

2006-03-07  Martin Sebor  <sebor@roguewave.com>

	* rw_char.h (compare, length, find, copy, move, assign): Outlined
	UserTraits<UserChar> members.
	(rw_widen): New functions for the wideining of narrow characters
	to the three character types used in the test suite (char, wchar_t,
	and UserChar).
	* char.cpp (compare, length, find, copy, move, assign, rw_widen):
	Defined.

2006-03-07  Martin Sebor  <sebor@roguewave.com>

	* 21.string.capacity.cpp (test_resize): Printed the (narrow)
	string before modifying it (as opposed to after) in diagnostics.

2006-03-07  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (_rw_vasnprintf_ext): Handled width in %{s} and %{ls}.
	* snprintfa.cpp (test_string): Exercised the above.

2006-03-07  Anton Pevstov  <antonp@moscow.vdiweb.com>

	* 21.string.capacity.cpp: Handled embedded NUL characters correctly.
	Added test cases and comments.

2006-03-06  Martin Sebor  <sebor@roguewave.com>

	* b_search.cpp: Uncomplicated tricky expression to deconfuse
	the XLC++ 8.0 optimizitor. Introduced convenience typedefs
	for better readability. Renamed...
	* binary_search.cpp: ...to this.
	* b_search.out: Renamed...
	* binary_search.out: ...to this.

2006-03-06  Martin Sebor  <sebor@roguewave.com>

	* FUNC.cpp (__func__): Moved to function scope to avoid
	an XLC++ 8.0 ICE (PMR 02238).

2006-03-06  Martin Sebor  <sebor@roguewave.com>

	* ATOMIC_OPS.cpp: Added/changed comments.

2006-03-06  Martin Sebor  <sebor@roguewave.com>

	* atomic-cxx.S: Changed copyright to the ASF.

2006-03-06  Martin Sebor  <sebor@roguewave.com>

	STDCXX-162
	* _config.h (_RWSTD_NO_STRING_MUTEX): Removed conditional definition.
	* _mutex.h (_RWSTD_ATOMIC_OPS): Corrected spelling and simplified the
	handling of the macro. Handled x86_64 in the same block as IA64.
	* _strref.h (_RWSTD_NO_STRING_MUTEX): Defined in response to
	_RWSTD_ATOMIC_OPS being undefined.
	* atomic.s: Handled __x86_64 (and __x86_64__).
	* i86_64/atomic.s: AMD64/EM64T implementation.

2006-03-04  Martin Sebor  <sebor@roguewave.com>

	* istream.cc (_C_ipfx, _C_unsafe_get, _C_get, read, getline,
	operator>>): Used direct initialization instead of copy
	initialization for int_type objects.
	(read): Eliminated an assumption about the return type of
	int_type's assignment operator.

2006-03-04  Martin Sebor  <sebor@roguewave.com>

	STDCXX-3
	* rw_char.h: New header with definitions of a user-defined character
	type, a user-defined traits type, and a user-defined int_type.

2006-03-04  Anton Pevstov  <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	* 21_capacity.cpp: New test exercising lib.vector.capacity.

2006-03-03  Liviu Nicoara <nicoare@roguewave.com
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 23.vector.modifiers.cpp: New test exercising lib.vector.modifiers.

2006-03-03  Liviu Nicoara  <nicoara@roguewave.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 23.vector.capacity.cpp: New test exercising lib.vector.capacity.

2006-03-03  Martin Sebor  <sebor@roguewave.com>

	STDCXX-161
	* fstream.cc (sync): Called __rw_fflush() in stdio mode.

2006-03-03  Martin Sebor  <sebor@roguewave.com>

	* fstream.cc (sync): Fixed typos inadvertently s introduced
	in a previous change. Changed the type of a local to avoid
	signed/unsigned comparison warnings.

2006-03-03  Martin Sebor  <sebor@roguewave.com>

	* fstream (__GNUC__MINOR__): Corrected spelling.

2006-03-03  Martin Sebor  <sebor@roguewave.com>

	STDCXX-160
	* fstream.cc: Avoided using operator+ on pos_type (which need
	not be defined) and used the required operator+= instead.

2006-03-03  Martin Sebor  <sebor@roguewave.com>

	* wcodecvt.cpp (wcrtomb): Corrected declaration.

2006-03-03  Martin Sebor  <sebor@roguewave.com>

	* libc_decl.sh: Used < instead of == when comparing HP aCC version
	to determine whether it's an IPF (i.e., 5 and 6) or PA (i.e., 3 or
	1) compiler.
	Corrected a typo in shell quoting.

2006-03-02  Martin Sebor  <sebor@roguewave.com>

	* _config.h: Moved each compiler-specific section to its own header.
	* _config-acc.h: HP aC++ configuration definitions and overrides.
	* _config-deccxx.h: Same for DEC/Compaq/HP C++.
	* _config-eccp.h: Same for the EDG eccp demo.
	* _config-gcc.h: Same for GCC.
	* _config-icc.h: Same for Intel C++.
	* _config-mipspro.h: Same for SGI MIPSpro.
	* _config-msvc.h: Same for MSVC.
	* _config-sunpro.h: Same for Sun C++ aka SunPro.
	* _config-xlc.h: Same for IBM XLC++ aka VisualAge C++.

2006-03-01  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 21.string.access.cpp: New test exercising lib.string.access.

2006-03-01  Martin Sebor  <sebor@roguewave.com>

	* README: Documented the _RWSTD_NO_COLLAPSE_STATIC_LOCALS,
	_RWSTD_NO_COLLAPSE_TEMPLATE_LOCALS, and
	_RWSTD_NO_COLLAPSE_TEMPLATE_STATICS configuration macros.
	Renamed SunPro to Sun C++.

2006-02-28  Martin Sebor  <sebor@roguewave.com>

	* 0.printf.cpp (test_bufsize): Exercised %{N}, the fixed-width
	buffer extension (implemented in r381880).
	(_RWSTD_NO_SPRINTFA_FUNNAME): Corrected spelling.

2006-02-28  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (Buffer): New class for dynamic buffer management, to
	replace the char**, size_t arguments and allow to specify the max
	buffer size (to avoid reallocation of statically allocated buffers
	in the spirit of snprintf).
	(_rw_bufcat): Prevented exceeding the maximum size of the buffer.
	(rw_vasnprintf, rw_fmtarray, _rw_fmtstr, _rw_fmtwstr, _rw_fmtflags):
	Removed gratuitous insertion of the terminating NUL.
	(_rw_vasnprintf_ext): Advanced the end offset after calling a user
	defined formatting function.

2006-02-28  Martin Sebor  <sebor@roguewave.com>

	* 27.stringbuf.virtuals.cpp: Enhanced to exercise xsputn, including
	STDCXX-142.

2006-02-27  Martin Sebor  <sebor@roguewave.com>

	* 25.unique.cpp (run_test): Used BinaryPredicate::op_equals.
	(test_unique): Removed case sensitive tests.
	(test_unique): Used X::mismatch() instead of comparing the resulting
	sequence manually one element at a time, and used %{X=*.@} instead
	of %{X=*.*} for simplicity.

2006-02-27  Martin Sebor  <sebor@roguewave.com>

	* alg_test.h (mismatch): New helper function.
	(BinaryPredicate): Modified ctor to take an argument describing
	the operation performed by the member operator(), removed copy
	ctor and assignment operator.
	(X::Less): New class.
	* alg_test.cpp (mismatch): Defined.
	(compare): Implemented in terms of mismatch.
	(BinaryPredicate): Removed copy ctor and assignment operator.
	(_rw_fmtxarrayv): Recognized '@' in addition to '*' as a way
	to specify the position of the cursor (as the pointer rather
	than the index of the element designated by the cursor).

2006-02-27  Martin Sebor  <sebor@roguewave.com>

	* 26.adjacent.diff.cpp: Replaced class Y with class X and enhanced
	diagnostic output to take advantage of the %{X=+*} directive to
	format sequences of objects of type X as strictly numeric arrays.
	* 26.inner.product.cpp: Same.
	* 26.partial.sum.cpp: Same.

2006-02-27  Martin Sebor  <sebor@roguewave.com>

	* alg_test.h: Added support for arithmetic self-assignment operators
	to allow class X to be used in tests for numeric algorithms.
	* alg_test.cpp: Definitions of the above.
	(_rw_fmtxarrayv): Recognized and handled the '+' flag to force only
	numeric formatting.

2006-02-27  Martin Sebor  <sebor@roguewave.com>

	* sstream.cc (overflow): Removed an unused variable.

2006-02-27  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 26.partial.sum.cpp: New test exercising lib.partial.sum.

2006-02-27  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 26.inner.product.cpp: New test exercising lib.inner.product.

2006-02-27  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 26.adjacent.diff.cpp: New test exercising lib.adjacent.diff.

2006-02-25  Martin Sebor  <sebor@roguewave.com>

	STDCXX-142
	* _defs.h (_RWSTD_MINIMUM_STRINGBUF_CAPACITY): New macro.
	* sstream (xsputn): Added a declaration.
	(_C_grow): Removed an unnecessary function argument, used the
	new _RWSTD_MINIMUM_STRINGBUF_CAPACITY macro, and simplified.
	* sstream.cc (str): Extended to allow to be called with own
	buffer as an argument to grow it.
	(xsputn): Defined for better efficiency than the base class
	function.
	(overflow): Called str() for code reuse.
	(setbuf): Set the "high mark" in out mode.
	Updated copyrights.

2006-02-25  Martin Sebor  <sebor@roguewave.com>

	* _defs.h (_M_IA64): Used instead of the generic MSVC _WIN64 macro
	to distinguish between the IA64 SDK and ordinary WIN64 environments
	such as EM64T.

2006-02-24  Martin Sebor  <sebor@roguewave.com>

	* _traits.h (_RWSTD_MEMCPY, et al): Qualified name(s) with the
	_RWSTD_C:: prefix. Updated copyright.

2006-02-24  Martin Sebor  <sebor@roguewave.com>

	* UNISTD_DECL.cpp (LONG_LONG): Corrected a typo in conditionally
	compiled and conditionally used code.

2006-02-24  Martin Sebor  <sebor@roguewave.com>

	STDCXX-153
	* _punct.cc (__rw_match_name): Parenthesized toupper to prevent
	macro expansion.

2006-02-23  Martin Sebor  <sebor@roguewave.com>

	* libc_decl.sh (memchr, wmemchr): Eliminated the use of spaces
	to prevent false negatives.
	(memchr): Made the type of the first argument a void* instead
	of char* to prevent ambiguity in the presence of C++ overloads.
	(f): Quoted a variable.

2006-02-21  Martin Sebor  <sebor@roguewave.com>

	* libc_decl.sh (memchr): Cast first argument to const to avoid
	possible ambiguity.

2006-02-21  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (rw_vasnprintf): Increased the size of the backtrack
	array, increased the size of the cvtspec buffer after a successful
	allocation, and asserted preconditions.

2006-02-21  Anton Pevtsov  <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	* 26.accumulate.cpp: New test exercising lib.accumulate.

2006-02-20  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 25.libc.cpp: New test exercising lib.alg.c.library.

2006-02-20  Martin Sebor  <sebor@roguewave.com>

	* 27.stringbuf.virtuals.cpp: Reduced the use of templates for better
	compilation efficiency and less code bloat.

2006-02-20  Liviu Nicoara  <nicoara@roguewave.com>

	* 23.vector.cons.cpp: New test exercising lib.vector.cons.

2006-02-20  Martin Sebor  <sebor@roguewave.com>

	STDCXX-151
	* 18.limits.cvqual.cpp: New test exercising the proposed resolution
	of LWG issue 559.

2006-02-20  Martin Sebor  <sebor@roguewave.com>

	STDCXX-151
	* limits: Implemented the proposed resolution of LWG issue 559 and
	guarded it with _RWSTD_NO_EXT_CV_QUALIFIED_LIMITS until it has been
	accepted.

2006-02-19  Martin Sebor  <sebor@roguewave.com>

	* streambuf.cc (xsputn): Asserted a precondition and simplified
	no-op detection.

2006-02-19  Martin Sebor  <sebor@roguewave.com>

	* streambuf (_C_is_out, _C_is_inout): Simplified bitwise expressions.

2006-02-19  Martin Sebor  <sebor@roguewave.com>

	* 27.stringbuf.virtuals.cpp: New test for lib.stringbuf.virtuals,
	including STDCXX-149.

2006-02-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-149
	* sstream (str): Simplified.
	(showmanyc): Outlined a virtual function.
	(_C_strlen): Returned (pptr - pbase) in out mode instead of
	(epptr - pbase) as per DR 432.
	(_C_catchup): New inline function called to let egptr catch up
	with pptr.
	* sstream.cc (str): Set egptr (et al) to point to the end of the
	controlling sequence even when not in "in" mode as an efficient
	way of implementing the "high mark" referred to in DR 432.
	(showmanyc): Outlined and called _C_catchup.
	(overflow): Called _C_catchup to allow the function to succeed
	even when (gptr < egptr) initially. Handled epptr pointing prior
	to the very end of the buffer. After reallocation set epptr to
	oint to the very end of the buffer and not just one past pptr
	(as per DR 169 and DR 432). Called _C_Catchip to let egptr get
	caught up with pptr.
	(underflow): Returned successfully if argument is eof regardless
	of openmode to strictly conform to the requirements.
	(seekoff): Simplified, called _C_catchup, and handled offsets
	pointing to uninitialized storage as required in DR 432.
	(seekpos): Implemented completely in terms of seekoff.

2006-02-18  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (A_ARRAY): New bit.
	(rw_fmtarray, _rw_fmtwstr): Changed character array formatting
	so as to prepend the 'L' prefix only to generic character arrays
	parametrized on the width of the character type.
	(_rw_fmtarray): Set the A_ARRAY bit.
	(_rw_fmtwchr): Formatted -1 as EOF (no quotes).
	* 0.printf.cpp: Exercised the above changes, specifically that
	the 'L' prefix is only prepended to quoted generic characters
	and arrays of such things parametrized on the width of the
	character type.

2006-02-17  Martin Sebor  <sebor@roguewave.com>

	* 0.printf.cpp: Exercised %{S}, %{lS}, %{#*S}, %{Io}, and %{Iw},
	(std::string, std::wstring, std::basic_string for generic charT,
	std::ios::openmode, and std::ios::seekdir). See r378675.
	Guarded a test for %{8Ao} for platforms without 64-bit integers.

2006-02-17  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (_rw_fmtseekdir): New function for the formatting
	of ios::seekdir values.
	(_rw_fmtwstr): Implemented consistently with _rw_fmtstr.
	(rw_bmpfmt): Handled the pound flag in the formatting of named
	constants: expanded the scope in such names (i.e., to all of
	"std::ios::in" as opposed to just "in").
	(_rw_vasnprintf_ext): Implemented the handling of %{#*S} analogous
	to %{*Ac}, i.e., for the formatting of generic specializations of
	basic_string. Implemented the handling of the %{Iw} directive for
	the formatting of ios::seekdir values.

2006-02-17  Martin Sebor  <sebor@roguewave.com>

	STDCXX-147
	* 18.limits.traps.cpp: Enhanced and worked around:
	http://sources.redhat.com/bugzilla/show_bug.cgi?id=2351

2006-02-17  Martin Sebor  <sebor@roguewave.com>

	* 25.set.difference.cpp (<cstddef>): Replaced calls to strlen() on
	string literals with the use of the sizeof operator for better
	efficiency and eliminated the dependency on <cstring> (replacing
	it with one on <cstddef> instead).
	* 25.set.intersection.cpp: Same.
	* 25.set.union.cpp: Same.

2006-02-17  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 25.set.sym.difference.cpp: New test for lib.set.symmetric.difference.

2006-02-17  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 25.set.difference.cpp: New test exercising lib.set.difference.

2006-02-17  Martin Sebor  <sebor@roguewave.com>

	* alg_test.h (first_less): New helper function declaration.
	(from_char): Added a third argument to check that the source array
	is sorted in non-descending order.
	(ilog2, ilog10): Outlined for better compilation efficiency.
	(is_sorted): New helper function template.
	* alg_test.cpp (first_less): Defined.
	(from_char): Verified that the source array is sorted and returned
	0 when it's not.

2006-02-17  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 25.set.intersection.cpp: New test exercising lib.set.intersection.

2006-02-16  Martin Sebor  <sebor@roguewave.com>

	* 25.merge.cpp (MergeBase, Merge, InplaceMerge): Abbreviated
	by dropping the word "Test" from the original names.

2006-02-16  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 25.set.union.cpp: Brand spankin' new test exercising lib.set.union.

2006-02-16  Martin Sebor  <sebor@roguewave.com>

	STDCXX-146
	* sstream (stringbuf, istringstream, ostringstream, stringstream):
	Added ctor and str() overloads for const char_type* for improved
	efficiency (gives a 20% speedup).
	(_RWSTD_NO_EXT_STRINGBUF_STR): New macro guarding the extended
	str() overloads.
	(stringbuf dtor, underflow): Outlined virtual functions.
	* sstream.cc (stringuf ctor, str): Implemented in terms
	of the new str(const char_type*) overload for simplicity.

2006-02-15  Martin Sebor  <sebor@roguewave.com>

	* collate.cpp (<cstring>): #included for strchr().

2006-02-14  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 25.permutation.cpp: New test for lib.alg.permutation.generators.

2006-02-14  Martin Sebor  <sebor@roguewave.com>

	* 25.merge.cpp: Limited the use of templates to a bare minimum
	to reduce compilation times and prevent unnecessary code bloat.
	With gcc 4.0.2 on Solaris the test compiles more than twice as
	fast (in both user and system time) yielding an object file
	less than 1/2 the size of the original and a 20% smaller
	executable.

2006-02-13  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 25.lex.comparison.cpp: New test exercising lib.lex.comparison.

2006-02-13  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 25.min.max.cpp: New test exercising lib.alg.min.max.

2006-02-13  Liviu Nicoara  <nicoara@roguewave.com>

	* tests/src/new.cpp: removed trailing newlines

2006-02-12  Martin Sebor  <sebor@roguewave.com>

	* stringstream.cpp: Renamed...
	* wstringstream.cpp: ...to this.

2006-02-09  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 27.objects.cpp: New test exercising lib.iostream.objects.

2006-02-09  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 27.forward.cpp: New test exercising lib.iostream.forward.

2006-02-09  Anton Pevtsov  <antonp@moscow.vdiweb.com>
            Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 25.heap.cpp: New test exercising lib.alg.heap.operations.

2006-02-09  Martin Sebor  <sebor@roguewave.com>

	* 25.includes.cpp: Corercted a logic error preventing the predicate
	form of the algorithm from being exercised.

2006-02-08  Martin Sebor  <sebor@roguewave.com>

	* 2.smartptr.shared.cpp (<cassert>): Removed.

2006-02-08  Martin Sebor  <sebor@roguewave.com>

	* new.cpp (operator_new): Corrected the formatting directive for size_t.

i2006-02-08  Martin Sebor  <sebor@roguewave.com>

	* _mbstate.h [_RWSTD_OS_SUNOS] (_RWSTD_NO_STD_MBSTATE_T): Defined to
	let <cwchar> et al know that mbstate_t is not declared in namespace
	std (and should be introduced there via a using declaration).

2006-02-08  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 25.includes.cpp: New test exercising lib.includes.

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

	STDCXX-132
	* def.cpp (<cstring>): Added a missing #include directive.
	* time.cpp: Same.
	* aliases.cpp: Same.
	* ctype.cpp: Same.

2006-02-07  Anton Pevtsov <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 25.sort.cpp: New test exercising lib.sort and lib.stable.sort.
	* 25.partial.sort.cpp: New test exercising lib.partial.sort and
	lib.partial.sort.copy.

2006-02-07  Liviu Nicoara  <nicoara@roguewave.com>

	STDCXX-4
	* 23.deque.iterators.cpp: New test exercising lib.deque.iterators.

2006-02-06  Anton Pevtsov <antonp@moscow.vdiweb.com>

	* 25.partitions.cpp (test_partitions): Enhanced to keep track of leaked
	objects.

2006-02-06  Martin Sebor  <sebor@roguewave.com>

	* 25.merge.cpp (Less): Corrected a typo.

2006-02-06  Anton Pevtsov <antonp@moscow.vdiweb.com>

	* 25.merge.cpp: New test exercising lib.alg.merge.

2006-02-06  Martin Sebor  <sebor@roguewave.com>

	* 25.unique.cpp: Added/removed/corrected comments.

2006-02-06  Martin Sebor  <sebor@roguewave.com>

	* include/printf.h: Renamed...
	* include/rw_printf.h: ...to this.
	* src/alg_test.cpp (<rw_printf.h>): Included instead of <printf.h>.
	* containers/23.deque.modifiers.cpp: Same.
	* src/any.cpp: Same.
	* strings/21.cwchar.cpp: Same.
	* self/0.printf.cpp: Same.
	* src/printf.cpp: Same.
	(_rw_fmtlong, _rw_fmtllong): Used _RWSTD_INTERNAL to conditionally
	declared the helper functions to have internal linkage in order to
	work around a Sun C++ bug.
	* src/system.cpp (<rw_printf.h>): Included instead of <printf.h>.
	(_rw_vsystem): Avoided declaring const a variable used as an argument
	to the WIFXXX() macros in order to prevent bogus gcc warning on Linux:
	cast from `const int*' to `int*' discards qualifiers from pointer
	target type: see http://sourceware.org/bugzilla/show_bug.cgi?id=1392
	* src/driver.cpp (<rw_printf.h>): Included instead of <printf.h>.
	Used rw_fprintf(rw_stderr) instead of fprintf to make sure all output
	is flushed even when the program abends.

2006-02-06  Martin Sebor  <sebor@roguewave.com>

	STDCXX-3
	* alarm.h: New. Declaration of the rw_alarm() helper.
	* alarm.cpp: New. Definition of the same.

2006-02-05  Anton Pevtsov <antonp@moscow.vdiweb.com>

	* 25.binary.search.cpp: New test exercising lib.binary.search.

2006-02-05  Anton Pevtsov <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	* 25.equal.range.cpp: New test exercising lib.equal.range.

2006-02-04  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 25.nth.element.cpp (test_nth_element): Updated the upper bound value
	to a more strict one.

2006-02-04  Martin Sebor  <sebor@roguewave.com>

	* 25.lower.bound.cpp (test_lower_bound): Corrected the nparam argument
	in the formatting string to account for a change in rw_snprintfa()
	behavior introduced in r371638.
	* 25.upper.bound.cpp (test_upper_bound): Same.

2006-02-04  Anton Pevtsov <antonp@moscow.vdiweb.com>

	* 25.lower.bound.cpp (test_lower_bound): Fixed assertion condition to
	verify the complexity, updated the expected complexity values to meet
	the standard requirements.
	* 25.upper.bound.cpp (test_upper_bound): Same.

2006-02-02  Martin Sebor  <sebor@roguewave.com>

	* _defs.h: Removed the macros _RWSTD_WCRTOMB() and _RWSTD_MBRTOWC()
	obviated by change in r374235.

2006-02-02  Martin Sebor  <sebor@roguewave.com>

	* alg_test.cpp (<printf.h>): Corercted the spelling of header name.

2006-02-02  Martin Sebor  <sebor@roguewave.com>

	* wcodecvt.cpp [_RWSTD_NO_WCRTOMB] (__rw_libc_do_out): Corrected
	the spelling of wctomb() in conditionally compiled code.

2006-02-02  Martin Sebor  <sebor@roguewave.com>

	* any.h: Added declarations for const and volatile overloads
	of ctors taking a pointer argument.
	* any.cpp: Added definitions of the same.

2006-02-02  Martin Sebor  <sebor@roguewave.com>

	STDCXX-129
	* cwchar: Consistently introduced all function declarations into
	the global scope first, before injecting each into namespace std
	via a using declaration.

2006-02-02  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 21.cwchar.cpp: New test exercising lib.string.c.strings, header
	<cwchar>, including STDCXX-129.

Updated.

2006-02-01  Martin Sebor  <sebor@roguewave.com>

	* wcodecvt.cpp (__rw_libc_do_out): Removed the RWSTD_WCRTOMB macro and
	instead explicitly spelled out the code	the macro used to expand to.
	(__rw_libc_do_unshift): Same.
	(__rw_libc_do_in): Same for _RWSTD_MBRTOWC().

2006-02-01  Martin Sebor  <sebor@roguewave.com>

	* wctype.cpp (<stdlib.h>): Included for wctomb.
	(_RWSTD_NO_V3_LOCALE): Removed dead macro.
	(__rw_toupper): Used _STD instead of _V3_LOCALE.
	(__rw_tolower): Same.

2006-02-01  Anton Pevtsov <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 25.partitions.cpp: New test exercising lib.alg.partitions.
	Test currently fails due to STDCXX-131.

2006-02-01  Martin Sebor  <sebor@roguewave.com>

	* _algobase.h: Renamed file #include guards to include the name	of
	the directory. Guarded #include directives of files in include/_rw
	for compilation efficiency. Removed the inclusion of from headers
	that also #include other implementation-specific headers.
	* iosfwd: Same.
	* _algobase.h: Same.
	* _allocator.h: Same.
	* _array.h: Same.
	* _autoptr.h: Same.
	* _basic_ios.h: Same.
	* _bitmask.h: Same.
	* _config.h: Same.
	* _defs.h: Same.
	* _error.h: Same.
	* _exception.h: Same.
	* _file.h: Same.
	* _funcbase.h: Same.
	* _heap.h: Same.
	* _ioinsert.h: Same.
	* _ioiter.h: Same.
	* _iosbase.h: Same.
	* _iosfailure.h: Same.
	* _iosfwd.h: Same.
	* _iterator.h: Same.
	* _iterbase.h: Same.
	* _math.h: Same.
	* _mbstate.h: Same.
	* _mutex.h: Same.
	* _new.h: Same.
	* _pair.h: Same.
	* _rawiter.h: Same.
	* _relops.h: Same.
	* _select.h: Same.
	* _specialized.h: Same.
	* _streamiter.h: Same.
	* _strref.h: Same.
	* _traits.h: Same.
	* _tree.h: Same.
	* _typetraits.h: Same.

2006-01-31  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 25.nth.element.cpp: New test exercising lib.alg.nth.element.

2006-01-31  Martin Sebor  <sebor@roguewave.com>

	STDCXX-130
	* GNUmakefile (LIBBASE): Avoided expanding BUILDTYPE when writing out
	the value of the variable to makefile.in.

2006-01-30  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 25.unique.cpp: Enabled predicate tests inadvertently disabled
	in a previous commit.

2006-01-30  Martin Sebor  <sebor@roguewave.com>

	STDCXX-34
	* cstdint: Simplified.
	* 8.cstdint.cpp: New test exercising tr.c99.cstdint.

2006-01-30  Martin Sebor  <sebor@roguewave.com>

	* LIMITS.cpp (type_name): Factored out the helper functions into
	a file of their own (types.h). Moved code computing the properties
	of floating point types to a separate config test (FLOAT.cpp).
	(_RWSTD_PTRDIFF_MIN, _RWSTD_PTRDIFF_MAX, _RWSTD_SIZE_MAX): Moved
	to SIZE_T.cpp.
	(_RWSTD_WINT_MIN, _RWSTD_WINT_MAX): Moved to WINT_T.cpp.
	(_RWSTD_INT8_T, _RWSTD_INT_LEAST8_T, ...): Computed and defined.
	* types.h: New file with the definitions of the type_name() helper
	overloads.
	* FLOAT.cpp: New config test computing the properties of floating
	point types.
	* SIG_ATOMIC_T.cpp (types.h): Included instead of defining own helpers.
	(_RWSTD_SIG_ATOMIC_MIN, _RWSTD_SIG_ATOMIC_MAX): Defined here terms
	of the underlying arithmetic type instead of in LIMITS.cpp.
	* SIZE_T.cpp (types.h): Included instead of defining own helpers.
	(_RWSTD_SIZE_MAX): Defined here terms of the underlying arithmetic
	type instead of in LIMITS.cpp.
	* WINT_T.cpp (types.h): Included instead of defining own helpers.
	(_RWSTD_WINT_MIN, _RWSTD_WINT_MAX): Defined here in terms of the
	underlying arithmetic type instead of LIMITS.cpp.

2006-01-27  Martin Sebor  <sebor@roguewave.com>

	* LIMITS.cpp: Determined whether the architecture uses one's or two's
	complement integer representation and adjusted the values of integral
	limits correspondingly. Lined up output for better readability.

2006-01-27  Martin Sebor  <sebor@roguewave.com>

	STDCXX-34
	* cstdint: Implementation of tr.c99.cstdint.
	* stdint.h: Implementation of tr.c99.stdinth.

2006-01-26  Martin Sebor  <sebor@roguewave.com>

	STDCXX-32
	* array: New. Implementation of tr.array.

2006-01-26  Martin Sebor  <sebor@roguewave.com>

	* array: Deleted.

2006-01-26  Martin Sebor  <sebor@roguewave.com>

	* array: New. Implementation of tr.array.

2006-01-26  Martin Sebor  <sebor@roguewave.com>

	* _config.h (_RWSTD_SSIZE_TYPE): Removed conditional definition
	of the unused macro.

2006-01-26  Martin Sebor  <sebor@roguewave.com>

	* _num_get.cc: Replaced hardcoded magic numbers representing special
	characters with constants obtained from __rw_digit_map. Used UCHAR_MAX
	instead of (unsigned char)-1.

2006-01-26  Martin Sebor  <sebor@roguewave.com>

	* alg_test.h (UnaryPredicate, BinaryPredicate): Changed the return
	type of operator() from bool to conv_to_bool for extra strictness.
	Removed dead declarations of tempstr and to_string().
	* alg_test.cpp (UnaryPredicate, BinaryPredicate): Same.

2006-01-26  Anton Pevtsov  <antonp@moscow.vdiweb.com>
            Martin Sebor  <sebor@roguewave.com>

        STDCXX-4

	* 25.unique.cpp: New test to exercise lib.alg.unique.

2006-01-26  Liviu Nicoara  <nicoara@roguewave.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 23.deque.modifiers.cpp: New test exercising lib.deque.modifiers.
	* 23.deque.special.cpp: New test exercising lib.deque.special.

2006-01-26  Anton Pevtsov  <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	* 25.transform.cpp: New test exercising lib.alg.transform.

2006-01-25  Martin Sebor  <sebor@roguewave.com>

	* 25.random.shuffle.cpp: Corrected subtle logic errors and simplified.

2006-01-25  Martin Sebor  <sebor@roguewave.com>

	* algorithm.cc (random_shuffle): Asserted a precondition.

2006-01-25  Martin Sebor  <sebor@roguewave.com>

	STDCXX-126
	* algorithm.cc (random_shuffle): Removed assumptions about the random
	number generator object's operator() taking an argument or returning
	a value convertible from or to anything other than the iterator's
	difference_type as required by 25.2.11, p3.

2006-01-25  Anton Pevtsov  <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 25.random.shuffle.cpp: New test exercising lib.alg.random.shuffle
	including STDCXX-126.

2006-01-25  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (_rw_fmtchr, _rw_fmwtchr): Added a noesc argument
	for callers to control whether to escape non-printable characters
	independently of quoting.
	(_rw_vasnprintf_c99, _rw_vasnprintf_ext): Disabled and enabled,
	respectively, the use of escape sequences when formatting narrow
	and wide characters using the %c, %{c}, %lc, and %{lc} directives.
	* 0.printf.cpp: Exercised the above.

2006-01-24  Martin Sebor  <sebor@roguewave.com>

	* 25.replace.cpp (<cstdarg>, <cstdlib>, <printf.h>): Removed needless
	#include directives.
	(ToString): Removed.
	(test_remove): Made sure the xsrc pointer is always dereferenceable
	by allocating one more element than necessary under all circumstances.
	Replaced %p formatting with the more descriptive offset from the
	beginning of the sequence.
	Removed the uses of the ToString template and used the %{X=...}
	directive to directly format arrays of objects of type X.
	Used the %#c extension to format characters to avoid producing
	non-printable output (and format such characters using traditional
	C escape sequences).
	* 25.reverse.cpp: Same.
	* 25.remove.cpp: Same.
	* 25.rotate.cpp: Same.

2006-01-24  Martin Sebor  <sebor@roguewave.com>

	* alg_test.cpp (_rw_fmtxarray): New callback function implementing
	the formatting of arrays of object of type X, invoked in response
	to extended formatting directives from rw_printf() at al.
	(X::X): Pushed _rw_fmtxarray on top of the stack of user-defined
	formatting callbacks.
	(RW_ASSERT): Used instead of redefining the assert macro to do so.

2006-01-24  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (_rw_vfprintf): Allowed rw_file* argument to be null
	to permit executing special directives that generate no characters,
	and avoided attempting to produce output.

2006-01-24  Liviu Nicoara <nicoara@roguewave.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 0.new.cpp: New test exercising the testsuite's replacement operators
	new and delete.

2006-01-24  Martin Sebor  <sebor@roguewave.com>

	* 0.printf.cpp (<float.h>, <limits.h>, <wchar.h>, <ios>, <iostream>,
        <locale>, <string>): Removed unnecessary #include directives.
	(test_user_defined_formatting): New function exercising directives
	involving user-defined callback functions introduced in rev 372001.
	(main): Called it.

2006-01-24  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (_rw_vasnprintf_cxx): Renamed to...
	(_rw_vasnprintf_ext): ...this.
	(_rw_usr_cb_t, _rw_usr_fun, _rw_usr_inx): New type of a user-defined
	formatting callback function, an array of pointers to such things,
	and their number.
	(rw_vasnprintf): Added the handling for the special %{+} directive
	to append to the end of (rather than overwrite) the destination buffer.
	Stored all arguments extracted from the variable argument list rather
	than just their C99 subset.
	(_rw_vasnprintf_ext): Allowed each of the user-defined formatting
	callback functions on the stack to process a formatting directive
	before handling it here.
	Implemented the special %{!}, %{+!}, and %{-!} directives to set,
	push on top of the stack, and pop off the top of the stack, a user
	defined formatting callback function.
	Replaced an assertion for an unknown directive with a more descriptive
	and recoverable formatting error.

2006-01-23  Martin Sebor  <sebor@roguewave.com>

	* 0.printf.cpp (test_conditional): Exercised the ability to use the
	value of conditional expression in subsequent paramno specifiers.

2006-01-23  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (FmtSpec): Changed modifiers from a bitfield to an emum
	as at most one modifier may be specified. Introduced convenience member
	types and renamed members of the param union for consistency with the
	corresponding types.
	(libstd_vasnprintf): Renamed...
	(_rw_vasnprintf_cxx): ...to this for consistency.
	(_rw_fmtspec, _rw_vasnprintf_c99, _rw_fmtinteger, _rw_fmtfloating,
	_rw_fmtfunptr, _rw_fmtmask, rw_fmtarray, _rw_vasnprintf_cxx): Naming
	changes.
	(rw_vasnprintf): Stored the value of conditional expressions extracted
	from the argument list (to allow it to be referenced in subsequent
	paramno specifiers).
	(PARAM): Simplified (made possible by naming changes above).
	(_rw_fmtlong): Allowed for the possibility of the formatting producing
	no output (when both the value the precision are 0).

2006-01-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-3
	* rw_new.h: New header with definitions of replacement operator new.
	* new.cpp: Implementation of replacement operator new with error and
	memory corruption detection.

2006-01-19  Liviu Nicoara <nicoara@roguewave.com>
	    Martin Sebor <sebor@roguewave.com>

	STDCXX-4
	* 21.string.cons.cpp: New test exercising lib.string.cons.

2006-01-19  Martin Sebor  <sebor@roguewave.com>

	* ChangeLog: Generated and added.

2006-01-19  Martin Sebor  <sebor@roguewave.com>

	* string.cpp [_RWSTD_NO_MEMCPY] (__rw_memcpy): Corrected logic
	errors in conditionally compiled code.
	[_RWSTD_NO_MEMCHR] (__rw_memchr): Same.
	[_RWSTD_NO_MEMCMP] (__rw_memcmp): Same.
	[_RWSTD_NO_STRLEN] (__rw_strlen): Same(!) 
	[_RWSTD_NO_WMEMCPY] (__rw_wmemcpy): Same.
	[_RWSTD_NO_WMEMCHR] (__rw_wmemchr): Same.
	[_RWSTD_NO_WMEMCMP] (__rw_wmemcmp): Same.
	[_RWSTD_NO_WSTRLEN] (__rw_wcslen): Same.

2006-01-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-123
	* libc_decl.sh (funptri): Avoided using a type with no linkage
	to declare a variable with linkage to prevent an EDG eccp 3.7
	error #961-D: use of a type with no linkage to declare a variable
	with linkage.

2006-01-19  Martin Sebor  <sebor@roguewave.com>

	* string.cpp [_RWSTD_NO_MEMCPY] (__rw_memcpy): Explicitly cast void*
	to char* before doing any arithmetic on the value.
	(__rw_memchr): Same.
	(__rw_memset): Same.
	(__rw_memcmp): Same.
	(__rw_memmove): Same. Added a missing return statement.
	[_RWSTD_NO_WMEMMOVE] (__rw_wmemmove): Added a missing return statement.

2006-01-19  Martin Sebor  <sebor@roguewave.com>

	* wcodecvt.cpp [_RWSTD_NO_MBTOWC] (mbtowc): Declared when not
	declared in <stdlib.h> but known to be defined in the libc binary.
	(do_in, do_out, do_length): Guarded references to mbtowc() with
	_RWSTD_NO_MBTOWC.
	[_RWSTD_NO_MBRLEN && _RWSTD_NO_MBLEN] (__rw_libc_mbrlen): Silenced
	an unused variable warning.
	(do_unshift): Removed an unnecessary scope resolution operator
	from a call to mbtowc().

2006-01-18  Martin Sebor  <sebor@roguewave.com>

	* doc/stdlibug/*.html: Changed name to Apache C++ Standard Library.
	* doc/stdlibref/*.html: Same. Removed references to "Module."

2006-01-18  Anton Pevtsov <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 25.swap.cpp: New test exercising lib.alg.swap.

2006-01-18  Martin Sebor  <sebor@roguewave.com>

	* index.html: Corrected typos.

2006-01-17  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 25.search.cpp: New test exercising lib.alg.search, including
	STDCXX-121.

2006-01-17  Martin Sebor  <sebor@roguewave.com>

	STDCXX-121
	* algorithm.cc (__search_n): Converted the Size argument
        to ptrdiff_t before doing any math on it.

2006-01-17  Martin Sebor  <sebor@roguewave.com>

	STDCXX-12
	* index.html: Added a meta tag to see if it gets browsers to render
	the file as HTML instead of plain text.

2006-01-17  Martin Sebor  <sebor@roguewave.com>
	
	* 21.cwctype.cpp (iswalnum, etc.): Undefined macros.
	(bit_xxx): Added more bits for missing functions and removed 
	the corresponding isxxx_declared variables.
	(iswalnum<T>, etc): Set bit to indicate a function is missing (not
	declared) in <cwctype>. Returned -1 intead of 0 to distinguish the
	return value from the real functions.
	(wctrans<T>): Added a definition.   
	(run_test): Used bit_xxx instead of isxxx_declared. 

2006-01-17  Martin Sebor  <sebor@roguewave.com>

	* src/printf.cpp (<ctype.h>): Included for isalpha, et al.
	(<wchar.h>, <wctype.h>): Guarded header include directives.
	(_rw_fmtmask): New (yet unused) function for the formatting
	of character classification bits/masks.
	(_rw_fmtlong, _rw_fmtllong): Avoided unnecessarily NUL-terminating
	buffer (done later in _rw_fmtstr).     
	(rw_fmtinteger): New template function for the generic formatting
	of arbitrary integral types.
	(_rw_fmtinteger): Simplified by calling rw_fmtinteger.  
	(_rw_fmtbadaddr): Handled the formatting of null pointers.
	(_rw_fmttm): Simplified the formatting of invalid pointers.
	(rw_quotestr): Renamed to...
	(rw_fmtarray): ...this and implemented the formatting of arrays 
	of arbitrary integral types (in addition to characters).
	(_rw_fmtarray): New function for the formatting of arrays 
	of arbitrary integral types.
	(_rw_fmtwstr): Called rw_fmtarray instead of rw_quotestr.
	(libstd_vasnprintf): Called the higher-level _rw_fmtstr instead
	of the rw_quotestr helper. Factored out the handling of character
	arrays into _rw_fmtarray. Implemented the handling of %{Ad}, %{Ai},
	%{Ao}, %{Au}, and %{Ax} (arrays of integral values).
	* self/0.printf.cpp (test_array): Renamed to...
	(test_chararray): ...this function.
	(test_intarray): New function exercising the formatting of arrays
	of integral values.
	(main): Called test_chararray and test_intarray.

2006-01-16  Martin Sebor  <sebor@roguewave.com>

	* 21.cwctype.cpp: Detected and gracefully handled (i.e., without
	compilation errors) the absence of any exercised type or function.

2006-01-16  Martin Sebor  <sebor@roguewave.com>

	* _algobase.h (__rw_lt::operator()): Declared arguments const to allow
	them to bind to rvalues and cast away their constness before invoking
	operator< in case it takes a non-const argument.

2006-01-16  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 20.operators.cpp: New test exercising lib.operators, including
	STDCXX-120.

2006-01-16  Martin Sebor  <sebor@roguewave.com>

	STDCXX-120
	* deque.cc (erase, _C_assign_n, _C_assign_range, _C_insert_range):
	Avoided using operator!= with iterators and used the negated result
	of operator== instead, to avoid ambiguity when both namespace std
	and namespace rel_ops are in the same scope.
	* _tree.cc (erase): Same.

2006-01-16  Martin Sebor  <sebor@roguewave.com>

	STDCXX-104
	* wcodecvt.cpp (__rw_libc_do_out): Used the _RWSTD_WCSLEN() macro
        instead of invoking wcslen() directly.

2006-01-15  Martin Sebor  <sebor@roguewave.com>

	* generate.wsf: Added an SGML file-type comment for Emacs.
	(Usage): Added msvc-8.0 to the set of values accepted by
	the /CONFIG option.

2006-01-12  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* config.js (Solution): Added version and formatVersion fields.
	* configure.wsf (checkHeadres): Updated the header name for log
	forming mechanism, added include symbol output for "no" cases.
	(runExeTests): Removed include symbol output for "ok" cases.
	* data.js (vc80SolutionName): New global variable.
	* generate.js (defineRWBUILD): Removed as obsolete.
	(fillProjectsFromFolders): Added implementation of the /COPYDLL
	option in the postBuild tool processing.
	(fillSolutionTemplate): Added copiyng of new Solution fields, added
	implementation of the /COPYDLL option into the projectRunExamples
	projectRunTests configuring.
	(fillSolutionTemplateLight): Added copiyng of new Solution fields.
	(generateVCPROJ): New parameter "version."
	(generateSolutionVCImpl): Updated implementation to use new Solution
	fileds, updated call to generateVCPROJ function.
	(readSolutionGUIDs): updated to be able to read .sln files generated
	by MSVC 8.0.
	(solutionVC80): New global variable.
	* generate.wsf (<package>): Added /COPYDLL option description.
	(copyDll): New global variable.
	(readAndCheckArguments): Implemented the /COPYDLL option reading
	* makelog.wsf (buildLogUnicode): New variable.
	(makelog): Added check for Unicode, calls to functions updated.
	(readAndCheckArguments): added buildLogUnicode variable initialization.
	(getLibraryBuildInfo, getTestDriverBuildInfo): updated the call to
	OpenTextFile to work with Unicode files properly.
	* runall.wsf (<package>): Added descriptions for the /COPYDLL and
	/LIBDIR options.
	(currentCfg, copyDll, libdllFolder, libFileName): New variables.
	(readAndCheckArguments): Implemented the reading of the /COPYDLL
	and /LIBDIR options.
	(runAllExamples): Implemented the /COPYDLL option - added command
	for temporary dll copying, calls to readBuildLog function updated
	to support Unicode files.
	* summary.js (readBuildLog): New parameter useUnicode, calls to
	OpenTextFile updated correspondingly.
	(checkForFailures): Mew parameter useUnicode, calls to OpenTextFile
	updated correspondingly.
	* update.wsf (update): Updated error processing.
	(saveModifiedProjecs): New parameter "version", callers updated
	correspondingly, updated to use new Solution fields.
	* msvc-config.js (solutionVC80): New variable.
	(configureToolsVC80): New function.
	(configureToolsConfigure, configureToolsExamples, configureToolsTests,
	configureToolsRwTest): An obsolete comment removed.
	(configureToolsRunExamples, configureToolsRunTests): postBuildTools
	configuration changed as a part of the COPYDLL option implementation.
	* msvc-config_classes.js (CompilerVC80): New class.
	(writeSolutionSettingsCompilerVC80, getCommandLineCompilerVC80): New
	functions.

2006-01-15  Martin Sebor  <sebor@roguewave.com>

	* cwctype.cpp (test_types): New function testing the presence
	of wint_t, wctrans_t, and wctype_t in namespace std.

2006-01-15  Martin Sebor  <sebor@roguewave.com>

	* testdefs.h (std) [_RWSTD_NO_NAMESPACE]: #defined to be empty to
	allow std:: qualifications even when namespace support is disabled.

2006-01-14  Martin Sebor  <sebor@roguewave.com>

	* 21.cctype.cpp: New test exercising lib.c.strings, the contents
	of the header <cctype>.
	* 21.cwctype.cpp: New test exercising lib.c.strings, the contents
	of the header <cwctype>.

2006-01-14  Martin Sebor  <sebor@roguewave.com>

	* codecvt.cpp (StateT): Moved convenience typedef from __rw_mbsinit
	to file scope and used it to declare the function's formal argument.

2006-01-14  Martin Sebor  <sebor@roguewave.com>

	* wcodecvt.cpp (StateT): New convenience typedef.
	(__rw_libstd_do_out): Documented the purpose of dead code
	and unreachable warnings.

2006-01-14  Martin Sebor  <sebor@roguewave.com>

	* codecvte.h (<algorithm>): Removed include directive and rewrote
	the facet without the use of the std::min() function.

2006-01-14  Martin Sebor  <sebor@roguewave.com>

	* 25.rotate.cpp (<printf.h>): Corrected a typo.

2006-01-12  Martin Sebor  <sebor@roguewave.com>

	* codecvt.cpp: Removed assumptions about _RWSTD_MBSTATE_T being
	a simple type (not really necessary after r368468 but it doesn't
	hurt to be extra safe).
	* wcodecvt.cpp: Same.

2006-01-12  Martin Sebor  <sebor@roguewave.com>

	* 22.time.put.cpp (<cwchar>): Included for wcslen etc.
	(do_test): Used %{Ac} to correctly format "generic" character
	arrays in diagnostic output.
	(test_POSIX): Exercised facet behavior with the TZ environment
	variable not set.

2006-01-12  Martin Sebor  <sebor@roguewave.com>

	STDCXX-108
	* TIMEZONE.cpp: New test to determine whether the POSIX timezone
	variable is declared in <time.h>.
	* time_put.cpp (__rw_get_zone): Changed to return 0 instead of void
	on success (and non-zero on error) and handled _RWSTD_NO_TIMEZONE.
	(__rw_get_time_put_data): Handled __rw_get_zone failure.

2006-01-12  Martin Sebor  <sebor@roguewave.com>
	
	* _mbstate.h (__rw_mbstate_t) [_RWSTD_OS_AIX]: Introduced typedef
	to avoid problems due to const qualification on _RWSTD_MBSTATE_T.
	(<machine/_types.h>) [_RWSTD_OS_DARWIN]: Included for __mbstate_t.
	(_RWSTD_MBSTATE_T): Defined to std::mbstate_t for the generic OS.
	* _cwchar.h (mbstate_t): Defined in terms of _RWSTD_MBSTATE_T.

2006-01-12  Martin Sebor  <sebor@roguewave.com>

	* README: Merged from branches/4.1.3/ at r368452.

2006-01-12  Martin Sebor  <sebor@roguewave.com>

	STDCXX-113
	* gcc.config (LDLIBS) [Darwin]: Added -lgcc_eh.

2006-01-12  Martin Sebor  <sebor@roguewave.com>

	* printf.h (%Ac, %K): Documented.

2006-01-12  Anton Pevtsov  <antonp@moscow.vdiweb.com>

        STDCXX-4
        * 25.rotate.cpp: New test exercising lib.alg.rotate.

2006-01-12  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* 25.generate.cpp (test_generate, test_generate_n): call to
	delete was updated.

2006-01-11  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 25.reverse.cpp: New test exercising lib.alg.reverse.

2006-01-11  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 21.string.append.cpp: New test exercising lib.string.append.
	* 21.string.plus.equal.cpp: New test exercising lib.string.op+=.

2006-01-11  Andrew Black <ablack@roguewave.com>

	STDCXX-103
	* time_put.cpp [_RWSTD_NO_NL_LANGINFO] (<langinfo.h>): Guarded
        against inclusion when the header is detected to be missing at
        configuration time.
        * _defs.h [_RWSTD_NO_WCHAR_H] (_RWSTD_ANSI_C_WCHAR_H): Defined
        to <rw/_defs.h> when the header is absent on a platform.

2006-01-11  Martin Sebor  <sebor@roguewave.com>

	* _traits.h [_RWSTD_NO_WMEMCMP] (_RWSTD_WMEMCMP): Fixed a typo
	in conditionally compiled code.

2006-01-10  Martin Sebor  <sebor@roguewave.com>

	* cwchar (_RWSTD_NO_STD_MBSTATE_T): Used instead of
	_RWSTD_NO_MBSTATE_T_IN_STD to guard the using declaration
	of mbstate_t in namespace std.

2006-01-10  Martin Sebor  <sebor@roguewave.com>

	* _mbstate.h (_RWSTD_MBSTATE_T): New macro for std::mbstate_t,
	::mbstate_t, the internal ::__mbstate_t (on Linux and Solaris),
	char* on AIX, char on IRIX, and int for MSVC.
	* iosfwd (_mbstate.h, _RWSTD_MBSTATE_T): Unconditionally included
	and used the macro instead of referring to mbstate_t directly.
	* _codecvt.h: Same.
	* _locale.h: Same.
	* _messages.cc: Same.
	* _traits.h: Same.
	* codecvt.cpp: Same.
	* iso2022.cpp: Same.
	* iso2022.h: Same.
	* wcodecvt.cpp: Same.

2006-01-10  Martin Sebor  <sebor@roguewave.com>

	* codecvt1.cpp (<cwchar>): Included header for mbstate_t.

2006-01-10  Martin Sebor  <sebor@roguewave.com>

	* codecvte.h (<cwchar>): Included header for mbstate_t.
        (<strstream>, <functional>): Removed #include directives.

2006-01-10  Martin Sebor  <sebor@roguewave.com>

	* string.cpp [_RWSTD_NO_WMEMCHR] (wmemchr): Corrected a typo
	in function name.

i2006-01-10  Martin Sebor  <sebor@roguewave.com>

	* STD_MBSTATE_T.cpp: New config test.
	* MBSTATE_T.cpp: Guarded the inclusion of "config.h"

2006-01-10  Martin Sebor  <sebor@roguewave.com>

	* 0.printf.cpp (test_array): New function exercising the formatting
	of variable-width character arrays.

2006-01-10  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (libstd_vasnprintf): Handled precision in the formatting
	of variable-width character arrays and treated it as the number of
	characters to format, including any NULs.

2006-01-09  Martin Sebor  <sebor@roguewave.com>

	STDCXX-104
	* collate.cpp (wsccoll, wcsxfrm, wcstombs): Declared when the functions
	are known to be defined in the libc binary but not declared in the libc
	headers.
	(__rw_wcsxfrm): New. Just like wcsxfrm but implemented in terms of
	mbstowcs and strxfrm when wcxfrm is not implemented by the system's
	libc.
	(_RWSTD_WCSXFRM): New macro expands to wcsxfrm or __rw_wcsxfrm.
	(__rw_wcsnxfrm): Used _RWSTD_WCSXFRM.
	[_RWSTD_NO_WCSCOLL] (collate_byname::do_compare): Implemented in terms
	of do_transform when there is no support for wcscoll in libc.

2006-01-09  Martin Sebor  <sebor@roguewave.com>

	* gcc.config (-Wextra): Removed (thus partially reverting r366347). The
	option is the same as -W except not portable to earlier versions of the
	compiler.

2006-01-09  Martin Sebor  <sebor@roguewave.com>

	STDCXX-107
	* MUNMAP.cpp (<sys/types.h>): Included to prevent compilation errors
	in <sys/mman.h> on BSD.

2006-01-09  Martin Sebor  <sebor@roguewave.com>

	STDCXX-106
	* memattr.cpp (__rw_memattr): Used getpagesize(3) instead of sysconf(3)
	when neither _SC_PAGE_SIZE or _SC_PAGESIZE is #defined in <unistd.h>
	(e.g., on BSD UNIX).
	Restored errno to its original value if it got clobbered by one of the
	called functions.

2006-01-08  Martin Sebor  <sebor@roguewave.com>

	STDCXX-102
	* vacpp.config (AS_EXT): Set to .s for Linux.

2006-01-08  Martin Sebor  <sebor@roguewave.com>

	STDCXX-101
	* instantiation_before_definition.h: Avoided using the extern template
	extension to declare an explicit instantiation of a function template
	when _RWSTD_NO_EXTERN_FUNCTION_TEMPLATE is #defined.
	* EXTERN_TEMPLATE_BEFORE_DEFINITION.cpp: Established a dependency on
	the EXTERN_FUNCTION_TEMPLATE.cpp test.
	* EXPLICIT_INSTANTIATION_BEFORE_DEFINITION.cpp: Same.

2006-01-07  Martin Sebor  <sebor@roguewave.com>

	* fstream.cc (underflow): Used char_traits::move() instead of memmove.
	* _messages.cc (do_get): Used char_traits::length() instead of strlen.

2006-01-07  Martin Sebor  <sebor@roguewave.com>

	* bitset (reset, set): Used the _RWSTD_MEMSET() macro instead
	of calling memset directly.
	* bitset.cc (__rw_bitset): Same.

2006-01-07  Martin Sebor  <sebor@roguewave.com>

	* _traits.h: Used string helpers instead of the corresponding libc
	functions in debug mode or with the vanilla EDG eccp demo to avoid
	namespace pollution and for better compile time and runtime error
	detection.

2006-01-07  Martin Sebor  <sebor@roguewave.com>

	* codecvt1.cpp: Added a missing #include directive.

2006-01-07  Martin Sebor  <sebor@roguewave.com>

	* valcmp.cpp (rw_dblcm): Silenced a SunPro 5.7 Warning: Conversion
	of 64 bit type value to "int" causes truncation.

2006-01-07  Martin Sebor  <sebor@roguewave.com>

	* localedef.cpp (rw_set_locale_root): Removed a gratuitous std::
	qualification from strcat.
	* Avoided accidentally including /usr/include/localedef.h on HP-UX.

2006-01-07  Martin Sebor  <sebor@roguewave.com>

	* _mbstate.h (<cwchar>): Avoided #including on Solaris and instead
	defined struct __mbstate_t and mbstate_t directly in this header.

2006-01-07  Martin Sebor  <sebor@roguewave.com>

	* time_put.cpp (__rw_get_timepunct): Removed unnecessary qualification
	from references to libc functions. Inserted a wide NUL character, not
	just a narrow one, at the beggining of the __rw_time_t structure.
	(__rw_put_time): NUL-terminated format string before passing it to
	strftime and wcsftime.

2006-01-07  Martin Sebor  <sebor@roguewave.com>

	* locale_body.cpp (__rw_locale): Removed a stray std:: qualification
	from a call to strlen().
	(_C_is_managed): Eliminated a gcc -Wextra warning: operation may be
	undefined.

2006-01-07  Martin Sebor  <sebor@roguewave.com>

	* string.cpp: New file with defitions of string helpers.

2006-01-07  Martin Sebor  <sebor@roguewave.com>

	STDCXX-72
	* 25.adjacent.find.cpp (EqualityPredicate): New class template.
	(do_test): Used it instead of std::equal_to.

2006-01-07  Martin Sebor  <sebor@roguewave.com>

	STDCXX-95
	* SIZE_T.cpp: Defined _RWSTD_EOF and _RWSTD_WEOF to -1 even when
	the corresponding libc macros are not #defined.

2006-01-07  Martin Sebor  <sebor@roguewave.com>

	* 18.limits.traps.cpp (<rw_any.h>): #included for rw_any_t.
	(test_traps): Used rw_any_t in informational output and used
	the "%b" specifier to format Boolean values.

2006-01-07  Martin Sebor  <sebor@roguewave.com>

	* 0.printf.cpp (test_bool): New function to exercise the 'b' format
	specifier.
	(test_integer): Called test_bool.

2006-01-07  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (_rw_vasnprintf_c99): Added a case for the 'b' format
	specifier as an extension for the formatting of Boolean values.
	(_rw_fmtinteger): Added handling of the 'b' format specifier.

2006-01-07  Martin Sebor  <sebor@roguewave.com>

	* locale_core.cpp (_C_get_std_facet): Used size_t instead of the
	_RWSTD_SIZE_T macro and explicitly cast the result of an expression
	to the type to silence the asinine HP aCC +DD64 Warning (suggestion)
	887: # Type 'int' is smaller than type 'unsigned long', unwanted
	widening in value may result.

2006-01-06  Martin Sebor  <sebor@roguewave.com>

	* README: Updated version information.

2006-01-06  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.bin (SRCDIRS): Removed a stray subdirectory inadvertently
	introduced in rev 292348.

2006-01-05  Martin Sebor  <sebor@roguewave.com>

	* wctype.cpp (wchar.h): Included for wctomb().

2006-01-05  Martin Sebor  <sebor@roguewave.com>

	* 21.string.push_back.mt.cpp: Removed an unnecessary #include directive.
	(to_append): Removed the size of the array and relied on its initializer
	instead.
	(ehread_func): Asserted that array index is in bounds and replaced uses
	of the assert() macro with RW_ASSERT().
	(thread_func): Parenthesized a call to putc in order to thwart macro
	expansion and qualified size_t with the name of the declaring namespace.

2006-01-05  Martin Sebor  <sebor@roguewave.com>

	* atomic_add.cpp [!_RWSTD_REENTRANT] (run_test): Eliminated gcc errors
	and -Wunused warnings in conditionally compiled code.
	* atomic_xchg.cpp: Same.

2006-01-05  Martin Sebor  <sebor@roguewave.com>

	* gcc.config: Used := instead of plain assignment when invoking
	the $(shell) make function, for efficiency.
	Added -Wextra to the set of compiler options for gcc 3 and beyond.

2006-01-05  Martin Sebor  <sebor@roguewave.com>

	* _mutex.h (_RWSTD_CSTRING): Removed an unnecessary #include directive.

2006-01-02  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 22.time.put.cpp: New test exercising lib.locale.time.put.

2006-01-02  Martin Sebor  <sebor@roguewave.com>

	* 0.printf.cpp (make_tm): New helper function.
	(test_tm): Called it and exercised the "%{t}" format
	string for the formatting of struct tm values.

2006-01-02  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (_rw_fmtbadaddr): New function.
	(rw_quotestr): Called _rw_fmtbadaddr.
	(_rw_fmtstr): Same.
	(_rw_fmttm): New function for the formatting of tm values.
	(_rw_fmtspec): Avoided misinterpreting a formatting specifier
	as a modifier when there would otherwise be no specifier and
	when extensions are enabled.
	Replaced the assert() macro with RW_ASSERT().

2006-01-01  Martin Sebor  <sebor@roguewave.com>

	* 25.lower.bound.cpp (conv_to_bool): Used instead of ConvertibleToBool.
	(test_lower_bound): Silenced bogus EDG eccp 3.6 remark #550-D: variable
	was set but never used.

2006-01-01  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 25.upper.bound.cpp: New test exercising lib.upper.bound.

2006-01-01  Martin Sebor  <sebor@roguewave.com>

	* alg_test.h (conv_to_bool): Enhanced to prevent default construction
	and assignment and replaced conversion to bool with one to a unique
	pointer type testable in the controlling expression of the if statement
	as required in 25, p7.

2005-12-30  Martin Sebor  <sebor@roguewave.com>

	STDCXX-89
	* _algobase.h [!_RWSTD_NO_INLINE_MEMBER_TEMPLATES] (__rw_lt): Changed
	from a template class with an ordinary member operator() to an ordinary
	class with a template member operator() to permit the comparison of
	arguments of heterogeneous types.

2005-12-30  Martin Sebor  <sebor@roguewave.com>

	* 25.lower.bound.cpp (Y): Replaced derivation by containment to really
	exercise STDCXX-89.

2005-12-30  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 25.lower.bound.cpp: New test exercising lib.lower.bound, including
	STDCXX-89.

2005-12-22  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* config.js (Linker): Added library directories collection.
	* configure.wsf: Corrected helper xml comments, updated error hadling
	- the script tells the user where to look for the log file. Added
	option for the icc-9.0 Defines to avoid problems with '*' symbol
	in 19 package version of the Intel 9.0 C++ compiler, function tests
	updated correspondingly.
	* data.js: The solution names were moved to this file to be used
	in all other script files.
	* fun_present_check.cpp (FUN_PARAMS): New helper define to avoid
	problem with Compilation for Intel 9.0 C++ 19 package '*' problem
	workaround.
	* generate.js: Added icc-specific functions for the solution
	generation.
	(checkEnvironment): New function for all configurations (it checks
	that all utilities required for the solution generation are available).
	(generateSolution): Implemented for icc (msvc implementation updated),
	added helper functions for the source files filters.
	* generate.wsf: corrected helper xml comments, updated builddir
	variable to use config in the directory name.
	(checkEnvironment): New step to the solution generation workflow,
	modified the final output.
	(generateBuildBatch): Updated to be config-independent and accept
	the config as first parameter.
	(generateUpdateBatch): Same.
	* makelog.wsf: Corrected helper xml comments, updated the log file
	name generation mechanism to use the configrutation in the file name.
	(CONFIG): Added script parameter.
	* runall.wsf: Fixed typo.
	* summary.js: Added mechanism to read compilation output from
	BuildLog.html in non-table data form, updated the BuildLog.html
	reading workflow, changed the log file name generation function
	to use the configuration in the log file name.
	* update.wsf: Corrected helper xml comments.
	(checkEnvironment): Added step to the solution update workflow.
	Added several icc-90 specific steps (i.e converting from icc projects
	structure to msvc and vice versa).
	* utilities.js (converSolutionImpl): New function for the solution
	conversion from Intel projects structure, added special processing
	for the solutions which has cpecific configurations for the configure
	project (icc).
	* msvc-config.js: Added the icc-9.0 solution creation as a copy of
	msvc-7.1 solution. It is here to be sure that icc solution will be
	created after msvc-7.1 creation and configuration. All configure
	tools functions made configuration independent (they receive all
	necessary information via parameters).
	(configureToolsVC71): Changed correspondingly.
	* msvc-config_classes.js: Added processing for the additional
	libraries in linker.
	* icc-config.js: New. Contains "classes" for the icc-9.0 compiler,
	linker, librarian, etc.
	* icc-config_classes.js: New. Contains the icc9.0_config solution
	tools configuration. This special solution is used for configure
	project compilation instead of icc-9.0. Should be included in
	configure.wsf script only.

2005-12-23  Martin Sebor  <sebor@roguewave.com>

	* 25.remove.cpp (ToString): Simplified the invocation of rw_asnprintf().

2005-12-23  Anton Pevtsov  <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 25.replace.cpp: New test exercising lib.alg.replace.

2005-12-21  Martin Sebor  <sebor@roguewave.com>

	* atomic_add.cpp: Passed the upper bound of the restricted numeric
	option specification as an argument instead of hardcoding it in the
	string.
	* atomic_xchg.cpp: Same.

i2005-12-21  Martin Sebor  <sebor@roguewave.com>

	* 19.exceptions.mt.cpp: Passed the upper bound of the restricted numeric
	option specification as an argument instead of hardcoding it in the
	string.
	* 21.string.push_back.mt.cpp: Same.

2005-12-21  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 20.temp.buffer.mt.cpp: New test exercising the thread safety
	of lib.temporary.buffer.

2005-12-21  Martin Sebor  <sebor@roguewave.com>

	* 0.cmdopts.cpp: Exercised restricted numeric options implemented
	in rev 358445.

2005-12-21  Martin Sebor  <sebor@roguewave.com>

	* cmdopt.cpp (rw_vsetopts): Factored out the processing of the numeric
	argument(s) of restricted command line arguments from here...
	(_rw_getbounds): ...to here. Added the ability to specify arguments
	in the option specification (denoted by a '*') instead of hardcoding
	their numeric value in the option string.
	(_rw_getarg): New function to parse and validate the argument of
	a restricted numeric command line option.
	(rw_runopts): Factored out single command line option processing code
	from here...
	(_rw_runopt): ...to this function. Implemented restricted numeric
	arguments for all types of options (i.e., with or without callbacks
	and optional or required).
	(_rw_set_ignenv): Renamed to follow the naming convention for symbols
	with internal linkage.
	(_rw_print_help): Same. Added informational output for restricted
	numeric arguments to command line options.
	(_RWSTD_NO_VA_LIST_ARRAY): Used the new config macro.

2005-12-20  Anton Pevtsov  <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 25.remove.cpp: New test exercising lib.alg.remove.

2005-12-19  Martin Sebor  <sebor@roguewave.com>

	* SIZE_T.cpp (_RWSTD_VA_LIST): Moved the definition of the macro
	from here...
	* VA_LIST.cpp: ...to here. New config test to determine the underlying
	type of va_list and whether it is an array type or object type.

2005-12-19  Martin Sebor  <sebor@roguewave.com>

	* 25.adjacent.find.cpp (<cstring>): Replaced the #inclusion
	of <cstddef> to bring the declaration of std::strlen() into scope.
	* find.cpp: Same.
	* find_end.cpp: Same.

2005-12-18  Martin Sebor  <sebor@roguewave.com>

	* 19.exceptions.mt.cpp (--nloops=N, --nthreads=N): Restricted the set of
	valid values of N accepted by the test driver and eliminated validation
	done by the test (obviated by rev 357416).
	* 21.string.push_back.mt.cpp: Same.
	* 25.for.each.cpp (--nloops=N): Same.
	* atomic_add.cpp (--nloops=N, --nthreads=N): Same.
	* atomic_xchg.cpp: Same.

2005-12-17  Martin Sebor  <sebor@roguewave.com>

	* 25.generate.cpp: Eliminated the checking of the value of the numeric
        argument, N, passed to the --nloops=N command line option, obviated by
	the implementation of restricted numeric arguments in the test driver
	in rev 357416.

2005-12-17  Martin Sebor  <sebor@roguewave.com>

	* cmdopt.cpp (cmdopts_t): Added minval_ and maxval_ for the lower
	and upper bound, respectively, of restricted numeric arguments.
	(rw_vsetopts): Enhanced to allow restricted numeric arguments
	to be specified.
	(rw_runopts): Handled restricted numeric argumments.

2005-12-17  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 0.cmdopts.cpp: New test exercising the rw_runopts() and rw_setopts()
	utility functions.

2005-12-17  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 0.inputiter.cpp: New test exercising the class template InputIter.

2005-12-17  Martin Sebor  <sebor@roguewave.com>

	* alg_test.h (RW_ASSERT): Used instead of the assert macro and removed
        the dependency on the <cassert> header.

2005-12-17  Martin Sebor  <sebor@roguewave.com>

	* testdefs.h (RW_ASSERT): New macro. Same as assert() but active
        regardless of NDEBUG.

2005-12-16  Martin Sebor  <sebor@roguewave.com>

	* 25.generate.cpp (rw_opt_no_generate, rw_opt_no_generate_n): Added new
	command line options to disable tests exercising the corresponding
	algorithms.

2005-12-16  Martin Sebor  <sebor@roguewave.com>

	* 25.generate.cpp (Size): Removed the definition of the class
	and replaced it with the template defined in alg_test.h (see
	rev 357263).

2005-12-16  Martin Sebor  <sebor@roguewave.com>

	* 25.fill.cpp: Simplified and exercised the fill_n() template
	specialized on user-defined Size argument. Re-introduced explicit
	instantiation directives to better exercise both templates.

2005-12-16  Martin Sebor  <sebor@roguewave.com>

	* alg_test.h (rw/_iterbase.h>: Included implementation header instead
	of the bloated <iterator> to reduce namespace pollution.
	(Size<T>): New class template used to exercise the fill_n, generate_n,
	and search_n algorithms.
	(RW_ALG_TEST_H_INCLUDED): Renamed include guard	to conform to the naming
	convention used in the test suite.
	(<rw/defs.h>): Removed an unnecessary/inappropriate include directive
	subsumed by <testdefs.h>.

2005-12-16  Martin Sebor  <sebor@roguewave.com>

	STDCXX-70
	* 21.string.push_back.mt.cpp: New test exercising the thread safety
	of the push_back() member function of basic_string (and indirectly,
	the thread safety of the member operator+=(value_type)).

2005-12-16  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 19.exceptions.mt.cpp: New test exercising the thread safety
	of the C++ Standard Library exception classes.

2005-12-16  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* atomic_add.cpp: New test exercising the __rw_atomic_preincrement
	and __rw_atomic_predecrement overloaded functions.
	* atomic_xchg.cpp: New test exercising the __rw_atomic_exchange
	overloaded functions.

i2005-12-16  Martin Sebor  <sebor@roguewave.com>

	STDCXX-3
	* rwthread.h: New header containing declarations of the test suite
	thread helpers.
	* rwthread.cpp: New source with definitions of the thread helpers.

2005-12-14  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 0.strncmp.cpp: New test exercising the rw_strncmp() overloads.
	* 0.valcmp.cpp: New test exercising the rw_valcmp() family of utility
	overloads.

2005-12-14  Martin Sebor  <sebor@roguewave.com>

	* valcmp.cpp (_RWSTD_SIZE_T): Replaced with size_t.
	(_rw_cmp1): Changed the type of the local index from int to size_t
	to avoid casts and corrected the handling of the CMP_RETOFF bit.
	(_rw_cmp2): Same.
	(_rw_cmp4): Same.
	(_rw_cmp8): Same.

2005-12-09  Martin Sebor  <sebor@roguewave.com>

	* list.cpp (operator<<): Added comments.
	(main): Replaced endl with '\n' for efficiency.

2005-12-08  Martin Sebor  <sebor@roguewave.com>

	* vector (swap): Optimized for unequal allocators.

2005-12-08  Martin Sebor  <sebor@roguewave.com>

	STDCXX-86
	* numeric (__adjacent_difference): Renamed __value to __val in order
	to avoid MSVC 8.0 error C4980: '__value': use of this keyword requires
	/clr:oldSyntax command line option.
	* _algobase.h (fill, fill_n): Ditto.
	* vector (_C_fill): Ditto. While there, also replaced const references
	to bool in function arguments with ordinary values.

2005-12-07  Anton Pevtsov  <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 25.generate.cpp: New test exercising lib.alg.generate. Also
	exercises STDCXX-83.

2005-12-07  Martin Sebor  <sebor@roguewave.com>

	STDCXX-84
	* _algobase.h (fill_n): Removed the assumption that the Size argument
	is modifiable and can be predecremented and instead converted it to
	ptrdiff_t and manipulated the converted object.

2005-12-07  Martin Sebor  <sebor@roguewave.com>

	STDCXX-83
	* algorithm (generate_n): Removed the assumption that the Size argument
	is modifiable and can be predecremented, and instead converted it to
	ptrdiff_t and manipulated the converted object.

2005-12-06  Anton Pevtsov  <antonp@moscow.vdiweb.com>
            Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 25.find.first.cpp: New test exercising lib.alg.find.first.of.

2005-12-06  Martin Sebor  <sebor@roguewave.com>

	* mapfile.gcc: Exported additional symbols.

2005-12-05  Martin Sebor  <sebor@roguewave.com>

	* 2.smartptr.shared.cpp: New test exercising tr.util.smartptr.shared.
	* 2.smartptr.weak.cpp: New test exercising tr.util.smartptr.weak.

2005-12-05  Martin Sebor  <sebor@roguewave.com>

	STDCXX-28
	* _smartptr.h: An icomplete implementation of tr.util.smartptr.

2005-12-05  Martin Sebor  <sebor@roguewave.com>

	* typeinfo.cpp: Corrected preprocessor guards around definitions
	of class bad_typeid member functions.

2005-12-05  Anton Pevtsov <antonp@moscow.vdiweb.com>

	* 25.find.end.cpp (do_test): Eliminated memory leaks.

2005-12-05  Martin Sebor  <sebor@roguewave.com>

	* 25.find.end.cpp (run_tests): Corrected a typo introduced in r352022.

2005-12-05  Martin Sebor  <sebor@roguewave.com>

	* 25.find.cpp: Exercised the algorithm's ability to return an iterator
	pointing to the first (rather than the second or any other) in a series
	of duplicate elements in the subject sequence.

2005-12-03  Martin Sebor  <sebor@roguewave.com>

	* 25.find.end.cpp: Changed copyright notice over to Apache.

2005-12-03  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-4
	* 25.find.end.cpp: New test exercising lib.alg.fin.end.

2005-12-02  Anton Pevtsov  <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 25.find.cpp: New test exercising lib.alg.find.

2005-12-02  Martin Sebor  <sebor@roguewave.com>

	* GLOBAL_BAD_TYPEID.cpp: Eliminated a conflicting definition of
	the class in the global scope (<typeinfo> might define it there
	and introduce it into namespace via a using declaration, as, for
	instance, MSVC 7 does).

2005-12-02  Martin Sebor  <sebor@roguewave.com>

	STDCXX-81
	* assert.cpp: On Solaris 8 and beyond, declared the printstack function
	instead of #including <ucontext.h>, the system header in which it is
	declared, in order to avoid having to #define enabling macros (i.e.,
	__EXTENSIONS__) and deal with the breakage when using a strict compiler
	such as EDG eccp with the long long extension (used in some system other
	headers) disabled.

2005-12-02  Martin Sebor  <sebor@roguewave.com>

	STDCXX-73
	* typeinfo: Used guard macros appropriate for each class instead
	of fudging it based on what appears to work in most cases (except
	for MSVC 8).
	* typeinfo.cpp: Same. Also indented preprocessor conditionals for
	readability.

2005-12-02  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	STDCXX-72
	* 25.adjacent.find.cpp: Enhanced to exercise the predicate form
	of the algorithm.

2005-12-02  Anton Pevtsov  <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	* 25.copy.cpp: New test exercising lib.alg.copy.

2005-12-01  Martin Sebor  <sebor@roguewave.com>

	* collate.cpp (__rw_strnxfrm): As a workaround for STDCXX-68 and
	STDCXX-69, provided dummy destination buffers instead of passing
	in 0 when calling strxfrm and wcsxfrm with the last argument of
	0 in case the functions are buggy (such as those implemented by
	MSVC) and try to write to the buffer anyway.
	(__rw_wcsnxfrm): Same.

2005-12-01  Martin Sebor  <sebor@roguewave.com>

	* STD_BAD_TYPEID.cpp: Guarded the conditional definition
	of std::terminate against compiling with anything other
	than gcc 2.x.

2005-12-01  Martin Sebor  <sebor@roguewave.com>

	STDCXX-80
	* GNUmakefile: Wrote the definition of the MAPFLAGS variable to
	makefile.in. Wrote out the definition of MAPFILE using/relative
	to TOPDIR, and the definition of LIBDIR relative to BUILDDIR.
	* GNUmakefile.lib: Appended MAPFILE to LDFLAGS, after MAPFLAGS.
	* gcc.config: Defined MAPFLAGS on Solaris and defined MAPFILE
	as a relative pathname WRT TOPDIR.
	* mapfile.gcc-3: Renamed...
	* mapfile.gcc: ...to this file (used with gcc 3 and beyond) and
	populated it with exported symbols.

2005-12-01  Martin Sebor  <sebor@roguewave.com>

	* NEW_THROWS.cpp: Corrected a printf statement in conditionally
	compiled code.
	Simplified/corrected loop allocating large amounts of memory
	and explicitly #defined the config macro on test failure instead
	of relying on the infrastructure to do it.

2005-12-01  Martin Sebor  <sebor@roguewave.com>

	* BAD_ALLOC_ASSIGNMENT.cpp: Avoided defining std::terminate() unless
	compiling with gcc 2, the only compiler that might need it (when using
	the -fhonor-std option with a compiler and its runtime libraries that
	were compiled without the option).

2005-12-01  Martin Sebor  <sebor@roguewave.com>

	* RUNTIME_IN_STD.cpp: In preparation for fixing STDCXX-73 enhanced
	to #undef configuration macros (presumably) #defined due to the
	false negative results of the respective configuration tests.
	Printed out comments with the number of runtime library symbols
	examined, the number of symbols found to be defined in namespace
	std, in the global namespace, in both, and in neither (likely as
	a result of a false negative test result).

2005-12-01  Martin Sebor  <sebor@roguewave.com>

	* UNAME.cpp: Corrected a typo in conditionally compiled code.

2005-12-01  Martin Sebor  <sebor@roguewave.com>

	* valcmp.h: Added comments for rw_strncmp() overloads.

2005-12-01  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (_rw_bufcat): Increased the size of the buffer and added
	a trailing guard to detect writes past the end (and other types of
	memory corruption).
	(_rw_vfprintf): Avoided using a statically allocated buffer (might
	be freed by _rw_bufcat).

2005-11-30  Martin Sebor  <sebor@roguewave.com>

	STDCXX-76
	* exception.cpp: (uncaught_exception): With MSVC 7 and better, used
	__uncaught_exception() to implement std::uncaught_exception() instead
	of relying on the global symbol.

2005-11-29  Anton Pevtsov  <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 25.fill.cpp: New test exercising lib.alg.fill.

2005-11-28  Anton Pevtsov  <antonp@moscow.vdiweb.com>

	* runexamples.wsf: Renamed to...
	* runall.wsf: ...this.
	* generate.js: Invoked runall.wsf instead of runexamples.wsf.
	* makelog.wsf: Included runall.wsf instead of runexamples.wsf.

2005-11-28  Martin Sebor  <sebor@roguewave.com>

	* generate.bat: Set the svn:eol-style property to native.
	* config.js: Same.
	* configure.wsf: Same.
	* data.js: Same.
	* generate.js: Same.
	* generate.wsf: Same.
	* makelog.wsf: Same.
	* msvc-config.js: Same.
	* msvc-config_classes.js: Same.
	* runexamples.wsf: Same.
	* runexe.wsf: Same.
	* summary.js: Same.
	* update.wsf: Same.
	* utilities.js: Same.

2005-11-25  Martin Sebor  <sebor@roguewave.com>

	STDCXX-70
	* string (basic_string): Took into account the fact that the value
	of the reference count when read unguarded may be negative (-1) on
	SPARC V8 when it's being manipulated (incremented or decremented)
	by another thread, and cast it to an unsigned type in expressions
	involving relational operators such as < and <=.
	(begin): Same.
	(append): Same.
	* string.cc (operator=): Same.
	(replace): Same.
	(__replace_aux): Same.

2005-11-25  Martin Sebor  <sebor@roguewave.com>

	* makefile.rules: Disabled the %: %.h pattern rule and added
	the .h suffix to the list of .SUFFIXES.

2005-11-25  Martin Sebor  <sebor@roguewave.com>

	* 0.printf.cpp: (test_signal): Exercised width and justification.

2005-11-25  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp: (_rw_vfprintf): Flushed out stream in case it isn't
	line-buffered (e.g., when stderr is determined not to refer to a
	terminal device, for example after it has been redirected to a file).
	(_rw_fmtsignal): Used _rw_fmtstr() to format the signal name to take
	advantage of the string justification capabilities of the function.

2005-11-25  Martin Sebor  <sebor@roguewave.com>

	STDCXX-3
	* alg_test.cpp: New file containing the definitions of class X members.

2005-11-25  Anton Pevtsov  <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-5
	* generate.bat: New Windows batch file to invoke the Windows build
	infrastructure. Invoke like so:
	> generate /BUILDDIR:<build-dir> /CONFIG:VC71
	* configure.wsf: New Windows Script Host (WSH) file implementing
	the Windows configuration infrastructure.
	* generate.wsf: New WSH file implementing the part of the Windows
	infrastructure responsible for generating Visual Studio projects
	and solution(s).
	* generate.js: New JScript file invoked from the WSH file above.
	* runexamples.wsf: New helper WSH file for the batch invocation
	of example programs.
	* runexe.wsf: New helper WSH file used by the above to invoke
	a single example or test program.
	* update.js: New JScript file to update an already generated
	Visual Studio solution and add new projects to it.
	* config.js: New helper JScript file.
	* msvc-config_classes.js: New MSVC-specific JScript helper file
	containing definitions of classes and their members.
	* data.js: New helper JScript file containing definitions of data.
	* msvc-config.js: New MSVC-specific JScript helper file.
	* utilities.js: New helper JScript file containing definitions
	of non-member functions.
	* summary.js: New helper JScript file to generate a summary build
	log in HTML format.
	* makelog.wsf: New helper WSH file invoked to generate a summary
	build log.
	* fun_present_check.cpp: New helper C++ source file used by 
	the configuration infrastructure to check for the presence
	of library functions in dependent libraries.

2005-11-25  Martin Sebor  <sebor@roguewave.com>

	* adjacent_find.cpp: Improved names and added comments for clarity.
	Added a warning pointing out that the predicate overload is not being
	exercised by the test (see stdcxx-72).
	Removed explicit instantiation obviated by implicitly instantiating
	the algorithm on iterator types of all supported categories.

2005-11-25  Martin Sebor  <sebor@roguewave.com>

	* alg_test.h (ConstRandomAccessIter): Added the correct operator[],
	replacing the one inherited from the base class (which returns
	a non-const reference).

2005-11-25  Anton Pevtsov  <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX_4
	* 25.mismatch.cpp: New test exercising lib.mismatch.

2005-11-23  Martin Sebor  <sebor@roguewave.com>

	STDCXX-71
	* cerrno: Avoided #undefining errno.
	* errno.h: Same.
	* _defs.h: Used quotes instead of pointy brackets in the defintion
	of the _RWSTD_ANSI_C_ERRNO_H and _RWSTD_CERRNO macros to prevent
	the errno macro from expanding.

2005-11-23  Martin Sebor  <sebor@roguewave.com>

	* 19.cerrno.cpp: New test exercising lib.errno, the contents
	of the header <cerrno>.

2005-11-22  Martin Sebor  <sebor@roguewave.com>

	* cmdopt.cpp (rw_runopts): Enhanced options specified using the "#"
	character (such as "|-foo#") and allowed them to be followed by the
	quals sign and a numeric argument, such as --foo=123.

2005-11-22  Martin Sebor  <sebor@roguewave.com>

	* 25.for.each.cpp: Corrected the name of the file in a comment.

2005-11-22  Martin Sebor  <sebor@roguewave.com>

	* alg_test.h (ConstFwdIter): Passed the expected number of arguments
	to the base class ctor.
	* for_each.cpp: Enhanced to exercise InputIterators and other
	non-mutable iterators.

2005-11-19  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.tst: Removed the path component from the names of sections
	of the C++ standard (e.g., algorithms) to allow them to be used as the
	names of targets representing the tests residing in such directories.

2005-11-19  Martin Sebor  <sebor@roguewave.com>

	* makefile.rules: Disabled implicit rules for .c and .cc files in order
	to prevent such files under the include/ directory (e.g., istream.c and
	istream) form being compiled due to being listed as dependencies of .cpp
	files.

2005-11-18  Martin Sebor  <sebor@roguewave.com>

	* 0.printf.cpp: (do_test): Tightened up and detected error cases.
        (test_paramno): Added a couple of test cases.

2005-11-18  Anton Pevtsov  <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	* 25.equal.cpp: New test exercising lib.alg.equal.

2005-11-18  Martin Sebor  <sebor@roguewave.com>

	* _list (C_get_node): Renamed a function argument to eliminate
	an MSVC 8.0 compilation error. __is_empty is apparently an MSVC
	reserved symbol new in 8.0 even though it's not documented here:
	http://msdn2.microsoft.com/en-us/library/2e6a4at9.aspx.
	(_C_init): Same.

2005-11-18  Martin Sebor  <sebor@roguewave.com>

	* any.cpp (rw_any_t): Used memset instead of default-initialization
	in the ctor initializer list in all ctors to work around a SunPro
	5.{3,4} bug.
	(type_name): Removed the redundant "signed" from type names.
	Added a missing _RWSTD_NO_LONG_DOUBLE guard.
	(tostr): Handled all enumerators in the switch to silence
	the gcc warning: enumeration value not handled in switch.

2005-11-18  Martin Sebor  <sebor@roguewave.com>

	* BAD_ALLOC_ASSIGNMENT.cpp: Factored code duplicated in all
	the other tests into this one and simply #included this file.
	* BAD_ALLOC_COPY_CTOR.cpp: Moved all code from this file to
	BAD_ALLOC_ASSIGNMENT.cpp and #included the latter after
	#defining the necessary macros.
	* BAD_ALLOC_DEFAULT_CTOR.cpp: Same.
	* BAD_ALLOC_DTOR.cpp: Same.
	* BAD_ALLOC_WHAT.cpp: Same.
	* BAD_CAST_ASSIGNMENT.cpp: Same.
	* BAD_CAST_COPY_CTOR.cpp: Same.
	* BAD_CAST_DEFAULT_CTOR.cpp: Same.
	* BAD_CAST_DTOR.cpp: Same.
	* BAD_CAST_WHAT.cpp: Same.
	* BAD_EXCEPTION_ASSIGNMENT.cpp: Same.
	* BAD_EXCEPTION_COPY_CTOR.cpp: Same.
	* BAD_EXCEPTION_DEFAULT_CTOR.cpp: Same.
	* BAD_EXCEPTION_DTOR.cpp: Same.
	* BAD_EXCEPTION_WHAT.cpp: Same.
	* BAD_TYPEID_ASSIGNMENT.cpp: Same.
	* BAD_TYPEID_COPY_CTOR.cpp: Same.
	* BAD_TYPEID_DEFAULT_CTOR.cpp: Same.
	* BAD_TYPEID_DTOR.cpp: Same.
	* BAD_TYPEID_WHAT.cpp: Same.
	* EXCEPTION_ASSIGNMENT.cpp: Same.
	* EXCEPTION_COPY_CTOR.cpp: Same.
	* EXCEPTION_DEFAULT_CTOR.cpp: Same.
	* EXCEPTION_DTOR.cpp: Same.
	* EXCEPTION_WHAT.cpp: Same.

2005-11-17  Martin Sebor  <sebor@roguewave.com>

	* 0.printf.cpp (test_signal): New function exercising
	the "%{K}" format specifier for the formatting of signal names.

2005-11-17  Martin Sebor  <sebor@roguewave.com>

	* FOR_LOCAL_SCOPE.cpp: Deleted an unreliable test (some compilers,
	such as gcc 2 or Intel C++ 8 on Windows) only issue a warning but
	do not actually reject the test.
	* NO_FOR_LOCAL_SCOPE.cpp: Implemented the same functionality as
	above but as a negative test, i.e., one which is considered passing
	on failure to compile.

2005-11-17  Anton Pevtsov  <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 25.for.each.cpp: New test exercising lib.alg.foreach.

2005-11-17  Martin Sebor  <sebor@roguewave.com>

	STDCXX-3
	* alg_test.h: New header with definitions of helpers used
	by algorithm tests.

2005-11-17  Anton Pevtsov  <antonp@moscow.vdiweb.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 25.adjacent.find.cpp: New test exercising lib.alg.adjacent.find.

2005-11-17  Martin Sebor  <sebor@roguewave.com>

	* strstream.cpp: Output line numbers and the numbers of extracted
	characters to make example more interesting.
	* strstream.out: Changed to match the existing output.

2005-11-16  Martin Sebor  <sebor@roguewave.com>

	* istream.cc: Removed HP copyright notice (HP had nothing to do with
	this file).

2005-11-16  Martin Sebor  <sebor@roguewave.com>

	STDCXX-59
	STDCXX-67
	* istream.cc (getline): Renamed function formal arguments for clarity.
	Prevented the function from writing past the end of a zero-size buffer
	(thus reverting a partial regression introduced in revision 328966).

2005-11-14  Martin Sebor  <sebor@roguewave.com>

	* 0.printf.cpp (do_test): Removed the formatting of arguments from
	diagnostic messages to avoid having to deal with ill-formed conversions
	such as from member pointers to integers.
	(test_memptr): Exercised the formatting of pointers to members.
	(test_width_specific_int): Conditionalized for the absence of long long
	support.
	(test_errno): Exercised the "%{#*m}" format specification.
	Changed the text of warning messages.

2005-11-14  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp: (_rw_fmtpointer): Implemented the formatting of all
	pointer types (ordinary, function, and member) in a consistent way
	and without relying on _rw_fmtllong.
	(_rw_fmtptr): Called _rw_fmtpointer.
	(_rw_fmtfunptr): Same.
	(_rw_fmtmemptr): Same.
	(_rw_vfprintf): New implementation function for rw_fprintf and
	rw_printf. Called OutputDebugString() on Windows to write the string
	to the debugger window.
	(rw_fprintf): Called _rw_vfprintf.
	(rw_printf): Same.
	(rw_vasnprintf): Used __builtin_va_copy only with gcc 3.x and better
	(prior versions	do not implement the built-in).
	Renamed all static functions according to the naming convention,
	i.e., so that each name starts with an underscore.

2005-11-11  Martin Sebor  <sebor@roguewave.com>

	* valcmp.cpp (rw_dblcmp): Hacked around a missing 64-bit integer
	type (e.g., when long long support has been disabled).

2005-11-11  Martin Sebor  <sebor@roguewave.com>

	* 18.limits.traps.cpp: Set the svn:keywords property to Id.

2005-11-11  Martin Sebor  <sebor@roguewave.com>

	* Avoided the use of the #ifdef/#ifndef syntax with non-config
	macros to prevent the configuration infrastructure from treating
	them as potential dependencies.

2005-11-11  Martin Sebor  <sebor@roguewave.com>

	* 18.limits.traps.cpp: Used Structured Exception Handling on Windows.
	Removed the unnecessary SIGTRAP handler (integer division by zero
	typically causes SIGFPE).

2005-11-11  Martin Sebor  <sebor@roguewave.com>

	STDCXX-57
	* extern_template_before_definition_imp.cpp: New test (a dependency
	of EXTERN_TEMPLATE_BEFORE_DEFINITION.cpp), missed in rev 331866.

2005-11-11  Martin Sebor  <sebor@roguewave.com>

	* stringstream.cpp: Replaced uses of std::endl with '\n' for efficiency.

2005-11-11  Martin Sebor  <sebor@roguewave.com>

	* NO_INT_TRAPS.cpp: Used Structured Exception Handling on Windows
	to prevent it from popping up a dialog box for the arithmetic
	exception triggered as a result of dividing by zero.

2005-11-10  Martin Sebor  <sebor@roguewave.com>

	STDCXX-65
	* limits: Used _RWSTD_NO_INT_TRAPS to define numeric_limits::traps
	for all integral T.
	* NO_INT_TRAPS.cpp: Used division by zero to trigger an arithmetic
	trap on platforms where integer trapping is implemented and enabled.

2005-11-09  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 18.limits.traps.cpp: New test exercising numeric_limits::traps.

2005-11-09  Martin Sebor  <sebor@roguewave.com>

	* SIZE_T.cpp: Initialized all local variables before copying them
	to function arguments to prevent MSVC 8.0 debugging assertions
	when the /RTC1 option (Run-Time Error Checks) is used.

2005-11-08  Martin Sebor  <sebor@roguewave.com>

	STDCXX-57
	* _defs.h: Defined _RWSTD_NO_EXPLICIT_INSTANTIATION_BEFORE_DEFINITION
	whenever _RWSTD_NO_EXTERN_TEMPLATE_BEFORE_DEFINITION is #defined.

2005-11-08  Martin Sebor  <sebor@roguewave.com>

	STDCXX-57
	* instantiation_before_definition.h: Added a declaration of an
	unreferenced member function to prevent the instantiation of the
	(former) refererrent from implicitly instantiating it and causing
	a false positive.
	* instantiation_before_definition.cc: Added a definition of the member.
	* EXTERN_TEMPLATE_BEFORE_DEFINITION.cpp: New test to detect whether
	an extern template declaration corresponding to the explicit
	instantiation directive for the same template can appear lexically
	before the definition of the template (or members of class template).

2005-11-08  Martin Sebor  <sebor@roguewave.com>

	STDCXX-64
	* ti_num_get.cpp: Silenced HP aCC warning 933: Null macro argument.
	* ti_num_put.cpp: Same.
	* ti_numpunct.cpp: Same.

2005-11-04  Martin Sebor  <sebor@roguewave.com>

	STDCXX-63
	* ostream1.cpp (main): Conditionalized so as not to assume
	that the long long extension is implemented or enabled.

2005-11-04  Martin Sebor  <sebor@roguewave.com>

	* _money_put.cc (_C_put): Eliminated gcc -O warning: variable
	might be used uninitialized in this function.

2005-11-03  Martin Sebor  <sebor@roguewave.com>

	* Set the svn:eol-style property to native.

2005-11-01  Martin Sebor  <sebor@roguewave.com>

	STDCXX-61
	* _mutex.h (__rw_atomic_preincrement): Fixed an egregious typo
	in a reinterpet_cast from a reference to pointer not caught by
	MSVC.
	(__rw_atomic_predecrement): Same.
	(__rw_atomic_exchange): Same.

2005-10-28  Martin Sebor  <sebor@roguewave.com>

	* UNISTD_DECL.cpp: Hardcoded the definition of ssize_t for Windows which
	doesn't define the type (the SDK defines the equivalent type as SSIZE_T
	but the header may not be available in the base kit).

2005-10-27  Martin Sebor  <sebor@roguewave.com>

	STDCXX-59
	* istream.cc (getline): On failure, stored the NUL character
	in the first location of the array as required by DR 243.
	Prevented the function from overwriting extracted data or storing
	the NUL character past the end of buffer.

2005-10-27  Martin Sebor  <sebor@roguewave.com>

	STDCXX-60
	* istream.cc (get): On failure, stored the NUL character in the first
	location of the array as required by DR 243.

2005-10-27  Martin Sebor  <sebor@roguewave.com>

	STDCXX-58
	* EXPORT.cpp: Linked with EXPORT_KEYWORD.o, renamed templates to prevent
	compilers such as Compaq C++ from finding symbols defined in other tests
	when looking through a template repository.
	* EXPORT_KEYWORD.cpp: Renamed template.

2005-10-27  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.cfg: Used the wildcard function instead of invoking
	ls via $(shell) for efficiency and alphabetically sorted source
	files. Used the := operator instead of the ordinay = for efficiency.

2005-10-27  Martin Sebor  <sebor@roguewave.com>

	* BAD_ALLOC_DTOR.cpp: Introduced additional class and virtual
	inheritance to thwart aggressive optimizers' efforts to eliminate
	the tested class' dtor.
	* BAD_CAST_DTOR.cpp: Implemented in terms of BAD_ALLOC_DTOR.cpp
	to eliminate code duplication and reduce the maintenance effort.
	* BAD_TYPEID_DTOR.cpp: Same.
	* EXCEPTION_DTOR.cpp: Same.
	* TYPE_INFO_DTOR.cpp: Same as BAD_ALLOC_DTOR.cpp.

2005-10-26  Martin Sebor  <sebor@roguewave.com>

	* DIV_OVERLOADS.cpp (main): Avoided invoking div() with the argument
	of 0 to prevent division by zero errors at runtime (doh!)

2005-10-24  Martin Sebor  <sebor@roguewave.com>

	STDCXX-15
	* BAD_ALLOC_ASSIGNMENT.cpp: Consistently and in a uniform way avoided
	executing the body of main unless explicitly requested by specifying
	at least one command line argument. Done to foil aggressive optimizers
	and to prevent them from eliminating the code.
	* BAD_ALLOC_COPY_CTOR: Same.
	* BAD_ALLOC_DEFAULT_CTOR: Same.
	* BAD_ALLOC_DTOR: Same.
	* BAD_ALLOC_WHAT: Same.
	* BAD_CAST_ASSIGNMENT: Same.
	* BAD_CAST_COPY_CTOR: Same.
	* BAD_CAST_DEFAULT_CTOR: Same.
	* BAD_CAST_DTOR: Same.
	* BAD_CAST_WHAT: Same.
	* BAD_EXCEPTION_ASSIGNMENT: Same.
	* BAD_EXCEPTION_COPY_CTOR: Same.
	* BAD_EXCEPTION_DEFAULT_CTOR: Same.
	* BAD_EXCEPTION_DTOR: Same.
	* BAD_TYPEID_ASSIGNMENT: Same.
	* BAD_TYPEID_COPY_CTOR: Same.
	* BAD_TYPEID_DEFAULT_CTOR: Same.
	* BAD_TYPEID_DTOR: Same.
	* BAD_TYPEID_WHAT: Same.
	* EXCEPTION_ASSIGNMENT: Same.
	* EXCEPTION_COPY_CTOR: Same.
	* EXCEPTION_DEFAULT_CTOR: Same.
	* EXCEPTION_DTOR: Same.
	* EXCEPTION_WHAT: Same.
	* TYPE_INFO_DTOR: Same.

2005-10-19  Martin Sebor  <sebor@roguewave.com>

	* _mutex.h: Replaced copyright notices inadvertently ovewritten
	in a previous commit.

2005-10-19  Martin Sebor  <sebor@roguewave.com>

	* typeinfo: Corrected a preprocessor conditional guarding an EDG
	specific #pragma recognized by the vanilla EDG front end, Compaq
	C++, and SGI MIPSpro but not HP aCC 6.x or Intel C++ (which also
	use the same front end).

2005-10-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-56
	* deque.cc (_C_assign_n): Renamed a local variable from __it to __ix
	to silence gcc -Wshadow warnings.
	(_C_assign_range): Same.
	* vector.cc (_C_assign_range): Renamed a local to silence gcc -Wshadow
	warnings.
	(_C_insert_range): Same.

2005-10-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-55
	* _specialized.h (__rw_new_capacity): Silenced a gcc -Wshadow warning
	on IRIX.
	* string (__rw_new_capacity): Same.

2005-10-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-54
	* _mutex.h: Cast -1 to unsigned in order to silence gcc warnings
	on IRIX: argument passing of negative value `-1' to `unsigned int'.

2005-10-19  Martin Sebor  <sebor@roguewave.com>

	* _config.h: Disabled the extern template extension for gcc 2.x which
	doesn't implement it but doesn't fail the config test and only issues
	a warning: ANSI C++ forbids the use of `extern' on explicit
	instantiations.
	Defined the  _RWSTD_SGI_MIPSPRO macro when SGI MIPSpro is detected
	as the compiler.

2005-10-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-49
	* gcc.config: Removed -fsquangle for gcc > 2 as the option is not
	supported there.
	Removed the -pthread option on IRIX since it's not recognized there.

	STDCXX-50
	* gcc.config: Added -Wl,-woff,84 to LDFLAGS on IRIX to silence
	ld warnings about libraries not used to resolve any symbol.

2005-10-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-53
	* rwstdmessages.msg: Added a final newline to prevent a gencat error
	on IRIX: set 2 msg 3: Unexpected quote ().

2005-10-18  Martin Sebor  <sebor@roguewave.com>

	* makefile.common: Added *.msg files back to ALL_FILES (regression
	introduced in rev 292348).
	Streamlined and made consitent the computation of ALL_FILES.
	Replaced vestiges of hardwired .s and .S suffixes with $(AS_EXT).

2005-10-18  Martin Sebor  <sebor@roguewave.com>

	* makefile.rules: Removed logging.
	Simplified the rule for the %.out target.
	Corrected the $(DEPENDDIR)/%.d target and its dependencies
	(broken in rev 292586).

2005-10-14  Martin Sebor  <sebor@roguewave.com>

	* _config.h: Replaced an unreliable preprocessor conditional
	with a simpler one using the _RWSTD_EDG_ECCP macro.
	Introduced a new convenience macro: _RWSTD_REVERSE_ITERATOR().

2005-10-14  Martin Sebor  <sebor@roguewave.com>

	* _config.h: Introduced the _RWSTD_EDG_ECCP macro to unambiguously
	identify the vanilla EDG eccp front end demo and to distinguish it
	from compilers such as Compaq C++, Intel C++, or SGI MIPSpro that
	use the front-end and (sometimes) also #define __EDG__.
	Removed the hardcoded _RWSTD_CRLF_CONVENTION macro (superseded
	by the new _RWSTD_NEWLINE_... set of autoconfigured macros).
	* fstream (_C_crlf_extern_count): Replaced the _RWSTD_CRLF_CONVENTION
	macro with the new _RWSTD_NEWLINE_... set of macros. Replaced a loop
	with the potentially more efficient call to traits::find().
	(_C_crlf_intern_count): Same.

2005-10-14  Martin Sebor  <sebor@roguewave.com>

	* NEWLINE.cpp: New test to determine the newline character sequence,
	or one of <CR>, <CR><LF>, or <LF>.

2005-10-14  Martin Sebor  <sebor@roguewave.com>

	STDCXX-47
	* cstdlib (abs): Moved the definition of the int overload from
	namespace std to the global scope and introduced it into std
	via a using declaration for consistency with the rest of the
	C functions declared in the same block. Guarded said definition
	with the _RWSTD_NO_ABS_INT config macro to avoid colliding with
	the same function in <cmath>.

2005-10-14  Martin Sebor  <sebor@roguewave.com>

	STDCXX-46
	* cstdlib (div): Guarded definitions of the div(long,long) overload
	with the _RWSTD_NO_DIV_LONG config macro to prevent errors due to
	multiple definitions of the function when it's also defined in
	the system <stdlib.h> header.

2005-10-14  Martin Sebor  <sebor@roguewave.com>

	STDCXX-46
	* DIV_OVERLOADS.cpp: New config test to determine the presence
	of the C++ overloads of the div() function in <stdlib.h> and
	the rest of the C standard library headers.

2005-10-13  Martin Sebor  <sebor@roguewave.com>

	STDCXX-48
	* cwchar (wmemcpy): Incremented the source pointer in every
	iteration of the loop.

2005-10-13  Martin Sebor  <sebor@roguewave.com>

	STDCXX-46
	* 26.c.math.cpp: New test exercising lib.c.math.

2005-10-13  Martin Sebor  <sebor@roguewave.com>

	* time_manip.cpp (time_get_manip): Made ctor explicit.
	(time_put_manip): Same.
	(get_time): Explicitly invoked the time_get_manip ctor instead
	of relying on implicit user-defined conversion.
	(put_time): Same.
	(main): Added a missing std:: qualification.
	Improved error message and exited with a non-zero status
	on error.

2005-10-13  Martin Sebor  <sebor@roguewave.com>

        * money_manip.cpp: New example program demonstrating the implementation
        of user-defined manipulators (using the std::__rw_smanip template) for
        the convenient extraction and insertion of monetary values.

2005-10-13  Martin Sebor  <sebor@roguewave.com>

	* _money_put.cc (do_put): Eliminated the assumption that non-virtual
	member functions of both the local and international specializations
	of the moneypunct facet have identical behavior and are interchangeable
	(i.e., that the static types of the facets do not cache any data).
	(_C_put): Same.

2005-10-12  Martin Sebor  <sebor@roguewave.com>

	* time_manip.cpp (put_time): Added a missing template declaration.

2005-10-12  Martin Sebor  <sebor@roguewave.com>

	* time_manip.cpp: New example program demonstrating the implementation
	of user-defined manipulators (using the std::__rw_smanip template) for
	the convenient extraction and insertion of std::tm values.

2005-09-30  Martin Sebor  <sebor@roguewave.com>

	STDCXX-45
	* mipspro.config: Added the -64 option for wide configurations.
	Also replaced the = operator with := for better efficiency.

2005-09-30  Martin Sebor  <sebor@roguewave.com>

	STDCXX-44
	* mipspro.config (LDFLAGS): Used the undocumented -LANG:std=off option
	(presumably the correct spelling of -LANG:non-std) to prevent linking
	with the native implementation of the C++ Standard Library.

2005-09-29  Martin Sebor  <sebor@roguewave.com>

	STDCXX-43
	* _mutex.h (__rw_atomic_preincrement): Eliminated a typo introduced
	in revision #292352 into code conditionally compiled on AIX with VAC++.

2005-09-29  Martin Sebor  <sebor@roguewave.com>

	* makefile.rules: Optimized the inclusion of dependencies to just
	those needed (rather than all of them) when MAKECMDGOALS is non-empty
	(i.e., when at least one goal has been specified on the command line).
	Removed .c from .SUFFIXES.

2005-09-29  Martin Sebor  <sebor@roguewave.com>

	STDCXX-22
	* _time_put.cc (__rw_put_time): Changed to an ordinary function.
	* time_put.cpp (__rw_put_time): Changed linkage from internal to
	external.

2005-09-29  Martin Sebor  <sebor@roguewave.com>

	STDCXX-43
	* _mutex.h (__rw_atomic_preincrement): Removed the definition of
	the duplicate overload for long in code conditionally compiled
	for i386 inadvertently left in by rev 292352.
	(__rw_atomic_predecrement): Same.
	(__rw_atomic_exchange): Same.

2005-09-28  Martin Sebor  <sebor@roguewave.com>

	STDCXX-41
	* README: Documented new target names introduced in revsion 292372.

2005-09-28  Martin Sebor  <sebor@roguewave.com>

	STDCXX-41
	* GNUmakefile: Renamed targets for clarity and consistency.
	Removed dependencies from targets (they are handled in the
	recursively processed makefiles).

2005-09-28  Martin Sebor  <sebor@roguewave.com>

	STDCXX-43
	* i86/atomic.s (__rw_atomic_add): renamed to __rw_atomic_add32.
	(__rw_atomic_xchg): renamed to __rw_atomic_xchg32.
	* sparc/atomic-64.s: Ditto.
	* _mutex.h: Simplified by factoring out common code from platform
	specific blocks to a single platform-independent block (wherever
	possible).
	(__rw_atomic_add): renamed to __rw_atomic_add32.
	(__rw_atomic_xchg): renamed to __rw_atomic_xchg32.

2005-09-28  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile: Used the := operator instead of = in expensive
	assignments (such as those involving the $(shell) function for
	efficiency.
	* GNUmakefile.exm (SRCDIRS): Explicitly listed source directories.
	Adjusted indentation in conditionals and removed redundant spaces.
	* GNUmakefile.tst (SUBDIRS): Replaced with SRCDIRS and simplified
	the definition of the variable to avoid the expensive $(shell)
	function.
	(OMIT_SRCS): Simplified and avoided using the $(shell) function.
	(VPATH): Avoided unnecessarily appending to the variable.
	* makefile.common: Used the := operator instead of =.
	(ALL_FILES): Avoided using the expensive $(shell) function.
	(VPATH): Defined to $(SRCDIRS) instead of using	$(shell) to do
	the same thing.

2005-09-28  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.cfg: Used printf instead of echo to append test output
	to the config header in case the output contains embedded escape
	sequences such as "\n" etc.

2005-09-28  Martin Sebor  <sebor@roguewave.com>

	STDCXX-22
	* time_put.cpp (__rw_put_time): Changed from a function template
	and its two specializations to overloads of an ordinary function
	to prevent an SGI MIPSpro 7.41 ICE.

2005-09-28  Martin Sebor  <sebor@roguewave.com>

	* time_put.cpp: Removed unnecessary scope resolution operators from
	global names.
	(__rw_put_time): Renamed the 6-argument overloads taking a character
	pointer as the last argument to __rw_fmt_time in order to distinguish
	them from the 12-argument function template and its specializations.

2005-09-27  Martin Sebor  <sebor@roguewave.com>

	STDCXX-42
	* bitset (to_string): Corrected the preprocessor conditional guarding
	the definition of the member function to be the same as the one used
	to guard its declaration in the body of the template.

2005-09-21  Martin Sebor  <sebor@roguewave.com>

	STDCXX-39
	* gcc.config: Replaced -pthreads with -mthreads on Cygwin.
	Defined AS_EXT to .s on the same platform.

2005-09-21  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* 22.locale.num.get.cpp: New test exercising the num_get facet.

2005-09-21  Martin Sebor  <sebor@roguewave.com>

	* valcmp.cpp (rw_ldblcmp): Implemented in terms of absolute
	and relative errors instead of naively using memcmp().

2005-09-21  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.rwt: Set SRCDIRS correctly and let makefile.common
	find all source files instead of doing it here.
	Removed an unnecessary -I option from INCLUDES.
	Replaced RWTESTSRCS and RWTESTOBJS with SRCS and OBJS (defined
	in makefile.common).
	Removed libstd from the all target since the librwtest archive
	doesn't	depend on it.
	Removed the unused RUNFLAGS.

2005-09-21  Martin Sebor  <sebor@roguewave.com>

	* makefile.common: Replaced a couple of invocations of the $(shell
	echo dirs/*.suffix) function with $(foreach d,dirs,$(wildcard
	d/*.suffix) for efficiency and correctness (when dirs is a list
	of two or more directories).

2005-09-21  Martin Sebor  <sebor@roguewave.com>

	STDCXX-38
	* INFINITY.cpp: Moved declarations of locals above the point of their
	use (doh!) thus fixing a regression introduced into conditionally
	compiled code in the previous commit (rev 290491).

2005-09-20  Martin Sebor  <sebor@roguewave.com>

	* testdefs.h: Added #definitions of _RWSTD_PRI* macros (mirroring
	a subset of the C99 PRI* macros).

2005-09-20  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (libstd_vasnprintf): Extended the %{m} specifier to handle
	width as the errno value (instead of using the errno variable value).

2005-09-20  Martin Sebor  <sebor@roguewave.com>

	STDCXX-38
	* INFINITY.cpp: Avoided floating point arithmetic on denormalized
	numbers when trapping is enabled (i.e., _RWSTD_NO_DBL_TRAPS is not
	#defined).

2005-09-19  Martin Sebor  <sebor@roguewave.com>

	* atomic.s: Included the correct IA64 implementation files, along
	the lines of rev 230382 (inadvertently reverted in rev 290311).

2005-09-19  Martin Sebor  <sebor@roguewave.com>

	* atomic-ia64-32.s: Renamed...
	* ia64/atomic.s: ...to this.

2005-09-19  Martin Sebor  <sebor@roguewave.com>

	* ia64/atomic.s: Renamed...
	* ia64/atomic-64.s: ...to this for consistency with the other
	assembly files.

2005-09-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-14 (part 3)
	* extern_function_template.cpp: Renamed...
	* extern_function_template_imp.cpp: ...to this.
	* EXTERN_FUNCTION_TEMPLATE.cpp: Changed dependency on the above.

2005-09-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-14 (part 2)
	* atomic.S: Renamed...
	* atomic-cxx.S: ...to this.

2005-09-19  Martin Sebor  <sebor@roguewave.com>

	* atomic-64.s: Changed the name of the included file to correspond
	to its new location (see rev 290311).

2005-09-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-14 (part 1)
	* src/atomic-i86.s: Renamed to...
	* src/i86/atomic.s: ...this.
	* src/atomic-ia64.s: Renamed to...
	* src/ia64/atomic.s: ...this.
	* src/atomic-pa2.s: Renamed to...
	* src/parisc/atomic.s:  ...this.
	* src/atomic-pa2-64.s: Renamed to...
	* src/parisc/atomic-64.s: ...this.
	* src/atomic-sparc.s: Renamed to...
	* src/sparc/atomic.s: ...this.
	* src/atomic-sparc64.s Renamed to...
	* src/sparc/atomic-64.s: ...this.
	* src/atomic.s: Changed the names of included files according
	to the above.
	* GNUmakefile: Introduced the AS_EXT variable and set it to.S by
	default (unless already defined in the .config file).
	* makefile.common: Replaced platform-specific hackery with a more
	general handling of assembly files.
	* makefile.rules: Introduced the AS_EXT variable into the %.o: %.s
	suffix rule and guarded the whole thing against expanding when AS_EXT
	is not defined or valid.
	* acc.config: Defined AS_EXT to .s.
	* mipspro.config: Same.
	* vacpp.config: Defined AS_EXT to an invalid value on AIX to prevent
	the assembly of .{S,s} files (Linux will use the default extension
	defined in GNUmakefile).
	* eccp.config: Defined AS_EXT to an invalid value to disable the
	processing of assembly files until a solution to invoke the system
	assembler is implemented.

2005-09-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-25
	* string (insert): Added overloads for string::const_pointer
	to detect insertion of (substrings of) self.

2005-09-19  Martin Sebor  <sebor@roguewave.com>

	STDCXX-26
	* libc_decl.sh: On Solaris, used the POSIX basename in /usr/xpg4/bin/
	rather than the one in /usr/bin to avoid interpreting the suffix in
	a special way. 

2005-09-18  Martin Sebor  <sebor@roguewave.com>

	* 22.locale.num.put.cpp: New test exercising the num_put facet.

2005-09-18  Martin Sebor  <sebor@roguewave.com>

        * snprintfa.cpp (rw_vasnprintf): Unconditionally cleared the supplied
        character buffer by inserting '\0' into the first position to make
        sure the output is always NUL-terminated.
        (rw_ansprintf): Renamed to rw_asnprintf (typo).
        (rw_fmtsignal): New function to format a signal name.
        (libstd_vasnprintf): Called rw_fmtsignal in response to the %{K}
        format specifier.

2005-09-18  Martin Sebor  <sebor@roguewave.com>

	* valcmp.h (rw_equal): New function template and overloads thereof
	for the three floating point types.
	* valcmp.cpp: Renamed file scope statics according to the naming
        convention for such things (i.e., _rw_xxx).

2005-09-18  Martin Sebor  <sebor@roguewave.com>

	STDCXX-3
	* any.h: New. Definition of the rw_any_t helper class.
	* any.cpp: New. Definitions of the rw_any_t class member functions.

2005-09-18  Martin Sebor  <sebor@roguewave.com>

	* opt_lines.h: Set the svn:keywords Id property and changed
	the copyright notice.
	* opt_lines.cpp: Same.
	* opt_trace.h: Same.
	* opt_trace.cpp: Same.
	* opt_types.h: Same.
	* opt_types.cpp: Same.

2005-09-18  Martin Sebor  <sebor@roguewave.com>

        STDCXX-3
        * localedef.h: New. Declarations of helper functions to invoke
        the stdcxx localedef and locale utilities.
        * localedef.cpp: New. Implementation of the above.

2005-09-18  Martin Sebor  <sebor@roguewave.com>

	* file.h: New. Declarations of testsuite file I/O helper functions.
	* file.cpp: New. Implementation of the same.

2005-09-18  Martin Sebor  <sebor@roguewave.com>

	STDCXX-3
	* environ.h: New. Declaration of the rw_putenv() helper function
	for seeting one or more environment variables in a portable way.
	* environ.cpp: New. Implementation of the same.

2005-09-18  Martin Sebor  <sebor@roguewave.com>

	STDCXX-3
	* system.h: New. Declaration of the rw_system() convenience function
	taking a variable number of arguments and invoking system().
	* system.cpp. New. Implementation of the above.

2005-09-18  Martin Sebor  <sebor@roguewave.com>

	* driver.cpp: Removed _rw_opt_no_stdout, _rw_opt_verbose, and
	_rw_opt_compat and replaced each with calls to the respective command
	line option handler with the special arguments 1, and 0.
	(_rw_setopt_verbose): Renamed to _rw_opt_verbose and allowed the handler
	to be called in "query mode" to retrieve the state of the option.
	(_rw_setopt_compat): Renamed to _rw_opt_compat and implemented query
	mode.
	(_rw_setopt_stdout): Renamed to _rw_opt_no_stdout and implemented
	query mode.
	(_rw_use_color): New function. Returns 1 when colorized output can
	and should be used.
	(_rw_opt_quiet): New handler for the -q|--quiet command line options.
	(_rw_vissue_diag): New function called to unconditionally issue
	a diagnostic.
	(_rw_vdiag): Factored out code into _rw_vissue_diag for readability
	and called the function to issue a diagnostic.
	(rw_vtest): Used color in the summary table.

2005-09-18  Martin Sebor  <sebor@roguewave.com>

	* opt_diags.h: Set the svn keywords Id property.
	Increased the size of the buffer for escape sequences.
	* opt_diags.cpp: Set the svn keywords Id property.
	Initialized previously uninitialized data members.
	(_rw_setopt_diags): Checked for negative (unused) indices and avoided
	using them to dereference array elements.

2005-09-15  Martin Sebor  <sebor@roguewave.com>

	STDCXX-21
	* wcodecvt.cpp (__rw_libstd_do_out): Converted each character
	to unsigned long before comparing its value against the surrogate
	pair ranges in order to silence gcc warning on Cygwin (where
	sizeof(wchar_t) == 2): comparison is always true due to limited
	range of data type.

2005-09-15  Martin Sebor  <sebor@roguewave.com>
	STDCXX-4
	* 0.printf.cpp: New test exercising the rw_printf family of functions.

2005-09-15  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (rw_vasnprintf_c99): Corrected a typo in conditionally
	compiled code.
	(rw_quotechar): Silenced gcc warnings: comparison is always false
	due to limited range of data type.

2005-09-15  Martin Sebor  <sebor@roguewave.com>

	STDCXX-19
	* memattr.cpp: #defined _SC_PAGE_SIZE to _SC_PAGESIZE when the former
	is not #defined (such as Cygwin).

	STDCXX-20
	* memattr.cpp: #defined _WIN32 when __CYGWIN__ is #defined to take
	advantage of the Windows Memory Management API and to work aound
	the lack of madvise().

2005-09-15  Martin Sebor  <sebor@roguewave.com>

	* _config.h: Bumped up version number to 4.1.3.
	Enabled long long for Cygwin.

2005-09-14  Martin Sebor  <sebor@roguewave.com>

	STDCXX-3
	* opt_diags.h: New.
	* opt_diags.cpp: New. Definitions of functions for the processing
	of the --diags command line option.
	* opt_lines.h: New.
	* opt_lines.cpp: New. Definitions of functions for the processing
	of the --enable-line and --no-line command line options.
	* opt_trace.h: New.
	* opt_trace.cpp: New. Definitions of functions for the processing
	of the --trace and --severity command line options.
	* opt_types.h: New.
	* opt_types.cpp: New. Definitions of functions for the processing
	of the --enable-type and --no-type command line options.
	* cmdopt.cpp: Refactored. Moved the processing of specific command
	line options to separate files for better encapsulation.
	Eliminated memory corruption when the cmdopts array is reallocated.
	Replaced bool with int for better portability.
	* driver.h: Removed declarations and adjusted severities (see below).
	* driver.cpp: Refactored (see above).
	Introduced the concept of expected diagnostics (i.e., those expected
	to be active, such as expected assertion failures) and added a command
	line option (--expect=, see opt_lines.cpp) to make it possible to
	easily mark them as such. Reassigned severities to diagnostics.
	Introduced a new naming convention for symbols internal to the driver
	(regardless of linkage) to more easily distinguish them from public
	names with external linkage: _rw_xxx.
	(rw_trace): Removed.
	(rw_debug): Removed.
	(_rw_vdiag): Enabled verbose mode as the default formatting mode.

2005-09-14  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile: Silenced the error output from the $(shell) function
	when it fails to execute a command. See for details on how and why:
	http://lists.gnu.org/archive/html/help-make/2005-09/msg00070.html
	Checked BUILDTYPE and BUILDMODE only when TOPDIR is not defined,
	i.e., only during the initial invocation of make, and avoided doing
	so during recursive invocations since both variables are defined in
	makefile.in.

2005-09-14  Martin Sebor  <sebor@roguewave.com>

	* 21.string.assign.cpp: Set svn:keywords Id.
	* 21.string.insert.cpp: Same.

2005-09-14  Martin Sebor  <sebor@roguewave.com>
	STDCXX-4
	* 21.string.assign.cpp: New test exercising lib.string.assign.
	* 21.string.insert.cpp: New test exercising lib.string.insert.

2005-09-14  Martin Sebor  <sebor@roguewave.com>

	* printf.cpp (rw_fmtspec): Added the handling of Fmtspec::mod_A.
	(rw_fmtfloating): Handled Fmtspec::mod_A and hijacked the width	field
	as the size of the floating point value in bytes when set.
	(rw_quotechar): Returned the number of characters appended to the
	buffer by the fuction instead of the entire length.
	(rw_quotestr): Computed array length the "hard way" instead of relying
	on char_traits since the template is instantiated on types other than
	char and wchar_t.
	(rw_quotestr): Disabled width handling and hijacked width for array
	size when Fmtspec::mod_A is set.
	(libstd_vasnprintf): Handled %{Ac} and %{Ae}, %{Af}, and %{Ag}, and
	used width to determine array element size in bytes.

2005-09-13  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile: Silenced the stderr output from the $(shell) function
	when it fails to execute a command (e.g., because the command doesn't
	exist).
        Checked BUILDTYPE and BUILDMODE only when TOPDIR is not defined,
        i.e., only during the initial invocation of make, and avoided doing
	so during recursive invocations since both variables are defined in
	makefile.in.
	Moved initial processing into a guarded block to avoid re-evaluating
	it multiple times during recursive invocation.
	Implemented compiler detection for all known platforms and allowed
        CONFIG to be omitted, defined to be a relative path (wrt TOPDIR) or
	an absolute path.
	Corrected the .DEFAULT target to pass both $(MAKEFLAGS) and
	$(MAKECMDGOALS) to the recursive invocation of make to make it
	possible to just create BUILDDIR (target builddir), or to also
	configure the library w/o actually building it, etc.
	Documented targets.
	* etc/config/GNUmakefile.cfg: Silenced the echo of the make clean
	command.

2005-09-12  Martin Sebor  <sebor@roguewave.com>

	STDCXX-18
	* GNUmakefile: Allowed making the library without specifying BUILDDIR
	(will use $(TOPDIR)/build by default). Also allowed relative paths in
	BUILDDIR.

2005-09-06  Martin Sebor  <sebor@roguewave.com>

	* driver.h: Added Doxygen-style documentation.

2005-09-06  Martin Sebor  <sebor@roguewave.com>

	* 22.locale.money.put.cpp: New (initially committed in r278837
	by accident.) Test exercising the money_put facet.

2005-09-06  Martin Sebor  <sebor@roguewave.com>

	* 22.locale.money.get.cpp: New (initially committed in r279127
	by accident.) Test exercising the money_get facet.

2005-09-06  Martin Sebor  <sebor@roguewave.com>

	* valcmp.h (rw_fltcmp, rw_dblcmp, rw_ldblcmp): New. Declarations of
	utility functions for reliable comparison of floating point values.
	* valcmp.cpp (rw_fltcmp, rw_dblcmp, rw_ldblcmp): New. Definitions
	of the above based on
	http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm.

2005-09-05  Martin Sebor  <sebor@roguewave.com>

	* cmdopt.h: Added documentation.

2005-09-05  Martin Sebor  <sebor@roguewave.com>
	
        STDCXX-3
	* tests/include/driver.h: New. Declarations of test suite driver
	functions.
	* tests/include/testdefs.h: New. Definitions of test suite macros.
	* tests/include/printf.h: New. Declarations of the rw_sprintf()
	family of testsuite helper functions for formatted output.
	* tests/include/valcmp.h: New. Declarations of the rw_valcmp()
	family of testsuite helper functions for comparing arrays of
	heterogeneous integral objects.
	* tests/include/cmdopt.h: New. Declarations of the rw_runopts()
	and rw_setopts() helper functions for the processing of command
	line options.
	* tests/src/valcmp.cpp: New. Implementation of the above.
	* tests/src/printf.cpp: Ditto.
	* tests/src/cmdopt.cpp: Ditto.
	* tests/src/driver.cpp: Ditto.
	* etc/config/GNUmakefile.tst: Partially reverted r225375
	and renamed the test/ subdirectory back to tests/.
	* etc/config/GNUmakefile.rwt: Ditto.

2005-08-28  Martin Sebor  <sebor@roguewave.com>

	STDCXX-15
	* EXCEPTION_DTOR.cpp: Prevented the exception object from being
	constructed and its dtor from actually being called (unless the
	test is invoked with more than one command line arguments during
	manual testing).

2005-08-26  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.tst: used the echo shell builtin instead
	of ls as an optimization. Corrected a typo in a comment.

2005-08-26  Martin Sebor  <sebor@roguewave.com>

	* makefile.common (ALL_FILES): Used the -prune option to
	avoid finding files in hidden subdirectories such as .svn/.

2005-08-25  Martin Sebor  <sebor@roguewave.com>

	* README: Added the string incubating to the name of the tarball,
	clarified the meaning of TOPDIR, and corrected a typo in the path
	name of the charmaps/ subdirectory.

2005-08-25  Martin Sebor  <sebor@roguewave.com>

	* README: Corrected information identifying the project sponsor
	according to http://mail-archives.apache.org/mod_mbox/incubator-stdcxx-dev/200508.mbox/%3c20050818075418.GN21279@scotch.ics.uci.edu%3e.

2005-08-25  Martin Sebor  <sebor@roguewave.com>

	* _config.h: Bumped up version number to 4.1.2.

2005-08-25  Martin Sebor  <sebor@roguewave.com>

	* README: Corrected version number.

2005-08-04  Nicole  Willson  <willson@roguewave.com>
	    Martin Sebor  <sebor@roguewave.com>

	STDCXX-11:
	* include/rw/_mutex.h (__rw_atomic_preincrement,
	__rw_atomic_predecrement, __rw_atomic_exhange): Added
	long long overloads for 32-bit IA64.
	* src/atomic.s: Conditionally #included atomic-ia64-32.s.
	* src/atomic-ia64-32.s: New. Same as atomic-ia64.s except
	for 32-bit mode.

2005-08-04  Martin Sebor  <sebor@roguewave.com>

	* README: Added the required incubation disclaimer and changed
	the name of the project from Rogue Wave C++ Standard Library
	to Apache C++ Standard Library.

Issue STDCXX-8:

2005-07-30  Nick Gunn  <gunn@roguewave.com>

        * include/ansi/cfloat (LDBL_MAX, LDBL_MIN): Avoided re-defining
	macros when using the EDG-based Intel C++ on Linux.
        * include/ansi/float.h: Same; also keyed in on __linux__ instead
        of __GLIBC__.
        * etc/config/src/LIMITS.cpp (LDBL_EPSILON, LDBL_MAX, LDBL_MIN):
	Same.

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

	* trunk/: Set the svn:keywords property and enabled the expansion
	of the Id keyword.
	*  Implemented for Win32.
	*  Added _RWSTD_OS_WINDOWS_XXX where XXX is the flavor of Windows
	(i.e., one of 95, 98, ME, NT, 2000, 2003, and XP).

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

	Set the executable property.

2005-07-20  Martin Sebor  <sebor@roguewave.com>

	* runall.sh: Set the executable property.

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

	Set the svn:keywords property and enabled the expansion
	of the Id keyword.

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

	Initial import of the Rogue Wave C++ Standard library 4.1.2.
