2008-04-24  Martin Sebor  <sebor@roguewave.com>

	Merged revs 648509 and 648403 from trunk.

        2008-04-15  Martin Sebor  <sebor@roguewave.com>

        STDCXX-832
        * include/string.cc (_C_get_rep): Used two static_casts via void*
        instead of a single reinterpret_cast to prevent HP aCC 6 warning
        #4232: conversion from "wchar_t*" to a more strictly aligned type.

	2008-04-15  Martin Sebor  <sebor@roguewave.com>

	STDCXX-874
	* include/string (__rw_replace, __rw_replace_aux): Decorated
	exported templates with the export keyword.
	* include/string.cc: Same.


2008-04-24  Martin Sebor  <sebor@roguewave.com>

	* ChangeLog: Regenerated.


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

	STDCXX-775
	* test/localization/22.locale.time.get.cpp (make_LC_TIME): Asserted
	postconditions to silence HP aCC 6/cadvise warning #20200: Potential
	null pointer dereference.


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

	STDCXX-771
	* test/localization/22.locale.money.put.cpp (run_test): Used volatile
	to conceal division by zero from optimizers and to silence HP aCC 6
	warning #20010-D: Floating-point DIVIDE BY ZERO exception generated.
	* test/localization/22.locale.moneypunct.cpp (lconvdup): Used
	operator new instead of the new expression to allocate a type-less
	block of memory.
	(check_moneypunct): Deallocated the block of memory allocated in
	lconvdup() using the matching operator delete() to silence HP aCC
	warning #20210-D: Mismatch in allocation and deallocation.


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

	STDCXX-757
	* tests/src/value.cpp (UserClass::assign): Added a (redundant) default
	label to switch statement to shut up bogus HP aCC warning #20200-D:
	Potential null pointer dereference.
	(__rw_from_char): Asserted a trivially true precondition to silence
	the same warning.
	(_rw_fmtxarrayv): Removed an unused local variable.


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

	Merged revs 650902 and 650933 from trunk.

	* src/num_put.cpp (__rw_isqnan, __rw_issnan, __rw_fmat_infinite):
	Silence HP aCC remark #2826-D: parameter was never referenced.

	2008-04-23 Farid Zaripov <farid_zaripov@epam.com>

	STDCXX-880	
	* src/num_put.cpp: Added simple overloads of the __rw_isfinite(),
	__rw_signbit(), __rw_isinf(), __rw_isnan(), __rw_isqnan(), __rw_issnan()
	for float and long double types.

	2008-04-23 Farid Zaripov <farid_zaripov@epam.com>

	STDCXX-880
	* src/num_put.cpp [_RWSTD_DBL_SIZE == _RWSTD_LDBL_SIZE]: Call double
	type overload from long double type overload when sizeof (double) ==
	sizeof (long double).


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

	STDCXX-745
	STDCXX-746
	STDCXX-747
	* src/locale_body.cpp [6 <= HP aCC <= 6.16]: Silenced bogus HP aCC
	6.16/cadvise warning #20200-D: Potential null pointer dereference.
	* src/locale_name.cpp: Same.
	* locale_combine.cpp: Same.

	STDCXX-879
	* src/locale_combine.cpp (_C_get_body): Used a previously computed
	value of the expected type to	silence HP aCC remark #4271 type
	conversion may lose sign.


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

	STDCXX-729
	* include/loc/_money_put.cc [__GNUG__] (_C_put): Silenced bogus
	gcc -Wuninitialized warning: object may be used uninitialized in
	this function while avoiding bogus HP aCC/cadvise warning 20200:
	potential null pointer dereference.


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

	STDCXX-879
	* tests/algorithms/25.random.shuffle.cpp: Changed the type used
	to explicitly instantiate the algorithm to avoid HP aCC remark
	4271: type conversion may lose sign.


2008-04-22  Martin Sebor  <sebor@roguewave.com>

	* tests/src/opt_diags.cpp (_rw_match_name): Asserted (obviously
	holding) preconditions to shut up bogus HP aCC 6 warning 20200:
	Potential null pointer dereference.


2008-04-22  Martin Sebor  <sebor@roguewave.com>

	STDCXX-890
	* include/rw/_defs.h (_RWSTD_ATTRIBUTE_NORETURN): Defined macro
	to be empty when not yet #defined.
	(__rw_assert_fail): Replaced _RWSTD_GNUC_ATTRIBUTE ((noreturn))
	with _RWSTD_ATTRIBUTE_NORETURN.
	* include/rw/_config-acc.h [aCC 6] (_RWSTD_ATTRIBUTE_NORETURN):
	Defined macro to __attribute__((noreturn)) for HP aCC 6 and
	better.
	* include/rw/_config-gcc.h (_RWSTD_ATTRIBUTE_NORETURN): Defined
	macro to __attribute__((noreturn)) for all versions of gcc.	


2008-04-22  Martin Sebor  <sebor@roguewave.com>

	STDCXX-756
	* tests/src/printf.cpp (_rw_fmtexpr): Handled malloc(() failure to
	silence HP aCC 6 warning 20200: Potential null pointer dereference.

	(_rw_pvasnprintf, rw_sprintf, rw_snprintf): Cast operand to a wider
	type before adding to it to silence HP aCC remark 4298: addition
	result could be truncated before cast to bigger sized type.
	(_rw_fmtstr): Commented out redundant extern keyword to silence
	the annoying HP aCC 6 remark 4244: extern storage class used with
	a function definition.
	(_rw_quotechar): Made use of the new _RWSTD_UWCHAR_INT_T type to
	silence HP aCC 6 remark 4248: comparison of unsigned integer with
	a signed integer.
	(_rw_fmtfloating): Replaced a for loop with an equivalent call to
	strlen() to silence another useless HP aCC remark, 4315: for loop
	without body, did you insert an extra ';'?


2008-04-22  Martin Sebor  <sebor@roguewave.com>

	* 26.valarray.cassign.cpp (run_test): Disabled tests exercising
        valarray specializations on a user-defined type for 4.2.1 and
        prior since they are known to fail to compile due to STDCXX-512.


2008-04-22  Martin Sebor  <sebor@roguewave.com>

	STDCXX-754
	* tests/src/cmdopt.cpp (rw_vsetopts): Handled malloc() failure.
	Added an assertion to silence a bogus HP aCC 6/cadvise warning
	#20200-D: Potential null pointer dereference. Unfortunately,
	with the one gone another bogus one pops up...


2008-04-22  Martin Sebor  <sebor@roguewave.com>

	STDCXX-753
	* util/charmap.cpp (Charmap::convert_to_ucs): Unconditionally
	allocated (8 + 1) bytes for the longest UTF-8 character rather
	than assuming that MB_LEN_MAX is large enough.


2008-04-21  Martin Sebor  <sebor@roguewave.com>

	* Merged revs 649223, 649311, 649363, 649562, 649563, 649564, 649565,
	649620, 649646, and 649673 from trunk:

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

	* tests/localization/22.locale.ctype.narrow.cpp: Corrected comments.
	(test_narrow_widen): Used rw_info() to write out the name of each
	tested locale.
	(test_libstd): New function/placeholder to exercise our standalone
	implementation of locale (independent of libc).
	(run_test<charT>): Called test_libstd().	
	(run_test): Used the set of locales specified on the command line
	instead of the hardcoded pattern.
	Added an _RWSTD_NO_WCHAR_T guard.
	(main): Used the rw_opt_setlocales handler.

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

	STDCXX-700
	* tests/utilities/20.temp.buffer.mt.cpp (thr_func): Used the right
	formatting directive.

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

	STDCXX-879
	* src/facet.cpp (_C_get_data): Explicitly converted pointer difference
	to size_t to avoid HP aCC remark #4271-D: type conversion may lose
	sign.
	* src/collate.cpp (do_transform): Same.
	* src/locale_name.cpp (name): Same.
	* src/locale_core.cpp (_C_get_std_facet): Same.
	* src/num_put.cpp (__rw_itoa): Changed the type of a local to match
	the the type of the expression it's initialized with to silence the
	same remark.
	(__rw_itoa): Silenced gcc (but not aCC) warning: comparison between
	signed and unsigned integer expressions in an assertion.

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

	STDCXX-870
	* tests/strings/21.string.exceptions.cpp: Migrated new test from
	old Perforce repository.

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

	STDCXX-867
	* tests/numerics/26.valarray.transcend.cpp: Migrated new test
	from old Perforce repository.

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

	STDCXX-866
	* tests/localization/22.locale.ctype.widen.cpp: Migrated new
	test from old Perforce repository.

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

	STDCXX-865
	* tests/intro/17.extensions.cpp: Migrated new test from old
	Perforce repository.

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

	* tests/regress/22.locale.money.get.stdcxx-62.cpp: Added regression
	test for STDCXX-62.

	2008-04-18  Farid Zaripov  <farid_zaripov@epam.com>

	* include/rw/_defs.h: #define new general purpose config macro
	_RWSTD_UWCHAR_INT_T.
	* include/loc/_ctype.h (narrow): Cast __c to _RWSTD_UWCHAR_INT_T
	to avoid warnings about signed/unsigned comparisons.

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

	STDCXX-812
	* tests/localization/22.locale.num.get.mt.cpp [_RWSTD_OS_HP_UX
	|| _ILP32] (rw_opt_nlocales): Decreased from the default to 10
	in order to work around an HP-UX inefficiency, and renamed to
	opt_nlocales to avoid inappropriately using rwtest convention.

	STDCXX-886
	* tests/localization/22.locale.num.get.mt.cpp (thread_func):
	Avoided appending NUL characters to the input sequence to
	prevent failures in locales where the C++ thoudsands_sep is
	the NUL character.
	(test_get_data): Renamed function argument to match its type.


2008-04-18  Travis Vitek  <vitek@roguewave.com>

	* include/rw/_config.h: Update _RWSTD_VER macro
	to correctly reflect the library version.


2008-04-18 Farid Zaripov <farid_zaripov@epam.com>

	Merged changes from trunk.

	2008-04-18 Farid Zaripov <farid_zaripov@epam.com>
	* etc/config/windows/configure.wsf (linkFiles): Link with libraries,
	specified in LIBS config variable.
	(makeLibrary): Ditto.

	2008-04-18 Farid Zaripov <farid_zaripov@epam.com>
	* include/rw/_defs.h: #define new general purpose config macro
	_RWSTD_UWCHAR_INT_T.
	* include/loc/_ctype.h (narrow): Cast __c to _RWSTD_UWCHAR_INT_T
	to avoid warnings about signed/unsigned comparisons.


2008-04-16 Farid Zaripov <farid_zaripov@epam.com>

	Merged from trunk the changes for 4.2.1 release.

	2008-03-16  Martin Sebor  <sebor@roguewave.com>

	STDCXX-770
	* doc/stdlibref/basic-ios.html (copyfmt): Added Table 40: copyfmt()
	Postconditions.
	(init): Added Table 41: init() Postconditions.
	* doc/stdlibref/lists.html: Added references to Tables 40 and 41.


	2008-01-12  William A. Rowe, Jr.  <wrowe@apache.com>

	* doc/stdlibref/codecvt.html: repos/asf/incubator/stdcxx ->
	repos/asf/stdcxx for migration to top level project.


	2008-03-27  Scott Zhong  <scottz@roguewave.com>

	STDCXX-401
	* etc/config/makefile.rules (run): Used the POSIX TMPDIR
	environment variable instead of TMP.
	* etc/config/run_locale_utils.sh: Same.


	2008-04-01  Andrew Black  <ablack@roguewave.com>

	* build/bin/run_utils: Update result footer format to match format
	expected by exec utility. Footer search logic changed in r643120.


	2008-03-27  Farid Zaripov  <farid_zaripov@epam.com>

	* etc/config/src/EMPTY_MEM_INITIALIZER.cpp: Replace tab character
	to spaces.
	* etc/config/src/UNAME.cpp: Ditto.
	* examples/manual/bitset.cpp: Ditto.
	* examples/manual/codecvt.cpp: Ditto.
	* examples/manual/codecvt1.cpp: Ditto.
	* examples/manual/generate.cpp: Ditto.
	* examples/manual/ifstream.cpp: Ditto.
	* examples/manual/istringstream.cpp: Ditto.
	* examples/manual/lex_compare.cpp: Ditto.
	* examples/manual/max_elem.cpp: Ditto.
	* examples/manual/memfunref.cpp: Ditto.
	* examples/manual/merge.cpp: Ditto.
	* examples/manual/mismatch.cpp: Ditto.
	* examples/manual/partition.cpp: Ditto.
	* examples/manual/remove.cpp: Ditto.
	* examples/tutorial/spell.cpp: Ditto.
	* include/loc/_moneypunct.h: Ditto.
	* include/loc/_num_get.h: Ditto.
	* include/rw/_exception.h: Ditto.
	* include/rw/_tree.cc: Ditto.
	* include/rw/_tree.h: Ditto.
	* include/set: Ditto.
	* include/sstream.cc: Ditto.
	* src/exception.cpp: Ditto.
	* src/ia64/atomic.s: Ditto.
	* src/iostream.cpp: Ditto.
	* src/iso2022.h: Ditto.
	* src/messages.cpp: Ditto.
	* src/valarray.cpp: Ditto.
	* tests/localization/22.locale.ctype.tolower.cpp: Ditto.
	* tests/localization/22.locale.ctype.toupper.cpp: Ditto.
	* tests/localization/22.locale.messages.cpp: Ditto.
	* tests/numerics/26.class.gslice.cpp: Ditto.
	* tests/src/23.containers.cpp: Ditto.
	* tests/src/ctype.cpp: Ditto.
	* tests/src/locale.cpp: Ditto.
	* tests/src/opt_lines.cpp: Ditto.
	* util/aliases.cpp: Ditto.
	* util/def.h: Ditto.
	* util/scanner.cpp: Ditto.
	* util/scanner.h: Ditto.


	2008-04-04  Farid Zaripov  <farid_zaripov@epam.com>

	STDCXX-660
	*  etc/config/src/EQUAL_CTYPE_MASK.cpp: New file to check that ctype
	mask's for char and wchar_t are equal.
	* src/wctype.cpp [_RWSTD_NO_EQUAL_CTYPE_MASK] (__rw_classic_wide_tab):
	Static array with ctype mask's for wide characters.
	[_RWSTD_NO_EQUAL_CTYPE_MASK] (__rw_init_classic_wide_tab): New function
	to initialize __rw_classic_wide_tab array.
	[_RWSTD_NO_EQUAL_CTYPE_MASK] (ctype<wchar_t>::ctype): Initialize
	__rw_classic_wide_tab array exactly once using __rw_once().


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

	STDCXX-708
	* etc/config/src/float_defs.h: Corrected two #if directives per
	suggestions in issue comments.


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

	* etc/config/src/headers.inc: Added checking the <time.h> functions.


	2008-04-02  Farid Zaripov  <farid_zaripov@epam.com>

	STDCXX-740
	* etc/config/src/INFINITY.cpp (flt_bits): Fill with zero values
	the bits array.
	(dbl_bits): Same.
	(ldbl_bits): Same.


	2008-04-15  Martin Sebor  <sebor@roguewave.com>

	STDCXX-873
	* etc/config/src/libc_decl.sh [vanilla EDG eccp]: Suppressed EDG eccp
	error #450-D: the type "long long" is nonstandard before #including
	libc headers.


	2008-04-01  Andrew Black  <ablack@roguewave.com>

	* etc/config/windows/run_locale_utils.wsf (run_locale_utils):
	Replication of r643435 for Windows. (Update result footer format to
	match format expected by exec utility. Footer search logic changed
	in r643120.)


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

	STDCXX-715
	* etc/nls/countries: New file to map country names and aliases to
	the ISO-3166 country code.
	* etc/nls/encodings: New file to map codeset names and aliases to
	the IANA preferred name.
	* etc/nls/languages: New file to map language names and aliases to
	the ISO-639-1 language code.


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

	STDCXX-715
	* etc/nls/countries: Fix error in countries list.
	* etc/nls/languages: Ditto.


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

	STDCXX-831
	* exmaples/manual/fmtflags_manip.cpp (fmtflags_manip, saveflags): Avoid
	converting -1 to fmtflags due to the unspecified result of the operation
	and to silence HP aCC 6 warnings.


	2008-03-20  Martin Sebor  <sebor@roguewave.com>

	STDCXX-789
	* examples/manual/random_shuffle.cpp (main): Set fixed floating
	point format to suppress the decimal point in iostream output.


	2008-03-22  Martin Sebor  <sebor@roguewave.com>

	STDCXX-768
	* include/ansi/climits: Used gcc's #include_next to include
	the compiler's <limits.h> header and to prevent the gcc 4.3
	error: no include path in which to search for limits.h.


	2008-03-22  Martin Sebor  <sebor@roguewave.com>

	STDCXX-768
	* include/ansi/limits.h: Used the gcc extension #include_next to
	include the compiler's <limits.h> header and to prevent a gcc 4.3
	error: no include path in which to search for limits.h.


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

	* include/ansi/climits [__GNUC__ >= 3]: Silenced gcc warnings
	issued for uses of the #include_next extension introduced in
	the process of resolving STDCXX-768.


	2008-03-16 Farid Zaripov <farid_zaripov@epam.com>

	STDCXX-635
	* include/deque (operator-): If one of the iterators is the iterator
	of the empty deque, return difference between _C_cur data members.


	2008-03-16 Farid Zaripov <farid_zaripov@epam.com>

	* include/deque (operator-): Privatized names of pointer types.


	2008-03-27  Farid Zaripov  <farid_zaripov@epam.com>

	* include/deque (operator-): Return difference between _C_cur only
	if both of iterators are the end-iterators of the empty deque's.


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

	STDCXX-814
	* include/iomanip (__rw_setbase): Cast first argument of a shift
	expression to unsigned int to avoid benign arithmetic overflow
	and silence HP aCC 6 remark #4300: Overflow while computing
	constant in left shift operation.
	* include/loc/_num_get.cc (num_get::_C_get): Same.
	* src/ios.cpp (ios_base::flags): Same.


	2008-04-14 Farid Zaripov <farid_zaripov@epam.com>

	STDXX-854
	* include/loc/_ctype.h (narrow): Don't cast __c to unsigned char,
	use __c as index in _C_narrow_tab.


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

	STDCXX-830
	* include/loc/_localedef.h [6 <= _RWSTD_HP_aCC_MAJOR]: Suppressed
	HP aCC remarks 4298 and 4299 for most of the header since they
	don't indicate a problem.


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

	STDCXX-729
	* _money_put.cc (_C_put): Worked around an HP aCC 6.15/cadvise
	bug causing warning #20200-D: potential null pointer dereference.


	2008-02-26  Travis Vitek  <vitek@roguewave.com>

	* include/loc/_money_put.cc: Eliminate uninitialized variable
	warning.


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

	STDCXX-804
	* include/ostream (ostream::_C_opfx): Detect and avoid flushing
	streams that are tied together or that share the same buffer to
	prevent deadlock or infinite recursion.


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

	* include/loc/_num_get.h [LONG_MAX <= SHRT_MAX]
	(__rw_check_overflow_short): Silenced unused parameter warnings/remarks.
	[LONG_MAX <= INT_MAX] (__rw_check_overflow_int): Same.


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

	* include/loc/_num_get.h: Bumped up year in copyright notice.


	2008-03-24  Martin Sebor  <sebor@roguewave.com>

	STDCXX-748
	* include/rw/_array.h (__rw_array::__rw_array): Initialized _C_size
	after initializing _C_data to silence a bogus HP aCC 6.16/cadvise
	warning #20200-D: Potential null pointer dereference is detected.


	2008-03-26  Farid Zaripov  <farid_zaripov@epam.com>

	* include/rw/_config-gcc.h [__CYGWIN__ && _RWSHARED]: #define
	_RWSTD_NO_REPLACEABLE_NEW_DELETE macro to disable using of the
	replacement new/delete operators.


	2008-04-08  Martin Sebor  <sebor@roguewave.com>

	STDCXX-843
	* include/rw/_mbstate.h [_RWSTD_OS_SUNOS] (__mbstate_t): Used
	_RWSTD_LONG_SIZE instead of testing the _LP64 system macro
	which may or may not be #defined, depending on the already
	#included headers.


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

	STDCXX-595
	* include/rw/_mutex.h [_RWSTD_POSIX_THREADS && _RWSTD_EDG_ECCP
	&& _RWSTD_OS_LINUX && _RWSTD_NO_LONG_LONG]:  Disabled EDG eccp
	error #450-D: the type "long long" is nonstandard when using the
	vanilla EDG eccp in strict mode (i.e., w/o long long support).


	2008-04-15 Farid Zaripov <farid_zaripov@epam.com>

	* include/rw/_mutex.h (__rw_atomic_exchange): New overload for bool
	type to avoid using of template overload with mutex to atomically
	swap two bool's (used in std::ios_base::sync_with_stdio()).


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

	STDCXX-645
	* _streamiter.h (operator++): Tested associated stream for eofbit
	rather than (badbit|failbit) as (admittedly somewhat ambiguously)
	specifiedn [istream.iterator].
	(operator==): Simplified and corrected to compare stream pointers
	only without taking the states of the stream objects into account.


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

	STDCXX-645
	* include/rw/_streamiter.h (operator*): Checked fail() instead
	of eof() on the associated stream before turning the object into
	the end-of-stream iterator, as per LWG issue 788.
	* tests/iterators/24.istream.iterator.cpp (test_ctors): Inserted
	a valid number instead of NUL into test stream.
	(test_ops): Changed the expected result of equality comparison
	with the end-of-stream iterator according to LWG issue 788.
	(opt_char, opt_wchar_t, opt_UserTraits, opt_short, opt_int,
	opt_long, opt_double): Added "tri-state" options.
	(do_test, run_test, main): Handled said options.


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

	* 24.istream.iterator.cpp: New test exercising [istream.iterator],
	including STDCXX-645.


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

	* tests/iterators/24.istream.iterator.cpp (test_ops): Parenthesized
	subexpression to shut up the annoying HP aCC warning #4259-D: suggest
	parentheses around the operands of "!=" and similarly for gcc 4.3.


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

	STDCXX-687
	* include/rw/_traits.h [__GNUG__](_RWSTD_MEMCPY, _RWSTD_MEMCMP,
	_RWSTD_MEMMOVE,	_RWSTD_MEMSET, _RWSTD_STRLEN): #defined macros
	to the corresponding gcc __builtins.
	[4 < __GNUG__ || 3 <= __GNUC_MINOR__](_RWSTD_MEMCHR): #defined
	to __builtin_memchr starting with this version of the compiler.


	2008-03-04 Farid Zaripov <farid_zaripov@epam.com>

	* include/rw/_traits.h [4 = __GNUG__ && 3 > __GNUC_MINOR__]
	(_RWSTD_MEMCHR): #defined to memchr (added missing definition).


	2008-04-02  Farid Zaripov  <farid_zaripov@epam.com>

	STDCXX-799
	* include/rw/_traits.h: Don't use gcc string builtins on icc.


	2008-03-25  Farid Zaripov  <farid_zaripov@epam.com>

	STDCXX-795
	* include/sstream.cc (str): Save pptr and restore it at the end if
	str() is called with internal buffer to increase the capacity of
	buffer (i.e. from xsputn() or overflow()).
	(xsputn): Remove fix for STDCXX-515 because the pptr now is
	preserved in str().


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

	STDCXX-832
	* include/string (_C_pref): Used two static_casts in favor of
	reinterpret_cast to prevent HP aCC warning #4232: conversion
	from "wchar_t*" to a more strictly aligned type.


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

	STDCXX-849
	* src/file.cpp [_RWSTD_EDG_ECCP] (stderr, stdin, stdout): Undefined
	macros #defined to __rw_stderr, __rw_stdin, and __rw_stdout in our
	<stdio.h> to prevent self-initialization to 0 and defined them as
	appropriate for Linux and Solaris instead.


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

	* src/file.cpp [_RWSTD_EDG_ECCP]: Fixed a typo in a preprocessing
	directive that snuck in with a fix for STDCXX-849 in rev 646568.


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

	STDCXX-766
	* src/iostore.cpp (_C_copyfmt): Copied the tied stream and locale.


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

	STDCXX-730
	* src/iso2022.cpp (__rw_iso2022jp_designate): Asserted preconditions
	to silence HP aCC  warning #20200-D: Potential null pointer dereference.
	(__rw_ucs4_to_interm): Corrected a bad conditional pointed out by HP
	aCC warning #20206-D: Out of bound access.


	2008-03-25  Farid Zaripov  <farid_zaripov@epam.com>

	STDCXX-792
	* src/locale_body.cpp (_C_manage): Cast ginit to non-volatile to use
	the non-template version of the __rw_atomic_preincrement() if available.
	Declare static variable ginit as int instead of long because the all
	native atomic functions are defined for int type and the overloads
	for long type just calls overload for int type on platforms where
	sizeof (int) == sizeof (long).


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

	* src/locale_body.cpp (_C_manage): Used the C++ const_cast to cast
	away volatile in favor of the C-style variant introduced in a patch
	for STDCXX-792 (rev 640746) to avoid gcc -Wcast-qual warning: cast
	from type 'volatile int*' to type 'int*' casts away constness.


	2008-04-03  Eric Lemings  <eric.lemings@roguewave.com>

	STDCXX-811
	* src/locale_global.cpp (std::locale::global): Replace call to
	non-reentrant setlocale() C function with reentrant
	__rw_setlocale object.
	* tests/localization/22.locale.statics.mt.cpp (test_global):
	Fix [un]signed integer conversion warnings.


	2008-04-03  Eric Lemings  <eric.lemings@roguewave.com>

	STDCXX-811
	* src/setlocale.cpp (__rw_setlocale_mutex): Make mutex visible
	to other translation units.
	* src/locale_global.cpp (std::locale::global): __rw_setlocale
	object won't work because destructor restores previous locale.
	Guard on mutex and revert to original call to setlocale().


	2008-04-04  Farid Zaripov  <farid_zaripov@epam.com>

	* src/once.cpp (__rw_once): Cast init to int& to avoid using mutex
	version of __rw_atomic_preincrement() when atomic version is present.


	2008-04-11 Farid Zaripov <farid_zaripov@epam.com>

	* src/once.cpp (__rw_once): Cast init to int& to avoid using mutex
	version of __rw_atomic_predecrement() when atomic version is present
	(see r644662).


	2008-04-03  Farid Zaripov  <farid_zaripov@epam.com>

	STDCXX-824
	* src/num_get.cpp (__rw_get_num): If type == _C_pvoid, convert the data
	in buf using __rw_strtoull() instead of __rw_strtoul() on LLP64
	platforms.


	2008-04-09  Farid Zaripov  <farid_zaripov@epam.com>

	STDCXX-51
	* src/num_put.cpp (__rw_isfinite): New function to detect inf and nan
	values.
	(__rw_signbit): New function to detect the sign of floating point value.
	(__rw_isinf): New function to detect inf values.
	(__rw_isnan): New function to detect nan values.
	(__rw_isqnan): New function to detect quiet nan values.
	(__rw_issnan): New function to detect signaling nan values.
	(__rw_fmat_infinite): New function to format inf and nan values.
	(__rw_put_num): Use __rw_isfinite() and __rw_fmat_infinite() to format
	inf and nan values.


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

	* src/num_put.cpp [_RWSTD_OS_SUNOS]: Included <sunmath.h> signbit()
	on Solaris. Needed to complete the patch for STDCXX-51 committed in
	rev 646396.


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

	* src/num_put.cpp [_RWSTD_OS_SUNOS]: Removed the #inclusion of
	<sunmath.h> mistakenly introduced in rev 646597 as the functions
	declared in the header are defined in libsunmath that we don't
	link with and don't want to start.
	[_RWSTD_OS_SUNOS] (__rw_signbit): Reimplemented using simple
	integer arithmetic. Needed to complete the patch for STDCXX-51	
	initially committed in rev 646396.


	2008-03-15 Farid Zaripov <farid_zaripov@epam.com>

	STDCXX-763
	* src/punct.cpp (__rw_get_stdio_fmat): Always use precision in
	conversion from floating-point types according to resolution of
	the lwg issue 231.


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

	* src/punct.cpp (__rw_get_stdio_fmat): Remove unused
	vestigial local variable left behind after resolving
	STDCXX-763 in rev 637393.


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

	STDCXX-98
	* src/version (#pragma VERSIONID): Worked around an HP aCC 3.63 ICE.


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

	* src/version.cpp (__rw_ident): Updated the name of the library.


	2008-03-12  Martin Sebor  <sebor@roguewave.com>

	STDCXX-435
	* src/wcodecvt.cpp (__rw_libc_do_in): Replaces use(s) of mbsrtowcs()
	with mbrtowc() to prevent reading past the end of source sequences
	that aren't NUL-terminated.


	2008-03-12  Martin Sebor  <sebor@roguewave.com>

	* tests/regress/22.locale.codecvt.stdcxx-435.cpp: Added regression
	test for STDCXX-435.


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

	STDCXX-783
	* tests/algorithms/25.random.shuffle.cpp (test_random_shuffle): Avoid
	indexing past the end of arrays when evaluating rw_assert() arguments
	by checking for failure first.


	2008-04-11  Travis Vitek  <vitek@roguewave.com>

	STDCXX-783
	* tests/algorithms/25.random.shuffle.cpp (test_random_shuffle): Move
	rw_assert() into loop to avoid bogus cadvise warning.


	2008-03-31  Farid Zaripov  <farid_zaripov@epam.com>

	STDCXX-803
	* tests/containers/23.bitset.cpp (test_ctors): Declare bmask as
	unsigned long to resolve ambiguity on MSVC.


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

	* tests/containers/23.list.cons.cpp (ConsRangePtrOverload): Removed
	a pointless const qualifier from the target type of a const_cast to
	silence HP aCC warning #2191-D: type qualifier is meaningless on
	cast type.
	* (test_cons): Cast an argument to the expected type to silence HP
	aCC 6 remark #4271-D: type conversion may lose sign.
	(main): Removed an unused local variable.


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

	* tests/support/18.support.dynamic.cpp: New test exercising
	functions and types for dynamic storage management.
	* tests/support/18.support.rtti.cpp: New test exercising
	types for dynamic type information support.
	* tests/diagnostics/19.std.exceptions.cpp: New test exercising
	standard exception types.


	2008-04-09  Farid Zaripov  <farid_zaripov@epam.com>

	* tests/diagnostics/19.std.exceptions.cpp (run_test): Use rw_warn()
	instead of rw_assert() on platforms where replacement new/delete
	operators can't be defined.


	2008-04-14 Farid Zaripov <farid_zaripov@epam.com>

	* tests/include/21.strings.h: Removed incorrect overload id.
	* tests/src/21.strings.cpp: Ditto.


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

	STDCXX-709
	* tests/include/23.containers.h (ContainerTestCaseData): Declared
	member pointers non-const for 6.0 <= HP aCC <= 6.16 to work around
	a compiler bug.
	(ContainerTestCaseData, ~ContainerTestCaseData): Outlined ctor and
	dtor to reduce code bloat.


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

	* tests/include/23.containers.h (<driver.h>): Moved an #include
	directive from here...
	* tests/src/23.containers.cpp: ...to here to reduce namespace
	clutter.


	2008-04-01  Martin Sebor  <sebor@roguewave.com>

	* test/include/23.containers.h (~ContainerTestCaseData): Tweaked
	a workaround for STDCXX-802 to avoid preprocessor conditionals.


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

	* tests/include/23.list.h (<driver.h>): Added #include directive
	after rev 642384 removed it from tests/include/23.containers.h.
	(<rw_sigdefs.h>): Moved an include directive outside the scope
	of a class and into file scope where it should be.


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

	* tests/src/driver.cpp (rw_enable): Return previous state for the
	diagnostic so it can be safely disabled and restored.
	* tests/include/driver.h (rw_enable): Ditto. Update comments.


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

	* tests/src/driver.cpp (rw_enable): Reverse logic so that returned
	value is correct and consistent with documentation.


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

	STDCXX-716
	* tests/include/rw_locale.h (rw_query_locales): Add declaration
	of new function.
	* tests/src/locale.cpp (atexit_rm_locale_root): Temporarily disable
	disgnostic messages to avoid warnings that occur because function is
	called after run_test() has returned.
	(rw_query_locales): Add new function to query installed locales by
	language, country, codeset or MB_CUR_LEN.


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

	STDCXX-714
	* tests/src/braceexp.cpp: Remove _rw_isspace(), _rw_isupper() and
	_rw_islower(). Use appropriate C library calls instead.
	STDCXX-716
	* tests/src/locale.cpp: Remove _rw_isspace(), _rw_toupper() and
	_rw_tolower(). Use appropriate C library calls instead.
	

	2008-02-17  Travis Vitek  <vitek@roguewave.com>

	STDCXX-714
	* tests/include/rw_braceexp.h: Added a new header to declare the test
	suite helper function rw_brace_expand().
	* tests/src/braceexp.cpp: New source file to define rw_brace_expand().
	* tests/self/0.braceexp.cpp: New test to exercise rw_brace_expand()


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

	* tests/include/rw_braceexp.h: Set svn:eol-style and svn:keywords
	properties.
	* tests/src/braceexp.cpp: Ditto.
	* tests/self/0.braceexp.cpp: Ditto.


	2008-02-19  Travis Vitek  <vitek@roguewave.com>

	* tests/src/braceexp.cpp: Use unsigned values where appropriate
	Use change type of seperator to char instead of int. Inlines a
	few small functions. General cleanup.
	* tests/include/rw_braceexp.h: Ditto. Add documentation for
	rw_brace_expand().


	2008-02-25  Travis Vitek  <vitek@roguewave.com>

	STDCXX-714
	* tests/include/rw_braceexp.h: Add grammar description for
	rw_brace_expand(). Add declaration for rw_shell_expand().
	* tests/src/braceexp.cpp: Add helper type _rw_string_buffer
	to reduce duplicated code.
	(_rw_is_upper): Fix to support EBCDIC encodings.
	(_rw_is_upper): Ditto.
	(_rw_is_space): Add function to detect whitespace.
	(_rw_is_not_space): Add function to detect non whitespace.
	(rw_find_match): Add function to find first character that
	matches according to some callback function.
	(_rw_itoa_10): Add function to write integer values like
	sprintf() without dependencies on the locale.
	(_rw_find_open_brace): Fix to avoid expanding tokens that
	look like shell variable expansions.
	(rw_shell_expand): Add function to do shell-like string
	tokenization and expansion.
	* tests/self/0.braceexp.cpp (run_bash_tests): Removed test.
	(run_brace_expand_tests): Add test to verify old function
	rw_brace_expand. Updated to expect failures with invalid
	expressions.
	(run_shell_expand_tests): Add test to verify new function
	rw_shell_expand.


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

	STDCXX-683
	* tests/include/rw_fnmatch.h: Added a new header declaring
	the rw_fnmatch() test suite helper function paralleling the
	POSIX function with the same name.
	* tests/src/fnmatch.cpp: New source file to define rw_fnmatch().
	* 0.fnmatch.cpp: New test to exercise rw_fnmatch().


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

	* tests/iostream/27.istream.fmat.arith.cpp (test_extractor):
	Typo.


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

	STDCXX-818
	* tests/iostream/27.objects.cpp (operator new): Avoid calling rw_warn()
	except when it has something to warn about in case operator new() is
	being called by the compiler's C++ runtime (e.g., HP aCC 6.16) before
	the driver has been initialized (otherwise the driver aborts).


	2008-04-15 Farid Zaripov <farid_zaripov@epam.com>

	* tests/localization/22.locale.codecvt.mt.cpp: Use %d format instead
	of %zu for printing the number of iterations to avoid printing the
	incorrect value on LLP64 platforms).
	* tests/localization/22.locale.cons.mt.cpp: Ditto.
	* tests/localization/22.locale.ctype.mt.cpp: Ditto.
	* tests/localization/22.locale.messages.mt.cpp: Ditto.
	* tests/localization/22.locale.money.get.mt.cpp: Ditto.
	* tests/localization/22.locale.money.put.mt.cpp: Ditto.
	* tests/localization/22.locale.moneypunct.mt.cpp: Ditto.
	* tests/localization/22.locale.num.get.mt.cpp: Ditto.
	* tests/localization/22.locale.num.put.mt.cpp: Ditto.
	* tests/localization/22.locale.numpunct.mt.cpp: Ditto.
	* tests/localization/22.locale.statics.mt.cpp: Ditto.
	* tests/localization/22.locale.time.get.mt.cpp: Ditto.
	* tests/localization/22.locale.time.put.mt.cpp: Ditto.
	* tests/strings/21.string.cons.mt.cpp: Ditto.
	* tests/strings/21.string.push_back.mt.cpp: Ditto.


	2008-01-15  Martin Sebor  <sebor@roguewave.com>

	STDCXX-700
	* tests/localization/22.locale.codecvt.out.cpp (<cstdio>): Removed
	#include directive.
	(get_mb_chars, find_mb_locale): Replaced calls to std::fprintf()
	with rw_fprintf().
	* tests/localization/22.locale.time.put.cpp (make_LC_TIME): Silenced
	HP aCC 6 warning #2181-D: argument is incompatible with corresponding
	format string conversion.
	* tests/localization/22.locale.time.put.cpp (make_LC_TIME): Same.
	* tests/utilities/20.temp.buffer.mt.cpp (thr_func): Same.
	* tests/support/18.numeric.special.int.cpp (Limits<unsigned short>::
	compute_digits10): Same.
	* util/locale.cpp (print_ce_info, print_charmap): Same.
	* util/ctype.cpp (process_sym_ellipsis): Same.


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

	STDCXX-716
	* tests/src/locale.cpp: Add functions _rw_isspace(), _rw_toupper() and
	_rw_tolower() to avoid problems when sign extending character to int.
	(_rw_all_locales): Avoid using uninitialized struct member in calls to
	rw_note(). Use _rw_isspace(), _rw_toupper() and _rw_tolower(). Remove
	duplicate locales using canonical locale name matching.
	(rw_locale_query): Use larger buffer for cached locale name to avoid
	buffer overflow. Remember to close file on error condition. Use
	_rw_isspace(), _rw_toupper() and _rw_tolower().
	* tests/localization/22.locale.ctype.tolower.cpp: Use rw_locale_query()
	to select a subset of installed locales.
	(run_test): Call test_libc() before test_libstd() to avoid problem with
	our locale utility on windows that causes only C locale to be returned.
	* tests/localization/22.locale.ctype.toupper.cpp: Ditto.
	* tests/localization/22.locale.ctype.scan.cpp: Ditto.
	* tests/localization/22.locale.ctype.cpp: Ditto.
	* tests/localization/22.locale.ctype.narrow.cpp: Ditto.
	* tests/localization/22.locale.ctype.is.cpp: Ditto.
	* tests/localization/22.locale.time.get.cpp: Ditto.


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

	* tests/localization/22.locale.ctype.cpp: Cache result of call to
	rw_locale_query() reduce time needed to run test.
	* tests/localization/22.locale.ctype.is.cpp: Ditto.
	* tests/localization/22.locale.ctype.narrow.cpp: Ditto.
	* tests/localization/22.locale.ctype.scan.cpp: Ditto.
	* tests/localization/22.locale.ctype.toupper.cpp: Ditto.
	* tests/localization/22.locale.ctype.tolower.cpp: Ditto.


	2008-02-27  Farid Zaripov  <farid_zaripov@epam.com>

	* tests/localization/22.locale.num.put.cpp
	(do_test): Fixed error in format string.
	(inf_nan_test): Corrected number of the issue.
	(ldbl_test): Added testcase with a precision == 0.


	2008-03-15 Farid Zaripov <farid_zaripov@epam.com>

	* tests/localization/22.locale.num.put.cpp (dbl_test): Add precision
	in format specification of the expected result to reflect the
	resolution of the lwg issue 231.
	(ldbl_test): Ditto.


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

	* tests/localization/22.locale.time.get.cpp (make_LC_TIME): Add
	namespace qualifier to strlen() call to avoid compile error.


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

	STDCXX-4
	* tests/localization/22.locale.numpunct.cpp: New test exercising
	the required specializations of the std::numpunct facet.


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

	* tests/localization/22.locale.time.put.cpp (make_LC_TIME): Added
	an std:: qualification to a call to strlen() missed in rev 604038
	to appease strictly conforming compilers such as EDG eccp, or Sun
	C++.


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

	* tests/localization/22.locale.time.get.cpp (make_LC_TIME):
	Used rw_fatal() to verify postcondition of fopen().


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

	STDCXX-742
	* tests/localization/22.locale.messages.cpp (run_test): Avoid
	use_facet<>() and has_facet<>() when _RWSTD_NO_DYNAMIC_CAST is
	defined.


	2008-04-01  Martin Sebor  <sebor@roguewave.com>

	STDCXX-812
	* tests/localization/22.locale.numpunct.mt.cpp [_RWSTD_OS_HP_UX
	|| _ILP32] (rw_opt_nlocales): Decreased from the default 16 to
	10 in order to work around an HP-UX inefficiency, and renamed
	to opt_nlocales to avoid inappropriately using rwtest convention.
	* tests/localization/22.locale.time.put.mt.cpp: Same.
	* tests/localization/22.locale.num.put.mt.cpp: Same.
	* tests/localization/22.locale.ctype.mt.cpp: Same.
	* tests/localization/22.locale.money.put.mt.cpp: Same except
	that had to go down to 9 to avoid the same inefficiency.
	* tests/localization/22.locale.money.get.mt.cpp: Same.


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

	* tests/localization/22.locale.money.put.mt.cpp (rw_opt_nthreads,
	rw_opt_nloops, rw_opt_shared_locale): Removed the rw_ prefix from
	the names of glabl variables to avoid using rwtest convention.
	* tests/localization/22.locale.time.put.mt.cpp: Same.
	* tests/localization/22.locale.num.put.mt.cpp: Same.
	* tests/localization/22.locale.money.get.mt.cpp: Same.
	* tests/localization/22.locale.numpunct.mt.cpp: Same.
	(run_test): Added the number of locales to informational output.


	2008-04-03  Farid Zaripov  <farid_zaripov@epam.com>

	* tests/localization/22.locale.num.get.cpp: Silenced warnings on
	64-bit MSVC.
	(test_pvoid) Correctly exercised overflow conditions on LLP64 platforms.


	2008-04-09  Farid Zaripov  <farid_zaripov@epam.com>

	* tests/localization/22.locale.time.put.cpp (set_TZ): New function to
	set TZ environment variable and update the state of the global CRT
	variables using tzset().
	(test_POSIX): Use set_TZ() instead of rw_putenv(). Use three-letter
	time zone name, because the MSVC CRT doesn't supports the time zone
	names longer than three letter.


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

	* tests/localization/22.locale.time.put.cpp (set_TZ): Use tzset() only
	if it's present in libc.
	(test_POSIX): Exercise time zone name of maximum length.


	2008-04-11 Farid Zaripov <farid_zaripov@epam.com>

	* tests/localization/22.locale.statics.mt.cpp (test_classic): Cast
	nthreads to int& to avoid using mutex version of
	__rw_atomic_preincrement() when atomic version is present.


	2008-04-11  Travis Vitek  <vitek@roguewave.com>

	STDCXX-779
	* tests/localization/22.locale.num.get.cpp: Add new macro T_MAX to
	eliminate potential for accessing local variable via pointer after
	it has gone out of scope. Remove global pointer pmax.
	(do_test): Add new pointer parameter pmax.
	(test_flt_uflow): Use new T_MAX macro.
	(test_dbl_uflow): Ditto.
	(test_ldbl_uflow): Ditto.


	2008-04-14 Farid Zaripov <farid_zaripov@epam.com>

	* tests/numerics/26.c.math.cpp: Replace rw_any to rw_any_t (caused
	compilation error of 26.c.math test on Sun C++ 5.9 / Linux).


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

	* tests/regress/22.locale.codecvt.stdcxx-435.cpp (main): Added
	zero element in names array to correctly terminate the loop.


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

	STDCXX-827
	* tests/regress/22.locale.stdcxx-554.cpp (test_moneypunct,
	test_messages): Use a union containing a pointer to properly
	align storage buffer used for placement new operator.


	2008-04-01  Farid Zaripov  <farid_zaripov@epam.com>

	* tests/regress/21.string.insert.stdcxx-630.cpp: Test removed.
	This test is added simultaneously (the STDCXX-630 issue is about
	assign operation, and test exercises the insert operation).


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

	* tests/regress/27.basic.ios.tie.stdcxx-804.cpp: Added regression
	test exercising STDCXX-804.


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

	STDCXX-809
	* tests/regress/21.string.stdcxx-162.cpp (MUTEX): Corrected
	a typo in the name of the mutex type on Solaris Threads.


	2008-03-25  Farid Zaripov  <farid_zaripov@epam.com>

	* tests/regress/27.stringbuf.overflow.stdcxx-795.cpp: Regression
	test for STDCXX-795 issue.


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

	* tests/regress/27.basic.ios.copyfmt.stdcxx-766.cpp: Added
	a regression test for STDCXX-766.


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

	* tests/regress/27.filebuf.members.stdcxx-308.cpp: Regression
	test exercising STDCXX-308.


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

	* 24.istream.iterator.ops.stdcxx-321.cpp: Added a regression
	test for STDCXX-321.


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

	* 24.istream.iterator.cons.stdcxx-645.cpp: Added a regression
	test for STDCXX-645.


	2008-04-14 Farid Zaripov <farid_zaripov@epam.com>

	* tests/strings/21.string.cons.cpp: Exercise the string
	ctors overloads with allocator parameter.


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

	STDCXX-774
	* tests/strings/21.string.iterators.cpp (test_iterators): Avoid
	dereferencing null pointer.


	2008-04-04  Farid Zaripov  <farid_zaripov@epam.com>

	STDCXX-638
	* tests/strings/21.cwctype.cpp (test_behavior): Don't check the extra
	bits since C99 standard implicitly allows defining extra bits in
	iswxxx().
	(run_test): Use rw_warn() instead of rw_assert() when
	_RWSTD_STRICT_ANSI macro is not #defined when testing the masking
	macros and presence of the standard C functions in CRT.


	2008-02-29  Travis Vitek  <vitek@roguewave.com>

	STDCXX-597
	* tests/strings/21.string.access.cpp (test_access): Avoid purify
	UMR warning when testing for end of string match


	2008-02-29  Travis Vitek  <vitek@roguewave.com>

	* tests/strings/21.string.access.cpp (test_access): Revert previous
	change.


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

	* 18.numeric.special.int.cpp: Migrated test for integer specializations
	of the std::numeric_limits class template from Rogue Wave test suite.


	2008-01-24  Martin Sebor  <sebor@roguewave.com>

	STDCXX-4
	* tests/support/18.numeric.special.float.cpp: Migrated the test to
	exercise floating point specializations of the numeric_limits class
	template from the Rogue Wave test suite.


	2008-01-24  Martin Sebor  <sebor@roguewave.com>

	* tests/support/18.numeric.special.float.cpp (signaling_NaN):
	Corrected typo.
	(test_limits): Finished migrating to stdcxx test driver missed
	in initial submission (r614980).


	2008-03-26  Farid Zaripov  <farid_zaripov@epam.com>

	* tests/support/18.numeric.special.float.cpp (test_limits):
	Added missing parameters for rw_warn().


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

	STDCXX-708
	* tests/support/18.numeric.special.float.cpp: Change expected
	values for std::numeric_limits<FloatT>::has_denorm() to
	std::denorm_present on all HP-UX platforms (inc. PA-RISC and
	IPF) per comments recorded in the issue.


	2008-03-25  Martin Sebor  <sebor@roguewave.com>

	STDCXX-615
	* tests/tr1.util/2.smartptr.shared.cpp (test_copy_ctor): Avoided using
	volatile qualified types with HP aCC 3 without the new +hpxstd98 option
	to work around a compiler bug.


	2008-04-14  Eric Lemings  <eric.lemings@roguewave.com>

	STDCXX-841
	* trunk/tests/utilities/20.temp.buffer.cpp (test_failure): Print
	correct value of `sizeof (T)' using rw_sprintf() function.
	Prevent division by zero in terminal condition of for statement.
	Also, use parentheses when calculating value of `nelems' to
	indicate precedence of operators explicitly.


	2008-03-27  Farid Zaripov  <farid_zaripov@epam.com>

	* tests/src/23.containers.cpp (_rw_vector_sigcat): Silenced warning
	about unused variable.
	(_rw_deque_sigcat): Same.
	(_rw_queue_sigcat): Same.
	(_rw_stack_sigcat): Same.
	* tests/src/ctype.cpp (_rw_throw): Same.
	* tests/src/opt_lines.cpp (_rw_enable_line): Same.
	* tests/src/fnmatch.cpp (_rw_bracketmatch): ch parameted declared
	as const unsigned char instead of unsigned int. Silenced conversion
	warnings.
	Added svn:eol-slyle=native property.
	* tests/src/locale.cpp (rw_get_wchars): Fill wbuf array with requested
	wide characters.
	* tests/src/printf.cpp (_rw_fmt_pointer): Check return value from
	rw_fmtlong() before adding it to len.


	2008-03-27  Farid Zaripov  <farid_zaripov@epam.com>

	* tests/src/braceexp.cpp (_rw_string_buffer): Declare n parameter as
	_RWSTD_SIZE_T instead of int to silence conversion warning.
	* tests/src/char.cpp (_rw_fmtstringv): Silence size_t to int conversion
	warning.
	* tests/src/process.cpp (rw_process_kill): Silence conversion warning.
	* tests/src/printf.cpp (_rw_vasnprintf_c99): Same.
	(_rw_fmtbadaddr): Same.
	(_rw_fmtarray): Same.
	(_rw_vfprintf): Same. Use OutputDebugString() depending on _WIN32 macro
	instead of _MSC_VER. Don't call IsDebuggerPresent() (which depends on
	macros _WIN32_WINNT and WINVER) because the OutputDebugString() does
	nothing if there is no any attached debugger present.
	* tests/src/rand.cpp (rw_seed32): Declare k as _RWSTD_UINT32 instead
	of _RWSTD_SIZE_T.
	Removed useless casting of table32[ii] of type _RWSTD_UINT32 to
	_RWSTD_SIZE_T before assign the value to _RWSTD_UINT32 seed.
	(rw_seed32): Declare k as _RWSTD_UINT64 instead of _RWSTD_SIZE_T.
	Removed useless casting of table64[ii] of type _RWSTD_UINT64 to
	_RWSTD_SIZE_T before assign the value to _RWSTD_UINT64 seed.


	2008-04-15 Farid Zaripov <farid_zaripov@epam.com>

	* tests/src/driver.cpp [_MSC_VER] (_rw_opt_verbose): Turn on checking
	the memory at every allocation and deallocation in verbose mode.
	(_rw_opt_compat): Disable MSVC debug popup's in compat mode.


	2008-03-16 Farid Zaripov <farid_zaripov@epam.com>

	STDCXX-646
	* tests/src/environ.cpp (rw_putenv): Worked around the putenv()
	limitations on Windows.


	2008-03-15 Farid Zaripov <farid_zaripov@epam.com>

	* tests/src/fmt_bits.cpp (_rw_fmtflags): Replace "iostate" to "fmtflags"
	in default output. Conditionally output of the "std::ios::" prefix for
	consistency.
	(_rw_fmt_event): Replace "copyfmt_event" to "event" in default output.
	Conditionally output of the "std::ios::" prefix for consistency.
	* tests/self/0.printf.cpp (test_ios_bitmasks): Exercised the %{If} and
	%{Ie} extensions to format ios::fmtflags and ios::event values.
	(test_locale_category): New function to exercise %{Lc} extension to
	format locale category values.
	(main): Called test_locale_category().


	2008-03-16  Martin Sebor  <sebor@roguewave.com>

	STDCXX-765
	* tests/src/fmt_bits.cpp (_rw_bmpfmt): NUL-terminated string so that
	it can be appended to using the %{+} directive, taking care not to
	make the NUL a part of the formatted string.
	(_rw_fmtflags): Same.
	(_rw_fmtevent): Same.
	(_rw_fmtlc): Same.


	2008-04-04  Travis Vitek  <vitek@roguewave.com>

	STDCXX-755
	* tests/src/locale.cpp (rw_locales): Check return from malloc()
	(_rw_all_locales): Ditto.


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

	* tests/src/locale.cpp (_rw_all_locales): Don't link nodes into result
	when size == 0 to prevent heap corruption in _rw_reset_locales().


	2008-03-16 Farid Zaripov <farid_zaripov@epam.com>

	STDCXX-711
	* tests/src/fnmatch.cpp (rw_fnmatch): Check for the end of string
	before invoking _rw_bracketmatch().


	2008-04-11 Farid Zaripov <farid_zaripov@epam.com>

	* tests/src/fnmatch.cpp (rw_fnmatch): Added checking *next for 0 before incrementing
	next in case '?'. Slightly optimized codeand added some _RWSTD_ASSERT's.


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

	* tests/src/braceexp.cpp (UChar): Added a convenience typedef.
	(_rw_find_match, _rw_brace_graph::build_character_sequence): Cast
	char to UChar before passing it to isspace, islower, and isupper
	to avoid undefined behavior on sign extension.
	(_rw_string_buffer, build_and_expand, _rw_brace_node_buffer,
	_rw_brace_node, reset_for_reuse, get_new_node, brace_expand_write,
	build_integer_sequence, brace_expand, rw_brace_expand,
	rw_shell_expand): Used size_t instead of _RWSTD_SIZE_T for
	readability.


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

	* tests/src/braceexp.cpp (_rw_brace_graph::build_anything): Handled
	get_new_node's failure pointed out by HP aCC 6.16 warning #20200-D:
	Potential null pointer dereference is detected.


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

	* tests/src/braceexp.cpp (_rw_is_not_space): Removed.
	(_rw_find_match): Changed last argument from a function pointer
	to bool to avoid having deal with language linkage incompatibility
	with isspace and simplified implementation.
	(rw_shell_expand): Adjusted _rw_find_match calls accordingly.


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

	STDCXX-784
	* tess/src/braceexp.cpp [_RWSTD_NO_NESTED_CLASS_ACCESS]: Work
	around issue that causes a compile failure when using private
	declarations in nested types.


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

	STDCXX-784
	* tests/src/braceexp.cpp: Work around SunPro bug that causes a
	compile failure when using private declarations in nested types.


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

	* tests/src/braceexp.cpp (rw_shell_expand): Eliminate shadowed
	variable warnings for s and n.


	2008-02-21  Farid Zaripov  <farid_zaripov@epam.com>

	* tests/src/braceexp.cpp: #defined _RWSTD_TEST_SRC macro, #included <rw_braceexp.h>.
	(rw_brace_expand): Defined as _TEST_EXPORT.


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

	STDCXX-761
	* tests/src/new.cpp (rwt_checkpoint): Added internal
	rwt_checkpoint_compare function and call it for each array
	member disguised by original loop.


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

	* printf.cpp (rw_snprintf): NUL-terminated string just like
	snprintf() does.


	2008-03-15 Farid Zaripov <farid_zaripov@epam.com>

	* tests/src/printf.cpp (rw_vasnprintf): Add assertion when processing
	the "%{+}" directive to detect buffer overruns.


	2008-03-24  Farid Zaripov  <farid_zaripov@epam.com>

	STDCXX-790
	* tests/src/printf.cpp (rw_vasnprintf): Corrected condition
	in assertion, introduced in r637394.


	2008-03-27  Farid Zaripov  <farid_zaripov@epam.com>

	STDCXX-798
	* tests/self/0.printf.cpp (test_memptr): Corrected index calculations
	according to endianness. Removed colon from expected resulting strings.
	* tests/src/printf.cpp (_rw_fmtlong): Simplified code.
	(_rw_fmtllong): Copied from _rw_fmtlong with changing corresponding
	types to long long.
	(_rw_fmtpointer): Corrected index calculations according to endianness.
	Removed adding the colon separator.


	2008-04-14  Travis Vitek  <vitek@roguewave.com>

	STDCXX-857
	* tests/src/fmt_defs.h: Add flag to struct Buffer to indicate
	who owns the allocated buffer.
	* tests/src/printf.cpp (_rw_bufcat): Simplify logic to get
	new buffer size. Avoid checking guard bytes and deallocating
	buffer that we do not own.
	(rw_vasnprintf): Set flag indicating that the caller owns the
	supplied buffer.
	(_rw_fmtarray): Ditto.
	(_rw_fmt_expr): Ditto.
	* tests/self/0.printf.cpp (test_reallocate): Add new test to
	verify buffer reallocation works as expected.


	2008-04-14  Travis Vitek  <vitek@roguewave.com>

	STDCXX-857
	* tests/self/0.printf.cpp (test_reallocate): Revert test for
	changes added in r647908.


	2008-04-14  Travis Vitek  <vitek@roguewave.com>

	STDCXX-857
	* tests/src/printf.cpp: Revert r647908 which indirectly caused
	memory leaks in the test driver and several tests.
	* tests/src/fmt_defs.h: Ditto.


	2008-04-14  Travis Vitek  <vitek@roguewave.com>

	* tests/src/printf.cpp (_rw_bufcat): Simplify logic to get
	new buffer size. Allocate minimum initial size to avoid a
	first allocation that only contains the guard bytes. Add
	comment about guard bytes so others might not get tricked.
	* tests/src/process.cpp (_rw_vsystem): Avoid using static
	buffer (might be freed by _rw_bufcat).
	(_rw_vprocess_create): Ditto.


	2008-04-14 Farid Zaripov <farid_zaripov@epam.com>

	STDXX-862
	* tests/self/0.char.cpp (test_rw_widen): Use UserTraits<UserChar>::compare() instead
	of memcmp() to avoid false assertions due to possibly different binary representation
	of (long double)0 and (long double)0. on Sun C++ 5.9 / Linux.


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

	* 0.braceexp.cpp (run_bash_tests): New function to verify
	rw_brace_expand() passes tests from the Bash test suite.
	(main): Added a handful of tests (some failing), called
	run_bash_tests.


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

	* tests/self/0.braceexp.cpp (test): Used size_t instead
	of the _RWSTD_SIZE_T macro.
	(run_tests): Added tests for embedded whitespace.
	(run_brace_expand_tests): Ditto.
	(run_shell_expand_tests): Ditto.


	2008-04-11 Farid Zaripov <farid_zaripov@epam.com>

	* tests/self/0.fnmatch.cpp (main): Exercised some incomplete patterns.


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

	* 0.printf.cpp (test_ios_bitmasks): Exercised the %{Is} extension
	to format ios::iostate values.


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

	* display.cpp (print_target_plain): Increased column width to
	so as to fit the longest test name (currently 35 characters).


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

	STDCXX-736
	* util/locale.cpp [_RWSTD_EDG_ECCP]: Suppressed EDG eccp error #450-D:
	the type "long long" is nonstandard, issued for uses of the type in
	the Linux pthreadtypes.h system header.
	* util/aliases.cpp [_RWSTD_EDG_ECCP]: Same.
	* util/memchk.cpp [_RWSTD_EDG_ECCP && !_WIN32](getpagesize): Declared.


	2008-02-21  Farid Zaripov  <farid_zaripov@epam.com>

	* util/path.cpp: Moved including of the system header files
	on top of the file, to get _XOPEN_SOURCE and _XOPEN_SOURCE_EXTENDED
	macros defined for all included headers.


	2008-02-28  Farid Zaripov  <farid_zaripov@epam.com>

	* util/display.cpp (print_header_plain): Increased NAME column
	width to reflect the changes in r620027.


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

	STDCXX-281
	* util/collate.cpp (preprocess_collate): Break out of a loop on EOF
	to avoid an infinite loop.


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

	* util/collate.cpp: Updated year of copyright.


	2008-03-20  Martin Sebor  <sebor@roguewave.com>

	STDCXX-750
	* util/aliases.cpp (get_installed_locales): Replaced malloc() with
	a new expression to avoid having to check the returned value and
	to silence HP cadvise warning #20200-D: Potential null pointer
	dereference is detected.
	Changed the type of locals to silence HP aCC 6.16 remark #4298-D:
	addition result could be truncated before cast to bigger sized
	type.


	2008-03-31  Andrew Black  <ablack@roguewave.com>

	STDCXX-426
	* util/output.cpp (struct readback): Add convenience data structure
	for backwards file reading.
	(rbinit): Add method to initialize structure.
	(rbbof): Add method to check if structure points to the beginning
	of a file.
	(rbsync): Add method to synchronize the file handle the structure
	is built on to the structure.
	bgetc): Add method to retrieve a character from the file and
	move the structure one position closer to the start
	(rbscanf): Add methods to search for a string using the
	structure, possibly capturing an unsigned integer in the process.
	(check_test, check_compat_test): Alter to use above methods.


	2008-04-03  Farid Zaripov  <farid_zaripov@epam.com>

	* util/output.cpp (parse_output): Open file in binary mode
	(in text mode on Windows fread() returns value less than
	actually bytes read due to replacing "\r\n" to "\n").


	2008-04-04  Travis Vitek  <vitek@roguewave.com>

	* util/output.cpp (parse_output): Revert recent change to open file in
	binary mode.


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

	* util/output.cpp (parse_output): Open file in binary mode
	to avoid problems with line end translation in rbinit() and
	rbgetc() on windows.
	(check_test): Remove line end sequence from scan because file
	opened in binary mode will not have translated line ends.
	(check_example): Open example output file in binary mode to be
	consistent with other file that is used for diff.


	2008-04-08  Andrew Black  <ablack@roguewave.com>

	STDCXX-426
	* util/output.cpp: Revert r643120, r644314, r645002, and
	r645445. The initial version of the patch for STDCXX-426 (r643120)
	resulted in failed processing of test output on windows. The
	subsequent changes were efforts to resolve this failure, but
	resulted either in failed example diffing on windows, or failed to
	resolve the observed misbehavior.


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

	STDCXX-749
	* util/time.cpp (parse_era): Checked the pointer returned from
	strtok() before dereferencing it and issued an error when it's
	null to silence HP aCC 6.16 potential null pointer dereference
	warning.


	2008-04-11  Travis Vitek  <vitek@roguewave.com>

	STDCXX-751
	* util/locale_stub.cpp (main): Check pointer validity outside of
	strcpy argument list to avoid bogus cadvise warning.


2008-04-04  Farid Zaripov  <farid_zaripov@epam.com>

	* tests/regress/23.vector.modifiers.stdcxx-495.cpp: Regression test
	deleted since STDCXX-495 issue is deferred until 4.3 release.


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

	Merged rev 641091 from trunk.
	* tests/regress/18.limits.traps.stdcxx-624.cpp: Added a regression
	test for STDCXX-624.


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

	Merged rev 642297 from trunk.
	* etc/config/acc.config (WARNFLAGS): Coalesced multiple warning
	options into a handful with multiple arguments each.


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

	* bin/buildntest: Copied from the head of trunk.


2008-03-26  Farid Zaripov  <farid_zaripov@epam.com>

	Merged r641324 from trunk.
	* tests/regress/21.string.append.stdcxx-438.cpp: Regression
	test for STDCXX-438 issue.


2008-03-25  Martin Sebor  <sebor@roguewave.com>

	Merged rev 641116 from trunk.
	* tests/self/0.new.cpp (run_test): Disabled diagnostics issued by
	the replacement operator new and delete defined by the test driver
	in response to deliberate errors caused by this test.


2008-03-25  Farid Zaripov  <farid_zaripov@epam.com>

	Merged r640859 from trunk.
	* etc/config/src/EXCEPTION_SPECIFICATION_ON_NEW.cpp: #included <stddef.h> for size_t type.
	* etc/config/src/ICONV.cpp: Ditto.
	* etc/config/src/NEW_OFLOW_SAFE.cpp: Ditto.
	* etc/config/src/NEW_THROWS.cpp: Ditto.
	* etc/config/src/NEWLINE.cpp: Ditto.
	* etc/config/src/VA_LIST.cpp: Ditto.
	* etc/config/src/VSNPRINTF_RETURN.cpp: Ditto.


2008-03-25  Martin Sebor  <sebor@roguewave.com>

	Merged rev 640851 from trunk.
	* tests/iostream/27.stringbuf.virtuals.cpp (test_seekoff): Added
	a link to LWG issue 563.


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

	Merged rev 639495 from trunk

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

	* tests/regress/23.set.stdcxx-216.cpp: Add regression test for
	issue caused by fix to STDCXX-216.
	* include/rw/_tree.cc: (insert): Ensure tree is not empty before
	comparing keys to avoid uninitialized memory read.


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

	STDCXX-488
	* etc/config/gcc.config: Add more link flags specifying install
	name and library versioning on Darwin (MacOS X) platforms.


2008-03-18  Farid Zaripov  <farid_zaripov@epam.com>

	Merged r638433 from trunk
	* include/loc/_num_get.h (__rw_check_overflow_int): Corrected a typo.


2008-03-18  Farid Zaripov  <farid_zaripov@epam.com>

	Merged r638382 from trunk with a fix for STDCXX-648
	* include/fstream: Change 'class' keyword to 'struct' to hide MSVC warning C4099:
	'std::ios_base::Init' : type name first seen using 'struct' now seen using 'class'.
	* include/istream [_RWSTD_NO_EXT_NUM_GET] (__rw_extract(istream&, short &)):
	New overload, implemented thus__rw_extract<long>.
	[_RWSTD_NO_EXT_NUM_GET] (__rw_extract(istream&, int &)):
	New overload, implemented thus__rw_extract<long>.
	* src/podarray.h (_C_length): Use inplace algorithm instead of
	char_traits::length when _RWSTD_NO_EXT_CHAR_TRAITS_PRIMARY macro is #defined.


2008-03-18  Farid Zaripov  <farid_zaripov@epam.com>

	Merged r638369 and r638370 from trunk

	2008-03-18  Farid Zaripov  <farid_zaripov@epam.com>

	* include/loc/_num_get.cc (num_get::get): Code checking for overflow moved from here...
	* include/loc/num_get.h (_rw_check_overflow_{short|int}): ... to here.
	* include/rw/_iosfwd.h: Added new define _RWSTD_FMTFLAGS (used in _rw_check_overflow_{short|int}).

	2008-03-18  Farid Zaripov  <farid_zaripov@epam.com>

	* src/podarray.h (_C_length): New method to calculate the length of the pod array.
	(__rw_pod_array): Use _C_length() instead of char_traits<>::length().
	(acquire): Ditto.
	(append): Ditto.
	(assign): Ditto.


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

	Merged r637897 from trunk.
	* include/string.cc (__replace_aux): Partially reverted
	changes for STDCXX-170 (r629550).

	* tests/regress/21.string.replace.stdcxx-170.cpp: Deleted
	regression test since STDCXX-170 issue deferred to 4.3 release.


2008-03-14 Farid Zaripov <farid_zaripov@epam.com>

	Merge changes from trunk.

	2008-02-15 Farid Zaripov <farid_zaripov@epam.com>

	* tests/regress/22.locale.num.put.stdcxx-2.cpp: New regression test for STDCXX-2 issue.


	2008-02-19 Farid Zaripov <farid_zaripov@epam.com>

	STDCXX-2
	* src/num_put.cpp (__rw_fix_flt): Added new parameter: precision.
	Added workaround for STDCXX-2 issue.
	(__rw_put_num): Pass precision value in the __rw_fix_flt().


	2008-02-19 Farid Zaripov <farid_zaripov@epam.com>

	STDCXX-2
	* src/num_put.cpp (__rw_fix_flt): Updated workaround for STDCXX-2 issue.
	Fixed detection of infinity (#INF), added detection of the quiet NAN (#IND).


	2008-02-22  Farid Zaripov  <farid_zaripov@epam.com>

	* src/memattr.cpp (__rw_memattr): Declare errno_save as unused to disable
	eccp warning #177-D "variable "errno_save" declared but not referenced".


	2008-02-22  Farid Zaripov  <farid_zaripov@epam.com>

	* src/time_put.cpp (__rw_get_timepunct): Remove const qualifier to disable
	eccp warning #191-D: "type qualifier is meaningless on cast type".


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

	* time_put.cpp (__rw_get_timepunct): Removed unnecessary
	reinterpret_cast in a call to operator delete().


2008-03-14 Farid Zaripov <farid_zaripov@epam.com>

	Merge r627644 from trunk.
	* src/podarray.h: Don't export internal template class __rw_pod_array<>.
	Use _RWSTD_INSTANTIATE() macro for consistency.
	[__GNUG__ >= 3]: Add #pragma to disable gcc error
	"ISO C++ forbids the use of 'extern' on explicit instantiations".
	* src/ti_podarray.cpp: #define two additional macro values to
	properly expand _RWSTD_INSTANTIATE() macro.


2008-03-14 Farid Zaripov <farid_zaripov@epam.com>

	Merge changes from trunk.


	2008-02-08 Farid Zaripov <farid_zaripov@epam.com>

	STDCXX-375
	* include/istream (std::getline, std::operator>>): Declaration moved from here ...
	* include/string (std::getline, std::operator>>): ... to here.
	* include/istream.cc (std::getline, std::operator>>): Added comment about
	declarations in <string>


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

	STDCXX-308
	* include/fstream (~basic_filebuf): Caught and swallowed all exceptions.
	* include/fstream.cc (close): Closed file regardless of whether the call
	to overflow() or codecvt::unshift() fails or throws, as required by the
	resolution of LWG issue 622.


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

	STDCXX-695
	* include/loc/_money_get.cc (_C_get): Introduced a convenience typedef
	for size_t, changed the type of the local __sign to int and cast it to
	size_t to silence the pesky HP aCC 6 remark #4271-D: type conversion
	may lose sign.
	* include/loc/_messages.cc (do_get): Same.
	* include/sstream (str): Avoided pointer math to silence remark #4271.


	2008-02-14  Farid Zaripov  <farid_zaripov@epam.com>

	* include/rw/_defs.h: Move MSVC specific #pragma's from here...
	* include/rw/_config-msvc.h: ... to here. Disable warning C4661.


	2008-02-14  Farid Zaripov  <farid_zaripov@epam.com>

	* include/rw/_defs.h: #define new macro _RWSTD_TI_EXPORT
	to prevent MSVC warning C4910: "'__declspec(dllexport)'
	and 'extern' are incompatible on an explicit instantiation".
	* include/fstream: Use _RWSTD_TI_EXPORT instead of
	_RWSTD_EXPORT on an explicit instantiations.
	* include/istream: Ditto.
	* include/loc/_messages.h: Ditto.
	* include/loc/_money_get.h: Ditto.
	* include/loc/_money_put.h: Ditto.
	* include/loc/_moneypunct.h: Ditto.
	* include/loc/_num_get.h: Ditto.
	* include/loc/_num_put.h: Ditto.
	* include/loc/_numpunct.h: Ditto.
	* include/loc/_punct.h: Ditto.
	* include/loc/_time_get.h: Ditto.
	* include/loc/_time_put.h: Ditto.
	* include/ostream: Ditto.
	* include/rw/_basic_ios.h: Ditto.
	* include/rw/_ioinsert.h: Ditto.
	* include/rw/_mutex.h: Ditto.
	* include/sstream: Ditto.
	* include/streambuf: Ditto.
	* include/string: Ditto.


	2008-02-22  Farid Zaripov  <farid_zaripov@epam.com>

	STDCXX-375
	* include/string: Declarations of the string inserter's and extractor's
	are moved to  #included <rw/_stringio.h>.
	* include/ostream: Definition of the inline string inserter moved to
	#included <rw/_stringio.h>.
	* include/istream: Definition of the inline std::getline() moved to
	#included <rw/_stringio.h>.
	* include/istream.cc: Definitions of the string extractor's are moved
	to rw/_stringio.cc file.
	* include/rw/_stringio.h: New header file with declarations of the
	string inserter's and extractor's.
	* include/rw/_stringio.cc: New file with definitions of the string extractors.
	* include/rw/_stringio.c: New file for compilers with implicit
	inclusion feature.
	* src/export/cpp: #included <rw/_stringio.h> and <rw/_stringio.cc>.


2008-03-14 Farid Zaripov <farid_zaripov@epam.com>

	Merge r637079 from trunk with a fix for STDCXX-752
	* util/gencat.cpp: Asserted precondition to silence HP aCC
	warning #20200-D: Potential null pointer dereference.


2008-03-12 Farid Zaripov <farid_zaripov@epam.com>

	Merged r634731 from trunk.
	
	2008-01-18  Travis Vitek  <vitek@roguewave.com>

	* examples/include/stocks.h: Change class name from
	FrankFurtStockXchange to FrankfurtStockXchange for
	correctness.
	* examples/tutorial/stocks.cpp (main): Ditto.


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

	* examples/include/stocks.h [AIX, __osf__]: Update locale names
	so that example produces useful output.


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

	* examples/tutoria/alg7.cpp (partial_sort_example): Removed redundant
	list ctor argument to get around an otherwise hard to silence HP aCC
	6 remark #4271-D type conversion may lose sign. See STDCXX-727.
	(merge_example): Ditto


	2008-02-14  Farid Zaripov  <farid_zaripov@epam.com>

	* examples/manual/money_manip.cpp (put_money): Change the parameter type
	from long double to const long double& to prevent assigning the reference
	to the temporary value which is deleted when reference is used..


2008-03-12 Farid Zaripov <farid_zaripov@epam.com>

	Merged r634731 from trunk.
	
	2007-11-12  Martin Sebor  <sebor@roguewave.com>

	* GNUmakefile.exm (RUNFLAGS): Bumped up virtual size limit
	to half a gig to prevent errors on HP-UX/IPF.


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

	* GNUmakefile.exm (RUNFLAGS): Updated comment and moved it
	above the definition of the variable.


	2008-02-28  Farid Zaripov  <farid_zaripov@epam.com>

	* etc/config/gcc.config [CYGWIN]: Force .exe suffix for the executables.


	2008-02-14  Farid Zaripov  <farid_zaripov@epam.com>

	* etc/config/windows/configure.wsf (configure): Save the
	configuration info in global variable. Don't compile libraries
	before the compiling the tests, because the libraries could depend
	on some of the tests.
	(compileLibs): Function removed as unnecessary.
	(runExeTests): Build the libraries in common order with the tests.
	(checkDependencies): Don't skip the libraries.


	2008-02-28  Farid Zaripov  <farid_zaripov@epam.com>

	STDCXX-507
	* etc/config/gcc.config [CYGWIN]: #define _RWSHARED in shared builds.
	* include/rw/_config-gcc.h [__CYGWIN__ && _RWSHARED]: disable exporting
	template instantiations in shared builds.


	2008-03-07  Farid Zaripov  <farid_zaripov@epam.com>

	* etc/config/src/nodbg.h: New header file with definition of
	the nodbg() to prevent GUI popups on Windows.
	* etc/config/src/DYNAMIC_CAST.cpp: Removed invoking of the
	_CrtSetReportMode(), using nodbg() instead.
	* etc/config/src/GLOBAL_BAD_ALLOC.cpp: Ditto.
	* etc/config/src/STD_BAD_ALLOC.cpp: Ditto.
	* etc/config/src/THREAD_SAFE_EXCEPTIONS.cpp: Ditto.
	* etc/config/src/NO_DBL_TRAPS.cpp: Invoke nodbg() before test to
	prevent the Dr.Watson popups (was detected on Borland Turbo C++).


	2008-03-07  Farid Zaripov  <farid_zaripov@epam.com>

	* etc/config/src/NEW_THROWS.cpp: Split test to two independent
	tests: NEW_THROWS and NEW_OFLOW_SAFE to prevent _RWSTD_NO_NEW_THROWS
	#defined when operator new() throws exception, but check for overflow
	is failed with Access Violation (as on the Borland Turbo C++).
	* etc/config/src/NEW_OFLOW_SAFE.cpp: New config test to check if
	operator new() checks the argument for overflow.


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

	Merged rev 629291 from trunk

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

	STDCXX-735
	* tests/src/process.cpp (EINTR, SIGALRM): Defined to the known
	Linux value for EDG eccp in strict mode if not already #defined.



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

	Merged rev 633233 from trunk.

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

	STDCXX-665
	* tests/localization/22.locale.messages.cpp [_RWSTD_OS_AIX] (run_test):
	Set LC__FASTMSG environment variable to false to work around a
	catopen() issue on AIX.


2008-02-26  Farid Zaripov  <farid_zaripov@epam.com>

	Merged r629828 from trunk with a fix for STDCXX-738
	* etc/config/src/INFINITY.cpp: #including the "float_defs.h"
	instead of <float.h> to #define FLT_MIN, DBL_MIN, LDBL_MIN
	constants on EDG eccp.


2008-02-26  Farid Zaripov  <farid_zaripov@epam.com>

	Merged r627616 from trunk.
	* etc/config/src/extern_function_template_imp.h: New header file to
	check the extern function templates.
	* etc/config/src/extern_function_template_imp.cpp: Removed definitions
	of struct S<> and foobar<>(), #included extern_function_template_imp.h.
	* etc/config/src/EXTERN_FUNCTION_TEMPLATE.cpp: Ditto.


2008-02-26  Farid Zaripov  <farid_zaripov@epam.com>

	Merged r629825 from trunk.
	* etc/config/src/float_defs.h: New file with a definitions
	of the floating point constants.
	* etc/config/src/FLOAT.cpp: #including the "float_defs.h"
	instead of defining the floating point constants in file.
	* etc/config/src/LDBL_PRINTF_PREFIX.cpp: Ditto.

	Merged r629900 from trunk.
	* etc/config/src/FLOAT.cpp: Updated comment, erroneously changed in
	r629825.


2008-02-22  Farid Zaripov  <farid_zaripov@epam.com>

	Merged r629550 from trunk with a fix for STDCXX-170
	* include/string.cc (__rw_replace): Use temporary string object
	when __first2 and __last2 are input iterators to satisfy string
	exception safety requirements (string should be unchanged if an
	exception occurs during replacing).
	(__rw_replace_aux): Correctly replacing characters in the case
	when [__first2, __last2) range belongs to the self string.


2008-02-22  Farid Zaripov  <farid_zaripov@epam.com>

	Merged r629551 from trunk.
	* tests/regress/21.string.replace.stdcxx-170.cpp: New
	regression test for STDCXX-170 issue.

2008-02-21  Farid Zaripov  <farid_zaripov@epam.com>

	Merged r629812 from trunk with a fix for STDCXX-737
	* etc/config/GNUmakefile.cfg: Check for the LDOPTS dependences
	and setup LOPT variable when building the executable target
	(restored r627618 after fixing bug).


2008-02-14  Travis Vitek  <vitek@roguewave.com>

	Merged rev 619587 from trunk.

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

	STDCXX-249
	* include/istream.cc (operator>>): Read stream data in blocks where
	possible for efficiency.
	* include/streambuf: Add operator>> as friend for access to protected
	member functions.



2008-02-11  Travis Vitek  <vitek@roguewave.com>

	Merged rev 604073 from trunk.

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

	STDCXX-673
	* etc/config/src/LIMITS.cpp (main): Always use signed
	types for definition of _RWSTD_INT[8,16,32,64]_T macros.


2008-02-09  Farid Zaripov  <farid_zaripov@epam.com>

	* include/exception: Swapped member declarations for ICC/Linux
	and MSVC | ICC/Windows to simplify the preprocessor condition.
	* src/exception.cpp: Ditto. Use MSVC code on ICC/Windows.


2008-02-09  Farid Zaripov  <farid_zaripov@epam.com>

	STDCXX-720
	* tests/regress/21.string.io.stdcxx-250.cpp: Give name to
	the unnamed struct to workaround bug of the ICC/Windows.
	* tests/regress/27.filebuf.virtuals.stdcxx-522.cpp: Ditto.


2008-02-08  Farid Zaripov  <farid_zaripov@epam.com>

	* etc/config/windows/icc-10.1.config: New config file for 32-bit
	ICC 10.1.
	* etc/config/windows/icc-10.1-x64.config: New config file for 64-bit
	ICC 10.1.


2008-02-08 Farid Zaripov <farid_zaripov@epam.com>

	Merged r619904 from trunk with a fix for STDCXX-548.
	
	* src/punct.h: New header file with declaration of the
	__rw_get_stdio_fmat().
	* src/num_get.cpp: #included punct.h, removed declaration of
	the __rw_get_stdio_fmat().
	* src/num_put.cpp: Ditto.
	* src/punct.cpp: #included punct.h, use _RWSTD_STREAMSIZE instead
	of _STD::streamsize.


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

	STDCXX-685
	* etc/config/windows/configure.wsf (makeLibrary): Use '\'
	instead of '/' in path for consistency.


2008-02-05 Farid Zaripov <farid_zaripov@epam.com>

	STDCXX-698
	* etc/config/src/headers.inc: Removed duplicate of the wcstod.


2008-02-04  Travis Vitek  <vitek@roguewave.com>

	Merged rev 618385 from trunk.

	STDCXX-625
	* tests/src/process.cpp (rw_waitpid): Use sigaction() instead of
	signal() where available.



2008-02-02  Travis Vitek  <vitek@roguewave.com>

	Merged rev 617841 from trunk.

	* tests/regress/21.string.stdcxx-231.cpp: Fix compile error.


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

	Merged rev 616976 from trunk.
	
	2008-01-30 Martin Sebor <sebor@roguewave.com>

	STDCXX-705
	* tests/self/0.printf.cpp [_RWSTD_OS_HP_UX](bad_address): Used
	(0 - 32) as an invalid address.


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

	Merge 617300 from trunk.

	* include/istream.cc: Call clear() instead of erase() to avoid
	unnecessary overhead and for consistency.



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

	Merged rev 617251 and 617276 from trunk.

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

	STDCXX-231
	* include/string (clear): Avoid deallocating string body unless
	necessary.
	* include/string.cc (replace): Ditto.
	* include/istream.cc (getline): Call clear () instead of erase()
	to avoid unnecessary overhead.

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

	* tests/regress/21.string.stdcxx-231.cpp: Added regression test for
	STDCXX-231.



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

	Merged rev 616673 with a fix for STDCXX-216 fron trunk.
	* include/rw/_tree.cc (insert): Optimize insertion when hint iterator
	is not begin() or end(). Add some much needed documentation.



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

	Merged rev 615419 with a fix for STDCXX-573 from trunk.
	* etc/config/makefile.rules: Use WITH_PURIFY or WITH_CADVISE to enable
	or disable purify and cadvise tools.
	* GNUmakefile: Document new parameters and cache them in makefile.in.


2008-01-29 Farid Zaripov <farid_zaripov@epam.com>

	* include/rw/_config-msvc.h: Disable compiler warning C4231.


2008-01-28 Farid Zaripov <farid_zaripov@epam.com>

	STDCXX-712
	* tests/utilities/20.temp.buffer.cpp [_MSC_VER]: Disabled
	"Invalid allocation size: 4294967292 bytes" message box from malloc().


2008-01-24 Farid Zaripov <farid_zaripov@epam.com>

	* tests/regress/21.string.stdcxx-162.cpp: Corrected name of the file
	in comment.


2008-01-24 Farid Zaripov <farid_zaripov@epam.com>

	* include/rw/_allocator.h [!_RWSTD_ALLOCATOR] (address): Corrected
	type in reinterpret_cast expression.


2008-01-24 Farid Zaripov <farid_zaripov@epam.com>

	* include/string.cc (replace): Use copy () method instead of move ().


2008-01-24 Farid Zaripov <farid_zaripov@epam.com>

	* include/string.cc: Corrected formatting.


2008-01-24 Farid Zaripov <farid_zaripov@epam.com>

	* include/rw/_config-msvcrt.h [_MSC_VER <= 1300]:
	#define _RWSTD_LONG_LONG as __int64 on MSVC 7.0.


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

	Merged rev 614760 with a fix for STDCXX-704 from trunk.
	* driver.cpp [__EDG__](RW_TEST_COMPILER): Moved conditional #definition
	last to avoid preempting the more-specific compiler macro.
	[__HP_aCC](RW_TEST_COMPILER): Correctly detected HP aCC 6 even though
	it uses the EDG front end and added the version of EDG eccp to the
	definition of the macro.


2008-01-22  Farid Zaripov  <farid_zaripov@epam.com>

	* include/rw/_mutex.h: Remove unused declaration of the
	InterlockedXXX() Win32 API functions.
	* etc/config/src/ATOMIC_OPS.cpp: Delete unused configuration test.


2008-01-16  Martin Sebor  <sebor@roguewave.com>

	Merged rev 611016 and 611019 from trunk.

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

	* 27.ostream.unformatted.stdcxx-626.cpp: Added regression test
	for STDCXX-626.

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

	STDCXX-626
	* ostream.cc (flush): Implemeneted proposed resolution of LWG
	issue 581 and reverted the resolution of issue 60 wrt ostream
	::flush().


2008-01-16  Farid Zaripov  <farid_zaripov@epam.com>

	* include/rw/_mutex.h: Use intrinsic interlocked functions on MSVC 7.1
	and ICC.
	Declare the interlocked functions instead of #including <intrin.h>.


2008-01-16  Farid Zaripov  <farid_zaripov@epam.com>

	* include/rw/_config-msvcrt.h: Don't #define _RWSTD_NO_LONG_LONG as
	__int64 if long long type is supported by compiler.


2008-01-12  William A. Rowe, Jr.  <wrowe@apache.com>

	* /repos/asf/incubator/stdcxx: stdcxx has graduated to a TLP,
	moved svn to...
	* /repos/asf/stdcxx: ...here.


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

	Merged rev 611307 from trunk with implementation of STDCXX-577

	* examples/include/stocks.h: Removed StockXchange destructor
	implementation.
	* examples/tutorial/stocks.cpp: Add StockXchange destructor
	that properly deallocates memory.
	(main): Avoid allocation of facets when the locale that uses
	them is not available. Change Xchange to hold pair values to
	avoid having to deallocate those pairs explicitly. Cache the
	locale initially imbued on stream, then restore it to ensure
	that facets are deallocated.



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

	Merged rev 610576 from trunk with implementation of STDCXX-605.

	* examples/tutorial/dynatype.cpp: Add overloaded method
	that discards const to avoid looking in wrong map when
	non-const conversion operator is used with a const type.
	(main): Display text and converted value in two separate
	statements to ensure output is generated the same on all
	platforms. Add a return 0 for correctness.
	* examples/tutorial/out/dynatype.out: Update output file
	to match expected output format.


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

	Merged revs 608712 and 608713 from trunk:

	2008-01-03 Martin Sebor <sebor@roguewave.com>
	
	STDCXX-195
	* include/ansi/cstdio [_RWSTD_STRICT_ANSI] (fpos_t, remove, rename,
	tmpfile, tmpnam, fclose, fflush, fopen, freopen, setbuf, setvbuf,
	fprintf, fscanf, printf, scanf, sprintf, sscanf, vfprintf, vprintf,
	vsprintf, fgetc, fgets, fputc, fputs, getc, getchar, gets, putc,
	putchar, puts, ungetc, fread, fwrite, fgetpos, fseek, fsetpos, ftell,
	rewind, clearerr, feof, ferror, perror): Undefined shadow macros in
	strict mode (only).

	2008-01-03 Martin Sebor <sebor@roguewave.com>

	* tests/regress/27.cstdio.stdcxx-195.cpp: New regression test for
	STDCXX-195.


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

	Merged rev 605744 with a tweak for STDCXX-240 from trunk.
	* include/rw/_config-xlc.h [__IBMCPP__]: Conditionally disable
	exception support if command line option is set and the compiler
	is version 7.0 or later.


2007-12-19 Farid Zaripov <farid_zaripov@epam.com>

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


2007-12-19 Farid Zaripov <farid_zaripov@epam.com>

	STDCXX-250
	* istream.cc (operator>>): Move counter __i out from the try/catch block
	and rename to __gcount for consistency with getline(). Increment
	__gcount after sbumpc() but before sgetc() to correctly reflect the
	number of extracted characters. Set ios_base::failbit if no characters
	extracted.


2007-12-19 Farid Zaripov <farid_zaripov@epam.com>

	STDCXX-226
	* include/rw/_defs.h (_RWSTD_RATIO_DIVIDER): New macro defined the value
	to divide the _RWSTD_{NEW|STRING}_CAPACITY_RATIO.
	(_RWSTD_NEW_CAPACITY_RATIO): The value with floating point replaced to
	integer value using multiplication with _RWSTD_RATIO_DIVIDER.
	(_RWSTD_STRING_CAPACITY_RATIO): Ditto.
	* include/rw/_specialized.h (__rw_new_capacity): Floating point
	operations replaced to integer operations.
	* include/sstream (_C_grow): Ditto.
	* include/string (__rw_new_capacity): Ditto.


2007-12-19 Farid Zaripov <farid_zaripov@epam.com>

	STDCXX-585
	* etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp: Don't define ~bad_alloc()
	when testing the presence of the other members to avoid multiply
	defined sybmol linker errors.


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

	Merged rev 605368 with a fix for STDCXX-240 from trunk.
	* include/rw/_config-acc.h: Conditionally disable exception
	support if appropriate command line option is set.
	* include/rw/_config-deccxx.h: Ditto.
	* include/rw/_config-eccp.h: Ditto.
	* include/rw/_config-gcc.h: Ditto.
	* include/rw/_config-icc.h: Ditto.
	* include/rw/_config-mipspro.h: Ditto.
	* include/rw/_config-xlc.h: Ditto.


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

	Merged revs 601922, 601927, and 601935 from trunk:

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

	STDCXX-443
	* etc/config/vacpp.config: Remove -Q compile flag for AIX
	optimized builds to be consistent with IBM documentation.

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

	STDCXX-676
	* tests/locale/22.locale.time.put.cpp [_MSC_VER] (rw_strftime):
	Avoid passing unsupported format specifiers to strftime().

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

	STDCXX-603
	* include/valarray (apply): Avoid use of typedef in function
	type to avoid linker error with VisualAge C++.


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

	Merged rev 604038 with a fix for STDCXX-524 from trunk.
	* tests/localization/22.locale.codecvt.length.cpp (create_locale):
	Check return code from rw_snprintf().
	* tests/localization/22.locale.codecvt.out.cpp (create_locale):
	Ditto.
	* tests/localization/22.locale.time.get.cpp (make_LC_TIME):
	Ditto. Use rw_snprintf() instead of sprintf(), use larger
	fixed buffer sizes.
	* tests/localization/22.locale.time.put.cpp (make_LC_TIME):
	Ditto.
	* tests/src/locale.cpp (): Ditto.


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

	Merged in rev 602770 with a fix for STDCXX-650 from trunk.
	* etc/config/makefile.rules: Duplicated rules for sources matching
	"*.out.cpp" and objects matching "*.out.o" (Only the latter appears
	necessary).


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

	* etc/config/windows/build.wsf (DiffTime): New function to get the
	difference between two times.
	(TimeEcho): Modified to print time similat to the unix script.
	(build): Print relative time per each build step instead of
	printing the timestamp.


2007-11-29 Travis Vitek <vitek@roguewave.com>

        Merged rev 601040 with fix for STDCXX-604 from trunk.
        * tests/regress/23.bitset.cons.stdcxx-297.cpp (main): Avoid passing
        temporary to constructor to work around ICE with IBM VA C++.


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

	Merged rev 594730 from trunk with the implementation of STDCXX-623.

	* util/target.h (target_status): Changed the type of user, system, and
	wall clock time counters from clock_t* to plain clock_t and renamed to
	usr_time, sys_time, and wall_time, respectively.
	* util/exec.cpp (calculate_usage, exec_file): Eliminated static locals
	and instead directly used the target_status object passed in by caller.
	(exec_file):
	* util/display.cpp (print_status_plain, print_status_verbose): Checked
	for times equal to -1 as an indicator of validity.
	(print_footer_plain): Printed cumulative times for all targets.
	* util/runall.cpp (run_target): Accumulated target times.


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

	* etc/config/windows/build.wsf (TimeEcho): Print timestamp with the
	format identical to unix format.


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

	* include/streambuf (imbue): Removed name of the unused parameter.


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

	* 27.streambuf.imbue.stdcxx-307.cpp (main): Added missing "return 0".


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

	* 27.streambuf.imbue.stdcxx-307.cpp: New regression test for STDCXX-307.


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

	STDCXX-307
	* streambuf (imbue): Code storing the locale moved from here...
	(pubimbue): ... to here.


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

	STDCXX-671
	* include/loc/_convenience.h: _V3_USE_FACET macro renamed to _RWSTD_USE_FACET.
	* include/loc/_messages.cc: Ditto.
	* include/loc/_money_get.cc: Ditto.
	* include/loc/_money_put.cc: Ditto.
	* include/loc/_num_get.cc: Ditto.
	* include/loc/_num_put.cc: Ditto.
	* include/loc/_punct.cc: Ditto.
	* include/loc/_time_get.cc: Ditto.
	* include/loc/_time_put.cc: Ditto.
	* include/rw/_defs.h: Ditto.
	* tests/localization/22.locale.moneypunct.cpp: Ditto.


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

	STDCXX-637
	* include/ansi/cwchar [_RWSTD_STRICT_ANSI]: #undefine getwc
	and putwc masking macros.
	* tests/strings/21.cwchar.cpp (test_macros): Issue rw_warn()
	instead of rw_assert() in non strict ANSI mode.
	(test_functions): Issue rw_warn() instead of rw_assert().


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

	STDCXX-663
	* rw/_config_msvcrt.h: #define _RWSTD_NO_WCSTOK and _RWSTD_NO_WCSTOK_IN_LIBC
	macros since the MSVC has the non-standard prototype of the wcstok().
	* ansi/cwchar [_MSC_VER >= 1400]: Define inline wcstok() function using wcstok_s().
	#undefine _RWSTD_NO_WCSTOK and _RWSTD_NO_WCSTOK_IN_LIBC macros.


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

	* 26.valarray.cassign.cpp (run_test): Corrected condition in preprocessor directive.


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

	STDCXX-649
	* printf.cpp (_rw_fmtinteger): Implement `z' format specifier
	support to avoid issues on platforms where size_t is not the
	same size as int.


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

	STDCXX-607
	* messages.cpp (__rw_cat_close): Put lock guard into local scope
	to avoid recursive acquire on error.


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

	STDCXX-594
	* include/rw/_defs.h (_V3_LOCALE): Replaced the obsolete macro with _STD.
	* include/loc/_locale.h: Ditto.
	* include/loc/_codecvt.cc: Ditto.
	* include/loc/_codecvt.h: Ditto.
	* include/loc/_collate.cc: Ditto.
	* include/loc/_collate.h: Ditto.
	* include/loc/_convenience.h: Ditto.
	* include/loc/_ctype.cc: Ditto.
	* include/loc/_ctype.h: Ditto.
	* include/loc/_messages.cc: Ditto.
	* include/loc/_messages.h: Ditto.
	* include/loc/_money_get.cc: Ditto.
	* include/loc/_money_put.cc: Ditto.
	* include/loc/_moneypunct.cc: Ditto.
	* include/loc/_moneypunct.h: Ditto.
	* include/loc/_num_get.cc: Ditto.
	* include/loc/_num_put.cc: Ditto.
	* include/loc/_numpunct.cc: Ditto.
	* include/loc/_numpunct.h: Ditto.
	* include/loc/_time_get.cc: Ditto.
	* include/loc/_time_put.cc: Ditto.
	* src/use_facet.h: Ditto.


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

	* terminate.h: Removed eventually inserted duplicate lines.


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

	* extern_template_imp.cpp: #include <config.h> replaced to
	#include "config.h" for consistency.
	* LIMITS.cpp: #include "config.h" placed after the ASL header.


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

	STDCXX-558
	* BAD_ALLOC_COPY_CTOR.cpp: Removed unnecessary #include "config.h".
	* 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.
	* BOOL.cpp: Ditto.
	* CLASS_PARTIAL_SPEC.cpp: Ditto.
	* COLLAPSE_STATIC_LOCALS.cpp: Ditto.
	* COLLAPSE_TEMPLATE_LOCALS.cpp: Ditto.
	* COLLAPSE_TEMPLATE_STATICS.cpp: Ditto.
	* CTYPE_BITS.cpp: Ditto.
	* DEFAULT_TEMPLATE_ARGS.cpp: Ditto.
	* DEPRECATED_LIBC_IN_STD.cpp: Ditto.
	* EXCEPTION_ASSIGNMENT.cpp: Ditto.
	* EXCEPTION_COPY_CTOR.cpp: Ditto.
	* EXCEPTION_DEFAULT_CTOR.cpp: Ditto.
	* EXCEPTION_DTOR.cpp: Ditto.
	* EXCEPTION_WHAT.cpp: Ditto.
	* EXPLICIT.cpp: Ditto.
	* EXPLICIT_ARG.cpp: Ditto.
	* EXPLICIT_FUNC_INSTANTIATION.cpp: Ditto.
	* EXTERN_FUNCTION_TEMPLATE.cpp: Ditto.
	* EXTERN_INLINE.cpp: Ditto.
	* EXTERN_TEMPLATE.cpp: Ditto.
	* FUNCTION_TRY_BLOCK.cpp: Ditto.
	* GLOBAL_TYPE_INFO.cpp: Ditto.
	* ICONV.cpp: Ditto.
	* lib_exceptions.lib.cpp: Ditto.
	* LLONG_PRINTF_PREFIX.cpp: Ditto.
	* LONG_DOUBLE.cpp: Ditto.
	* MUNMAP.cpp: Ditto.
	* NATIVE_WCHAR_T.cpp: Ditto.
	* NEW_CLASS_TEMPLATE_SYNTAX.cpp: Ditto.
	* NEWLINE.cpp: Ditto.
	* NL_TYPES_H.cpp: Ditto.
	* NO_DBL_TRAPS.cpp: Ditto.
	* NO_INT_TRAPS.cpp: Ditto.
	* STD_TERMINATE.cpp: Ditto.


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

	STDCXX-557
	* terminate.h: New header file with a definition of the std::terminate().
	* BAD_ALLOC_ASSIGNMENT.cpp (terminate): Function removed,
	#included "terminate.h" instead.
	* DYNAMIC_CAST.cpp: Ditto.
	* EXCEPTIONS.cpp: Ditto.
	* FLOAT.cpp: Ditto.
	* GLOBAL_BAD_ALLOC.cpp: Ditto.
	* GLOBAL_BAD_CAST.cpp: Ditto.
	* GLOBAL_BAD_EXCEPTION.cpp: Ditto.
	* GLOBAL_BAD_TYPEID.cpp: Ditto.
	* GLOBAL_EXCEPTION.cpp: Ditto.
	* GLOBAL_UNCAUGHT_EXCEPTION.cpp: Ditto.
	* LIB_EXCEPTIONS.cpp: Ditto.
	* LIMITS.cpp: Ditto.
	* NEW_THROWS.cpp: Ditto.
	* OPERATOR_DELETE_ARRAY_PLACEMENT.cpp: Ditto.
	* OPERATOR_DELETE_PLACEMENT.cpp: Ditto.
	* OPERATOR_NEW_ARRAY_PLACEMENT.cpp: Ditto.
	* OPERATOR_NEW_PLACEMENT.cpp: Ditto.
	* STD_BAD_ALLOC.cpp: Ditto.
	* STD_BAD_CAST.cpp: Ditto.
	* STD_BAD_EXCEPTION.cpp: Ditto.
	* STD_BAD_TYPEID.cpp: Ditto.
	* STD_EXCEPTION.cpp: Ditto.
	* STD_UNCAUGHT_EXCEPTION.cpp: Ditto.
	* TYPE_INFO_DTOR.cpp: Ditto.


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

	* BAD_ALLOC_ASSIGNMENT.cpp: Corrected __GNUG__ macro (was GNUG__).


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

	Merged rev 596704 from trunk.
	* rw_locale.h (rw_set_locale_root): Updated comments.


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

	Merged r596354 from trunk with a fix for STDCXX-669.
	* 20.auto.ptr.cpp (test_auto_ptr): Worked around bug in MSVC 7.x.


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

	* 22.locale.ctype.cpp (run_test<>): The compile time
	checks moved to test_libstd(); The function run_test<>()
	removed; The test_libstd() and test_libc() functions are
	invoked from non-template run_test() to invoke them in
	the following order: test_libc<char>(), test_libc<wchar_t>(),
	test_libstd<char>(), test_libstd<wchar_t>().
	(write_string): Function removed.
	(create_locale): Function removed. The locale source character
	array moved from here ...
	(test_libstd): ... to here. Use rw_create_locale() instead of create_locale().


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

	* 22.locale.ctype.cpp (test_libstd_toupper_tolower): Added braces
	around multiline TEST macro.
	(test_libstd_mask): Corrected '\xa0' value to '\xa2'.


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

	* 22.locale.ctype.is.cpp (run_test<>): The compile time
	checks moved to test_libstd(); The function run_test<>()
	removed; The test_libstd() and test_libc() functions are
	invoked from non-template run_test() to invoke them in
	the following order: test_libc<char>(), test_libc<wchar_t>(),
	test_libstd<char>(), test_libstd<wchar_t>().


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

	Merged r596316 from trunk.
	* deque (_C_bufsize): Use _RWSTD_NEW_CAPACITY macro
	instead of __rw_new_capacity().
	* list.cc (_C_add_buffer): Ditto.
	* rw/_tree.cc (_C_add_new_buffer): Ditto.
	* vector.cc (_C_realloc): Ditto.


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

	* examples/tutorial/icecream.cpp: define
	eventComparator::operator() as a const member.
	* doc/stdlibug/11-3.html: Ditto.


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

	* stdlibug/11-3.html: Updated example source according to
	changes in r594966.


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

	STDCXX-661
	* tutorial/icecream.cpp (class event): Removed unused operator>().
	(eventComparator): Defined as separate struct instead of typedef
	std::greater<>.
	* tutorial/out/icecream.out: Updated .out file to reflect the
	changes above.


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

	* locale.cpp [_WIN32]: Added missing space in LS_1 command.


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

	STDCXX-662
	* 17.names.cpp [_WIN32 && 1400 <= _MSC_VER]: Added #include <intrin.h>
	because it will be included by the library.


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

	STDCXX-659
	* 22.locale.moneypunct.cpp (check_moneypunct): Set all categories
	instead setting the only monetary category.


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

	STDCXX-658
	* 27.istream.fmat.arith.cpp (test_llong): Corrected typename "long"
	to "long long".
	(test_ullong): Corrected typename "long long" to "unsigned long long".


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

	Merged rev 593361 from trunk with a workaround for STDCXX-616.
	* 20.auto.ptr.cpp (test_auto_ptr_void): Worked around HP aCC bugs.


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

	* exec.cpp [_WIN32]: Added STATUS_HEAP_CORRUPTION
	to the nt_status_map (detected on Vista).


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

	Merged rev 593006 from trunk.
	STDCXX-654
	* 18.setjmp.cpp (run_test): Qualified a local variable with volatile
	to work around what looks like a gcc optimized bug.


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

	Merged rev 592995 from trunk.

	STDCXX-651
	* 23.vector.stdcxx-611.cpp: Avoided calling the test function
	in a compile-only test.

	STDCXX-652
	* 23.vector.stdcxx-611.cpp: Explicitly initialized a const
	array of objects of user-defined type with no default ctor
	to avoid compiler errors.


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

	Merged rev 592890 from trunk.
	* NOTICE.txt: Added HP copyright from src/parisc/atomic.s.


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

	* build.wsf (build): The order of running examples, tests
	and locales on Windows arranged to the order of running
	on UNIX (locales, tests, examples).


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

	STDCXX-634
	* 25.random.shuffle.cpp (test_random_shuffle): Corrected data
	in the result array.


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

	STDCXX-625
	* process.cpp (sig_handler): Don't re-register for signal from
	within signal handler to avoid stack overflow on HP-UX and AIX.
	(rw_waitpid): Set and restore signal handler inside loop so we
	can avoid using the signal handler to do it.


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

	* projectdef.js (projectCreateVCProject): Generate source pdb
	in OutDir only for static libraries. For the other projects
	generate the binary pdb in OutDir, and source pdb in IntDir.


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

	STDCXX-414
	* util.cpp (rw_signal): Guarded with _RWSTD_EDG_ECCP instead of
	_RWSTD_NO_PURE_C_HEADERS as done in rev 588734 since the latter
	is #defined with other compilers including Sun C++ on Linux and
	it's on Linux where rw_signal() must be implemented in terms of
	sigaction() to do what we want.


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

	* CTYPE_BITS.cpp (main): Removed a stray '=' from test output.


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

	* build.wsf (TimeEcho): New function to print the message with timestamp.
	Use TimeEcho() for the printing messages on every build stage.


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

	* exec.cpp [!_WIN32 && !_RWSTD_NO_PURE_C_HEADERS] (kill, fdopen):
	Skip the functions declaration on Windows.


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

	Merged r581667 from trunk
	* 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-30 Farid Zaripov <farid_zaripov@epam.com>

	Merged r581946 from trunk with a fix for 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-30 Farid Zaripov <farid_zaripov@epam.com>

	Merged r585460 from trunk with a fix for STDCXX-601
	* 20.auto.ptr (test_auto_ptr): Ensure allocated
	object is value-initialized to avoid uninitialized memory
	read error.


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

	Merged r583398 from trunk with a fix for STDCXX-582
	* 0.printf.cpp (test_errno): Deallocate memory allocated
	automatically by rw_snprintfa().


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

	Merged r585143 from trunk with a fix for STDCXX-109
	* etc/config/makefile.rules ($(CATFILE)): Make failure to execute
	the gencat utility non-fatal.


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

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


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

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


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

	Merged /tests/regress/ from trunk
	* 21.string.io.stdcxx-206.cpp: Regression test for STDCXX-206.
	* 26.valarray.members.stdcxx-313.cpp: Regression test for STDCXX-313.
	* 26.valarray.members.stdcxx-318.cpp: Regression test for STDCXX-318.
	* 26.valarray.sub.stdcxx-224.cpp: Regression test for STDCXX-224.
	* 26.valarray.unary.stdcxx-314.cpp: Regression test for STDCXX-314.
	* 27.stringbuf.xsputn.stdcxx-576.cpp: Regression test for STDCXX-576.


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

	Merged r580981 from trunk
	* 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-30 Farid Zaripov <farid_zaripov@epam.com>

	Merged r581626 from trunk
	* 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-30 Farid Zaripov <farid_zaripov@epam.com>

	* 21.string.swap.cpp: Corrected $Id line.


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

	* etc/config/src/DAYLIGHT.cpp: Updated svn:eol-style and svn:keywords properties.
	* examples/manual/insert_wchar.cpp: Ditto.
	* examples/manual/mbsrtowcs.cpp: Ditto.
	* include/complex.c: Ditto.
	* include/complex.cc: Ditto.
	* src/logic_error.cpp: Ditto.
	* tests/strings/21.string.cons.mt.cpp: Ditto.
	* util/locale_stub.cpp: Ditto.


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

	STDCXX-621
	* examples/manual/binary_search.cpp: Updated ASL header.
	* examples/manual/merge.cpp: Ditto.
	* examples/manual/reverse_iterator.cpp: Ditto.
	* include/fstream: Ditto.
	* include/iosfwd: Ditto.
	* include/loc/_money_get.h: Ditto.
	* include/loc/_money_put.h: Ditto.
	* include/loc/_num_get.h: Ditto.
	* include/loc/_time_get.h: Ditto.
	* include/loc/_time_put.h: Ditto.
	* include/ostream: Ditto.
	* include/rw/_basic_ios.h: Ditto.
	* include/rw/_config-acc.h: Ditto.
	* include/rw/_config-deccxx.h: Ditto.
	* include/rw/_config-icc.h: Ditto.
	* include/rw/_config-mipspro.h: Ditto.
	* include/rw/_config-sunpro.h: Ditto.
	* include/rw/_config-xlc.h: Ditto.
	* include/rw/_ioinsert.cc: Ditto.
	* include/rw/_ioinsert.h: Ditto.
	* include/rw/_ioiter.h: Ditto.
	* include/rw/_iterator.h: Ditto.
	* include/rw/_mutex.h: Ditto.
	* include/rw/_streamiter.h: Ditto.
	* include/stack: Ditto.
	* include/streambuf: Ditto.
	* include/streambuf.cc: Ditto.
	* include/tr1/_smartptr.h: Ditto.
	* include/tr1/cstdint: Ditto.
	* include/tr1/stdint.h: Ditto.
	* LICENSE.txt: Ditto.
	* src/bitset.cpp: Ditto.
	* src/instance.cpp: Ditto.
	* src/locale_body.cpp: Ditto.
	* src/ti_filebuf.cpp: Ditto.
	* src/ti_wfilebuf.cpp: Ditto.
	* tests/include/any.h: Ditto.
	* tests/include/rw_alloc.h: Ditto.
	* tests/include/rw_ctype.h: Ditto.
	* tests/include/rw_exception.h: Ditto.
	* tests/include/rw_new.h: Ditto.
	* tests/include/rw_streambuf.h: Ditto.
	* tests/iostream/27.filebuf.codecvt.cpp: Ditto.
	* tests/iostream/27.istream.unformatted.get.cpp: Ditto.
	* tests/localization/22.locale.time.put.cpp: Ditto.
	* tests/self/0.alloc.cpp: Ditto.
	* tests/self/0.char.cpp: Ditto.
	* tests/self/0.cmdopts.cpp: Ditto.
	* tests/self/0.ctype.cpp: Ditto.
	* tests/src/alarm.cpp: Ditto.
	* tests/src/char.cpp: Ditto.
	* tests/src/cmdopt.cpp: Ditto.
	* tests/src/ctype.cpp: Ditto.
	* tests/src/fmt_defs.h: Ditto.
	* tests/strings/21.string.capacity.cpp: Ditto.
	* tests/strings/21.string.compare.cpp: Ditto.
	* tests/strings/21.string.copy.cpp: Ditto.
	* tests/strings/21.string.erase.cpp: Ditto.
	* tests/strings/21.string.find.cpp: Ditto.
	* tests/strings/21.string.find.first.of.cpp: Ditto.
	* tests/strings/21.string.find.last.not.of.cpp: Ditto.
	* tests/strings/21.string.find.last.of.cpp: Ditto.
	* tests/strings/21.string.io.cpp: Ditto.
	* tests/strings/21.string.iterators.cpp: Ditto.
	* tests/strings/21.string.op.plus.cpp: Ditto.
	* tests/strings/21.string.op.plus.equal.cpp: Ditto.
	* tests/strings/21.string.operators.cpp: Ditto.
	* tests/strings/21.string.replace.cpp: Ditto.
	* tests/strings/21.string.rfind.cpp: Ditto.
	* tests/strings/21.string.substr.cpp: Ditto.
	* tests/strings/21.string.swap.cpp: Ditto.
	* tests/tr1.c99/8.cstdint.cpp: Ditto.
	* tests/utilities/20.auto.ptr.cpp: Ditto.
	* tests/utilities/20.specialized.cpp: Ditto.


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

	STDCXX-624
	* etc/config/src/NO_INT_TRAPS.cpp (main): Worked even harder to foil
	optimizers and trigger a trap (such as SIGFPE) for integer arithmetic.


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

	* _config.h (_RWSTD_VER): Bumped up micro version number to 1.
	(_RWSTD_VER_STR): Updated the version string to reflect the
	above, i.e., to "4.2.1"


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

	* genxviews (process_results): Corrected a list of suffixes
	and documented the build type convention.


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

	Merged the head of branches/4.2.x.
	* genxviews: New.
	* xbuildgen: Merged rev 589433.


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

	STDCXX-614
	* 27.stringbuf.xsputn.stdcxx-515.cpp (main): Include header
	and add namespace qualifier as required to compile.


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

	STDCXX-617
	* 26.valarray.transcend.stdcxx-315.cpp (main): Work around
	bug in Intel C++ 10.0.025 (and other EDG eccp derivatives)
	that does not consider const copy-assignment operator before
	attempting to generate one.


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

	* 23.vector.allocator.cpp (address): Use the proper Pointer<> ctor.


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

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


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

	* util.h (rw_sleep, rw_signal): Declared helper functions.
	* cmdopt.cpp (rw_sleep, rw_signal): Moved formerly static
	functions from here...
	* util.cpp: ...to here and declared extern.
	* exec.cpp (SIGHUP, SIGQUIT, SIGKILL, SIGALRM, ESRCH, EINTR,
	ECHILD, EINVAL): #defined macros when they're not #defined
	in system headers.
	[!_RWSTD_NO_PURE_C_HEADERS] (kill, fdopen): Declared.
	(wait_for_child): Called rw_signal() instead of sigaction()
	directly.

	STDCXX-414
	* util.cpp: [!_RWSTD_NO_PURE_C_HEADERS] (rw_signal): Implemented
	in terms of signal() instead of sigaction() so as to avoid
	a dependency on POSIX symbols in <signal.h>.


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

	* 23.vector.stdcxx-611.cpp: The regression test for STDCXX-611.


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

	STDCXX-437
	* include/list [_MSC_VER < 1300]: Remove MSVC 6.0 specific code.
	* include/loc/_locale.h: Ditto.
	* include/map: Ditto.
	* include/rw/_config-msvc.h: Ditto.
	* include/rw/_config-msvcrt.h: Ditto.
	* include/rw/_defs.h: Ditto.
	* include/rw/_tree.h: Ditto.
	* include/set: Ditto.
	* include/string: Ditto.
	* include/vector: Ditto.
	* src/exception.cpp: Ditto.
	* src/ti_ios.cpp: Ditto.
	* src/ti_wios.cpp: Ditto.


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

	Fixed the r588659
	* ios_bits.cpp [_MSC_VER > 1300]: Remove unnecessary
	conditional compilation directive.


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

	* ios_bits.cpp [_MSC_VER > 1300]: Remove unnecessary
	conditional compilation directive.


2007-10-26 Travis Vitek <vitek@roguewave.com>
	   Farid Zaripov <farid_zaripov@epam.com>

	STDCXX-619
	* 25.remove.cpp (test_remove): Move rw_assert()'s inside the
	for-loop body, to avoid invoking them when the for-loop was
	iterated 0 times).


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

	* projectdef.js (projectCreateVCProject): Generate .pdb file
	in $(OutDir) instead of $(IntDir). Use common .pdb file
	instead of two (compiler's and linker's).


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

	* README (Source Directory Structure): Removed references to
	the now unused runall.sh script.
	(Build Directory Structure): Same. Added links to the exec
	utility.
	(Library Build Instructions): Documented that BUILDTYPE is
	optional. Clarified the same for BUILDTYPE and BUILDMODE,
	and explained the effect of specifying neither.
	(VisualStudio Setup Instructions): Added msvc-9.0 and
	msvc-9.0-x64.
	(Test Suite Build Instructions): Corrected the placement of
	the .d files, removed comments about examples and tests being
	optionalm and described how to run everything from ${BUILDDIR}.
	Removed mentions of the runall.sh script.


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

	Merged r583889 from trunk with a fix for STDCXX-580
	* strstream.cpp (main): Unfreeze streambuf so destructor
	will deallocate memory.


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

	* 20.temp.buffer.mt.cpp (thr_func): Remove setting
	default zero values for buffers since std::pair
	default ctor already do that.


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

	STDCXX-584
	* 18.exception.cpp (test_throw_proc): Deallocate exception
	description string passed to user throw proc to avoid memory
	leak.


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

	STDCXX-587
	* 20.temp.buffer.mt.cpp (test_return_buffer): Set buffer pointer
	to 0 after deallocating.
	(thr_func): Provide default values for buffers. Deallocate buffers
	that remain allocated after thread loop.


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

	* locale.cpp: Updated copyright year after a prior change.
	* thread.cpp: Same.


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

	* locale.cpp (_XOPEN_SOURCE): Avoided #defining macro when
	_RWSTD_NO_PURE_C_HEADERS is not #defined (e.g., EDG eccp).
	* file.cpp: Same.


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

	* thread.cpp [!_RWSTD_NO_PURE_C_HEADERS](popen): Declared function
	for super-strict mode (e.g., EDG eccp).


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

	STDCXX-611
	* vector.cc (_C_insert_n): Use overloads of the uninitialized
	algorithms that take a reference to Allocator as the last argument.


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

	STDCXX-593
	* locale.cpp (rw_locale): Update used array size to avoid
	writing past the end of the allocated buffer. Use a growth
	constant variable to avoid writing the same value in many
	places. Use precalculated name length instead of calling
	strlen() repeatedly.
	[_WIN32]: Hide _malloc_dbg and _free_dbg behind macros
	to clean up multiple conditional blocks and to avoid memory
	block type mismatch.


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

	* vector.cc (_C_insert_1): Reverted changes from r587164
	since the STDCXX-495 issue is deferred to 4.3 release.


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

	* ctype.html: Removed #include <examples.h> from example code.
	* locale.html: Ditto.
	* money-put.html: Ditto.
	* moneypunct.html: Ditto.
	* num-put.html: Ditto.
	* numpunct.html: Ditto.
	* strstreambuf.html: Ditto.
	* valarray.html: Ditto.


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

	STDCXX-578
	* time_put.cpp (__rw_get_timepunct): changed to use operator
	new/delete for memory allocation to avoid new/delete mismatch with
	facet destructor.


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

	STDCXX-609
	* generate.wsf (generateBuildBatch): Use 11s build type as default
	if no any build type specified.


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

	* strstreambuf.html: Updated the example source and
	the program output according to changes in r587173.


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

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


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

	STDCXX-495
	* vector.cc (_C_insert_1): Allow inserting the values from *this.
	If the value_type is a fundamental type, then save the inserting value
	in a temporary copy before the moving [it; end()) range toward to end.
	If the value_type is not a fundamental type, then save the pointer to
	the inserting value and adjust the pointer if the inserting value belongs
	to the range [it; end()).


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

	* 23.vector.modifiers.stdcxx-495.cpp: Regression test for STDCXX-495.


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

	Merged r585116 from trunk with a fix for STDCXX-596
	* 0.printf.cpp (_rw_fmtarray): Check pointer bounds before
	examining the contents to avoid uninitialized memory read.


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

	STDCXX-581
	* printf.cpp (_rw_fmtstr): Provide reasonable length value
	to call to __rw_memattr() to avoid touching uninitialized
	memory.
	(_rwfmtwstr): Ditto.
	(_rwfmtarray): Ditto.


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

	* ChangeLog: Regenerated.


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

	STDCXX-350
	* _rawiter.h [__GNUG__ >= 4] (get_temporary_buffer,
	return_temporary_buffer): Used __attribute__ (__may_alias__) to
	tell the gcc optimizier about type-punning in a reinterpret_cast()
	and to silence gcc 4 warning: dereferencing type-punned pointer will
	break strict-aliasing rules.


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

	* 26.valarray.cassign.cpp (run_test): Disabled tests exercising
	valarray specializations on a user-defined type for 4.2.0 and
	prior since they are known to fail to compile due to STDCXX-512.


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

	* _config.h (_RWSTD_VER): Corrected comments explaining source
	and binary compatibility rules controlling changes to the library
	version number.


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

	* README (Index): Update section names and numbers.
	(VisualStudio Directory Structure): Add new section
	describing expected directory structure.
	(VisualStudio Setup Instructions): Remove filename
	extension from the list of supported configuration
	options so that the provided names match the names
	allowed by the configure script.


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

	* etc/config/windows/configure.wsf (configure): #define
	_RWSTD_NO_REENTRANT macro in config.h file for single-threaded builds
	for compatibility with prior versions of stdcxx on Windows (MSVC 7.x),
	i.e., in order to make 8s and 11s build types non-reentrant even when
	the compiler itself doesn't have a non-reentrant runtime (MSVC 8 and
	beyond).
	* include/rw/_config-msvcrt.h (_RWSTD_REENTRANT): #define macro only if
	#defined _MT and not #defined _RWSTD_NO_REENTRANT, for single-threaded
	builds with compilers that don't have a single-threaded CRT (i.e. MSVC
	8, MSVC 9).


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

	Merged rev 586502 from branches/4.2.0.
	* _config-msvcrt.h [_DLL]: Define configuration macros
	to maintain binary compatibility with 4.1.x on MSVC
	only for dynamic builds to prevent the multiple
	definition symbols linker errors.


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

	* README (Disclaimer): Added an explanation.
	(Contents): Expanded to document LICENSE.txt and NOTICE.txt.
	(Compatibility): Added a new subsection.
	(Unpacking Intructions): Expanded  to clarify tarball names.
	(Source Directory Structure): Added documentation of top-level files
	new in this release and removed the no longer relevant blurb about
	the fixtree.sh script.
	(Library Utilities): Briefly documented the new utility programs,
	exec and gencat.
	(Test Suite Files): Added a few words about the exec utility.
	(Examples and Tutorials): Expanded and clarified.
	(Build Directory Structure): Removed obsolte text about tests being
	optional.
	(Library Build Instructions): Updated top-level directory listing.
	(Library Installation on UNIX Systems): New section documenting
	the install make target.
	(Library Installation on Microsoft Windows): Placeholder for future
	work.
	(config.h): Documented confih.log.
	(Compiler Configuration Macros): Documented _RWSTD_NO_OBJECT_MANGLING.
	(C Library Configuration Macros): Documented _RWSTD_NO_PURE_C_HEADERS.
	(Macros Controlling Strings): Documented _RWSTD_USE_STRING_ATOMIC_OPS.
	(HP aCC): Arranged compiler versions from most recent to oldest.
	(SGI MIPSpro): Added "tested with" versions.
	(Sun C++): Added x86 to the set of arches.


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

	* ChangeLog: Regenerated.


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

	* branches/4.2.x: Created a copy of the head of branches/4.2.0
	in preparation for maintenance (micro) releases after 4.2.0.


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

	STDCXX-509
	* limits_bits.cpp [_RWSTD_VER_MAJOR < 5 && _MSC_VER && _DLL]
	(__rw_flt_denorm_min_vc, __rw_flt_infinity_vc, __rw_flt_qNaN_vc,
	__rw_flt_sNaN_vc, __rw_dbl_denorm_min_vc, __rw_dbl_infinity_vc,
	__rw_dbl_qNaN_vc, __rw_dbl_sNaN_vc, __rw_ldbl_denorm_min_vc,
	__rw_ldbl_infinity_vc, __rw_ldbl_qNaN_vc, __rw_ldbl_sNaN_vc):
	New constants exported as the corresponding floating constants
	with the same mangled names as those from 4.1.3 (sans the _vc
	suffix) for the binary compatibility with prior releases.


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

	* string (__replace_aux): Made member function template public
	as intended (but not actually done) in rev 586118 to get HP aCC
	3 and 5 to compile the code again (and to restore the solution
	implemented for STDCXX-271).


2007-10-18  Travis Vitek  <vitek@roguewave.com>
	    Martin Sebor  <sebor@roguewave.com>

	* _config-msvc.h: Reverted rev 586112 and applied the same patch
	below (modulo some additional noise that had accidentally slipped
	in).
	* _config-msvcrt.h [_RWSTD_VER_MAJOR < 5]: Define configuration
	macros to maintain binary compatibility with 4.1.x on both MSVC
	and Intel C++ on Windows.


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

	* string (_C_grow): Made private again, after inadvertently making
	it public for MSVC in rev 544975 while fixing STDCXX-271 for HP aCC
	and braking binary compatibiliy in programs compled with MSVC that
	invoke the replace() member function template (which in turn calls
	the inline but exported _C_grow()).


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

	* _config-msvc.h [_RWSTD_VER_MAJOR < 5]: Define configuration
	macros to maintain binary compatibility with 4.1.x on MSVC.


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

	Disabled fix for STDCXX-469 for Microsoft Visual Studio to maintain
	binary compatibility with stdcxx 4.1.x (the compiler mangles the
	access specifier of class members into their names).
	* include/loc/_facet.h [_MSC_VER] (__rw_facet, ~__rw_facet): Made
	class ctor and dtor public again until stdcxx 5.0.


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

	Disabled fix for STDCXX-162 for binary compatibility with stdcxx 4.1.x.
	* include/rw/_config.h (_RWSTD_NO_STRING_ATOMIC_OPS): New macro #defined
	on x86_64 Linux unless _RWSTD_USE_STRING_ATOMIC_OPS is #defined on the
	command line (or in the generated config.h header).
	* include/rw/_strref.h (_RWSTD_NO_STRING_MUTEX): Guarded by the new
	_RWSTD_NO_STRING_ATOMIC_OPS macro.


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

	* README: Merged rev 585595 from trunk.


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

	Merged changes for STDCXX-505 from trunk.
	* doc/stdlibref/acknow.html: Renamed...
	* doc/stdlibref/history.html: ...to this.
	* doc/stdlibref/frames-intro-contents.html: Reflected the above.
	* doc/stdlibug/acknow.html: Renamed...
	* doc/stdlibug/history.html: ...to this.
	* doc/stdlibug/frames-intro-contents.html: Reflected the above.

	* doc/stdlibref/history.html: Updated.
	* doc/stdlibug/history.html: Same.


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

	Merged rev 584997 from trunk.
	* 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-16  Martin Sebor  <sebor@roguewave.com>

	Merged rev 585216 from trunk.
	* 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>

	STDCXX-600
	* 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-15  Martin Sebor  <sebor@roguewave.com>

	* src/ChangeLog: Merged in from trunk.
	* include/ChangeLog: Likewise.
	* examples/ChangeLog: Likewise.
	* tests/ChangeLog: Likewise.
	* util/ChangeLog: Likewise.


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

	STDCXX-599
	* file.cpp [!_RWSTD_NO_PURE_C_HEADERS] (mkstemp): Relaxed a guard
	around a declaration of a POSIX (but not C) function to enable it
	in strict C++ environments (e.g., with EDG eccp).


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

	STDCXX-509
	* 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.
	* limits_bits.cpp: Same as above for definitions of constants.
	* num_get.cpp  [_RWSTD_NO_OBJECT_MANGLING] (__rw_flt_infinity,
	__rw_dbl_infinity, __rw_ldbl_infinity): Same.


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

	* valarray.cpp: Merged from trunk at rev 584618.


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

	* exception: Merged from trunk at rev 583667.
	* new: Same.


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

	* NO_OBJECT_MANGLING.cpp: Merged from trunk at rev 584880.
	* object_mangling_imp.cpp: Same.


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

	* branches/4.2.0: Merged changes required to port to EDG eccp.
	* branches/4.2.0/include/rw/_config-eccp.h: from trunk at rev 583987.
	* branches/4.2.0/include/ansi/_cerrno.h: from trunk at rev 583997.
	* branches/4.2.0/src/file.cpp: from trunk at rev 583990.
	* branches/4.2.0/etc/config/src/WCHAR_T.cpp: from trunk at rev 583980.


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

	* branches/4.2.0/doc: Merged the latest trunk.


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

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


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-564
	* _punct.cc (__rw_match_name): Cast 1UL constant to _RWSTD_SIZE_T
	to avoid 64-bit MSVC warning C4334: '<<' : result of 32-bit shift
	implicitly converted to 64 bits (was 64-bit shift intended?).
	* file.cpp [_WIN64]: Disable 64-bit MSVC warning C4244 for
	__rw_fseek(), __rw_fread(), __rw_fwrite() functions.


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

	STDCXX-576
	* sstream.cc (xsputn): If __s is a part of the
	internal buffer and buffer reallocation is needed,
	save the offset of the __s from pbase() anc correct
	__s value after the buffer reallocation.


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

	STDCXX-568
	* mapfile.gcc: Add ASL header.
	* mapfile.gcc-2: Same.


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

	STDCXX-568
	* rwstdmessages.cpp: Add ASL header.
	* rwstdmessages.msg: Same.
	* rwstdmessages.rc: Same.


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

	STDCXX-561
	* T.61-8BIT: Add ASL header.
	* ISO_646.IRV: Same.


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

	STDCXX-560
	* MADVISE.cpp: Add ASL header.


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

	STDCXX-452
	* setlocale.cpp (~__rw_setlocale): Restore the previous
	locale in a threadsafe manner. Simplified.


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

	STDCXX-452
	STDCXX-453
	* punct.cpp (__rw_get_moneypunct): After creating __rw_setlocale
	object check if the locale data is initialized by another thread
	to avoid doing unnecessary work and leaking memory.
	(__rw_get_numpunct): Ditto.


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

	* branches/4.2.0: Merged the head of trunk.


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

	* libc_decl.sh: Merged with r573411 of trunk:
	http://svn.apache.org/viewvc?view=rev&revision=573411.
	* acc.config: Same.


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

	STDCXX-470
	STDCXX-479
	STDCXX-481
	* etc/config/src/LIMITS.cpp: Revert
	http://svn.apache.org/viewvc?view=rev&revision=554421 ,
	accidentally merged to 4.2.0 prematurely as part of
	http://svn.apache.org/viewvc?view=rev&revision=569152 .
	* GNUmakefile: Deploy
	http://svn.apache.org/viewcvs?view=rev&rev=555061 to enable
	building with Sun C++ 5.9 (Sun Studio 12).
	* etc/config/GNUmakefile.cfg: Ditto.
	* etc/config/sunpro.config: Ditto.
	* etc/config/makefile.rules: Ditto.

2007-08-23  Andrew Black  <ablack@roguewave.com>
	STDCXX-482
	* LIMITS.cpp: Deploy http://svn.apache.org/viewvc?view=rev&rev=555106 to 4.2.0 to avoid stalls in nightly testing testing system (caused by usage of the 4.2.0 branch in the nightly testing system.)


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

	* stdcxx/branches/4.2.0: Merged the head of stdcxx/trunk.


* 4.2.0: New branch based off of trunk/ at rev 536028.

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.
	* _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.
	* 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.


2005-07-30  Nick Gunn  <gunn@roguewave.com>

	STDCXX-8
        * 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.


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).


Set the executable property.


Set the executable property.


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

	* trunk: Initial import of the Rogue Wave C++ Standard library 4.1.2.

start stdcxx project in incubator
