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