blob: 713287c93f14b14debc48e02fbeb8cbf28830573 [file] [log] [blame]
2007-10-16 Martin Sebor <sebor@roguewave.com>
* ChangeLog: Generated a single per-project ChangeLog.
* examples/ChangeLog: Deleted. Superseded by the above.
* include/ChangeLog: Likewise.
* src/ChangeLog: Likewise.
* util/ChangeLog: Likewise.
* tests/ChangeLog: Likewise.
2007-10-16 Martin Sebor <sebor@roguewave.com>
Merged a partial fix for STDCXX-600 from branches/4.2.0.
* include/exception (exception): Partially reverted fix for STDCXX-262
committed in rev 583667 due to the binary incompatibility of the change
both with stdcxx 4.1.x as well as with gcc's libsupc++.
2007-10-16 Martin Sebor <sebor@roguewave.com>
Merged a (mostly) binary compatible fix for STDCXX-509 from
branches/4.2.0:
* inlcude/limits [_RWSTD_NO_OBJECT_MANGLING] (__rw_flt_denorm_min,
__rw_flt_infinity, __rw_flt_qNaN, __rw_flt_sNaN, __rw_dbl_denorm_min,
__rw_dbl_infinity, __rw_dbl_qNaN, __rw_dbl_sNaN, __rw_ldbl_denorm_min,
__rw_ldbl_infinity, __rw_ldbl_qNaN, __rw_ldbl_sNaN): Declared with C++
linkage when the config macro is #defined for binary compatibility with
prior 4.x releases.
* src/limits_bits.cpp: Same as above for definitions of constants.
* src/num_get.cpp [_RWSTD_NO_OBJECT_MANGLING] (__rw_flt_infinity,
__rw_dbl_infinity, __rw_ldbl_infinity): Same.
2007-10-15 Andrew Black <ablack@roguewave.com>
STDCXX-109
* etc/config/makefile.rules ($(CATFILE)): Make failure to execute
the gencat utility non-fatal.
2007-10-16 Travis Vitek <vitek@roguewave.com>
STDCXX-596
* 0.printf.cpp (_rw_fmtarray): Check pointer bounds before
examining the contents to avoid uninitialized memory read.
2007-10-15 Martin Sebor <sebor@roguewave.com>
* src/ChangeLog: Updated.
* include/ChangeLog: Generated.
* examples/ChangeLog: Ditto.
* tests/ChangeLog: Ditto.
* util/ChangeLog: Ditto.
2007-10-15 Martin Sebor <sebor@roguewave.com>
* README: Removed the "(pre-release)" bit from the version string
and added the set of platforms on which 4.2.0 has been tested on.
2007-10-15 Martin Sebor <sebor@roguewave.com>
* _config.h: Corrected a typo in a comment and updated the year
of copyright.
2007-10-15 Martin Sebor <sebor@roguewave.com>
* 21.string.io.stdcxx-206.cpp: Added a license header.
2007-10-15 Martin Sebor <sebor@roguewave.com>
* NO_OBJECT_MANGLING.cpp: New config test to determine whether
namespace-scope objects have their types mangled into their
names (as done by MSVC) or not (other compilers).
* object_mangling_imp.cpp: Helper file to go with the above.
2007-10-15 Farid Zaripov <farid_zaripov@epam.com>
* 21.string.io.stdcxx-206.cpp: Perform testing with zero
and non-zero padding. Perform checking according to
_RWSTD_NO_EXT_KEEP_WIDTH_ON_FAILUDE macro definition.
2007-10-15 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-206
* _ioinsert.cc (__rw_insert): Corrected #ifndef to #ifdef.
2007-10-14 Martin Sebor <sebor@roguewave.com>
* 26.valarray.sub.stdcxx-224.cpp: Added regression test for STDCXX-224.
2007-10-14 Marc Betz <betz@roguewave.com>
* 1-5.html: Editorial improvements not related to but made
in the process of resolving STDCXX-574.
2007-10-14 Martin Sebor <sebor@roguewave.com>
STDCXX-278
* valarray.html: Updated example source code to reflect rev 584618.
2007-10-14 Martin Sebor <sebor@roguewave.com>
STDCXX-278
* valarray.cpp (<valarray.h>): Removed a confusing #include directive
and added the definition of a generic operator<<() for valarray copied
from the said header.
(main): Replaced endl with '\n' for efficiency.
2007-10-14 Martin Sebor <sebor@roguewave.com>
STDCXX-407
* frames-contents-all.html: Removed section 1.2.3 - Relationship
to the Essential Tools Module.
* 1-1.html: Replaced C++ Standard Library Module with Apache C++
Standard Library.
2007-10-14 Martin Sebor <sebor@roguewave.com>
STDCXX-407
* tindex.html: Replaced "Rogue Wave" with Apache.
* frames-contents-all.html: Same.
2007-10-14 Marc Betz <betz@roguewave.com>
STDCXX-407
* copyright.html: Deleted.
* contact.html: Same.
2007-10-14 Marc Betz <betz@roguewave.com>
STDCXX-407
* copyright.html: Deleted.
* contact.html: Same.
* 1-6.html: Same.
* 1-7.html: Same.
2007-10-14 Marc Betz <betz@roguewave.com>
STDCXX-407
* 40-5.html: Replaced "C++ Standard Library Module" with "Apache C++
Standard Library."
* 1-1.html: Same.
* 33-3.html: Same.
* 25-5.html: Same.
* 39-1.html: Same.
* 1-5.html: Same. Also made the width of the "next" button the same
as that of the "previous" button.
* 32-5.html: Same.
* 18-3.html: Same. Also made the width of the "next" button the same
as that of the "previous" button.
* 24-4.html: Same.
* 27-3.html: Same.
* 41-2.html: Same.
* 16-3.html: Same.
* 22-7.html: Same.
* 36-3.html: Same.
* noframes.html: Same.
* 30-2.html: Same.
* 22-4.html: Same.
* 42-1.html: Same.
* 17-2.html: Same.
* II.html: Same. Also made the width of the "next" button the same
as that of the "previous" button.
* 1-3.html: Same.
* 27-4.html: Same.
* 24-2.html: Same.
* 16-1.html: Same.
* 28-3.html: Same.
* tindex.html: Same. Removed references to Rogue Wave SourcePro C++
products and services.
* booktoc.html: Same.
* 1.html: Same.
* 1-2.html: Same.
* 1-4.html: Same.
2007-10-14 Martin Sebor <sebor@roguewave.com>
* 1-1.html: Corrected a link to the Rogue Wave site.
* 1-4.html: Corrected paths pointing to documentation.
2007-10-14 Marc Betz <betz@roguewave.com>
STDCXX-407
* locale.html: Replaced "C++ Standard Library Module" with "Apache C++
Standard Library." Also made the width of the "next" button the same
as that of the "previous" button.
* noframes.html: Same.
* localedefutility.html: Same.
2007-10-11 Martin Sebor <sebor@roguewave.com>
STDCXX-509
* limits_bits.cpp [_RWSTD_NO_INFINITY] (__rw_flt_denorm_min,
__rw_flt_infinity, __rw_flt_qNaN, __rw_flt_sNaN, __rw_dbl_denorm_min,
__rw_dbl_infinity, __rw_dbl_qNaN, __rw_dbl_sNaN, __rw_ldbl_denorm_min,
__rw_ldbl_infinity, __rw_ldbl_qNaN, __rw_ldbl_sNaN): Declared constants
with "C" linkage corresponding to rev 564059.
2007-10-11 Martin Sebor <sebor@roguewave.com>
STDCXX-590
* _cerrno.h [__linux__] (errno): Unconditionally #defined to
__errno_location() which is always declared/defined by GNU
libc, going as far back as Red Hat Linux 8 (libc 2.2.93).
2007-10-11 Martin Sebor <sebor@roguewave.com>
STDCXX-589
* file.cpp [!_RWSTD_NO_PURE_C_HEADERS] (fileno): Relaxed a guard
around a declaration.
2007-10-11 Martin Sebor <sebor@roguewave.com>
STDCXX-588
* _config-eccp.h (_RWSTD_NO_DEPRECATED_C_HEADERS,
_RWSTD_NO_PURE_C_HEADERS): #undef'ined config macros for EDG eccp.
2007-10-11 Martin Sebor <sebor@roguewave.com>
STDCXX-586
* WCHAR_T.cpp [_RWSTD_NO_NATIVE_WCHAR_T] (<wchar.h>): Guarded #include
directive to prevent failures when wchar_t is already known to be a
fundamental type.
2007-10-04 Travis Vitek <vitek@roguewave.com>
STDCXX-580
* strstream.cpp (main): Unfreeze streambuf so destructor
will deallocate memory.
2007-10-11 Farid Zaripov <farid_zaripov@epam.com>
* configure.wsf (configure): Removed IncludeDir command
line option.
* projects.js (CreateProjectsDefs): Removed /IncludeDir
option from command line of the configure.wsf script.
2007-09-26 Martin Sebor <sebor@roguewave.com>
STDCXX-262
* exception (~exception): Declared after what() to prevent gcc 4
on Darwin from generating a vtable for the class in exception.o.
gcc 3.4.6 on FreeBSD 6.2 has no problem either way.
(~bad_exception): Declared before what() to achieve the same
effect as above.
* new (~bad_alloc): Declared before what() for the same reason.
2007-10-10 Martin Sebor <sebor@roguewave.com>
* 21.string.io.stdcxx-206.cpp: Regression test for STDCXX-206.
2007-10-10 Martin Sebor <sebor@roguewave.com>
* 26.valarray.members.stdcxx-313.cpp: Regression test for STDCXX-313.
2007-10-10 Martin Sebor <sebor@roguewave.com>
* 26.valarray.unary.stdcxx-314.cpp: Regression test for STDCXX-314.
2007-10-10 Martin Sebor <sebor@roguewave.com>
* 26.valarray.members.stdcxx-318.cpp: Regression test for STCDCXX-318.
2007-10-10 Travis Vitek <vitek@roguewave.com>
STDCXX-582
* 0.printf.cpp (test_errno): Deallocate memory allocated
automatically by rw_snprintfa().
2007-10-05 Farid Zaripov <farid_zaripov@epam.com>
* _punct.cc (__rw_match_name): Added missing space character.
2007-10-04 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-575
* 22.locale.cons.mt.cpp [_MSC_VER] (test_ctors): If
cat == std::locale::messages, compare combined locale
with first because of the MSVC doesn't support
LC_MESSAGES constant.
2007-10-04 Farid Zaripov <farid_zaripov@epam.com>
* Merged the head of branches/4.2.0
2007-10-04 Farid Zaripov <farid_zaripov@epam.com>
* 27.stringbuf.xsputn.stdcxx-576.cpp: Regression test for STDCXX-576
issue.
2007-10-04 Farid Zaripov <farid_zaripov@epam.com>
* Merged the head of branches/4.2.0
2007-10-03 Farid Zaripov <farid_zaripov@epam.com>
* 22.locale.moneypunct.cpp (convert): Save the name of the
original locale using std::string object. Use return instead
of break to avoid restoring the original locale twice.
2007-10-03 Farid Zaripov <farid_zaripov@epam.com>
* 23.vector.bool.stdcxx-235.cpp (main): Corrected the
lines which are testing the operator!=.
2007-10-03 Farid Zaripov <farid_zaripov@epam.com>
* display.cpp (print_status_plain): Use float arithmetic when
calculating the percent of the failed assertions to avoid
overflow of the unsigned int type.
2007-10-01 Farid Zaripov <farid_zaripov@epam.com>
* Merged the head of branches/4.2.0
2007-10-01 Farid Zaripov <farid_zaripov@epam.com>
* Merged the head of branches/4.2.0
2007-10-01 Farid Zaripov <farid_zaripov@epam.com>
* time_put.cpp (__rw_get_date_fmat): Convert char argument
of isspace(), isdigit(), ispunct() to unsigned char.
(__rw_get_time_fmat): Ditto.
2007-10-01 Farid Zaripov <farid_zaripov@epam.com>
* locale.cpp [_WIN32] (EnumLocales): New function to
enumerate system locales.
(print_locale_names): Obtain list of system locales if
RWSTD_LOCALE_ROOT environment variable is not defined.
2007-10-01 Farid Zaripov <farid_zaripov@epam.com>
* Merged the head of branches/4.2.0
2007-09-26 Travis Vitek <vitek@roguewave.com>
STDCXX-571
* 22.locale.numpunct.mt.cpp (run_test): Use C++ locale to
generate test data. This is to avoid any incompatibilities
between C and C++ locales.
(thread_func): Updated to use changed test data types.
(main): add support for command line options nlocales and
shared-locale for consistency with other multithreaded locale
tests.
2007-09-27 Farid Zaripov <farid_zaripov@epam.com>
* projects.js (CreateProjectsDefs): Set stdcxx_runtests
project dependent on stdcxx_utils project (was dependent
on exec project only).
2007-09-26 Martin Sebor <sebor@roguewave.com>
* ctype.cpp (main): Parenthesized a call to ctype::toupper() to avoid
errors when the symbol is shadowed by a macro defined in libc header(s)
as happens to be the case with gcc 4 on Darwin.
2007-09-26 Martin Sebor <sebor@roguewave.com>
STDCXX-572
* aliases.cpp (ci_pre_compare): Parenthesized calls to two-argument
overload of tolower() to avoid errors when the symbol is #defined
as a macro in libc header(s) as is the case with gcc 4 on Darwin.
2007-09-26 Farid Zaripov <farid_zaripov@epam.com>
* locale.cpp [_WIN32]: Add /A:D option in dir command
to print the directory names only.
2007-09-26 Farid Zaripov <farid_zaripov@epam.com>
* 22.locale.moneypunct.mt.cpp (thread_loop_body): Corrected char type
to wchar_t.
2007-09-26 Farid Zaripov <farid_zaripov@epam.com>
* 22.locale.money.get.cpp (set_pattern): New function to translate
test format to money_base::pattern.
(do_test): If fmat is not null set pattern using set_pattern().
(test_get): Test patterns replaced to human-readable form.
2007-09-26 Farid Zaripov <farid_zaripov@epam.com>
* _money_get.cc (_C_get): If no characters available during
parsing sign part of the pattern, then set failbit only when
positive_sign and negative_sign both are not empty. Else set
negative sign if positive_sign is not empty and negative_sign
is empty.
2007-09-26 Farid Zaripov <farid_zaripov@epam.com>
* msvc-7.0.config: Added new config variable: LIBS.
* utilities.js: Ditto.
* msvcex-8.0.config: Set LIBS=user32.lib (by default
the VCExpress links with kernel32.lib only).
* projects.js: Use LIBS config variable instead of
hardcoded commonLibs.
2007-09-25 Martin Sebor <sebor@roguewave.com>
STDCXX-315
* valarray (atan2): Initialized array elements before assigning
to them.
2007-09-25 Martin Sebor <sebor@roguewave.com>
* 26.valarray.transcend.stdcxx-315.cpp: Added regression test
for STDCXX-315.
2007-09-25 Andrew Black <ablack@roguewave.com>
STDCXX-440
* exec.cpp (limit_process): Stop itteration over limits structure
when name element is null, not limit element. Old behavior
incorrectly aborted loop when encountering the first limit that
didn't need to be set.
2007-09-25 Martin Sebor <sebor@roguewave.com>
* 26.valarray.sub.stdcxx-309.cpp: Added regression test for STCXX-309.
2007-09-25 Martin Sebor <sebor@roguewave.com>
* 26.valarray.binary.stdcxx-237.cpp: Added regression test for
STCXX-237.
2007-09-25 Dennis Handly <dhandly@cup.hp.com>
STDCXX-237
STDCXX-448
* valarray (ind_numb): Returned 0 when the lengths array is empty.
2007-09-24 Martin Sebor <sebor@roguewave.com>
STDCXX-404
* charmap.h (<iconv.h>): Removed a redundant _MSC_VER guard.
(open_iconv_to_utf8, open_iconv_to_ext, ic_to_utf8_, ic_to_ext_):
Guarded declarations with _RWSTD_NO_ICONV instead of _MSC_VER.
* charmap.cpp (my_iconv_open): Guarded function definition with
_RWSTD_NO_ICONV instead of _MSC_VER.
(convert_to_utf8): Defined function unconditionally and guarded
implementation with _RWSTD_NO_ICONV (defaulting to returning 0
when the macro is #defined).
(ic_to_utf8_, ic_to_ext_): Guarded the assignment of variables
with _RWSTD_NO_ICONV.
Guarded MSVC-specific behavior with _MSC_VER.
2007-09-24 Travis Vitek <vitek@roguewave.com>
STDCXX-492
* string (operator+=): Replace call to append with push_back
for performance.
(append): Avoid calling replace() from append if there is
sufficient buffer space available for performance.
(append): Simplify append overload, move it to header and then
inline it.
(append): Use _RWSTD_SIZE_T to avoid integer overflow problems
that could lead to heap corruption.
(push_back): Call replace() instead of append when buffer
reallocation required. cleanup. avoid integer overflow problem.
* string.cc (append): Moved append overload to header and make
it inline.
2007-09-22 Martin Sebor <sebor@roguewave.com>
* 23.list.insert.cpp (InsertRange, InsertRangeOverload): Removed
an unused local vaiable to silence a gcc warning: unused variable.
(InsertRangePtrOverload): Removed const qualification from a const
cast to silence Intel C++ warning warning #191: type qualifier is
meaningless on cast type.
2007-09-22 Martin Sebor <sebor@roguewave.com>
* 23.list.assign.cpp (AssignRangePtrOverload): Removed a pointless
const qualification from a cast to silence Intel C++ warning #191:
type qualifier is meaningless on cast type.
(AssignRangeOverload): Constified a local variable.
2007-09-21 Martin Sebor <sebor@roguewave.com>
STDCXX-570
* complex (pow): Removed inline keyword from the declaration
of a function template outlined in revision 545847 while fixing
STDCXX-447.
2007-09-20 Martin Sebor <sebor@roguewave.com>
STDCXX-567
* atomic.s (__rw_atomic_xchg8): Appended the 'b' (byte) prefix
to the xchg instruction instead of counting on the assembler to
figure it out from the widths of the operands to prevent an error
when using the Sun Assembler (which, unlike the GNU assembler,
doesn't support doing this).
2007-09-20 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp (__PURE_CNAME): Undefined Compaq (now HP) C++ macro
to bring in ENOMEM from <errno.h> otherwise guarded (and undefined)
by the compiler's strict implementation of the C++ libc headers in
response to the -std strict_ansi_errors command line option.
* 0.process: Ditto for ENOENT, ECHILD, and ESRCH.
* 18.limits.stdcxx-436.cpp: Same for popen().
2007-09-20 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-560
* icc-10.0-x64.config: Added ASL header.
* icc-10.0.config: Ditto.
* icc-9.0.config: Ditto.
* icc-9.1-x64.config: Ditto.
* icc-9.1.config: Ditto.
* msvc-7.0.config: Ditto.
* msvc-7.1.config: Ditto.
* msvc-8.0-x64.config: Ditto.
* msvc-8.0.config: Ditto.
* msvc-9.0-x64.config: Ditto.
* msvc-9.0.config: Ditto.
* msvcex-8.0.config: Ditto.
2007-09-20 Travis Vitek <vitek@roguewave.com>
STDCXX-561
* ANSI_X3.110-1983: Add ASL Header
* ANSI_X3.4-1968: Same.
* ASMO_449: Same.
* BIG5: Same.
* BIG5-HKSCS: Same.
* BS_4730: Same.
* BS_VIEWDATA: Same.
* CP10007: Same.
* CP1250: Same.
* CP1251: Same.
* CP1252: Same.
* CP1253: Same.
* CP1254: Same.
* CP1255: Same.
* CP1256: Same.
* CP1257: Same.
* CP1258: Same.
* CP437: Same.
* CP737: Same.
* CP775: Same.
* CP949: Same.
* CSA_Z243.4-1985-1: Same.
* CSA_Z243.4-1985-2: Same.
* CSA_Z243.4-1985-GR: Same.
* CSN_369103: Same.
* CWI: Same.
* DEC-MCS: Same.
* DIN_66003: Same.
* DS_2089: Same.
* EBCDIC-AT-DE: Same.
* EBCDIC-AT-DE-A: Same.
* EBCDIC-CA-FR: Same.
* EBCDIC-DK-NO: Same.
* EBCDIC-DK-NO-A: Same.
* EBCDIC-ES: Same.
* EBCDIC-ES-A: Same.
* EBCDIC-ES-S: Same.
* EBCDIC-FI-SE: Same.
* EBCDIC-FI-SE-A: Same.
* EBCDIC-FR: Same.
* EBCDIC-IS-FRISS: Same.
* EBCDIC-IT: Same.
* EBCDIC-PT: Same.
* EBCDIC-UK: Same.
* EBCDIC-US: Same.
* ECMA-CYRILLIC: Same.
* ES: Same.
* ES2: Same.
* EUC-JP: Same.
* EUC-KR: Same.
* EUC-TW: Same.
* GB18030: Same.
* GB2312: Same.
* GB_1988-80: Same.
* GBK: Same.
* GEORGIAN-ACADEMY: Same.
* GEORGIAN-PS: Same.
* GOST_19768-74: Same.
* GREEK-CCITT: Same.
* GREEK7: Same.
* GREEK7-OLD: Same.
* HP-ROMAN8: Same.
* IBM037: Same.
* IBM038: Same.
* IBM1004: Same.
* IBM1026: Same.
* IBM1047: Same.
* IBM256: Same.
* IBM273: Same.
* IBM274: Same.
* IBM275: Same.
* IBM277: Same.
* IBM278: Same.
* IBM280: Same.
* IBM281: Same.
* IBM284: Same.
* IBM285: Same.
* IBM290: Same.
* IBM297: Same.
* IBM420: Same.
* IBM423: Same.
* IBM424: Same.
* IBM437: Same.
* IBM500: Same.
* IBM850: Same.
* IBM851: Same.
* IBM852: Same.
* IBM855: Same.
* IBM857: Same.
* IBM860: Same.
* IBM861: Same.
* IBM862: Same.
* IBM863: Same.
* IBM864: Same.
* IBM865: Same.
* IBM866: Same.
* IBM868: Same.
* IBM869: Same.
* IBM870: Same.
* IBM871: Same.
* IBM874: Same.
* IBM875: Same.
* IBM880: Same.
* IBM891: Same.
* IBM903: Same.
* IBM904: Same.
* IBM905: Same.
* IBM918: Same.
* IEC_P27-1: Same.
* INIS: Same.
* INIS-8: Same.
* INIS-CYRILLIC: Same.
* INVARIANT: Same.
* ISIRI-3342: Same.
* ISO-8859-1: Same.
* ISO-8859-10: Same.
* ISO-8859-13: Same.
* ISO-8859-14: Same.
* ISO-8859-15: Same.
* ISO-8859-16: Same.
* ISO-8859-2: Same.
* ISO-8859-3: Same.
* ISO-8859-4: Same.
* ISO-8859-5: Same.
* ISO-8859-6: Same.
* ISO-8859-7: Same.
* ISO-8859-8: Same.
* ISO-8859-9: Same.
* ISO-IR-197: Same.
* ISO-IR-209: Same.
* ISO-IR-90: Same.
* ISO_10367-BOX: Same.
* ISO_10646: Same.
* ISO_2033-1983: Same.
* ISO_5427: Same.
* ISO_5427-EXT: Same.
* ISO_5428: Same.
* ISO_646.BASIC: Same.
* ISO_646.IRV: Same.
* ISO_6937: Same.
* ISO_6937-2-25: Same.
* ISO_6937-2-ADD: Same.
* ISO_8859-1,GL: Same.
* ISO_8859-SUPP: Same.
* IT: Same.
* JIS_C6220-1969-JP: Same.
* JIS_C6220-1969-RO: Same.
* JIS_C6229-1984-A: Same.
* JIS_C6229-1984-B: Same.
* JIS_C6229-1984-B-ADD: Same.
* JIS_C6229-1984-HAND: Same.
* JIS_C6229-1984-HAND-ADD: Same.
* JIS_C6229-1984-KANA: Same.
* JIS_X0201: Same.
* JOHAB: Same.
* JUS_I.B1.002: Same.
* JUS_I.B1.003-MAC: Same.
* JUS_I.B1.003-SERB: Same.
* KOI-8: Same.
* KOI8-R: Same.
* KOI8-T: Same.
* KOI8-U: Same.
* KSC5636: Same.
* LATIN-GREEK: Same.
* LATIN-GREEK-1: Same.
* MAC-CYRILLIC: Same.
* MAC-IS: Same.
* MAC-SAMI: Same.
* MAC-UK: Same.
* MACINTOSH: Same.
* MSZ_7795.3: Same.
* NATS-DANO: Same.
* NATS-DANO-ADD: Same.
* NATS-SEFI: Same.
* NATS-SEFI-ADD: Same.
* NC_NC00-10: Same.
* NEXTSTEP: Same.
* NF_Z_62-010: Same.
* NF_Z_62-010_1973: Same.
* NS_4551-1: Same.
* NS_4551-2: Same.
* PT: Same.
* PT2: Same.
* SAMI: Same.
* SAMI-WS2: Same.
* SEN_850200_B: Same.
* SEN_850200_C: Same.
* Shift_JIS: Same.
* T.101-G2: Same.
* T.61-7BIT: Same.
* TCVN5712-1: Same.
* TIS-620: Same.
* UTF-8: Same.
* VIDEOTEX-SUPPL: Same.
* VISCII: Same.
* af_ZA: Same.
* am_ET: Same.
* ar_AE: Same.
* ar_BH: Same.
* ar_DZ: Same.
* ar_EG: Same.
* ar_IN: Same.
* ar_IQ: Same.
* ar_JO: Same.
* ar_KW: Same.
* ar_LB: Same.
* ar_LY: Same.
* ar_MA: Same.
* ar_OM: Same.
* ar_QA: Same.
* ar_SA: Same.
* ar_SD: Same.
* ar_SY: Same.
* ar_TN: Same.
* ar_YE: Same.
* az_AZ: Same.
* be_BY: Same.
* bg_BG: Same.
* bn_IN: Same.
* br_FR: Same.
* bs_BA: Same.
* ca_ES: Same.
* ca_ES.euro: Same.
* cs_CZ: Same.
* cy_GB: Same.
* da_DK: Same.
* de_AT: Same.
* de_AT.euro: Same.
* de_BE: Same.
* de_BE.euro: Same.
* de_CH: Same.
* de_DE: Same.
* de_DE.euro: Same.
* de_LU: Same.
* de_LU.euro: Same.
* el_GR: Same.
* el_GR.euro: Same.
* en_AU: Same.
* en_BW: Same.
* en_CA: Same.
* en_DK: Same.
* en_GB: Same.
* en_HK: Same.
* en_IE: Same.
* en_IE.euro: Same.
* en_IN: Same.
* en_NZ: Same.
* en_PH: Same.
* en_SG: Same.
* en_US: Same.
* en_ZA: Same.
* en_ZW: Same.
* es_AR: Same.
* es_BO: Same.
* es_CL: Same.
* es_CO: Same.
* es_CR: Same.
* es_DO: Same.
* es_EC: Same.
* es_ES: Same.
* es_ES.euro: Same.
* es_GT: Same.
* es_HN: Same.
* es_MX: Same.
* es_NI: Same.
* es_PA: Same.
* es_PE: Same.
* es_PR: Same.
* es_PY: Same.
* es_SV: Same.
* es_US: Same.
* es_UY: Same.
* es_VE: Same.
* et_EE: Same.
* eu_ES: Same.
* eu_ES.euro: Same.
* fa_IR: Same.
* fi_FI: Same.
* fi_FI.euro: Same.
* fo_FO: Same.
* fr_BE: Same.
* fr_BE.euro: Same.
* fr_CA: Same.
* fr_CH: Same.
* fr_FR: Same.
* fr_FR.euro: Same.
* fr_LU: Same.
* fr_LU.euro: Same.
* ga_IE: Same.
* ga_IE.euro: Same.
* gd_GB: Same.
* gl_ES: Same.
* gl_ES.euro: Same.
* gv_GB: Same.
* he_IL: Same.
* hi_IN: Same.
* hr_HR: Same.
* hu_HU: Same.
* hy_AM: Same.
* i18n: Same.
* id_ID: Same.
* is_IS: Same.
* iso14651_t1: Same.
* it_CH: Same.
* it_IT: Same.
* it_IT.euro: Same.
* iw_IL: Same.
* ja_JP: Same.
* ka_GE: Same.
* kl_GL: Same.
* ko_KR: Same.
* kw_GB: Same.
* lt_LT: Same.
* lv_LV: Same.
* mi_NZ: Same.
* mk_MK: Same.
* mr_IN: Same.
* ms_MY: Same.
* mt_MT: Same.
* nl_BE: Same.
* nl_BE.euro: Same.
* nl_NL: Same.
* nl_NL.euro: Same.
* nn_NO: Same.
* no_NO: Same.
* oc_FR: Same.
* pl_PL: Same.
* POSIX: Same.
* pt_BR: Same.
* pt_PT: Same.
* pt_PT.euro: Same.
* ro_RO: Same.
* ru_RU: Same.
* ru_UA: Same.
* se_NO: Same.
* sk_SK: Same.
* sl_SI: Same.
* sq_AL: Same.
* sr_YU: Same.
* sr_YU.cyrillic: Same.
* sv_FI: Same.
* sv_FI.euro: Same.
* sv_SE: Same.
* ta_IN: Same.
* te_IN: Same.
* tg_TJ: Same.
* th_TH: Same.
* ti_ER: Same.
* ti_ET: Same.
* tl_PH: Same.
* tr_TR: Same.
* translit_circle: Same.
* translit_cjk_compat: Same.
* translit_cjk_variants: Same.
* translit_combining: Same.
* translit_compat: Same.
* translit_et: Same.
* translit_font: Same.
* translit_fraction: Same.
* translit_hangul: Same.
* translit_narrow: Same.
* translit_neutral: Same.
* translit_small: Same.
* translit_wide: Same.
* tt_RU: Same.
* uk_UA: Same.
* ur_PK: Same.
* uz_UZ: Same.
* vi_VN: Same.
* yi_US: Same.
* zh_CN: Same.
* zh_HK: Same.
* zh_SG: Same.
* zh_TW: Same.
* 100: Same.
* 101: Same.
* 102: Same.
* 1026: Same.
* 103: Same.
* 104: Same.
* 1047: Same.
* 105: Same.
* 106: Same.
* 107: Same.
* 108: Same.
* 109: Same.
* 11: Same.
* 110: Same.
* 111: Same.
* 112: Same.
* 113: Same.
* 114: Same.
* 115: Same.
* 116: Same.
* 117: Same.
* 118: Same.
* 119: Same.
* 12: Same.
* 120: Same.
* 121: Same.
* 122: Same.
* 123: Same.
* 124: Same.
* 125: Same.
* 126: Same.
* 127: Same.
* 128: Same.
* 129: Same.
* 13: Same.
* 130: Same.
* 131: Same.
* 132: Same.
* 133: Same.
* 134: Same.
* 135: Same.
* 136: Same.
* 137: Same.
* 138: Same.
* 139: Same.
* 14: Same.
* 140: Same.
* 141: Same.
* 142: Same.
* 143: Same.
* 144: Same.
* 145: Same.
* 146: Same.
* 147: Same.
* 148: Same.
* 149: Same.
* 15: Same.
* 150: Same.
* 151: Same.
* 152: Same.
* 153: Same.
* 154: Same.
* 155: Same.
* 156: Same.
* 16: Same.
* 17: Same.
* 18: Same.
* 19: Same.
* 20: Same.
* 21: Same.
* 22: Same.
* 23: Same.
* 24: Same.
* 25: Same.
* 26: Same.
* 27: Same.
* 28: Same.
* 29: Same.
* 30: Same.
* 31: Same.
* 32: Same.
* 33: Same.
* 34: Same.
* 35: Same.
* 36: Same.
* 37: Same.
* 38: Same.
* 39: Same.
* 40: Same.
* 41: Same.
* 42: Same.
* 43: Same.
* 437: Same.
* 44: Same.
* 45: Same.
* 46: Same.
* 47: Same.
* 48: Same.
* 49: Same.
* 50: Same.
* 500: Same.
* 500V1: Same.
* 51: Same.
* 52: Same.
* 53: Same.
* 54: Same.
* 55: Same.
* 56: Same.
* 57: Same.
* 58: Same.
* 59: Same.
* 60: Same.
* 61: Same.
* 62: Same.
* 63: Same.
* 64: Same.
* 65: Same.
* 66: Same.
* 67: Same.
* 68: Same.
* 69: Same.
* 70: Same.
* 71: Same.
* 72: Same.
* 73: Same.
* 74: Same.
* 75: Same.
* 76: Same.
* 77: Same.
* 78: Same.
* 79: Same.
* 80: Same.
* 81: Same.
* 82: Same.
* 83: Same.
* 84: Same.
* 85: Same.
* 850: Same.
* 851: Same.
* 852: Same.
* 855: Same.
* 857: Same.
* 86: Same.
* 860: Same.
* 861: Same.
* 862: Same.
* 863: Same.
* 865: Same.
* 869: Same.
* 87: Same.
* 88: Same.
* 89: Same.
* 90: Same.
* 904: Same.
* 91: Same.
* 92: Same.
* 93: Same.
* 94: Same.
* 95: Same.
* 96: Same.
* 97: Same.
* 98: Same.
* 99: Same.
* ANSI_X3.110-1983: Same.
* ANSI_X3.4-1968: Same.
* ANSI_X3.4-1986: Same.
* ARABIC: Same.
* ARABIC7: Same.
* ASCII: Same.
* ASMO-708: Same.
* ASMO_449: Same.
* BALTIC: Same.
* BS_4730: Same.
* BS_VIEWDATA: Same.
* CA: Same.
* CN: Same.
* CP-AR: Same.
* CP-GR: Same.
* CP-HU: Same.
* CP-IS: Same.
* CP037: Same.
* CP038: Same.
* CP1004: Same.
* CP1026: Same.
* CP1047: Same.
* CP1250: Same.
* CP1251: Same.
* CP1252: Same.
* CP1253: Same.
* CP1254: Same.
* CP1255: Same.
* CP1256: Same.
* CP1257: Same.
* CP273: Same.
* CP274: Same.
* CP275: Same.
* CP278: Same.
* CP280: Same.
* CP281: Same.
* CP284: Same.
* CP285: Same.
* CP290: Same.
* CP297: Same.
* CP367: Same.
* CP420: Same.
* CP423: Same.
* CP424: Same.
* CP437: Same.
* CP500: Same.
* CP819: Same.
* CP850: Same.
* CP851: Same.
* CP852: Same.
* CP855: Same.
* CP857: Same.
* CP860: Same.
* CP861: Same.
* CP862: Same.
* CP863: Same.
* CP864: Same.
* CP865: Same.
* CP868: Same.
* CP869: Same.
* CP870: Same.
* CP871: Same.
* CP875: Same.
* CP880: Same.
* CP891: Same.
* CP903: Same.
* CP904: Same.
* CP905: Same.
* CP918: Same.
* CSA7-1: Same.
* CSA7-2: Same.
* CSA_T500-1983: Same.
* CSA_Z243.4-1985-1: Same.
* CSA_Z243.4-1985-2: Same.
* CSA_Z243.4-1985-GR: Same.
* CSN_369103: Same.
* CUBA: Same.
* CWI: Same.
* CWI-2: Same.
* CYRILLIC: Same.
* DE: Same.
* DEC: Same.
* DEC-MCS: Same.
* DIN_66003: Same.
* DK: Same.
* DS2089: Same.
* DS_2089: Same.
* E13B: Same.
* EBCDIC-AT-DE: Same.
* EBCDIC-AT-DE-A: Same.
* EBCDIC-BE: Same.
* EBCDIC-BR: Same.
* EBCDIC-CA-FR: Same.
* EBCDIC-CP-AR1: Same.
* EBCDIC-CP-AR2: Same.
* EBCDIC-CP-BE: Same.
* EBCDIC-CP-CA: Same.
* EBCDIC-CP-CH: Same.
* EBCDIC-CP-DK: Same.
* EBCDIC-CP-ES: Same.
* EBCDIC-CP-FI: Same.
* EBCDIC-CP-FR: Same.
* EBCDIC-CP-GB: Same.
* EBCDIC-CP-GR: Same.
* EBCDIC-CP-HE: Same.
* EBCDIC-CP-IS: Same.
* EBCDIC-CP-IT: Same.
* EBCDIC-CP-NL: Same.
* EBCDIC-CP-NO: Same.
* EBCDIC-CP-ROECE: Same.
* EBCDIC-CP-SE: Same.
* EBCDIC-CP-TR: Same.
* EBCDIC-CP-US: Same.
* EBCDIC-CP-WT: Same.
* EBCDIC-CP-YU: Same.
* EBCDIC-CYRILLIC: Same.
* EBCDIC-DK-NO: Same.
* EBCDIC-DK-NO-A: Same.
* EBCDIC-ES: Same.
* EBCDIC-ES-A: Same.
* EBCDIC-ES-S: Same.
* EBCDIC-FI-SE: Same.
* EBCDIC-FI-SE-A: Same.
* EBCDIC-FR: Same.
* EBCDIC-GREEK: Same.
* EBCDIC-INT: Same.
* EBCDIC-INT1: Same.
* EBCDIC-IS-FRISS: Same.
* EBCDIC-IT: Same.
* EBCDIC-JP-E: Same.
* EBCDIC-JP-KANA: Same.
* EBCDIC-PT: Same.
* EBCDIC-UK: Same.
* EBCDIC-US: Same.
* ECMA-114: Same.
* ECMA-118: Same.
* ECMA-CYRILLIC: Same.
* ELOT_928: Same.
* ES: Same.
* ES2: Same.
* FR: Same.
* FRISS: Same.
* GB: Same.
* GB_1988-80: Same.
* GOST_19768-74: Same.
* GREEK: Same.
* GREEK-CCITT: Same.
* GREEK7: Same.
* GREEK7-OLD: Same.
* GREEK8: Same.
* HEBREW: Same.
* HP-ROMAN8: Same.
* HU: Same.
* IBM037: Same.
* IBM038: Same.
* IBM1004: Same.
* IBM1026: Same.
* IBM1047: Same.
* IBM256: Same.
* IBM273: Same.
* IBM274: Same.
* IBM275: Same.
* IBM277: Same.
* IBM278: Same.
* IBM280: Same.
* IBM281: Same.
* IBM284: Same.
* IBM285: Same.
* IBM290: Same.
* IBM297: Same.
* IBM367: Same.
* IBM420: Same.
* IBM423: Same.
* IBM424: Same.
* IBM437: Same.
* IBM500: Same.
* IBM819: Same.
* IBM850: Same.
* IBM851: Same.
* IBM852: Same.
* IBM855: Same.
* IBM857: Same.
* IBM860: Same.
* IBM861: Same.
* IBM862: Same.
* IBM863: Same.
* IBM864: Same.
* IBM865: Same.
* IBM868: Same.
* IBM869: Same.
* IBM870: Same.
* IBM871: Same.
* IBM875: Same.
* IBM880: Same.
* IBM891: Same.
* IBM903: Same.
* IBM904: Same.
* IBM905: Same.
* IBM918: Same.
* IEC_P27-1: Same.
* INIS: Same.
* INIS-8: Same.
* INIS-CYRILLIC: Same.
* INVARIANT: Same.
* IRV: Same.
* ISO-8859-1: Same.
* ISO-8859-10: Same.
* ISO-8859-15: Same.
* ISO-8859-2: Same.
* ISO-8859-3: Same.
* ISO-8859-4: Same.
* ISO-8859-5: Same.
* ISO-8859-6: Same.
* ISO-8859-7: Same.
* ISO-8859-8: Same.
* ISO-8859-9: Same.
* ISO-IR-100: Same.
* ISO-IR-101: Same.
* ISO-IR-109: Same.
* ISO-IR-110: Same.
* ISO-IR-111: Same.
* ISO-IR-121: Same.
* ISO-IR-122: Same.
* ISO-IR-123: Same.
* ISO-IR-126: Same.
* ISO-IR-127: Same.
* ISO-IR-13: Same.
* ISO-IR-138: Same.
* ISO-IR-139: Same.
* ISO-IR-14: Same.
* ISO-IR-141: Same.
* ISO-IR-142: Same.
* ISO-IR-143: Same.
* ISO-IR-144: Same.
* ISO-IR-146: Same.
* ISO-IR-147: Same.
* ISO-IR-148: Same.
* ISO-IR-15: Same.
* ISO-IR-150: Same.
* ISO-IR-151: Same.
* ISO-IR-152: Same.
* ISO-IR-153: Same.
* ISO-IR-154: Same.
* ISO-IR-155: Same.
* ISO-IR-156: Same.
* ISO-IR-157: Same.
* ISO-IR-17: Same.
* ISO-IR-170: Same.
* ISO-IR-179: Same.
* ISO-IR-18: Same.
* ISO-IR-19: Same.
* ISO-IR-2: Same.
* ISO-IR-21: Same.
* ISO-IR-27: Same.
* ISO-IR-37: Same.
* ISO-IR-4: Same.
* ISO-IR-47: Same.
* ISO-IR-49: Same.
* ISO-IR-50: Same.
* ISO-IR-51: Same.
* ISO-IR-54: Same.
* ISO-IR-55: Same.
* ISO-IR-57: Same.
* ISO-IR-6: Same.
* ISO-IR-69: Same.
* ISO-IR-8-1: Same.
* ISO-IR-8-2: Same.
* ISO-IR-85: Same.
* ISO-IR-86: Same.
* ISO-IR-88: Same.
* ISO-IR-89: Same.
* ISO-IR-9-1: Same.
* ISO-IR-9-2: Same.
* ISO-IR-90: Same.
* ISO-IR-91: Same.
* ISO-IR-92: Same.
* ISO-IR-93: Same.
* ISO-IR-94: Same.
* ISO-IR-95: Same.
* ISO-IR-96: Same.
* ISO-IR-98: Same.
* ISO-IR-99: Same.
* ISO646-CA: Same.
* ISO646-CA2: Same.
* ISO646-CN: Same.
* ISO646-CU: Same.
* ISO646-DE: Same.
* ISO646-DK: Same.
* ISO646-ES: Same.
* ISO646-ES2: Same.
* ISO646-FR: Same.
* ISO646-GB: Same.
* ISO646-HU: Same.
* ISO646-IT: Same.
* ISO646-JP: Same.
* ISO646-JP-OCR-B: Same.
* ISO646-KR: Same.
* ISO646-US: Same.
* ISO646-YU: Same.
* ISO6937: Same.
* ISO_10367-BOX: Same.
* ISO_2033-1983: Same.
* ISO_5427: Same.
* ISO_5427-EXT: Same.
* ISO_5427.1981: Same.
* ISO_5428: Same.
* ISO_5428.1980: Same.
* ISO_646.BASIC: Same.
* ISO_646.BASIC.1983: Same.
* ISO_646.IRV.1983: Same.
* ISO_646.IRV.1991: Same.
* ISO_6937: Same.
* ISO_6937-2-25: Same.
* ISO_6937-2-ADD: Same.
* ISO_6937-2.1983: Same.
* ISO_6937.1992: Same.
* ISO_8859-1: Same.
* ISO_8859-1,GL: Same.
* ISO_8859-1.1987: Same.
* ISO_8859-10: Same.
* ISO_8859-10.1993: Same.
* ISO_8859-2: Same.
* ISO_8859-2.1987: Same.
* ISO_8859-3: Same.
* ISO_8859-3.1988: Same.
* ISO_8859-4: Same.
* ISO_8859-4.1988: Same.
* ISO_8859-5: Same.
* ISO_8859-5.1988: Same.
* ISO_8859-6: Same.
* ISO_8859-6.1987: Same.
* ISO_8859-7: Same.
* ISO_8859-7.1987: Same.
* ISO_8859-8: Same.
* ISO_8859-8.1988: Same.
* ISO_8859-9: Same.
* ISO_8859-9.1989: Same.
* ISO_8859-SUPP: Same.
* ISO_9036: Same.
* IT: Same.
* JIS_C6220-1969: Same.
* JIS_C6220-1969-JP: Same.
* JIS_C6220-1969-RO: Same.
* JIS_C6229-1984-A: Same.
* JIS_C6229-1984-B: Same.
* JIS_C6229-1984-B-ADD: Same.
* JIS_C6229-1984-HAND: Same.
* JIS_C6229-1984-HAND-ADD: Same.
* JIS_C6229-1984-KANA: Same.
* JIS_X0201: Same.
* JP: Same.
* JP-OCR-A: Same.
* JP-OCR-B: Same.
* JP-OCR-B-ADD: Same.
* JP-OCR-HAND: Same.
* JP-OCR-HAND-ADD: Same.
* JS: Same.
* JUS_I.B1.002: Same.
* JUS_I.B1.003-MAC: Same.
* JUS_I.B1.003-SERB: Same.
* KATAKANA: Same.
* KOI-7: Same.
* KOI-8: Same.
* KOI8-R: Same.
* KOI8-RU: Same.
* KOI8-U: Same.
* KSC5636: Same.
* L1: Same.
* L2: Same.
* L3: Same.
* L4: Same.
* L5: Same.
* L6: Same.
* LATIN-GREEK: Same.
* LATIN-GREEK-1: Same.
* LATIN1: Same.
* LATIN1-2-5: Same.
* LATIN2: Same.
* LATIN3: Same.
* LATIN4: Same.
* LATIN5: Same.
* LATIN6: Same.
* MAC: Same.
* MAC-IS: Same.
* MACEDONIAN: Same.
* MACINTOSH: Same.
* MS-ANSI: Same.
* MS-ARAB: Same.
* MS-CYRL: Same.
* MS-EE: Same.
* MS-GREEK: Same.
* MS-HEBR: Same.
* MS-TURK: Same.
* MSZ_7795.3: Same.
* NAPLPS: Same.
* NATS-DANO: Same.
* NATS-DANO-ADD: Same.
* NATS-SEFI: Same.
* NATS-SEFI-ADD: Same.
* NC_NC00-10: Same.
* NC_NC00-10.81: Same.
* NEXT: Same.
* NEXTSTEP: Same.
* NF_Z_62-010: Same.
* NF_Z_62-010_1973: Same.
* NS_4551-1: Same.
* NS_4551-2: Same.
* OS2LATIN1: Same.
* PT: Same.
* PT2: Same.
* R8: Same.
* REF: Same.
* ROMAN8: Same.
* SAMI: Same.
* SEN_850200_B: Same.
* SEN_850200_C: Same.
* SERBIAN: Same.
* ST_SEV_358-88: Same.
* T.101-G2: Same.
* T.61-7BIT: Same.
* T.61-8BIT: Same.
* UK: Same.
* US: Same.
* US-ASCII: Same.
* VIDEOTEX-SUPPL: Same.
* WINBALTRIM: Same.
* X0201: Same.
* X0201-7: Same.
* YU: Same.
* cs_CZ: Same.
* da_DK: Same.
* da_EU: Same.
* de_AT: Same.
* de_BE: Same.
* de_CH: Same.
* de_DE: Same.
* de_EU: Same.
* de_LU: Same.
* el_EU: Same.
* el_GR: Same.
* en_AU: Same.
* en_CA: Same.
* en_DK: Same.
* en_EU: Same.
* en_GB: Same.
* en_IE: Same.
* en_NZ: Same.
* en_US: Same.
* es_AR: Same.
* es_BO: Same.
* es_CL: Same.
* es_CO: Same.
* es_DO: Same.
* es_EC: Same.
* es_ES: Same.
* es_EU: Same.
* es_GT: Same.
* es_HN: Same.
* es_MX: Same.
* es_PA: Same.
* es_PE: Same.
* es_PY: Same.
* es_SV: Same.
* es_US: Same.
* es_UY: Same.
* es_VE: Same.
* et_EE: Same.
* eu_ES: Same.
* fi_EU: Same.
* fi_FI: Same.
* fo_FO: Same.
* fr_BE: Same.
* fr_CA: Same.
* fr_CH: Same.
* fr_EU: Same.
* fr_FR: Same.
* fr_LU: Same.
* ga_EU: Same.
* ga_IE: Same.
* gl_ES: Same.
* he_IL: Same.
* hr_HR: Same.
* hu_HU: Same.
* id_ID: Same.
* is_EU: Same.
* is_IS: Same.
* it_EU: Same.
* it_IT: Same.
* iw_IL: Same.
* kl_GL: Same.
* lt_LT: Same.
* lv_LV: Same.
* nl_BE: Same.
* nl_EU: Same.
* nl_NL: Same.
* no_EU: Same.
* no_NO: Same.
* pl_PL: Same.
* POSIX: Same.
* pt_BR: Same.
* pt_EU: Same.
* pt_PT: Same.
* ro_RO: Same.
* ru_RU: Same.
* sl_SI: Same.
* sv_EU: Same.
* sv_FI: Same.
* sv_SE: Same.
* tr_TR: Same.
2007-09-20 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-560
* configure.bat: Added ASL header.
* generate.bat: Ditto.
2007-09-19 Martin Sebor <sebor@roguewave.com>
* rwstderr.msg: Added missing space after the comment character
to prevent pedantic gencat errors on Linux.
2007-09-19 Martin Sebor <sebor@roguewave.com>
STDCXX-406
* GNUmakefile.lib [Compaq C++] (SOBJS): Explicitly added all object
files from template repository to the archive when building the lib
with Compaq (HP) C++ on Tru64 UNIX as documented in the manual:
http://h30097.www3.hp.com/cplus/ugutmpl.htm#templ_chap
2007-09-19 Farid Zaripov <Farid_Zaripov@epam.com>
* build.wsf (BuildProject): Remove temporary checks (used
for investigating of the problem with build on icc).
2007-09-19 Farid Zaripov <Farid_Zaripov@epam.com>
* 20.temp.buffer.cpp (run_test): Define constant MAX_SIZE = INT_MAX
for MSVC and ICC/Windows and MAX_SIZE = _RWSTD_PTRDIFF_MAX for other
platforms.
2007-09-19 Martin Sebor <sebor@roguewave.com>
* _messages.cc (do_close): Qualified argument type to work around
a Sun C++ 5.8 (and prior) bug.
2007-09-19 Farid Zaripov <Farid_Zaripov@epam.com>
* _messages.h: Reverted changes from r577000 because
they are obsolete since r577098.
messages.cpp: Ditto.
2007-09-18 Martin Sebor <sebor@roguewave.com>
STDCXX-457
* path.h: Added the required ASL header.
2007-09-18 Martin Sebor <sebor@roguewave.com>
STDCXX-457
* rwstderr.rc: Added a comment with the required ASL header.
Comment format according to:
http://msdn2.microsoft.com/en-us/library/aa380896.aspx
2007-09-18 Martin Sebor <sebor@roguewave.com>
* rwstderr.msg: Added the RCS Id keyword.
2007-09-18 Martin Sebor <sebor@roguewave.com>
STDCXX-457
* rwstderr.msg: Added a comment with the required ASL header.
20070-09-18 Travis Vitek <vitek@roguewave.com>
STDCXX-559
* index.html: Add ASL header.
* rw.css: Same.
* rwbanner.css: Same.
20070-09-18 Travis Vitek <vitek@roguewave.com>
STDCXX-559
* 1-1.html: Add ASL header.
* 1-2.html: Same.
* 1-3.html: Same.
* 1-4.html: Same.
* 1-5.html: Same.
* 1-6.html: Same.
* 1-7.html: Same.
* 1.html: Same.
* 10-1.html: Same.
* 10-2.html: Same.
* 10-3.html: Same.
* 10.html: Same.
* 11-1.html: Same.
* 11-2.html: Same.
* 11-3.html: Same.
* 11.html: Same.
* 12-1.html: Same.
* 12-2.html: Same.
* 12-3.html: Same.
* 12.html: Same.
* 13-1.html: Same.
* 13-2.html: Same.
* 13-3.html: Same.
* 13-4.html: Same.
* 13-5.html: Same.
* 13-6.html: Same.
* 13-7.html: Same.
* 13-8.html: Same.
* 13.html: Same.
* 14-1.html: Same.
* 14-2.html: Same.
* 14-3.html: Same.
* 14-4.html: Same.
* 14-5.html: Same.
* 14-6.html: Same.
* 14-7.html: Same.
* 14.html: Same.
* 15-1.html: Same.
* 15-2.html: Same.
* 15-3.html: Same.
* 15.html: Same.
* 16-1.html: Same.
* 16-2.html: Same.
* 16-3.html: Same.
* 16-4.html: Same.
* 16.html: Same.
* 17-1.html: Same.
* 17-2.html: Same.
* 17.html: Same.
* 18-1.html: Same.
* 18-2.html: Same.
* 18-3.html: Same.
* 18-4.html: Same.
* 18.html: Same.
* 19-1.html: Same.
* 19-2.html: Same.
* 19.html: Same.
* 2-1.html: Same.
* 2-2.html: Same.
* 2-3.html: Same.
* 2-4.html: Same.
* 2-5.html: Same.
* 2.html: Same.
* 20-1.html: Same.
* 20-2.html: Same.
* 20-3.html: Same.
* 20.html: Same.
* 21-1.html: Same.
* 21-2.html: Same.
* 21-3.html: Same.
* 21.html: Same.
* 22-1.html: Same.
* 22-2.html: Same.
* 22-3.html: Same.
* 22-4.html: Same.
* 22-5.html: Same.
* 22-6.html: Same.
* 22-7.html: Same.
* 22.html: Same.
* 23-1.html: Same.
* 23-2.html: Same.
* 23-3.html: Same.
* 23-4.html: Same.
* 23.html: Same.
* 24-1.html: Same.
* 24-2.html: Same.
* 24-3.html: Same.
* 24-4.html: Same.
* 24.html: Same.
* 25-1.html: Same.
* 25-2.html: Same.
* 25-3.html: Same.
* 25-4.html: Same.
* 25-5.html: Same.
* 25-6.html: Same.
* 25.html: Same.
* 26-1.html: Same.
* 26-2.html: Same.
* 26-3.html: Same.
* 26-4.html: Same.
* 26-5.html: Same.
* 26-6.html: Same.
* 26-7.html: Same.
* 26-8.html: Same.
* 26-9.html: Same.
* 26.html: Same.
* 27-1.html: Same.
* 27-2.html: Same.
* 27-3.html: Same.
* 27-4.html: Same.
* 27.html: Same.
* 28-1.html: Same.
* 28-2.html: Same.
* 28-3.html: Same.
* 28-4.html: Same.
* 28-5.html: Same.
* 28.html: Same.
* 29-1.html: Same.
* 29-2.html: Same.
* 29-3.html: Same.
* 29.html: Same.
* 3-1.html: Same.
* 3-2.html: Same.
* 3-3.html: Same.
* 3-4.html: Same.
* 3-5.html: Same.
* 3.html: Same.
* 30-1.html: Same.
* 30-2.html: Same.
* 30-3.html: Same.
* 30-4.html: Same.
* 30-5.html: Same.
* 30.html: Same.
* 31-1.html: Same.
* 31-2.html: Same.
* 31-3.html: Same.
* 31.html: Same.
* 32-1.html: Same.
* 32-2.html: Same.
* 32-3.html: Same.
* 32-4.html: Same.
* 32-5.html: Same.
* 32-6.html: Same.
* 32.html: Same.
* 33-1.html: Same.
* 33-2.html: Same.
* 33-3.html: Same.
* 33.html: Same.
* 34-1.html: Same.
* 34-2.html: Same.
* 34-3.html: Same.
* 34-4.html: Same.
* 34.html: Same.
* 35-1.html: Same.
* 35-2.html: Same.
* 35-3.html: Same.
* 35-4.html: Same.
* 35-5.html: Same.
* 35-6.html: Same.
* 35.html: Same.
* 36-1.html: Same.
* 36-2.html: Same.
* 36-3.html: Same.
* 36-4.html: Same.
* 36.html: Same.
* 37-1.html: Same.
* 37-2.html: Same.
* 37.html: Same.
* 38-1.html: Same.
* 38-2.html: Same.
* 38-3.html: Same.
* 38-4.html: Same.
* 38-5.html: Same.
* 38.html: Same.
* 39-1.html: Same.
* 39-2.html: Same.
* 39-3.html: Same.
* 39.html: Same.
* 4-1.html: Same.
* 4-2.html: Same.
* 4-3.html: Same.
* 4-4.html: Same.
* 4.html: Same.
* 40-1.html: Same.
* 40-2.html: Same.
* 40-3.html: Same.
* 40-4.html: Same.
* 40-5.html: Same.
* 40.html: Same.
* 41-1.html: Same.
* 41-2.html: Same.
* 41-3.html: Same.
* 41.html: Same.
* 42-1.html: Same.
* 42-2.html: Same.
* 42-3.html: Same.
* 42.html: Same.
* 43-1.html: Same.
* 43-2.html: Same.
* 43-3.html: Same.
* 43-4.html: Same.
* 43.html: Same.
* 44-1.html: Same.
* 44-2.html: Same.
* 44.html: Same.
* 45-1.html: Same.
* 45-2.html: Same.
* 45-3.html: Same.
* 45-4.html: Same.
* 45-5.html: Same.
* 45.html: Same.
* 46-1.html: Same.
* 46.html: Same.
* 5-1.html: Same.
* 5-2.html: Same.
* 5-3.html: Same.
* 5-4.html: Same.
* 5.html: Same.
* 6-1.html: Same.
* 6-2.html: Same.
* 6-3.html: Same.
* 6.html: Same.
* 7-1.html: Same.
* 7-2.html: Same.
* 7-3.html: Same.
* 7.html: Same.
* 8-1.html: Same.
* 8-2.html: Same.
* 8-3.html: Same.
* 8-4.html: Same.
* 8.html: Same.
* 9-1.html: Same.
* 9-2.html: Same.
* 9-3.html: Same.
* 9.html: Same.
* acknow.html: Same.
* booktoc.html: Same.
* contact.html: Same.
* copyright.html: Same.
* frames-banner.html: Same.
* frames-contents-all.html: Same.
* frames-contents-chapter.html: Same.
* frames-displayarea.html: Same.
* frames-intro-contents.html: Same.
* frames-intro-text.html: Same.
* frames-tindex-contents.html: Same.
* frames-tindex.html: Same.
* I.html: Same.
* II.html: Same.
* III.html: Same.
* index.html: Same.
* IV.html: Same.
* lists.html: Same.
* noframes.html: Same.
* tindex.html: Same.
* V.html: Same.
* VI.html: Same.
* VII.html: Same.
* VIII.html: Same.
20070-09-18 Travis Vitek <vitek@roguewave.com>
STDCXX-559
* --distance-type.html: Add ASL header
* --iterator-category.html: Same.
* 1-1.html: Same.
* 1-2.html: Same.
* 1-3.html: Same.
* 1.html: Same.
* 2-1.html: Same.
* 2-10.html: Same.
* 2-11.html: Same.
* 2-2.html: Same.
* 2-3.html: Same.
* 2-4.html: Same.
* 2-5.html: Same.
* 2-6.html: Same.
* 2-7.html: Same.
* 2-8.html: Same.
* 2-9.html: Same.
* 2.html: Same.
* A-1.html: Same.
* A-2.html: Same.
* A-3.html: Same.
* A.html: Same.
* accumulate.html: Same.
* acknow.html: Same.
* adjacent-difference.html: Same.
* adjacent-find.html: Same.
* advance.html: Same.
* algorithm-h.html: Same.
* algorithms.html: Same.
* allocator.html: Same.
* associativecontainers.html: Same.
* auto-ptr.html: Same.
* B.html: Same.
* back-insert-iterator.html: Same.
* bad-alloc.html: Same.
* bad-cast.html: Same.
* bad-exception.html: Same.
* bad-typeid.html: Same.
* basic-filebuf.html: Same.
* basic-fstream.html: Same.
* basic-ifstream.html: Same.
* basic-ios.html: Same.
* basic-iostream.html: Same.
* basic-istream.html: Same.
* basic-istringstream.html: Same.
* basic-ofstream.html: Same.
* basic-ostream.html: Same.
* basic-ostringstream.html: Same.
* basic-streambuf.html: Same.
* basic-string.html: Same.
* basic-stringbuf.html: Same.
* basic-stringstream.html: Same.
* bidirectionaliterators.html: Same.
* binary-function.html: Same.
* binary-negate.html: Same.
* binary-search.html: Same.
* bind1st.html: Same.
* bitmasktypes.html: Same.
* bitset.html: Same.
* booktoc.html: Same.
* cerr.html: Same.
* char-traits.html: Same.
* cin.html: Same.
* clog.html: Same.
* codecvt-byname.html: Same.
* codecvt.html: Same.
* collate.html: Same.
* compare.html: Same.
* complex-h.html: Same.
* complex.html: Same.
* contact.html: Same.
* containers.html: Same.
* copy.html: Same.
* copyright.html: Same.
* count.html: Same.
* cout.html: Same.
* ctype-byname.html: Same.
* ctype.html: Same.
* deque-h.html: Same.
* deque.html: Same.
* distance.html: Same.
* divides.html: Same.
* domain-error.html: Same.
* equal-range.html: Same.
* equal-to.html: Same.
* equal.html: Same.
* exception-h.html: Same.
* exception.html: Same.
* exceptions.html: Same.
* facets.html: Same.
* fill.html: Same.
* find-end.html: Same.
* find-first-of.html: Same.
* find-if.html: Same.
* find.html: Same.
* for-each.html: Same.
* forwarditerators.html: Same.
* fpos.html: Same.
* frames-banner.html: Same.
* frames-classes-alpha.html: Same.
* frames-classes-func.html: Same.
* frames-displayarea.html: Same.
* frames-intro-contents.html: Same.
* frames-intro-text.html: Same.
* frames-tindex-contents.html: Same.
* frames-tindex.html: Same.
* front-insert-iterator.html: Same.
* fstream-h.html: Same.
* functional-h.html: Same.
* functionobjects.html: Same.
* functoc.html: Same.
* generate.html: Same.
* get-temporary-buffer.html: Same.
* greater-equal.html: Same.
* greater.html: Same.
* gslice-array.html: Same.
* gslice.html: Same.
* has-facet.html: Same.
* heapoperations.html: Same.
* I.html: Same.
* II.html: Same.
* III.html: Same.
* includes.html: Same.
* index.html: Same.
* indirect-array.html: Same.
* inner-product.html: Same.
* inplace-merge.html: Same.
* inputiterators.html: Same.
* insert-iterator.html: Same.
* insertiterators.html: Same.
* invalid-argument.html: Same.
* iomanip-h.html: Same.
* ios-base--failure.html: Same.
* ios-base.html: Same.
* ios-h.html: Same.
* iosfwd-h.html: Same.
* iostream-h.html: Same.
* isalnum.html: Same.
* isalpha.html: Same.
* iscntrl.html: Same.
* isdigit.html: Same.
* isgraph.html: Same.
* islower.html: Same.
* isprint.html: Same.
* ispunct.html: Same.
* isspace.html: Same.
* istream-h.html: Same.
* istream-iterator.html: Same.
* istreambuf-iterator.html: Same.
* istrstream.html: Same.
* isupper.html: Same.
* isxdigit.html: Same.
* iter-swap.html: Same.
* iterator-h.html: Same.
* iterator-traits.html: Same.
* iterator.html: Same.
* iterators.html: Same.
* IV.html: Same.
* length-error.html: Same.
* less-equal.html: Same.
* less.html: Same.
* lexicographical-compare.html: Same.
* limits-h.html: Same.
* list-h.html: Same.
* list.html: Same.
* lists.html: Same.
* locale-h.html: Same.
* locale.html: Same.
* localedefutility.html: Same.
* localeutility.html: Same.
* logic-error.html: Same.
* logical-and.html: Same.
* logical-not.html: Same.
* logical-or.html: Same.
* lower-bound.html: Same.
* make-heap.html: Same.
* map-h.html: Same.
* map.html: Same.
* mask-array.html: Same.
* max-element.html: Same.
* max.html: Same.
* mem-fun.html: Same.
* memory-h.html: Same.
* merge.html: Same.
* messages.html: Same.
* min-element.html: Same.
* min.html: Same.
* minus.html: Same.
* mismatch.html: Same.
* modulus.html: Same.
* money-get.html: Same.
* money-put.html: Same.
* moneypunct.html: Same.
* multimap.html: Same.
* multiplies.html: Same.
* multiset.html: Same.
* negate.html: Same.
* negators.html: Same.
* new-h.html: Same.
* next-permutation.html: Same.
* noframes.html: Same.
* not-equal-to.html: Same.
* not1.html: Same.
* not2.html: Same.
* nth-element.html: Same.
* num-get.html: Same.
* num-put.html: Same.
* numeric-h.html: Same.
* numeric-limits.html: Same.
* numpunct.html: Same.
* operatordelete.html: Same.
* operatornew.html: Same.
* operators.html: Same.
* ostream-h.html: Same.
* ostream-iterator.html: Same.
* ostreambuf-iterator.html: Same.
* ostrstream.html: Same.
* out-of-range.html: Same.
* outputiterators.html: Same.
* overflow-error.html: Same.
* pair.html: Same.
* partial-sort-copy.html: Same.
* partial-sort.html: Same.
* partial-sum.html: Same.
* partition.html: Same.
* plus.html: Same.
* pointer-to-binary-function.html: Same.
* pointer-to-unary-function.html: Same.
* pop-heap.html: Same.
* predicates.html: Same.
* prev-permutation.html: Same.
* priority-queue.html: Same.
* ptr-fun.html: Same.
* push-heap.html: Same.
* queue-h.html: Same.
* queue.html: Same.
* random-shuffle.html: Same.
* randomaccessiterators.html: Same.
* range-error.html: Same.
* raw-storage-iterator.html: Same.
* remove-copy-if.html: Same.
* remove-copy.html: Same.
* remove-if.html: Same.
* remove.html: Same.
* replace-copy-if.html: Same.
* replace-copy.html: Same.
* replace-if.html: Same.
* replace.html: Same.
* return-temporary-buffer.html: Same.
* reverse-copy.html: Same.
* reverse-iterator.html: Same.
* reverse.html: Same.
* rotate.html: Same.
* runtime-error.html: Same.
* search.html: Same.
* sequences.html: Same.
* set-difference.html: Same.
* set-h.html: Same.
* set-intersection.html: Same.
* set-symmetric-difference.html: Same.
* set-union.html: Same.
* set.html: Same.
* slice-array.html: Same.
* slice.html: Same.
* sort-heap.html: Same.
* sort.html: Same.
* sstream-h.html: Same.
* stable-partition.html: Same.
* stable-sort.html: Same.
* stack-h.html: Same.
* stack.html: Same.
* stdexcept-h.html: Same.
* streambuf-h.html: Same.
* streamiterators.html: Same.
* string-h.html: Same.
* string.html: Same.
* strstream-h.html: Same.
* strstream.html: Same.
* strstreambuf.html: Same.
* swap-ranges.html: Same.
* swap.html: Same.
* time-get-byname.html: Same.
* time-get.html: Same.
* time-put-byname.html: Same.
* time-put.html: Same.
* tindex.html: Same.
* tolower.html: Same.
* toupper.html: Same.
* transform.html: Same.
* typeinfo-h.html: Same.
* unary-function.html: Same.
* unary-negate.html: Same.
* underflow-error.html: Same.
* uninitialized-copy.html: Same.
* uninitialized-fill-n.html: Same.
* uninitialized-fill.html: Same.
* unique.html: Same.
* upper-bound.html: Same.
* use-facet.html: Same.
* utility-h.html: Same.
* valarray-h.html: Same.
* valarray.html: Same.
* vector-h.html: Same.
* vector.html: Same.
* wcerr.html: Same.
* wcin.html: Same.
* wclog.html: Same.
* wcout.html: Same.
* wstring.html: Same.
2007-09-18 Martin Sebor <sebor@roguewave.com>
* 21.string.cons.cpp (test_cons): Used argument of the appropriate
type to silence HP aCC pedantic Warning (suggestion) 887: Type 'int'
is smaller than type 'unsigned long', unwanted widening in value may
result.
2007-09-18 Martin Sebor <sebor@roguewave.com>
* _messages.h (do_open, do_close): Outlined virtual functions
to avoid code bloat due to compiler emitting their definition
in every object file where the class is used.
* _messages.cc: Same.
2007-09-18 Farid Zaripov <Farid_Zaripov@epam.com>
* _mutex.h: Use #pragma intrinsic only on MSVC
(ICC doesn't support this #pragma).
Use _InterlockedIncrement16() and _InterlockedDecrement16()
intrinsic functions only on MSVC (ICC doesn't support them).
2007-09-18 Farid Zaripov <Farid_Zaripov@epam.com>
* rw_streambuf.h: Removed 'Unknown' enum member as unused and
conflicting with Windows API enumerator.
2007-09-18 Farid Zaripov <Farid_Zaripov@epam.com>
* gencat.cpp [_WIN32] (main): Added checking VS90COMNTOOLS
environment variable (get ready to use with MSVC 9.0 Orcas).
2007-09-18 Farid Zaripov <Farid_Zaripov@epam.com>
* exec.cpp [_WIN32]: Added STATUS_INVALID_CRUNTIME_PARAMETER
to the nt_status_map (detected on x64 Windows).
2007-09-18 Farid Zaripov <Farid_Zaripov@epam.com>
* 20.temp.buffer.cpp (run_test): Use _RWSTD_LONG_MAX instead
of _RWSTD_PTRDIFF_MAX because BigStruct parametrized by
unsigned long type and sizeof (_RWSTD_PTRDIFF_T) can be
greater that sizeof (unsigned long).
2007-09-18 Farid Zaripov <Farid_Zaripov@epam.com>
* 22.locale.stdcxx-554.cpp: Removed dependency on rwtest library.
2007-09-18 Farid Zaripov <Farid_Zaripov@epam.com>
* _messages.h (__rw_cat_open): Declare fnuction as _RWSTD_EXPORT.
* _messages.h (__rw_get_message): Ditto.
* _messages.h (__rw_get_locale): Ditto.
* _messages.h (__rw_cat_close): Ditto.
* messages.cpp (__rw_cat_open): Ditto.
* messages.cpp (__rw_get_message): Ditto.
* messages.cpp (__rw_get_locale): Ditto.
* messages.cpp (__rw_cat_close): Ditto.
2007-09-18 Farid Zaripov <Farid_Zaripov@epam.com>
* messages.cpp (__rw_cat_open): Use _RWSTD_MT_CLASS_GUARD instead of
_RWSTD_MT_STATIC_GUARD to synchronize access to global repository
of open catalogs.
(__rw_get_message): Ditto.
(__rw_get_locale): Ditto.
(__rw_cat_close): Ditto.
2007-09-17 Travis Vitek <vitek@roguewave.com>
STDCXX-560
* WCTYPE_T.cpp: Added ASL header.
* BAD_EXCEPTION_DEFAULT_CTOR.cpp: Same.
* EXTERN_TEMPLATE.cpp: Same.
* TYPE_INFO_INEQUALITY.cpp: Same.
* NEW_HEADER.cpp: Same.
* implicit_inclusion_imp.c: Same.
* WCTRANS_T.cpp: Same.
* STD_TYPE_INFO.cpp: Same.
* LIB_EXCEPTIONS.cpp: Same.
* TEMPLATE_ON_RETURN_TYPE.cpp: Same.
* implicit_inclusion_imp.h: Same.
* STD_NOTHROW.cpp: Same.
* OPERATOR_DELETE_ARRAY.cpp: Same.
* collapse_static_locals.lib.cpp: Same.
* EXPLICIT_MEMBER_INSTANTIATION.cpp: Same.
* SETRLIMIT.cpp: Same.
* IMPLICIT_INSTANTIATION.cpp: Same.
* NEW_CLASS_TEMPLATE_SYNTAX.cpp: Same.
* RUNTIME_IN_STD.cpp: Same.
* GLOBAL_BAD_TYPEID.cpp: Same.
* BAD_EXCEPTION_COPY_CTOR.cpp: Same.
* EXCEPTION_ASSIGNMENT.cpp: Same.
* proclimits.h: Same.
* BAD_ALLOC_DEFAULT_CTOR.cpp: Same.
* TYPE_INFO_NAME.cpp: Same.
* instantiation_with_implicit_inclusion.c: Same.
* IMPLICIT_INCLUSION.cpp: Same.
* HONOR_STD.cpp: Same.
* collapse_template_locals.lib.cpp: Same.
* EXTERN_C_COMPATIBILITY.cpp: Same.
* NEWLINE.cpp: Same.
* SIG_ATOMIC_T.cpp: Same.
* instantiation_with_implicit_inclusion.h: Same.
* LCONV_INT_FMAT.cpp: Same.
* FRIEND_TEMPLATE.cpp: Same.
* headers.inc: Same.
* EXTERN_INLINE.cpp: Same.
* NL_TYPES_H.cpp: Same.
* NONDEDUCED_CONTEXT.cpp: Same.
* LONG_LONG.cpp: Same.
* STD_BAD_EXCEPTION.cpp: Same.
* EXCEPTION_COPY_CTOR.cpp: Same.
* GLOBAL_NOTHROW.cpp: Same.
* TYPENAME.cpp: Same.
* STRUCT_TM.cpp: Same.
* STATIC_CONST_MEMBER_EXPR_CONST.cpp: Same.
* VSNPRINTF_RETURN.cpp: Same.
* NONCLASS_ARROW_RETURN.cpp: Same.
* DEPRECATED_LIBC_IN_STD.cpp: Same.
* DYNAMIC_CAST.cpp: Same.
* BAD_TYPEID_DEFAULT_CTOR.cpp: Same.
* EMPTY_MEM_INITIALIZER.cpp: Same.
* WCSFTIME_WCHAR_T_FMAT.cpp: Same.
* instantiation_with_implicit_inclusion.cc: Same.
* DIV_OVERLOADS.cpp: Same.
* DEPENDENT_TEMPLATE.cpp: Same.
* STD_TERMINATE.cpp: Same.
* NO_SIGNALING_NAN.cpp: Same.
* POD_ZERO_INIT.cpp: Same.
* NEW_FUNC_TEMPLATE_SYNTAX.cpp: Same.
* FLOAT.cpp: Same.
* OPERATOR_DELETE_PLACEMENT.cpp: Same.
* LOCALE_NAME_FMAT.cpp: Same.
* STD_UNCAUGHT_EXCEPTION.cpp: Same.
* MATH_OVERLOADS.cpp: Same.
* STATIC_CONST_MEMBER_INIT.cpp: Same.
* LIBC_IN_STD.cpp: Same.
* EXPLICIT_ARG.cpp: Same.
* extern_template_imp.h: Same.
* PART_SPEC_OVERLOAD.cpp: Same.
* SETLOCALE.cpp: Same.
* STD_SET_TERMINATE.cpp: Same.
* instantiation_before_definition.c: Same.
* GLOBAL_BAD_CAST.cpp: Same.
* EXCEPTIONS.cpp: Same.
* EXCEPTION_WHAT.cpp: Same.
* MBSTATE_T.cpp: Same.
* instantiation_before_definition.h: Same.
* BAD_TYPEID_COPY_CTOR.cpp: Same.
* NL_LANGINFO.cpp: Same.
* DUMMY_DEFAULT_ARG.cpp: Same.
* STATICS_IN_TEMPLATE.cpp: Same.
* NAMESPACE.cpp: Same.
* STATIC_TEMPLATE_MEMBER_INIT.cpp: Same.
* MEMBER_TEMPLATE_OVERLOAD.cpp: Same.
* OPERATOR_DELETE_NOTHROW.cpp: Same.
* GLOBAL_SET_UNEXPECTED.cpp: Same.
* OVERLOAD_OF_TEMPLATE_FUNCTION.cpp: Same.
* STATIC_CAST.cpp: Same.
* VA_LIST.cpp: Same.
* TLS.cpp: Same.
* OPERATOR_DELETE_ARRAY_PLACEMENT.cpp: Same.
* INSTANTIATE_DEFAULT_ARGS.cpp: Same.
* STD_BAD_CAST.cpp: Same.
* OFFSETOF.cpp: Same.
* thread.h: Same.
* GLOBAL_EXCEPTION.cpp: Same.
* GLOBAL_BAD_ALLOC.cpp: Same.
* EXPLICIT.cpp: Same.
* EXPORT.cpp: Same.
* BAD_CAST_WHAT.cpp: Same.
* TYPE_INFO_DTOR.cpp: Same.
* EXCEPTION_DTOR.cpp: Same.
* BAD_EXCEPTION_WHAT.cpp: Same.
* WCHAR_T.cpp: Same.
* locale_names.h: Same.
* INFINITY.cpp: Same.
* PLACEMENT_DELETE.cpp: Same.
* TIMEZONE.cpp: Same.
* DEFAULT_TEMPLATE_ARGS.cpp: Same.
* OPERATOR_NEW_PLACEMENT.cpp: Same.
* STD_MBSTATE_T.cpp: Same.
* NATIVE_WCHAR_T.cpp: Same.
* MUNMAP.cpp: Same.
* UNISTD_DECL.cpp: Same.
* EXCEPTION_SPECIFICATION.cpp: Same.
* GLOBAL_NOTHROW_T.cpp: Same.
* EXTERN_FUNCTION_TEMPLATE.cpp: Same.
* UNAME.cpp: Same.
* EXPLICIT_MEMBER_SPECIALIZATION.cpp: Same.
* SPECIALIZATION_ON_RETURN_TYPE.cpp: Same.
* TEMPLATE_DEFAULT_ARG_CONVERSION.cpp: Same.
* ICONV.cpp: Same.
* STD_UNEXPECTED.cpp: Same.
* TYPE_INFO_BEFORE.cpp: Same.
* EXPLICIT_INSTANTIATION_BEFORE_DEFINITION.cpp: Same.
* LCONV.cpp: Same.
* BAD_CAST_COPY_CTOR.cpp: Same.
* BAD_ALLOC_WHAT.cpp: Same.
* EXPLICIT_INSTANTIATION.cpp: Same.
* EXPORT_KEYWORD.cpp: Same.
* COLLAPSE_TEMPLATE_STATICS.cpp: Same.
* EXTERN_MEMBER_TEMPLATE.cpp: Same.
* BAD_CAST_DTOR.cpp: Same.
* COLLAPSE_TEMPLATE_LOCALS.cpp: Same.
* CLASS_PARTIAL_SPEC.cpp: Same.
* BAD_EXCEPTION_DTOR.cpp: Same.
* PTR_EXCEPTION_SPEC.cpp: Same.
* SIZE_T.cpp: Same.
* NEW_THROWS.cpp: Same.
* extern_template_before_definition_imp.cpp: Same.
* CONST_CAST.cpp: Same.
* NO_DBL_TRAPS.cpp: Same.
* THREAD_SAFE_EXCEPTIONS.cpp: Same.
* MATH_EXCEPTION.cpp: Same.
* THREAD_SAFE_ERRNO.cpp: Same.
* STD_SET_NEW_HANDLER.cpp: Same.
* GLOBAL_UNCAUGHT_EXCEPTION.cpp: Same.
* GLOBAL_TYPE_INFO.cpp: Same.
* EXPLICIT_CTOR_INSTANTIATION.cpp: Same.
* REINTERPRET_CAST.cpp: Same.
* STD_BAD_TYPEID.cpp: Same.
* FUNC_PARTIAL_SPEC.cpp: Same.
* BAD_ALLOC_COPY_CTOR.cpp: Same.
* instantiation_before_definition.cc: Same.
* OPERATOR_NEW_ARRAY_NOTHROW.cpp: Same.
* QUIET_NAN.cpp: Same.
* SPECIALIZED_FRIEND.cpp: Same.
* BAD_TYPEID_WHAT.cpp: Same.
* BAD_ALLOC_DTOR.cpp: Same.
* BAD_CAST_ASSIGNMENT.cpp: Same.
* EXTERN_TEMPLATE_BEFORE_DEFINITION.cpp: Same.
* BAD_EXCEPTION_ASSIGNMENT.cpp: Same.
* collapse_template_statics.lib.cpp: Same.
* FUNCTION_TRY_BLOCK.cpp: Same.
* NO_INT_TRAPS.cpp: Same.
* LIBC_EXCEPTION_SPEC.cpp: Same.
* EXTERN_C_OVERLOAD.cpp: Same.
* OPERATOR_NEW_ARRAY.cpp: Same.
* EXCEPTION_SPECIFICATION_ON_NEW.cpp: Same.
* DAYLIGHT.cpp: Same.
* COLLAPSE_STATIC_LOCALS.cpp: Same.
* STD_EXCEPTION.cpp: Same.
* TYPE_INFO_EQUALITY.cpp: Same.
* types.h: Same.
* CV_VOID_SPECIALIZATIONS.cpp: Same.
* STD_BAD_ALLOC.cpp: Same.
* LDBL_PRINTF_PREFIX.cpp: Same.
* GLOBAL_SET_NEW_HANDLER.cpp: Same.
* ABS_OVERLOADS.cpp: Same.
* GLOBAL_BAD_EXCEPTION.cpp: Same.
* OPERATOR_NEW_NOTHROW.cpp: Same.
* PUTENV_CONST_CHAR.cpp: Same.
* THREAD_SAFE_LOCALE.cpp: Same.
* NO_FOR_LOCAL_SCOPE.cpp: Same.
* MEMBER_TEMPLATES.cpp: Same.
* BAD_ALLOC_ASSIGNMENT.cpp: Same.
* LONG_DOUBLE.cpp: Same.
* EXCEPTION_DEFAULT_CTOR.cpp: Same.
* FPOS_T.cpp: Same.
* OPERATOR_NEW_ARRAY_PLACEMENT.cpp: Same.
* FUNC.cpp: Same.
* BAD_TYPEID_DTOR.cpp: Same.
* PRETTY_FUNCTION.cpp: Same.
* STD_NOTHROW_T.cpp: Same.
* EXPLICIT_FUNC_INSTANTIATION.cpp: Same.
* LIMITS.cpp: Same.
* WINT_T.cpp: Same.
* CTYPE_BITS.cpp: Same.
* STRUCT_TM_IN_WCHAR_H.cpp: Same.
* extern_template_imp.cpp: Same.
* implicit_inclusion_imp.cc: Same.
* GLOBAL_TERMINATE.cpp: Same.
* extern_inline.lib.cpp: Same.
* EXTERN_C_EXCEPTIONS.cpp: Same.
* LLONG_PRINTF_PREFIX.cpp: Same.
* extern_function_template_imp.cpp: Same.
* lib_exceptions.lib.cpp: Same.
* ICONV_CONST_CHAR.cpp: Same.
* INLINE_MEMBER_TEMPLATES.cpp: Same.
* GLOBAL_SET_TERMINATE.cpp: Same.
* GLOBAL_UNEXPECTED.cpp: Same.
* NESTED_CLASS_ACCESS.cpp: Same.
* STD_SET_UNEXPECTED.cpp: Same.
* OPERATOR_DELETE_ARRAY_NOTHROW.cpp: Same.
* BOOL.cpp: Same.
* BAD_CAST_DEFAULT_CTOR.cpp: Same.
* BAD_TYPEID_ASSIGNMENT.cpp: Same.
* ATOMIC_OPS.cpp: Same.
* EXPLICIT_INSTANTIATION_WITH_IMPLICIT_INCLUSION.cpp: Same.
* fun_present_check.cpp: Same.
2007-09-17 Travis Vitek <vitek@roguewave.com>
STDCXX-560
* eccp.config: Added ASL header.
2007-09-17 Travis Vitek <vitek@roguewave.com>
STDCXX-560
* configure.sh: Added ASL header.
* reliant_cds.config: Same.
* mipspro.config: Same.
* gcc.config: Same.
* como.config: Same.
* icc.config: Same.
* xlC_version.sh: Same.
* runall.sh: Same.
* run_locale_utils.sh: Same.
* osf_cxx.config: Same.
* vacpp.config: Same.
2007-09-17 Martin Sebor <sebor@roguewave.com>
STDCXX-20
* MADVISE.cpp: New config test to determine whether the system call
madvise() is supported.
2007-09-18 Martin Sebor <sebor@roguewave.com>
* LIMITS.cpp [_RWSTD_NO_LIMITS_H] (<limits.h>): Guarded the #include
directive introduced in revision 575978 to prevent EDG eccp errors
on Linux caused by the header making use of the #include_next gcc
extension.
2007-09-17 Martin Sebor <sebor@roguewave.com>
STDCXX-547
* locale_core.cpp (_C_get_std_facet): Used a safe cast to silence
a Sun C++ 64-bit conversion warning.
2007-09-17 Travis Vitek <vitek@roguewave.com>
* 18.limits.stdcxx-436.cpp: Regression test exercising STDCXX-436.
2007-09-17 Farid Zaripov <Farid_Zaripov@epam.com>
* msvc-7.0.config: Comments extended with information on MSVC 9.0
(Orcas).
* msvc-9.0.config: New config file for MSVC 9.0.
* msvc-9.0-x64.config: New config file for MSVC 9.0 x64 platform.
2007-09-17 Farid Zaripov <Farid_Zaripov@epam.com>
* build.wsf (BuildProject): Log all available project properties
if project.UniqueName is inaccessible.
2007-09-17 Farid Zaripov <Farid_Zaripov@epam.com>
* catalog.cpp (__catfind): Fixed undefined behavior
when __rw_catlist vector is full and id is not valid.
2007-09-13 Travis Vitek <vitek@roguewave.com>
STDCXX-436
* LIMITS.cpp [_WIN32] (main): Include limits.h to get definition
of MB_LEN_MAX so that we don't have to guess the correct value.
If we must guess a default on _WIN32, use a known good value.
2007-09-14 Farid Zaripov <Farid_Zaripov@epam.com>
* 22.locale.messages.cpp: Removed unnecessary #includes.
* 22.locale.messages.mt.cpp: Ditto.
Removed generate_catalog() function.
Used rw_create_catalog() istead of generate_catalog().
2007-09-14 Farid Zaripov <Farid_Zaripov@epam.com>
* runall.cpp (main): Pass buf to strchr() call instead of target
(we need char* result instead of const char*).
2007-09-14 Farid Zaripov <Farid_Zaripov@epam.com>
* 22.locale.stdcxx-554.cpp: Added a regression test for STDCXX-554.
2007-09-14 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-554
* _messages.h (messages): Removed explicit invoking of the
messages_base() ctor
to avoid buffer overrun due to bad code generation on MSVC 7.1.
* _moneypunct.h (moneypunct): Removed explicit invoking of the
money_base() ctor
to avoid buffer overrun due to bad code generation on MSVC 7.1.
2007-09-13 Martin Sebor <sebor@roguewave.com>
STDCXX-418
* basic-filebuf.html: Documented the fd() member function.
2007-09-13 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-543
* runall.cpp (main): Added ability to pass list of the targets
using the text file.
* cmdopt.cpp: Updated usage_text with description of the
changes above.
* runall.wsf (runAllExamples): Pass targets using text file
rather than using command line if the resulting command line
length would exceed the maximum value.
2007-09-13 Martin Sebor <sebor@roguewave.com>
* memattr.cpp (EFAULT): #defined macro when not #defined in system
headers. Needed by EDG eccp on Linux.
[Linux] (__USE_BSD): #defined macro when not already #defined to
bring in declarations of caddr_t, madvise(), and MADV_WILLNEED.
Also needed by EDG eccp on Linux.
2007-09-13 Martin Sebor <sebor@roguewave.com>
STDCXX-394
* FLOAT.cpp [__EDG__ && !__INTEL_COMPILER] (__FLT_DIG__,
__FLT_EPSILON__, etc.) #defined gcc 4 intrinsics otherwise
not recognized by the EDG eccp 3.9 (and prior) vanilla front
end.
2007-03-14 Farid Zaripov <Farid_Zaripov@epam.com>
* 23.associative.stdcxx-16.cpp: Added Farid's regression test
for STDCXX-16.
2007-09-12 Travis Vitek <vitek@roguewave.com>
* 24.operations.stdcxx-234.cpp: change to get regression
test to correctly compile on gcc and msvc.
2007-09-12 Martin Sebor <sebor@roguewave.com>
STDCXX-545
* vector (vector<bool>::_C_iter): Explicitly defined a copy ctor
for the nested class to work around a Sun C++ optimizer (ube) ICE
on x86_64.
2007-09-12 Martin Sebor <sebor@roguewave.com>
* _localedef.h (__rw_codecvt_t, __rw_ctype_t, __rw_itoutf8,
__rw_utf8toucs4, __rw_mbtowco): Used _RWSTD_UINT8_T instead of plain
unsigned char to make the expected width of the data type explicit and
for consistency with the other data types.
2007-09-12 Farid Zaripov <Farid_Zaripov@epam.com>
* build.wsf (build): Select proper Intel compiler if
more than one has installed.
* projectdef.js (InitVSObjects): Get through all installed
intel compilers when detecting path to the ICProjConvertxx
utility.
* utilities.js: Added config variable ICCVER (version of the
Interl C++ compiler).
* msvc-7.0.config: Ditto.
* icc-9.0.config: Ditto.
* icc-9.1.config: Ditto.
* icc-10.0.config: Ditto.
* icc-10.0-x64.config: Ditto.
* icc-9.1-x64.config: New configuration file for
64-bit Intel 9.1 compiler.
2007-09-12 Farid Zaripov <Farid_Zaripov@epam.com>
* generate.bat: New batch file which just invokes
configure.bat to preserve the user interface to the
library. This file is deprecated and will be
removed in 4.3 release.
2007-09-12 Martin Sebor <sebor@roguewave.com>
STDCXX-549
* sunpro.config (CCVER): Removed unnecessary backslashes accepted
on Solaris from a sed expression to prevent incorrect behavior on
Linux.
2007-09-12 Martin Sebor <sebor@roguewave.com>
STDCXX-547
* num_get.cpp (__rw_get_stdio_fmat): Changed the type of the last
argument so std::streamsize to make it possible to pass in and
correctly handle 64-bit values and to aid in silencing 64-bit
conversion warnings at the call site. (Missed this in r574422).
2007-09-07 Mark Brown <mbrown@inbox.com>
STDCXX-493
* string (append): Replaced calls to replace() with calls to append()
to improve performance.
2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>
* build.wsf: Added optional parameter TOPDIR. Replace build
dir path and src dir path in logs to $(BUILDDIR) and $(TOPDIR)
respectively.
(removeLogClutter): New function to remove clutters from build log.
* generate.wsf (generateBuildBatch): Pass /TOPDIR parameter to
build.wsf script.
2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>
* configure.wsf (configure): Specify exactly one library
in /NODEFAULTLIB parameter of the linker.
* projectdef.js (projectCreateVCProject): The same.
2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-517
* README: Fixed a typo.
2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-516
* generate.bat: File renamed ...
* configure.bat: ... to this.
* README: "generate.bat" text replaced by "configure.bat".
2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>
* generate.wsf (readAndCheckArguments): Removed assigning
of the outDir variable to srcDir value.
2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-517
* generate.wsf: Detect values for CONFIG and BUILDDIR
parameters if they are not specified in command line.
* projectdef.js (InitVSObjects): return value indicating
the success or failure of the initialization.
* utilities.js (getCompilerOpts): Set variables to initial
state before parsing .config file.
* README: Updated text on CONFIG and BUILDDIR parameters of
the generate.bat script.
2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>
* msvc-7.0.config: Fixed descriptive comment of
VERSION variable.
2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>
* codecvt1.cpp (main): Added output of the error message
in case of exception caught.
2007-09-11 Farid Zaripov <Farid_Zaripov@epam.com>
* projectsdef.js (projectCreateVCProject): Set optimization by speed
instead of optimization by size in release builds.
2007-09-10 Martin Sebor <sebor@roguewave.com>
STDCXX-547
* num_get.cpp (__rw_get_num): Cast a wider type to a narrower one
to silence Sun C++ 64-bit conversion warnings.
* num_put.cpp (__rw_get_stdio_fmat): Changed the type of the last
argument so std::streamsize to make it possible to pass in and
correctly handle 64-bit values and to aid in silencing 64-bit
conversion warnings at the call site.
* punct.cpp (__rw_get_stdio_fmat): Same. Used the %ld formatting
directive and cast streamsize argument to long before passing it
to sprintf.
2007-09-10 Farid Zaripov <Farid_Zaripov@epam.com>
* utilities.js (expandSysMacro): New function to expand
system macros in string.
(parseConfig): Expand system macros in config variables.
2007-09-09 Farid Zaripov <Farid_Zaripov@epam.com>
* projectdef.js (projectCreateVCProject): Enable using of the
intrinsic functions in release builds.
2007-09-07 Travis Vitek <vitek@roguewave.com>
STDCXX-436
* limits.h (MB_LEN_MAX): Redefine MB_LEN_MAX if the current
value is different from the configured value.
* climits (MB_LEN_MAX): Ditto.
2007-09-07 Farid Zaripov <Farid_Zaripov@epam.com>
* src/atomic.asm: New file to define __rw_atomicxxx() functions.
* i86/atomic.asm: File renamed ...
* i86/atomic.inc: ... to this.
* i86_64/atomic.asm: File renamed ...
* i86_64/atomic.inc: ... to this.
* projects.js (CreateProjectsDefs): Removed platform dependent files
array.
* projectdef.js: InitAsmTool() function moved ...
* filterdef.js: ... to this. Removed platform dependent files
processing.
2007-09-07 Farid Zaripov <Farid_Zaripov@epam.com>
* once.cpp: Moved #pragma's from this file ...
* export.cpp: ... to this.
2007-09-07 Farid Zaripov <Farid_Zaripov@epam.com>
* atomic-cxx.S: Updated copyright notice.
* atomic.s: Ditto.
2007-09-06 Martin Sebor <sebor@roguewave.com>
STDCXX-501
* acc.config (CXXFLAGS, CPPFLAGS, LDFLAGS): Used -AA and aCC's own
C library headers by default regardless of platform (i.e., PA-RISC
as well as IPF), unless -Aa is specified in _CXXOPTS.
* libc_decl.sh (CXXFLAGS): Appended -I/usr/include only when -Aa
is specified instead of based on the compiler version.
2007-08-09 Martin Sebor <sebor@roguewave.com>
* stdexcept (invalid_argument, length_error, underflow_error,
overflow_error, out_of_range): Declared virtual ctors to prevent
them from being implicitly defined by the compiler (and to reduce
the size of object files compiled from translation units that
#include the header). See also change 553643.
* invalid_argument.cpp: Defined virtual dtor.
* length_error.cpp: Same.
* underflow_error.cpp: Same.
* overflow_error.cpp: Same.
* out_of_range.cpp: Same.
2007-09-06 Martin Sebor <sebor@roguewave.com>
* _codecvt.h (codecvt, do_always_noconv, do_encoding, do_max_length):
Outlined codecvt<char, char, mbstate_t> ctor and virtual member
functions of the codecvt<wchar_t, char, mbstate_t> specialization
to reduce the size of objects in which these functions end up getting
emitted by most (all?) compilers.
2007-09-06 Farid Zaripov <Farid_Zaripov@epam.com>
* projects.js: Added definitions of the platform dependent files.
* i86/atomic.asm: New file with definitions of the __rw_atomic_xxx()
functions for Win32 platform.
* i86_64/atomic.asm: New file with definitions of the
__rw_atomic_xxx() functions for Windows/x64 platform.
* _mutex.h: Use new __rw_atomic_xxx() functions if corresponding
InterlockedXXX() functions are not present.
[_MSC_VER >= 1400]: Use intrinsic InterlockedXXX() functions
on MSVC 8 and higher.
* once.cpp [_WIN32 && _DLL]: Tell linker to export __atomic_xxx()
functions, defined in .asm files.
2007-09-06 Farid Zaripov <Farid_Zaripov@epam.com>
* msvc-7.0.config: Added AS config variable.
* msvc-8.0-x64.config: Ditto.
* filterdef.js: Added definition of the CustomFileDef class
(AddFilterFile): Invoke custom init function if current file
is present in platform dependent file definitions array.
* projectdef.js (InitAsmTool): New function to init custom build rule
for .asm files.
* utilities.js: Read AS configuration variable from the .config file.
2007-09-06 Liviu Nicoara <nicoara@roguewave.com>
* rw/_traits.h: added cast to unsigned char
2007-09-06 Farid Zaripov <Farid_Zaripov@epam.com>
* projects.js (CreateProjectsDefs): Added echo path of clvars.bat file
to see why the system cannot find the path.
2007-09-06 Farid Zaripov <Farid_Zaripov@epam.com>
* 22.locale.messages.stdcxx-508_542.cpp: File renamed ...
* 22.locale.messages.stdcxx-542.cpp: ... to this.
2007-09-06 Farid Zaripov <Farid_Zaripov@epam.com>
* gencat.cpp (main): Resolve ambiguity of overloaded methods.
2007-09-06 Farid Zaripov <Farid_Zaripov@epam.com>
* build.wsf (BuildProject): Use FullName property instead of FileName
(to fix problem on ICC).
2007-09-06 Martin Sebor <sebor@roguewave.com>
* 24.operations.stdcxx-234.cpp: Added a regression test for STDCXX-234.
2007-09-06 Martin Sebor <sebor@roguewave.com>
STDCXX-234
* _iterbase.h (distance): Corrected function signature according
to the spec.
2007-08-30 Travis Vitek <vitek@roguewave.com>
STDCXX-532
* 22.locale.codecvt.mt.cpp: New test exercising the thread safety
of the std::codecvt facet.
2007-09-05 Farid Zaripov <Farid_Zaripov@epam.com>
* build.wsf (event_ProjectBuildFinished): Read text from all
buildlog.htm
files, which is present in output window text.
(BuildProject): Trying to fix "build.wsf(163, 14) (null): Invalid
pointer "error; rewritten logic on ICC builds.
2008-08-31 Travis Vitek <vitek@roguewave.com>
STDCXX-531
* 22.locale.messages.mt.cpp: New test exercising the thread safety
of the std::messages facet.
2007-08-28 Travis Vitek <vitek@roguewave.com>
STDCXX-413
* 22.locale.money.get (do_test): move intl param to front of param
list to avoid modifying many lines of code unnecessarily.
(test_get): update to support testing international money format,
add overload to test both local and international money formats.
2007-09-05 Travis Vitek <vitek@roguewave.com>
STDCXX-542
* catalog.cpp (catclose): check bounds before index to avoid out of
bound access.
2007-09-05 Farid Zaripov <Farid_Zaripov@epam.com>
* 22.locale.messages.stdcxx-508_542.cpp: New regression test
for STDCXX-508 and STDCXX-542 issues.
2007-09-05 Farid Zaripov <Farid_Zaripov@epam.com>
* 22.locale.messages.cpp: Removed generate_catalog() function.
Used rw_create_catalog() istead of generate_catalog().
2007-09-05 Farid Zaripov <Farid_Zaripov@epam.com>
* rw_locale.h (rw_create_catalog): New function to generate message catalog.
* locale.cpp (rw_create_catalog): Ditto.
2007-09-05 Farid Zaripov <Farid_Zaripov@epam.com>
* GNUmakefile.bin: Added gencat target.
* projects.js (CreateProjectsDefs): Added gencat utility project.
* gencat.cpp: New utility for generating the message catalogs.
2007-09-4 Travis Vitek <vitek@roguewave.com>
STDCXX-511
* 22.locale.numpunct.mt.cpp (run_test): Fatal assert if unable to
create at least one locale.
22.locale.ctype.mt.cpp (run_test): Ditto.
2007-08-28 Travis Vitek <vitek@roguewave.com>
STDCXX-528
* 22.locale.money.get.mt.cpp: New test exercising the thread safety
of the std::money_get facet.
2007-09-04 Farid Zaripov <Farid_Zaripov@epam.com>
* 22.locale.messages.cpp (test_open_close) [_WIN32]: Don't test file
descriptor leaking because the catalog functions not uses files on Win32.
(stress_test) [_WIN32]: Removed appending ".dll" because it will be
appended by Windows by default.
2007-09-04 Farid Zaripov <Farid_Zaripov@epam.com>
* 22.locale.messages.cpp (test_get): Corrected condition in "for" loop
to test all messages.
2007-08-29 Martin Sebor <sebor@roguewave.com>
* 27.filebuf.virtuals.stdcxx-522.cpp: Add the real regression
test for STDCXX-522 (not a symlink to it committed in r570898).
2007-08-29 Martin Sebor <sebor@roguewave.com>
* 27.filebuf.virtuals.stdcxx-522.cpp: Deleted a symlink.
2007-08-29 Martin Sebor <sebor@roguewave.com>
* 27.filebuf.virtuals.stdcxx-522.cpp: Regression test for STDCXX-522.
2007-08-29 Everton Araujo <everton.basso@gmail.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-522
* fstream.cc (overflow): Prevented writing junk to file when
the argument is EOF and the internal buffer is empty.
2007-08-29 Farid Zaripov <Farid_Zaripov@epam.com>
* msvc-7.0.config: Updated comment on ICCCONVERT variable.
* icc-10.0.config: Set ICCCONVERT=ICProjConvert100.exe.
* icc-10.0-x64.config: Ditto.
* projectdef.js (InitVSObjects): Updated the intel conversion
utility path detection algorithm.
2007-08-29 Farid Zaripov <Farid_Zaripov@epam.com>
* _config-icc.h: Corrected warning number.
2007-08-28 Martin Sebor <sebor@roguewave.com>
* 20.specialized.stdcxx-390.cpp: Regression test for STDCXX-390.
2007-08-28 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-515
* 27.stringbuf.xsputn.stdcxx-515.cpp: New regression test for STDCXX-515.
2007-08-28 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-515
* sstream.cc (xsputn): Correct write position after growing the buffer.
2007-08-28 Farid Zaripov <Farid_Zaripov@epam.com>
* _mutex.h [__ia64 || __x86_64]: Define set of __rw_atomic_xxx()
functions for types _RWSTD_LONG_LONG and unsigned _RWSTD_LONG_LONG.
2007-08-28 Farid Zaripov <Farid_Zaripov@epam.com>
* ia64/atomic-64.s: Updated copyright notice.
* ia64/atomic.s: Ditto.
* parisc/atomic-64.s: Ditto.
* parisc/atomic.s: Ditto.
* sparc/atomic-64.s: Ditto.
* sparc/atomic.s: Ditto.
* i86/atomic.s: Updated comments.
* i86_64/atomic.s: Updated copyright notice and comments.
2007-08-28 Travis Vitek <vitek@roguewave.com>
* 22.locale.time.get.mt.cpp: New test exercising the thread safety
of the std::time_get facet. When compiled against the latest trunk
the test crashes due to what's most likely a library bug that still
remains to be analyzed.
2007-08-27 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-462
* money-put.html: Updated example code according to real example.
* num-get.html: Ditto.
* time-get.html: Ditto.
2007-08-27 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-538
* ATOMIC_OPS.cpp: Determine the argument type of InterlockedIncrement()
only on Win32 platform.
2007-08-26 Martin Sebor <sebor@roguewave.com>
* 23.vector.bool.stdcxx-235.cpp: Regression test for STDCXX-235.
2007-08-25 Martin Sebor <sebor@roguewave.com>
* 21.string.stdcxx-162.cpp: Added a regression test for STDCXX-162.
2007-08-25 Travis Vitek <vitek@roguewave.com>
STDCXX-530
* 22.locale.num.get.mt.cpp: New test exercising the thread safety
of the std::num_get facet.
2007-08-24 Martin Sebor <sebor@roguewave.com>
STDCXX-475
* 18.exception.cpp (induce_exception): Moved local classes
to namespace scope to work around an Intel C++ 10.0 ICE on
Linux.
2007-08-23 Martin Sebor <sebor@roguewave.com>
STDCXX-344
* sunpro.config (WARNFLAGS): For Sun C++ 5.7 and beyond, enabled
diagnostic "tags" in compiler output and used -erroff to silence
Warning: std::stringstream::rdbuf hides the function std::ios::
rdbuf(std::streambuf*) and similar.
2007-08-23 Martin Sebor <sebor@roguewave.com>
* NOTICE.txt: Updated year of copyright.
2007-08-22 Martin Sebor <sebor@roguewave.com>
STDCXX-525
* mipspro.config (LDLIBS): Added libpthread to the list of libraries
to link with when pthread is in BUILDMODE to make sure it's after
libstdcxx on the link line.
(MULTI_LDFLAGS_POSIX): Removed -lpthread (wasn't last on the link
line).
2007-08-22 Martin Sebor <sebor@roguewave.com>
* README: Changed version to 4.2.0 (pre-release).
Added Disclaimer to the Index.
2007-08-22 Farid Zaripov <Farid_Zaripov@epam.com>
* projects.js (CreateProjectsDefs): Set BINDIR env variable before run
tests (used in rw_locale(), rw_localedef()).
2007-08-22 Farid Zaripov <Farid_Zaripov@epam.com>
* 21.cwchar.cpp (test_functions) [_MSC_VER]: Prevent invalid parameter
validation error by setting size to 1.
2007-08-21 Farid Zaripov <Farid_Zaripov@epam.com>
* 0.char.cpp (test_rw_widen): Added missing parameter in rw_assert().
(test_rw_narrow): The same.
2007-08-20 Farid Zaripov <Farid_Zaripov@epam.com>
* dynatype.cpp (copy): applied again changes in r544831 with
adding comment in source file (the changes prevents error
"invalid static_cast from type `const dynatype' to type `int'"
on gcc 3.4.4/Cygwin).
2007-08-20 Farid Zaripov <Farid_Zaripov@epam.com>
* dynatype.cpp (copy): This change was hasty and fixed in r567733
(was: reverted unnecessary changes in r544831).
2007-08-17 Martin Sebor <sebor@roguewave.com>
* testdefs.h [Intel C++ 10.0 and prior]: Disabled warning #279:
controlling expression is constant issued for the commonly used
statement RW_ASSERT(!"not implemented"). Works around Intel C++
bug described in STDCXX-487.
2007-08-17 Martin Sebor <sebor@roguewave.com>
* once.h [_WIN32] (_RWSTD_ONCE_INIT): Defined also for Windows.
2007-08-17 Martin Sebor <sebor@roguewave.com>
* once.h (_RWSTD_ONCE_INIT): Defined to PTHREAD_ONCE_INIT.
[_RWSTD_POSIX_THREADS, _RWSTD_NO_PTHREAD_ONCE] (__rw_once_t,
_RWSTD_ONCE_INIT): Defined in terms of pthread_mutex_t and
PTHREAD_MUTEX_INITIALIZER, respectively.
* once.cpp [_RWSTD_POSIX_THREADS, _RWSTD_NO_PTHREAD_ONCE]
(__rw_once_t): Defined in terms of pthread_mutex_lock()
and pthread_mutex_unlock().
(__rw_once_t): Consistently asserted both preconditions.
2007-08-17 Martin Sebor <sebor@roguewave.com>
STDCXX-523
* locale_classic.cpp (__rw_classic): New. Namespace-scope buffer
backing the classic locale object.
(__rw_classic_once_init): New. One-time initialization flag for
the classic locale object.
(__rw_init_classic): New. One-time initialization function for
the classic locale object.
(classic): Used __rw_once() to initialize the classic locale
object.
2007-08-16 Martin Sebor <sebor@roguewave.com>
* 22.locale.statics.mt.cpp: New test exercising the thread safety
of [lib.locale.statics].
2007-08-15 Martin Sebor <sebor@roguewave.com>
* src/locale.cpp (rw_locales): Fixed up bad formatting introduced
in r565991.
* 22.locale.money.put.mt.cpp (thread_func): Ditto.
* 22.locale.num.put.mt.cpp (put_data): Fixed up indentation and
formatting. Renamed template parameter for consistency. Added
a missing template argument.
(thread_func, run_test): Fixed up formatting.
2007-08-14 Travis Vitek <vitek@roguewave.com>
* rw_locale.h (rw_locales): Added new parameter to indicate the
"C" locale should appear at the front of returned locale list.
* locale.cpp (rw_locales): Added support for new parameter.
* testdefs.h: Added convenience macro RW_COUNT_OF that can beused
to get the number of elements in an array.
* 22.locale.money.put.mt.cpp (MyIos, MyStreambuf, MyMoneyData):
Added structures to simplify testing.
(run_test): Build a table of in/outptus for verification in test
threads.
(thread_func): Assert the data written matches expected.
(main): Add support for --nlocales and --shared-locale command
line arguments
* 22.locale.num.put.mt.cpp (MyIos, MyStreambuf, MyNumData): Added
structures to simplify testing.
(run_test): Build a table of in/outptus for verification in test
threads.
(thread_func): Assert the data written matches expected.
(main): Add support for --nlocales and --shared-locale command
line arguments
* 22.locale.time.put.mt.cpp (run_test, thread_func): Use macro
RW_COUNT_OF. Remove "C" locale fallback. Eliminate unnecessary
rdbuf() calls.
2007-08-14 Martin Sebor <sebor@roguewave.com>
* EXTERN_C_EXCEPTIONS.cpp: New config test to determine whether
it's possible to throw exceptions from functions with C language
linkage.
2007-08-14 Martin Sebor <sebor@roguewave.com>
* 18.csetjmp.cpp: New test exercising [support.runtime], header
<csetjmp>, including STDCXX-513.
* 18.setjmp.cpp: New test exercising [support.runtime], (deprecated)
header <setjmp.h>.
2007-08-14 Martin Sebor <sebor@roguewave.com>
* GNUmakefile: Added an Apache license header and Rogue Wave
copyright statement. Shortened pound-comments to not exceed
72 characters per line.
2007-08-14 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.exm: Added Apache license header and a Rogue Wave
copyright statement.
* GNUmakefile.exm: Same.
* GNUmakefile.cfg: Same.
* GNUmakefile.lib: Same.
* GNUmakefile.ph: Same.
* GNUmakefile.bin: Same.
* GNUmakefile.tst: Same.
* GNUmakefile.rwt: Same.
* makefile.common: Same.
* makefile.rules: Same.
(makedep): Replaced a TAB with spaces.
2007-08-14 Martin Sebor <sebor@roguewave.com>
STDCXX-521
* makefile.rules (makedep): Set the "local" shell variable depflags
to the value of $(DEPENDLFAGS) when the GNU make $(value) function
yields the empty string (as a result of GNU make 3.79 bug).
2007-08-13 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-519
* fmtflags_manip.cpp (fmtflags_manip): Use value
initialization to workaround MSVC 7.1 bug.
2007-08-13 Farid Zaripov <Farid_Zaripov@epam.com>
* char.cpp (rw_widen): Don't write after end of dst.
2007-08-13 Farid Zaripov <Farid_Zaripov@epam.com>
* char.cpp (rw_widen): Don't write after end of dst.
2007-08-13 Farid Zaripov <Farid_Zaripov@epam.com>
* _defs.h: Quote assert.h and setjmp.h pathnames
in order to prevent the corresponding macro
expanding in the #include directive.
2007-08-12 Martin Sebor <sebor@roguewave.com>
* 22.locale.time.put.mt.cpp (thread_func): Fixed up formatting and
used '\0' and L'\0' in place of char() and wchar_t() for simplicity.
(run_test): Same. Moved code that can't throw outside a try block.
Printed out the number of locales in addition to their names.
2007-08-10 Travis Vitek <vitek@roguewave.com>
* 22.locale.time.put.mt.cpp (MyIos, MyStreambuf, MyTimeData): Added
structures to simplify testing.
(run_test): Build table of in/outputs for verification in test threads.
(thread_func): Assert that data written matches expected.
(main): Add command line options for specifying number of locales,
locale names, and locale usage.
2007-08-12 Farid Zaripov <Farid_Zaripov@epam.com>
* projectdef.js: Enable RTTI by default.
* projects.js: Ditto. Disable RTTI for projects
in NonRTTIProjects array.
2007-08-12 Farid Zaripov <Farid_Zaripov@epam.com>
* 21.cwchar.cpp: Define long long overloads of get_type_name()
(fixes compilation problem on MSVC-x64).
2007-08-10 Farid Zaripov <Farid_Zaripov@epam.com>
* _mutex.h (__rw_atomic_preincrement) [_WIN32]: Cast __x to int& instead of long&
to use InterlockedIncrement() optimized function instead of generic one using
critical sections.
2007-08-10 Farid Zaripov <Farid_Zaripov@epam.com>
* exec.cpp (fttoull) [_WIN32]: New function to convert from
FILETIME to ULONGLONG.
(exec_file) [_WIN32]: Get kernel time and user time of the child
process using GetProcessTimes().
Map STATUS_FLOAT_STACK_CHECK to SIGSTKFLT signal instead of SIGFPE.
2007-08-10 Farid Zaripov <faridz@apache.org>
* num_get.cpp (__rw_ldbl_infinity): Guarded with _RWSTD_NO_LONG_DOUBLE.
2007-08-10 Martin Sebor <sebor@roguewave.com>
STDCXX-509
* num_get.cpp (__rw_flt_infinity, __rw_dbl_infinity,
__rw_ldbl_infinity): Declared constants with C language
linkage as in r564059.
2007-08-09 Farid Zaripov <Farid_Zaripov@epam.com>
* 27.stringbuf.str.stdcxx-514.cpp: New regression test from STDCXX-514 issue.
2007-08-09 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-514
* sstream.cc (str): Take ownership of the allocated buffer a bit
later to avoid deallocation of the external buffer.
2007-08-09 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-513
* csetjmp: #define setjmp macro if it's not #defined.
2007-08-09 Martin Sebor <sebor@roguewave.com>
STDCXX-509
* limits (__rw_flt_denorm_min, __rw_flt_infinity, __rw_flt_qNaN,
__rw_flt_sNaN, __rw_dbl_denorm_min, __rw_dbl_infinity, __rw_dbl_qNaN,
__rw_dbl_sNaN, __rw_ldbl_denorm_min, __rw_ldbl_infinity, __rw_ldbl_qNaN,
__rw_ldbl_sNaN): Declared floating point constants with "C" language
linkage to prevent "clever" compilers such as MSVC from mangling their
type into their names and to permit them to be defined with different
types.
* limits_bits.cpp (__rw_flt_denorm_min, __rw_flt_infinity,
__rw_flt_qNaN, __rw_flt_sNaN, __rw_dbl_denorm_min, __rw_dbl_infinity,
__rw_dbl_qNaN, __rw_dbl_sNaN, __rw_ldbl_denorm_min, __rw_ldbl_infinity,
__rw_ldbl_qNaN, __rw_ldbl_sNaN): Defined as statically (i.e., at load
time as opposed to dynamically, at runtime) initialized unions, backed
by the appropriate byte patterns, with "C" language linkage to permit
the defintions to have a different type than the declarations.
(__rw_flt_denorm_min_bits, __rw_flt_infinity_bits, __rw_flt_qNaN_bits,
__rw_flt_sNaN_bits, __rw_dbl_denorm_min_bits, __rw_dbl_infinity_bits,
__rw_dbl_qNaN_bits, __rw_dbl_sNaN_bits, __rw_ldbl_denorm_min_bits,
__rw_ldbl_infinity_bits, __rw_ldbl_qNaN_bits, __rw_ldbl_sNaN_bits):
Removed.
2007-08-08 Farid Zaripov <Farid_Zaripov@epam.com>
* cmdopt.cpp [_WIN32]: Set TICKS_PER_SEC = CLOCKS_PER_SEC.
* exec.cpp [_WIN32]: Added mappings of the STATUS_STACK_BUFFER_OVERRUN.
Translate wall time value from 100ns units to clocks.
2007-08-08 Farid Zaripov <Farid_Zaripov@epam.com>
* exec.cpp [_WIN32]: Added mappings of the STATUS_STACK_OVERFLOW and
STATUS_INVALID_PARAMETER.
2007-08-08 Martin Sebor <sebor@roguewave.com>
* 18.limits.cvqual.cpp (test_limits): Exercised quiet NAN.
2007-08-08 Martin Sebor <sebor@roguewave.com>
* limits (_RWSTD_FLT_SNAN, _RWSTD_DBL_SNAN, _RWSTD_LDBL_SNAN):
Removed macro vestiges.
(__rw_flt_sNaN, __rw_dbl_sNaN, __rw_ldbl_sNaN): Declared
unconditionally.
2007-08-08 Martin Sebor <sebor@roguewave.com>
* limits (_RWSTD_FLT_INFINITY, _RWSTD_FLT_QNAN, _RWSTD_FLT_SNAN,
_RWSTD_FLT_DENORM_MIN): Removed macro definitions and replaced
their uses with the actual symbols).
(_RWSTD_DBL_INFINITY, _RWSTD_DBL_QNAN, _RWSTD_DBL_SNAN,
_RWSTD_DBL_DENORM_MIN, _RWSTD_LDBL_INFINITY, _RWSTD_LDBL_QNAN,
_RWSTD_LDBL_SNAN, _RWSTD_LDBL_DENORM_MIN): Same.
2007-08-07 Martin Sebor <sebor@roguewave.com>
* graph.cpp: Simplified in an (unsuccessful) effort to eliminate
gcc -Winline warnings.
(stringVector, graph): Used default template arguments for similicity
and renamed to Distances and Cities, respectively.
(main): Moved global variables into local scope, changing strings to
const char arrays for simplicity and efficiency. Replaced std::endl
with '\n' for efficiency.
2007-08-07 Martin Sebor <sebor@roguewave.com>
* dynatype.cpp (get): Outlined to silence gcc -Winline warnings.
(dynatype, operator=): Same.
2007-08-07 Martin Sebor <sebor@roguewave.com>
* once.h: New implementation-private header. Declares __rw_once_t
and __rw_once() for portable, thread-safe one-time initialization.
* once.cpp: New. Defines the above.
2007-08-07 Martin Sebor <sebor@roguewave.com>
* 23.vector.allocator.cpp: New test exercising the ability of vector
to be instantiated on a user-defined Allocator with a user-defined
pointer type.
2007-08-07 Martin Sebor <sebor@roguewave.com>
* vector.cc (__rw_insert_range): Used predecrement even with pointers
instead of preincrement for efficiency when pointer is a user-defined
type.
2007-08-07 Farid Zaripov <Farid_Zaripov@epam.com>
* runall.wsf (runAllExamples): Removed quotes around exec.exe. Lowered timeout to 100 ms.
2007-08-07 Farid Zaripov <Farid_Zaripov@epam.com>
* projects.js (CreateProjectsDefs): Fixed bug with deleting original
rwtest.dll when solution was generated with /COPYDLL:yes.
2007-08-06 Martin Sebor <sebor@roguewave.com>
STDCXX-510
* locale.cpp (rw_opt_setlocales): Added option help.
2007-08-06 Martin Sebor <sebor@roguewave.com>
* ChangeLog: Updated, keeping original TABs.
2007-08-03 Mark Brown <mark.g.brown@gmail.com>
Farid Zaripov <faridz@apache.org>
STDCXX-491
* string (push_back): Moved definition outside the basic_string class
template and optimized so as to call append() only when reallocation
is necessary.
2007-08-03 Martin Sebor <sebor@roguewave.com>
* cmdopt.cpp (parse_limit_opts): Silenced silly MSVC "performance"
warnings about converting int to bool.
2007-08-03 Martin Sebor <sebor@roguewave.com>
* util.cpp (DEV_NULL): Defined macro.
(input_name): Used it.
2007-08-03 Farid Zaripov <Farid_Zaripov@epam.com>
* runall.wsf (runAllExamples): Run command using cmd.exe with
redirecting stderr to stdout to avoid deadlocks.
2007-08-02 Andrew Black <ablack@roguewave.com>
* exec.cpp [_WIN32] (exec_file): Fix incorrect variable name in
conditionally compiled code, introduced in http://svn.apache.org/viewvc?view=rev&rev=562224
2007-07-26 Martin Sebor <sebor@roguewave.com>
* display.h (print_footer): Added an argument for the total number
of programs processed by the utility.
* display.cpp (print_target_verbose): Print stdin, stdout, and stderr
redirectiopn.
(print_status_verbose): Justified output.
(print_footer_plain): Printed the total number of programs processed
by the utility and avoided printing assertion totals unless they're
valid.
(print_footer_verbose): Added an argument.
* target.h (target_opts): Added infname and outfname members.
* util.h (input_name): Declared.
* util.cpp (input_name): Defined to parallel output_name().
* exec.cpp (open_input): Removed.
(exec_file): Used target_opts::infname and target_opts::outfname.
* runall.cpp (run_target): Called input_name() and output_name()
to set the names of files to redirect input and output from and
to, respectively.
Avoided printing out assertion totals when they're not valid.
2007-07-31 Farid Zaripov <Farid_Zaripov@epam.com>
* 22.locale.messages.cpp (test_open_close): Use default locale if loc_name==0.
(test_get): The same.
2007-07-31 Farid Zaripov <Farid_Zaripov@epam.com>
* makefile.rules: Removed double exporting of the TMP variable.
* projects.js: Set TOPDIR env variable before running tests.
2007-07-30 Farid Zaripov <Farid_Zaripov@epam.com>
* locale.cpp (rw_locales): On error return "C\0" instead of 0.
[_MSC_VER]: Use _free_dbg() instead of free().
2007-07-30 Farid Zaripov <Farid_Zaripov@epam.com>
* GNUmakefile.exm: Set TZ environment variable only for examples.
* makefile.rules: Determine cygwin using PLATFORM variable.
[CYGWIN]: Add $(BINDIR) to PATH.
2007-07-29 Martin Sebor <sebor@roguewave.com>
* display.cpp (print_header): Defined function pointer using
the array notation just as is done in the declaration of the
object to work around what looks like a bug in the Intel C++
compiler on Windows.
2007-07-29 Farid Zaripov <Farid_Zaripov@epam.com>
* thread.cpp [_WIN32]: Use _beginthreadex() only if _MT defined.
2007-07-27 Farid Zaripov <Farid_Zaripov@epam.com>
* cwchar: _RWSTD_NO_TM replaced with _RWSTD_NO_STRUCT_TM.
Added using ::tm after #including _RWSTD_ANSI_C_TIME_H.
2007-07-27 Farid Zaripov <Farid_Zaripov@epam.com>
* gcc.config [__CYGWIN__]: Added -D_REENTRANT option in
multithreaded builds. Don't define AS_EXT as .s.
* atomic.s [__CYGWIN__]: Prepend symbol names by '_'.
2007-07-26 Martin Sebor <sebor@roguewave.com>
* display.h (short_st_name): Removed declaration.
(print_header, print_footer): Added an argument.
* display.cpp (short_st_name): Moved to the top of file.
(verbose_st_name): New array to parallel short_st_name.
(print_argv): New.
(print_header_plain): Added an (unused) argument.
(print_header_verbose, print_target_verbose, print_status_verbose):
New handlers for verbose output.
(print_target_plain): Asserted a precondition.
(print_footer_plain): Added an argument and printed out summary
information.
(set_output_format): Defined.
* exec.cpp (open_input): Allowed data_dir to be null.
* cmdopt.cpp (eval_options): Set defaults to all 0. Handled
the -v (verbose) option.
* output.cpp (parse_output): Allowed data_dir to be null.
* util.cpp (reference_name): Allowed data_dir to be null.
* target.h (target_opts): Added a verbose member.
* runall.cpp (merge_argv): Corrected constness of argument.
(run_target): Added a new argument and incremented summary data.
(main): Removed default timeout of 10 seconds.
Called set_output_format().
Passed argument to print_header() and print_footer().
2007-07-26 Farid Zaripov <Farid_Zaripov@epam.com>
* utilities.js: Added global variable EXEC_TIMEOUT = 300 seconds.
* projectdef.js: Removed execTimeout variable, instead used EXEC_TIMEOUT.
* runall.wsf: Removed /COMPAT option, added /RUNFLAGS option.
* projects.js: Added proper /RUNFLAGS:... to runExamples, runTests,
testLocale projects.
2007-07-26 Farid Zaripov <Farid_Zaripov@epam.com>
* thread.cpp (rw_thread_create) [_WIN32]: Use _beginthreadex() instead of CreateThread().
2007-07-25 Martin Sebor <sebor@roguewave.com>
* cmdopt.cpp (eval_options): Added inline comments.
2007-07-25 Martin Sebor <sebor@roguewave.com>
* 26.valarray.cassign.cpp: New test exercising [lib.valarray.cassign],
valarray computed assignment operators.
2007-07-25 Farid Zaripov <Farid_Zaripov@epam.com>
* 21.string.stdcxx-466.cpp: Corrected tests for find_first_not_of() and find_last_not_of().
* 21.string.find.first.not.of.cpp: Test updated to reflect changes from r559037.
* 21.string.find.first.of.cpp: Ditto.
* 21.string.find.last.not.of.cpp: Ditto.
* 21.string.find.last.of.cpp: Ditto.
2007-07-25 Farid Zaripov <Farid_Zaripov@epam.com>
* cmdopt.cpp [_WIN32]: #define RLIMIT_AS (for limit process memory on Windows).
* exec.cpp (exec_file) [_WIN32]: Create process in suspended state.
Limit process memory if needed. Set start time as time before resuming process.
2007-07-25 Farid Zaripov <Farid_Zaripov@epam.com>
* 22.locale.cons.stdcxx-485.cpp: Moved to tests/regress directory.
* 21.string.replace.stdcxx-175.cpp: Ditto.
* 21.string.stdcxx-466.cpp: Ditto.
2007-07-24 Travis Vitek <vitek@roguewave.com>
STDCXX-502
* valarray (valarray, operator=): Updated local variable names
to meet conventions and get test 17.names passing again.
2007-07-24 Farid Zaripov <Farid_Zaripov@epam.com>
* 21.string.stdcxx-466.cpp: Corrected file name in file header.
* 21.string.replace.stdcxx-175.cpp: New regression test for STDCXX-175.
2007-07-24 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-175
* string.cc (replace): Throw std::length_error() if __n2 > max_size().
2007-07-24 Farid Zaripov <Farid_Zaripov@epam.com>
* string (replace): Corrected function name in _RWSTD_FUNC() macro.
* string.cc (replace): Ditto.
2007-07-24 Farid Zaripov <Farid_Zaripov@epam.com>
* 21.string.rfind.stdcxx-466.cpp: Added testing of find(), find_first_of(),
find_last_of(), find_first_not_of(), find_last_not_of(), compare() methods.
File renamed ...
* 21.string.stdcxx-466.cpp: ... to this.
2007-07-24 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-466
* string.cc (find_first_of): Don't throw std::length_error() if n > max_size().
(find_first_of): Ditto.
(find_last_of): Ditto.
(find_first_not_of): Ditto.
(find_last_not_of): Ditto.
2007-07-23 Martin Sebor <sebor@roguewave.com>
* process.cpp (__PURE_CNAME): Removed Compaq C++ preprocessor guard.
* thread.cpp (__PURE_CNAME): Removed an #undef (done in <testdefs.h>
in r558120).
2007-07-23 Farid Zaripov <Farid_Zaripov@epam.com>
* 27.istream.manip.cpp (test_ws): ws() shouldn't affect the gcount() value;
if initial state is not good, the result state should be state | failbit.
2007-07-23 Farid Zaripov <Farid_Zaripov@epam.com>
* 21.string.rfind.stdcxx-466.cpp: New regression test for STDCXX-466.
2007-07-20 Martin Sebor <sebor@roguewave.com>
* testdefs.h (__PURE_CNAME): Undefined the Compaq C++ macro #defined
in response to the -std strict_ansi_errors compiler option in order
to allow C++ extensions (such POSIX names) to be declared by C++ libc
headers when building the test driver.
2007-07-19 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-466
* string.cc (rfind): Don't throw std::length_error() if n > max_size().
2007-07-19 Farid Zaripov <Farid_Zaripov@epam.com>
* 27.istream.unformatted.get.cpp: Update test according to changes in r423404.
2007-07-19 Farid Zaripov <Farid_Zaripov@epam.com>
* rw_streambuf.h (MyStreambuf): Init throw_when_ array using when parameter.
2007-07-19 Martin Sebor <sebor@roguewave.com>
* 22.locale.ctype.mt.cpp: New test exercising the thread safety
of the member functions narrow() and widen() of the two required
specializations of the ctype facet.
2007-07-19 Farid Zaripov <Farid_Zaripov@epam.com>
* 0.new.cpp: Removed handling of the SIGSEGV signal.
Skip all tests if _RWSTD_NO_REPLACEABLE_NEW_DELETE macro #defined.
2007-07-19 Martin Sebor <sebor@roguewave.com>
* rw_locale.h (rw_get_wchars): Declared a new function to find
a set of (valid or invalid) wide characters in the current locale.
* locale.cpp (rw_get_wchars): Defined.
2007-07-19 Martin Sebor <sebor@roguewave.com>
* rw_locale.h: Added comments, commented out function formal
arguments.
2007-07-18 Martin Sebor <sebor@roguewave.com>
* locale.cpp (<rw_printf.h>, <errno.h>): Removed #include directives.
(PATH_MAX): Redefined to 1024 when it's too small or excessively big.
(<driver.h>): #included for rw_note() and rw_warn().
(rw_locale): Used the BINDIR macro instead of hardcoding its value.
(rw_localedef): Same. Also replaced fprintf() with rw_error().
(rw_locale_root): Used PATH_MAX as index instead of hardcoding
an arbitrary value.
(rw_set_locale_root): Same. Replaced rw_fprintf() and perror() with
rw_note() and rw_error(), respectively.
(rw_get_mb_chars, rw_find_mb_locale): Replaced rw_fprintf() with
rw_note() or_rw_warn(), whichever was appropriate, and a hardcoded
arbitrary value with PATH_MAX.
(rw_create_locale): Replaced a hardcoded arbitrary value with PATH_MAX
and fprintf() with rw_error().
2007-07-18 Martin Sebor <sebor@roguewave.com>
* printf.cpp (rw_sprintf): Copied the entire string including
the terminating NUL to the destination buffer.
2007-07-18 Martin Sebor <sebor@roguewave.com>
* _ctype.h (ctype<wchar_t>): Moved definitions of public members
above those of protected virtual functions and removed an outdated
comment explaining the unusual class layout.
2007-07-18 Martin Sebor <sebor@roguewave.com>
* 22.locale.globals.mt.cpp (test_has_facet): Exercised has_facet
specializations on _byname facets only when not disabled on the
command line.
Added comments throughout.
2007-07-17 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp (TEST_SPEC): Removed the const quialifier from
a local variable declaration to silence the pesky Intel C++
warning #279: controlling expression is constant.
2007-07-17 Martin Sebor <sebor@roguewave.com>
* 22.locale.cons.stdcxx-485.cpp: Called rw_locales() to obtain
the set of installed locales to use. Introduced a dependency on
rw_test() required in order to be able to call rw_locales().
2007-07-17 Martin Sebor <sebor@roguewave.com>
* 22.locale.cons.stdcxx-485.cpp: New regression test for STDCXX-485.
2007-07-17 Martin Sebor <sebor@roguewave.com>
STDCXX-486
* time_put.cpp (tzset): Added throw() to the declaration.
2007-07-16 Farid Zaripov <Farid_Zaripov@epam.com>
* wchar.h (swprintf): Avoided declaring function for all MSVC's.
2007-07-13 Martin Sebor <sebor@roguewave.com>
STDCXX-485
* locale_body.cpp (_C_manage): Reset the capacity of the locale
buffer to the capacity of the statically allocated buffer after
its size shrinks below that level.
2007-07-13 Martin Sebor <sebor@roguewave.com>
* wchar.h (mbrtowc): Changed return type from wchar_t (introduced
in r554281 to address STDCXX-472) to size_t.
2007-07-13 Farid Zaripov <Farid_Zaripov@epam.com>
* fmt_bits.cpp (_rw_fmtlasterror): Cast pmsg to const char* to avoid MSVC error.
2007-07-12 Martin Sebor <sebor@roguewave.com>
* fmt_defs.h (_rw_fmtlasterror): Declared new function to format
Windows GetLastError() messages.
* fmt_bits.cpp (_rw_fmtlasterror): Defined.
* printf.cpp (_rw_vasnprintf_ext): Called _rw_fmtlasterror() to process
the %{E} directive. Set spec.param.int_ to the argument value in the
the %{m} directive handler to allow it to be referenced in subsequent
paramno directives.
2007-07-12 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp (test_errno): Exercised %{m} and %{*m} with errno of 0.
2007-07-12 Martin Sebor <sebor@roguewave.com>
* makefile.rules (makedep): Quoted the definition of the shell variable
depflags in case it contains spaces (as it does when using acc.config)
to correct a regression introduced in r555061 made to address issue
STDCXX-481.
2007-07-12 Farid Zaripov <Farid_Zaripov@epam.com>
* exec.cpp [WIN32]: Added map between NT_STATUS values and UNIX signals.
(exec_file) [WIN32]: Translate exit code to signal value using map.
* runall.cpp [WIN32]: Removed #include'ing of signal.h and windows.h.
2007-07-11 Martin Sebor <sebor@roguewave.com>
* wchar.h (swprintf): Corrected a nonconforming signature, introduced
in r554281 to address STDCXX-472, to one taking size_t as the second
argument.
(mbrlen): Corrected signature to take const char* as the first argument.
2007-07-11 Martin Sebor <sebor@roguewave.com>
* acc.config (CXX): Removed the assumption introduced in r543687
made to addressSTDCXX-434 that the version number is followed by
a timestamp (or anything at all) since in versions prior to aCC
6.13 (and whatever the equivalent ends up being on PA), it's not.
2007-07-11 Farid Zaripov <Farid_Zaripov@epam.com>
* ctype.cpp (do_narrow): Return ch instead of dfault if conversion table not defined.
2007-07-11 Farid Zaripov <Farid_Zaripov@epam.com>
* runall.wsf: Added processing of FORMAT, NOUT, TRAP status.
2007-07-11 Farid Zaripov <Farid_Zaripov@epam.com>
* exec.cpp (exec_file) [_WIN32]: Translate STATUS_BREAKPOINT exit code into SIGTRAP.
2007-07-10 Martin Sebor <sebor@roguewave.com>
* 22.locale.globals.mt.cpp (opt_facets, opt_no_exceptions): Flags
flags for the new command line options --enable/disable-<facet>
and --no-exceptions.
(test_has_facet, test_use_facet): Disabled/enabbled tests of
individual facets in response to command line options.
(run_test): When a facet is explicitly enabled using a command
line option disabled all the rest that weren't also explicitly
enabled.
(main): Added command line options and "handlers."
2007-07-10 Martin Sebor <sebor@roguewave.com>
* thread.cpp (rw_get_cpus): Used _SC_NPROCESSORS_ONLN when #defined.
2007-07-10 Martin Sebor <sebor@roguewave.com>
* thread.cpp (rw_get_cpus): Used sysconf() to try to determine
the number of processors programmatically for efficiency before
invoking a shell script to read system files.
2007-07-10 Martin Sebor <sebor@roguewave.com>
STDCXX-482
* LIMITS.cpp (compute_limits): Used the first argument to pass in
a pointer to a value for the function to use in integer arithmetic
involving (signed) overflow which with some aggressive optimizers
such as Sun Studio 12 aka Sun C++ 5.9 leads to undefined behavior.
(main): Introduced MKLIMITS() macro for convenience.
2007-07-10 Michael van der Westhuizen <r1mikey@gmail.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-470
STDCXX-479
STDCXX-481
* sunpro.config (CCMAJOR, CCMINOR): New variables for the major
and minor version of the compiler.
(DEPENDFLAGS.cpp, DEPENDFLAGS.S): New variables for compiler options
to generate makefile dependencies from C++ and assembly source files,
respectively.
(wide_flags): Set to -m64 for Sun C++ 5.9 and beyond, and for 5.8
and prior to -xarch=v9 on SPARC and to -xarch=amd64 on AMD64.
(narrow_flags): Set to -m32 for Sun C++ 5.9 and beyond, and for C++
5.8 and prior to -xarch=v8 on SPARC, -xarch=386 on AMD64, and to
-xarch=generic otherwise.
* makefile.rules (makedep): Used DEPENDFLAGS$(depsuffix) to set
compiler options to generate makefile dependencies.
(depsuffix): Defined a target-specific variable to the suffix of
the first prerequisite of the %.d pattern rule used to generate
makefile dependencies.
(DEPENDFLAGS, DEPENDFLAGS.cpp, DEPENDFLAGS.S, DEPENDFLAGS.s): Set
appropriately when not defined or empty, and guarded .d: %.cpp and
%.d: %$(AS_EXT) pattern rules.
(GNUmakefile.cfg): Commented out make variables whose names do not
form valid shell variable names (i.e., those containing periods)
from the gernerated vars.sh file.
* GNUmakefile (DEPENDFLAGS, DEPENDFLAGS.cpp, DEPENDFLAGS$(AS_EXT):
Wrote definitions to the generated makefile.in.
2007-07-10 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-508
* catalog.cpp (catopen): while() loop replaced to for() loop
with checking for max iterations.
2007-07-10 Farid Zaripov <Farid_Zaripov@epam.com>
* icc-10.0-x64.config: Added svn:eol-style = native, svn:keywords = Id properties.
* icc-10.0.config: The same.
2007-07-09 Andrew Black <ablack@roguewave.com>
* icc-10.0-x64.config: Add (untested) config file for the 64-bit Intel
10.0 compiler for Windows.
* icc-10.0.config: Add (untested) config file for the 32-bit Intel
10.0 compiler for Windows.
2007-07-09 Martin Sebor <sebor@roguewave.com>
* atomic_xchg.cpp (run_test): Documented algorithm used to compute
the expected value of the shared variable manipulated by threads.
2007-07-09 Farid Zaripov <Farid_Zaripov@epam.com>
* projects.js (CreateProjectsDefs): Turn on RTTI for rwtest project.
2007-07-09 Martin Sebor <sebor@roguewave.com>
* wchar.h (swprintf): Avoided declaring function for MSVC 8 so as
not to cause a collision with the compiler's own horribly hacked up
declaration.
2007-07-09 Farid Zaripov <Farid_Zaripov@epam.com>
* makefile.rules: Set TZ environment variable (needed by examples).
2007-07-09 Martin Sebor <sebor@roguewave.com>
* wchar.h (wmemcmp): Corrected declaration introduced in r554281
to address STDCXX-472.
2007-07-08 Martin Sebor <sebor@roguewave.com>
STDCXX-478
* locale_eq.cpp (operator==): Removed the assumption that the same
user-defined facets must be stored at the same index in the array
in order for two locales in which they are installed to compare
equal.
2007-07-08 Martin Sebor <sebor@roguewave.com>
STDCXX-477
* locale_eq.cpp (operator==): Considered the names of locales when
all their standard and byname facet masks are the same and all their
facet pointers are the same.
2007-07-08 Martin Sebor <sebor@roguewave.com>
* driver.cpp [Linux] (UTS_RELEASE): Removed conditionally-defined
helper macro in favor of _RWSTD_LINUX_RELEASE.
(__x86_64__): Moved check above __amd64__ and other x86 arches
whose macros are always defined (e.g., __pentiumpro__).
2007-07-08 Martin Sebor <sebor@roguewave.com>
* UNAME.cpp (print_os_version): Factored OS-specific code from main
into here.
(print_linux_release): New function to determine the release of Linux
from /etc/xxx-release and #define the _RWSTD_LINUX_RELEASE macro.
2007-07-08 Martin Sebor <sebor@roguewave.com>
STDCXX-395
* etc/config/src/LIMITS.cpp (_RWSTD_WCHAR_T_MAX, _RWSTD_WCHAR_T_MIN,
_RWSTD_WCHAR_T_SIZE): Renamed to _RWSTD_WCHAR_MAX, _RWSTD_WCHAR_MIN,
and _RWSTD_WCHAR_SIZE, respectively, for consistency with the libc
macros.
* tests/src/locale.cpp: Same.
* tests/src/char.cpp: Same.
* tests/src/printf.cpp: Same.
* tests/localization/22.locale.codecvt.out.cpp: Same.
* tests/self/0.printf.cpp: Same.
* include/limits: Same.
* include/tr1/cstdint: Same.
* include/ansi/_cwchar.h: Same.
* src/wctype.cpp: Same.
* src/wcodecvt.cpp: Same.
* util/ctype.cpp: Same.
* util/charmap.cpp: Same.
2007-07-08 Martin Sebor <sebor@roguewave.com>
STDCXX-474
* valarray (slice_array): Renamed the implementation-specific member
get_slice() to _C_get_slice() to prevent it from clashing with macros
of the same name in the user namespace.
(gslice_array): Same.
(mask_array): Renamed get_array() and get_array_pt() to _C_get_array()
and _C_get_array_ptr() for the same reason as above.
(indirect_array): Same.
(__rw_unary_function, __rw_binary_function): Same.
2007-07-07 Martin Sebor <sebor@roguewave.com>
STDCXX-472
* wchar.h (WCHAR_MAX, WCHAR_MIN): #defined macros when they're not
#defined in the system header.
(mbstate_t): Defined typedef when not defined in system header.
(fwprintf, fwscanf, swprintf, swscanf, vfwprintf, vfwscanf, vwprintf,
vwscanf, mbrlen, mbrtowc, mbsinit, mbsrtowcs, wcrtomb, wcsrtombs,
wcschr, wcsrchr, wcsstr, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset,
wprintf, wscanf): Declared functions (including C++ overloads wherever
appropriate) when not declared in system header.
2007-07-07 Martin Sebor <sebor@roguewave.com>
STDCXX-125
* wchar.h (wctob): Added a declaration for wctob() when it's not
provided in the system header.
2007-07-06 Martin Sebor <sebor@roguewave.com>
* ctype_bits.cpp (_RWSTD_NO_V3_LOCALE): Removed unnecessary guards
and replaces references to _V3_LOCALE with _STD and std, whichever
is appropriate.
* time_get.cpp: Same.
* iso2022.cpp: Same.
* wctype.cpp: Same.
* iso2022.h: Same.
* locale_bits.cpp: Same.
* locale_eq.cpp: Same.
* codecvt.cpp: Same.
* locale_name.cpp: Same.
* locale_classic.cpp: Same.
* locale_core.cpp: Same.
* wcodecvt.cpp: Same.
* locale_global.cpp: Same.
* locale_body.h: Same.
* locale_combine.cpp: Same.
2007-07-06 Martin Sebor <sebor@roguewave.com>
* _facet.h (_V3_LOCALE): Replaced a vestige from stdcxx 2 with _STD.
(_C_factory_f): Removed unused typedef.
2007-07-06 Martin Sebor <sebor@roguewave.com>
STDCXX-469
* _facet.h (__rw_facet): Declared ctor and dtor protected.
2007-07-06 Martin Sebor <sebor@roguewave.com>
* mman.h: Header with declarations of portability helper functions
for the manipulation of memory mapped files.
* mman.cpp: Definitions of the said helpers.
* facet.cpp (__rw_mmap, __rw_unmmap): Moved functions to mman.cpp.
2007-07-06 Farid Zaripov <Farid_Zaripov@epam.com>
* sstream.cc (xsputn): __off declared as _RWSTD_PTRDIFF_T (was int).
2007-07-06 Farid Zaripov <Farid_Zaripov@epam.com>
* sstream.cc (xsputn): Allow to pass internal buffer as method parameter.
2007-07-06 Farid Zaripov <Farid_Zaripov@epam.com>
* 27.stringbuf.virtuals.cpp: #define EOF as unique value;
(test_virtual): Assign arg0 and ret_expect to Traits::eof() if EOF passed.
2007-07-05 Martin Sebor <sebor@roguewave.com>
* use_facet.h (_RWSTD_DEFINE_FACET_FACTORY): Documented macro
and "constified" a local variable in its definition.
2007-07-05 Martin Sebor <sebor@roguewave.com>
* stdexcept (range_error, domain_error, runtime_error): Declared
virtual destructors instead of relying on the compiler to generate
them automatically to avoid generating the class vtable in every
translation unit that uses each of the classes.
* range_error.cpp: Defined range_error destructor.
* domain_error.cpp: Defined domain_error destructor.
* runtime_error.cpp: Defined runtime_error destructor.
2007-07-05 Martin Sebor <sebor@roguewave.com>
STDCXX-457
* limits.c: Updated license statement.
* valarray.c: Ditto.
* deque.c: Ditto.
* rw/_tree.c: Ditto.
* rw/_algobase.c: Ditto.
* rw/_heap.c: Ditto.
* rw/_basic_ios.c: Ditto.
* rw/_ioinsert.c: Ditto.
* list.c: Ditto.
* bitset.c: Ditto.
* fstream.c: Ditto.
* istream.c: Ditto.
* string.c: Ditto.
* ostream.c: Ditto.
* sstream.c: Ditto.
* algorithm.c: Ditto.
* vector.c: Ditto.
* streambuf.c: Ditto.
2007-07-05 Farid Zaripov <Farid_Zaripov@epam.com>
* 0.new.cpp: Catch SIGSEGV signal as SIGABRT.
2007-07-05 Martin Sebor <sebor@roguewave.com>
STDCXX-457
* _moneypunct.c: Updated license statement.
* _messages.c: Ditto.
* _numpunct.c: Ditto.
* _collate.c: Ditto.
* _money_get.c: Ditto.
* _time_get.c: Ditto.
* _num_get.c: Ditto.
* _money_put.c: Ditto.
* _ctype.c: Ditto.
* _time_put.c: Ditto.
* _num_put.c: Ditto.
* _codecvt.c: Ditto.
* _punct.c: Ditto.
2007-07-05 Farid Zaripov <Farid_Zaripov@epam.com>
* 27.ostream.cpp (test_formatted): Don't check os.width(0) if
_RWSTD_NO_EXT_KEEP_WIDTH_ON_FAILURE defined.
2007-07-04 Martin Sebor <sebor@roguewave.com>
* 27.ostream.cpp (test_flush): Added a comment documenting
the test for LWG issue 581.
2007-07-04 Farid Zaripov <Farid_Zaripov@epam.com>
* locale.cpp: Use "dir /B" command on Windows instead of "ls -1"
2007-07-03 Farid Zaripov <Farid_Zaripov@epam.com>
* 21.string.access.cpp (test_access): Avoid use rw_match() for
comparing the single characters.
* 21.string.copy.cpp (test_copy): Ditto.
2007-07-03 Martin Sebor <sebor@roguewave.com>
* xbuildgen: Utility to generate cross-build results from multiple
stdcxx build logs.
2007-07-02 Martin Sebor <sebor@roguewave.com>
* sstream (str): Corrected formatting problems.
2007-06-29 Martin Sebor <sebor@roguewave.com>
* 22.locale.globals.mt.cpp (<cwchar>): #included for mbstate_t.
2007-06-28 Martin Sebor <sebor@roguewave.com>
* 22.locale.cons.mt.cpp: New test exercising the thread safety
of locale ctors.
* 22.locale.globals.mt.cpp: New test exercising the thread safety
of therequired specializations of the std::has_facet and
std::use_facet function templates.
2007-06-28 Martin Sebor <sebor@roguewave.com>
* 22.locale.num.put.cpp (inf_nan_test): New function template
to exercise the formatting of infinities and, when enabled,
(quiet) NaNs, including STDCXX-461.
2007-06-28 Martin Sebor <sebor@roguewave.com>
STDCXX-461
* num_put.cpp (__rw_fix_flt): Corrected the formatting of Infinities
and NaN's when precision exceeds the length of the formatted string.
2007-06-28 Martin Sebor <sebor@roguewave.com>
* 22.locale.moneypunct.mt.cpp [_REENTRANT] (main): Set the number
of nthreads to the greater of the number of processors and 2 (for
uniprocessor systems) by default.
* 22.locale.money.put.mt.cpp: Same.
* 22.locale.numpunct.mt.cpp: Same.
* 22.locale.num.put.mt.cpp: Same.
* 22.locale.time.put.mt.cpp: Same.
2007-06-28 Martin Sebor <sebor@roguewave.com>
* thread.cpp [Linux] (rw_get_cpus): Avoided invoking system utilities
such as cat and grep using absolute pathnames since they are installed
in different directories on different distributions of Linux (e.g.,
grep is in /bin on Red Hat Linux but in /usr/bin on SuSE).
2007-06-27 Martin Sebor <sebor@roguewave.com>
* rw_locale.h (rw_opt_locales): New constant pointing to a
NUL-separated list of locale names specified by the --locales
command line option (set by the rw_opt_setlocales handler).
(rw_opt_setlocales): Callback function invoked in response to
the --locales=<locale-list> command line option to set the
rw_opt_locales global variable to a NUL-separated list of
locale names to exercise.
* locale.cpp (<cstdio>): Avoided #including C++ header (the C
header is sufficient and preferable).
(rw_create_locale): Removed std:: qualification from C library
names.
(_rw_locale_names): Static global helper.
(rw_opt_locales): Defined and initialized to refer to the above.
(rw_opt_setlocale): Defined.
* 22.locale.moneypunct.mt.cpp (run_test): Used rw_opt_locales.
(rw_opt_setlocales): Removed definition.
* 22.locale.time.put.mt.cpp (rw_opt_nthreads): Initialzed to 1,
and overwrote in main() with the result of rw_get_cpus() when
thread safety is being exercised.
(run_test): Used rw_opt_locales.
(main): Used rw_opt_setlocales to handle the --locales option.
* 22.locale.num.put.mt.cpp: Same.
* 22.locale.numpunct.mt.cpp: Same.
* 22.locale.money.put.mt.cpp: Same.
2007-06-27 Martin Sebor <sebor@roguewave.com>
* 22.locale.moneypunct.mt.cpp: Rewrote so as not to rely on localeconv
but retrieve the "master" data from the C++ locale instead instead.
(thread_loop_body): Factored out the body of thread_func here.
(get_format): Removed.
(rw_opt_nloops): Reduced from 2000000 to 10000 and set to the number
of tested locales in non-reentrant configurations to speed things up.
(rw_opt_setlocales): Callback function to process --locales option.
(main): Set rw_opt_nthreads to rw_get_cpus() in thread-safe configs.
(--locale=<arg>): New command line option to specify the names of
locales to test.
2007-06-27 Martin Sebor <sebor@roguewave.com>
* locale.cpp [Solaris] (rw_locales): Avoided all locale names
starting with "iso_8859_" and the name "common" on SunOS, not
just iso_8859_1. They're all known to cause setlocale() to
fail.
2007-06-27 Farid Zaripov <Farid_Zaripov@epam.com>
* thread.cpp (rw_get_cpus) [_WIN32]: Added Windows version of the function.
2007-06-26 Martin Sebor <sebor@roguewave.com>
* rw_thread.h (rw_get_cpus): New function to determine the number
of processors on the system.
* thread.cpp (rw_get_cpus): Defined it.
(rw_thread_pool): Called rw_get_cpus() to set nthreads when the
argument is equal to SIZE_MAX.
2007-06-26 Farid Zaripov <Farid_Zaripov@epam.com>
* projects.js (CreateProjectsDefs): Enable RTTI in stdcxx project.
2007-06-26 Farid Zaripov <Farid_Zaripov@epam.com>
* _iosbase.h: Fixed references to standard.
2007-06-26 Farid Zaripov <Farid_Zaripov@epam.com>
* 22.locale.ctype.is.cpp: Added svn:eol-style=native property.
* 22.locale.ctype.narrow.cpp: Ditto.
* 22.locale.ctype.scan.cpp Ditto.
* 22.locale.ctype.tolower.cpp Ditto.
* 22.locale.ctype.toupper.cpp Ditto.
* 22.locale.money.put.mt.cpp Ditto.
* 22.locale.moneypunct.cpp Ditto.
* 22.locale.moneypunct.mt.cpp Ditto.
* 22.locale.num.put.mt.cpp Ditto.
* 22.locale.numpunct.mt.cpp Ditto.
* 22.locale.time.put.mt.cpp Ditto.
2007-06-26 Farid Zaripov <Farid_Zaripov@epam.com>
* 22.locale.money.put.mt.cpp: Added Ios::ios() invoking ios_base::init(0).
* 22.locale.num.put.mt.cpp: The same.
* 22.locale.time.put.mt.cpp: The same.
2007-06-26 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-462
* moneyput.cpp (main): Create named std::locale object instead of unnamed.
* num_get.cpp (main): Ditto.
* time_get.cpp (main): Ditto.
2007-06-25 Farid Zaripov <Farid_Zaripov@epam.com>
* 22.locale.ctype.is.cpp: Check the pointer before dereferencing of it.
* 22.locale.ctype.narrow.cpp: Ditto.
* 22.locale.ctype.scan.cpp: Ditto.
* 22.locale.ctype.tolower.cpp: Ditto.
* 22.locale.ctype.toupper.cpp: Ditto.
2007-06-25 Farid Zaripov <Farid_Zaripov@epam.com>
* projects.js (CreateProjectsDefs): Enable RTTI for all tests.
2007-06-23 Martin Sebor <sebor@roguewave.com>
STDCXX-457
* ascii.cm: Updated license statement and restored
original contents.
* C.src: Ditto.
2007-06-23 Martin Sebor <sebor@roguewave.com>
STDCXX-457
* podarray.cc: Updated license statement.
* podarray.c: Same.
* version.cpp: Updated copyright.
2007-06-23 Martin Sebor <sebor@roguewave.com>
STDCXX-457
* loc_exception.h: Updated license statement.
* memchk.h: Same.
* path.cpp: Same.
* iconv.cpp: Same.
* localedef.h: Same.
* aliases.h: Same.
2007-06-23 Martin Sebor <sebor@roguewave.com>
STDCXX-457
* tr1/array: Updated license statement.
* ansi/csignal: Same.
* ansi/cstdio: Same.
* ansi/cstdarg: Same.
* ansi/ciso646: Same.
* ansi/climits: Same.
* ansi/cstring: Same.
* ansi/cstddef: Same.
* ansi/cwctype: Same.
* ansi/cstdlib: Same.
* ansi/cctype: Same.
* ansi/cerrno: Same.
* ansi/cmath: Same.
* ansi/ctime: Same.
* ansi/clocale: Same.
* ansi/cassert: Same.
* ansi/csetjmp: Same.
* ansi/cfloat: Same.
* iostream: Same.
* numeric: Same.
* utility: Same.
* memory: Same.
* iterator: Same.
* functional: Same.
* istream: Same.
* algorithm: Same.
* typeinfo: Same.
* exception: Same.
* locale: Same.
* strstream: Same.
* new: Same.
* ios: Same.
2007-06-23 Martin Sebor <sebor@roguewave.com>
STDCXX-457
* loc/_time_get.cc: Updated license statement.
* loc/_convenience.h: Same.
* loc/_moneypunct.h: Same.
* loc/_messages.h: Same.
* loc/_numpunct.h: Same.
* loc/_money_put.cc: Same.
* loc/_facet.h: Same.
* loc/_collate.h: Same.
* loc/_codecvt.cc: Same.
* loc/_punct.cc: Same.
* loc/_moneypunct.cc: Same.
* loc/_numpunct.cc: Same.
* loc/_collate.cc: Same.
* loc/_ctype.cc: Same.
* loc/_time_put.cc: Same.
* loc/_num_put.h: Same.
* loc/_codecvt.h: Same.
* loc/_punct.h: Same.
* rw/_iosfailure.h: Same.
* rw/_relops.h: Same.
* rw/_heap.cc: Same.
* rw/_file.h: Same.
* rw/_funcbase.h: Same.
* rw/_error.h: Same.
* rw/_basic_ios.cc: Same.
* rw/_bitmask.h: Same.
* rw/_iosfwd.h: Same.
* rw/_tree.cc: Same.
* rw/_exception.h: Same.
* rw/_typetraits.h: Same.
* rw/_algobase.cc: Same.
* rw/_heap.h: Same.
* rw/_rawiter.h: Same.
* rw/_allocator.h: Same.
* rw/_math.h: Same.
* rw/_new.h: Same.
* ansi/_cmath.h: Same.
* ansi/_ctime.h: Same.
* ansi/_clocale.h: Same.
* ansi/limits.h: Same.
* ansi/_cassert.h: Same.
* ansi/_csetjmp.h: Same.
* ansi/float.h: Same.
* ansi/_cwchar.h: Same.
* ansi/stddef.h: Same.
* ansi/wctype.h: Same.
* ansi/stdlib.h: Same.
* ansi/stdio.h: Same.
* ansi/_cctype.h: Same.
* ansi/_cstdarg.h: Same.
* ansi/_cerrno.h: Same.
* ansi/math.h: Same.
* ansi/time.h: Same.
* ansi/locale.h: Same.
* ansi/assert.h: Same.
* ansi/setjmp.h: Same.
* ansi/wchar.h: Same.
* ansi/_cfloat.h: Same.
* ansi/_cstring.h: Same.
* ansi/_cstddef.h: Same.
* ansi/_cwctype.h: Same.
* ansi/signal.h: Same.
* ansi/_cstdio.h: Same.
* ansi/ctype.h: Same.
* ansi/stdarg.h: Same.
* ansi/errno.h: Same.
* vector_spec.h: Same.
* deque.cc: Same.
* ostream.cc: Same.
* list.cc: Same.
* limits.cc: Same.
* deque_spec.h: Same.
* list_spec.h: Same.
2007-06-23 Martin Sebor <sebor@roguewave.com>
STDCXX-457
* catalog.h: Updated license statement.
* access.h: Same.
* use_facet.h: Same.
* iso2022.h: Same.
* setlocale.h: Same.
* version.cpp: Same.
* iosdata.h: Same.
* locale_body.h: Same.
* strtol.h: Same.
2007-06-23 Martin Sebor <sebor@roguewave.com>
STDCXX-457
* rwstdmessages.h: Updated license statement.
* replace.h: Same.
* codecvte.h: Same.
* examples.h: Same.
* valarray.h: Same.
* memfunref.h: Same.
* alg3.h: Same.
* widwork.h: Same.
* stocks.h: Same.
* teller.h: Same.
2007-06-23 Martin Sebor <sebor@roguewave.com>
STDCXX-457
* 2.smartptr.shared.cpp: Updated license statement.
* 2.smartptr.weak.cpp: Same.
* 27.objects.cpp: Same.
* rw_alarm.h: Same.
* rw_printf.h: Same.
* environ.h: Same.
* valcmp.h: Same.
* cmdopt.h: Same.
* opt_lines.h: Same.
* opt_diags.cpp: Same.
* opt_types.h: Same.
* opt_lines.cpp: Same.
* opt_diags.h: Same.
* opt_types.cpp: Same.
* any.cpp: Same.
* 21.cctype.cpp: Same.
* 21.string.access.cpp: Same.
* 0.new.cpp: Same.
* 23.deque.iterators.cpp: Same.
* 19.cerrno.cpp: Same.
2007-06-23 Martin Sebor <sebor@roguewave.com>
STDCXX-457
* icecream.cpp: Updated license statement.
* graph.cpp: Same.
* complx.cpp: Same.
* calc.cpp: Same.
* stocks.cpp: Same.
* radix.cpp: Same.
* sieve.cpp: Same.
* spell.cpp: Same.
* alg1.cpp: Same.
* alg2.cpp: Same.
* widwork.cpp: Same.
* alg3.cpp: Same.
* alg4.cpp: Same.
* concord.cpp: Same.
* teller.cpp: Same.
* alg5.cpp: Same.
* alg6.cpp: Same.
* tele.cpp: Same.
* alg7.cpp: Same.
* heap_ops.cpp: Same.
* toupper.cpp: Same.
* rotate.cpp: Same.
* map.cpp: Same.
* mismatch.cpp: Same.
* search.cpp: Same.
* find_end.cpp: Same.
* includes.cpp: Same.
* partial_sort.cpp: Same.
* messages.cpp: Same.
* transform.cpp: Same.
* codecvt1.cpp: Same.
* replace.cpp: Same.
* partial_sum.cpp: Same.
* lex_compare.cpp: Same.
* max.cpp: Same.
* strstreambuf.cpp: Same.
* set_diff.cpp: Same.
* fill.cpp: Same.
* set_intr.cpp: Same.
* setex.cpp: Same.
* bitset.cpp: Same.
* distance.cpp: Same.
* random_shuffle.cpp: Same.
* auto_ptr.cpp: Same.
* time_get.cpp: Same.
* remove.cpp: Same.
* has_facet.cpp: Same.
* funct_ob.cpp: Same.
* slice.cpp: Same.
* mutex.cpp: Same.
* stringbuf.cpp: Same.
* stack.cpp: Same.
* string.cpp: Same.
* complex.cpp: Same.
* ul_bound.cpp: Same.
* isalnum.cpp: Same.
* swap.cpp: Same.
* ifstream.cpp: Same.
* istreambuf_iterator.cpp: Same.
* valarray.cpp: Same.
* ostreambuf_iterator.cpp: Same.
* collate.cpp: Same.
* adj_diff.cpp: Same.
* count.cpp: Same.
* multimap.cpp: Same.
* negator.cpp: Same.
* multiset.cpp: Same.
* pnt2fnct.cpp: Same.
* indirect_array.cpp: Same.
* locale.cpp: Same.
* moneypunct.cpp: Same.
* wostream.cpp: Same.
* advance.cpp: Same.
* vector.cpp: Same.
* deque.cpp: Same.
* accumulate.cpp: Same.
* equal.cpp: Same.
* copyex.cpp: Same.
* list.cpp: Same.
* reverse.cpp: Same.
* num_get.cpp: Same.
* permutation.cpp: Same.
* find.cpp: Same.
* moneyput.cpp: Same.
* ctype.cpp: Same.
* queue.cpp: Same.
* strstream.cpp: Same.
* max_elem.cpp: Same.
* sort.cpp: Same.
* mask_array.cpp: Same.
* num_put.cpp: Same.
* istringstream.cpp: Same.
* generate.cpp: Same.
* slice_array.cpp: Same.
* nthelem.cpp: Same.
* gslice_array.cpp: Same.
* istrstream.cpp: Same.
* rwexcept.cpp: Same.
* fstream.cpp: Same.
* set_union.cpp: Same.
* for_each.cpp: Same.
* unique.cpp: Same.
* gslice.cpp: Same.
* use_facet.cpp: Same.
* filebuf.cpp: Same.
* memfunref.cpp: Same.
* istream1.cpp: Same.
* binders.cpp: Same.
* stream_iterator.cpp: Same.
* wstringstream.cpp: Same.
* memfunc.cpp: Same.
* find_first_of.cpp: Same.
* equal_range.cpp: Same.
* inner_product.cpp: Same.
* insert_iterator.cpp: Same.
* priority_queue.cpp: Same.
* partition.cpp: Same.
* set_sym_diff.cpp: Same.
2007-06-23 Martin Sebor <sebor@roguewave.com>
STDCXX-457
* ti_istream.cpp: Updated license statement.
* ti_stringbuf.cpp: Same.
* ti_string.cpp: Same.
* ti_wmoney_put.cpp: Same.
* ctype_bits.cpp: Same.
* ti_ostream.cpp: Same.
* memory.cpp: Same.
* ti_wstreambuf.cpp: Same.
* ti_collate.cpp: Same.
* ti_insert_dbl.cpp: Same.
* strtol.cpp: Same.
* ti_wistream.cpp: Same.
* ti_wnumpunct.cpp: Same.
* ti_moneypunct.cpp: Same.
* ti_wostream.cpp: Same.
* time_get.cpp: Same.
* iso2022.cpp: Same.
* ti_winsert_int.cpp: Same.
* limits.cpp: Same.
* ti_numpunct.cpp: Same.
* ti_wcollate.cpp: Same.
* ti_wmoney_get.cpp: Same.
* ti_money_put.cpp: Same.
* ti_winsert_ptr.cpp: Same.
* ti_num_put.cpp: Same.
* ti_streambuf.cpp: Same.
* ti_ios.cpp: Same.
* locale_core.cpp: Same.
* ti_wstring.cpp: Same.
* typeinfo.cpp: Same.
* assert.cpp: Same.
* ti_winsert_dbl.cpp: Same.
* ti_wtime_put.cpp: Same.
* ti_wnum_put.cpp: Same.
* ios_bits.cpp: Same.
* ti_wios.cpp: Same.
* rwstderr.cpp: Same.
* locale_bits.cpp: Same.
* random.cpp: Same.
* ti_money_get.cpp: Same.
* ti_time_put.cpp: Same.
* ti_wmoneypunct.cpp: Same.
* locale_eq.cpp: Same.
* strstream.cpp: Same.
* version.cpp: Same.
* ti_wstringbuf.cpp: Same.
* num_put.cpp: Same.
* codecvt.cpp: Same.
* vecbool.cpp: Same.
* ios.cpp: Same.
* ti_num_get.cpp: Same.
* catalog.cpp: Same.
* ti_wmessages.cpp: Same.
* locale_name.cpp: Same.
* locale_classic.cpp: Same.
* ti_messages.cpp: Same.
* ti_insert_int.cpp: Same.
* locale_global.cpp: Same.
* ti_wtime_get.cpp: Same.
* ti_wnum_get.cpp: Same.
* limits_bits.cpp: Same.
* ti_insert_ptr.cpp: Same.
* ti_time_get.cpp: Same.
* locale_combine.cpp: Same.
2007-06-22 Martin Sebor <sebor@roguewave.com>
* 30-3.html: Added a note about the effects of ios::out creating
a file when it doesn't exist.
2007-06-22 Farid Zaripov <Farid_Zaripov@epam.com>
* _error.h(__rw_free_what_buf): Removed inline in declaration.
* exception.cpp(__rw_free_what_buf): The same.
2007-06-22 Farid Zaripov <Farid_Zaripov@epam.com>
* projects.js (CreateProjectsDefs): Set TZ environment variable before run examples.
2007-06-22 Farid Zaripov <Farid_Zaripov@epam.com>
* _error.h: Put _RWSTD_EXPORT before the return type for
consistency between declaration and definition.
2007-06-22 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-454
* _error.h: Added declaration of the __rw_free_what_buf.
* exception.cpp (__rw_free_what_buf): Added _RWSTD_EXPORT to prototype.
Added assertion on __rw_what_refcnt value.
(_C_assign): If whatstr == __rw_what_buf, just reuse it without allocation
of the new buffer.
* rwexcept.cpp: Use __rw_free_what_buf() instead of delete[].
2007-06-22 Farid Zaripov <Farid_Zaripov@epam.com>
* build.wsf (build): Limit infinite loop by 60 seconds.
2007-06-21 Farid Zaripov <Farid_Zaripov@epam.com>
* 18.exception.cpp (RW_SETJMP, RW_LONGJMP): Corrected logic errors
introduced in r548112 and used setjmp() and longjmp() as opposed to
sigsetjmp() and siglongjmp() except on Linux.
2007-06-21 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-293
* exception.cpp (__rw_throw): Don't delete allocated what string because of
__rw_throw_proc() takes ownership and must delete what string.
2007-06-21 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-293
* exception.cpp (__rw_free_what_buf): New function to free buffer, allocated by __rw_vfmtwhat().
Used __rw_free_what_buf() instead of delete[].
2007-06-21 Farid Zaripov <Farid_Zaripov@epam.com>
* projects.js (CreateProjectsDefs): Added path to rwstdmessages.dll before run examples.
2007-06-21 Farid Zaripov <Farid_Zaripov@epam.com>
* rwstdmessages.cpp (_rw_messages_version): Added missing '}'.
* rwstdmessages.dll: Updated to valid WIN32 dll file.
2007-06-21 Farid Zaripov <Farid_Zaripov@epam.com>
* time_manip.in: New input file for the time_manip.cpp example.
2007-06-19 Martin Sebor <sebor@roguewave.com>
* 22.locale.numpunct.mt.cpp (<ios>): Removed #include directive.
(run_test): Set LC_ALL rather than just LC_NUMERIC in order to
get reliable results from mbstowcs().
2007-06-19 Martin Sebor <sebor@roguewave.com>
* 22.locale.moneypunct.mt.cpp: New test exercising the thread safety
of all four required specializations of the std::moneypunct facet.
2007-06-19 Martin Sebor <sebor@roguewave.com>
* punct.cpp (_RWSTD_NO_V3_LOCALE): Removed a dead guard.
(_RWSTD_SIZE_T): Replaced with size_t throughout.
Removed the :: scope resolution operator from references
to C library functions.
2007-06-19 Martin Sebor <sebor@roguewave.com>
* 22.locale.numpunct.mt.cpp: New test exercising the thread safety
of the numpunct facet.
2007-06-19 Martin Sebor <sebor@roguewave.com>
* LOCALE_NAME_FMAT.cpp (test_locale_names, nlocales): Moved...
* locale_names.h: ...to here so that it could be reused elsewhere.
* THREAD_SAFE_LOCALE.cpp: New test to determine whether each thread
has its own C locale environment that's independent of those of all
other threads or whether the C locale facility is process global,
i.e., shared among all threads.
2007-06-19 Farid Zaripov <Farid_Zaripov@epam.com>
* configure.wsf (cleanQuit): New function to clean and quit.
(configure): Use cleanQuit() instead of WScript.Quit().
2007-06-19 Farid Zaripov <Farid_Zaripov@epam.com>
* build.wsf (build): Fix the "Call was Rejected By Callee" error.
2007-06-19 Farid Zaripov <Farid_Zaripov@epam.com>
* proclimits.h: New file with process limit functions
* NEW_THROWS.cpp: #included "proclimits.h"
* GLOBAL_BAD_ALLOC.cpp: Ditto
* STD_BAD_ALLOC.cpp: Ditto
2007-06-18 Martin Sebor <sebor@roguewave.com>
* 22.locale.money.put.mt.cpp: New test exercising the thread safety
of the money_put facet (including moneypunct).
2007-06-18 Martin Sebor <sebor@roguewave.com>
* 22.locale.num.put.mt.cpp: New test exercising the thread safety
of the required specializations of the num_put facet (including
numpunct).
2007-06-18 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 22.locale.time.put.mt.cpp: Test exercising the thread safety
of the required specializations of the std::time_put facet.
2007-06-18 Martin Sebor <sebor@roguewave.com>
* 26.valarray.sub.stdcxx-448.cpp: Regression test for STDCXX-448.
2007-06-17 Scott Zhong <scottz@roguewave.com>
* 22.locale.ctype.is.cpp: Test exercising ctype::is()
* 22.locale.ctype.narrow.cpp: Test exercising ctype::narrow().
* 22.locale.ctype.scan.cpp: Test exercising the ctype::scan_xxx()
family of functions.
* 22.locale.ctype.tolower.cpp: Test exercising ctype::tolower().
* 22.locale.ctype.toupper.cpp: Test exercising ctype::toupper().
2007-06-17 Scott Zhong <scottz@roguewave.com>
Martin Sebor <sebor@roguewave.com>
* rw_locale.h (rw_create_locale): New helper function to invoke
the stdcxx localedef utility to create a stdcxx locale.
* locale.cpp ((rw_create_locale): Defined.
2007-06-17 Martin Sebor <sebor@roguewave.com>
* 22.locale.codecvt.out.cpp (mb_char_array_t, get_mb_char,
find_mb_locale): Removed/replaced...
(rw_mbchar_array_t, rw_find_mb_locale): ...with these replacement
type and functions defined in the test driver.
2007-06-17 Martin Sebor <sebor@roguewave.com>
* rw_locale.h (rw_mbchar_array_t, rw_get_mb_chars, rw_find_mb_locale):
New type and helper functions to retrieve locales that use multibyte
encodings (where MB_CUR_MAX > 1).
2007-06-17 Martin Sebor <sebor@roguewave.com>
* 21.string.push_back.mt.cpp [!_RWSTD_REENTRANT](rw_opt_nthreads): Set
to 1 in "single-threaded" builds.
(thread_func, run_test): Removed gratuitous output.
(run_test): Added rw_error() calls checking the successful creation
of thread pools.
2007-06-17 Martin Sebor <sebor@roguewave.com>
* 21.string.cons.mt.cpp [!_RWSTD_REENTRANT](rw_opt_nthreads): Set
to 1 in "single-threaded" builds.
(run_test): Added rw_error() calls checking the successful creation
of thread pools.
2007-06-17 Martin Sebor <sebor@roguewave.com>
* rw_thread.h: Added comments.
2007-06-17 Martin Sebor <sebor@roguewave.com>
* thread.cpp [!_RWSTD_REENTRANT] (rw_thread_pool): When not reentrant
(in non-thread safe builds) emulated the creation of a single thread
and then waiting for it to finish by simply calling the thread
procedure to simplify the logic in each test.
2007-06-17 Martin Sebor <sebor@roguewave.com>
* 18.exception.cpp (RW_JMP_BUF, RW_LONGJMP, RW_SETJMP): New macros
to hide calls to siglongjmp() and sigsetjmp() on Linux while making
calls to longjmp() and setjmp() everywhere else.
(induce_exception): Used size_t instead of unsigned long
as an argument to operator new().
(SIGABRT_handler, test_terminate_handler, test_unexpected_handler):
Used RW_LONGJMP() instead of plain longjmp().
(test_runtime, run_test): Used RW_SETJMP() instead of plain setjmp().
(run_test): Called test_effects() last to defer potential problems
due to the tests returning (jumping) out of the handlers.
2007-06-17 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp (test_dec): Exercised long and long long formatting.
(test_nested_format): Added comments.
2007-06-13 Martin Sebor <sebor@roguewave.com>
* 21.string.cons.mt.cpp: New test exercising the thread safety
of a small subset of basic_string ctors and assignment operators.
2007-06-13 Farid Zaripov <Farid_Zaripov@epam.com>
* money_manip.in: New input file for the money_manip.cpp example.
2007-06-13 Farid Zaripov <Farid_Zaripov@epam.com>
* 27.stringbuf.members.stdcxx-427.cpp: new test from STDCXX-427 issue
2007-06-13 Farid Zaripov <Farid_Zaripov@epam.com>
* runall.wsf (parseStatus): Parse OUTPUT status.
(runAllExamples): Use OUTPUT status as successful result.
2007-06-13 Farid Zaripov <Farid_Zaripov@epam.com>
* dynatype.out: Corrected example expected output.
2007-06-13 Farid Zaripov <Farid_Zaripov@epam.com>
* except.out: Renamed...
* failure.out: ...to this (see http://svn.apache.org/viewvc?view=rev&rev=544238).
* insert_wchar.out: Added svn:eol-style=native property. Removed svn:keywords property.
* mbsrtowcs.out: Ditto.
* fmtflags_manip.out: Ditto.
* wstringstream.out: Ditto.
2007-06-12 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-429
* _config.h: #include "_config-msvc.h" only on MSVC.
* _config-msvcrt.h: New file with configuration definitions of the MSVC CRT.
* _config-icc.h [_WIN{32,64}]: #include "_config-msvcrt.h",
added #pragma's to silence bogus warnings.
* _config-msvc.h: #include "_config-msvcrt.h",
MSVC CRT specific definitions moved to _config-msvcrt.h.
2007-06-12 Farid Zaripov <Farid_Zaripov@epam.com>
* dynatype.out: Added svn:eol-style=native property.
2007-06-12 Farid Zaripov <Farid_Zaripov@epam.com>
* runall.wsf (parseStatus): Increased width of the NAME column,
according to http://svn.apache.org/viewvc?view=rev&rev=545641.
2007-06-12 Farid Zaripov <Farid_Zaripov@epam.com>
* sstream (str): Method definition moved outside of the class definition.
2007-06-12 Farid Zaripov <Farid_Zaripov@epam.com>
* cwchar: Added missing ';' in using declarations.
2007-06-11 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.cfg (sane): Printed out the library version
for which the config header is being generated.
clean): Removed $(LOGFILE) from the list of files to remove
by the target.
2007-06-08 Andrew Black <ablack@roguewave.com>
STDCXX-440
* GNUmakefile.exm (RUNFLAGS): Add --ulimit:as switch to limit examples
to allocating 256 MB of memory (total)
* GNUmakefile.tst (RUNFLAGS): Add --ulimit:as switch to limit tests to
allocating 1 GB of memory (total)
2007-06-11 Martin Sebor <sebor@roguewave.com>
* money_manip.cpp (main): Corrected a trivial typo in a comment.
2007-06-09 Martin Sebor <sebor@roguewave.com>
STDCXX-446
STDCXX-447
* complex (pow, operator>>, operator<<): Removed inline definitions.
* complex.cc (pow, operator>>, operator<<): Defined out-of-line and
exported.
* complex.c: #included complex.cc.
* export.cpp (<complex>, complex.cc): #included.
2007-06-09 Martin Sebor <sebor@roguewave.com>
* dynatype.out: Expected output of tutorial/dynatype.cpp.
2007-06-09 Martin Sebor <sebor@roguewave.com>
* GNUmakefile (.DEFAULT): Recursed into $BUILDDIR/include.
* GNUmakefile.cfg (realclean): Avoided removing config.h
but cleaned out all object files.
2007-06-08 Martin Sebor <sebor@roguewave.com>
* display.cpp (print_header_plain, print_target_plain): Increased
the width of the first column (NAME) to 30 characters.
* output.cpp (check_test, check_test_compat): Set the state
of targets that produce an empty output file to ST_NO_OUTPUT.
2007-06-08 Martin Sebor <sebor@roguewave.com>
* src/wctype.cpp (do_widen): Explicitly specified template argument
list to work around HP aCC 3 and 5 bug resulting in Error 331: Illegal
cast expression; cannot cast expression type '<no type>' to 'wchar_t'.
See STDCXX-445.
2007-06-08 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-427
* sstream (str): Function updated according to 27.7.1.2, p1
2007-06-07 Martin Sebor <sebor@roguewave.com>
STDCXX-439
* vacpp.config (LDFLAGS): Added -Wl,-bh:5 to silence ld warning
0711-224 (Duplicate symbol) for shared library linking with IBM
VisualAge C++ 6.0.
2007-06-07 Martin Sebor <sebor@roguewave.com>
* vacpp.config (OPTMZ_CXXFLAGS): Replaced -qinline with the equivalent
-Q for consistency with other single-letter options and documented.
2007-06-07 Martin Sebor <sebor@roguewave.com>
* _ctype.h (do_toupper, do_tolower, do_widen, do_narrow): Outlined
virtual member functions of ctype<wchar_t> since they can almost
never be inlined anyway.
* wctype.cpp: Same.
2007-06-07 Martin Sebor <sebor@roguewave.com>
* xlC_version.sh: Added a comment listing known versions and PTF
dates they correspond to.
2007-06-07 Martin Sebor <sebor@roguewave.com>
* xlC_version.sh: Restored detailed script output from stdcxx 4.1.3
for VAC++ 6.0 (i.e., to include the last component) inadvertently
removed in r518779.
2007-06-06 Martin Sebor <sebor@roguewave.com>
STDCXX-271
* string (_RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES): New convenience
macro #defined in response to the various conditions previously tested
throughout the header and .cc file.
(__rw_replace, __rw_replace_aux, replace): Guarded global and member
functions with said macro.
Replaced guards for specific version(s) of MSVC with the config macro
_RWSTD_NO_MEMBER_TEMPLATES (tested by artificially defining the macro
on the command line).
* string.cc (__rw_replace, __rw_replace_aux, replace): Same as above.
2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>
* GLOBAL_BAD_ALLOC.cpp: Use size_t type in new() instead of unsigned long.
* STD_BAD_ALLOC.cpp: Ditto.
2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-422
* GNUmakefile.lib [CYGWIN]: changed name of the library to libstd${BUILDTYPE}-X.Y.Z.dll
* makefile.rules [CYGWIN]: add $(LIBDIR) to PATH
2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>
* dynatype.cpp (copy): static_cast to const T& instead of T
to avoid error on gcc 3.4.4/Cygwin: invalid static_cast from
type `const dynatype' to type `int'.
2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-188
* typeinfo.cpp: use ::_C_name or std::_C_name depending on _RWSTD_NO_STD_TYPE_INFO macro
2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>
* 23.bitset.cons.stdcxx-297.cpp: new test from STDCXX-297 issue
2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>
* 23.list.cons.stdcxx-268.cpp: new test from STDCXX-268 issue
2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>
* 23.deque.special.stdcxx-127.cpp: new test from STDCXX-127 issue
2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>
* 23.list.special.stdcxx-334.cpp: new test from STDCXX-334 issue
2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com>
* 23.list.insert.stdcxx-331.cpp: new test from STDCXX-331 issue
2007-06-05 Martin Sebor <sebor@roguewave.com>
* insert_wchar.cpp (main): Parenthesized a call to isalnum() to prevent
macro expension in case the function happens to be (illegally) shadowed
by a macro.
2007-06-05 Martin Sebor <sebor@roguewave.com>
* acc.config: Silenced excessively noisy remarks for aCC 6.10
and beyond (causing build logs to exceed 15MB in size).
2007-06-05 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-188
* typeinfo.cpp: silenced warning: _C_name was declared
but never referenced
2007-06-05 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-105
* README: Extended VisualStudio Setup Instructions;
added VisualStudio Test Suite Build Instructions.
2007-06-04 Martin Sebor <sebor@roguewave.com>
* stdexcept.cpp: Removed output file (exact output depends on
the compiler and on the location of stdcxx headers).
2007-06-04 Martin Sebor <sebor@roguewave.com>
* 18-4.html: Updated example program to match the latest code
and added possible output.
2007-06-04 Martin Sebor <sebor@roguewave.com>
* exceptn.cpp: Moved...
* stdexcept.cpp: ...to this.
2007-06-04 Martin Sebor <sebor@roguewave.com>
* exceptn.cpp: Renamed...
* failure.cpp: ...to this.
2007-06-03 Martin Sebor <sebor@roguewave.com>
STDCXX-135
* 0.printf.cpp (test_string): Added a test for the format being
the empty string ("").
2007-06-01 Martin Sebor <sebor@roguewave.com>
STDCXX-434
* acc.config (CCVER): Adjusted to the change in HP aCC -V output
by searching for "A.NN.NN" as suggested by Dennis Handly.
2007-06-01 Martin Sebor <sebor@roguewave.com>
STDCXX-433
* string.h (strpbrk): Added declaration and definition when
the function is not declared in the system string.h header.
2007-06-01 Martin Sebor <sebor@roguewave.com>
STDCXX-432
* _config.h (_config-eccp.h): Avoided #including when using HP aCC.
* exception.cpp (stdarg.h): Used _RWSTD_EDG_ECCP to guard against
inclusion when using EDG eccp based compilers including HP aCC 6.
2007-06-01 Martin Sebor <sebor@roguewave.com>
STDCXX-431
* string.h (memchr): Added declaration and definition when
the function is not declared in the system string.h header.
2007-05-31 Farid Zaripov <Farid_Zaripov@epam.com>
* build.wsf (getBuildLog): New function to extract data from BuildLog.htm;
(event_ProjectBuildStarted): Added checking function parameter != null;
(event_ProjectBuildFinished): If Cfg == null find path to the BuildLog.htm
in Output window;
(BuildProject): Invoke event_ProjectBuildStarted() and
event_ProjectBuildFinished() on ICC.
* utilities.js (stipTags): Remove additional html tags from buildlog.
2007-05-30 Martin Sebor <sebor@roguewave.com>
* gcc.config: Made formatting consistent (4 space indents
everywhere, at most 78 characters per line).
2007-05-30 Martin Sebor <sebor@roguewave.com>
STDCXX-369
* gcc.config (LDSOFLAGS): For gcc 3.3 and prior added -shared-libgcc.
2007-05-30 Andrew Black <ablack@roguewave.com>
STDCXX-117
* aliases.cpp [_RWSTD_NO_NL_LANGINFO] (<langinfo.h>): Guarded
against inclusion when the header is detected to be missing at
configuration time.
* charmap.cpp [_RWSTD_NO_ICONV] (<iconv.h>): Ditto.
* charmap.h [_RWSTD_NO_ICONV] (<iconv.h>): Ditto.
* locale.cpp [_RWSTD_NO_ICONV] (<iconv.h>): Ditto.
[_RWSTD_NO_NL_LANGINFO] (<langinfo.h>): Ditto.
2007-05-29 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-378
* dynatype.cpp: Restored dynatype::operator T&(); dynatype::operator T() const
renamed to dynatype::operator const T&() const.
2007-05-29 Farid Zaripov <Farid_Zaripov@epam.com>
* generate.wsf (Echo) : Try/catched the output to the StdOut
to prevent the error: generate.wsf(90, 6) (null): The handle is invalid.
2007-05-28 Martin Sebor <sebor@roguewave.com>
STDCXX-402
* strtol.cpp (__rw_strtoul, __rw_strtol, __rw_strtoull, __rw_strtoll):
Asserted preconditions.
(LLong, ULLong): New convenience typedefs at namespace scope.
(__rw_strtoull, __rw_strtoll): Corrected off by one errors.
2007-05-28 Martin Sebor <sebor@roguewave.com>
* 22.locale.num.get.cpp (do_test): Disabled grouping tests when
rw_opt_no_grouping is non-zero in response to the --no-grouping
command line option.
(test_llong, test_ullong): Better exercised long long parsing,
including STDCXX-402.
2007-05-25 Martin Sebor <sebor@roguewave.com>
STDCXX-426
* 21.cwchar.cpp (test_file_functions): Opened a new file for I/O
instead of reusing stdout and called fwide() first before any prior
output since 7.19.2, p5 of C99 prohibits wide character I/O functions
from being called on a byte-oriented stream.
2007-05-25 Martin Sebor <sebor@roguewave.com>
* fmtflags_manip.cpp: New example program demonstrating
an implementation of a user-defined manipulator for convenient
and exception-safe setting and restoring of stream formatting
flags. Prompted by the following Usenet thread:
http://groups.google.com/group/comp.lang.c++/browse_frm/thread/acfa77336a6137cd/50e116d0a0c889ad
* fmtflags_manip.out: Expected example output.
2007-05-25 Farid Zaripov <Farid_Zaripov@epam.com>
* _config-msvc.h: MSVC specific #pragma's decorated with #ifndef _INTEL_COMPILER;
added #pragma's to disable ICC warnings.
2007-05-25 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-378
* dynatype.cpp: Removed dynatype::operator T&() to resolve
ambiguity between user defined conversions on MSVC.
2007-05-25 Farid Zaripov <Farid_Zaripov@epam.com>
* dynatype.cpp: Updated copyright notice;
(main): Fixed missprint (v1 replaced with v3).
2007-05-24 Martin Sebor <sebor@roguewave.com>
* alg_test.h (InputIter): Outlined member functions too big for
the gcc inliner to handle (causing noise for -Winline warnings).
(OutputIter): Ditto.
2007-05-23 Farid Zaripov <Farid_Zaripov@epam.com>
* 22.locale.codecvt.length.cpp: Added checking result of the rw_locales()
before dereferencing.
* 22.locale.codecvt.out.cpp: Ditto.
* 22.locale.ctype.cpp: Ditto.
* 22.locale.messages.cpp: Ditto.
* 22.locale.moneypunct.cpp: Ditto.
* 22.locale.num.put.cpp: Ditto.
* 22.locale.time.get.cpp: Ditto.
* 22.locale.num.get.cpp: Ditto. Corrected len parameter of the rw_widen().
* 0.inputiter.cpp [_MSC_VER]: Disabled GUI window from abort().
* 0.outputiter.cpp [_MSC_VER]: Ditto.
* 21.cwchar.cpp [_MSC_VER]: Disabled GUI window with error from
CRT assertion fail.
2007-05-23 Farid Zaripov <Farid_Zaripov@epam.com>
* projects.js (CreateProjectDefs): Add path of the bin directory to PATH
envirobment variable before invoking runall.wsf script.
* runall.wsf: Removed LIBDIR option as unused. Removed libdllFolder and
libFileName variables as unused.
2007-05-23 Martin Sebor <sebor@roguewave.com>
* _array.h (ctor): Removed redundant (ill-formed?) template
argument list from the definition of __rw_array destructor.
2007-05-22 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 22.locale.moneypunct.cpp: New test exercising locale.moneypunct.
2007-05-22 Martin Sebor <sebor@roguewave.com>
* mbsrtowcs.cpp (main): Corrected typo in hardcoded input.
* mbsrtowcs.out: Corrected typos in expected output.
2007-05-22 Martin Sebor <sebor@roguewave.com>
STDCXX-424
* _array.h (dtor): Simplified and implemented without
relying on resize() for efficiency.
(resize): Avoided calling trivial inline functions.
2007-05-21 Martin Sebor <sebor@roguewave.com>
STDCXX-296
* insert_wchar.cpp: New example program demonstrating an implementation
of an inserter operator overloaded for arrays of wchar_t that performs
codeset conversion from arrays of wchar_t to mutlibyte characters.
* insert_wchar.out: Expected output of the example program.
2007-05-18 Eric Lemings <lemings@roguewave.com>
STDCXX-358
* environ.cpp (rw_putenv): Handled unsetenv() on Darwin the same
as on FreeBSD: the function is declared to return void on both.
2007-05-18 Martin Sebor <sebor@roguewave.com>
STDCXX-421
* run_locale_utils.sh: When installed, invoked Bash on AIX instead
of the default system shell (/bin/sh -> /usr/bin/sh) to work around
a bug (?) that prevents it from trapping SIGHUP (and invoking the
signal handler).
Removed binary locale database at each stage of testing instead
of waiting until the end of the process to reduce the amount of
wasted disk space.
Replaced [ "$var" = "" ] syntax with the more concise [ -z "$var" ].
Incorporated the name of the locale being tested in the name of the
temporary directory.
2007-05-18 Martin Sebor <sebor@roguewave.com>
* makefile.rules (run): To avoid filling up disk space with junk files left
behind by bad programs, created and set TMP to a temporary directory before
running the programs, and then removed it when done.
2007-05-16 Martin Sebor <sebor@roguewave.com>
* mbsrtowcs.cpp: NUL-terminated destination sequence before
writing it out to stdout.
2007-05-15 Martin Sebor <sebor@roguewave.com>
STDCXX-417
* atomic.s (TYPE_DIR): New macro conditionally defined to the .type
directive for GNU as on ELF targets.
2007-05-15 Martin Sebor <sebor@roguewave.com>
STDCXX-416
* stdexcept (logic_error): Declared dtor.
* logic_error.cpp: New file.
(logic_error): Defined class dtor
2007-05-15 Martin Sebor <sebor@roguewave.com>
* codecvt.html: Added a note to do_length() clarifying the relationship
(or the lack thereof) between it and the C Standard Library function
mbsrtowcs(). See the following thread:
http://groups.google.com/group/comp.lang.c++/tree/browse_frm/thread/85ffe366e1d65734
2007-05-15 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-339
* NONDEDUCED_CONTEXT.cpp: Removed _RWSTD_NO_INLINE_MEMBER_TEMPLATES
config macro and all workarounds for it. Updated copyright notice.
* bitset: Ditto
* deque: Ditto
* iomanip: Ditto
* list: Ditto
* _locale.h: Ditto
* map: Ditto
* queue: Ditto
* _algobase.h: Ditto
* _defs.h: Ditto
* _pair.h: Ditto
* _tree.h: Ditto
* set: Ditto
* string: Ditto
* string.cc: Ditto
* vector: Ditto
* 25.random.shuffle.cpp: Ditto
* 23.deque.modifiers.cpp: Ditto
* 23.vector.cons.cpp: Ditto
* 23.vector.modifiers.cpp: Ditto
* rw_allocator.h: Ditto
* 20.pairs.cpp: Ditto
2007-05-15 Farid Zaripov <Farid_Zaripov@epam.com>
* value.cpp (xinit) Removed as unused.
2007-05-14 Farid Zaripov <Farid_Zaripov@epam.com>
* summary.js (checkForFailures, readBuildLog): Added check to avoid
JScript runtime error: Input past end of file Project.
* utilities.js (stripTags): Remove "</pre>" from build log.
2007-05-12 Martin Sebor <sebor@roguewave.com>
* 22.locale.money.get.cpp (PunctData): New base class for the test
Punct facet.
(Punct): Derived from PunctData.
(narrow, widen): Removed.
(do_test): Used PunctData instead of Punct. User the testuite helpers
rw_expand() and rw_narrow() instead of narrow() and widen(). Used the
%{*Ac} directive to format either narrow and wide character strings.
(test_memfun): Renamed...
(test_get): ...to this and used PunctData instead of Punct.
(test_long_double, test_string): Called test_get().
2007-05-12 Martin Sebor <sebor@roguewave.com>
STDCXX-411
* money-get.html: Updated example program to (closely) match
the latest version of the program in svn and to match shown
output.
2007-05-12 Martin Sebor <sebor@roguewave.com>
* money_get.cpp (main): Removed a redundant template argument
for brevity and introduced a typedef for better readability.
2007-05-12 Martin Sebor <sebor@roguewave.com>
* money_get.cpp: Made example more interesting by using thousands
separators and more decimal places than two in input, and by making
it possible to specify all parameters on the command line.
Simplified the invocation of money_get::get() by taking advantage
of the implicit conversion from ios to istreambuf_iterator.
* money_get.out: Adjusted to match the above changes.
2007-05-12 Martin Sebor <sebor@roguewave.com>
* moneyget.out: Renamed...
* money_get.out: ...to this to complete rev 537480.
2007-05-12 Martin Sebor <sebor@roguewave.com>
* moneyget.cpp: Renamed...
* money_get.cpp: ...to this to match the name of the facet
and (as closely as reasonable) the documentation page in
the Class Reference.
2007-05-10 Martin Sebor <sebor@roguewave.com>
STDCXX-409
* eccp.config (BUILDDIR): Set to the CWD if not defined on the command
line to avoid setting the template directory to a bogus directory.
2007-05-10 Martin Sebor <sebor@roguewave.com>
* gen_list (de_DE.UTF-8, en_US.UTF-8, fr_FR.UTF-8, ru_RU.UTF-8,
zh_CN.UTF-8): Added UTF-8 locales.
2007-05-09 Martin Sebor <sebor@roguewave.com>
STDCXX-407
* stdlibug/1-4.html: Removed reference to Rogue Wave wherever
they're not relevant/appropriate anymore and replaced with
Apache stdcxx or similar as necessary.
* stdlibug/1-1.html: Same.
* stdlibug/tindex.html: Same.
* stdlibug/33-3.html: Same.
* stdlibug/34-2.html: Same.
* stdlibug/1-5.html: Same.
* stdlibug/copyright.html: Same.
* stdlibug/40-3.html: Same.
* stdlibug/46-1.html: Same.
* stdlibug/1-2.html: Same.
* stdlibug/44-1.html: Same.
* stdlibug/noframes.html: Same.
* stdlibug/30-2.html: Same.
* stdlibug/booktoc.html: Same.
* stdlibug/46.html: Same.
* stdlibug/contact.html: Same.
* stdlibug/frames-contents-chapter.html: Same.
* stdlibug/VIII.html: Same.
* stdlibref/basic-ofstream.html: Same.
* stdlibref/ios-base.html: Same.
* stdlibref/localeutility.html: Same.
* stdlibref/count.html: Same.
* stdlibref/lists.html: Same.
* stdlibref/basic-filebuf.html: Same.
* stdlibref/basic-ifstream.html: Same.
* stdlibref/2-1.html: Same.
* stdlibref/codecvt-byname.html: Same.
* stdlibref/basic-fstream.html: Same.
* stdlibref/1-3.html: Same.
* stdlibref/A-3.html: Same.
* stdlibref/localedefutility.html: Same.
* stdlibref/partial-sort.html: Same.
2007-05-09 Martin Sebor <sebor@roguewave.com>
STDCXX-407
* index.html: Renamed "Rogue Wave Standard Stylesheet"
to "Apache stdcxx Stylesheet."
* stdlibug/22-2.html: Same.
* stdlibug/42-2.html: Same.
* stdlibug/25-1.html: Same.
* stdlibug/14-4.html: Same.
* stdlibug/45-1.html: Same.
* stdlibug/34-4.html: Same.
* stdlibug/17.html: Same.
* stdlibug/26-6.html: Same.
* stdlibug/29.html: Same.
* stdlibug/3-1.html: Same.
* stdlibug/1-7.html: Same.
* stdlibug/11-2.html: Same.
* stdlibug/31-2.html: Same.
* stdlibug/14-1.html: Same.
* stdlibug/34-1.html: Same.
* stdlibug/14.html: Same.
* stdlibug/40-5.html: Same.
* stdlibug/23-4.html: Same.
* stdlibug/43-4.html: Same.
* stdlibug/26-3.html: Same.
* stdlibug/26.html: Same.
* stdlibug/frames-intro-text.html: Same.
* stdlibug/29-2.html: Same.
* stdlibug/38.html: Same.
* stdlibug/35-6.html: Same.
* stdlibug/38-5.html: Same.
* stdlibug/frames-intro-contents.html: Same.
* stdlibug/1-4.html: Same.
* stdlibug/4-3.html: Same.
* stdlibug/7-2.html: Same.
* stdlibug/20-2.html: Same.
* stdlibug/11.html: Same.
* stdlibug/40-2.html: Same.
* stdlibug/23-1.html: Same.
* stdlibug/43-1.html: Same.
* stdlibug/23.html: Same.
* stdlibug/32-4.html: Same.
* stdlibug/15-3.html: Same.
* stdlibug/35.html: Same.
* stdlibug/35-3.html: Same.
* stdlibug/18-2.html: Same.
* stdlibug/38-2.html: Same.
* stdlibug/1-1.html: Same.
* stdlibug/9.html: Same.
* stdlibug/8-4.html: Same.
* stdlibug/frames-banner.html: Same.
* stdlibug/12-1.html: Same.
* stdlibug/20.html: Same.
* stdlibug/32-1.html: Same.
* stdlibug/32.html: Same.
* stdlibug/24-3.html: Same.
* stdlibug/13-6.html: Same.
* stdlibug/44.html: Same.
* stdlibug/27-2.html: Same.
* stdlibug/I.html: Same.
* stdlibug/tindex.html: Same.
* stdlibug/2-3.html: Same.
* stdlibug/5-2.html: Same.
* stdlibug/8-1.html: Same.
* stdlibug/6.html: Same.
* stdlibug/21-1.html: Same.
* stdlibug/41-1.html: Same.
* stdlibug/acknow.html: Same.
* stdlibug/30-4.html: Same.
* stdlibug/13-3.html: Same.
* stdlibug/41.html: Same.
* stdlibug/33-3.html: Same.
* stdlibug/16-2.html: Same.
* stdlibug/22-6.html: Same.
* stdlibug/36-2.html: Same.
* stdlibug/19-1.html: Same.
* stdlibug/25-5.html: Same.
* stdlibug/39-1.html: Same.
* stdlibug/45-5.html: Same.
* stdlibug/28-4.html: Same.
* stdlibug/3.html: Same.
* stdlibug/3-5.html: Same.
* stdlibug/V.html: Same.
* stdlibug/9-3.html: Same.
* stdlibug/10-1.html: Same.
* stdlibug/30-1.html: Same.
* stdlibug/22-3.html: Same.
* stdlibug/42-3.html: Same.
* stdlibug/25-2.html: Same.
* stdlibug/14-5.html: Same.
* stdlibug/45-2.html: Same.
* stdlibug/28-1.html: Same.
* stdlibug/18.html: Same.
* stdlibug/26-7.html: Same.
* stdlibug/lists.html: Same.
* stdlibug/3-2.html: Same.
* stdlibug/6-1.html: Same.
* stdlibug/frames-contents-all.html: Same.
* stdlibug/11-3.html: Same.
* stdlibug/31-3.html: Same.
* stdlibug/14-2.html: Same.
* stdlibug/34-2.html: Same.
* stdlibug/17-1.html: Same.
* stdlibug/15.html: Same.
* stdlibug/37-1.html: Same.
* stdlibug/26-4.html: Same.
* stdlibug/27.html: Same.
* stdlibug/29-3.html: Same.
* stdlibug/39.html: Same.
* stdlibug/frames-tindex-contents.html: Same.
* stdlibug/1-5.html: Same.
* stdlibug/4-4.html: Same.
* stdlibug/7-3.html: Same.
* stdlibug/copyright.html: Same.
* stdlibug/20-3.html: Same.
* stdlibug/12.html: Same.
* stdlibug/40-3.html: Same.
* stdlibug/23-2.html: Same.
* stdlibug/43-2.html: Same.
* stdlibug/24.html: Same.
* stdlibug/26-1.html: Same.
* stdlibug/32-5.html: Same.
* stdlibug/46-1.html: Same.
* stdlibug/36.html: Same.
* stdlibug/35-4.html: Same.
* stdlibug/18-3.html: Same.
* stdlibug/38-3.html: Same.
* stdlibug/1-2.html: Same.
* stdlibug/4-1.html: Same.
* stdlibug/frames-tindex.html: Same.
* stdlibug/index.html: Same.
* stdlibug/12-2.html: Same.
* stdlibug/21.html: Same.
* stdlibug/32-2.html: Same.
* stdlibug/15-1.html: Same.
* stdlibug/35-1.html: Same.
* stdlibug/33.html: Same.
* stdlibug/24-4.html: Same.
* stdlibug/VII.html: Same.
* stdlibug/13-7.html: Same.
* stdlibug/45.html: Same.
* stdlibug/27-3.html: Same.
* stdlibug/2-4.html: Same.
* stdlibug/5-3.html: Same.
* stdlibug/8-2.html: Same.
* stdlibug/7.html: Same.
* stdlibug/21-2.html: Same.
* stdlibug/30.html: Same.
* stdlibug/41-2.html: Same.
* stdlibug/24-1.html: Same.
* stdlibug/30-5.html: Same.
* stdlibug/13-4.html: Same.
* stdlibug/44-1.html: Same.
* stdlibug/42.html: Same.
* stdlibug/16-3.html: Same.
* stdlibug/22-7.html: Same.
* stdlibug/36-3.html: Same.
* stdlibug/19-2.html: Same.
* stdlibug/25-6.html: Same.
* stdlibug/39-2.html: Same.
* stdlibug/28-5.html: Same.
* stdlibug/2-1.html: Same.
* stdlibug/4.html: Same.
* stdlibug/noframes.html: Same.
* stdlibug/VI.html: Same.
* stdlibug/10-2.html: Same.
* stdlibug/30-2.html: Same.
* stdlibug/13-1.html: Same.
* stdlibug/33-1.html: Same.
* stdlibug/22-4.html: Same.
* stdlibug/25-3.html: Same.
* stdlibug/14-6.html: Same.
* stdlibug/45-3.html: Same.
* stdlibug/28-2.html: Same.
* stdlibug/19.html: Same.
* stdlibug/26-8.html: Same.
* stdlibug/1.html: Same.
* stdlibug/3-3.html: Same.
* stdlibug/6-2.html: Same.
* stdlibug/9-1.html: Same.
* stdlibug/22-1.html: Same.
* stdlibug/42-1.html: Same.
* stdlibug/14-3.html: Same.
* stdlibug/34-3.html: Same.
* stdlibug/17-2.html: Same.
* stdlibug/16.html: Same.
* stdlibug/37-2.html: Same.
* stdlibug/26-5.html: Same.
* stdlibug/28.html: Same.
* stdlibug/booktoc.html: Same.
* stdlibug/II.html: Same.
* stdlibug/1-6.html: Same.
* stdlibug/11-1.html: Same.
* stdlibug/31-1.html: Same.
* stdlibug/13.html: Same.
* stdlibug/40-4.html: Same.
* stdlibug/23-3.html: Same.
* stdlibug/43-3.html: Same.
* stdlibug/25.html: Same.
* stdlibug/26-2.html: Same.
* stdlibug/32-6.html: Same.
* stdlibug/29-1.html: Same.
* stdlibug/37.html: Same.
* stdlibug/35-5.html: Same.
* stdlibug/18-4.html: Same.
* stdlibug/38-4.html: Same.
* stdlibug/1-3.html: Same.
* stdlibug/4-2.html: Same.
* stdlibug/7-1.html: Same.
* stdlibug/frames-displayarea.html: Same.
* stdlibug/III.html: Same.
* stdlibug/IV.html: Same.
* stdlibug/20-1.html: Same.
* stdlibug/10.html: Same.
* stdlibug/40-1.html: Same.
* stdlibug/12-3.html: Same.
* stdlibug/22.html: Same.
* stdlibug/32-3.html: Same.
* stdlibug/15-2.html: Same.
* stdlibug/35-2.html: Same.
* stdlibug/34.html: Same.
* stdlibug/18-1.html: Same.
* stdlibug/38-1.html: Same.
* stdlibug/13-8.html: Same.
* stdlibug/46.html: Same.
* stdlibug/27-4.html: Same.
* stdlibug/contact.html: Same.
* stdlibug/2-5.html: Same.
* stdlibug/5-4.html: Same.
* stdlibug/8.html: Same.
* stdlibug/8-3.html: Same.
* stdlibug/21-3.html: Same.
* stdlibug/31.html: Same.
* stdlibug/41-3.html: Same.
* stdlibug/24-2.html: Same.
* stdlibug/13-5.html: Same.
* stdlibug/44-2.html: Same.
* stdlibug/43.html: Same.
* stdlibug/27-1.html: Same.
* stdlibug/16-4.html: Same.
* stdlibug/36-4.html: Same.
* stdlibug/39-3.html: Same.
* stdlibug/frames-contents-chapter.html: Same.
* stdlibug/2-2.html: Same.
* stdlibug/5-1.html: Same.
* stdlibug/5.html: Same.
* stdlibug/10-3.html: Same.
* stdlibug/30-3.html: Same.
* stdlibug/13-2.html: Same.
* stdlibug/40.html: Same.
* stdlibug/33-2.html: Same.
* stdlibug/16-1.html: Same.
* stdlibug/22-5.html: Same.
* stdlibug/36-1.html: Same.
* stdlibug/25-4.html: Same.
* stdlibug/14-7.html: Same.
* stdlibug/45-4.html: Same.
* stdlibug/28-3.html: Same.
* stdlibug/26-9.html: Same.
* stdlibug/VIII.html: Same.
* stdlibug/2.html: Same.
* stdlibug/3-4.html: Same.
* stdlibug/6-3.html: Same.
* stdlibug/9-2.html: Same.
* stdlibref/iterators.html: Same.
* stdlibref/operatornew.html: Same.
* stdlibref/strstream-h.html: Same.
* stdlibref/swap.html: Same.
* stdlibref/negators.html: Same.
* stdlibref/stdexcept-h.html: Same.
* stdlibref/uninitialized-fill.html: Same.
* stdlibref/frames-intro-contents.html: Same.
* stdlibref/insert-iterator.html: Same.
* stdlibref/ctype-byname.html: Same.
* stdlibref/invalid-argument.html: Same.
* stdlibref/algorithms.html: Same.
* stdlibref/frames-banner.html: Same.
* stdlibref/replace-copy.html: Same.
* stdlibref/back-insert-iterator.html: Same.
* stdlibref/get-temporary-buffer.html: Same.
* stdlibref/range-error.html: Same.
* stdlibref/time-get-byname.html: Same.
* stdlibref/set.html: Same.
* stdlibref/mem-fun.html: Same.
* stdlibref/num-get.html: Same.
* stdlibref/stack-h.html: Same.
* stdlibref/locale.html: Same.
* stdlibref/frames-tindex-contents.html: Same.
* stdlibref/ios-h.html: Same.
* stdlibref/next-permutation.html: Same.
* stdlibref/divides.html: Same.
* stdlibref/unary-negate.html: Same.
* stdlibref/advance.html: Same.
* stdlibref/min-element.html: Same.
* stdlibref/istreambuf-iterator.html: Same.
* stdlibref/inner-product.html: Same.
* stdlibref/noframes.html: Same.
* stdlibref/1.html: Same.
* stdlibref/not2.html: Same.
* stdlibref/II.html: Same.
* stdlibref/partition.html: Same.
* stdlibref/predicates.html: Same.
* stdlibref/modulus.html: Same.
* stdlibref/unique.html: Same.
* stdlibref/multiplies.html: Same.
* stdlibref/2.html: Same.
2007-05-09 Martin Sebor <sebor@roguewave.com>
STDCXX-407
* stdlibref/new-h.html: Renamed "Rogue Wave Standard Stylesheet"
to "Apache stdcxx Stylesheet."
* stdlibref/2-11.html: Same.
* stdlibref/front-insert-iterator.html: Same.
* stdlibref/char-traits.html: Same.
* stdlibref/B.html: Same.
* stdlibref/queue.html: Same.
* stdlibref/reverse-iterator.html: Same.
* stdlibref/negate.html: Same.
* stdlibref/string.html: Same.
* stdlibref/messages.html: Same.
* stdlibref/numpunct.html: Same.
* stdlibref/logical-and.html: Same.
* stdlibref/indirect-array.html: Same.
* stdlibref/bad-cast.html: Same.
* stdlibref/bad-typeid.html: Same.
* stdlibref/locale-h.html: Same.
* stdlibref/deque-h.html: Same.
* stdlibref/frames-intro-text.html: Same.
* stdlibref/minus.html: Same.
* stdlibref/istream-iterator.html: Same.
* stdlibref/sequences.html: Same.
* stdlibref/lower-bound.html: Same.
* stdlibref/wstring.html: Same.
* stdlibref/basic-ofstream.html: Same.
* stdlibref/equal-range.html: Same.
* stdlibref/sstream-h.html: Same.
* stdlibref/ostrstream.html: Same.
* stdlibref/ios-base--failure.html: Same.
* stdlibref/find-first-of.html: Same.
* stdlibref/complex.html: Same.
* stdlibref/2-9.html: Same.
* stdlibref/random-shuffle.html: Same.
* stdlibref/algorithm-h.html: Same.
* stdlibref/find-if.html: Same.
* stdlibref/iterator-h.html: Same.
* stdlibref/prev-permutation.html: Same.
* stdlibref/adjacent-find.html: Same.
* stdlibref/isupper.html: Same.
* stdlibref/cerr.html: Same.
* stdlibref/1-1.html: Same.
* stdlibref/merge.html: Same.
* stdlibref/ios-base.html: Same.
* stdlibref/2-6.html: Same.
* stdlibref/search.html: Same.
* stdlibref/valarray-h.html: Same.
* stdlibref/gslice.html: Same.
* stdlibref/return-temporary-buffer.html: Same.
* stdlibref/logical-not.html: Same.
* stdlibref/basic-istringstream.html: Same.
* stdlibref/use-facet.html: Same.
* stdlibref/A-1.html: Same.
* stdlibref/plus.html: Same.
* stdlibref/localeutility.html: Same.
* stdlibref/isxdigit.html: Same.
* stdlibref/basic-string.html: Same.
* stdlibref/compare.html: Same.
* stdlibref/sort.html: Same.
* stdlibref/I.html: Same.
* stdlibref/count.html: Same.
* stdlibref/utility-h.html: Same.
* stdlibref/iterator.html: Same.
* stdlibref/tindex.html: Same.
* stdlibref/isdigit.html: Same.
* stdlibref/outputiterators.html: Same.
* stdlibref/ostreambuf-iterator.html: Same.
* stdlibref/toupper.html: Same.
* stdlibref/2-3.html: Same.
* stdlibref/bidirectionaliterators.html: Same.
* stdlibref/runtime-error.html: Same.
* stdlibref/time-put-byname.html: Same.
* stdlibref/operatordelete.html: Same.
* stdlibref/nth-element.html: Same.
* stdlibref/unary-function.html: Same.
* stdlibref/valarray.html: Same.
* stdlibref/lexicographical-compare.html: Same.
* stdlibref/bad-exception.html: Same.
* stdlibref/acknow.html: Same.
* stdlibref/fill.html: Same.
* stdlibref/uninitialized-fill-n.html: Same.
* stdlibref/isprint.html: Same.
* stdlibref/bitset.html: Same.
* stdlibref/inputiterators.html: Same.
* stdlibref/underflow-error.html: Same.
* stdlibref/partial-sum.html: Same.
* stdlibref/insertiterators.html: Same.
* stdlibref/bind1st.html: Same.
* stdlibref/binary-function.html: Same.
* stdlibref/queue-h.html: Same.
* stdlibref/cout.html: Same.
* stdlibref/replace.html: Same.
* stdlibref/iter-swap.html: Same.
* stdlibref/wcerr.html: Same.
* stdlibref/min.html: Same.
* stdlibref/greater.html: Same.
* stdlibref/money-put.html: Same.
* stdlibref/lists.html: Same.
* stdlibref/domain-error.html: Same.
* stdlibref/exception.html: Same.
* stdlibref/map-h.html: Same.
* stdlibref/money-get.html: Same.
* stdlibref/num-put.html: Same.
* stdlibref/less.html: Same.
* stdlibref/inplace-merge.html: Same.
* stdlibref/replace-copy-if.html: Same.
* stdlibref/not1.html: Same.
* stdlibref/collate.html: Same.
* stdlibref/logic-error.html: Same.
* stdlibref/overflow-error.html: Same.
* stdlibref/basic-filebuf.html: Same.
* stdlibref/iterator-traits.html: Same.
* stdlibref/associativecontainers.html: Same.
* stdlibref/priority-queue.html: Same.
* stdlibref/pointer-to-binary-function.html: Same.
* stdlibref/copyright.html: Same.
* stdlibref/isalnum.html: Same.
* stdlibref/transform.html: Same.
* stdlibref/list.html: Same.
* stdlibref/exceptions.html: Same.
* stdlibref/max.html: Same.
* stdlibref/multimap.html: Same.
* stdlibref/remove.html: Same.
* stdlibref/1-2.html: Same.
* stdlibref/wcout.html: Same.
* stdlibref/basic-stringstream.html: Same.
* stdlibref/sort-heap.html: Same.
* stdlibref/2-7.html: Same.
* stdlibref/frames-tindex.html: Same.
* stdlibref/index.html: Same.
* stdlibref/slice-array.html: Same.
* stdlibref/A-2.html: Same.
* stdlibref/pointer-to-unary-function.html: Same.
* stdlibref/set-h.html: Same.
* stdlibref/find.html: Same.
* stdlibref/ctype.html: Same.
* stdlibref/fstream-h.html: Same.
* stdlibref/numeric-h.html: Same.
* stdlibref/remove-if.html: Same.
* stdlibref/distance.html: Same.
* stdlibref/pair.html: Same.
* stdlibref/set-intersection.html: Same.
* stdlibref/adjacent-difference.html: Same.
* stdlibref/moneypunct.html: Same.
* stdlibref/numeric-limits.html: Same.
* stdlibref/remove-copy-if.html: Same.
* stdlibref/2-4.html: Same.
* stdlibref/streambuf-h.html: Same.
* stdlibref/bad-alloc.html: Same.
* stdlibref/bitmasktypes.html: Same.
* stdlibref/basic-ostringstream.html: Same.
* stdlibref/basic-stringbuf.html: Same.
* stdlibref/reverse-copy.html: Same.
* stdlibref/functional-h.html: Same.
* stdlibref/isspace.html: Same.
* stdlibref/basic-ifstream.html: Same.
* stdlibref/string-h.html: Same.
* stdlibref/slice.html: Same.
* stdlibref/2-1.html: Same.
* stdlibref/list-h.html: Same.
* stdlibref/ostream-iterator.html: Same.
* stdlibref/vector.html: Same.
* stdlibref/time-put.html: Same.
* stdlibref/time-get.html: Same.
* stdlibref/auto-ptr.html: Same.
* stdlibref/isalpha.html: Same.
* stdlibref/raw-storage-iterator.html: Same.
* stdlibref/find-end.html: Same.
* stdlibref/clog.html: Same.
* stdlibref/islower.html: Same.
* stdlibref/vector-h.html: Same.
* stdlibref/generate.html: Same.
* stdlibref/ptr-fun.html: Same.
* stdlibref/isgraph.html: Same.
* stdlibref/wcin.html: Same.
* stdlibref/codecvt-byname.html: Same.
* stdlibref/functoc.html: Same.
* stdlibref/fpos.html: Same.
* stdlibref/reverse.html: Same.
* stdlibref/max-element.html: Same.
* stdlibref/2-10.html: Same.
* stdlibref/A.html: Same.
* stdlibref/basic-fstream.html: Same.
* stdlibref/gslice-array.html: Same.
* stdlibref/for-each.html: Same.
* stdlibref/not-equal-to.html: Same.
* stdlibref/codecvt.html: Same.
* stdlibref/logical-or.html: Same.
* stdlibref/partial-sort-copy.html: Same.
* stdlibref/push-heap.html: Same.
* stdlibref/tolower.html: Same.
* stdlibref/has-facet.html: Same.
* stdlibref/rotate.html: Same.
* stdlibref/upper-bound.html: Same.
* stdlibref/booktoc.html: Same.
* stdlibref/out-of-range.html: Same.
* stdlibref/basic-streambuf.html: Same.
* stdlibref/basic-ios.html: Same.
* stdlibref/iscntrl.html: Same.
* stdlibref/allocator.html: Same.
* stdlibref/iosfwd-h.html: Same.
* stdlibref/accumulate.html: Same.
* stdlibref/basic-istream.html: Same.
* stdlibref/strstream.html: Same.
* stdlibref/streamiterators.html: Same.
* stdlibref/complex-h.html: Same.
* stdlibref/--iterator-category.html: Same.
* stdlibref/functionobjects.html: Same.
* stdlibref/1-3.html: Same.
* stdlibref/basic-iostream.html: Same.
* stdlibref/2-8.html: Same.
* stdlibref/frames-displayarea.html: Same.
* stdlibref/III.html: Same.
* stdlibref/wclog.html: Same.
* stdlibref/IV.html: Same.
* stdlibref/uninitialized-copy.html: Same.
* stdlibref/A-3.html: Same.
* stdlibref/ispunct.html: Same.
* stdlibref/binary-negate.html: Same.
* stdlibref/equal-to.html: Same.
* stdlibref/swap-ranges.html: Same.
* stdlibref/make-heap.html: Same.
* stdlibref/contact.html: Same.
* stdlibref/istrstream.html: Same.
* stdlibref/randomaccessiterators.html: Same.
* stdlibref/ostream-h.html: Same.
* stdlibref/stable-sort.html: Same.
* stdlibref/forwarditerators.html: Same.
* stdlibref/frames-classes-func.html: Same.
* stdlibref/localedefutility.html: Same.
* stdlibref/2-5.html: Same.
* stdlibref/multiset.html: Same.
* stdlibref/length-error.html: Same.
* stdlibref/less-equal.html: Same.
* stdlibref/operators.html: Same.
* stdlibref/iomanip-h.html: Same.
* stdlibref/heapoperations.html: Same.
* stdlibref/set-union.html: Same.
* stdlibref/exception-h.html: Same.
* stdlibref/set-difference.html: Same.
* stdlibref/limits-h.html: Same.
* stdlibref/basic-ostream.html: Same.
* stdlibref/frames-classes-alpha.html: Same.
* stdlibref/memory-h.html: Same.
* stdlibref/set-symmetric-difference.html: Same.
* stdlibref/2-2.html: Same.
* stdlibref/deque.html: Same.
* stdlibref/mismatch.html: Same.
* stdlibref/facets.html: Same.
* stdlibref/equal.html: Same.
* stdlibref/iostream-h.html: Same.
* stdlibref/cin.html: Same.
* stdlibref/map.html: Same.
* stdlibref/partial-sort.html: Same.
* stdlibref/stable-partition.html: Same.
* stdlibref/strstreambuf.html: Same.
* stdlibref/typeinfo-h.html: Same.
* stdlibref/binary-search.html: Same.
* stdlibref/istream-h.html: Same.
* stdlibref/greater-equal.html: Same.
* stdlibref/--distance-type.html: Same.
* stdlibref/remove-copy.html: Same.
* stdlibref/containers.html: Same.
* stdlibref/stack.html: Same.
* stdlibref/includes.html: Same.
* stdlibref/replace-if.html: Same.
* stdlibref/mask-array.html: Same.
* stdlibref/pop-heap.html: Same.
* stdlibref/copy.html: Same.
2007-05-08 Martin Sebor <sebor@roguewave.com>
* gcc.config (PICFLAGS): Avoided clever tricks in conditional
to avoid failing to match Cygwin.
2007-05-08 Martin Sebor <sebor@roguewave.com>
* stdlibref/frames-banner.html: Made stdcxx index page replace
the whole page instead of just a single frame.
* stdlibug/frames-banner.html: Same.
2007-05-08 Martin Sebor <sebor@roguewave.com>
* stdlibref/frames-banner.html: Added an image of Apache logo
and a link to the stdcxx project web page to make it easier
for users to navigate to the site.
* stdlibug/frames-banner.html: Same.
2007-05-08 Martin Sebor <sebor@roguewave.com>
STDCXX-407
* B.html: Removed references to "Rogue Wave extensions."
* frames-intro-contents.html: Same.
* noframes.html: Same.
* IV.html: Same.
2007-05-06 Martin Sebor <sebor@roguewave.com>
* stdlibug/22-2.html: Inserted Google Analytics tracking code
using the sed script below:
/<\/BODY>/ {
$!N
s/<\/BODY>\n<\/HTML>/\n\n<!-- Google Analytics tracking code -->\n<script src="http:\/\/www.google-analytics.com\/urchin.js" type="text\/javascript">\n<\/script>\n<script type="text\/javascript">\n _uacct = "UA-1775151-1";\n urchinTracker();\n<\/script>\n<!-- end of Google Analytics tracking code -->\n\n<\/BODY>\n<\/HTML>/
}
* stdlibug/42-2.html: Same.
* stdlibug/25-1.html: Same.
* stdlibug/14-4.html: Same.
* stdlibug/45-1.html: Same.
* stdlibug/34-4.html: Same.
* stdlibug/17.html: Same.
* stdlibug/26-6.html: Same.
* stdlibug/29.html: Same.
* stdlibug/3-1.html: Same.
* stdlibug/1-7.html: Same.
* stdlibug/11-2.html: Same.
* stdlibug/31-2.html: Same.
* stdlibug/14-1.html: Same.
* stdlibug/34-1.html: Same.
* stdlibug/14.html: Same.
* stdlibug/40-5.html: Same.
* stdlibug/23-4.html: Same.
* stdlibug/43-4.html: Same.
* stdlibug/26-3.html: Same.
* stdlibug/26.html: Same.
* stdlibug/frames-intro-text.html: Same.
* stdlibug/29-2.html: Same.
* stdlibug/38.html: Same.
* stdlibug/35-6.html: Same.
* stdlibug/38-5.html: Same.
* stdlibug/frames-intro-contents.html: Same.
* stdlibug/1-4.html: Same.
* stdlibug/4-3.html: Same.
* stdlibug/7-2.html: Same.
* stdlibug/20-2.html: Same.
* stdlibug/11.html: Same.
* stdlibug/40-2.html: Same.
* stdlibug/23-1.html: Same.
* stdlibug/43-1.html: Same.
* stdlibug/23.html: Same.
* stdlibug/32-4.html: Same.
* stdlibug/15-3.html: Same.
* stdlibug/35.html: Same.
* stdlibug/35-3.html: Same.
* stdlibug/18-2.html: Same.
* stdlibug/38-2.html: Same.
* stdlibug/1-1.html: Same.
* stdlibug/9.html: Same.
* stdlibug/8-4.html: Same.
* stdlibug/12-1.html: Same.
* stdlibug/20.html: Same.
* stdlibug/32-1.html: Same.
* stdlibug/32.html: Same.
* stdlibug/24-3.html: Same.
* stdlibug/13-6.html: Same.
* stdlibug/44.html: Same.
* stdlibug/27-2.html: Same.
* stdlibug/I.html: Same.
* stdlibug/tindex.html: Same.
* stdlibug/2-3.html: Same.
* stdlibug/5-2.html: Same.
* stdlibug/8-1.html: Same.
* stdlibug/6.html: Same.
* stdlibug/21-1.html: Same.
* stdlibug/41-1.html: Same.
* stdlibug/acknow.html: Same.
* stdlibug/30-4.html: Same.
* stdlibug/13-3.html: Same.
* stdlibug/41.html: Same.
* stdlibug/33-3.html: Same.
* stdlibug/16-2.html: Same.
* stdlibug/22-6.html: Same.
* stdlibug/36-2.html: Same.
* stdlibug/19-1.html: Same.
* stdlibug/25-5.html: Same.
* stdlibug/39-1.html: Same.
* stdlibug/45-5.html: Same.
* stdlibug/28-4.html: Same.
* stdlibug/3.html: Same.
* stdlibug/3-5.html: Same.
* stdlibug/V.html: Same.
* stdlibug/9-3.html: Same.
* stdlibug/10-1.html: Same.
* stdlibug/30-1.html: Same.
* stdlibug/22-3.html: Same.
* stdlibug/42-3.html: Same.
* stdlibug/25-2.html: Same.
* stdlibug/14-5.html: Same.
* stdlibug/45-2.html: Same.
* stdlibug/28-1.html: Same.
* stdlibug/18.html: Same.
* stdlibug/26-7.html: Same.
* stdlibug/lists.html: Same.
* stdlibug/3-2.html: Same.
* stdlibug/6-1.html: Same.
* stdlibug/frames-contents-all.html: Same.
* stdlibug/11-3.html: Same.
* stdlibug/31-3.html: Same.
* stdlibug/14-2.html: Same.
* stdlibug/34-2.html: Same.
* stdlibug/17-1.html: Same.
* stdlibug/15.html: Same.
* stdlibug/37-1.html: Same.
* stdlibug/26-4.html: Same.
* stdlibug/27.html: Same.
* stdlibug/29-3.html: Same.
* stdlibug/39.html: Same.
* stdlibug/frames-tindex-contents.html: Same.
* stdlibug/1-5.html: Same.
* stdlibug/4-4.html: Same.
* stdlibug/7-3.html: Same.
* stdlibug/copyright.html: Same.
* stdlibug/20-3.html: Same.
* stdlibug/12.html: Same.
* stdlibug/40-3.html: Same.
* stdlibug/23-2.html: Same.
* stdlibug/43-2.html: Same.
* stdlibug/24.html: Same.
* stdlibug/26-1.html: Same.
* stdlibug/32-5.html: Same.
* stdlibug/46-1.html: Same.
* stdlibug/36.html: Same.
* stdlibug/35-4.html: Same.
* stdlibug/18-3.html: Same.
* stdlibug/38-3.html: Same.
* stdlibug/1-2.html: Same.
* stdlibug/4-1.html: Same.
* stdlibug/12-2.html: Same.
* stdlibug/21.html: Same.
* stdlibug/32-2.html: Same.
* stdlibug/15-1.html: Same.
* stdlibug/35-1.html: Same.
* stdlibug/33.html: Same.
* stdlibug/24-4.html: Same.
* stdlibug/VII.html: Same.
* stdlibug/13-7.html: Same.
* stdlibug/45.html: Same.
* stdlibug/27-3.html: Same.
* stdlibug/2-4.html: Same.
* stdlibug/5-3.html: Same.
* stdlibug/8-2.html: Same.
* stdlibug/7.html: Same.
* stdlibug/21-2.html: Same.
* stdlibug/30.html: Same.
* stdlibug/41-2.html: Same.
* stdlibug/24-1.html: Same.
* stdlibug/30-5.html: Same.
* stdlibug/13-4.html: Same.
* stdlibug/44-1.html: Same.
* stdlibug/42.html: Same.
* stdlibug/16-3.html: Same.
* stdlibug/22-7.html: Same.
* stdlibug/36-3.html: Same.
* stdlibug/19-2.html: Same.
* stdlibug/25-6.html: Same.
* stdlibug/39-2.html: Same.
* stdlibug/28-5.html: Same.
* stdlibug/2-1.html: Same.
* stdlibug/4.html: Same.
* stdlibug/noframes.html: Same.
* stdlibug/VI.html: Same.
* stdlibug/10-2.html: Same.
* stdlibug/30-2.html: Same.
* stdlibug/13-1.html: Same.
* stdlibug/33-1.html: Same.
* stdlibug/22-4.html: Same.
* stdlibug/25-3.html: Same.
* stdlibug/14-6.html: Same.
* stdlibug/45-3.html: Same.
* stdlibug/28-2.html: Same.
* stdlibug/19.html: Same.
* stdlibug/26-8.html: Same.
* stdlibug/1.html: Same.
* stdlibug/3-3.html: Same.
* stdlibug/6-2.html: Same.
* stdlibug/9-1.html: Same.
* stdlibug/22-1.html: Same.
* stdlibug/42-1.html: Same.
* stdlibug/14-3.html: Same.
* stdlibug/34-3.html: Same.
* stdlibug/17-2.html: Same.
* stdlibug/16.html: Same.
* stdlibug/37-2.html: Same.
* stdlibug/26-5.html: Same.
* stdlibug/28.html: Same.
* stdlibug/booktoc.html: Same.
* stdlibug/II.html: Same.
* stdlibug/1-6.html: Same.
* stdlibug/11-1.html: Same.
* stdlibug/31-1.html: Same.
* stdlibug/13.html: Same.
* stdlibug/40-4.html: Same.
* stdlibug/23-3.html: Same.
* stdlibug/43-3.html: Same.
* stdlibug/25.html: Same.
* stdlibug/26-2.html: Same.
* stdlibug/32-6.html: Same.
* stdlibug/29-1.html: Same.
* stdlibug/37.html: Same.
* stdlibug/35-5.html: Same.
* stdlibug/18-4.html: Same.
* stdlibug/38-4.html: Same.
* stdlibug/1-3.html: Same.
* stdlibug/4-2.html: Same.
* stdlibug/7-1.html: Same.
* stdlibug/III.html: Same.
* stdlibug/IV.html: Same.
* stdlibug/20-1.html: Same.
* stdlibug/10.html: Same.
* stdlibug/40-1.html: Same.
* stdlibug/12-3.html: Same.
* stdlibug/22.html: Same.
* stdlibug/32-3.html: Same.
* stdlibug/15-2.html: Same.
* stdlibug/35-2.html: Same.
* stdlibug/34.html: Same.
* stdlibug/18-1.html: Same.
* stdlibug/38-1.html: Same.
* stdlibug/13-8.html: Same.
* stdlibug/46.html: Same.
* stdlibug/27-4.html: Same.
* stdlibug/2-5.html: Same.
* stdlibug/5-4.html: Same.
* stdlibug/8.html: Same.
* stdlibug/8-3.html: Same.
* stdlibug/21-3.html: Same.
* stdlibug/31.html: Same.
* stdlibug/41-3.html: Same.
* stdlibug/24-2.html: Same.
* stdlibug/13-5.html: Same.
* stdlibug/44-2.html: Same.
* stdlibug/43.html: Same.
* stdlibug/27-1.html: Same.
* stdlibug/16-4.html: Same.
* stdlibug/36-4.html: Same.
* stdlibug/39-3.html: Same.
* stdlibug/frames-contents-chapter.html: Same.
* stdlibug/2-2.html: Same.
* stdlibug/5-1.html: Same.
* stdlibug/5.html: Same.
* stdlibug/10-3.html: Same.
* stdlibug/30-3.html: Same.
* stdlibug/13-2.html: Same.
* stdlibug/40.html: Same.
* stdlibug/33-2.html: Same.
* stdlibug/16-1.html: Same.
* stdlibug/22-5.html: Same.
* stdlibug/36-1.html: Same.
* stdlibug/25-4.html: Same.
* stdlibug/14-7.html: Same.
* stdlibug/45-4.html: Same.
* stdlibug/28-3.html: Same.
* stdlibug/26-9.html: Same.
* stdlibug/VIII.html: Same.
* stdlibug/2.html: Same.
* stdlibug/3-4.html: Same.
* stdlibug/6-3.html: Same.
* stdlibug/9-2.html: Same.
* stdlibref/iterators.html: Same.
* stdlibref/new-h.html: Same.
* stdlibref/2-11.html: Same.
* stdlibref/B.html: Same.
* stdlibref/char-traits.html: Same.
* stdlibref/front-insert-iterator.html: Same.
* stdlibref/queue.html: Same.
* stdlibref/reverse-iterator.html: Same.
* stdlibref/negate.html: Same.
* stdlibref/operatornew.html: Same.
* stdlibref/string.html: Same.
* stdlibref/messages.html: Same.
* stdlibref/numpunct.html: Same.
* stdlibref/strstream-h.html: Same.
* stdlibref/logical-and.html: Same.
* stdlibref/swap.html: Same.
* stdlibref/indirect-array.html: Same.
* stdlibref/bad-cast.html: Same.
* stdlibref/negators.html: Same.
* stdlibref/bad-typeid.html: Same.
* stdlibref/locale-h.html: Same.
* stdlibref/deque-h.html: Same.
* stdlibref/frames-intro-text.html: Same.
* stdlibref/stdexcept-h.html: Same.
* stdlibref/minus.html: Same.
* stdlibref/istream-iterator.html: Same.
* stdlibref/sequences.html: Same.
* stdlibref/uninitialized-fill.html: Same.
* stdlibref/lower-bound.html: Same.
* stdlibref/wstring.html: Same.
* stdlibref/basic-ofstream.html: Same.
* stdlibref/equal-range.html: Same.
* stdlibref/frames-intro-contents.html: Same.
* stdlibref/ostrstream.html: Same.
* stdlibref/sstream-h.html: Same.
* stdlibref/ios-base--failure.html: Same.
* stdlibref/2-9.html: Same.
* stdlibref/complex.html: Same.
* stdlibref/find-first-of.html: Same.
* stdlibref/random-shuffle.html: Same.
* stdlibref/algorithm-h.html: Same.
* stdlibref/find-if.html: Same.
* stdlibref/iterator-h.html: Same.
* stdlibref/prev-permutation.html: Same.
* stdlibref/isupper.html: Same.
* stdlibref/adjacent-find.html: Same.
* stdlibref/insert-iterator.html: Same.
* stdlibref/cerr.html: Same.
* stdlibref/ctype-byname.html: Same.
* stdlibref/1-1.html: Same.
* stdlibref/merge.html: Same.
* stdlibref/ios-base.html: Same.
* stdlibref/2-6.html: Same.
* stdlibref/search.html: Same.
* stdlibref/return-temporary-buffer.html: Same.
* stdlibref/invalid-argument.html: Same.
* stdlibref/gslice.html: Same.
* stdlibref/valarray-h.html: Same.
* stdlibref/logical-not.html: Same.
* stdlibref/algorithms.html: Same.
* stdlibref/basic-istringstream.html: Same.
* stdlibref/use-facet.html: Same.
* stdlibref/A-1.html: Same.
* stdlibref/replace-copy.html: Same.
* stdlibref/plus.html: Same.
* stdlibref/localeutility.html: Same.
* stdlibref/isxdigit.html: Same.
* stdlibref/basic-string.html: Same.
* stdlibref/compare.html: Same.
* stdlibref/sort.html: Same.
* stdlibref/I.html: Same.
* stdlibref/count.html: Same.
* stdlibref/utility-h.html: Same.
* stdlibref/iterator.html: Same.
* stdlibref/tindex.html: Same.
* stdlibref/isdigit.html: Same.
* stdlibref/outputiterators.html: Same.
* stdlibref/ostreambuf-iterator.html: Same.
* stdlibref/toupper.html: Same.
* stdlibref/2-3.html: Same.
* stdlibref/bidirectionaliterators.html: Same.
* stdlibref/runtime-error.html: Same.
* stdlibref/time-put-byname.html: Same.
* stdlibref/operatordelete.html: Same.
* stdlibref/nth-element.html: Same.
* stdlibref/unary-function.html: Same.
* stdlibref/valarray.html: Same.
* stdlibref/lexicographical-compare.html: Same.
* stdlibref/bad-exception.html: Same.
* stdlibref/acknow.html: Same.
* stdlibref/fill.html: Same.
* stdlibref/uninitialized-fill-n.html: Same.
* stdlibref/isprint.html: Same.
* stdlibref/back-insert-iterator.html: Same.
* stdlibref/bitset.html: Same.
* stdlibref/inputiterators.html: Same.
* stdlibref/underflow-error.html: Same.
* stdlibref/partial-sum.html: Same.
* stdlibref/insertiterators.html: Same.
* stdlibref/bind1st.html: Same.
* stdlibref/get-temporary-buffer.html: Same.
* stdlibref/binary-function.html: Same.
* stdlibref/queue-h.html: Same.
* stdlibref/cout.html: Same.
* stdlibref/replace.html: Same.
* stdlibref/iter-swap.html: Same.
* stdlibref/wcerr.html: Same.
* stdlibref/range-error.html: Same.
* stdlibref/min.html: Same.
* stdlibref/time-get-byname.html: Same.
* stdlibref/greater.html: Same.
* stdlibref/set.html: Same.
* stdlibref/money-put.html: Same.
* stdlibref/lists.html: Same.
* stdlibref/domain-error.html: Same.
* stdlibref/exception.html: Same.
* stdlibref/map-h.html: Same.
* stdlibref/money-get.html: Same.
* stdlibref/mem-fun.html: Same.
* stdlibref/num-put.html: Same.
* stdlibref/less.html: Same.
* stdlibref/inplace-merge.html: Same.
* stdlibref/num-get.html: Same.
* stdlibref/replace-copy-if.html: Same.
* stdlibref/not1.html: Same.
* stdlibref/collate.html: Same.
* stdlibref/logic-error.html: Same.
* stdlibref/overflow-error.html: Same.
* stdlibref/stack-h.html: Same.
* stdlibref/basic-filebuf.html: Same.
* stdlibref/iterator-traits.html: Same.
* stdlibref/locale.html: Same.
* stdlibref/associativecontainers.html: Same.
* stdlibref/frames-tindex-contents.html: Same.
* stdlibref/priority-queue.html: Same.
* stdlibref/pointer-to-binary-function.html: Same.
* stdlibref/isalnum.html: Same.
* stdlibref/copyright.html: Same.
* stdlibref/list.html: Same.
* stdlibref/transform.html: Same.
* stdlibref/ios-h.html: Same.
* stdlibref/exceptions.html: Same.
* stdlibref/next-permutation.html: Same.
* stdlibref/max.html: Same.
* stdlibref/multimap.html: Same.
* stdlibref/remove.html: Same.
* stdlibref/1-2.html: Same.
* stdlibref/basic-stringstream.html: Same.
* stdlibref/wcout.html: Same.
* stdlibref/sort-heap.html: Same.
* stdlibref/2-7.html: Same.
* stdlibref/slice-array.html: Same.
* stdlibref/pointer-to-unary-function.html: Same.
* stdlibref/A-2.html: Same.
* stdlibref/find.html: Same.
* stdlibref/set-h.html: Same.
* stdlibref/ctype.html: Same.
* stdlibref/fstream-h.html: Same.
* stdlibref/numeric-h.html: Same.
* stdlibref/divides.html: Same.
* stdlibref/remove-if.html: Same.
* stdlibref/distance.html: Same.
* stdlibref/pair.html: Same.
* stdlibref/set-intersection.html: Same.
* stdlibref/unary-negate.html: Same.
* stdlibref/remove-copy-if.html: Same.
* stdlibref/numeric-limits.html: Same.
* stdlibref/moneypunct.html: Same.
* stdlibref/adjacent-difference.html: Same.
* stdlibref/advance.html: Same.
* stdlibref/2-4.html: Same.
* stdlibref/min-element.html: Same.
* stdlibref/streambuf-h.html: Same.
* stdlibref/bad-alloc.html: Same.
* stdlibref/bitmasktypes.html: Same.
* stdlibref/basic-ostringstream.html: Same.
* stdlibref/basic-stringbuf.html: Same.
* stdlibref/reverse-copy.html: Same.
* stdlibref/isspace.html: Same.
* stdlibref/functional-h.html: Same.
* stdlibref/istreambuf-iterator.html: Same.
* stdlibref/basic-ifstream.html: Same.
* stdlibref/inner-product.html: Same.
* stdlibref/string-h.html: Same.
* stdlibref/2-1.html: Same.
* stdlibref/slice.html: Same.
* stdlibref/list-h.html: Same.
* stdlibref/ostream-iterator.html: Same.
* stdlibref/vector.html: Same.
* stdlibref/time-put.html: Same.
* stdlibref/noframes.html: Same.
* stdlibref/auto-ptr.html: Same.
* stdlibref/time-get.html: Same.
* stdlibref/isalpha.html: Same.
* stdlibref/raw-storage-iterator.html: Same.
* stdlibref/islower.html: Same.
* stdlibref/clog.html: Same.
* stdlibref/find-end.html: Same.
* stdlibref/vector-h.html: Same.
* stdlibref/generate.html: Same.
* stdlibref/ptr-fun.html: Same.
* stdlibref/isgraph.html: Same.
* stdlibref/1.html: Same.
* stdlibref/codecvt-byname.html: Same.
* stdlibref/wcin.html: Same.
* stdlibref/functoc.html: Same.
* stdlibref/fpos.html: Same.
* stdlibref/reverse.html: Same.
* stdlibref/max-element.html: Same.
* stdlibref/2-10.html: Same.
* stdlibref/basic-fstream.html: Same.
* stdlibref/A.html: Same.
* stdlibref/not2.html: Same.
* stdlibref/gslice-array.html: Same.
* stdlibref/for-each.html: Same.
* stdlibref/not-equal-to.html: Same.
* stdlibref/codecvt.html: Same.
* stdlibref/logical-or.html: Same.
* stdlibref/partial-sort-copy.html: Same.
* stdlibref/push-heap.html: Same.
* stdlibref/has-facet.html: Same.
* stdlibref/tolower.html: Same.
* stdlibref/rotate.html: Same.
* stdlibref/booktoc.html: Same.
* stdlibref/upper-bound.html: Same.
* stdlibref/II.html: Same.
* stdlibref/out-of-range.html: Same.
* stdlibref/basic-streambuf.html: Same.
* stdlibref/basic-ios.html: Same.
* stdlibref/iscntrl.html: Same.
* stdlibref/iosfwd-h.html: Same.
* stdlibref/allocator.html: Same.
* stdlibref/basic-istream.html: Same.
* stdlibref/accumulate.html: Same.
* stdlibref/strstream.html: Same.
* stdlibref/streamiterators.html: Same.
* stdlibref/complex-h.html: Same.
* stdlibref/--iterator-category.html: Same.
* stdlibref/functionobjects.html: Same.
* stdlibref/1-3.html: Same.
* stdlibref/basic-iostream.html: Same.
* stdlibref/2-8.html: Same.
* stdlibref/partition.html: Same.
* stdlibref/III.html: Same.
* stdlibref/wclog.html: Same.
* stdlibref/IV.html: Same.
* stdlibref/A-3.html: Same.
* stdlibref/uninitialized-copy.html: Same.
* stdlibref/predicates.html: Same.
* stdlibref/ispunct.html: Same.
* stdlibref/binary-negate.html: Same.
* stdlibref/equal-to.html: Same.
* stdlibref/swap-ranges.html: Same.
* stdlibref/make-heap.html: Same.
* stdlibref/istrstream.html: Same.
* stdlibref/randomaccessiterators.html: Same.
* stdlibref/ostream-h.html: Same.
* stdlibref/stable-sort.html: Same.
* stdlibref/forwarditerators.html: Same.
* stdlibref/frames-classes-func.html: Same.
* stdlibref/localedefutility.html: Same.
* stdlibref/2-5.html: Same.
* stdlibref/multiset.html: Same.
* stdlibref/length-error.html: Same.
* stdlibref/less-equal.html: Same.
* stdlibref/operators.html: Same.
* stdlibref/iomanip-h.html: Same.
* stdlibref/heapoperations.html: Same.
* stdlibref/set-union.html: Same.
* stdlibref/exception-h.html: Same.
* stdlibref/set-difference.html: Same.
* stdlibref/limits-h.html: Same.
* stdlibref/modulus.html: Same.
* stdlibref/basic-ostream.html: Same.
* stdlibref/frames-classes-alpha.html: Same.
* stdlibref/memory-h.html: Same.
* stdlibref/set-symmetric-difference.html: Same.
* stdlibref/2-2.html: Same.
* stdlibref/deque.html: Same.
* stdlibref/mismatch.html: Same.
* stdlibref/facets.html: Same.
* stdlibref/unique.html: Same.
* stdlibref/equal.html: Same.
* stdlibref/iostream-h.html: Same.
* stdlibref/cin.html: Same.
* stdlibref/map.html: Same.
* stdlibref/partial-sort.html: Same.
* stdlibref/stable-partition.html: Same.
* stdlibref/strstreambuf.html: Same.
* stdlibref/typeinfo-h.html: Same.
* stdlibref/multiplies.html: Same.
* stdlibref/binary-search.html: Same.
* stdlibref/istream-h.html: Same.
* stdlibref/greater-equal.html: Same.
* stdlibref/2.html: Same.
* stdlibref/--distance-type.html: Same.
* stdlibref/remove-copy.html: Same.
* stdlibref/containers.html: Same.
* stdlibref/stack.html: Same.
* stdlibref/includes.html: Same.
* stdlibref/replace-if.html: Same.
* stdlibref/mask-array.html: Same.
* stdlibref/pop-heap.html: Same.
* stdlibref/copy.html: Same.
2007-05-06 Martin Sebor <sebor@roguewave.com>
* index.html: Removed executable property, set EOL style to native,
and added the Id keyword.
* stdlibref/find-end.html: Same.
* stdlibref/bad-alloc.html: Same.
* stdlibref/fstream-h.html: Same.
* stdlibref/not-equal-to.html: Same.
* stdlibref/iter-swap.html: Same.
* stdlibref/stable-sort.html: Same.
* stdlibref/collate.html: Same.
* stdlibref/fill.html: Same.
* stdlibref/bad-typeid.html: Same.
* stdlibref/isgraph.html: Same.
* stdlibref/IV.html: Same.
* stdlibref/isupper.html: Same.
* stdlibref/basic-stringstream.html: Same.
* stdlibref/allocator.html: Same.
* stdlibref/operators.html: Same.
* stdlibref/wcin.html: Same.
* stdlibref/basic-filebuf.html: Same.
* stdlibref/isspace.html: Same.
* stdlibref/frames-intro-text.html: Same.
* stdlibref/logical-and.html: Same.
* stdlibref/equal-to.html: Same.
* stdlibref/auto-ptr.html: Same.
* stdlibref/ptr-fun.html: Same.
* stdlibref/isalnum.html: Same.
* stdlibref/I.html: Same.
* stdlibref/2-5.html: Same.
* stdlibref/A.html: Same.
* stdlibref/new-h.html: Same.
* stdlibref/has-facet.html: Same.
* stdlibref/sequences.html: Same.
* stdlibref/containers.html: Same.
* stdlibref/search.html: Same.
* stdlibref/vector.html: Same.
* stdlibref/isprint.html: Same.
* stdlibref/islower.html: Same.
* stdlibref/complex-h.html: Same.
* stdlibref/remove-copy.html: Same.
* stdlibref/bad-cast.html: Same.
* stdlibref/nth-element.html: Same.
* stdlibref/basic-ostream.html: Same.
* stdlibref/set-intersection.html: Same.
* stdlibref/istrstream.html: Same.
* stdlibref/operatordelete.html: Same.
* stdlibref/2-7.html: Same.
* stdlibref/basic-fstream.html: Same.
* stdlibref/sort-heap.html: Same.
* stdlibref/set-symmetric-difference.html: Same.
* stdlibref/strstream.html: Same.
* stdlibref/adjacent-find.html: Same.
* stdlibref/accumulate.html: Same.
* stdlibref/clog.html: Same.
* stdlibref/numeric-h.html: Same.
* stdlibref/basic-ios.html: Same.
* stdlibref/functionobjects.html: Same.
* stdlibref/mismatch.html: Same.
* stdlibref/reverse-iterator.html: Same.
* stdlibref/time-get.html: Same.
* stdlibref/lower-bound.html: Same.
* stdlibref/time-put.html: Same.
* stdlibref/istream-iterator.html: Same.
* stdlibref/pointer-to-unary-function.html: Same.
* stdlibref/map-h.html: Same.
* stdlibref/list-h.html: Same.
* stdlibref/basic-istream.html: Same.
* stdlibref/basic-ifstream.html: Same.
* stdlibref/pop-heap.html: Same.
* stdlibref/plus.html: Same.
* stdlibref/runtime-error.html: Same.
* stdlibref/A-2.html: Same.
* stdlibref/memory-h.html: Same.
* stdlibref/bitmasktypes.html: Same.
* stdlibref/binary-search.html: Same.
* stdlibref/fpos.html: Same.
* stdlibref/sort.html: Same.
* stdlibref/moneypunct.html: Same.
* stdlibref/acknow.html: Same.
* stdlibref/basic-ostringstream.html: Same.
* stdlibref/cin.html: Same.
* stdlibref/char-traits.html: Same.
* stdlibref/wclog.html: Same.
* stdlibref/domain-error.html: Same.
* stdlibref/compare.html: Same.
* stdlibref/list.html: Same.
* stdlibref/iterator-traits.html: Same.
* stdlibref/pair.html: Same.
* stdlibref/localeutility.html: Same.
* stdlibref/A-3.html: Same.
* stdlibref/rotate.html: Same.
* stdlibref/set-union.html: Same.
* stdlibref/1-1.html: Same.
* stdlibref/sstream-h.html: Same.
* stdlibref/2-3.html: Same.
* stdlibref/front-insert-iterator.html: Same.
* stdlibref/money-get.html: Same.
* stdlibref/lexicographical-compare.html: Same.
* stdlibref/ios-base--failure.html: Same.
* stdlibref/numpunct.html: Same.
* stdlibref/2-6.html: Same.
* stdlibref/bitset.html: Same.
* stdlibref/replace-if.html: Same.
* stdlibref/greater.html: Same.
* stdlibref/valarray.html: Same.
* stdlibref/minus.html: Same.
* stdlibref/2-8.html: Same.
* stdlibref/basic-ofstream.html: Same.
* stdlibref/max-element.html: Same.
* stdlibref/overflow-error.html: Same.
* stdlibref/wcout.html: Same.
* stdlibref/binary-negate.html: Same.
* stdlibref/stack.html: Same.
* stdlibref/A-1.html: Same.
* stdlibref/iostream-h.html: Same.
* stdlibref/booktoc.html: Same.
* stdlibref/facets.html: Same.
* stdlibref/reverse.html: Same.
* stdlibref/partial-sort-copy.html: Same.
* stdlibref/wcerr.html: Same.
* stdlibref/money-put.html: Same.
* stdlibref/less-equal.html: Same.
* stdlibref/insertiterators.html: Same.
* stdlibref/contact.html: Same.
* stdlibref/stable-partition.html: Same.
* stdlibref/multiset.html: Same.
* stdlibref/raw-storage-iterator.html: Same.
* stdlibref/frames-classes-alpha.html: Same.
* stdlibref/--iterator-category.html: Same.
* stdlibref/find.html: Same.
* stdlibref/time-put-byname.html: Same.
* stdlibref/basic-istringstream.html: Same.
* stdlibref/num-put.html: Same.
* stdlibref/set-h.html: Same.
* stdlibref/frames-displayarea.html: Same.
* stdlibref/queue-h.html: Same.
* stdlibref/min.html: Same.
* stdlibref/swap-ranges.html: Same.
* stdlibref/binary-function.html: Same.
* stdlibref/2-10.html: Same.
* stdlibref/iomanip-h.html: Same.
* stdlibref/forwarditerators.html: Same.
* stdlibref/bidirectionaliterators.html: Same.
* stdlibref/transform.html: Same.
* stdlibref/frames-tindex.html: Same.
* stdlibref/strstreambuf.html: Same.
* stdlibref/negate.html: Same.
* stdlibref/slice-array.html: Same.
* stdlibref/associativecontainers.html: Same.
* stdlibref/basic-stringbuf.html: Same.
* stdlibref/copy.html: Same.
* stdlibref/valarray-h.html: Same.
* stdlibref/ostream-h.html: Same.
* stdlibref/equal-range.html: Same.
* stdlibref/limits-h.html: Same.
* stdlibref/replace-copy-if.html: Same.
* stdlibref/exception-h.html: Same.
* stdlibref/iscntrl.html: Same.
* stdlibref/tolower.html: Same.
* stdlibref/III.html: Same.
* stdlibref/underflow-error.html: Same.
* stdlibref/gslice-array.html: Same.
* stdlibref/localedefutility.html: Same.
* stdlibref/make-heap.html: Same.
* stdlibref/outputiterators.html: Same.
* stdlibref/unary-function.html: Same.
* stdlibref/priority-queue.html: Same.
* stdlibref/generate.html: Same.
* stdlibref/streambuf-h.html: Same.
* stdlibref/prev-permutation.html: Same.
* stdlibref/push-heap.html: Same.
* stdlibref/use-facet.html: Same.
* stdlibref/logical-or.html: Same.
* stdlibref/find-first-of.html: Same.
* stdlibref/multimap.html: Same.
* stdlibref/toupper.html: Same.
* stdlibref/gslice.html: Same.
* stdlibref/codecvt.html: Same.
* stdlibref/string-h.html: Same.
* stdlibref/find-if.html: Same.
* stdlibref/1-2.html: Same.
* stdlibref/cerr.html: Same.
* stdlibref/index.html: Same.
* stdlibref/ios-base.html: Same.
* stdlibref/ostream-iterator.html: Same.
* stdlibref/includes.html: Same.
* stdlibref/messages.html: Same.
* stdlibref/2-11.html: Same.
* stdlibref/B.html: Same.
* stdlibref/bind1st.html: Same.
* stdlibref/logical-not.html: Same.
* stdlibref/numeric-limits.html: Same.
* stdlibref/inplace-merge.html: Same.
* stdlibref/isxdigit.html: Same.
* stdlibref/2-2.html: Same.
* stdlibref/deque-h.html: Same.
* stdlibref/slice.html: Same.
* stdlibref/count.html: Same.
* stdlibref/2-1.html: Same.
* stdlibref/random-shuffle.html: Same.
* stdlibref/for-each.html: Same.
* stdlibref/functoc.html: Same.
* stdlibref/max.html: Same.
* stdlibref/partial-sum.html: Same.
* stdlibref/streamiterators.html: Same.
* stdlibref/indirect-array.html: Same.
* stdlibref/algorithm-h.html: Same.
* stdlibref/distance.html: Same.
* stdlibref/queue.html: Same.
* stdlibref/utility-h.html: Same.
* stdlibref/basic-string.html: Same.
* stdlibref/remove-if.html: Same.
* stdlibref/exceptions.html: Same.
* stdlibref/merge.html: Same.
* stdlibref/partial-sort.html: Same.
* stdlibref/vector-h.html: Same.
* stdlibref/iterator-h.html: Same.
* stdlibref/mask-array.html: Same.
* stdlibref/cout.html: Same.
* stdlibref/heapoperations.html: Same.
* stdlibref/ostreambuf-iterator.html: Same.
* stdlibref/uninitialized-copy.html: Same.
* stdlibref/uninitialized-fill-n.html: Same.
* stdlibref/length-error.html: Same.
* stdlibref/reverse-copy.html: Same.
* stdlibref/adjacent-difference.html: Same.
* stdlibref/2-9.html: Same.
* stdlibref/basic-iostream.html: Same.
* stdlibref/exception.html: Same.
* stdlibref/remove.html: Same.
* stdlibref/less.html: Same.
* stdlibref/typeinfo-h.html: Same.
* stdlibref/locale-h.html: Same.
* stdlibref/functional-h.html: Same.
* stdlibref/isalpha.html: Same.
* stdlibref/basic-streambuf.html: Same.
* stdlibref/istream-h.html: Same.
* stdlibref/iterator.html: Same.
* stdlibref/lists.html: Same.
* stdlibref/pointer-to-binary-function.html: Same.
* stdlibref/not1.html: Same.
* stdlibref/upper-bound.html: Same.
* stdlibref/out-of-range.html: Same.
* stdlibref/codecvt-byname.html: Same.
* stdlibref/iosfwd-h.html: Same.
* stdlibref/tindex.html: Same.
* stdlibref/wstring.html: Same.
* stdlibref/string.html: Same.
* stdlibref/complex.html: Same.
* stdlibref/1-3.html: Same.
* stdlibref/greater-equal.html: Same.
* stdlibref/ostrstream.html: Same.
* stdlibref/2-4.html: Same.
* stdlibref/copyright.html: Same.
* stdlibref/frames-classes-func.html: Same.
* stdlibref/remove-copy-if.html: Same.
* stdlibref/ctype.html: Same.
* stdlibref/isdigit.html: Same.
* stdlibref/inputiterators.html: Same.
* stdlibref/logic-error.html: Same.
* stdlibref/equal.html: Same.
* stdlibref/--distance-type.html: Same.
* stdlibref/randomaccessiterators.html: Same.
* stdlibref/deque.html: Same.
* stdlibref/ispunct.html: Same.
* stdlibref/return-temporary-buffer.html: Same.
* stdlibref/set-difference.html: Same.
* stdlibref/bad-exception.html: Same.
* stdlibref/replace.html: Same.
* stdlibref/map.html: Same.
* stdlibref/unique.html: Same.
* stdlibref/modulus.html: Same.
* stdlibref/mem-fun.html: Same.
* stdlibref/strstream-h.html: Same.
* stdlibref/time-get-byname.html: Same.
* stdlibref/unary-negate.html: Same.
* stdlibref/advance.html: Same.
* stdlibref/multiplies.html: Same.
* stdlibref/set.html: Same.
* stdlibref/get-temporary-buffer.html: Same.
* stdlibref/II.html: Same.
* stdlibref/replace-copy.html: Same.
* stdlibref/num-get.html: Same.
* stdlibref/frames-tindex-contents.html: Same.
* stdlibref/invalid-argument.html: Same.
* stdlibref/noframes.html: Same.
* stdlibref/inner-product.html: Same.
* stdlibref/istreambuf-iterator.html: Same.
* stdlibref/frames-banner.html: Same.
* stdlibref/uninitialized-fill.html: Same.
* stdlibref/partition.html: Same.
* stdlibref/predicates.html: Same.
* stdlibref/stack-h.html: Same.
* stdlibref/ctype-byname.html: Same.
* stdlibref/1.html: Same.
* stdlibref/min-element.html: Same.
* stdlibref/operatornew.html: Same.
* stdlibref/swap.html: Same.
* stdlibref/insert-iterator.html: Same.
* stdlibref/not2.html: Same.
* stdlibref/iterators.html: Same.
* stdlibref/2.html: Same.
* stdlibref/stdexcept-h.html: Same.
* stdlibref/next-permutation.html: Same.
* stdlibref/divides.html: Same.
* stdlibref/algorithms.html: Same.
* stdlibref/back-insert-iterator.html: Same.
* stdlibref/frames-intro-contents.html: Same.
* stdlibref/locale.html: Same.
* stdlibref/ios-h.html: Same.
* stdlibref/range-error.html: Same.
* stdlibref/negators.html: Same.
* stdlibug/43-3.html: Same.
* stdlibug/26-3.html: Same.
* stdlibug/IV.html: Same.
* stdlibug/8-2.html: Same.
* stdlibug/4-2.html: Same.
* stdlibug/28-3.html: Same.
* stdlibug/VIII.html: Same.
* stdlibug/42-3.html: Same.
* stdlibug/18-1.html: Same.
* stdlibug/8-3.html: Same.
* stdlibug/26-7.html: Same.
* stdlibug/31-3.html: Same.
* stdlibug/27-4.html: Same.
* stdlibug/1-6.html: Same.
* stdlibug/frames-intro-text.html: Same.
* stdlibug/45-3.html: Same.
* stdlibug/5-3.html: Same.
* stdlibug/23-2.html: Same.
* stdlibug/6-2.html: Same.
* stdlibug/24-4.html: Same.
* stdlibug/I.html: Same.
* stdlibug/38-3.html: Same.
* stdlibug/38-4.html: Same.
* stdlibug/43-4.html: Same.
* stdlibug/12.html: Same.
* stdlibug/2-5.html: Same.
* stdlibug/22-3.html: Same.
* stdlibug/45-5.html: Same.
* stdlibug/10-3.html: Same.
* stdlibug/26-1.html: Same.
* stdlibug/45-1.html: Same.
* stdlibug/27-1.html: Same.
* stdlibug/5-1.html: Same.
* stdlibug/38-5.html: Same.
* stdlibug/15-2.html: Same.
* stdlibug/3.html: Same.
* stdlibug/26-6.html: Same.
* stdlibug/37-2.html: Same.
* stdlibug/43.html: Same.
* stdlibug/22-5.html: Same.
* stdlibug/3-3.html: Same.
* stdlibug/32-4.html: Same.
* stdlibug/26.html: Same.
* stdlibug/13-4.html: Same.
* stdlibug/23.html: Same.
* stdlibug/19-2.html: Same.
* stdlibug/29.html: Same.
* stdlibug/19.html: Same.
* stdlibug/14.html: Same.
* stdlibug/33-1.html: Same.
* stdlibug/7-2.html: Same.
* stdlibug/5-4.html: Same.
* stdlibug/40-5.html: Same.
* stdlibug/34-3.html: Same.
* stdlibug/24-2.html: Same.
* stdlibug/41-2.html: Same.
* stdlibug/11-3.html: Same.
* stdlibug/10.html: Same.
* stdlibug/14-7.html: Same.
* stdlibug/8-1.html: Same.
* stdlibug/VI.html: Same.
* stdlibug/35.html: Same.
* stdlibug/35-4.html: Same.
* stdlibug/acknow.html: Same.
* stdlibug/33-3.html: Same.
* stdlibug/44.html: Same.
* stdlibug/29-1.html: Same.
* stdlibug/40-3.html: Same.
* stdlibug/31-2.html: Same.
* stdlibug/28.html: Same.
* stdlibug/36.html: Same.
* stdlibug/46-1.html: Same.
* stdlibug/34-4.html: Same.
* stdlibug/1-1.html: Same.
* stdlibug/45-2.html: Same.
* stdlibug/2-3.html: Same.
* stdlibug/21-3.html: Same.
* stdlibug/13-5.html: Same.
* stdlibug/39-2.html: Same.
* stdlibug/20-2.html: Same.
* stdlibug/22-7.html: Same.
* stdlibug/23-3.html: Same.
* stdlibug/33-2.html: Same.
* stdlibug/16-4.html: Same.
* stdlibug/42.html: Same.
* stdlibug/28-4.html: Same.
* stdlibug/25-6.html: Same.
* stdlibug/35-3.html: Same.
* stdlibug/25.html: Same.
* stdlibug/32-5.html: Same.
* stdlibug/9-1.html: Same.
* stdlibug/24-3.html: Same.
* stdlibug/booktoc.html: Same.
* stdlibug/39-1.html: Same.
* stdlibug/14-3.html: Same.
* stdlibug/26-5.html: Same.
* stdlibug/contact.html: Same.
* stdlibug/31-1.html: Same.
* stdlibug/13-3.html: Same.
* stdlibug/36-4.html: Same.
* stdlibug/38-2.html: Same.
* stdlibug/12-3.html: Same.
* stdlibug/5.html: Same.
* stdlibug/16-2.html: Same.
* stdlibug/frames-displayarea.html: Same.
* stdlibug/28-2.html: Same.
* stdlibug/34-1.html: Same.
* stdlibug/14-4.html: Same.
* stdlibug/17.html: Same.
* stdlibug/13-7.html: Same.
* stdlibug/41-1.html: Same.
* stdlibug/32.html: Same.
* stdlibug/13-8.html: Same.
* stdlibug/6.html: Same.
* stdlibug/32-6.html: Same.
* stdlibug/27-3.html: Same.
* stdlibug/22-1.html: Same.
* stdlibug/43-2.html: Same.
* stdlibug/34.html: Same.
* stdlibug/frames-tindex.html: Same.
* stdlibug/13-6.html: Same.
* stdlibug/24.html: Same.
* stdlibug/21-1.html: Same.
* stdlibug/40-1.html: Same.
* stdlibug/38-1.html: Same.
* stdlibug/45-4.html: Same.
* stdlibug/34-2.html: Same.
* stdlibug/10-1.html: Same.
* stdlibug/39.html: Same.
* stdlibug/24-1.html: Same.
* stdlibug/15-1.html: Same.
* stdlibug/11-2.html: Same.
* stdlibug/35-1.html: Same.
* stdlibug/III.html: Same.
* stdlibug/9.html: Same.
* stdlibug/22-6.html: Same.
* stdlibug/3-5.html: Same.
* stdlibug/5-2.html: Same.
* stdlibug/3-4.html: Same.
* stdlibug/43-1.html: Same.
* stdlibug/V.html: Same.
* stdlibug/22-2.html: Same.
* stdlibug/41.html: Same.
* stdlibug/38.html: Same.
* stdlibug/13.html: Same.
* stdlibug/41-3.html: Same.
* stdlibug/39-3.html: Same.
* stdlibug/20.html: Same.
* stdlibug/14-5.html: Same.
* stdlibug/40.html: Same.
* stdlibug/3-2.html: Same.
* stdlibug/26-2.html: Same.
* stdlibug/20-3.html: Same.
* stdlibug/1-2.html: Same.
* stdlibug/30-2.html: Same.
* stdlibug/7-1.html: Same.
* stdlibug/18-4.html: Same.
* stdlibug/index.html: Same.
* stdlibug/32-2.html: Same.
* stdlibug/25-2.html: Same.
* stdlibug/29-3.html: Same.
* stdlibug/21.html: Same.
* stdlibug/33.html: Same.
* stdlibug/2-2.html: Same.
* stdlibug/8-4.html: Same.
* stdlibug/45.html: Same.
* stdlibug/2-1.html: Same.
* stdlibug/14-1.html: Same.
* stdlibug/42-1.html: Same.
* stdlibug/11.html: Same.
* stdlibug/13-2.html: Same.
* stdlibug/15-3.html: Same.
* stdlibug/frames-contents-chapter.html: Same.
* stdlibug/7-3.html: Same.
* stdlibug/36-3.html: Same.
* stdlibug/35-6.html: Same.
* stdlibug/37-1.html: Same.
* stdlibug/7.html: Same.
* stdlibug/11-1.html: Same.
* stdlibug/18-2.html: Same.
* stdlibug/18.html: Same.
* stdlibug/26-9.html: Same.
* stdlibug/28-1.html: Same.
* stdlibug/30.html: Same.
* stdlibug/30-3.html: Same.
* stdlibug/40-2.html: Same.
* stdlibug/17-1.html: Same.
* stdlibug/20-1.html: Same.
* stdlibug/14-2.html: Same.
* stdlibug/6-3.html: Same.
* stdlibug/10-2.html: Same.
* stdlibug/32-1.html: Same.
* stdlibug/23-1.html: Same.
* stdlibug/25-1.html: Same.
* stdlibug/1-5.html: Same.
* stdlibug/22-4.html: Same.
* stdlibug/35-5.html: Same.
* stdlibug/22.html: Same.
* stdlibug/VII.html: Same.
* stdlibug/lists.html: Same.
* stdlibug/27.html: Same.
* stdlibug/21-2.html: Same.
* stdlibug/4-1.html: Same.
* stdlibug/tindex.html: Same.
* stdlibug/frames-contents-all.html: Same.
* stdlibug/1-7.html: Same.
* stdlibug/1-3.html: Same.
* stdlibug/2-4.html: Same.
* stdlibug/copyright.html: Same.
* stdlibug/13-1.html: Same.
* stdlibug/25-5.html: Same.
* stdlibug/16.html: Same.
* stdlibug/36-2.html: Same.
* stdlibug/46.html: Same.
* stdlibug/37.html: Same.
* stdlibug/4-3.html: Same.
* stdlibug/30-4.html: Same.
* stdlibug/4.html: Same.
* stdlibug/44-2.html: Same.
* stdlibug/17-2.html: Same.
* stdlibug/26-8.html: Same.
* stdlibug/30-1.html: Same.
* stdlibug/29-2.html: Same.
* stdlibug/8.html: Same.
* stdlibug/40-4.html: Same.
* stdlibug/36-1.html: Same.
* stdlibug/14-6.html: Same.
* stdlibug/9-2.html: Same.
* stdlibug/18-3.html: Same.
* stdlibug/32-3.html: Same.
* stdlibug/42-2.html: Same.
* stdlibug/31.html: Same.
* stdlibug/30-5.html: Same.
* stdlibug/II.html: Same.
* stdlibug/9-3.html: Same.
* stdlibug/frames-tindex-contents.html: Same.
* stdlibug/12-2.html: Same.
* stdlibug/noframes.html: Same.
* stdlibug/4-4.html: Same.
* stdlibug/6-1.html: Same.
* stdlibug/frames-banner.html: Same.
* stdlibug/25-4.html: Same.
* stdlibug/16-1.html: Same.
* stdlibug/26-4.html: Same.
* stdlibug/3-1.html: Same.
* stdlibug/1.html: Same.
* stdlibug/1-4.html: Same.
* stdlibug/35-2.html: Same.
* stdlibug/16-3.html: Same.
* stdlibug/2.html: Same.
* stdlibug/28-5.html: Same.
* stdlibug/23-4.html: Same.
* stdlibug/25-3.html: Same.
* stdlibug/27-2.html: Same.
* stdlibug/12-1.html: Same.
* stdlibug/frames-intro-contents.html: Same.
* stdlibug/15.html: Same.
* stdlibug/19-1.html: Same.
* stdlibug/44-1.html: Same.
2007-05-05 Martin Sebor <sebor@roguewave.com>
* mbsrtowcs.cpp: New example program to demonstrate an implementation
of the C Standard Library function mbsrtowcs() in terms of the C++
Standard Library codecvt facet precipitated by the Usenet thread:
http://groups.google.com/group/comp.lang.c++/browse_thread/thread/85ffe366e1d65734
* mbsrtowcs.out: Expected output of the example program.
2007-05-03 Martin Sebor <sebor@roguewave.com>
* environ.cpp [FreeBSD] (rw_putenv): Ignored unsetenv() return
value since the function is declared to return void on FreeBSD.
2007-05-03 Martin Sebor <sebor@roguewave.com>
* file.cpp (P_tmpdir): Added a comment.
2007-05-03 Martin Sebor <sebor@roguewave.com>
* index.html: Added Google Analytics tracking code and reformatted.
* stdlibug/frames-banner.html: Same.
* stdlibref/frames-banner.html: Same.
* stdlibug/index.html: Reformatted.
* stdlibref/index.html: Reformatted.
2007-05-02 Martin Sebor <sebor@roguewave.com>
STDCXX-338
* _config-gcc.h [__CYGWIN__](_RWSTD_NO_EXCEPTION_WHAT): Undefined
to prevent linker errors due to the symbol being multiply defined.
2007-05-02 Martin Sebor <sebor@roguewave.com>
* _config-msvc.h (_RWSTD_DLLIMPORT): Added comments.
2007-04-30 Martin Sebor <sebor@roguewave.com>
STDCXX-397
* algorithm.cc (__introsort_loop): Reduced max_depth before each
recursive call rather than after.
2007-04-30 Martin Sebor <sebor@roguewave.com>
STDCXX-399
* codecvt.html: Zero-initialized mbstate_t variable in example code
before passing it to codecvt::in() and codecvt::out() (as done in
revision 533806. Replaced std::endl with '\n' for efficiency.
2007-04-30 Martin Sebor <sebor@roguewave.com>
* codecvt.cpp (main): Zero-initialized mbstate_t variable
before passing it to codecvt::in() and codecvt::out().
Replaced std::endl with '\n' for efficiency.
2007-04-26 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-220
* collate.cpp (def::add_missing_values): Added checking of the
iterator validity before use.
2007-04-26 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-398
* projectdef.js (projectCreateVCProject): Added workarounds to build
projects with ".obj" in name on MSVC 7.x
2007-04-24 Farid Zaripov <Farid_Zaripov@epam.com>
* configure.wsf: "Checking" replaced with "checking" for consistency
(checkHeaders): removed variable hdrname2.
* utilities.js (stripTags): Rewritten to correctly extract text from Buildlog.htm.
* build.wsf (event_ProjectBuildFinished): Removed invoking of the decodeHTML()
because of this function invoked in stripTags().
2007-04-21 Farid Zaripov <Farid_Zaripov@epam.com>
* runall.wsf (runAllExamples, parseStatus): Added handling
of the status LINK.
2007-04-20 Farid Zaripov <Farid_Zaripov@epam.com>
* runall.wsf: Added options /PRJDIR and /COMPAT, removed options /BUILDTYPE and /COPYDLL
* projectdef.js: Add the library path to the PATH environment variable before
invoking scripts or utilities (exec, localedef)
* projects.js: Ditto. Removed copying libstdxx.dll to bin directory before invoking
scripts or utilities
2007-04-16 Farid Zaripov <Farid_Zaripov@epam.com>
* locale_stub.cpp (main): Corrected calculation of
the command line length (arglen).
2007-04-13 Farid Zaripov <Farid_Zaripov@epam.com>
* projects.js (CreateProjectsDefs): Corrected path to the
shared library.
2007-04-12 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.rwt (CXXPRELINK): Added LDLIBS to avoid IBM xlC link
failures.
2007-04-11 Farid Zaripov <Farid_Zaripov@epam.com>
* projects.js (localedef): Added a dependency on locale.cpp and
memchk.cpp.
(locale): Replaced all dependencies with one on locale_stub.cpp.
2007-04-11 Farid Zaripov <Farid_Zaripov@epam.com>
* generate.wsf (Echo): New function to replace WScript.Echo().
2007-04-10 Martin Sebor <sebor@roguewave.com>
STDCXX-393
* STRUCT_TM.cpp (OFF): #defined a helper macro when the offsetof()
macro from <stddef.h> doesn't work (i.e., when _RWSTD_NO_OFFSETOF
is #defined).
2007-04-10 Martin Sebor <sebor@roguewave.com>
* limits (_RWSTD_ROUND_STYLE): #defined to round_indeterminate
when the configuration macro _RWSTD_FLT_ROUNDS is not #defined.
2007-04-10 Martin Sebor <sebor@roguewave.com>
* LIMITS.cpp (<limits.h>): Removed an unnecessary #include directive
(causes compilation errors with EDG eccp -A on Linux due to the use
of the gcc #include_next extension in system headers).
2007-04-10 Martin Sebor <sebor@roguewave.com>
* gcc.config (wide): Encoded the PID of the shell in a temporary file
name to prevent collisions. Removed a stray $ from an invocation of
the echo built-in.
2007-04-10 Martin Sebor <sebor@roguewave.com>
* _mbstate.h: Updated ASF license.
2007-04-10 Martin Sebor <sebor@roguewave.com>
STDCXX-392
* _mbstate.h (_RWSTD_MBSTATE_T): #defined macro for generic OS.
2007-04-09 Martin Sebor <sebor@roguewave.com>
* 21.string.access.cpp (test_access): Cast an argument to
a (potentially) wider type to silence the pesky HP aCC 3.73
Warning (suggestion) 887: Type T is smaller than type U,
unwanted widening in value may result.
* 21.string.append.cpp (test_append): Same.
2007-04-09 Martin Sebor <sebor@roguewave.com>
STDCXX-390
* _specialized.h (__rw_construct): Removed const qualification from
second parameter and let the compiler deduce the cv-qualifier from
the actual argument.
2007-04-07 Martin Sebor <sebor@roguewave.com>
STDCXX-387
* DAYLIGHT.cpp: New config test to determine whether the system
supports the XSI POSIX extension daylight.
* time_put.cpp (daylight): #defined to 0 when _RWSTD_NO_DAYLIGHT
is #defined.
2007-04-06 Martin Sebor <sebor@roguewave.com>
STDCXX-386
* locale.cpp (main): Renamed...
(locale_main): ...to this and removed exception handling.
(print_mon): Added missing comma.
* localedef.cpp (main): Renamed...
(localedef_main): ...to this and removed exception handling.
(main): Invoked locale_main() or localedef_main() depending on whether
the first command line option is the special keyword "--locale-mode"
or something else. Handled exceptions from either function.
* locale_stub.cpp: New. Invokes localedef --locale-mode ...
* GNUmakefile.bin (localedef): Added a dependency on locale.o and
memchk.o.
(locale): Replaced all dependencies with one on locale_stub.o so
as to avoid linking the same object files into more than one program.
2007-04-06 Farid Zaripov <Farid_Zaripov@epam.com>
* build.wsf: Rename stdlib to stdcxx.
* generate.wsf: Ditto.
* makelog.wsf: Ditto.
* projects.js: Ditto. Rename out library name from
stdlib.[lib|dll] to libstd.[lib|dll] to consistency
with unix names
* runall.wsf: The same.
2007-04-06 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-352
* gcc.config [Cygwin]: Set SHARED_SUFFIX = .dll
2007-04-05 Martin Sebor <sebor@roguewave.com>
* valcmp.cpp (rw_fltcmp): Corrected typos in preprocessor conditional.
2007-04-05 Farid Zaripov <Farid_Zaripov@epam.com>
* build.wsf (BuildProject): Get real name of the project file
instead of the predefined PrjName.vcproj.
* generate.wsf (convertSolutions): New function to convert
the solution(s) from MSVC to ICC format.
(generate): Use convertSolutions() to convert the all
created solutions.
* summary.js (saveSummaryHeaderMulti): Close file to unlock
it before delete.
2007-04-04 Martin Sebor <sebor@roguewave.com>
STDCXX-385
* vector.cc (_C_insert_range): Renamed a loop control variable
to prevent clashing with another, and to silence a bogus HP
cadvise error #2101: variable has already been declared in the
current scope.
2007-04-03 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.tst (RWTESTDIR): Removed redundant variable.
(INCLUDES): Removed $(RWTESTDIR)/include (a duplicate of
$(TESTDIR)/include).
* GNUmakefile.rwt (SRCDIRS, INCLUDE, VPATH): Removed redundant
references to $(RWTESTDIR).
(TARGET): Removed incorrect/unused variable.
2007-04-03 Martin Sebor <sebor@roguewave.com>
* 21.string.find.last.of.cpp (TEST): Replaced NPOS with -1 to silence
(the justified) gcc warning: overflow in implicit constant conversion.
2007-04-02 Martin Sebor <sebor@roguewave.com>
* 27.ostream.cpp (test_formatted): Corrected wide character format
directives.
2007-04-02 Martin Sebor <sebor@roguewave.com>
STDCXX-383
* string (_C_off): Convenience functions to compute the unsigned
distance between two iterators or the offset of an iterator from
the beginning of the container.
(insert, erase, replace): Used _C_off() to silence HP aCC 3.76
remark #4271-D: type conversion may lose sign.
2007-04-02 Martin Sebor <sebor@roguewave.com>
STDCXX-382
* limits (_RWSTD_DIGITS): Cast a Boolean expression to int to silence
many HP aCC 3.76 remarks #4296-D: arithmetic operation on boolean type.
2007-03-30 Martin Sebor <sebor@roguewave.com>
STDCXX-379
* _config-xlc.h (_RWSTD_NO_EXTERN_TEMPLATE): Hardcoded macro
for XLC++ 8.0 and prior to work around a compiler bug.
2007-03-29 Martin Sebor <sebor@roguewave.com>
* process.cpp (<signal.h>, <sys/types.h>): Included for kill(), pid_t.
(E2BIG, SIGCHLD, SIGHUP, SIGQUIT, SIGKILL): Defined if not defined by
system headers.
(kill): Declared for EDG eccp demo.
2007-03-29 Farid Zaripov <Farid_Zaripov@epam.com>
* 21.string.io.cpp: Used std::size_t instead of size_t.
2007-03-29 Farid Zaripov <Farid_Zaripov@epam.com>
* 23.list.assign.cpp: Used std::size_t instead of size_t.
* 23.list.capacity.cpp: Ditto.
* 23.list.cons.cpp: Ditto.
* 23.list.erase.cpp: Ditto.
* 23.list.insert.cpp: Ditto.
* 23.list.iterators.cpp: Ditto.
2007-03-28 Martin Sebor <sebor@roguewave.com>
* GNUmakefile (CXXFLAGS.narrow, LDFLAGS.narrow, LDSOFLAGS.narrow,
ARFLAGS.narrow): Added options to BUILDMODE whenever a "narrow"
BUILDTYPE (i.e., one of { 8s, 11s, 12s, and 15s } is specified.
* acc.config (CXXFLAGS.narrow, LDFLAGS.narrow, LDSOFLAGS.narrow,
ARFLAGS.narrow): Commented out options implicit in the default
invocation of the compiler.
* mipspro.config: Ditto.
* vacpp.config: Ditto.
* gcc.config (CXXFLAGS.narrow, LDFLAGS.narrow, LDSOFLAGS.narrow,
ARFLAGS.narrow, CXXFLAGS.wide, LDFLAGS.wide, LDSOFLAGS.wide,
ARFLAGS.wide): Autodetected whether the default invocation of
the compiler produces narrow (32-bit) or wide (64-bit) code and
set options accordingly, avoiding specifying redundant options.
2007-03-28 Martin Sebor <sebor@roguewave.com>
* sunpro.config: Added a Makefile file type tag for emacs.
2007-03-28 Martin Sebor <sebor@roguewave.com>
* ctype.cpp (ctype_byname ctor): Asserted a precondition.
(_RWSTD_NO_V3_LOCALE, _V3_LOCALE): Removed/replaced obsolete macros.
2007-03-28 Farid Zaripov <Farid_Zaripov@epam.com>
* 23.list.assign.cpp (_rw_advance): Removed static keyword.
* 23.list.cons.cpp (_rw_advance): Ditto.
* 23.list.erase.cpp (_rw_advance, _rw_distance): Ditto.
* 23.list.insert.cpp (_rw_advance, _rw_distance): Ditto.
2007-03-27 Martin Sebor <sebor@roguewave.com>
STDCXX-112
* etc/config/README: Moved to...
* README: ...here.
2007-03-27 Martin Sebor <sebor@roguewave.com>
STDCXX-134
* driver.cpp (rw_vtest): Extended column width to accommodate very
large values.
STDCXX-376
* driver.cpp (rw_vtest): Used floating point arithmetic to avoid
integer overflow on very large values.
2007-03-27 Martin Sebor <sebor@roguewave.com>
* driver.cpp (_rw_setopt_ulimit): Silenced gcc warning: missing
initializer for member.
(rw_vtest): Allowed test source file name to be null.
2007-03-27 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-364
* STRUCT_TM_IN_WCHAR_H.cpp: Removed struct keyword.
2007-03-27 Farid Zaripov <Farid_Zaripov@epam.com>
* 23.list.assign.cpp: New test exercising [lib.list.assign].
* 23.list.capacity.cpp: New test exercising [lib.list.capacity].
* 23.list.cons.cpp: New test exercising [lib.list.cons].
* 23.list.erase.cpp: New test exercising [lib.list.,erase].
* 23.list.insert.cpp: New test exercising [lib.list.insert].
* 23.list.iterators.cpp: New test exercising [lib.list.iterators].
* 23.list.special.cpp: New test exercising [lib.list.special].
2007-03-26 Martin Sebor <sebor@roguewave.com>
STDCXX-62
* _money_get.cc (_C_get): Checked for iterator equality to end before
dereferencing it.
2007-03-26 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.tst (INCLUDES): Removed an unneeded directory from
the preprocessor search path.
2007-03-26 Martin Sebor <sebor@roguewave.com>
* algorithm.cc: Removed a stray backtick.
2007-03-26 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-131
* algorithm.cc (__stable_partition): Corrected an off-by-one error.
2007-03-26 Martin Sebor <sebor@roguewave.com>
STDCXX-371
* locale.cpp (print_currency_symbol): Corrected indices (regression
introduced in http://svn.apache.org/viewvc?view=rev&revision=448754).
2007-03-26 Martin Sebor <sebor@roguewave.com>
STDCXX-370
* def.cpp (convert_string): Removed the assumption that a string
that begins with the less-than sign also ends with a greater-than
sign.
2007-03-23 Martin Sebor <sebor@roguewave.com>
* 27.stringbuf.virtuals.cpp (test_virtual): Introduced a cast to silence
gcc warning: comparison between signed and unsigned integer expressions.
2007-03-23 Martin Sebor <sebor@roguewave.com>
* _basic_ios.h (~basic_ios): Removed protected declaration accidentally
introduced in http://svn.apache.org/viewvc?view=rev&revision=519751.
2007-03-23 Martin Sebor <sebor@roguewave.com>
* 22.locale.money.put.cpp (type_test): Silenced gcc warning:
comparison between signed and unsigned.
2007-03-23 Martin Sebor <sebor@roguewave.com>
* 21.cwctype.cpp (run_test): Explicitly cast the result of wctrans()
to ptrdiff_t in case the function's return type is a pointer as is
the case in GNU glibc.
2007-03-23 Martin Sebor <sebor@roguewave.com>
STDCXX-364
* STRUCT_TM_IN_WCHAR_H.cpp: Checked only for the declaration of struct
tm, not its definition (according to 7.24.1, p2 of C99, struct tm is
required to declared as an incomplete type in <wchar.h>).
2007-03-23 Martin Sebor <sebor@roguewave.com>
STDCXX-368
* string (ctor): Removed unused function formal arguments
from function declaration to silence gcc 3.2.3 warnings.
2007-03-23 Farid Zaripov <Farid_Zaripov@epam.com>
* msvc-7.0.config: Added variable CLVARSBAT (path to the iclvars.bat for ICC)
* icc-9.0.config: Ditto.
* icc-9.1.config: Ditto.
* utilities.js: Added support of the variable CLVARSBAT
* projects.js: Call iclvars.bat before invoking the confirure.wsf script.
2007-03-22 Martin Sebor <sebor@roguewave.com>
* vector (_C_construct): Eliminated first argument (is always end())
and replaced with _C_push_back() for efficiency.
(_C_destroy): Removed an un unnecessary argument (is always end())
and outlined.
(_C_unsafe_swap): New function defined out of line.
(insert): Added an assertion.
(erase): Simplified and optimized a wee bit.
(clear): Defined in terms of _C_destroy() outside the body
of the class template.
(swap): Optimized, called _C_unsafe_swap() for unequal allocators.
(dtor): Called _C_destroy() with a single argument for efficiency.
(assign): Called clear() instead of erase() for better efficiency.
* vector.cc (_C_realloc): Passed this to Allocator::allocate()
instead of begin() and called _C_push_back() instead of _C_construct().
(_C_unsafe_swap): Implements swap for objects with unequal allocators.
(_C_assign_n, _C_insert_1, _C_assign_range, _C_insert_range): Called
_C_push_back() instead of _C_construct() for efficiency.
2007-03-22 Martin Sebor <sebor@roguewave.com>
* vector (ctors): Removed extraneous zeros from initializers.
2007-03-22 Martin Sebor <sebor@roguewave.com>
* vector (ctors): Removed extraneous zeros from initializers.
2007-03-21 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.tst (RUNFLAGS): Appended new options instead of straight
out setting the variable to keep its value (such as the timeout set in
makefile.in).
2007-03-20 Martin Sebor <sebor@roguewave.com>
* istream: Used _RWSTD_DEFINE_TEMPLATE_{FIRST,LAST} instead
of just plain _RWSTD_DEFINE_TEMPLATE (_BASIC_ISTREAM).
2007-03-20 Martin Sebor <sebor@roguewave.com>
STDCXX-286
* vacpp.config (PRELINKFLAGS): Avoided appending flags when the
variable is empty to prevent trying to prelink with the wrong
options (i.e., without -qmkshrobj). This should complete the
change started in rev 515423:
http://svn.apache.org/viewvc?view=rev&revision=515423
2007-03-19 Martin Sebor <sebor@roguewave.com>
STDCXX-300
* _config-xlc.h (_RWSTD_NO_EXPLICIT_INSTANTIATION_BEFORE_DEFINITION,
_RWSTD_NO_EXTERN_TEMPLATE_BEFORE_DEFINITION): Defined for IBM XLC++
8.0 when _RWSTD_NO_INSTANTIATE_DEFAULT_ARGS is also #defined.
2007-03-18 Martin Sebor <sebor@roguewave.com>
* _basic_ios.h: Used _RWSTD_DEFINE_TEMPLATE_FIRST and _LAST instead of
just _RWSTD_DEFINE_TEMPLATE, and corrected the spelling of _BASIC_IOS.
2007-03-16 Martin Sebor <sebor@roguewave.com>
* INSTANTIATE_DEFAULT_ARGS.cpp (bar): Removed a duplicate definition.
2007-03-16 Martin Sebor <sebor@roguewave.com>
* INSTANTIATE_DEFAULT_ARGS.cpp: Exercised the ability to explicitly
instantiate class templates whose member functions declare default
arguments referring to static member functions of the template
parameter that aren't declared (or well-formed) for the argument
used in the instantiation directive. Reveals compiler bugs such as
IBM XLC++ 8.0 STDCXX-363.
2007-03-16 Martin Sebor <sebor@roguewave.com>
* EXPLICIT_INSTANTIATION.cpp: Added comments.
2007-03-16 Farid Zaripov <Farid_Zaripov@epam.com>
* configure.wsf (configure): Removed empty string from array initializer.
2007-03-15 Martin Sebor <sebor@roguewave.com>
STDCXX-97
* xlC_version.sh: Corrected output for XLC/C++ 6.0, 7.0 (including
patches), and 8.0.
2007-03-14 Eric Lemings <lemings@roguewave.com>
STDCXX-359
* printf.cpp (_rw_vasnprintf_ext): Replaced the use of operator!
on an enum with operator== to prevent a gcc error on Mac OS X.
2007-03-08 Martin Sebor <sebor@roguewave.com>
* GNUmakefile (CPPFLAGS): Removed -D_RWSTD_USE_CONFIG.
2007-03-14 Farid Zaripov <Farid_Zaripov@epam.com>
STDCXX-16
* _tree.cc (operator=): Added missing assignment of the _C_cmp member.
2007-03-14 Martin Sebor <sebor@roguewave.com>
STDCXX-356
* GNUmakefile.bin (INCLUDES): Removed inlcude/loc from preprocessor
search path.
2007-03-13 Eric Lemmings <lemmings@roguewave.com>
STDCXX-262
* gcc.config (LDSOFLAGS): Set to -dynamiclib for Mac OS X.
2007-03-12 Martin Sebor <sebor@roguewave.com>
STDCXX-354
* makefile.common (LDFLAGS): Moved -l$(LIBBASE)...
(LDLIBS): ...to here, prepending it to the variable to keep runtime
libraries that are already there last in order to allow symbols
referenced in the former library and defined in the latter to be
resolved by UNIX linkers.
2007-03-12 Farid Zaripov <Farid_Zaripov@epam.com>
* 23.list.h (_rw_equal): Declared extern in order to allow
it to be found by argument dependent lookup.
* 23.containers.cpp (enum OverloadId): Added dummy enumeration.
2007-03-09 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 22.locale.codecvt.length.cpp: New test exercising the member function
std::codecvt::length().
2007-03-09 Farid Zaripov <Farid_Zaripov@epam.com>
* configure.sh: Added svn:executable property,
svn:eol-style changed from native to LF.
* fixtree.sh: The same.
* run_locale_utils.sh: The same.
* runall.sh: The same.
* libc_decl.sh: The same.
* xlC_version.sh: The same.
* headers.inc: svn:eol-style changed from native to LF.
2007-03-08 Martin Sebor <sebor@roguewave.com>
* 27.istream.fmat.arith.cpp (make_locale): Hardcoded array size
to UCHAR_MAX to work around a gcc 3.4 bug described in STDCXX-351.
2007-03-08 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp (TEST_SPEC): Introduced a local variable to silence
compiler warnings about controlling expression being constant.
2007-03-07 Andrew Black <ablack@roguewave.com>
* util/output.cpp (check_compat_test): Rewrite FSM to eliminate seek
to near end (was causing parsing issues on tests with output
following result block).
2007-03-07 Martin Sebor <sebor@roguewave.com>
* locale.cpp (_RWSTD_USE_CONFIG): Removed references to macro.
* driver.cpp (_RWSTD_USE_CONFIG): Ditto.
* _config-gcc.h (_RWSTD_USE_CONFIG): Ditto.
* _config-xlc.h (_RWSTD_USE_CONFIG): Ditto.
* configure.wsf (_RWSTD_USE_CONFIG): Ditto.
* projects.js (_RWSTD_USE_CONFIG): Ditto.
* README (_RWSTD_USE_CONFIG): Ditto.
2007-03-07 Martin Sebor <sebor@roguewave.com>
STDCXX-349
* iostore.cpp (_C_copyfmt): Zeroed out a_size array to prevent
(bogus) gcc warnings about the variable being used uninitialized.
2007-03-07 Martin Sebor <sebor@roguewave.com>
STDCXX-346
* gcc.config (PICFLAGS): Corrected a typo inadvertently introduced
in r514256: http://svn.apache.org/viewcvs?view=rev&rev=514256.
2007-03-07 Martin Sebor <sebor@roguewave.com>
* ABS_OVERLOADS.cpp: Removed all references to the (no longer
necessary) _RWSTD_USE_CONFIG macro.
* ATOMIC_OPS.cpp: Same.
* BAD_ALLOC_ASSIGNMENT.cpp: Same.
* BAD_ALLOC_COPY_CTOR.cpp: Same.
* BAD_ALLOC_DEFAULT_CTOR.cpp: Same.
* BAD_ALLOC_DTOR.cpp: Same.
* BAD_ALLOC_WHAT.cpp: Same.
* BAD_CAST_ASSIGNMENT.cpp: Same.
* BAD_CAST_COPY_CTOR.cpp: Same.
* BAD_CAST_DEFAULT_CTOR.cpp: Same.
* BAD_CAST_DTOR.cpp: Same.
* BAD_CAST_WHAT.cpp: Same.
* BAD_EXCEPTION_ASSIGNMENT.cpp: Same.
* BAD_EXCEPTION_COPY_CTOR.cpp: Same.
* BAD_EXCEPTION_DEFAULT_CTOR.cpp: Same.
* BAD_EXCEPTION_DTOR.cpp: Same.
* BAD_EXCEPTION_WHAT.cpp: Same.
* BAD_TYPEID_ASSIGNMENT.cpp: Same.
* BAD_TYPEID_COPY_CTOR.cpp: Same.
* BAD_TYPEID_DEFAULT_CTOR.cpp: Same.
* BAD_TYPEID_DTOR.cpp: Same.
* BAD_TYPEID_WHAT.cpp: Same.
* CLASS_PARTIAL_SPEC.cpp: Same.
* CONST_CAST.cpp: Same.
* CTYPE_BITS.cpp: Same.
* DIV_OVERLOADS.cpp: Same.
* DUMMY_DEFAULT_ARG.cpp: Same.
* DYNAMIC_CAST.cpp: Same.
* EXCEPTION_ASSIGNMENT.cpp: Same.
* EXCEPTION_COPY_CTOR.cpp: Same.
* EXCEPTION_DEFAULT_CTOR.cpp: Same.
* EXCEPTION_DTOR.cpp: Same.
* EXCEPTION_SPECIFICATION.cpp: Same.
* EXCEPTION_WHAT.cpp: Same.
* EXPLICIT_CTOR_INSTANTIATION.cpp: Same.
* EXPLICIT_INSTANTIATION.cpp: Same.
* EXPLICIT_INSTANTIATION_BEFORE_DEFINITION.cpp: Same.
* EXPLICIT_MEMBER_INSTANTIATION.cpp: Same.
* EXPORT.cpp: Same.
* EXTERN_FUNCTION_TEMPLATE.cpp: Same.
* EXTERN_MEMBER_TEMPLATE.cpp: Same.
* EXTERN_TEMPLATE.cpp: Same.
* EXTERN_TEMPLATE_BEFORE_DEFINITION.cpp: Same.
* FLOAT.cpp: Same.
* FRIEND_TEMPLATE.cpp: Same.
* FUNCTION_TRY_BLOCK.cpp: Same.
* GLOBAL_BAD_ALLOC.cpp: Same.
* GLOBAL_BAD_CAST.cpp: Same.
* GLOBAL_BAD_EXCEPTION.cpp: Same.
* GLOBAL_BAD_TYPEID.cpp: Same.
* GLOBAL_EXCEPTION.cpp: Same.
* GLOBAL_NOTHROW.cpp: Same.
* GLOBAL_NOTHROW_T.cpp: Same.
* GLOBAL_SET_NEW_HANDLER.cpp: Same.
* GLOBAL_SET_TERMINATE.cpp: Same.
* GLOBAL_SET_UNEXPECTED.cpp: Same.
* GLOBAL_TERMINATE.cpp: Same.
* GLOBAL_TYPE_INFO.cpp: Same.
* GLOBAL_UNCAUGHT_EXCEPTION.cpp: Same.
* GLOBAL_UNEXPECTED.cpp: Same.
* HONOR_STD.cpp: Same.
* ICONV.cpp: Same.
* IMPLICIT_INSTANTIATION.cpp: Same.
* INFINITY.cpp: Same.
* INSTANTIATE_DEFAULT_ARGS.cpp: Same.
* LDBL_PRINTF_PREFIX.cpp: Same.
* LIMITS.cpp: Same.
* LLONG_PRINTF_PREFIX.cpp: Same.
* LOCALE_NAME_FMAT.cpp: Same.
* LONG_LONG.cpp: Same.
* MATH_OVERLOADS.cpp: Same.
* MBSTATE_T.cpp: Same.
* MUNMAP.cpp: Same.
* NEWLINE.cpp: Same.
* NEW_FUNC_TEMPLATE_SYNTAX.cpp: Same.
* NEW_THROWS.cpp: Same.
* NONDEDUCED_CONTEXT.cpp: Same.
* NO_DBL_TRAPS.cpp: Same.
* NO_INT_TRAPS.cpp: Same.
* NO_SIGNALING_NAN.cpp: Same.
* OPERATOR_DELETE_ARRAY.cpp: Same.
* OPERATOR_DELETE_ARRAY_PLACEMENT.cpp: Same.
* OPERATOR_DELETE_PLACEMENT.cpp: Same.
* OPERATOR_NEW_ARRAY.cpp: Same.
* OPERATOR_NEW_ARRAY_NOTHROW.cpp: Same.
* OPERATOR_NEW_ARRAY_PLACEMENT.cpp: Same.
* OPERATOR_NEW_NOTHROW.cpp: Same.
* OPERATOR_NEW_PLACEMENT.cpp: Same.
* OVERLOAD_OF_TEMPLATE_FUNCTION.cpp: Same.
* POD_ZERO_INIT.cpp: Same.
* PUTENV_CONST_CHAR.cpp: Same.
* QUIET_NAN.cpp: Same.
* REINTERPRET_CAST.cpp: Same.
* RUNTIME_IN_STD.cpp: Same.
* SIG_ATOMIC_T.cpp: Same.
* SIZE_T.cpp: Same.
* SPECIALIZATION_ON_RETURN_TYPE.cpp: Same.
* STATIC_CAST.cpp: Same.
* STATIC_CONST_MEMBER_EXPR_CONST.cpp: Same.
* STD_BAD_ALLOC.cpp: Same.
* STD_BAD_CAST.cpp: Same.
* STD_BAD_EXCEPTION.cpp: Same.
* STD_BAD_TYPEID.cpp: Same.
* STD_EXCEPTION.cpp: Same.
* STD_MBSTATE_T.cpp: Same.
* STD_NOTHROW.cpp: Same.
* STD_NOTHROW_T.cpp: Same.
* STD_SET_NEW_HANDLER.cpp: Same.
* STD_SET_TERMINATE.cpp: Same.
* STD_SET_UNEXPECTED.cpp: Same.
* STD_TERMINATE.cpp: Same.
* STD_TYPE_INFO.cpp: Same.
* STD_UNCAUGHT_EXCEPTION.cpp: Same.
* STD_UNEXPECTED.cpp: Same.
* TEMPLATE_DEFAULT_ARG_CONVERSION.cpp: Same.
* TEMPLATE_ON_RETURN_TYPE.cpp: Same.
* TYPENAME.cpp: Same.
* TYPE_INFO_BEFORE.cpp: Same.
* TYPE_INFO_DTOR.cpp: Same.
* TYPE_INFO_EQUALITY.cpp: Same.
* TYPE_INFO_INEQUALITY.cpp: Same.
* TYPE_INFO_NAME.cpp: Same.
* UNAME.cpp: Same.
* UNISTD_DECL.cpp: Same.
* VA_LIST.cpp: Same.
* VSNPRINTF_RETURN.cpp: Same.
* WCSFTIME_WCHAR_T_FMAT.cpp: Same.
* WINT_T.cpp: Same.
* extern_template_before_definition_imp.cpp: Same.
2007-03-07 Martin Sebor <sebor@roguewave.com>
* wstringstream.out: Added a missing example output file.
2007-03-07 Martin Sebor <sebor@roguewave.com>
* GNUmakefile (RUNFLAGS): Bumped up exec timeout from 180 seconds
to 300 to allow long-running tests (such as those exercising UTF-8
locales) to finish.
2007-03-07 Martin Sebor <sebor@roguewave.com>
* time_put.cpp (main): Silenced the bogus HP aCC Warning 578: A class
member may not be a const array since there is no way to initialize
such a member (see STDCXX-347).
2007-03-07 Farid Zaripov <Farid_Zaripov@epam.com>
* alloc.cpp: fixed typo (removed comma);
* 0.alloc.cpp: use setjmp() instead sigsetjmp() on Cygwin
2007-03-06 Martin Sebor <sebor@roguewave.com>
STDCXX-286
* vacpp.config (PRELINKFLAGS): Used -qmkshrobj only when building
a shared library (including a shared archive), and not an ordinary
archive.
(DEFAULT_SHROBJ): Set only when using -qmkshrobj.
(use_tempinc): Removed a temporary file when done.
2007-03-05 Andrew Black <ablack@roguewave.com>
* tests/src/driver.cpp (_rw_setopt_output_file): Add logic to treat
the magic file name of '-' as a reference to stdout.
* etc/config/GNUmakefile.tst (RUNFLAGS): Specify compatibility mode
flags to enable parsing of legacy tests.
* util/output.cpp (check_compat_test): Adjust seek position to avoid
false format errors when an executable contains a very small number
of tests.
2007-03-06 Martin Sebor <sebor@roguewave.com>
* 18.limits.traps.cpp (try_trap): Renamed from test_trap and declared
extern in order to allow it to be found by argument dependent lookup.
2007-03-03 Mark Brown <mbrown@inbox.com>
STDCXX-337
* gcc.config (LDLIBS): Used -lcatgets, not -catgets, to link with
libcatgets on Cygwin.
2007-03-03 Mark Brown <mbrown@inbox.com>
STDCXX-346
* gcc.config (PICFLAGS): Avoided using -fPIC for Cygwin in addition
to AIX since gcc generated code is always position independent there.
2007-03-02 Martin Sebor <sebor@roguewave.com>
* 27.istream.fmat.arith.cpp (make_locale): Worked around a Sun
C++ 5.8 bug described in STDCXX-345.
2007-03-02 Martin Sebor <sebor@roguewave.com>
* 0.outputiter.cpp: New test exercising the helper class template
OutputIter.
2007-03-01 Martin Sebor <sebor@roguewave.com>
STDCXX-92
* GNUmakefile.cfg (.NOTPARALLEL): Defined target to disable parallel
builds until we figure out how to get them to work correctly.
2007-03-01 Martin Sebor <sebor@roguewave.com>
STDCXX-214
* _traits.h (lt): Cast char arguments to unsigned char to
yield results consistent with compare (and with memcmp).
2007-03-01 Farid Zaripov <FaridZ@kyiv.vdiweb.com>
* 18.limits.traps.cpp (test_trap): New function to avoid MSVC error C2712:
Cannot use __try in functions that require object unwinding;
(test_traps) Used test_trap() function.
2007-02-27 Martin Sebor <sebor@roguewave.com>
* time_put.cpp: Added descriptions of ordinary (unmodified) conversion
specifiers and printed out the "base" format specifier string for %c,
%r, %x, and %X. Changed the date to demonstrate the formatting of %e
formats (space followed by a digit for single-digit days of month).
Treated the first command line argument as the name of the locale to
format output in (including "" for the locale specified by the
environment).
* time_put.out: Adjusted accordingly.
2007-02-23 Farid Zaripov <faridz@kyiv.vdiweb.com>
ChangeLog:
* 23.list.h: New file with definitions of helpers used in
clause 23.list tests.
* 23.containers.cpp: #included 23.list.h; removed definition
of the temporary struct ListIds; _rw_list_sigcat filled by code.
2007-02-23 Farid Zaripov <faridz@kyiv.vdiweb.com>
ChangeLog:
* 21.strings.h: #included 23.containers.h;
struct StringIds inherited from struct ContainerIds;
removed definitions of the AllocId and IteratorId.
* 23.containers.h: New file with definitions of helpers used
in clause 23 tests.
* 23.containers.cpp: Ditto.
2007-02-23 Farid Zaripov <faridz@kyiv.vdiweb.com>
ChangeLog:
* rw_value.h (struct UserData): new common structure holding
value for UserPOD and UserClass types;
(UserPOD): New user type to be used in tests as POD type
* value.cpp: Use UserClass::data_.val_ instead of UserClass::val_;
(__rw_from_char): new function to create array of the UserXXX type
from string;
(_rw_mismatch): new function compare the array of the UserXXX type
and string.
* 25.binary.search.cpp: Use UserClass::data_.val_ instead of UserClass::val_.
* 25.copy.cpp: The same.
* 25.equal.range.cpp: The same.
* 25.fill.cpp: The same.
* 25.find.cpp: The same.
* 25.find.end.cpp: The same.
* 25.for.each.cpp: The same.
* 25.generate.cpp: The same.
* 25.heap.cpp: The same.
* 25.includes.cpp: The same.
* 25.lex.comparison.cpp: The same.
* 25.libc.cpp: The same.
* 25.lower.bound.cpp: The same.
* 25.merge.cpp: The same.
* 25.min.max.cpp: The same.
* 25.mismatch.cpp: The same.
* 25.nth.element.cpp: The same.
* 25.partial.sort.cpp: The same.
* 25.partitions.cpp: The same.
* 25.permutation.cpp: The same.
* 25.random.shuffle.cpp: The same.
* 25.remove.cpp: The same.
* 25.replace.cpp: The same.
* 25.reverse.cpp: The same.
* 25.rotate.cpp: The same.
* 25.search.cpp: The same.
* 25.set.difference.cpp: The same.
* 25.set.intersection.cpp: The same.
* 25.set.sym.difference.cpp: The same.
* 25.set.union.cpp: The same.
* 25.sort.cpp: The same.
* 25.swap.cpp: The same.
* 25.transform.cpp: The same.
* 25.upper.bound.cpp: The same.
* 23.deque.modifiers.cpp: The same.
* 23.vector.modifiers.cpp: The same.
* 26.accumulate.cpp: The same.
* 26.adjacent.diff.cpp: The same.
* 26.inner.product.cpp: The same.
* 26.partial.sum.cpp: The same.
* 26.valarray.cons.cpp: The same.
* 0.inputiter.cpp: The same.
* 20.pairs.cpp: The same.
2007-02-23 Farid Zaripov <faridz@kyiv.vdiweb.com>
ChangeLog:
* rw_value.h (_rw_user_class_fmat_init): New static variable
to install the formatting callback function for UserClass type.
* value.cpp (_rw_fmtxarray): Removed prototype of the function.
Installation of the formatting callback function moved from
UserClass ctor to UserClassFmatInit ctor.
2007-02-21 Farid Zaripov <faridz@kyiv.vdiweb.com>
ChangeLog:
* rw_value.h (struct X): Renamed to struct UserClass.
* value.cpp: The same.
* 25.adjacent.find.cpp: Updated copyright notice.
#included rw_value.h; used struct UserClass instead of struct X.
* 25.binary.search.cpp: The same.
* 25.copy.cpp: The same.
* 25.equal.cpp: The same.
* 25.equal.range.cpp: The same.
* 25.fill.cpp: The same.
* 25.find.cpp: The same.
* 25.find.end.cpp: The same.
* 25.find.first.cpp: The same.
* 25.for.each.cpp: The same.
* 25.generate.cpp: The same.
* 25.heap.cpp: The same.
* 25.includes.cpp: The same.
* 25.lex.comparison.cpp: The same.
* 25.libc.cpp: The same.
* 25.lower.bound.cpp: The same.
* 25.merge.cpp: The same.
* 25.min.max.cpp: The same.
* 25.mismatch.cpp: The same.
* 25.nth.element.cpp: The same.
* 25.partial.sort.cpp: The same.
* 25.partitions.cpp: The same.
* 25.permutation.cpp: The same.
* 25.random.shuffle.cpp: The same.
* 25.remove.cpp: The same.
* 25.replace.cpp: The same.
* 25.reverse.cpp: The same.
* 25.rotate.cpp: The same.
* 25.search.cpp: The same.
* 25.set.difference.cpp: The same.
* 25.set.intersection.cpp: The same.
* 25.set.sym.difference.cpp: The same.
* 25.set.union.cpp: The same.
* 25.sort.cpp: The same.
* 25.swap.cpp: The same.
* 25.transform.cpp: The same.
* 25.unique.cpp: The same.
* 25.upper.bound.cpp: The same.
* 23.deque.modifiers.cpp: The same.
* 23.deque.special.cpp: The same.
* 23.vector.capacity.cpp: The same.
* 23.vector.cons.cpp: The same.
* 23.vector.modifiers.cpp: The same.
* 26.accumulate.cpp: The same.
* 26.adjacent.diff.cpp: The same.
* 26.inner.product.cpp: The same.
* 26.partial.sum.cpp: The same.
* 26.valarray.cons.cpp: The same.
* 0.inputiter.cpp: The same.
* 20.pairs.cpp: The same.
2007-02-21 lnicoara <nicoara@roguewave.com>
* etc/config/icc.config
Changed build process for post-8.1 compilers to
use the yet undocumented -cxxlib-nostd option.
2007-02-21 Farid Zaripov <faridz@kyiv.vdiweb.com>
ChangeLog:
* rw_sigdefs.h: New file with definitions of helpers macros
to define member and non-member functions overload id's
* 21.strings.h: Helper macros moved from here to rw_sigdefs.h
2007-02-21 Farid Zaripov <faridz@kyiv.vdiweb.com>
ChangeLog:
STDCXX-341
* alg_test.h: ConstFwdIter<T> inherited from FwdIter<const T>.
ConstBidirIter<T> inherited from BidirIter<const T>.
ConstRandomAccessIter<T> inherited from RandomAccessIter<const T>.
(make_iter): type of the last parameter changed to const reference
2007-02-21 Farid Zaripov <faridz@kyiv.vdiweb.com>
ChangeLog:
* alg_test.h (struct X, struct UnaryPredicate,
struct BinaryPredicate): Declarations moved from here ...
* rw_value.h: ... to here (new header file).
* alg_test.cpp: Updated copyright notice;
(struct X, struct UnaryPredicate, struct BinaryPredicate,
_rw_fmtxarrayv, _rw_fmtxarray): Definitions moved from here ...
* value.cpp: ... to here (new source file).
2007-02-19 Mark Brown <mbrown@inbox.com>
STDCXX-340
* aliases.cpp (get_installed_locales): Avoided aborting on locale
(or system) error and instead just issued a warning and continued.
2007-02-15 Martin Sebor <sebor@roguewave.com>
* printf.cpp (VarArgs): Made pargs_ non-const.
(VA_ARG): Removed a const cast obviated by the above.
(_rw_fmtexp): Simplified/corrected the uses of VA_ARG.
2007-02-15 Farid Zaripov <faridz@kyiv.vdiweb.com>
STDCXX-268
STDCXX-331
* list (_RWSTD_LIST_SAFE_INSERT_RANGE): New macro for exception
safe inserting the range into the list.
(_C_insert (bidirectional_iterator_tag, input_iterator_tag)):
Removed.
(_C_insert): Used _RWSTD_LIST_SAFE_INSERT_RANGE macro.
(_C_insert): Added try/catch with removing the inserted elements
if exception was thrown.
2007-02-15 Farid Zaripov <faridz@kyiv.vdiweb.com>
* deque: The swap method moved from here ...
* deque.cc: ... to here
2007-02-15 Farid Zaripov <faridz@kyiv.vdiweb.com>
STDCXX-127
* deque (swap): Corrected _C_beg._C_node and _C_end._C_node
after swap operation for empty container.
2007-02-13 Martin Sebor <sebor@roguewave.com>
* src/printf.cpp (_rw_fmtnested): New function to handle nested
formatting directives (%{@} et al) extended to format arrays of
values of arbitrary types, including structures.
(VarArgs): New stuct to encapsulate variable arguments and arrays.
(VA_ARG): New macro to extract arguments from VarArgs.
(_rw_fmtinteger, _rw_vasnprintf_ext, _rw_fmtspec): Used VarArgs.
(PARAM): Changed it to use VarArgs.
* test/printf.cpp (test_nested_format): Exercised the above.
2007-02-11 Martin Sebor <sebor@apache.org>
* exception.cpp: Updated copyright notice.
2007-02-11 Martin Sebor <sebor@apache.org>
* except.cpp: Renamed...
* exception.cpp: ...to this.
2007-02-11 Mark Brown <mbrown@inbox.com>
STDCXX-40
STDCXX-337
* gcc.config [Cygwin](LDLIBS): Added libcatgets and libiconv.
2007-02-07 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.bin (localedb.d): Gracefully handled empty/undefined
LOCALES variable.
2007-02-07 Farid Zaripov <faridz@kyiv.vdiweb.com>
STDCXX-334
* list (swap): Fixed bug: used reference instead of the temporary object.
2007-02-05 Martin Sebor <sebor@roguewave.com>
STDCXX-230
STDCXX-329
* istream.cc (__rw_extract): Added comment.
(_C_ipfx): Avoided resetting gcount().
(_C_ipfx): Guarded body in a try/catch block and set badbit when
an exception occurs.
[_RWSTD_NO_OPTIMIZE_SPEED](_C_ipfx): Removed conditionally compiled
block (and instead used the "optimized" branch unconditionally).
(_C_get, read, readsome, get, getline, operator>>): Explicitly
reset gcount.
2007-02-05 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 27.istream.readsome.cpp: New test exercising the member function
readsome() of basic_istream.
2007-02-05 Martin Sebor <sebor@roguewave.com>
* 27.istream_sentry.cpp (memfun_info): Renamed from just info.
(test_ok): Called memfun_info w/o "%{$SENTRY}::" (the string
is prepended by the callee).
2007-02-05 Martin Sebor <sebor@roguewave.com>
* istream_sentry.cpp (Streambuf, test_ctor, test_ok): Added
a template parameter for Traits.
(test_ctor, test_ok): Removed unnecessary local blocks.
(test_ctor): Verified that the ctor doesn't affect gcount()
to exercise STDCXX-329.
(run_test): Exercised specializations on UserTraits. Handled
command line options.
2007-02-05 Martin Sebor <sebor@roguewave.com>
* src/printf.cpp (_rw_pvasnprintf): Gracefuly handled a null format
string.
* self/0.printf.cpp (test_malformed_directives): Exercised the above.
2007-02-05 Martin Sebor <sebor@roguewave.com>
* 27.istream.fmar.arith.cpp: Renamed...
* 27.istream.fmat.arith.cpp: to this.
i2007-02-02 Martin Sebor <sebor@roguewave.com>
STDCXX-295
* sstream.cc (seekoff): Prevented the function from failing when
offset is 0 and neither sequence has been initialized yet (see
LWG issue 453:
http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#453).
2007-01-31 Martin Sebor <sebor@roguewave.com>
* 27.istream.fmat.arith.cpp: New test exercising arithmetic extractor
operators [istream.formatted.arithmetic]. The test reveals a number
of known bugs.
2007-01-31 Farid Zaripov <faridz@kyiv.vdiweb.com>
* exec.cpp (calculate_usage): Corrected variable
in conditional expression
2007-01-30 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 27.istream.sentry.cpp: New test exercising [istream.sentry].
2007-01-29 Martin Sebor <sebor@roguewave.com>
* _num_get.cc (_C_get): Added comments.
2007-01-28 Martin Sebor <sebor@roguewave.com>
* printf.cpp (_rw_fmtspec): Avoided handling '$' when it's immediately
followed by a closing curly brace ('}'). Ditto for '@'.
(_rw_pvasnprintf): New. Implements the guts of rw_vasnprintf without
NUL-terminating the buffer to make it easier to call it recursively.
(_rw_vasnprintf_ext): Recognized the new %{@} directive (nested format
specifier). Called _rw_fmtexpr to handle it.
(_rw_fmtexpr): Handled the %{@} directive (nested format specifier).
* test/printf.cpp (test_envvar): Added test cases exercising
unconditional assignment (the %{$<param>!:<word>} directive).
(test_nested_format): Exercised the %{@} directive.
2007-01-25 Martin Sebor <sebor@roguewave.com>
* gcc.config (MAPFLAGS): Temporarily disabled until fully implemented.
2007-01-25 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 27.istream.manip.cpp: New test exercising istream.manip.
2007-01-25 Farid Zaripov <faridz@kyiv.vdiweb.com>
* projectdef.js (projectCreateTestLocalesDef): PreBuildCmd modified
to avoid using of very long lines.
* projects.js (CreateProjectsDefs): Use runall.wsf script to run locale tests.
* runall.wsf: Added new parameter EXT.
2007-01-22 Martin Sebor <sebor@roguewave.com>
* sstream (str): Made one-argument char_type* overload public
for efficiency since it's indistinguishable from the string
overload (the two argument continues to be private in strict
mode).
(basic_stringstream ctor): Used __rw::__rw_in_out instead of
(in | out) for efficiency and to make debugging easier (by
avoiding the call to operator| defined by the implementation).
2007-01-22 Martin Sebor <sebor@roguewave.com>
STDCXX-327
* sstream (stringbuf::str): Added a public char_type* overload
to prevent compilation errors in strict mode when the 2 argument
overload is private.
* sstream.cc (stringbuf::str): Removed a comment.
2007-01-22 Farid Zaripov <faridz@kyiv.vdiweb.com>
* projectdef.js (projectCreateTestLocalesDef): PreBuildCmd modified
to avoid using of the $(SolutionDir) variable.
* projects.js (CreateProjectsDefs): Ditto.
2007-01-21 Martin Sebor <sebor@roguewave.com>
* valarray (operator[]): Changed return type to const value_type&
as per LWG issue 389:
http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#389
2007-01-19 Martin Sebor <sebor@roguewave.com>
STDCXX-326
* _iosbase.h (seek_dir, io_state, open_mode): Declared as int.
2007-01-19 Martin Sebor <sebor@roguewave.com>
STDCXX-324
* _cstdlib.h (div_t, ldiv_t): Declared quot and rem members.
2007-01-19 Martin Sebor <sebor@roguewave.com>
STDCXX-323
* _cstdlib.h (abs, div): Added overloads for long.
2007-01-19 Martin Sebor <sebor@roguewave.com>
STDCXX-322
* complex (operator=): Used the public member functions real()
and imag() instead of the private data members.
2007-01-19 Farid Zaripov <faridz@kyiv.vdiweb.com>
* projectdef.js (projectCreateTestLocalesDef): PreBuildCmd modified
to use local variables for paths.
* projects.js (CreateProjectsDefs): Ditto.
2007-01-18 Martin Sebor <sebor@roguewave.com>
STDCXX-320
* _csignal.h (SIG_DFL, SIG_ERR, SIG_IGN): Cast to the appropriate type.
2007-01-17 Farid Zaripov <faridz@kyiv.vdiweb.com>
* build.wsf (build): Set BuildLogging variable to true before the build
* projectdef.js (projectCreateTestLocalesDef): Use compacted PreBuildCmd
* summary.js (readBuildLog): Removed temporary for loop since the bug not repeated
2007-01-15 Martin Sebor <sebor@roguewave.com>
* 26.valarray.cons.cpp: New test exercising valarray constructors.
2007-01-12 Andrew Black <ablack@roguewave.com>
* GNUmakefile (RPATH) [!shared]: Fix indentation.
2007-01-12 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.bin (install): Handled locales with the @ modifier
in their name. Correctly handled the LOCALES variable when set
to the empty string.
2007-01-12 Martin Sebor <sebor@roguewave.com>
* valarray.cc (shift, cshift): Used T(0) instead of T() in the
declaration of an object to avoid a gcc 3.2 bug (see STDCXX-317).
2007-01-12 Andrew Black <ablack@roguewave.com>
* GNUmakefile (RPATH) [!shared]: Unset RPATH for archive builds (Not needed).
2007-01-11 Martin Sebor <sebor@roguewave.com>
* numpunct.cpp (make_german_locale): Corrected a logic error
introduced in revision 431272.
2007-01-11 Martin Sebor <sebor@roguewave.com>
* 21.strings.h (arg_type): Explicitly cast an enum to int before
applying bitwise operators to it to silence bogus Sun C++ warning:
"Comparing different enum types."
* 21.string.operators.cpp (test_operators): Same.
* 21.string.cons.cpp (test_cons): Same.
* 21.string.io.cpp (test_io): Same.
2007-01-11 Martin Sebor <sebor@roguewave.com>
* limits.cpp (operator<<): New overload for std::float_denorm_style.
(print_limits): Called it for numeric_limits<T>::has_denorm.
* limits.out: Adjusted accordingly.
2007-01-11 Martin Sebor <sebor@roguewave.com>
* 21.strings.cpp (_rw_sigcat, rw_setvars, _rw_dispatch, _rw_run_cases):
Explicitly cast an enum to int before applying bitwise operators to it
to silence (bogus) Sun C++ warning: "Comparing different enum types."
2007-01-11 Martin Sebor <sebor@roguewave.com>
* money_put.cpp (MoneyPut): Defined the default ctor in order
to make it possible to define const objects of the type w/o
explictly initializing them and to silence IBM XLC++ warning
1540-1296 (W) The const object requires "struct MoneyPut<T>"
to have a user-declared default constructor.
(type_test): Qualified sprintf with std:: since the function
may not be declared in the global namespace (as with Sun C++).
2007-01-11 Martin Sebor <sebor@roguewave.com>
* 26.accumulate.cpp (size_t): Qualifed with std:: since the type
may not be declared in the global namespace (e.g., with Sun C++).
2007-01-11 Farid Zaripov <faridz@kyiv.vdiweb.com>
* build.wsf: New script file to build specified configuration
* configure.wsf (configure): Check if the environment variable
exist before removing; use MT DLL runtime instead of ST static
runtime in ST DLL solution configurations
* devenv_consts.js: Added new constants
* generate.wsf: Removed unused BUILDTYPE option from usage text;
by default don't generate projects for build and test locales;
generate additional solution files (stdlib + examples;
stdlib + rwtest + tests; stdlib + utils + locales;
stdlib + utils + locale tests;
stdlib + utils + run_examples + run_tests); use new build.wsf
script in generated build batch file
* makelog.wsf (makelog): Updated according to new directory structure
* projectdef.js (InitVSObjects): Added freedte parameter, don't free
dte object if freedte == false;
(projectCreateVCProject): Use MT DLL runtime instead of ST static
runtime in ST DLL solution configurations;
(projectCreateProjectDefsFromFolder): Add name of subfolder to the
OutDir only if shiftOutDir is true;
(projectCreateTestLocalesDef): New function to generate project for
perform all locale tests in one shot;
* projects.js (CreateProjectDefs): Added generation of the 3 projects:
.stdcxx_runexamples; .stdcxx_runtests; .stdcxx_testlocales. Now
returns array of the sets of projects (configure, stdlib, rwtest,
utils, examples, run_examples, tests, run_tests, locales,
locale_tests)
* run_locale_utils.wsf (Cleanup): New function to remove
temporary folder
(Exit): New function to exit from script with cleanup
(CreateFolder): New function to create directory three
(dump_charmap): New function to dump the charmap of a locale
(dump_locale): On error exited script with the same non-zero
exit status as the locale utility
(generate_locale): Used Exit function
(test_locale): Called dump_charmap to produce the charmap source
from the locale database at each of the three stages. Used this
charmap source to create a locale in each subsequent stage.
Placed the files created at each stage in separate directories
named stage.1 through stage.3.
(run_locale_utils): Avoided deleting stage directories when
the -n option is set
* runall.wsf: Parameter INOUTDIR now is optional; removed unused
parameter COPYRWTESTDLL;
(readOutFile): check manual and tutorial subfolders when searching
example requested output file;
(runWithChecks, runNoChecks): Removed as unused;
(runAllExamples): Rewritten to use exec utility in packet mode.
* summary.js (saveBuildInfoTable): encode symbols in example output
before saving them to HTML file
(readBuildLog): Added temporary loop to check the run-time error
"runall.wsf(59, 6) Microsoft JScript runtime error: Permission denied"
* utilities.js (decodeHTML): New function to decode escaped symbols
(stripTags): New function to get text from HTML document
2007-01-09 Martin Sebor <sebor@roguewave.com>
STDCXX-318
* valarray.cc (cshift): Avoided division by zero when *this is empty.
2007-01-09 Martin Sebor <sebor@roguewave.com>
* valarray (abs, acos, asin, atan, atan2, cos, cosh, exp, log,
log10, pow, sin, sinh, sqrt, tan, tanh): Replaced T() with T(0)
in order to work around a gcc 3.2.3 bug (see STDCXX-317).
2007-01-09 Farid Zaripov <faridz@kyiv.vdiweb.com>
* runall.cpp (check_target_ok): Corrected index in array item assigning
2007-01-06 Martin Sebor <sebor@roguewave.com>
* 26.mask.array.cpp: New test exercising helper class template
std::mask_array.
2007-01-05 Martin Sebor <sebor@roguewave.com>
STDCXX-316
* valarray.cc (cshift): Initialized destination array prior
to assigning to its elements.
2007-01-05 Martin Sebor <sebor@roguewave.com>
STDCXX-315
* valarray (abs, acos, asin, atan, atan2, cos, cosh, exp, log,
log10, pow, sin, sinh, sqrt, tan, tanh): Initialized destination
array prior to assigning to its elements.
2007-01-04 Farid Zaripov <faridz@kyiv.vdiweb.com>
* string.cpp (__rw_memchr, __rw_wmemchr): Fixed bug: the function
returns incorrect result when nbytes == 0 and *src == c
2007-01-02 Martin Sebor <sebor@roguewave.com>
* 26.indirect.array.cpp: New test exercising the std::indirect_array
helper template.
2007-01-01 Martin Sebor <sebor@roguewave.com>
* 17.names.cpp: Added more public names to test for.
2006-12-22 Martin Sebor <sebor@roguewave.com>
* 26.class.gslice.cpp (make_array): Corrected an off-by-1 error.
(test_gslice): Exercised gslice copy ctor.
2006-12-20 Martin Sebor <sebor@roguewave.com>
* _array.h (operator[]): Returned a const reference rather than
value_type to make it possible to implement the resolution of
LWG issue 389.
Simplifed a few other expressions and removed redundant formal
argument names from member function declarations.
2006-12-18 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 26.class.gslice.cpp: New test exercising lib.class.gslice.
2006-12-15 Martin Sebor <sebor@roguewave.com>
* run_locale_utils.sh [Tru64]: Made getopts work on Tru64 by setting
the BIN_SH variable and re-executing self with the same command line
arguments.
2006-12-12 Andrew Black <ablack@roguewave.com>
* makefile.rules (run runall run_all): Remove unneeded if-then-else-fi
construct, fixing bug introduced in
http://svn.apache.org/viewvc?view=rev&rev=485859 in the process.
2006-12-11 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.lib (TARGET): Defined also in archive mode.
2006-12-11 Martin Sebor <sebor@roguewave.com>
STDCXX-309
* valarray (operator[]): Invoked next_ind() at most once per each
iteration of the loop.
* valarray.cpp (next_ind): Returned start() instead of 0 after
wrapping around.
2006-12-11 Andrew Black <ablack@roguewave.com>
* GNUmakefile.bin (SRCDIRS): Fix accidental path change in
http://svn.apache.org/viewvc?view=rev&rev=485859
2006-12-11 Martin Sebor <sebor@roguewave.com>
* GNUmakefile (REPORTFILE): Replaced...
(CONFIG_H): ...with this variable (intended as a future replacement
of the current config.h).
(PREFIX, install): Added new variable and installation target.
(post): Removed target.
* GNUmakefile.bin (LOCALE_LIST): Renamed...
(LOCALES): ...to this.
(install): New target to install locale utilities and locales.
* GNUmakefile.lib (LIBLINK): New variable.
(TARGET): Replaced the use of the variable as a target...
(LIB, LIBLINK): ...with each of these.
(install): New target.
* makefile.common (REGRESS_FILE): Removed unused variable.
* makefile.rules (REGRESS_FILE, REPORTFILE): Removed.
2006-12-08 Andrew Black <ablack@roguewave.com>
* GNUmakefile ($(MAKEFILE_IN)): Echo RPATH into generated makefile.in
* GNUmakefile.bin (LDFLAGS): Add $(RPATH) switch with a value of
$(LIBDIR) to $(LDFLAGS) if $(RPATH) is defined.
* GNUmakefile.exm (LDFLAGS): Ditto.
* GNUmakefile.ph (LDFLAGS): Ditto.
* GNUmakefile.rwt (LDFLAGS): Ditto.
* GNUmakefile.tst (LDFLAGS): Add $(RPATH) switch with a value of
$(LIBDIR):$(BUILDDIR)/rwtest to $(LDFLAGS) if $(RPATH) is defined.
* acc.config (SHARED_LDFLAGS): Move rpath flag definition from here ...
(RPATH): ... To here.
* gcc.config (SHARED_LDFLAGS, RPATH): Ditto.
* icc.config (SHARED_LDFLAGS, RPATH): Ditto.
* sunpro.config (SHARED_LDFLAGS, RPATH): Ditto.
* mipspro.config (SHARED_LDFLAGS, RPATH): Ditto.
* osf_cxx.config (SHARED_LDFLAGS, RPATH): Ditto.
* vacpp.config (SHARED_LDFLAGS, RPATH): Ditto.
* como.config (RPATH): Define placeholder (empty) flag definition.
* eccp.config (RPATH): Ditto.
* reliant_cds.config (RPATH): Ditto.
2006-12-07 Andrew Black <ablack@roguewave.com>
* exec.cpp (alarm_timeout) [!_WIN32]: Update documentation.
(kill_signal) [!WIN32]: Add file local variable to track signal used to
kill process.
(handle_term_signal) [!_WIN32]: Add new callback function...
(wait_for_child) [!_WIN32]: ... Used here for SIGHUP, SIGINT, SIGQUIT,
and SIGTERM signals (via sigaction). Handlers are cleared if
kill_signal is set and the signal contained within is raise()ed.
2006-12-07 Andrew Black <ablack@roguewave.com>
* output.cpp (check_test): Set status->status to ST_OVERFLOW if
status->assert equals -1, don't return when status->t_warn reaches -1.
(check_example): Set status->assert to -1 to denote example.
* display.cpp (print_status_plain): Output assertion totals if
status->assert isn't -1 and status->status and status->exit are 0,
special case status->assert = 0 to avoid divide by 0 errors.
2006-12-06 Martin Sebor <sebor@roguewave.com>
STDCXX-306
* valarray (gslice_array::operator=): Removed private declaration.
2006-12-05 Martin Sebor <sebor@roguewave.com>
* string.cpp (__rw_memcpy, __rw_memmove, __rw_memchr, __rw_memset,
__rw_memcmp, __rw_strlen): Defined each helper without depending
on the corresponding libc function in order to avoid infinite
recursion.
(__rw_wmemcpy, __rw_wmemmove, __rw_wmemchr, __rw_wmemset, __rw_wmemcmp,
__rw_wcslen): Same.
2006-12-04 Andrew Black <ablack@roguewave.com>
* display.cpp (short_st_name): Rename "OUTPUT" and "NREF" states, per
http://tinyurl.com/y28xev
2006-12-01 Martin Sebor <sebor@roguewave.com>
* 21.string.find.first.not.of.cpp (test_find_first_not_of): Inverted
the logic of a controlling expression in an unconditional assertion.
2006-12-01 Farid Zaripov <faridz@kyiv.vdiweb.com>
* process.cpp: Removed unused #include <time.h>
(rw_waitpid): Used sleep() instead of nanosleep()
(rw_process_kill): Corrected timeout value to 1 second
2006-11-29 Martin Sebor <sebor@roguewave.com>
* cwchar.cpp (wprintf, wscanf, swprintf): Gave the last formal
argument prior to the ellipsis a name in order to silence SGI
MIPSpro warning: the last argument of the varargs function is
unnamed.
(swscanf, vfwprintf): Removed an undeducible template parameter.
2006-11-29 Martin Sebor <sebor@roguewave.com>
* printf.cpp (TEST_SPEC): Avoided the use of a conditional
intended to always evaluate to the same value except at
runtime in order to prevent compiler warnings.
2006-11-29 Martin Sebor <sebor@roguewave.com>
* def.h (create_format): Removed redundant const qualifier from
function formal arguments and removed their names.
(mon_punct_out_): Removed data member.
* def.cpp (Def): Invalidated mon_out_ char members by assigning
CHAR_MAX as expected (and required by C) rather than -1.
* monetary.cpp (create_format): Assigned CHAR_MAX instead of -1
to indicate missing values.
(write_monetary): Renamed mon_punct_out_ to punct and made local.
2006-11-29 Martin Sebor <sebor@roguewave.com>
* fmt_bits.cpp (_rw_fmtbits): Inverted a controlling expression
in an uncoditional assertion.
2006-11-29 Martin Sebor <sebor@roguewave.com>
* time_put.cpp [MSVC >= 8.0] (__rw_put_time): Used the conforming
swprintf() rather than the legacy Microsoft one without the size
argument as suggested by the compiler warning.
2006-11-29 Andrew Black <ablack@roguewave.com>
* acc.config (CCVER, aCC_MAJOR, aCC_MINOR): Convert expensive
assignments from recursive to simple expansion.
* como.config (CCVER, CC_MAJOR, CC_MINOR): Ditto.
* eccp.config (CCVER, ECCP_MAJOR, ECCP_MINOR): Ditto.
* icc.config (CCVER): Ditto.
* osf_cxx.config (CCVER): Ditto.
* reliant_cds.config (CCVER): Ditto.
* sunpro.config (CCVER): Ditto.
* vacpp.config (CCVER, CXX_MAJOR, CXX_MINOR): Ditto.
2006-11-29 Andrew Black <ablack@roguewave.com>
* gcc.config [AIX] (OS_MAJOR, OS_MINOR): Retrieve and store OS major
and minor version.
[AIX] (SHARED_CPPFLAGS): Only set if OS is 5.3 or newer (Earlier
versions of ld don't support -bsrv4, -R switches).
* vacpp.config [AIX] (OS_MAJOR, OS_MINOR): Retrieve and store OS major
and minor version.
[AIX] (SHARED_CPPFLAGS): Only set if OS is 5.3 or newer (Earlier
versions of ld don't support -bsrv4, -R switches).
[!AIX] (SHARED_CPPFLAGS): Use -R switch (assuming Linux ld).
2006-11-28 Martin Sebor <sebor@roguewave.com>
* locale.cpp (print_ellipsis): New function to print sequences
of consecutive characters as ellipses for compactness and for
better efficiency.
(print_charmap): Called print_ellipsis.
2006-11-28 Martin Sebor <sebor@roguewave.com>
* monetary.cpp (process_monetary): Simplified the parsing of integer
values and checking their validity.
2006-11-28 Martin Sebor <sebor@roguewave.com>
* locale.cpp (MON_INT): New convenience macro to print out unspecified
integer values as -1 even when char is an unsigned type.
(print_int_frac_digits, print_frac_digits, print_p_cs_precedes,
print_n_sep_by_space, print_p_sep_by_space, print_n_cs_precedes,
print_p_sign_posn, print_n_sign_posn, print_int_p_cs_precedes,
print_int_n_sep_by_space, print_int_p_sep_by_space,
print_int_n_cs_precedes, print_int_p_sign_posn,
print_int_n_sign_posn): Used it.
2006-11-28 Andrew Black <ablack@roguewave.com>
* sunpro.config (LDFLAGS): Remove redundant -L$(LIBDIR) switch. Switch is added if needed in makefile.common.
(MULTI_LDFLAGS_POSIX, MULTI_LDFLAGS_SOLARIS): Use $(LIBPTHREAD) for MULTI_LDFLAGS_POSIX and $(LIBTHREAD) for MULTI_LDFLAGS_SOLARIS. Had been reversed at some point by mistake.
* acc.config (LDFLAGS): Remove redundant -L$(LIBDIR) switch. Switch is added if needed in makefile.common.
(SHARED_LDFLAGS): Add rpath switch to include $(LIBDIR) in ld search path of executables.
* gcc.config (SHARED_LDFLAGS): Ditto.
* icc.config (SHARED_LDFLAGS): Ditto.
* mipspro.config (LDFLAGS): Remove redundant -L$(LIBDIR) switch. Switch is added if needed in makefile.common.
(SHARED_LDFLAGS): Add rpath switch to include $(LIBDIR) in ld search path of executables.
* osf_cxx.config (SHARED_LDFLAGS): Ditto.
* vacpp.config (SHARED_LDFLAGS): Ditto.
2006-11-28 Farid Zaripov <faridz@kyiv.vdiweb.com>
* vector (vector<bool, _Allocator>): Removed _VB_TYPENAME macro.
[_RWSTD_NO_CLASS_PARTIAL_SPEC && !_RWSTD_NO_TYPENAME]: _TYPENAME
cleared before types definitions and restored after.
2006-11-28 Farid Zaripov <faridz@kyiv.vdiweb.com>
* _config-msvc.h: Updated copyright notice
2006-11-28 Farid Zaripov <faridz@kyiv.vdiweb.com>
* _config-msvc.h: All definitions which duplicates or contradict
with config.h are moved to #if _MSC_VER <= 1200 / #endif
2006-11-27 Martin Sebor <sebor@roguewave.com>
* runall.cpp (merge_argv): Removed a redundant const qualifier
from function return type.
2006-11-27 Martin Sebor <sebor@roguewave.com>
* locale.cpp (sect_charmap): Removed an unused static constant.
2006-11-22 Farid Zaripov <faridz@kyiv.vdiweb.com>
* projectdef.js (projectCreateTestLocaleDefs,
projectCreateTestLocaleDefs): Code, independent from
locale name moved from here ...
* projects.js (CreateProjectsDefs): ... to here.
Command line for custom build step assigned to file
run_locale_utils.wsf (to deal with MSVC 8)
2006-11-20 Farid Zaripov <faridz@kyiv.vdiweb.com>
* projects.js (CreateProjectsDefs): Corrected OutDir for test
locales projects; added dependency from project "exec"
* projectdef.js (projectCreateTestLocaleDefs): Added locale
sanity test; modified command line to using the exec utility
to run locale test.
2006-11-20 Farid Zaripov <faridz@kyiv.vdiweb.com>
* generate.wsf (generate): Added printing of compiler config
variables
* runall.wsf: Timeout value increased up to 180 seconds
2006-11-17 Farid Zaripov <faridz@kyiv.vdiweb.com>
* process.cpp (rw_process_create) [!_WIN32]: Added missing __FILE__, __LINE__
2006-11-16 Martin Sebor <sebor@roguewave.com>
* valcmp.cpp (test_case): Used size_t instead of unsigned in order
to silence HP aCC Warning (suggestion) 887: Type 'unsigned int' is
smaller than type 'unsigned long', unwanted widening in value may
result.
(cases, test_all_cases): Ditto.
2006-11-15 Martin Sebor <sebor@roguewave.com>
* 21.find.last.not.of.cpp (cptr_size_size_test_cases): Cast NPOS
to int to silence Compaq C++ warning: integer conversion resulted
in truncation.
Stripped trailing whitespace.
2006-11-15 Martin Sebor <sebor@roguewave.com>
* GNUmakefile (CURDIR): Used the shell PWD variable to avoid
expanding NFS paths as mount points instead of the user-visible
directories.
(MAKEFILE_IN): Used "$(TOPDIR)" in the definition of the BUILDDIR
variable when generating makefile.in rather than fully expanding
the variable.
2006-11-15 Andrew Black <ablack@roguewave.com>
* GNUmakefile.bin (exec): Fix typo introduced in http://svn.apache.org/viewvc?view=rev&rev=475095
2006-11-15 Andrew Black <ablack@roguewave.com>
* GNUmakefile.bin (SRCDIRS): Revert accidental altering in http://svn.apache.org/viewvc?view=rev&rev=475095
2006-11-15 Farid Zaripov <faridz@kyiv.vdiweb.com>
* target.h: #include time.h instead of sys/types.h for clock_t
2006-11-15 Farid Zaripov <faridz@kyiv.vdiweb.com>
* COLLAPSE_STATIC_LOCALS.cpp: Removed "./" from the LDOPTS.
* COLLAPSE_TEMPLATE_LOCALS.cpp: Ditto.
* COLLAPSE_TEMPLATE_STATICS.cpp: Ditto.
* EXPORT.cpp: Ditto.
* EXTERN_FUNCTION_TEMPLATE.cpp: Ditto.
* EXTERN_INLINE.cpp: Ditto.
* EXTERN_MEMBER_TEMPLATE.cpp: Ditto.
* EXTERN_TEMPLATE.cpp: Ditto.
* EXTERN_TEMPLATE_BEFORE_DEFINITION.cpp: Ditto.
* IMPLICIT_INSTANTIATION.cpp: Ditto.
* LIB_EXCEPTIONS.cpp: Ditto.
* collapse_static_locals.lib.cpp (bar) [_WIN32 && _DLL]: Added
__declspec (dllexport) to the function definition.
* collapse_template_locals.lib.cpp (bar): Ditto.
* collapse_template_statics.lib.cpp (bar): Ditto.
* extern_inline.lib.cpp (foo): Ditto.
* lib_exceptions.lib.cpp (foo): Ditto.
* configure.wsf (runExeTests): Removed replacing the "./" in LDOPTS.
(compileLibs): Added parameter: shared.
(makeLibrary): Ditto. Added creation of the dynamic library (dll)
instead of static library, if shared is true
2006-11-15 Farid Zaripov <faridz@kyiv.vdiweb.com>
* projectdef.js (InitVSObjects): Use devenv.com instead of
devenv.exe to get buildlog in batch build
2006-11-14 Martin Sebor <sebor@roguewave.com>
STDCXX-302
* makefile.common (CXX.repo): New make function.
* makefile.rules (%.o, %): Used CXX.repo in rules.
* GNUmakefile.bin (exec, locale, localedef): Same.
2006-11-14 Andrew Black <ablack@roguewave.com>
* cmdopt.h (TICKS_PER_SEC): Declare global constant.
* cmdopt.cpp (TICKS_PER_SEC): Define, value dependent on pre-processor
declarations. (Already comitted -- see revision 472162).
* target.h (sys/types.h): Include for clock_t.
(sys/time.h) [!_WIN32 && !_WIN64 && _XOPEN_UNIX]: Remove dependency.
(rw_timeval): Remove as unneeded.
(rw_time_t, rw_suseconds_t) [!_XOPEN_UNIX]: Ditto.
(target_status): Use clock_t rather than rw_timeval.
* exec.cpp (sys/times.h) [!_WIN32 && !_WIN64]: Include.
(sys/time.h) [!_WIN32 && !_WIN64 && _XOPEN_UNIX]: Remove dependency.
(calculate_usage) [!_WIN32 && !_WIN64]: Update documentation, alter
signature, use times() rather than getrusage() to retrieve timing
information.
(exec_file) [!_WIN32 && !_WIN64]: Move wall clock timing logic into
calculate_usage, retrieve starting times prior to wait_for_child().
(exec_file) [_WIN32 || _WIN64]: Simplify wall clock delta logic.
* display.cpp (unistd.h) [!_WIN32 && !_WIN64]: Remove dependency.
(print_status_plain): Alter logic used to print times, reflecting
change to target_status.
2006-11-14 Martin Sebor <sebor@roguewave.com>
* memattr.cpp (__rw_memattr): Used msync() instead of the unreliable
madvise() on IRIX.
2006-11-14 Martin Sebor <sebor@roguewave.com>
* printf.cpp (test_errno): Removed assumption that strerror()
never returns a null pointer (see STDCXX-305).
2006-11-14 Andrew Black <ablack@roguewave.com>
* sunpro.config (SHARED_LDFLAGS): Add -R$(LIBDIR) switch so $(LIBDIR) is included in the runtime library search path of linked executables.
2006-11-14 Farid Zaripov <faridz@kyiv.vdiweb.com>
* projectdef.js (projectCreateVCProject): Used Libs member of the ProjectDef class.
* projects.js (CreateProjectsDefs): Added missing libraries in definition of the rwtest project.
2006-11-13 Martin Sebor <sebor@roguewave.com>
STDCXX-303
STDCXX-304
* mipspro.config (PRELINKFLAGS): Removed.
(AR, ARFLAGS): Set to only invoke the archiver through the compiler.
2006-11-13 Andrew Black <ablack@roguewave.com>
* exec.cpp (alarm_handler) [!_WIN32]: Define typedef with signature matching that of handle_alrm.
(wait_for_child) [!_WIN32]: Use alarm_handler typedef for type of local variable storing reference to handle_alrm.
2006-11-10 Andrew Black <ablack@roguewave.com>
* GNUmakefile.bin (LDFLAGS.exec): Define LDFLAGS variant, filtering out the stdcxx library.
(exec): Use LDFLAGS.exec rather than LDFLAGS.
2006-11-10 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp (TEST_SPEC): Avoided using constant controlling
expression in do/while loop to silence annoyning EDG warnings.
2006-11-10 Martin Sebor <sebor@roguewave.com>
* cwchar (wmemcmp, wmemcpy, wmemmove): Correted typos (called the
corresponding wide forms of the __rw_xxx functions rather than the
narrow ones). Causing compilation errors with MIPSpro on IRIX64.
2006-11-10 Farid Zaripov <faridz@kyiv.vdiweb.com>
* EXPORT.cpp: Added "./" in LDOPTS.
* configure.wsf (runExeTests): Added replacing ".o" with ".obj" in LDOPTS
(compileFiles): Reused srcsArr instead of srcs
* projects.wsf (CreateProjectsDefs): Removed extra '\' in command line
2006-11-09 Martin Sebor <sebor@roguewave.com>
* process.cpp: ( __PURE_CNAME): Undefined Compaq/C++ macro to allow
POSIX errno constants such as EACCES to be #defined even in strict
mode.
2006-11-08 Martin Sebor <sebor@roguewave.com>
* GNUmakefile: Included the name of the platform in error messages.
2006-11-08 Martin Sebor <sebor@roguewave.com>
STDCXX-271
* EXTERN_MEMBER_TEMPLATE.cpp: New test to detect the ability to use
function template members of a specialization of a class template
declared extern template.
* extern_template_imp.cpp (NO_INLINE_MEMBER_TEMPLATE,
NO_MEMBER_TEMPLATE): Defined macros in response to the corresponding
configuration macros.
* extern_template_imp.h (inline_member_template, member_template):
Declared.
2006-11-08 Farid Zaripov <faridz@kyiv.vdiweb.com>
* rw_process.h (rw_pid_t): The type long changed to _RWSTD_SSIZE_T.
(rw_wait_pid): Added the timeout parameter.
(rw_process_kill): New function to terminate the specified process.
* process.cpp [_WIN32] (__rw_map_errno): New function to get errno
value from WinAPI last error code
(__rw_split_cmd): Moved to #ifndef _WIN32/#endif
[_WIN32] (_rw_vprocess_create): Used CreateProcess instead of
rw_process_create(char*, char* [])
[_WIN32] (rw_process_create): Used rw_process_create(char*, ...)
instead of spawnp
* 0.process.cpp: New test exercising the rw_process_create(),
rw_process_kill() and rw_waitpid() functions.
2006-11-07 Martin Sebor <sebor@roguewave.com>
* cmdopt.cpp (eval_options): Set errno to 0 before calling strtol
and testing its value to avoid false positives due to the variable
being already set by another function.
2006-11-07 Farid Zaripov <faridz@kyiv.vdiweb.com>
* fmt_defs.h: Added definition of the DummyStruct
* printf.cpp (rw_vasnprintf): Added checking for malformed directive
(_rw_fmttm, _rw_fmtarray, _rw_fmtstrarray, _rw_fmtstr, _rw_fmtwstr):
Third parameter of __rw::__rw_memattr() changed to -1
(_rw_vasnprintf_ext): Ditto. Added "%{P}" formating directive to
format the rw_pid_t value
* 0.printf.cpp: #included rw_process.h for rw_pid_t
(test_chararray): Added missing backslash in result string
(test_stringarray): Added exercising of the "%{ As}" formatting
directive
(test_pid): New function exercising the "%{P}" formating directive
(main): Added call to the test_pid()
2006-11-03 Martin Sebor <sebor@roguewave.com>
* cwchar (wcsrchr): Fixed a typo in conditionally compiled code.
2006-11-01 Farid Zaripov <faridz@kyiv.vdiweb.com>
* configure.wsf (configure): try/catch'ed removing
VS_UNICODE_OUTPUT environment variable
2006-10-31 Farid Zaripov <faridz@kyiv.vdiweb.com>
* configure.wsf (configure): Remove VS_UNICODE_OUTPUT
environment variable before run cl.exe
2006-10-24 Farid Zaripov <faridz@kyiv.vdiweb.com>
* projectdef.js (projectCreateTestLocaleDefs): Fixed bug in assignment
* projects.js (CreateProjectsDefs): Fixed bug in assignment
2006-10-23 Farid Zaripov <faridz@kyiv.vdiweb.com>
* configure.wsf (checkHeaders): Removed unused parameter
(configure): Try/catch'ed run of the sanity.exe while
checking run environment sanity
* data.js: Removed unused variable platformWin32Name
* generate.wsf: Added output of the compiler configuration
variables to the log file
* makelog.wsf: Corrected the comment about CONFIG parameter
* msvc-7.0.config: Added variable PLATFORM
* msvc-8.0-x64.config: New configuration file for MSVC 8.0
(x64 platform)
* projectdef.js (setProperty): New function to assign value
to a property if it's exists
(projectCreateVCProject): Use PLATFORM compiler configuration
variable instead of hardcoded variable platformWin32Name; use
setProperty function with properties which are not supported
on some platforms; leave default value of the property
linker.TargetMachine (which is target dependent)
* projects.js (CreateProjectsDefs): Copy dll's after every
project rebuild
* runall.wsf: Added parameter CONFIG to the list of parameters
and usage example
* utilities.js: Added variable PLATFORM
(parseConfig): Renamed from getCompilerOpts, redesigned to use
regular expression
(PrintVars): New function to print compiler configuration
variables and their values to the text stream
(getWinDiffDifferences): code for determine the path to the
windiff utility moved from here ...
(getCompilerOpts): ... to here
* generate.bat: Added check to run 32-bit cscript.exe
on 64-bit Windows
2006-10-23 Farid Zaripov <faridz@kyiv.vdiweb.com>
* printf.cpp (_rw_fmtstrarray): Use ' ' as delimiter if
' ' is specified in flags field
2006-10-19 Andrew Black <ablack@roguewave.com>
* libc_decl.sh: Fixed if expression
2006-10-19 Farid Zaripov <faridz@kyiv.vdiweb.com>
* alloc.cpp (_rw_allocate_blocks): Set r/w access to the
_rw_tail->next before modification
2006-10-19 Farid Zaripov <faridz@kyiv.vdiweb.com>
* driver.h (rw_enable): New function to enable/disable
specified diagnostics
* driver.cpp (rw_enable): New function to enable/disable
specified diagnostics
(_rw_vdiag): Added checking whether the diagnostic
is enabled or disabled
* opt_trace.h: Added declaration of the _rw_diag_ignore variable
* opt_trace.cpp: Added definition of the _rw_diag_ignore variable
2006-10-19 Farid Zaripov <faridz@kyiv.vdiweb.com>
STDCXX-297
* bitset.cc (__rw_bitset): Corrected calculation of
size of the __bits buffer
2006-10-16 Farid Zaripov <faridz@kyiv.vdiweb.com>
* libc_decl.sh: libc headers and functions moved to headers.inc file
* configure.wsf (checkHeaders): The same
* headers.inc: New file with libc headers and functions list
2006-10-13 Martin Sebor <sebor@roguewave.com>
* makefile.common (TEEOPTS): Reverted previous change (rev 463535).
* makefile.rules (%.o: %(AS_EXT), %.o: %.cpp, %: %.o, %: %.cpp):
Reverted previous change and removed $(TEEOPTS) from compile/link
lines so as to prevent the pipeline from masking compilation and/or
linking errors.
2006-10-12 Andrew Black <ablack@roguewave.com>
* makefile.rules (%.o: %(AS_EXT), %.o: %.cpp, %: %.o, %: %.cpp): Add
$(TEEOPTS) to compile/link line so that output is routed to log files.
* makefile.common (TEEOPTS): Always tee output to $@.log.
* target.h (target_opts): Add c_warn and l_warn fields.
(target_status): Split warn field into c_warn, l_warn, t_warn.
* output.cpp (check_test): Count warnings, store in status->t_warn.
(check_compat_test): Expand tail horizon, capture warnings into
status->t_warn.
* display.cpp (print_header_plain): Add WARN column, rename WALL
column to REAL.
(print_status_plain): Print the total number of warnings in the WARN
column.
* runall.cpp (count_warnings): Add static method to count the number
of warnings in a .log file.
(check_target_ok): Always calculate object file name, call
count_warnings for object and executable.
* cmdopt.cpp (usage_text): Document new --warn switch.
(parse_warn_opts): Define new helper function to parse --warn switch.
(eval_options): Used here in parsing and to initialize default c_warn
and l_warn values.
2006-10-11 Martin Sebor <sebor@roguewave.com>
* cwchar (wcscat, wcscpy): Used the block form of language linkage
specification to work around an HP aCC 3.70 bug (see STDCXX-298).
2006-10-10 Farid Zaripov <faridz@kyiv.vdiweb.com>
* configure.wsf (checkHeaders): Added tests for POSIX
functions (putenv, setenv, unsetenv).
2006-10-10 Farid Zaripov <faridz@kyiv.vdiweb.com>
* environ.cpp (rw_putenv): Added missing semicolon
2006-10-09 Martin Sebor <sebor@roguewave.com>
* environ.cpp (unsetenv): Conditionally declared.
(rw_putenv): Handled invalid separator character.
Handled malloc() failure to allocate memory.
Used unsetenv() when available, otherwise putenv().
2006-10-09 Martin Sebor <sebor@roguewave.com>
* libc_decl.sh (putenv, setenv, unsetenv): Added tests for POSIX
functions.
2006-10-09 Martin Sebor <sebor@roguewave.com>
* alloc.cpp (MAP_PRIVATE, MAP_ANONYMOUS): #defined to 0 when not
#defined in system headers.
2006-10-09 Martin Sebor <sebor@roguewave.com>
* wcodecvt.cpp (__rw_libc_do_in): Corrected a typo in conditionally
compiled code.
2006-10-09 Farid Zaripov <faridz@kyiv.vdiweb.com>
STDCXX-93
* time_put.cpp (__rw_get_timepunct): Corrected buffer size in
wcsftime() calls; _RWSTD_SIZE_MAX changed to size of source
string in mbstowcs() calls to deal with MSVC 8.0 CRT
2006-10-06 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 23.bitset.cpp: New test exercising lib.bitset.
2006-10-06 Martin Sebor <sebor@roguewave.com>
STDCXX-3
* rw_rand.h: New. Declarations of testsuite random generator helpers.
* random.cpp: New. Definitions of the above.
2006-10-06 Farid Zaripov <faridz@kyiv.vdiweb.com>
* icc-9.0.config: New configuration file for ICC-9.0
* icc-9.1.config: New configuration file for ICC-9.1
* msvc-7.0.config: New configuration file for MSVC-7.0
* msvc-7.1.config: New configuration file for MSVC-7.1
* msvc-8.0.config: New configuration file for MSVC-8.0
* msvcex-8.0.config: New config file for MSVCExpress-8.0
* config.js: Removed definitions of the classes: Solution,
SolutionConfiguration, ProjectConfiguration, Project, Filter,
Platform, Configuration, Tool, Compiler, Linker, Librarian,
CustomBuild, PostBuild
* data.js: Removed variables of types which was removed from config.js
(ConfigInfo): New class for storing information about build
configuration
* devenv_consts.js: New file with constant variables for
VisualStudio Automation objects
* filterdef.js: New script file with FilterDef class definition
* projectdef.js: New script file with ProjectDef class definition
* projects.js: New script file with definitions of the projects
for solution
* summary.js (saveSummaryHeaderMulti): Modified according to the new
directory structure
(saveBuildSummaryMulti): Modified according to the new directory
structure, added checking of source folder presence
(saveBuildSummariesFromFolder): Added checking of folder presence
* utilities.js: Removed functions: convertSolutionImpl,
setCompilerEnvironment, compile, compileFiles, link, linkFiles,
preprocess, preprocessFile, buildLibrary, makeLibrary
(createUUID): Get new UUID using the "scriptlet.typelib" COM object
instead of executing uuidgen utility
(getCompilerOpts): New function for parsing the configuration file
of the specified compiler
(getExtension): New function for obtain extension of filename
(changeFileExt): New function for get new filename with specified
extension
(arrayIndexOf): New function for obtain index of item in array
(generateSolution): New function for create the solution file
* configure.wsf (checkHeaders): Removed checking of the wctomb,
wcstombs functions in wchar.h header. Added missing break keyword.
(joinArray): New function to get string from array of strings
(preprocessFile): New function to preprocess the specified file
(compileFiles): New function to compile the specified files
(linkFiles): New function to link targets in specified executable
(makeLibrary): New function to build C++ library file
(logLine): New function to append the line to log file
* generate.wsf: Removed function generateUpdateBatch
(generate): Modified to use the new objects for generate project files
(LogMessage): New function to print message to the stdout and logfile
(generateUpdateBatch): Modified to create separate build batch for
each compiler configuration instead of common build.bat
(createBuildDirs): Modified according to the new directory structure
(readAndCheckArguments): Added checking of the new script parameters:
/LOCALES and /LOCALETESTS
* makelog.wsf: Modified according to the new directory structure
* runall.wsf: Removed functions: inspectProcesses
(runexamples): Get type of buildlog file from compiler
configuration file
(readAndCheckArguments): Added new option COPYRWTESTDLL
(runAllExamples): Modified according to the new directory
structure; added code for copying and deleting the rwtest.dll
if COPYRWTESTDLL option is specified
(runNoChecks): Used exec utility to run example instead of
WshShell::Exec method
(runWithChecks): Used exec utility to run example instead of
WshShell::Exec method
(parseStatus): New function to obtain the exit code of the example
* run_locale_utils.wsf: New script file which implements
functionality of the run_locale_utils.sh script
2006-10-05 Martin Sebor <sebor@roguewave.com>
* _config.h: Updated license.
2006-10-05 Andrew Black <ablack@roguewave.com>
* target.h: Update header comment.
(target_status): Add wall field for wall clock timing.
* exec.cpp [!_WIN32 && !_WIN64 && _XOPEN_UNIX] (sys/time.h): Included
for gettimeofday.
exec_file [!_WIN32 && !_WIN64 && _XOPEN_UNIX]: Set result->wall.
exec_file [_WIN32 || _WIN64]: Ditto.
* display.cpp (print_header_plain): Add column for wall clock time.
(print_status_plain): Print result->wall, if set.
2006-10-05 Martin Sebor <sebor@roguewave.com>
* time_put.cpp (__rw_get_time_put_data): Added braces around
the initializer of a local array to silence a gcc warning.
2006-10-04 Martin Sebor <sebor@roguewave.com>
STDCXX-294
* vector.cc (_C_insert_n): Corrected logic error.
2006-10-04 Farid Zaripov <faridz@kyiv.vdiweb.com>
* exception.cpp [_MSC_VER]: #undefined _RWSTD_NO_VSNPRINTF after
#define vsnprintf _vsnprintf
2006-10-04 Farid Zaripov <faridz@kyiv.vdiweb.com>
* output.cpp (check_example): swapped size and count parameters of fread() call
2006-10-04 Farid Zaripov <faridz@kyiv.vdiweb.com>
* THREAD_SAFE_EXCEPTIONS.cpp [_WIN32]: disable displaying
general protection fault message box
2006-10-03 Martin Sebor <sebor@roguewave.com>
* limits (_RWSTD_FLT_HAS_DENORM, _RWSTD_DBL_HAS_DENORM,
_RWSTD_LDBL_HAS_DENORM): Defined macros to false when
not #defined at configuration time.
2006-10-03 Farid Zaripov <faridz@kyiv.vdiweb.com>
* time_get.cpp: File renamed ...
* time_get.out: ... to this.
2006-10-03 Farid Zaripov <faridz@kyiv.vdiweb.com>
* _defs.h: _RWBUILD_std replaced to _RWSTD_LIB_SRC
2006-10-03 Farid Zaripov <faridz@kyiv.vdiweb.com>
Set svn:eol-style property.
2006-10-03 Farid Zaripov <faridz@kyiv.vdiweb.com>
* sstream.cc (basic_stringbuf<>::str): Added check before
deallocate the old buffer
2006-10-03 Farid Zaripov <faridz@kyiv.vdiweb.com>
* _specialized.h: Restored HP copyright notice
* vector: Ditto
* set: Ditto
* map: Ditto
* list: Ditto
* deque: Ditto
2006-10-02 Andrew Black <ablack@roguewave.com>
* cmdopt.cpp: Convert C++ comments to C comments.
(rw_signal) [!_WIN32 & !_WIN64]: Ditto.
(parse_limit_opts): Ditto, fix style violation.
(show_usage): Make static (move from global to file scope).
(eval_options, split_opt_string): Move documentation from here ...
* cmdopt.h (eval_options, split_opt_string): ... To here.
Convert C++ comments to C comments.
* display.cpp (print_header_plain, print_target_plain,
print_status_plain, print_footer_plain): Make static, document.
* display.h: Convert C++ comments to C comments.
* exec.cpp: Ditto.
(limit_process) [!_WIN32 & !_WIN64]: Ditto.
(get_signo): Fix style violation.
(wait_for_child, exec_file) [!_WIN32 & !_WIN64]: Ditto.
(wait_for_child) [!_WIN32 & !_WIN64]: Correct embedded comment.
(get_signo, get_signame, exec_file): Move documentation from here ...
* exec.h (get_signo, get_signame, exec_file): ... To here.
Convert C++ comments to C comments.
* output.cpp (parse_output): Move documentation from here ...
* output.h (parse_output): ... To here.
Convert C++ comments to C comments.
* runall.cpp: Ditto
* target.h: Ditto, correct file header documentation.
* util.cpp (guarded_realloc): Fix style violation.
(terminate, guarded_malloc, guarded_realloc): Move documentation
from here ...
* util.h (terminate, guarded_malloc, guarded_realloc): ... To here.
(terminate): Fix style violation in declaration.
Convert C++ comments to C comments.
2006-10-02 Farid Zaripov <faridz@kyiv.vdiweb.com>
* _select.h (__rw_is_same): Renamed: yes; no; Type<class T> to:
_C_yes; _C_no; _C_Type<class _TypeV>
* 22.locale.num.get.cpp (do_test): Changed type of dummy argument
from charT to charT* to resolve MSVC 7.0 ambiguity
* 21.cwchar.cpp (swscanf, vfwprintf): Removed unused template
parameter SizeT to prevent MSVC 7.0 error:
error C2783: 'int std::swscanf(const WCharT *,const WCharT *,...)' :
could not deduce template argument for 'SizeT'
(fgetwc): Return type changed to wint_t to prevent MSVC 7.0 error:
error C2785: 'int std::fgetwc(FileT *)' and 'wint_t fgetwc(FILE *)'
have different return types
(test_functions): commented const to prevent MSVC 7.0 error:
error C2147: 'tm_buf' : const automatic array must be fully
initialized
* 21.cwctype.cpp (towlower, towupper, wctrans, wctype, towctrans):
Corrected return type to prevent MSVC 7.0 error:
error C2785: 'int std::towlower(T)' and 'wchar_t towlower(wchar_t)'
have different return types
(run_test): Added exercising of the std::towctrans()
* 26.c.math.cpp (test_declarations): Resolved MSVC 7.0 ambiguity:
error C2782: 'T std::modf(T,T *)' : template parameter 'T' is
ambiguous: could be 'double' or 'long double'
* 27.forward.cpp [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added is_same_type
for compilers which not support the partial ordering of function
templates
* 25.search.cpp [_MSC_VER <= 1300]: Added explicit definition of the
NonPredicateTag<X>::DummyPredicate::funcalls_ to prevent MSVC 7.0
linker error
* alg_test.h [_MSC_VER <= 1300] (conv_to_bool): UniquePtr defined
as const void* to deal with MSVC 7.0
2006-10-01 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 17.names.cpp: New test exercising the absence of namespace pollution.
2006-09-29 Martin Sebor <sebor@roguewave.com>
* run_locale_utils.sh (signal_cleanup): Renamed...
(cleanup): ...to this and set up as a handler for SIGHUP,
SIGINT, SIGQUIT, and SIGTERM.
2006-09-29 Farid Zaripov <faridz@kyiv.vdiweb.com>
* _num_put.cc: Updated the licensing header
* _select.h: The same
* file.cpp: The same
2006-09-29 Farid Zaripov <faridz@kyiv.vdiweb.com>
* _num_put.cc (__rw_iter_failed): Removed const to resolve
ambiguity on MSVC 7.0
* _select.h [_RWSTD_NO_CLASS_PARTIAL_SPEC]: Added __rw_is_same
for compilers which not support the partial template specialization
* file.cpp: Declare fileno() only if it not declared in CRT header,
but present in libc
* NEW_THROWS.cpp: Returned 1 if operator new doesn't throws
2006-09-28 Martin Sebor <sebor@roguewave.com>
* exec.cpp (wait_for_child): Added SIGQUIT to the array of signals
to send to child.
2006-09-28 Andrew Black <ablack@roguewave.com>
* target.h: Add new header.
(target_opts): Define.
(rw_rlimit, ProcessStatus, target_status): Move from display.h.
(rw_timeval, RLIM_INFINITY, RLIM_SAVED_CUR, RLIM_SAVED_MAX): Move from
cmdopt.h.
* cmdopt.h (rw_timeval, RLIM_INFINITY, RLIM_SAVED_CUR, RLIM_SAVED_MAX):
Move to target.h.
(timeout, compat, verbose, exe_opts, in_root, child_limits): Remove
global declarations.
(target_name): Move from global scope to runall.cpp local scope.
(eval_options): Alter declaration to take storage structure, handle.
(get_target): Declare, document accessor function defined in runall.cpp.
* cmdopt.cpp (timeout, compat, verbose, exe_opts, in_root, target_name,
child_limits): Remove global definitions.
(usage_text): Remove -q and -v switch descriptions (they were unused).
(parse_limit_opts): Alter definition to take storage structure, use
storage structure.
(eval_options): Alter definition to take storage structure, handle,
update documentation, store parsed values in provided structure/handle,
remove -q, -v switches.
* display.h (rw_rlimit, ProcessStatus, target_status): Move to target.h.
(short_st_name): Make immutable.
(print_target): Alter declaration to take target_opts rather than
target_status.
* display.cpp (print_target_plain): Alter definition to match
print_target.
(print_status_plain): Alter usage to match changes to target_status
structure.
(short_st_name): Make immutable.
(print_target): Alter definition to match declaration.
* exec.h (exec_attrs): Remove.
(target.h): Include.
(exec_file): Alter declaration to accept target_opts in addition to
target_status.
* exec.cpp (target.h): Include instead of display.h.
(open_input): Alter definition to take data_dir, update documentation.
[!_WIN32 && !_WIN64] (alarm_timeout): Clean documentation slightly.
[!_WIN32 && !_WIN64] (wait_for_child): Alter definition to take timeout,
target_status, store results directly in struct.
[!_WIN32 && !_WIN64] (LIMIT, limit_process): Alter definition to take
target_opts, update documentation, check for valid pointer to limit
structure rather than invalid values.
[!_WIN32 && !_WIN64 && _XOPEN_UNIX] (calculate_usage): Store calculated
times in static local vartiables, and store references to these
variables in target_status struct.
[!_WIN32 && !_WIN64] (exec_file): Alter to match prototype, altered
function usage to match definitions.
[_WIN32 || _WIN64] (kill_child_process): New helper function to simplify
child process kill code.
[_WIN32 || _WIN64] (exec_file): Alter to match prototype, altered
functions to match definitions, use new helper function, some cleaning,
process execution results.
* output.h (parse_output): Alter declaration to take target_opts in
addition to target_status.
* output.cpp (check_test): Retrieve target_name via get_target.
(check_example): Alter definition to take data_dir, update
documentation.
(parse_output): Alter definition to match prototype, use target_opts
in place of removed globals.
* runall.cpp (target.h): Included.
(check_target_ok): Alter definition to take target (char*) in addition
to target_status, retrieve target_name via get_target.
(process_results): Remove, functionality rolled into exec_file.
(target_name): moved to file local scope from global scope.
(get_target): Declare accessor function for target_name, defined in
cmdopt.h.
(run_target): Alter definition to take target_opts structure rather
than argv array.
(main): Create local target_opts structure to fill in eval_opts and
use in target_template, free any rlimit structures allocated in
parse_limit_opts.
* util.h (reference_name): Alter declaration to take data_dir, update
documentation.
* util.cpp (warn, terminate): Retrieve target_name via get_target.
(reference_name): Retrieve target_name via get_target, use data_dir
rather than (removed) in_root global.
2006-09-28 Farid Zaripov <faridz@kyiv.vdiweb.com>
* deque: Added #ifndef _RWSTD_NO_PART_SPEC_OVERLOAD/#endif around the
function std::swap<T, A> (std::deque<T, A>&, std::deque<T, A>&);
[_RWSTD_NO_PART_SPEC_OVERLOAD]: Added function std::swap
(std::deque&, std::deque&)
* list [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added function
std::swap (std::list&, std::list&)
* map [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added functions
std::swap (std::map&, std::map&) and
std::swap (std::multimap&, std::multimap&)
* set [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added functions
std::swap (std::set&, std::set&) and
std::swap (std::multiset&, std::multiset&)
* string [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added function
std::swap (std::string&, std::string&)
* vector [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added functions
std::swap (std::vector&, std::vector&) and
std::swap (std::vector<bool>&, std::vector<bool>&)
2006-09-27 Martin Sebor <sebor@roguewave.com>
* charmap.cpp (convert_sym_to_ucs): Parenthesized a call
to isxdigit to prevent macro expansion.
(process_ellipsis): Corrected a loop control expression.
2006-09-25 Martin Sebor <sebor@roguewave.com>
* exec.cpp (wait_for_child): Worked around HP aCC bug (STDCXX-291)
even harder (and more correctly).
2006-09-25 Martin Sebor <sebor@roguewave.com>
* exec.cpp (wait_for_child): Used memcpy to assign function
pointers as a workaround for HP aCC 6 bug (STDCXX-291).
2006-09-25 Martin Sebor <sebor@roguewave.com>
* cmdopt.cpp (rw_signal): Worked around an HP aCC 6 bug (see
STDCXX-291).
(eval_options): Changed the type of a local to avoid HP aCC
sign extension warnings.
2006-09-25 Martin Sebor <sebor@roguewave.com>
* cwchar (wcschr): Added a missing parenthesis.
2006-09-25 Martin Sebor <sebor@roguewave.com>
* BAD_ALLOC_ASSIGNMENT.cpp (Base1, Derived): Silenced gcc -Wunused
warnings.
2006-09-25 Martin Sebor <sebor@roguewave.com>
* wthread.h: Allowed to be #included regardless of the platform
and renamed...
* thread.h: ...to this.
* THREAD_SAFE_ERRNO (thread.h): Included instead of wthread.h.
* THREAD_SAFE_EXCEPTIONS.cpp (thread.h): Same.
2006-09-25 Martin Sebor <sebor@roguewave.com>
* INFINITY.cpp (main): Made output correct even when the macro
_RWSTD_USE_CONFIG is not #defined.
2006-09-25 Martin Sebor <sebor@roguewave.com>
* TLS.cpp (_RWSTD_THREAD_STR): Removed unused macro.
(PRINT_MACRO): Corrected ill-formed preprocessor concatenation.
2006-09-25 Martin Sebor <sebor@roguewave.com>
* scanner.cpp (convert_escape): Cast away constness to work around
an MSVC 7.0 bug causing error C2446: '==' : no conversion from
'char ** ' to 'const char ** ' Conversion loses qualifier.
2006-09-25 Farid Zaripov <faridz@kyiv.vdiweb.com>
* BAD_ALLOC_COPY_CTOR.cpp: Added dependency on RUNTIME_IN_STD.cpp
* BAD_ALLOC_DEFAULT_CTOR.cpp: Ditto
* BAD_ALLOC_DTOR.cpp: Ditto
* BAD_ALLOC_WHAT.cpp: Ditto
* BAD_CAST_ASSIGNMENT.cpp: Ditto
* BAD_CAST_COPY_CTOR.cpp: Ditto
* BAD_CAST_DEFAULT_CTOR.cpp: Ditto
* BAD_CAST_DTOR.cpp: Ditto
* BAD_CAST_WHAT.cpp: Ditto
* BAD_EXCEPTION_ASSIGNMENT.cpp: Ditto
* BAD_EXCEPTION_COPY_CTOR.cpp: Ditto
* BAD_EXCEPTION_DEFAULT_CTOR.cpp: Ditto
* BAD_EXCEPTION_DTOR.cpp: Ditto
* BAD_EXCEPTION_WHAT.cpp: Ditto
* BAD_TYPEID_ASSIGNMENT.cpp: Ditto
* BAD_TYPEID_COPY_CTOR.cpp: Ditto
* BAD_TYPEID_DEFAULT_CTOR.cpp: Ditto
* BAD_TYPEID_DTOR.cpp: Ditto
* BAD_TYPEID_WHAT.cpp: Ditto
* EXCEPTION_ASSIGNMENT.cpp: Ditto
* EXCEPTION_COPY_CTOR.cpp: Ditto
* EXCEPTION_DEFAULT_CTOR.cpp: Ditto
* EXCEPTION_DTOR.cpp: Ditto
* EXCEPTION_WHAT.cpp: Ditto
* libc_decl.sh: Removed checking of the wctomb and wcstombs in wchar.h header
* wthread.h: New file with definitions of Win32 POSIX compatibility layer functions
* THREAD_SAFE_ERRNO.cpp [_WIN32]: Ported to Windows platform
* THREAD_SAFE_EXCEPTIONS.cpp [_WIN32]: Ported to Windows platform
* TLS.cpp: Added print out the #definition of the _RWSTD_THREAD macro
[_MSC_VER]: Used modifier __declspec (thread) instead of __thread
2006-09-24 Andrew Black <ablack@roguewave.com>
* exec.cpp [!_WIN32 && !WIN64] (wait_for_child): Evaluate return value
when sending signals to child process group, correct off-by-one issue
when checking for end of signal array, Try to kill off any grandchildren
left in the child process group after the child process terminates.
2006-09-22 Andrew Black <ablack@roguewave.com>
* cmdopt.cpp (parse_limit_opts): Restrict sub-option values to
non-negative integers.
(eval_options): Ditto for -t, --exit, and --sleep. Fix off-by
one error in logic for --ignore and --ulimit, leading to incorrect
parsing.
2006-09-22 Martin Sebor <sebor@roguewave.com>
* def.cpp (strip_pair): Eliminated HP aCC Warning (suggestion) 887:
Type 'int' is smaller than type 'unsigned long', unwanted widening
in value may result.
2006-09-22 Martin Sebor <sebor@roguewave.com>
* codecvt.cpp (write_codecvt): Corrected delete expressions.
2006-09-22 Farid Zaripov <faridz@kyiv.vdiweb.com>
* limits [_RWSTD_NO_CLASS_PARTIAL_SPEC]: Corrected macro _RWSTD_SPECIALIZE_LIMITS
* rw_char.h (UserInt): Added const_cast to avoid MSVC 7.0 error "C2446: '=='
: no conversion from 'const int *' to 'void *const '"
* _autoptr.h (__rw_nonvoid_ref): Added #ifndef _RWSTD_NO_CV_VOID_SPECIALIZATIONS/#endif
to avoid error on MSVC 7.0 (http://www.dotnet247.com/247reference/msgs/1/7727.aspx)
* _specialized.h (__rw_construct) [_RWSTD_NO_PART_SPEC_OVERLOAD]: Added code to deal
with compilers, which are not supports the "Partial Ordering of Function Templates"
* VA_LIST.cpp (va_list_array_size) [_RWSTD_NO_CLASS_PARTIAL_SPEC && _RWSTD_NO_PART_SPEC_OVERLOAD]:
Added code to deal with compilers, which are not supports the "Partial Ordering of Function Templates"
* CV_VOID_SPECIALIZATIONS.cpp: New file, checking for cv qualifiers on type void
* 20.operators.cpp: Added #include <cstddef> for std::size_t
* 20.pairs.cpp: Added #ifdef/#endif guard to avoid error "Cannot access private copy constructor"
2006-09-21 Martin Sebor <sebor@roguewave.com>
* aliases.cpp (get_installed_locales): Redirected locale's stderr
to /dev/null to prevent it from cluttering our own. Eliminated
the handling of invalid category values.
* charmap.h (<list>): Included.
(portable_charset): Declared.
(get_n_cmap, get_rn_cmap, get_w_cmap, get_rw_cmap): Documented.
(get_n_cmap2, get_rn_cmap2, get_strval_map, increment_val): Renamed...
(get_mb_cmap, get_rmb_cmap, get_symnames_list, increment_wchar): ...to
this.
(get_strval_map): Replaced...
(get_symnames_list): ...with this.
(process_ellipsis): Changed to return the number of characters denoted
by the ellipsis instead of void.
(increment_strval): Renamed...
(increment_encoding): ...to this for clarity and changed it to return
true on success and false otherwise.
(verify_portable_charset): Made const.
(parse_ext_strval): Renamed...
(encoding_to_mbchar): ...to this for clarity.
(add_to_cmaps): Added a bool argument.
(n_cmap2_, rn_cmap2_): Renamed...
(mb_cmap_, rmb_cmap_): ...to this for clarity.
(valid_mb_set_, valid_wchar_set_, strval_map_): Removed unused members.
(symnames_list_): Added new member.
* def.h (process_abs_ellipsis): New.
(process_sym_ellipsis): Returned the number of characters denoted by
the ellipsis instead of void.
(hex_increment, dec_increment): Removed (defined as static non-members
in collate.cpp).
(process_mask): Added an argument denoting the human readable name
of the mask for progress diagnostics.
(process_transliteration, process_transliteration_statement,
generate_xliteration_data): Renamed...
(process_xlit, process_xlit_statement, gen_xlit_data): ...to this for
brevity.
(extract_string_array): New.
(ctype_offset_tab_t): Renamed...
(codecvt_offset_tab_t): ...to this.
(wchar_off_map_, mb_char_offs_, wchar_offs_, wchar_utf8_to_ext_,
utf8_offs_, valid_codecvt_utf8_set_, utf8_map_, next_codecvt_tab_num_,
next_wchar_codecvt_tab_num_, next_utf8_codecvt_tab_num_, codecvt_out_):
Removed data members.
(mb_char_offs_iter, wchar_offs_iter, utf8_offs_iter, utf8_map_iter,
(gen_valid_codecvt_wchar_set, gen_valid_codecvt_utf8_set, gen_utf8_map,
generate_wchar_codecvt_table, generate_utf8_codecvt_table):
Replaced member functions...
(gen_mbchar_tables, gen_wchar_tables, gen_utf8_tables): ...with these.
* diagnostic.h (E_NOTSUP, W_NOTSUP, W_CHARMAP, I_SKIP): Added.
(W_COLVAL): Removed.
* scanner.h (token_id): Arranged enumerators by LC_XXX section and
documented. Added enumerators for LC_ADDRESS and other sections defined
by ISO/IEC TR 14652.
(tok_ellipsis, tok_dellipsis, tok_qellipsis, tok_doub_inc_ellipsis):
Renamed...
(tok_abs_ellipsis, tok_hex_ellipsis, tok_dec_ellipsis,
tok_dbl_ellipsis): ...to this for better correspondence to ISO/IEC
TR 14652 names.
(tok_eof, tok_cont_line): Removed unused names.
(tok_octal_value, tok_decimal_value, tok_hex_value): Replaced...
(tok_char_value): ...with this for simplicity.
* charmap.cpp (convert_escape): Removed dead code.
(portable_charset): Defined.
(convert_to_wc): Simplified, added comments.
(increment_val): Renamed...
(increment_wchar): ...to this, renamed locals for clarity, and replaced
hardcoded 0xff with UCHAR_MAX (is this really correct when char is more
that 8 bits wide?).
(increment_strval): Renamed...
(increment_encoding): ...to this, removed local statics, and optimized.
The function is unused since it is not possible to increment a multibyte
character so that its last byte overflows (i.e., wraps around to 0). It
should/will be removed in a future commit.
(parse_ext_strval): Renamed...
(encoding_to_mbchar): ...to this and renamed locals.
(convert_sym_to_ucs): Tightened up the checking of symbolic character
names for validity (expect a hex digit after the leading "<U" prefix).
Used strtoul instead strtol for simplicity.
(convert_to_ucs): Adjusted formatting.
(add_to_cmaps): Added an argument indicating whether the encoding
is multibyte or whether it should be converted to it. Optimized and
added inline comments.
(process_ellipsis): Renamed locals, added inline comments and adjusted
formatting for clarity. Corrected sprintf format. Avoided calling
increment_strval and instead incremented the last byte of a multibyte
character, detecting and diagnosing overflow, for efficiency.
(process_chars): Added a progress message at the beginning of the
function. Counted the number of tokens, ellipses, and characters
processed. Added inline comments. Simplified the handling of numeric
character values (tok_char_value). Used tok_abs_ellipsis,
tok_hex_ellipsis, and tok_dec_ellipsis. Added a progress message
at the end of the function indicating the number of of tokens, ellipses,
and characters processed.
* codecvt.cpp (gen_valid_codecvt_mb_set, gen_valid_codecvt_wchar_set,
gen_valid_codecvt_utf8_set, generate_codecvt_table, gen_utf8_map,
generate_wchar_codecvt_table, -generate_utf8_codecvt_table): Replaced...
(gen_mbchar_tables, gen_wchar_tables, gen_utf8_tables): ...with these
functions and simplified by replacing member variables with function
arguments wherever possible.
(create_wchar_utf8_table): Moved to collate.cpp where the function
is actually used.
(generate_xliteration_data): Renamed...
(gen_xlit_data): ...to this.
(write_codecvt): Called gen_mbchar_tables, gen_wchar_tables, and
gen_utf8_tables for better locality of reference and documented.
* collate.cpp (lc_name): New.
(create_wchar_utf8_table): Moved from codecvt.cpp.
(dec_increment, hex_increment): Made static non-members.
(process_weights, add_missing_values, process_collate, write_collate):
Used preincrement instead of postincrement with iterators for better
efficiency.
* ctype.cpp (lc_name): New.
(convert_literal_to_ucs4): Handled tok_char_value instead of
tok_octal_value, tok_decimal_value, and tok_hex_value.
(process_abs_ellipsis): New function.
(process_sym_ellipsis): Simplified.
(process_mask): Added an argument, displayed progress message, and
simplified.
(process_upper_lower): Displayed progress message, and simplified.
(process_transliteration, process_transliteration_statement): Renamed...
(process_xlit, process_xlit_statement): ...to this.
(process_ctype): Added a progress diagnostic.
* def.cpp (convert_to_ext): Used rmb_cmap_iter.
(process_input): Removed progress diagnostics.
(verify_portable_charset): Used portable_charset.
* diagnostic.cpp (issue_diag): Used fputs instead of fprintf where
appropriate and simplified.
* messages.cpp (lc_name): New.
(process_messages): Used lc_name, issued an informative diagnostic,
and simplified ever so slightly.
* monetary.cpp (lc_name): New.
(process_monetary): Used lc_name. Issued an informative diagnostic.
* numeric.cpp (lc_name): New.
(process_numeric): Used lc_name, issued an informative diagnostic,
and simplified ever so slightly.
* time.cpp (lc_name): New.
(parse_era): Handled empty era strings and constified locals.
(extract_string_array): Defined new member function of class Def.
(process_time): Used lc_name, issued an informative diagnostic,
called extract_string_array.
(write_time): Issued an informative diagnostic and simplified ever
so slightly.
* scanner.cpp (ScannerContext): Declared copy ctor and assignment
operator private and removed definitions.
(process_token): Simplified the handling of numeric character values,
removed unnecessary qualification from the definition of tok_map array
elements.
(next_token): Used the new names tok_abs_ellipsis, tok_hex_ellipsis,
tok_dec_ellipsis, and tok_dbl_ellipsis, eliminated a C-style const
cast to avoid a gcc warning.
* localedef.cpp (--notes): Documented option.
* locale.cpp: Declared all definitions static, renamed many locals for
clarity and/or brevity.
(collate_charmap, ctype_charmap, time_charmap, num_charmap, mon_charmap,
messages_charmap, current_locales, is_env_set): Removed globals (moved
into get_charmap()).
(sect_charmap, sect_lc_all, sect_lc_collate, sect_lc_ctype, ect_lc_time,
sect_lc_messages, sect_lc_monetary, sect_lc_numeric): Defined new global
constants.
(UChar): New convenience typedef.
(validate): Tweaked text of error message.
(initialize_struct): Renamed...
(init_struct): ...to this for brevity, removed redundant arguments
and added their static local equivalents.
(initialize): Renamed...
(init_section): ...to this and removed redundant arguments.
(initialize_structs): Renamed...
(init_sections): ...to this. Called init_section with fewer arguments.
(get_charmap): Added static locals for better encapsulation and locality
of reference.
(escape_value): New function to handling the formatting of characters
and weights using escape sequences.
(create_str): Simolified.
(print_section, print_keyword): New helper functions.
(print_weight): Simplified.
(write_coll_info): Renamed locals.
(print_ce_info): Added comments, adjusted code formatting.
(print_lc_collate, print_lc_ctype, print_lc_messages, print_lc_numeric,
print_lc_time, print_lc_all): Printed comments on stdout with additional
detail about each section. Simplified.
(print_int): New helper to handle the printing of numeric values.
(print_time_keyword): New helper to handle the printing of LC_TIME
keywords.
(print_mask, print_toupper, print_tolower): Simplified, added inline
comments, adjusted formatting.
(print_frac_digits, ...): Called print_int or print_time_keyword
as appropriate for simplicity and to avoid code duplication.
(print_help_msg): Renamed...
(print_help): ...to this.
(initialize_env_vars): Removed (done in get_charmap).
(print_locale_name): Removed.
(print_charmap): Collected character statistics.
(print_charmap): Added a default argument, computed additional stats.
(print_lc_var): New function to handle the formatting of localization
environment variables according to POSIX rules.
(handlers): New array of command line argument handlers.
(main): Used handlers. Added -p to force locale to use symbolic
character names from the Portable Character Set whenever possible.
2006-09-21 Farid Zaripov <faridz@kyiv.vdiweb.com>
* 21.string.h (StringState): Added _TEST_EXPORT specification
* rw_char.h (UserCharFmatInit): Ditto
* 21.cwchar.cpp: Added #ifndef/#endif guard to avoid double
function definition
* 27.objects.cpp (run_test): Corrected rw_warning() to rw_warn()
2006-09-20 Martin Sebor <sebor@roguewave.com>
* run_locale_utils.sh (output, debug_output): New functions to handle
script output.
(check_locale_help, check_locale_all, check_locale_m, check_locale_k,
check_localedef_help, generate_locale, dump_locale, test_locale,
signal_cleanup, main body of script): Used output, debug_output.
(dump_locale): Set the LC_ALL environment variable for the invoked
process only (instead of the entire script). Incremented the number
of assertions. On error exited script with the same non-zero exit
status as the locale utility.
(dump_charmap): New function to dump the charmap of a locale.
(test_locale): Called dump_charmap to produce the charmap source
from the locale database at each of the three stages. Used this
charmap source to create a locale in each subsequent stage. Placed
the files created at each stage in separate directories named stage.1
through stage.3. Avoided setting the LANG and LC_ALL environment
variables for the whole script to prevent their values from screwing
up the output of system utilities that don't understand them. Avoided
deleting stage directories when the -n option is set.
2006-09-18 Martin Sebor <sebor@roguewave.com>
* NOTICE.txt: Added a required file with names of copyright holders.
2006-09-15 Andrew Black <ablack@roguewave.com>
* display.h (unistd.h) [!_WIN32 && !_WIN64]: Include.
(sys/time.h) [_XOPEN_UNIX]: Include.
(rw_time_t, rw_suseconds_t, struct rw_timeval) [!_XOPEN_UNIX]: Define
placeholder structures.
(rw_timeval): Define abstraction typedef.
(struct target_status): Add run, user, sys elements.
* display.cpp (unistd.h) [!_WIN32 && !_WIN64]: Include.
print_header_plain: Alter cols for process times.
print_target_plain: Partition output column printing by section, add
timing output.
* exec.h (exec_file): Alter signature to accept target_status rather
than char**.
* exec.cpp (display.h): Include.
(calculate_usage) [!_WIN32 && !_WIN64]: Define function to populate
user and sys fields of provided target_status struct (if _XOPEN_UNIX
is defined).
(exec_file): Alter to accept target_status rather than char**, use
argv element in place of old char** argument.
(exec_file) [!_WIN32 && !_WIN64]: call calculate_usage after
wait_for_child.
* runall.cpp (run_target): Pass target_status struct rather than argv
element.
2006-09-15 Farid Zaripov <farid@kyiv.vdiweb.com>
* output.cpp (check_example): Switched size and count parameters of fread() call to get fread() result in bytes (needed for memcmp)
2006-09-14 Andrew Black <ablack@roguewave.com>
* cmdopt.cpp (RLIM_INFINITY, RLIM_SAVED_CUR, RLIM_SAVED_MAX): Move
fallback definitions to...
* cmdopt.h (RLIM_INFINITY, RLIM_SAVED_CUR, RLIM_SAVED_MAX): ... Here.
* exec.cpp (limit_process) [!_WIN32 && !_WIN64 && _XOPEN_UNIX]: Check
limits prior to setting.
2006-09-14 Martin Sebor <sebor@roguewave.com>
* aliases.cpp (get_installed_locales): Redirected locale stderr
to /dev/null to prevent warning/error messages from cluttering
our output.
2006-09-13 Andrew Black <ablack@roguewave.com>
* cmdopt.h (unistd.h) [!_WIN32 && !_WIN64]: Include.
(sys/resource.h) [_XOPEN_UNIX]: Include.
(rw_rlim_t, struct rw_rlimit) [!_XOPEN_UNIX]: Define placeholder
type/struct for rlim_t and struct rlimit respectively.
(rw_rlimit, limit_set): Define.
(child_limits): Declare.
* cmdopt.cpp (sys/resource.h) [!_WIN32 && !_WIN64 && _XOPEN_UNIX]:
Include.
(RLIM_INFINITY, RLIM_SAVED_CUR, RLIM_SAVED_MAX): Define if not defined.
(child_limits): Define/initialize.
(usage_text): Document --ulimit switch.
(parse_limit_opts): Define helper function for parsing --rlimit option
borrowed in part from _rw_setopt_ulimit in tests/src/driver.cpp.
(eval_options): Define opt_ulimit character string, use with
parse_limit_opts to handle --ulimit command line switch.
* exec.cpp (sys/resource.h) [!_WIN32 && !_WIN64 && _XOPEN_UNIX]:
Include.
(LIMIT) [!_WIN32 && !_WIN64 && _XOPEN_UNIX]: Define helper macro for...
(limit_process) [!_WIN32 && !_WIN64 && _XOPEN_UNIX]: ... New helper
function to set resource limits, based on the values in child_limits
borrowed in part from _rw_setopt_ulimit in tests/src/driver.cpp.
(exec_file) [!_WIN32 && !_WIN64 && _XOPEN_UNIX]: Call above prior to
execv.
2006-09-13 Andrew Black <ablack@roguewave.com>
* sunpro.config: Fix mistake in comparison.
2006-09-12 Martin Sebor <sebor@roguewave.com>
* sstream.cc (str): Avoided setting (pptr() == epptr()) except in
input mode as required (see lwg issue 562 for clarification). See
also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29035.
* stringbuf_virtuals.cpp (test_seekoff): Corrected tests exercising
seeking on objects constructed in out mode so as not to assume that
(pptr() == epptr()) holds after the construction of the stream (in
fact, (pptr() == pbase()) is required to hold -- see lwg issue 562
and this issue http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29035
for more detail).
2006-09-12 Martin Sebor <sebor@roguewave.com>
* GNUmakefile (CXXFLAGS, LDFLAGS, LDSOFLAGS): Corrected a typo
when detecting narrow mode.
2006-09-12 Martin Sebor <sebor@roguewave.com>
* sunpro.config (CXXFLAGS.narrow, LDFLAGS.narrow, LDSOFLAGS.narrow):
Corrected.
(CXXFLAGS.* LDFLAGS.*, LDSOFLAGS.*): Handled AMD64.
2006-09-10 Martin Sebor <sebor@roguewave.com>
* time_manip.cpp (time_get_manip. time_put_manip): Rewrote
operator() to demonstrate necessary exception handling.
2006-09-10 Martin Sebor <sebor@roguewave.com>
* money_manip.cpp: Updated copyright.
* time_manip.cpp: Same.
2006-09-06 Andrew Black <ablack@roguewave.com>
* GNUmakefile.bin: Added display.o to link objects for exec utility.
* display.h: New. Defined display subsystem.
* display.cpp: New. Implemented initial display subsystem, equivalent
to existing output.
* output.h (parse_output): Altered signature to support display
subsystem.
* output.cpp: Included display.h. Updated comments.
(check_test, check_compat_test, check_example, parse_output): Altered
signatures to support display subsystem, replaced I/O calls with
updates to target_status structure.
* runall.cpp: Same as above.
(check_target_ok, process_results): Same as above.
(run_target): Added storage structure for display subsystem, calls
into display subsystem.
(main): Added calls into display subsystem.
2006-09-06 Andrew Black <ablack@roguewave.com>
* makefile.common (DEPS): Initialized variable (used in makefile.rules)
to prevent an infinite recursion when referencing it.
2006-09-05 Martin Sebor <sebor@roguewave.com>
STDCXX-184
* charmap.cpp (Charmap): Set code_set_name_ to the same basename
as the name of the character set description file in case it's
not specified by the <code_set_name> declaration witin the said
file.
2006-09-05 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.bin (RUNTARGET, LOCALE_LIST, localedb.d): Added
a dependency on gen_list.
Removed an explicit include statement to pull in localedb.d
and added said file to DEPS to let makefile.rules pull it in.
* makefile.rules (DEPS): Appended to the variable since it may
be previously set (see above).
(makedep): Avoided creating $(DEPENDDIR) and instead done so
in an explicit target for it to avoid code duplication between
GNUmakefile.bin and this file.
2006-09-01 Martin Sebor <sebor@roguewave.com>
* 26.c.math.cpp (test_behavior): Introduced helper local variables
and corrected the type of others to match the type returned by the
called function.
2006-09-01 Andrew Black <ablack@roguewave.com>
* run_locale_utils.sh (test_locale): Corrected locale target name
conversion patterns to avoid errors due to sed removing the trailing
part of ANSI_X3.4-1968.
* GNUmakefile.bin (LOCALE_LIST, DEPENDDIR/localedb.d): Simplified
and made consistent sed patterns used to convert locale target names
into locale and character map parameters.
2006-08-29 Andrew Black <ablack@roguewave.com>
Farid Zaripov <faridz@kyiv.vdiweb.com>
* run_locale_utils.sh (test_locale): Corrected generation
of the locale src file name (replaced '@' with '.').
2006-08-29 Martin Sebor <sebor@roguewave.com>
STDCXX-277
* locale.cpp (print_weight): Formatted weights with value greater
than UCHAR_MAX as multibyte characters of value UCHAR_MAX or less.
(write_coll_info): Introduced a convenience typedef and simplified.
* collate.cpp (get_weight): Handled weights formatted as multibyte
characters (using escape sequences).
* scanner.h (convert_escape): Added an argument.
* scanner.cpp (convert_escape): Handled multibyte characters.
2006-08-28 Martin Sebor <sebor@roguewave.com>
* codecvt_out.cpp (get_mb_char): Randomized all bits of a wide
character. Used the RW_ASSERT() testsuite macro instead of the
library-configured _RWSTD_ASSERT().
(test_out): Verified that the tested function doesn't write
past the end of the converted destination sequence (denoted
by to_next).
(test_wcodecvt, test_wcodecvt_byname_table_based): Added test
cases, comments. Adjusted indentation.
2006-08-28 Martin Sebor <sebor@roguewave.com>
STDCXX-280
* wcodecvt.cpp (__rw_libc_do_out): Used wcrtomb instead of wcsrtombs
in order to avoid reading past the end of the source sequence when
it doesn't contain an embedded NUL.
2006-08-26 Martin Sebor <sebor@roguewave.com>
* rw_locale.h (rw_locales): Introduced default arguments.
2006-08-26 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* codecvt_out.cpp: New test execising lib.locale.codecvt.virtuals,
member function do_out.
2006-08-25 Martin Sebor <sebor@roguewave.com>
STDCXX-279
* nl_BE.euro (LC_MONETARY): Copied from fr_BE.euro instead of @euro.
* sv_FI.euro (LC_MONETARY): Copied from fi_FI.euro instead of @euro.
2006-08-25 Farid Zaripov <faridz@kyiv.vdiweb.com>
* exec.cpp [_WIN32 || _WIN64] (exec_file): Set appropriate error mode
before running the child process to disable displaying the critical
error-handler and general-protection-fault message boxes.
* runall.cpp [_WIN32 || _WIN64]: Included windows.h and signal.h.
(process_results): Handle returned status STATUS_ACCESS_VIOLATION
and print status "SEGV".
2006-08-25 Andrew Black <ablack@roguewave.com>
* runall.cpp (merge_argv): Update function documentation.
(run_target): Free argv array returned by merge_argv.
2006-08-21 Farid Zaripov <faridz@kyiv.vdiweb.com>
* exec.cpp [_WIN32 || _WIN64] (exec_file): WAIT_FAIL replaced
with WAIT_FAILED; fixed incorrect parameter in calls CloseHandle
and WaitForSingleObject.
2006-08-20 Martin Sebor <sebor@roguewave.com>
* collate.cpp ("podarray.cc"): Removed #include directive
to prevent multiple definition errors.
(__rw_pod_array): Moved explicit instantiation...
* podarray.h: ...to here.
2006-08-18 Andrew Black <ablack@roguewave.com>
* run_locale_utils.sh (test_locale): Remove redundant calls to rm.
(signal_cleanup): Add exit handler for cleaning up tempdir.
(main): Set EXIT trap before calling test_locale, remove redundant
rm call.
2006-08-18 Andrew Black <ablack@roguewave.com>
* exec.cpp [_WIN32 || _WIN64] (exec_file): Check return value
from calls to CloseHandle and WaitForSingleObject.
2006-08-18 Martin Sebor <sebor@roguewave.com>
* messages.cpp: Constified locals and sanitized formatting.
(_RWSTD_NO_V3_LOCALE): Removed dead macro.
(_V3_LOCALE): Replaced with _STD.
2006-08-18 Martin Sebor <sebor@roguewave.com>
* collate.cpp (podarray.cc): #included in order to be able
to explicitly instantiate __rw_pod_array.
2006-08-18 Farid Zaripov <faridz@kyiv.vdiweb.com>
* exec.cpp [_WIN32 || _WIN64] (warn_last_error): When
FORMAT_MESSAGE_ALLOCATE_BUFFER is used then lpBuffer must point
to the place where pointer to the allocated buffer is stored.
(exec_file): Added wait after sending Ctrl+Break signal. Added
wait after TerminateProcess(). Closed handles of child process.
2006-08-18 Andrew Black <ablack@roguewave.com>
* cmdopt.cpp [!_WIN32 && !_WIN64] (rw_sleep): Declared function
'extern "C"' if __cplusplus is defined.
2006-08-18 Martin Sebor <sebor@roguewave.com>
* cmdopt.cpp: Added comments.
2006-08-17 Andrew Black <ablack@roguewave.com>
* exec.h [_WIN32 || _WIN64] (exec_attrs): Alter structure definition
for windows.
* exec.cpp [_WIN32 || _WIN64]: Use windows.h and process.h in place
of unistd.h and sys/wait.h on windows.
[!_WIN32 && !_WIN64] (handle_alrm, wait_for_child, open_input,
replace_file, exec_file): Reduce scope of (existing) functions
to non-windows platforms only.
[_WIN32 || _WIN64] (open_input, merge_argv, warn_last_error, exec_file):
Define implementation of named functions for windows platforms only.
* cmdopt.cpp [_WIN32 || _WIN64]: Use windows.h in place of unistd.h
on windows.
(escape_code, default_path_sep, suffix_sep, exe_suffix_len): Alter
values for windows.
(rw_sleep, rw_signal): Define platform independent wrapper for
sleep/Sleep and sigaction/signal.
(eval_options): Use above.
* runall.cpp [!_WIN32 && !_WIN64]: Don't include sys/wait.h on windows.
(S_IXUSR, S_IXGRP, S_IXOTH): Define values if undefined (for windows).
(check_target_ok) [_WIN32 || _WIN64]: Make object file comparison
operating system specific.
(process_results) [_WIN32 || _WIN64]: Make error state processing code
operating system specific.
(rw_basename) [_WIN32 || _WIN64]: Treat slash as an additional path
separator on windows.
2006-08-16 Farid Zaripov <faridz@kyiv.vdiweb.com>
* memchk.cpp [_WIN32] (memchk): Or'ed _O_TEMPORARY with O_CREAT
before passing the whole thing to Win32 open() and handled error
return.
2006-08-16 Andrew Black <ablack@roguewave.com>
* util.h (reference_name, output_name): Declaree functions to generate
the names for reference and output files respectively.
* util.cpp (reference_name, output_name): Defined the above.
(guarded_malloc, guarded_realloc): Allocated memory after asserts.
* cmdopt.h (escape_code, default_path_sep, suffix_len, suffix_sep):
Declared (platform specific) file system related constants.
* cmdopt.cpp (escape_code, default_path_sep, suffix_len, suffix_sep):
Defined the above for UNIX systems.
(split_opt_string): Moved the use of opts after assert, used escape_code
as escape character in place of '\'.
* exec.cpp: (get_signame): Enlarged static buffer, use sprintf in place
of snprintf.
(open_input): Used reference_name to determine input file name, removed
root_len variable, move use of in_root after asserts.
(exec_file): Altered to use output_name to determine output file name.
* output.cpp (check_example): Used reference_name to determine reference
file location, add assert on on_name.
(parse_output): Used output_name to determine output file name.
* runall.cpp (merge_argv): Used target after asserts.
(check_target_ok): Disabled (unused) logic for output only targets.
Altered compile check on windows systems to correctly locate .obj file.
(rw_basename): Used default_path_sep as separator.
(run_target): Used target, argv, childargv after asserts.
2006-08-16 Andrew Black <ablack@roguewave.com>
* run_locale_utils.sh (generate_locale): Redirected stderr from
localedef utility to $dbgout.
(test_locale): Exported LC_ALL and LANG and echo'ed all export
directives and values to debug output.
2006-08-16 Andrew Black <ablack@roguewave.com>
* scanner.cpp (Scanner::convert_escape): Corrected order of arguments
to an issue_diag call, added missing newline.
2006-08-14 Martin Sebor <sebor@roguewave.com>
* podarray.h: Moved brace closing a namespace to the correct place.
2006-08-14 Martin Sebor <sebor@roguewave.com>
STDCXX-276
* podarray.h (__rw_pod_array): Moved member initialization into
the body of the ctor in order to prevent HP aCC 3.70 ICE.
2006-08-14 Andrew Black <ablack@roguewave.com>
* exec.cpp (wait_for_child): Corrected mistake in kill()
call to kill child process group rather than child process.
2006-08-13 Martin Sebor <sebor@roguewave.com>
* numpunct.cpp (make_german_locale): New helper function.
(main): Called it instead of using a hardcoded locale name for each
known operating system (apparently the names that used to be valid
on Tru64 UNIX no longer is in 5.1).
2006-08-13 Martin Sebor <sebor@roguewave.com>
* output.cpp (check_example): Compared only as many bytes as read
from files to prevent false negatives.
(fout, fref, buf, nread): Renamed locals for brevity and to avoid
confusing Emacs syntax highlighting for "reference."
2006-08-13 Martin Sebor <sebor@roguewave.com>
* exception.cpp: Added/modified comments.
* iostream.cpp: Same.
* tmpbuf.cpp: Same.
* facet.cpp: Same. Removed dead macro.
* setlocale.cpp: Same.
2006-08-13 Martin Sebor <sebor@roguewave.com>
STDCXX-274
* collate.cpp (__rw_pod_array): Explicitly instantiated for Compaq C++
and other compilers that do not do so automatically when a template
specialization is used.
(_RWSTD_NO_V3_LOCALE, _V3_LOCALE): Removed dead macros.
* podarray.h (__rw_pod_array): Added explicit instantiation directive.
* ti_podarray.cpp: New file for the explicit instantiation of class
__rw_pod_array.
2006-08-11 Martin Sebor <sebor@roguewave.com>
* allocator.cpp (deallocate): Commented out unused function arguments
to silence HP aCC 3.70 Warning (suggestion) 431: No uses of argument
were detected; it may be possible to remove its declaration.
2006-08-11 Martin Sebor <sebor@roguewave.com>
* 22.locale.money.get.cpp (test_memfun): Avoided relying on
implementation-defined preprocessor behavior and silenced HP
aCC 3.70 Warning 823: Redundant preprocessing concatenation
operation results in two valid preprocessing tokens.
2006-08-10 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.ph (.DEFAULT): Avoided redirection to an undefined
variable.
2006-08-10 Martin Sebor <sebor@roguewave.com>
* 0.strncmp.cpp (TEST): Avoided unnecessarily casting away constness
in order to silence gcc warning: cast from `const char*' to `void*'
discards qualifiers from pointer target type.
2006-08-10 Martin Sebor <sebor@roguewave.com>
* 22.locale.num.put.cpp: Added preprocessor guards to disable
long long tests when the type is not supported.
2006-08-10 Martin Sebor <sebor@roguewave.com>
* printf.h (<time.h>): #included for struct tm.
2006-08-10 Martin Sebor <sebor@roguewave.com>
* runall.cpp (<sys/wait.h>): Included for WIFEXITED() et al.
2006-08-09 Martin Sebor <sebor@roguewave.com>
* GNUmakefile (WIDE_CXXFLAGS, WIDE_LDFLAGS, WIDE_LDSOFLAGS,
WIDE_ARFLAGS): Renamed to CXXFLAGS.wide, LDFLAGS.wide, etc.
Handled CXXFLAGS.narrow etc. analogously.
* acc.config: Same. Introduced CXXFLAGS.narrow, etc., to
parallel the wide flags.
* gcc.config: Same.
* mipspro.config: Same.
* sunpro.config: Same.
* vacpp.config: Same.
2006-08-09 Martin Sebor <sebor@roguewave.com>
* messages.cpp (<stdlib.h>): Removed an unnecessary #include directive.
(open_catalog): Improved diagnostics to include failure (in addition
to exception) detection.
(test_open_close, test_get, test_use_codecvt, test_use_nls_path):
Simplified the handling of errors from open().
(stress_test): Removed catalog extension (since it's already present
in the value of NLSPATH). Replaced hardcoded values with a constant.
2006-08-09 Martin Sebor <sebor@roguewave.com>
STDCXX-269
* gcc.config (WIDE_CXXFLAGS, WIDE_LDFLAGS, WIDE_LDSOFLAGS): Defined
to -m64 on non-IA64 architectures only.
2006-08-09 Martin Sebor <sebor@roguewave.com>
* new.cpp (_rw_find_block): Corrected a typo in conditionally
compiled code (Compaq C++ prior to version 6.6).
2006-08-07 Andrew Black <ablack@roguewave.com>
* cmdopt.cpp (eval_options): Used raise(signal) rather than
kill(getpid (), signal).
* runall.cpp (merge_argv): Added missing terminator to generated
array for bare executables.
* cmdopt.cpp, output.cpp, runall.cpp: Removed unneeded #includes.
2006-08-08 Martin Sebor <sebor@roguewave.com>
* messages.cpp (test_has_facet): Exercised the behavior of has_facet
and use_facet with messages_byname (in addition to the base class).
(test_use_nls_path): Handled getcwd() errors, called open_catalog
instead of invoking messages::open() directly.
(open_catalog, test_open_close, test_use_codecvt): Added missing
argument to rw_assert().
(stress_test): Asserted a precondition.
2006-08-08 Martin Sebor <sebor@roguewave.com>
* ostream1.cpp: Renamed...
* ostream.cpp: ...to this.
* ostream1.out: Renamed...
* ostream.out: ...to this.
2006-08-08 Martin Sebor <sebor@roguewave.com>
* ostream1.cpp: Hardcoded 64-bit output for platforms with
no 64-bit integer type to prevent comparison failures while
testing.
2006-08-08 Martin Sebor <sebor@roguewave.com>
* limits.cpp: Added output for numeric_limits<int> and changed
format to make it more readable.
* limits.out: Same.
2006-08-07 Andrew Black <ablack@roguewave.com>
* output.cpp (check_example): Initialized read buffers prior
to read to prevent incorrect results.
2006-08-07 Martin Sebor <sebor@roguewave.com>
* cmdopt.h (show_usage, eval_options): Removed redundant const
qualifier from function parameter types to avoid running into
bugs in Sun and Compaq/HP C++ compilers (see STDCXX-266 and
STDCXX-267).
* cmdopt.cpp (show_usage, eval_options): Made definitions
consistent with declarations.
2006-08-05 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 23.bitset.cons.cpp: New test exercising lib.bitset.cons.
2006-08-04 Martin Sebor <sebor@roguewave.com>
* rw_char.h (to_char): Worked around an Intel C++ 9.1/Windows
codegen bug described in STDCCXX-248.
2006-08-03 Martin Sebor <sebor@roguewave.com>
* cmdopt.cpp (usage_text): New.
(show_usage): Printed usage to stdout when explicitly requested
via a command line option (such as --help) and to stderr otherwise.
(eval_options): Added the new --help option (same as -h).
2006-08-03 Andrew Black <ablack@roguewave.com>
Martin Sebor <sebor@roguewave.com>
* cmdopt.cpp (bad_value, missing_value): New helpers.
(bad_option): Made pointer const, not the argument.
(eval_options): Detected and diagnosed invalid or missing
option arguments and failed calls to kill and sigaction.
2006-08-01 Andrew Black <ablack@roguewave.com>
* runall.cpp (main): Widened NAME column to 25 characters, and
renamed ASSRTS column to ASSERTS, widening to 7 characters in
the process.
* runall.cpp (run_target): Altered format string used to print
target name to match above.
* output.cpp (check_test, check_compat_test): Altered format
string used to print assertion counts to match the above.
2006-08-02 Martin Sebor <sebor@roguewave.com>
* GNUmakefile (BINDIR, LIBDIR): Removed from makefile.in.
* makefile.common (BINDIR, LIBDIR): Defined.
2006-08-02 Martin Sebor <sebor@roguewave.com>
* cmdopt.h (eval_options, split_opt_string): Removed spurious const.
* exec.cpp: Inserted a missing newline to reduce line length to less
than 80 characters.
* exec.h (get_signo): Removed a redundant const qualifier from the
function's return type.
2006-08-01 Andrew Black <ablack@roguewave.com>
* exec.h (get_signo): Declared.
* exec.cpp (get_signo): Defined.
* exec.cpp (signal_names): Moved lookup table out of get_signame
to file scope.
* cmdopt.h (verbose): Declared global.
* cmdopt.cpp (verbose): Defined global.
* cmdopt.cpp (get_short_val, get_long_val, bad_option): Added
helper functions for option parsing.
* cmdopt.cpp (eval_options): Used new functions, add -v, -q,
--exit, --sleep, --signal, --ignore switches.
2006-07-31 Andrew Black <ablack@roguewave.com>
* util.h (RW_REALLOC, guarded_realloc): Define helper macro and
wrapper function for realloc.
* util.cpp (guarded_realloc): Implementation.
* cmdopt.h (split_child_opts): rename to split_opt_string, alter
signature.
* cmdopt.cpp (split_child_opts): ditto, alter behavior removing
'empty' 0 element from generated array.
* runall.cpp (merge_argv): Define static function to merge a target
with an argument array.
* runall.cpp (run_target): Alter to use above.
* runall.cpp (main): alter use of split_child_opts/split_opt_string
to reflect changes in cmdopt.cpp/h.
2006-08-01 Andrew Black <ablack@roguewave.com>
* util.cpp (warn, terminate): Handle case of null target_name.
2006-08-01 Martin Sebor <sebor@roguewave.com>
* alloc.cpp (CaddrT): New type.
(munmap): Changed first argument from void* to CaddrT.
(_rw_table, _rw_table_size, _rw_table_max_size): Renamed from
table_, table_size_, and table_max_size_ according to the naming
convention.
(MemRWGuard::caddr_): Changed type to CaddrT and renamed from
addr_.
(_rw_table_free, _rw_table_grow, _rw_table_insert,
_rw_table_remove, _rw_find_by_addr): Type and naming changes
according to the above.
(MAP_FAILED): Changed to a macro.
(mmap, mprotect): Changed to return/take CaddrT rather than
void*.
Removed unnecessary casts.
(_rw_table_remove): Silenced Sun C++ 5.8 Warning: Conversion
of 64 bit type value to "char" causes truncation.
2006-07-31 Martin Sebor <sebor@roguewave.com>
* exec.cpp (__PURE_CNAME): Defined prior to #including any system
headers in order to prevent Compaq/HP C++ from using its "pure"
libc headers and to get it to define POSIX symbols such as SIGABRT
or SIGKILL.
2006-07-31 Martin Sebor <sebor@roguewave.com>
* alloc.cpp (sig_handler): Declqred extern "C" to avoid errors
due to the incompatibility between extern "C" ane extern "C++"
functions.
(<stddef.h>): Included for size_t.
2006-07-31 Martin Sebor <sebor@roguewave.com>
STDCXX-264
* LIMITS.cpp (compute_min): Renamed from foo.
(greater): Removed.
(compute_limits): Used the volatile globals zero, one, and two
instead the locals to (try to) foil aggressive optimizers and
avoid undefined behavior due to signed overflow. Used said
globals instead of integer constants consistently in all
arithmetic expressions.
2006-07-31 Martin Sebor <sebor@roguewave.com>
* exception.cpp (<stdlib.h>): Included instead of the non-standard
<malloc.h> for malloc() and free().
(ExceptionBase::operator=, format): Replaced calls to the C95
function strncpy() with strcpy() for portability to C89 systems.
2006-07-31 Martin Sebor <sebor@roguewave.com>
* exception.cpp: Replaced Windows \r\n sequences with \n alone.
2006-07-28 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 20.pairs.cpp: New test exercising lib.pairs.
2006-07-28 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 20.function.objects.cpp: New test exercising lib.function.objects.
2006-07-28 Andrew Black <ablack@roguewave.com>
* cmdopt.h (target_name): Declared global variable indicating current
target.
* cmdopt.cpp (eval_options): Routed unknown option message to stderr
rather than stdout.
* cmdopt.cpp (split_child_opts): Cached output of a strlen() call.
* util.h (warn): Declared.
* util.cpp (warn): Added utility function for generating a (non-fatal)
error message.
* util.cpp (terminate): Added executable and target name to output.
* output.h (parse_output): Altered prototype.
* exec.h (exec_file): Ditto.
* output.cpp (FILE_TEST, check_example): Altered check_example to
remove reliance on the diff utility, remove FILE_TEST as unneeded.
* output.cpp (check_test, check_compat_test, parse_output): Moved
opening of output file to parse_output.
* exec.cpp (wait_for_child, exec_file): Used warn() utility.
* runall.cpp (check_target_ok): Ditto.
* runall.cpp (process_results): Altered signature, alter call to
parse_output.
* runall.cpp (run_target): Set/used target_name global, alter calls
to exec_file and process_results.
2006-07-28 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 20.temp.buffer.cpp: New test execising lib.temporary.buffer.
2006-07-27 Martin Sebor <sebor@roguewave.com>
* system.h: Removed (moved to <rw_process.h>).
* system.cpp: Ditto (moved to process.cpp).
* 22.locale.messages.cpp (<rw_process.h>): Included instead of
<system.h> to avoid potential clashes with system header of the
same name.
* locale.cpp: Ditto.
2006-07-27 Farid Zaripov <faridz@kyiv.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* rw_process.h: New. Declared test suite process helpers.
* process.cpp: New. Defined the above.
2006-07-27 Martin Sebor <sebor@roguewave.com>
* src/printf.cpp (_rw_fmtstrarray): New function to format argv-style
(i.e., null-terminated) arrays of NUL-terminated character strings.
(_rw_vasnprintf_ex): Called _rw_fmtstrarray to process the "%{As}"
formatting directive.
* test/0.printf.cpp (test_stringarray): Exercised the above.
2006-07-27 Farid Ziripov <faridz@kyiv.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
* 21.strings.h (rw_setvars): Declared.
(assert_equal): Changed return type to int.
* 21.strings.cpp (rw_setvars): Renamed from _rw_setvars and made extern.
2006-07-25 Andrew Black <ablack@roguewave.com>
* cmdopt.cpp: Formatting cleanup.
* exec.cpp: Same.
* output.cpp: Same.
* runall.cpp: Same.
* util.cpp: Same.
2006-07-25 Martin Sebor <sebor@roguewave.com>
* rwthread.h: Renamed...
* rw_thread.h: ...to this according to convention.
* rwthread.cpp: Renamed...
* thread.cpp: ...to this.
* push_back_mt.cpp (<rw_thread.h>): Included instead of rwthread.h.
* atomic_add.cpp (<rw_thread.h>): Same.
* atomic_xchg.cpp (<rw_thread.h>): Same.
* temp_buffer_mt.cpp (<rw_thread.h>): Same.
* exceptions_mt.cpp (<rw_thread.h>): Same. Replaced a call
to memset() with zero-initialization of POD.
2006-07-25 Anton Pevtsov <antonp@moscow.vdiweb.com>
* rwthread.cpp (rw_thread_pool): Passed the value of the thread
argument rather than its address to the thread being created.
2006-07-23 Andrew Black <ablack@roguewave.com>
Martin Sebor <sebor@apache.org>
* GNUmakefile (BINDIR): Add and use convenience variable referencing
the bin/ subdirectory of the buildspace.
* GNUmakefile.exm (RUNFLAGS): Change command line switch used to
specify input/output file directory to match switch expected by
the utility.
* GNUmakefile.bin (exec): Add rule to build the new exec utility.
* GNUmakefile.tst (RUNFLAGS): Removed additional switches as unneeded.
* makefile.rules (run runall run_all): Add dependency on exec utility.
* GNUmakefile.exm, GNUmakefile.tst: Add rule to build the exec utility.
* run_locale_utils.sh: Change default output file to /dev/stdout, add
test driver style assertion count summary.
* cmdopt.h: New. Declared command line parsing function(s).
* cmdopt.cpp: Definition(s) of the above.
* exec.h: New. Declared helper to execute program(s).
* exec.cpp: Definition(s) of the above.
* output.h: New. Declarations of functions for program (test,
example, etc.) output processing.
* output.cpp: Defintions of the above.
* runall.cpp: Defintion of main and helpers.
* util.h: New. Declared helper functions.
* util.cpp: Definitions of the above.
2006-07-24 Martin Sebor <sebor@roguewave.com>
* README: Added basic info for VisualStudio users.
2006-07-24 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 22.locale.ctype.cpp: New test exercising the std::ctype facet.
2006-07-23 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 22.locale.time.get.cpp: New test exercising the std::time_get facet.
2006-07-23 Martin Sebor <sebor@roguewave.com>
* 21.string.append.cpp (AppendRangeOverload): Qualified references
to dependent base member function begin() with this-> to allow lookup
to find them.
* 21.string.assign.cpp (AssignRangeOverload): Same.
* 21.string.cons.cpp (ConsRangeOverload): Same.
* 21.string.insert.cpp (InsertRangeOverload): Same.
2006-07-20 Martin Sebor <sebor@roguewave.com>
* 22.locale.messages.cpp (CodeCvt): Parametrized to make it possible
to exercise both required specialization of the messages facet.
Overrode do_always_noconv() to try to make the messages facet use
the codecvt<char, char>::in().
(open_catalog, close_catalog): New helpers to reduce code bloat when
opening and closing catalogs and checking for exceptions.
(test_open_close, test_get, test_use_codecvt, test_use_nls_path,
stress_test): Called helpers.
2006-07-19 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.io.cpp (Ctype): Removed as obsolete
(TEST): test cases updated to exercise the exception safety
(test_io): Ctype replaced with UserCtype, added exception
safety checks with streams
2006-07-19 Anton Pevtsov <antonp@moscow.vdiweb.com>
* allocator.cpp (_rw_throw_exception): Removed as obsolete
(allocate, funcall): The calls to _rw_throw_exception() replaced
with calls to rw_throw()
* new.cpp (BadAlloc): Removed because of another one
is defined in exception.cpp
(operator_new): The throw statement replaced with call
to rw_throw(ex_bad_alloc, ..)
* rw_streambuf.h (MyStreambuf): Added new method memfun_inx()
which returns the index of the method in array ncalls_;
added the member throw_when_ to define which virtual
method and when should throw the exception;
added the member allthrows_ to count the total number
of thrown exceptions;
added the member allcalls_ to count the total number of
calls to the virtual methods
(test): The throw statement replaced with call
to rw_throw(ex_stream, ...)
2006-07-19 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-3
* rw_exception.h: New header with definition of the Exception class
and the rw_throw() function
* exception.cpp: Implementation of the Exception class
and the rw_throw() function.
2006-07-18 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 22.locale.messages.cpp: New test exercising lib.locale.messages.
2006-07-18 Martin Sebor <sebor@roguewave.com>
* file.h (rw_nextfd): New function.
* file.cpp (rw_nextfd): Definition.
2006-07-18 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-3
* 0.alloc.cpp: New test exercising the rw_alloc() and
rw_free() functions
2006-07-18 Anton Pevtsov <antonp@moscow.vdiweb.com>
* rw_alloc.h: Removed RW_PROT_EXEC as unusable
* alloc.cpp: RW_ASSERT macro replaced with calls to more
informative rw_error() / rw_fail()
2006-07-17 Martin Sebor <sebor@roguewave.com>
* src/printf.cpp (_rw_bufcat): Avoided appending NUL to the end
of buffer and failed consistently when the maximum size of of the
buffer has been reached.
(rw_vasnprintf): Allowed buffer length not including the terminating
NUL to reach its maximum capacity. Reset errno to original value if
set by a failed call to fprintf (e.g., when the file has been closed).
(_rw_vasnprintf_ex): Made sure buffer is NUL-terminated before
invoking user-defined callbacks.
(rw_snprintfa): Returned (char*)0 on error.
* test/printf.cpp (stress_bufsize): Stress test to exercised the
ability to format into a fixed size buffer and correctly report
buffer overlow errors via ENOMEM.
(main): Closed stderr before calling stress_bufsize to avoid
excessive noise.
2006-07-16 Martin Sebor <sebor@roguewave.com>
* rw_ctype.h (UserCtype, ctype): Added a ctor overload
to all specializations.
* 0.ctype.cpp: Defined the above.
2006-07-16 Martin Sebor <sebor@roguewave.com>
* rw_ctype.h (std::ctype<UserChar>): Defined specialization.
(UserCtype<UserChar>): Defined in terms of the above.
* src/ctype.cpp (std::ctype<UserChar>): Defined members.
(UserCtype<UserChar>): Removed definitions of virtual members.
* test/ctype.cpp (UserCtype::id): Exercised.
2006-07-14 Martin Sebor <sebor@roguewave.com>
* alloc.cpp: Renamed driver-private symbols according to the naming
convention (by prepending the "_rw_" prefix to their names).
(first, last): Renamed to _rw_head and _rw_tail, respectively.
(RA_ASSERT): Used instead of the assert() macro.
Adjusted formatting according to convention.
2006-07-14 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-3
* rw_alloc.h: New header with the declarations of the rw_alloc
and rw_free functions.
* alloc.cpp: Definitions of the rw_alloc and rw_free functions.
2006-07-13 Martin Sebor <sebor@roguewave.com>
* alarm.h: Renamed...
* rw_alarm.h: ...to this to avoid a name clash on HP-UX.
* alarm.cpp: Included rw_alarm.h instead of alarm.h.
* exceptions_mt.cpp: Same.
2006-07-11 Martin Sebor <sebor@roguewave.com>
* _config.h (_RWSTD_NO_EXT_KEEP_WIDTH_ON_FAILURE): #defined
in response to _RWSTD_STRICT_ANSI/_RWSTD_NO_EXTENSIONS being
#defined. (See STDCXX-205 and STDCXX-206).
(_RWSTD_VER): Added a missing digit.
2006-07-11 Martin Sebor <sebor@roguewave.com>
STDCXX-205
STDCXX-206
* _num_put.cc (_C_put): Called width(0) before outputting any
characters (see STDCXX-259) but guarded with the configuration
macro _RWSTD_NO_EXT_KEEP_WIDTH_ON_FAILURE for consistency with
(some) other inserters. When the macro is not #defined, reset
width only after all characters have been successfully output
(i.e., no exception occurred and the iterator is not in failed
state).
* ostream (operator<<(ostream&, charT), operator<<(ostream&,
charT*): Avoided calling width(0) here (done in __rw_insert).
_ioinsert.cc (__rw_insert)): Called width(0) unconditionally
after outputting characters as required of array inserters
(but not single-charater inserters), and guarded with
_RWSTD_NO_EXT_KEEP_WIDTH_ON_FAILURE. When the macro is not
#defined, reset width only after all characters, including
any padding, have been successfully output (for consistency
with numeric inserters).
2006-07-10 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.bin (SRCDIRS): Reverted an inadvertent change
introduced in r420633.
2006-07-10 Martin Sebor <sebor@roguewave.com>
STDCXX-255
* locale.cpp (initialize): Avoided trying to validate and diagnose
null pointers.
2006-07-10 Martin Sebor <sebor@roguewave.com>
* run_locale_utils.sh (check_locale_location): Removed a bogus test.
(locale, localedef): Added helper variables to refer to the utilities
in the CWD.
(check_locale_xxx): Removed "let x+= 1" Bash-isms, replaced the non
portable Linux extension echo -n with printf.
(generate_locale): Removed inadvertent backgrounding of process.
(test_locale): Added assertions.
Used process id in temporary file name(s) and removed on exit.
Removed redundant debugging output.
2006-07-10 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.bin ($(RUNTARGET)): Simplified. Used the $* shell
variable to pass all command line arguments to the invoked script.
Added progress output.
2006-07-10 Martin Sebor <sebor@roguewave.com>
STDCXX-257 (part 2)
* GNUmakefile.bin: Renamed run_locale_utils.sh to run_utils.
2006-07-10 Martin Sebor <sebor@roguewave.com>
STDCXX-257
* GNUmakefile: Renamed the run_locale_utils.sh symlink to run_utils
to prevent the clean target from removing it.
* GNUmakefile.bin: Same.
2006-07-09 Martin Sebor <sebor@roguewave.com>
* 0.strncmp.cpp (run_test): Used SIZE_MAX instead of ~0.
2006-07-09 Martin Sebor <sebor@roguewave.com>
* src/char.cpp (_rw_get_char): Handled terminating NUL when
the source string length is specified (i.e., not SIZE_MAX).
(_rw_expand, rw_match): Passed the length of the source
string to _rw_get_char.
* self/0.char.cpp (test_rw_match): Added assertions exercising
the above (see also the thread at http://tinyurl.com/zf9pm).
2006-07-08 Martin Sebor <sebor@roguewave.com>
STDCXX-3
* rw_ctype.h: New header with the definitions of the UserCtype
primary template and explicit specializations for char, wchar_t,
and UserChar.
* ctype.cpp: Definitions of members of UserCtype specializations.
* test/ctype.cpp: New test (partially) exercising UserCtype::is().
2006-07-07 Martin Sebor <sebor@roguewave.com>
* replace.cpp (ReplaceRangeOverload): Qualified calls to members
of a dependent base with this-> to allow lookup to find them and
prevent compilation errors with strict compilers.
2006-07-07 Martin Sebor <sebor@roguewave.com>
STDCXX-256
* run_locale_utils.sh (check_locale_location, check_locale_help,
check_locale_all, ...): Removed non-portable function keyword.
(test_locale): Used the export keyword in a portable way.
2006-07-07 Andrew Black <ablack@roguewave.com>
STDCXX-254
* GNUmakefile.tst (RUNFLAGS): Added --compat to make tests
produce output understandable by the runall.sh script.
* runall.sh: Moved XOPTS in front of any other command line
options passed to executables (tests, examples, or locale
scripts).
2006-07-07 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 25.for.each.cpp: Updated acording to changes in alg_test.h -
the calls to make_iter replaced with calls to iterators ctors.
* 25.mismatch.cpp: Same
* 25.reverse.cpp: Same
* 25.rotate.cpp: Same
2006-07-06 Martin Sebor <sebor@roguewave.com>
STDCXX-253
* GNUmakefile (.PHONY): Added target util.
2006-07-05 Martin Sebor <sebor@roguewave.com>
* 21.strings.cpp (_rw_run_test): Avoided making the assumption
that the range function member template is the last element in
the array of tests and "optimized" by moving the loop iterating
over iterator categories and known iterator types into the loop
that iterates over each function's array of tests. See the
thread starting at http://tinyurl.com/qsfy3 for more.
2006-07-05 Martin Sebor <sebor@roguewave.com>
* fmt_defs.h (_rw_fmtmask): Renamed to _rw_fmtcharmask and added
a new function with the same name to format ctype_base::mask values.
* fmt_bits.cpp (_rw_fmtmask): Same.
* src/printf.cpp (_rw_vasnprintf_ext): Handled the new %{C} and
%{LC} directives to format the ctype mask of a character argument
and a ctype_base::mask value, respectively.
* test/printf.cpp (test_ctype_mask): Exercised the %{LC} directive.
(main): Called test_ctype_mask.
2006-06-30 Martin Sebor <sebor@roguewave.com>
* 21.string.io.cpp (NotEof): Parenthesized.
(extractor_test_cases): Added test cases.
(test_io): Simplified, constified locals, added comments,
used the %{Is} directive to format ios::iostate values,
and adjusted formatting.
2006-06-30 Martin Sebor <sebor@roguewave.com>
* 21.strings.cpp (_rw_setvars): Formatted the (initial)
contents of the string argument to string I/O functions.
2006-06-30 Martin Sebor <sebor@roguewave.com>
STDCXX-251
* streambuf (uflow): Outlined and moved...
* streambuf.cc (uflow): ...to here. Prevented undefined behavior
caused by dereferencing gptr() when underflow() doesn't set up
a non-empty pending sequence (i.e., when gptr() == 0 or when
gptr() == egptr()).
2006-06-30 Martin Sebor <sebor@roguewave.com>
* _mutex.h: Updated copyright.
2006-06-30 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.io.cpp: New test exercising lib.string.io.
2006-06-30 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.h (MemberId): Added new elements for inserter,
extractor, getline non-members.
(OverloadId): Added new enum elements for these non-members and
their overloads.
(ArgId): Added new elements for input and output stream arguments.
* 21.strings.cpp (_rw_sigcat): Updated to operate with
stream arguments and new fids, added new formatting variables
ISTREAM and OSTREAM processing
(_rw_setvars): Added new formatting variables ISTREAM and OSTREAM
processing to operate with stream arguments in string's non-members.
* rw_streambuf.h: Added support for UserChar.
2006-06-29 Martin Sebor <sebor@roguewave.com>
STDCXX-245
STDCXX-247
* sstream.cc (seekpos): Used a typedef rather than the class name
(w/o a template argument list) to prevent invoking a virtual member
function overridden in a derived class to work around an HP aCC
3.27 bug.
* fstream.cc (overflow, xsputn): Same.
Replaced codecvt_base::result with plain old int to work around
yet another HP aCC 3.27 bug.
* _messages.cc (do_get): Same.
2006-06-29 Martin Sebor <sebor@roguewave.com>
STDCXX-184
* cstdlib (abs): Hacked around an HP aCC quirk when using system
headers in /usr/include without the compiler's wrappers (i.e.,
when -I/usr/include is before the compiler's include directory
in the preprocessor seacrh path). See STDCXX-244.
* stdlib.h: Same.
2006-06-28 Martin Sebor <sebor@roguewave.com>
* 21.strings.cpp (_rw_dispatch): Detected and diagnosed
test logic error: null test callback function.
2006-06-28 Martin Sebor <sebor@roguewave.com>
* src/char.cpp (_rw_get_char): New helper to parse <char>@<count>
directives and Unicode <Unnn...> sequences denoting UCS characters.
(_rw_expand): Called _rw_get_char.
(rw_match): Called _rw_get_char, optimized and simplified.
* test/0.char.cpp (test_rw_match): Added test cases and exercised
the handling of <Unnn...> sequences.
* 21.string.replace.cpp: Made use of the <Unnnn> directive and
replaced NUL characters embedded in hardcoded string literals with
the <U0> Unicode sequence (denoting NUL).
2006-06-28 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.access.cpp: Made use of the <Unnnn> directive and
replaced NUL characters embedded in hardcoded string literals with
the <U0> Unicode sequence (denoting NUL).
* 21.string.access.cpp: Same.
* 21.string.append.cpp: Same.
* 21.string.assign.cpp: Same.
* 21.string.capacity.cpp: Same.
* 21.string.cons.cpp: Same.
* 21.string.copy.cpp: Same.
* 21.string.erase.cpp: Same.
* 21.string.insert.cpp: Same.
* 21.string.iterators.cpp: Same.
* 21.string.operators.cpp: Same.
* 21.string.plus.cpp: Same.
* 21.string.plus_equal.cpp: Same.
* 21.string.substr.cpp: Same.
* 21.string.swap.cpp: Same.
2006-06-27 Martin Sebor <sebor@roguewave.com>
* 21.strings.cpp (_rw_reverse_results): Conditionally declared
static to avoid Sun C++ bug/limitation (see STDCXX-207), and
constified locals.
(_rw_dispatch): Qualified the call to _rw_reverse_results with
:: and constified locals.
Used size_t instead of the _RWSTD_SIZE_T macro intended to be
used only in headers.
2006-06-26 Anton Pevtsov <antonp@moscow.vdiweb.com>
* include/rw/_mutex.h: Added missed _RWSTD_EXPORT directive.
* src/exception.cpp: Added missed _RWSTD_EXPORT directive.
2006-06-23 Martin Sebor <sebor@roguewave.com>
* char.cpp (test_user_traits_wchar): Removed from ...wchar_t to
avoid Emacs syntax highlighting normally used only for types.
(test_rw_expand): Added test cases.
(opt_user_traits, ...): Renamed from no_user_traits, ...
(run_test): Accommodated naming changes above and treated
options as tristate (rather than two-state switches).
(main): Changed options from switches to tristate.
2006-06-22 Martin Sebor <sebor@roguewave.com>
* stringbuf_virtuals.cpp (<ctsring>, <rw_char.h>): Included.
(VFun): Added sequence_ member.
(widen): Removed (obviated by rw_expand declared in <rw_char.h>).
(test_virtual): Called rw_expand() instead of widen(). Called
sputn() with pptr() as the first argument when string argument
is null.
(test_virtual): Reset strarg_ and sequence_ after each test case.
(test_xsputn): Used <char>@<repeat-count> directives and added
new test cases exercising xsputn() with the first argument of
pptr().
2006-06-22 Martin Sebor <sebor@roguewave.com>
* char.cpp (_rw_expand): NUL-terminated expanded string.
(rw_match): Avoided false positives when detecting whether
to expand the first argument.
2006-06-22 Martin Sebor <sebor@roguewave.com>
* printf.cpp (rw_vasnprintf): Used the number of bytes,
not elements, in the call to memcpy.
2006-06-21 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.rfind.cpp: Added missed header <exception>
2006-06-20 Martin Sebor <sebor@roguewave.com>
STDCXX-7
* fstream (xsputn): Declared.
* fstream (xsputn): Overrode the base class virtual function and
optimized to avoid unnecessary writes when the size of the array
argument exceeds the amount of space available in the internal
character buffer.
(overflow): Moved most of the body of the function to xsputn()
and called it.
2006-06-20 Martin Sebor <sebor@roguewave.com>
* reverse_iterator.cpp: Updated copyright.
2006-06-20 Martin Sebor <sebor@roguewave.com>
STDCXX-197
* gcc.config (SHARED_SUFFIX): Defined to .dylib for Darwin.
2006-06-19 Martin Sebor <sebor@roguewave.com>
* fmt_defs.h (_rw_fmtbits): Declared new helper function.
* fmt_bits.cpp (_rw_fmtbits): Defined it.
* src/printf.cpp (_rw_vasnprintf_ext): Called _rw_fmtbits in
response to the %B and %b directives to format bitset values.
* test/printf.cpp (test_bitset): Exercised the %b directive.
(test_*): Declared all functions static.
2006-06-19 Martin Sebor <sebor@roguewave.com>
Renamed files for sanity.
2006-06-19 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.iterators.cpp: New test exercising lib.string.iterators.
* 21.strings.h (MemberId): Added new elements for data, c_str,
get_allocator, begin, end, rbegin, rend methods.
(OverloadId): Added new enum elements for these methods and their
overloads.
* 21.strings.cpp (_rw_setvars): Added support for data, c_str,
get_allocator, begin, end, rbegin, rend overloads.
2006-06-16 Martin Sebor <sebor@roguewave.com>
* 20.specialized.cpp (make_iter): Replaced a template with a couple
of ordinary functions to avoid tripping up broken compilers such
as HP aCC 3.63 on argument deduction.
2006-06-16 Martin Sebor <sebor@roguewave.com>
* specialized.cpp (type_name): Added an overload for const
volatile T*.
(run_test): Exercised std::uninitialized_copy() specialized
on InputIterator=const volatile int* to further exercise
STDCXX-203.
2006-06-16 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 20.specialized.cpp: New test exercising lib.specialized.algorithms,
including STDCXX-203.
2006-06-16 Martin Sebor <sebor@roguewave.com>
* alg_test.h (InputIter ctor): Asserted a precondition.
(InputIter, OutputIter, ...): Changed the actual type
of difference_type from plain int to ptrdiff_t.
(make_iter): Made the type of the first argument const T*
for const iterator overloads of the function template.
2006-06-16 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-202
* configure.wsf (checkHeader): Parentheses added.
(runExeTests): "ok" changed to "no" for failed tests.
2006-06-15 Martin Sebor <sebor@roguewave.com>
STDCXX-203
* _specialized.h (__rw_construct): Added an overload on volatile T*.
2006-06-15 Martin Sebor <sebor@roguewave.com>
* atomic-64.s: Updated copyright notice.
* atomic.s: Same.
2006-06-15 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.cpp (_rw_reverse_results): new helper function to
reverse the substring in the resulting sequence
(_rw_dispatch): updated to reverse the resulting substring for
the reverse iterators via call to the helper function.
* 21.string.append.cpp (AppendRangeOverload): Added special
processing for the reverse iterators.
(test_append): reverse iterators tests enabled, range classes
variables renamed for the convenience.
* 21.string.assign.cpp: Same
* 21.string.cons.cpp: Same
* 21.string.insert.cpp: Same
* 21.string.replace.cpp: Same
2006-06-14 Martin Sebor <sebor@roguewave.com>
* collate.cpp (wcstombs): Decorated with dllimport to silence
MSVC warnings about incompatible DLL linkage.
* wcodecvt.cpp (wctomb): Same.
2006-06-14 Martin Sebor <sebor@roguewave.com>
* cwchar (swprintf, vswprintf): More hackery for the various
strains of the disease known as MSVC.
2006-06-14 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.cpp (_rw_setvars): ctor_range and ctor_range_alloc
cases joined with append_range and assign_range
* 21.string.cons.cpp: Ctor replaced with Cons according to
the naming conventions.
(ConsRange, ConsRangeOverload): New class templates to abstract out
the invocation of the ctor member template and its overloads.
(test_cons): Added RangeBase& argument and eliminated
test_cons_range (obviated by the addition of the argument).
(test_cons): Dispatched to the appropriate specialization
based on the iterator id (if any).
2006-06-13 Martin Sebor <sebor@roguewave.com>
* cwchar (wprintf, swprintf): Avoid declaring functions extern
"C++" to prevent dumb MSVC 8 from choking on it for some bizarre
reason.
2006-06-13 Martin Sebor <sebor@roguewave.com>
STDCXX-200
* _localedef.h (__rw_time_t): Changed function argument types
to silence Sun C++ 5.8 64-bit conversion/truncation warnings.
* punct.cpp (__rw_get_numpunct, __rw_get_moneypunct): Explicitly
cast wide expressions to the (narrower) destination type in order
to silence Sun C++ 5.8 64-bit truncation warnings.
* time_put.cpp (__rw_get_timepunct, __rw_get_zone): Same.
2006-06-13 Martin Sebor <sebor@roguewave.com>
* 22.locale.time.put.cpp (test_POSIX): Avoided exercising the "%Z"
directive with an invalid tm object (tm_isdst < 0). Added a couple
of test cases for the same directive (but with a valid tm object).
See STDCXX-201.
2006-06-13 Martin Sebor <sebor@roguewave.com>
* 22.locale.time.put.cpp (do_test): Included the value of the TZ
environment variable in diagnostics involving the "%Z" or "%z"
formatting directives.
2006-06-13 Martin Sebor <sebor@roguewave.com>
* rw_char.h (UserTraits): Removed the definition of the primary
template and replaced it with definitions of the two required
specializations (on char and wchar_t) to avoid Sun C++ 5.8 bugs
described at http://issues.apache.org/jira/browse/STDCXX-177.
(TraitsMemFunc): Moved from the primary template to file scope
and renamed from TraitsFun.
* char.cpp: Same.
2006-06-12 Martin Sebor <sebor@roguewave.com>
* cmdopt.cpp (cmdopts_t): Renamed toggle_ to tristate_.
(_rw_getbounds): Added a formal argument and handled tristate_
bit number specification.
(_rw_match_tristate): Renamed from _rw_match_toggle.
(_rw_set_bits): New helper.
(rw_runopts): Handled tristate bit specifications.
* 0.cmdopts.cpp (test_tristate): Renamed from test_toggles
and exercised bit specification.
2006-06-12 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 27.ostream.cpp: New test exercising lib.ostream.
2006-06-11 Eric Lemings <lemmings@roguewave.com>
STDCXX-194
* gcc.config (LDSOFLAGS): Avoided using -shared on Darwin.
2006-06-09 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 27.filebuf.codecvt.cpp: New test exercising lib.filebuf with
a user-defined codecvt facet.
2006-06-09 Martin Sebor <sebor@roguewave.com>
* cwchar (swprintf, vswprintf): Declared extern "C++" for MSVC 7.1
and beyond.
2006-06-08 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.h (RangeBase): New base class to exercise the range
template methods overloads - append, assign, insert and replace.
* 21.strings.cpp (_rw_setvars): append_range and assign_range
cases separated from others due to the changes in the
corresponding tests.
* 21.string.append.cpp (AppendRange, AppendRangeOverload): New class
templates to abstract out the invocation of the append member
template and its overloads.
(test_append): Added RangeBase& argument and eliminated
test_append_range (obviated by the addition of the argument).
(test_append): Dispatched to the appropriate specialization
based on the iterator id (if any).
* 21.string.assign.cpp: Same
* 21.string.insert.cpp: Same
* 21.string.replace.cpp (ReplaceBase): moved to 21.strings.h
and renamed to RangeBase.
(ReplaceRangeOverload): begin overloads moved to the base class.
(test_replace): parameter type changed to RangeBase.
2006-06-07 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.swap.cpp (str_test_cases): Added test cases with
special strings length.
(test_swap): Added two Allocator parameters, migrated to use
StringTestCaseData structure, exception safety testing loop added.
(main): rw_run_string_test call updated according to
test driver changes.
2006-06-06 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
* 21.string.replace.cpp: Added test cases.
(ReplaceBase, ReplaceRange, ReplaceRangeOverload): New class
templates to abstract out the invocation of the replace member
template and its overloads.
(test_replace): Added ReplaceBase& argument and eliminated
test_replace_range (obviated by the addition of the argument).
(test_replace): Dispatched to the appropriate specialization
based on the iterator id (if any).
2006-06-06 Martin Sebor <sebor@roguewave.com>
* 21.strings.h (IteratorId): New member type of StringIds.
(StringFunc): Added a new data member.
* 21.strings.cpp (_rw_iter_names): New.
(_rw_opt_char_types, ...): Sized based on the corresponding
_rw_xxx_names arrays.
(_rw_sigcat): Used _rw_iter_names in function signatures and
command line option names.
(_rw_argno): Renamed from _rw_uses_alloc and generalized.
(_rw_setvars): Simplified the setting of environment variables
by using the %{paramater!:word} extended directive.
(_rw_run_cases): New helper.
(_rw_run_test): Iterated over all IteratorId's and called
_rw_run_cases.
(_rw_add_toggles): New helper.
(_rw_run_test): Called _rw_add_toggles, installed option
handlers for iterator specializations of member templates.
2006-06-05 Martin Sebor <sebor@roguewave.com>
STDCXX-189
* LOCALE_NAME_FMAT.cpp (MAX_LOCALE_NAME_LEN): New macro defined
to the maximum length of a locale name sufficiently large to
handle excessively long names generated by GNU glibc.
(main): Used it consistently throughout.
2006-06-05 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-191
* gcc.config (MULTI_CPPFLAGS_POSIX, MULTI_LDFLAGS_POSIX): Removed
-pthread for gcc on Darwin.
2006-06-02 Martin Sebor <sebor@roguewave.com>
* 21.strings.cpp (_rw_setvars): Handled the %{$Iterator} directive in
formatting of string member function templates.
(_rw_run_test): Corrected a typo in a conditional formatting directive.
2006-06-02 Martin Sebor <sebor@roguewave.com>
* printf.cpp (_rw_fmtexpr): Added the %{$parameter!:word} drective
as an extension and corrected logic error (passing a pointer to an
auto array to free()).
2006-06-01 Martin Sebor <sebor@roguewave.com>
* rw_allocator.h (reset_call_counters, func_name): New functions.
* allocator.cpp (reset_call_counters, func_name): Implemented.
(instance): Made sure global instance always exists.
2006-06-01 Martin Sebor <sebor@roguewave.com>
* 21.strings.cpp (_rw_setvars): Corercted the syntax of setenv
directives.
2006-06-01 Martin Sebor <sebor@roguewave.com>
STDCXX-193
* makefile.common (INCLUDES): Reversed the order of -I options.
2006-06-01 Martin Sebor <sebor@roguewave.com>
STDCXX-192
* atomic.s: Removed .type directives to prevent as errors
on Mac OS X.
2006-06-01 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.h (FuncId): Added new elements for capacity mehtods.
(OverloadId): Added new elements for capacity methods overloads.
* 21.strings.cpp (_rw_func_names): Added capacity methods names,
(_rw_setvars): Added cases for capacity methods overloads.
* 21.string.capacity.cpp: Converted to simplified format
(MemFun, run_test): removed as obsolete
(test_capacity): Updated to use the test driver features.
(main): Updated to use common workflow via test driver functions.
2006-06-01 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.cons.cpp (cptr_test_cases, cstr_test_cases, ...): Added
new test cases which contains strings with special length to
exercise memory allocation,
(test_cons_range): Changed signature
to take StringTestCaseData<charT> instead of charT* arrays and
their sizes and simplified definition.
(test_cons): Same.
(DEFINE_STRING_TEST_FUNCTIONS): Used to define an array of
pointers to specializations of the test_cons template,
thus obviating the need for the dispatch function.
(main): Passed test_cons_func_array defined by the macro
above to rw_run_string_test.
21.string.append.cpp: Added new test cases which contains strings
with special length to exercise memory allocation,
21.string.assign.cpp: Same
21.string.insert.cpp: Same
21.string.op.plus.equal.cpp: Same
21.string.replace.cpp: Same
2006-05-30 Martin Sebor <sebor@roguewave.com>
* 21.strings.cpp (_rw_dispatch): Corrected the type of the test
function to match its actual definition in the test.
2006-05-29 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.opertators.cpp: New test exercising
lib.string.nonmembers operators.
2006-05-29 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.op.plus.cpp: New test exercising lib.string::op+.
2006-05-29 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.cpp (_rw_sigcat, _rw_setvars): Added
workaround for STDCXX-190 - warning silenced.
2006-05-29 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.h (bit_member): Silenced MSVC bogus warning.
2006-05-28 Martin Sebor <sebor@roguewave.com>
* 21.string.replace.cpp (test_replace_range): Changed signature
to takeStringTestCaseData<charT> instead of charT* arrays and
their sizes and simplified definition.
(test_replace): Same.
(DEFINE_STRING_TEST_FUNCTIONS): Used to define an array of
pointers to specializations of the test_replace template,
thus obviating the need for the dispatch function.
(main): Passed test_replace_func_array defined by the macro
above to rw_run_string_test.
2006-05-28 Martin Sebor <sebor@roguewave.com>
* 21.strings.h (StringTestCaseData): New helper class template.
(VoidFunc): New helper typedef.
(DEFINE_STRING_TEST_FUNCTIONS): New helper macro to define an
array of pointers to test functions (typically specializations
of the same function template) and to obviate the need for the
definition of the dispatch function in each test.
(rw_run_string_test): Added a new overload taking an array of
VoidFunc.
* 21.strings.cpp (<string>, <rw_allocator.h>): Included headers.
(_rw_dispatch): Added a set of overloaded function templates.
(_rw_test_case): Added a VoidFunc[] argument and invoked
_rw_dispatch.
(_rw_func_array): New global array of pointers to test functions.
(_rw_run_test): Passed _rw_func_array to _rw_test_case.
(_rw_run_test): Moved body of rw_run_string_test here.
(rw_run_string_test): Called _rw_run_test.
2006-05-26 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.replace.cpp (test_replace): Updated the expected_throw
value calculating mechanism.
* 21.string.append.cpp (test cases): Changed the meaning of
(tcase.bthrow == 0) to enable the testing of exception safety,
and used -1 to disable.
(Test, MemFun): Removed unused typedefs.
(test_replace): Renamed throw_after to throw_count to better
reflect the purpose of the variable
Set UserAlloc::allocate() to throw bad_alloc analogously to
operator new.
Exercised exception safety in each test case by default (i.e.,
when tcase.bthrow == 0).
* 21.string.assign.cpp: Same
* 21.string.insert.cpp: Same
* 21.string.op.plus.equal.cpp: Same
2006-05-25 Martin Sebor <sebor@roguewave.com>
* 21.strings.h (FuncId): Added members, increased to 6 bits.
(bit_member): New enumerator designating member functions.
(OverloadId): Added enumerator for operator+, operator==,
operator!=, and all relational operators.
* 21.strings.cpp (_rw_func_names): Added function names.
(_rw_class_name): New helper function to compute the name
of the basic_string class (string, wstring, or basic_string).
(_rw_sigcat): Used mnemonics instead of real function names
for name of options controlling operators (such as operator+).
Handled non-members correctly.
(_rw_uses_alloc): New helper to help determine whether a ctor
overload takes an allocator argument.
(_rw_setvars): Formatted ctors and non-members correctly.
Added formatting handlers for missing ctor overloads.
Added formatting handlers for non-member functions.
2006-05-24 Martin Sebor <sebor@roguewave.com>
* 21.strings.h: Renamed StringMembers to StringIds, charT to CharId,
Traits to TraitsId, Allocator to AllocId, and MemberId to FuncId).
Removed UnknownChar, UnknownTraits, and UnknownAllocator and renamed
DefaultAllocator and UserAllocator to DefaultAlloc and UserAlloc,
respectively.
Changed the prefix of FuncId (previously MemberId) enumerators from
mem_ to fid_ (function id) to accommodate non-member string functions.
(ArgId): New enum to encode the type of a single function argument.
Removed SignatureId.
(OverloadId): Defined enumerators in terms of FuncId and ArgId.
Renamed Function to StringFunc, TestCase to StringTestCase, Test to
StringTest, TestFun to StringTestFunc, run_test to rw_run_string_test,
and moved all to file scope to make it possible to refer to them
without qualification.
(arg_type): New helper to determine the type of a function argument.
(NPOS): New convenience constant representing std::string::npos.
Removed long_string, rw_disable_user_allocator, and
DEFINE_TEST_DISPATCH.
(TEST_DISPATCH): Accommodated above changes.
* 21.strings.cpp: Made naming and restructuring changes corresponding
to the above.
(_rw_opt_func): New array for toggling (enable/disable) options.
Replaces _rw_opt_memfun_disabled and _rw_opt_memfun_enabled.
(_rw_opt_char_types, _rw_opt_traits_types, _rw_opt_alloc_types,
_rw_opt_self_ref): New arrays replacing _rw_opt_no_char_types,
_rw_opt_no_traits_types, _rw_opt_no_alloc_types, and
_rw_opt_no_self_ref.
(_rw_get_func_inx): New helper. Computes a zero-based index of
a tested string function from the array of tests supplied by each
test program.
(_rw_ilog2): Removed unused static function.
(_rw_sigcat): New helper. Formats a string function signature
or the mnemonic used to refer to it on the command line (e.g.,
"append_val").
(_rw_test_case): Enhanced the handling of command line options
to allow to enable specific cases in addition to disabling them.
(_rw_toggle_options): New helper. Scans an array of enable/disable
options (toggles) and disables all those not explicitly enabled
when at least one explicitly enabled option is found.
(_rw_run_test): Simplified and enhanced by using toggles.
(rw_run_string_tests): Dynamically constructed a command line
option specification from the set of tests passed to it by the
test program. Included function name in the name of the option.
* 21.string.access.cpp: Accommodated the changes above and simplified.
* 21.string.append.cpp: Same.
* 21.string.assign.cpp: Same.
* 21.string.compare.cpp: Same.
* 21.string.cons.cpp: Same.
* 21.string.copy.cpp: Same.
* 21.string.erase.cpp: Same.
* 21.string.find.cpp: Same.
* 21.string.find_first_not_of.cpp: Same.
* 21.string.find_first_of.cpp: Same.
* 21.string.find_last_not_of.cpp: Same.
* 21.string.find_last_of.cpp: Same.
* 21.string.insert.cpp: Same.
* 21.string.plus_equal.cpp: Same.
* 21.string.replace.cpp: Same.
* 21.string.rfind.cpp: Same.
* 21.string.substr.cpp: Same.
* 21.string.swap.cpp: Same.
2006-05-24 Anton Pevtsov <antonp@moscow.vdiweb.com>
* data.js (icc91SolutionName, icc91CfgSolutionName): New global
variables to keep icc-9.1 solution names.
* generate.js (solutionICC91): New global variable to keep icc-9.1
solution object.
* generate.wsf (generateBuildBatch): Added special processing
for icc-9.1solution.
* icc-config.js (solutionICC91Cfg): New variable to keep icc-9.1
configuration solution.
(configureToolsICC91): New function to configure tools for icc-9.1.
* makelog.wsf (readAndCheckArguments): Set buildLogUnicode
variable to -1 for icc-9.1 - buildlog.htm is unicode.
* msvc-config.js (solutionICC91): New variable to keep icc-9.1
solution object.
* runall.wsf (runAllExamples): Set logUnicode variable to "true"
for icc-9.1 - buildlog.htm is unicode.
2006-05-23 Martin Sebor <sebor@roguewave.com>
* 18.exception.cpp: Simplified command line option handling
by using toggles.
2006-05-23 Martin Sebor <sebor@roguewave.com>
* cmdopt.cpp (cmdopts_t): Added the toggle_ member.
(rw_vsetopts): Added the tilde ('~') special character
denoting a toggle (i.e., and off/on option).
(_rw_match_toggle): New.
(rw_runopts): Called _rw_match_toggle.
* 0.cmdopts.cpp (test_toggles): Added tests for the above.
(main): Called test_toggles.
2006-05-22 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 18.exception.cpp: Converted to new test driver.
2006-05-19 Martin Sebor <sebor@roguewave.com>
* 21.strings.h (TEST_DISPATCH): Passed the entire Function object
to the test function template, not just the OverloadId member.
* 21.string.access.cpp (OverloadId, Test): Removed unused typedefs.
(Function): New convenience typedef.
(test_access): Changed signature to take a Function argument
rather than just OverloadId. Renamed the cs formal argument
to tcase to make it more understandable and for consistency
with other tests.
* 21.string.append.cpp: Same.
* 21.string.assign.cpp: Same.
* 21.string.compare.cpp: Same.
* 21.string.cons.cpp: Same.
* 21.string.copy.cpp: Same.
* 21.string.erase.cpp: Same.
* 21.string.find.cpp: Same.
* 21.string.find.first.not.of.cpp: Same.
* 21.string.find.first.of.cpp: Same.
* 21.string.find.last.not.of.cpp: Same.
* 21.string.find.last.of.cpp: Same.
* 21.string.insert.cpp: Same.
* 21.string.plus_equal.cpp: Same.
* 21.string.replace.cpp: Same.
* 21.string.rfind.cpp: Same.
* 21.string.substr.cpp: Same.
* 21.string.swap.cpp: Same.
2006-05-19 Martin Sebor <sebor@roguewave.com>
* 21.string.cons.cpp: Removed unnecessary #include directives
and improved comments.
2006-05-18 Martin Sebor <sebor@roguewave.com>
* 21.string.replace.cpp (test cases): Changed the meaning of
(tcase.bthrow == 0) to enable the testing of exception safety,
and used -1 to disable.
(Test, MemFun): Removed unused typedefs.
(test_replace): Renamed throw_after to throw_count to better
reflect the purpose of the variable.
Simplified the conditional computing the expected exception.
Set UserAlloc::allocate() to throw bad_alloc analogously to
operator new.
Exercised exception safety in each test case by default (i.e.,
when tcase.bthrow == 0).
2006-05-18 Martin Sebor <sebor@roguewave.com>
* 21.strings.cpp (_rw_setvars): Corrected formatting by adding
the missing %{;} directive.
2006-05-18 Martin Sebor <sebor@roguewave.com>
* rw_allocator.h (n_throws_): New member array to keep track
of the number of exceptions thrown from each member function.
* allocator.cpp (SharedAlloc ctor): Zero-initialized all arrays.
(funcall): Incremented the member function call counter regarless
of whether the call results in an exception or not to parallel
the same algorithm used in operator_new(). Incremented the
exception counter, n_throws_, for each thrown exception.
2006-05-18 Martin Sebor <sebor@roguewave.com>
* 21.strings.h (DEFINE_STRING_TEST_DISPATCH): Used fully qualified
StringMembers types Function and TestCase instead of relying on
convenience typedefs defined in each test.
2006-05-18 Martin Sebor <sebor@roguewave.com>
* rw_allocator.h (allocator): Changed the class-key from struct
to class to shut up a bogus MSVC warning.
2006-05-18 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.append.cpp (<rw_allocator.h>): Included.
(test_append_range, test_append): Added Allocator template
parameter and function argument.
(DEFINE_STRING_TEST_DISPATCH): Replaced DEFINE_TEST_DISPATCH.
* 21.string.access.cpp: Same
* 21.string.assing.cpp: Same
* 21.string.compare.cpp: Same
* 21.string.cons.cpp: Same
* 21.string.copy.cpp: Same
* 21.string.erase.cpp: Same
* 21.string.find.cpp: Same
* 21.string.find.first.not.of.cpp: Same
* 21.string.find.first.of.cpp: Same
* 21.string.find.last.not.of.cpp: Same
* 21.string.find.last.of.cpp: Same
* 21.string.insert.cpp: Same
* 21.string.op.plus.equal.cpp: Same
* 21.string.rfind.cpp: Same
* 21.string.substr.cpp: Same
* 21.string.swap.cpp: Same
2006-05-17 Martin Sebor <sebor@roguewave.com>
* vector.cc (_C_insert_range): Removed a shadowing variable.
2006-05-17 Martin Sebor <sebor@roguewave.com>
* vector_modifiers.cpp (main): Removed a duplicate option
specification.
2006-05-17 Martin Sebor <sebor@roguewave.com>
* 21.strings.cpp (_rw_setvars): Made static.
Defined the {charT}, {Traits}, and {Allocator} environment variables
to the name of the character type and the Traits and Allocator
template arguments specified by each test.
Removed an extraneous space from the format of the function call.
Added the missing "|-no-self-ref# " option specification.
2006-05-17 Martin Sebor <sebor@roguewave.com>
* 21.string.replace.cpp (test_replace): Corrected the formatting
of expected result string.
(test_replace): Used rw_check_leaks() to simplify the detection
of memory leaks using the user-defined allocator UserAlloc as
well as replacement operator new (when available).
2006-05-17 Martin Sebor <sebor@roguewave.com>
* rw_allocator.h (m_cpy_assign, m_cvt_assign): New constants.
(UserAlloc::operator=): Defined.
(rw_check_leaks): Declared and defined new helpers.
* allocator.cpp (<driver.h>): Included for rw_assert().
(UserAlloc ctor): Initialized n_refs_.
(UserAlloc dtor): Invalidated member arrays.
(_rw_check_leaks): New helper.
(rw_check_leaks): Defined.
2006-05-16 Martin Sebor <sebor@roguewave.com>
* 21.string.replace.cpp (<rw_allocator.h>): Included.
(test_replace_range, test_replace): Added Allocator template
parameter and function argument.
(test_replace): Simplified the checking of calls to traits_type::
length() in preparation for doing something similar for the user
defined allocator.
(DEFINE_STRING_TEST_DISPATCH): Replaced DEFINE_TEST_DISPATCH.
2006-05-16 Martin Sebor <sebor@roguewave.com>
* 21.strings.h (TEST_DISPATCH): Added an Alloc parameter.
(DEFINE_TEST_DISPATCH): Introduced a transitional overload of
the dispatch function template taking an Allocator argument
and dispatching to the test-defined one which doesn't take
one.
(DEFINE_STRING_TEST_DISPATCH): New macro to define a dispatch
function to invoke a test-defined function template with an
Allocator argument.
(rw_disable_user_allocator): Transitional variable to disable
tests exercising basic_string with a user-defined allocator.
* 21.strings.cpp (rw_disable_user_allocator): Defined.
(_rw_run_test): Conditionally enabled tests exercising user
defined allocators.
("|-enable-size-const#"): Added a missing command line option.
2006-05-16 Martin Sebor <sebor@roguewave.com>
* rw_char.h (rw_get_call_counters): Inlined.
Adjusted the formatting of function declarations according
to convention (with function name in column 1).
2006-05-16 Martin Sebor <sebor@roguewave.com>
* allocator.cpp (<rw_new.h>): Included for operator_new() and
operator_delete().
(allocate, deallocate): Called the operator_new() and operator_delete()
implementation functions instead of invoking the operators directly.
2006-05-16 Martin Sebor <sebor@roguewave.com>
STDCXX-179
* vector.cc (_C_insert_range): Corrected the persistent logic
error in the computation of the end of the range of elements
to be overwritten (assigned).
2006-05-16 Martin Sebor <sebor@roguewave.com>
* vector_modifiers.cpp (test_insert): Corrected formatting.
(test_insert_range): Added test cases exercising STDCXX-179.
2006-05-16 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.swap.cpp: New test exercising lib.string.swap.
2006-05-16 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.append.cpp (push_back_val_test_cases): New array to
exercise the push_back method.
(test_append): Added the case to exercise the push_back method.
2006-05-16 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.cpp (_rw_setvars): Added support for swap and push_back
overloads.
2006-05-16 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.h (MemberId): Added new elements for swap, push_back
(OverloadId): Added new enum elements for swap and push_back
overloads.
2006-05-15 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.cons.cpp: New test exercising lib.string.cons.
2006-05-15 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.access.cpp: New test exercising lib.string.access.
2006-05-15 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.copy.cpp: Converted to simplified format
(MemFun, run_test): removed as obsolete
(test_copy): Updated to use test driver features.
* 21.string.replace.cpp (test_replace_range): Added res_len
paramter, fixed bug with incorrect expected result string length.
(test_replace): Updated cal to test_replace_range, fixed bug
with agruments for the rw_match call.
* 21.string.append.cpp: Replaced LSTR, LLEN, and LPAR in test
cases with strings containing the '<char>@<count>' directive(s).
Corrected errors in expected results involving said strings
revealed by the use of the more flexible/reliable directives.
* 21.string.assing.cpp: Same
* 21.string.compare.cpp: Same
* 21.string.copy.cpp: Same
* 21.string.erase.cpp: Same
* 21.string.find.cpp: Same
* 21.string.find.first.not.of.cpp: Same
* 21.string.find.first.of.cpp: Same
* 21.string.find.last.not.of.cpp: Same
* 21.string.find.last.of.cpp: Same
* 21.string.insert.cpp: Same
* 21.string.op.plus.equal.cpp: Same
* 21.string.rfind.cpp: Same
* 21.string.substr.cpp: Same
2006-05-15 Anton Pevtsov <antonp@moscow.vdiweb.com>
* char.cpp (rw_match): Fixed the bug with the expanded string length.
* 21.strings.cpp (_rw_setvars): Added support for access, copy and
cons overloads.
(run_test): Added support for new signature
2006-05-15 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.h (MemberId): Added new elements for access, copy, cons
(OverloadId): Added new enum elements for access, copy and cons
overloads.
(SignatureId): Added new signature for at (size_type) const
2006-05-14 Martin Sebor <sebor@roguewave.com>
* rw_allocator.h: New header with the definition of a user-defined
allocator class template.
* allocator.cpp: New source containing definitions of helper classes
and functions used by the user-defined allocator template.
2006-05-12 Martin Sebor <sebor@roguewave.com>
STDCXX-179
* vector.cc (_C_insert_range): Corrected logic error in the computation
of the end of the range of elements to be overwritten (assigned over).
2006-05-12 Martin Sebor <sebor@roguewave.com>
* deque (_RWSTD_COMPLEX_DEFAULT): Eliminated and unconditionally
used default template arguments.
* list: Same.
* map: Same.
* queue: Same.
* set: Same.
* stack: Same.
* vector: Same.
* _strref.h: Same.
* fstream (_RWSTD_COMPLEX_DEFAULT): Same.
(filebuf, fstream, ...): Made use of default template arguments
in typedef defintions and in explicit instantiation directives.
* iosfwd: Same.
* sstream: Same.
* istream: Same.
* streambuf: Same.
* _basic_ios.h: Same.
* _ioinsert.h: Same.
* _ioiter.h: Same.
* _iterator.h: Same.
* _money_get.h: Same. Replaced the _RWSTD_V3_LOCALE macro with std.
* _money_put.h: Same.
* _num_get.h: Same.
* _num_put.h: Same.
* _time_get.h: Same.
* _time_put.h: Same.
* _defs.h (_RWSTD_SIMPLE_DEFAULT, _RWSTD_COMPLEX_DEFAULT): Removed.
2006-05-12 Martin Sebor <sebor@roguewave.com>
* _iterbase.h (iterator): Removed uses of the _RWSTD_SIMPLE_DEFAULT
macro (no longer detected).
* _streamiter.h (istream_iterator, ostream_iterator): Same.
2006-05-12 Martin Sebor <sebor@roguewave.com>
* instance.cpp (__nullref): Increased the size of the array to make
big enough to accommodate std::wstring times two with some extra
space to spare.
2006-05-12 Martin Sebor <sebor@roguewave.com>
* 21.string.substr.cpp (test_substr): Inverted the expression
in an unconditional assertion to make it actually fire when it
gets hit and to silence icc warnings #279: controlling expression
is constant.
2006-05-12 Martin Sebor <sebor@roguewave.com>
* char.cpp (UChar): New convenience typedef.
(_rw_expand, _rw_fmtstringv): Cast char to unsigned char before
passing it to isdigit() in order to prevent undefined behavior
caused by sign extension.
2006-05-08 Martin Sebor <sebor@roguewave.com>
* char.cpp (test_rw_expand): Plugged benign memory leaks.
2006-05-08 Martin Sebor <sebor@roguewave.com>
* replace.cpp: Replaced LSTR, LLEN, and LPAR in test cases with
strings containing the '<char>@<count>' directive(s). Corrected
errors in expected results involving said strings revealed by
the use of the more flexible/reliable directives. Added more
test cases exercising self-referential modification.
(test_replace_range): Added arguments, simplified, documented.
(test_replace): Used the new rw_expand() instead of rw_widen(),
added (and disabled for now) checking for memory leaks.
2006-05-08 Martin Sebor <sebor@roguewave.com>
* 21.strings.cpp (_rw_this_file): New.
(_rw_setvars): Used rw_expand() to expand string arguments containing
<char>@<count> directives.
(_rw_test_case): New.
(_rw_run_test): Factored the body of the innermost loop into
_rw_test_case() for better readability and called it.
2006-05-08 Martin Sebor <sebor@roguewave.com>
* char.cpp (_rw_expand): New "generic" implementation of all three
rw_expand() overloads. Corrected the handling of empty strings to
produce a NUL-terminated string of 0 size.
(rw_expand): Implemented in terms of the generic _rw_expand().
(rw_match): Used rw_expand() when the first string contains '@'.
* 0.char.cpp (test_rw_expand): Simplified, verified the correcntess
of the result size, and added more test cases.
2006-05-08 Martin Sebor <sebor@roguewave.com>
* new.cpp (operator_new, operator_delete): Used rw_note() instead
of rw_error() for tracing. Used the %#p rective to format pointers.
2006-05-08 Martin Sebor <sebor@roguewave.com>
* rw_char.h (rw_expand): Declared a set of new utility overloads.
* src/char.cpp (rw_expand): Defined the above.
* test/char.cpp (test_rw_expand): (Partially) exercised the above.
2006-05-06 Martin Sebor <sebor@roguewave.com>
* 21.string.compare.cpp (test_compare): Used StringState and simplified
the detection and reporting of exception safety violations. Made naming
and formatting changes.
2006-05-05 Martin Sebor <sebor@roguewave.com>
* 21.strings.cpp (_rw_setvars): Simplified formatting code
and the resulting formatted string.
Corrected the formatting of characters by using the %{#c}
extended directive.
Documented formatting convention.
2006-05-05 Martin Sebor <sebor@roguewave.com>
* 21.strings.cpp (_rw_setvars): Used memset() instead of a loop
to set string elements.
2006-05-05 Martin Sebor <sebor@roguewave.com>
* printf.cpp (_rw_vfprintf): Called OutputDebugString() to send
the string into the debugger window only when file is non-zero.
2006-05-05 Martin Sebor <sebor@roguewave.com>
* driver.cpp (rw_vtest): Set _rw_ftestout to rw_stdout here
instead of relying on static initialization. Checked for 0
before closing.
2006-05-05 Martin Sebor <sebor@roguewave.com>
* rw_char.h (UserTraits::n_calls_): Specified array extent in the
declaration of the array member inside the class instead of its
definition outside to work around a Sun C++ bug (see STDCXX-177).
2006-05-05 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.h (MemberId): Added new elements for access, copy.
(OverloadId): Added new enum elements for access and copy overloads.
* 21.strings.cpp (_rw_setvars): Added support for access and copy
overloads.
* 21.string.copy.cpp: Converted to simplified format.
(MemFun, run_test): removed as obsolete.
(test_copy): Updated to use test driver features.
2006-05-05 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.substr.cpp: New test exercising lib.string.substr.
2006-05-05 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.cpp (_rw_setvars): Added support for substr
overloads.
2006-05-05 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.h (MemberId): Added new element for substr.
(OverloadId): Added new enum elements for substr overloads.
2006-05-04 Martin Sebor <sebor@roguewave.com>
* 21.string.append.cpp (test_append): Simplified the handling
of the _RWSTD_NO_REPLACEABLE_NEW_DELETE config macro.
* 21.string.assign.cpp (test_assign): Same.
* 21.string.insert.cpp (test_insert): Same.
* 21.string.plus_equal.cpp (test_op_plus_eq): Same.
* 21.string.replace.cpp (test_replace): Same.
2006-05-04 Martin Sebor <sebor@roguewave.com>
* rw_new.h (operator new, operator delete): Guarded definitions
of the replacement operators with _RWSTD_NO_REPLACEABLE_NEW_DELETE
in order to allow the header to be included unconditionally, w/o
regard to the setting of the macro, and with no adverse effects
even when the macro is defined.
2006-05-04 Martin Sebor <sebor@roguewave.com>
* 21.string.append.cpp (test_append): Corrected compilation errors
when _RWSTD_NO_EXCEPTIONS is #defined and verified with
gcc -fno-exceptions.
* 21.string.assign.cpp (test_assign): Same.
* 21.string.copy.cpp (test_assign): Same.
* 21.string.insert.cpp (test_insert): Same.
* 21.string.plus_equal.cpp (test_op_plus_eq): Same.
* 21.string.replace.cpp (test_replace): Same.
i2006-05-04 Martin Sebor <sebor@roguewave.com>
* find.cpp (test_find): Used StringState to simplify the detection
ond reporting of exception safety violations.
Renamed the cs formal function argument to tcase to make the name
more descriptive.
Removed length_error handler.
Verified the return value for invalid arguments.
2006-05-04 Martin Sebor <sebor@roguewave.com>
* testdefs.h (try, catch, RW_CATCH_ALL): Defined based on whether
the config macro _RWSTD_NO_EXCEPTIONS is or isn't #defined.
2006-05-04 Martin Sebor <sebor@roguewave.com>
* _config-gcc.h (_RWSTD_NO_EXCEPTIONS): #defined in response to
the __EXCEPTIONS macro not being #defined by the compiler, e.g.,
when the -fno-exceptions command line option is used.
2006-05-04 Martin Sebor <sebor@roguewave.com>
* 21.strings.h (StringState, rw_get_string_stat): New.
* 21.strings.cpp (StringState::assert_equal): Defined.
* 21.string.append.cpp (test_append): Used StringState to simplify
the detection ond reporting of exception safety violations.
* 21.string.assign.cpp (test_assign): Same.
* 21.string.insert.cpp (test_insert): Same.
* 21.string.plus_equal (test_op_plus_eq): Same.
* 21.string.replace (test_replace): Same.
2006-05-03 Martin Sebor <sebor@roguewave.com>
* 21.string.find.cpp: Removed tests for length_error, added new
test cases.
2006-05-03 Martin Sebor <sebor@roguewave.com>
STDCXX-176
* string.cc (find): Optimized for a 50% speedup.
2006-05-03 Martin Sebor <sebor@roguewave.com>
* string.cc (replace): Renamed function arguments for clarity.
2006-05-03 Anton Pevtsov <antonp@moscow.vdiweb.com>
* rw_char.h (rw_get_call_counters): Removed _TEST_EXPORT as
not needed.
2006-05-03 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.compare.cpp: New test exercising lib.string.comapre.
2006-05-03 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.cpp (_rw_setvars): Added support for compare
overloads.
2006-05-03 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.h (MemberId): Added new element for compare.
(OverloadId): Added new enum elements for compare overloads.
2006-05-03 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.append.cpp (get_calls): Moved to rw_char.h
* 21.string.assign.cpp (test_assign): Added verification
that Traits::length() is used.
* 21.string.insert.cpp: Same
* 21.string.op.plus.equal.cpp: Same
* 21.string.replace.cpp: Same
2006-05-03 Anton Pevtsov <antonp@moscow.vdiweb.com>
* rw_char.h (rw_get_call_counters): New functions to retrieve
the pointer to n_calls array if it is defined for traits type.
2006-05-02 Martin Sebor <sebor@roguewave.com>
* 21.strings.cpp (_rw_opt_no_self_ref): New option handler.
(_rw_run_test, run_test): Used _rw_opt_no_self_ref to disable
tests of self-referential modifying member functions.
2006-05-02 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.find.cpp (NPOS): New constant added
for convenience.
(ptr_test_cases, str_test_cases): Updated according
to changes in TestCase structure.
(test_find): res_len renamed to nres according to
changes in the TestCase structure.
* 21.string.rfind.cpp: Same
* 21.string.find.first.of.cpp: Same
* 21.string.find.last.of.cpp: Same
* 21.string.find.first.not.of.cpp: Same
* 21.string.find.last.not.of.cpp: Same
2006-05-02 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.find.first.not.of.cpp: New test exercising
lib.string.find.first.not.of.
2006-05-02 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.find.last.not.of.cpp: New test exercising
lib.string.find.last.not.of.
2006-05-02 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.find.last.of.cpp: New test exercising
lib.string.find.last.of.
2006-05-02 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.find.first.of.cpp: New test exercising
lib.string.find.first.of.
2006-05-02 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.rfind.cpp: New test exercising lib.string.rfind.
2006-05-02 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.find.cpp: New test exercising lib.string.find.
2006-05-02 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.erase.cpp (MemFun, EraseTags): Removed as
obsolete.
(void_test_cases, size_test_cases, etc): New arrays of the
test cases to exercise erase overloads.
(test_erase): Rewrote to use test cases arrays, exception
handling updated.
(main): Updated to use new test driver features.
* 21.string.append.cpp (ptr_test_cases, str_test_cases, etc):
signature descriptions updated.
(get_calls): New function returning pointer to n_calls array,
if it presents in the traits type.
(test_append): Removed obsolete declarations, added the
traits::length() use verification.
* 21.string.assign.cpp (ptr_test_cases, str_test_cases, etc):
signature descriptions updated.
(test_assign): Removed obsolete declarations.
* 21.string.insert.cpp: Same
* 21.string.op.plus.equal.cpp: Same
* 21.string.replace.cpp: Same
2006-05-02 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.cpp (_rw_memfun_names): Added names for
find, rfind, find_first_of, etc methods.
(_rw_setvars): Added missed signatures to the signatures array,
added cases for erase method and find methods overloads.
(run_test): Added options for new signatures.
2006-05-02 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.h (SignatureId): Added missed signatures.
(MemberId): Added elements for erase, find, rfind, etc,
set start of elements to 1 << 6 because there are more than
32 signatures.
(OverloadId): Added elements for find, rfind, etc overloads.
(TestCase): res_len member renamed ot nres to be used as
the expected result value than an integer is expected.
2006-04-27 Martin Sebor <sebor@roguewave.com>
* 21.strings.cpp (_rw_opt_memfun_enabled): New array of option
flags analogous to _rw_opt_memfun_disabled.
(_rw_run_test): Used _rw_opt_memfun_enabled to disable options
when at least one element is non-zero.
(run_test): Used _rw_opt_memfun_enabled.
2006-04-26 Martin Sebor <sebor@roguewave.com>
* printf.cpp (_rw_quotechar, _rw_fmtarray): Avoid instantiating
on wchar_t when the type is not a fundamental type (since it's
most likely not distinct from one of the types the templates
have already been instantiated on at this point).
2006-04-26 Martin Sebor <sebor@roguewave.com>
* rw_char.h (UserTraits): Added the MemFun struct and the n_calls_
array to the definition of the primary template for compatibility
with the UserTraits<UserChar> specialization.
2006-04-25 Martin Sebor <sebor@roguewave.com>
* 21.strings.h (TEST_DISPATCH): Handled all enumerations
in conditionals.
* 21.strings.cpp (_rw_run_test): Corrected the use of indices
in nested loops.
Added file and line information to rw_note() invocations for
context.
Set _rw_no_exceptions and _rw_no_exception_safety in response
to the _RWSTD_NO_EXCEPTIONS macro being #defined.
Set _rw_opt_no_char_types [1] in response to _RWSTD_NO_WCHAR_T
being #defined.
2006-04-25 Martin Sebor <sebor@roguewave.com>
* 21.strings.h (run_test): Added function arguments.
(opt_memfun_disabled, opt_no_user_char, opt_no_char_traits,
opt_no_user_traits, opt_no_exceptions, opt_no_exception_safety,
setvars): Removed.
* 21.strings.cpp (_rw_char_names, _rw_traits_names, _rw_alloc_names,
_rw_memfun_names): Moved from run_test to file scope to make them
accessible from other functions.
(_rw_ilog2): New helper to compute an integral base-2 logarithm.
(_rw_setvars): Renamed from setvars and gave it internal linkage.
(_rw_run_test): New helper. Handled command line options common
to all tests.
(run_test): Invoked _rw_run_test via a call to rw_test after
setting and processing command line options common to all tests.
* 21.string.append.cpp (run_test): Moved body into main and removed.
(main): Called StringMembers::run_test.
* 21.string.assign.cpp: Same.
* 21.string.op.plus.equal.cpp: Same.
* 21.string.replace.cpp: Same.
* 21.string.insert.cpp: Same.
2006-04-25 Martin Sebor <sebor@roguewave.com>
* 21.strings.h (long_string, long_string_len): New static members.
* 21.strings.cpp (char_names, traits_names, alloc_names): Moved
from file scope to run_test.
(run_test): Initialized long_string.
* 21.string.append.cpp (run_test): Removed initialization
of long_string, used the static member declared in 21.strings.h.
(AppendOverload): Replaced/renamed macro with OverloadId typedef.
* 21.string.assign.cpp: Same.
* 21.string.insert.cpp: Same.
* 21.string.plus_equal.cpp: Same.
* 21.string.replace.cpp: Same.
2006-04-25 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.h (SignatureId): Added missed signature sig_val.
(MemberId): Added new element mem_op_plus_eq.
(OverloadId): Added new elements for += overloads.
* 21.strings.cpp (setvars): Updated to support operator+=
overloads, minor formatting bugs fixed.
2006-04-25 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.plus_equal.cpp: Enhanced and ported to new test driver.
2006-04-25 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.append.cpp (range_test_cases): Bug in test case
description fixed.
(test_append_range): Typo bug fixed.
* 21.string.assign.cpp (exceptions): Added elements and renamed
from exp_exceptions for clarity.
(test_exceptions): Merged the body of the function into the
test_assign function and removed the declaration of the former.
(test_assign): Exercised both the function exception safety and
the behavior of the function under normal conditions.
* 21.string.insert.cpp: Same.
* 21.string.replace.cpp (exceptions): Added elements and renamed
from exp_exceptions for clarity.
(size_size_ptr_test_cases, size_size_str_test_cases, etc): Merged
with equal iterator version arrays.
(test_exceptions): Merged the body of the function into the
test_assign function and removed the declaration of the former.
(test_replace): Exercised both the function exception safety and
the behavior of the function under normal conditions.
2006-04-24 Martin Sebor <sebor@roguewave.com>
* 21.string.append.cpp (exceptions): Added elements and renamed
from exp_exceptions for clarity.
(test_exceptions): Merged the body of the function into the
test_append function and removed the declaration of the former.
(test_append_range): Constified locals wherever appropriate
and introduced new helper variables to simplify expressions.
(test_append): Exercised both the function exception safety
and the behavior of the function under normal conditions.
2006-04-24 Martin Sebor <sebor@roguewave.com>
* 21.strings.h (DEFINE_TEST_DISPATCH): New helper macro
to define the same boilerplate "test dispatch" function
in each test.
* 21.string.append.cpp (DEFINE_TEST_DISPATCH): Used and
simplified.
Renamed the cs function argument to tcase (for test case)
for clarity.
(<memory>): Removed the inclusion of an unneeded header.
* 21.string.assign.cpp: Same.
* 21.string.insert.cpp: Same.
* 21.string.replace.cpp: Same.
2006-04-24 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.strings.cpp (setvars): Added formatting of calls to overloads
of insert.
2006-04-24 Martin Sebor <sebor@roguewave.com>
* 21.strings.cpp (setvars): Corrected an off-by-one error indexing
into an array of signatures.
2006-04-23 Martin Sebor <sebor@roguewave.com>
* 21.strings.h (UnknownChar, UnknownTraits, UnknownAllocator): Added.
(sig_void): Defined to 1 instead of 0 to distinguish an "unknown"
value from a known one.
(MemberId): New member indentifying a set of overloads of a given
member function of basic_string.
(SignatureId): Renamed from MemberFunction and defined partly in
terms of MemberId constants.
(Function): New struct uniquely identifying a specific overload of
a given member function of a particular specialization of basic_string.
(setvars): Renamed from format, changed signature and semantics and
made private.
(run_test): New function to run all test cases defined by a test.
* 21.strings.cpp (setvars): Defined the environment variables CLASS,
FUNC, FUNCSIG, and FUNCALL to the name of the specialization of the
class template, the name of the member function, and the name of the
overload of the member function, respectively, and optionally, the
call to the member function with argument expanded.
(run_test): Runs all test cases specified by each test.
* 21.string.append.cpp: Simplified by using the above.
(MemFun): Defined to StringMembers::Function.
(tests): Made static local and removed function signatures obviated
by the above changes.
* 21.string.assign.cpp: Same.
* 21.string.replace.cpp: Same.
2006-04-21 Martin Sebor <sebor@roguewave.com>
* 21.strings.h (append_last, assign_last, insert_last, replace_last):
Made constants one greater than the last valid index for each member
function.
(append_overloads, assign_overloads, insert_overloads,
replace_overloads, member_functions): Removed from the definition
of the MemberFunction enumeration and moved them into an enum of
their own.
(append, assign, insert, replace): Removed.
* 21.strings.cpp (format): Adjusted for the above, simplified the
formatting of basic_string template arguments by leaving out the
name of the default allocator for brevity. Implemented the formatting
for replace.
2006-04-21 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
* 21.string.replace.cpp (<21.strings.h>, StringMembers): Included
header and used class to simplify.
(ReplaceTags, TestCase, rw_opt_no_replace_*): Removed, replaced with
StringMembers equivalents.
(test_exceptions, test_replace_range, test_replace): Made locals const
wherever appropriate.
2006-04-20 Martin Sebor <sebor@roguewave.com>
* 21.strings.h (TestCase): Added new members.
(Test): Removed the member which (moved to TestCase).
(format): Removed last argument.
(opt_no_user_char, opt_no_char_traits, opt_no_user_traits,
opt_no_exceptions, opt_no_exception_safety): New static members.
* 21.strings.cpp: Same as above as necessary.
* 21.string.append.cpp: Reflected the above.
* 21.string.assign.cpp: Ditto.
2006-04-20 Martin Sebor <sebor@roguewave.com>
* 21.string.append.cpp (test_append): Replaced get_append_format()
with a direct call to StringMembers::format.
* 21.string.assign.cpp (test_assign): Same for get_assign_format().
2006-04-20 Martin Sebor <sebor@roguewave.com>
STDCXX-174
* bitset (_C_from_ulong, flip, set, operator<<=): Used ULONG_MAX
instead of SIZE_MAX in bitwise operations involving unsigned long.
2006-04-20 Martin Sebor <sebor@roguewave.com>
* bitset.cpp (__rw_bit_count): Reimplemented to work around
an uncharacterized MSVC 8.0 codegen bug on EM64T and for
better efficiency (> 2x speedup on ILP32, likely much greater
on LP64).
2006-04-20 Martin Sebor <sebor@roguewave.com>
* 21.strings.cpp (_RWSTD_TEST_SRC): Defined.
2006-04-19 Martin Sebor <sebor@roguewave.com>
* 21.strings.assign.cpp (<21.strings.h>, StringMembers): Included
header and used class to simplify.
(AssignOverload, TestCase, FunctionTag, rw_opt_no_assign): Removed,
replaced with StringMembers equivalents.
(*_test_cases): Renamed from assign_*_test_cases for simplicity,
reverting a previous rename in the opposite direction.
* 21.strings.append.cpp: Same.
2006-04-19 Martin Sebor <sebor@roguewave.com>
* 21_strings.h: New header containing definitions of helpers
used in clause 21 tests.
* 21_strings.cpp: New implementation file of the same.
2006-04-19 Martin Sebor <sebor@roguewave.com>
* 21.string.assign.cpp (AssignOverload): Renamed from AssignTags.
(TestCase): Renamed members to correspond to AssignOverload enums
and to better indicate the purpose of each.
(rw_opt_no_assign_*): Collapsed individual varaibles into an array
indexed with AssignOverload enums.
(*_test_cases): Renamed to assign_*_test_cases for consistency and
to make it easy to refer to each array using just AssignOverload
enums.
(FunctionTag): Removed p_opt member (obviated by the addition
of the rw_opt_no_assign array) and renamed other members for
consistency with local variables used to refer to the same things
elsewhere in the test.
(TEST): Simplified the definition of the macro by relying on the
changes above.
(test_assign_exceptions, test_assign_range, test_assign): Introduced
local helper variables, consitified others, and simplified.
(get_assign_format): Removed first two arguments and changed to
return pointer to the formatted string.
(test_assign): Qualified a call to free() with std:: and simplified.
(test_assign): Naming changes.
(main): Used rw_opt_no_assign array.
2006-04-19 Martin Sebor <sebor@roguewave.com>
* fmt_defs.h (<testdefs.h>): Included.
(i64_t): Defined to int when _RWSTD_INT32_T is not #defined.
2006-04-18 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 20.auto.ptr.cpp: New test exercising lib.auto.ptr.
2006-04-18 Martin Sebor <sebor@roguewave.com>
* testdefs.h (_PTR_THROWS): New helper macro.
2006-04-18 Martin Sebor <sebor@roguewave.com>
STDCXX-172
* _smartptr.h (__rw_nonvoid_ref): Moved from here...
* _autoptr.h: ...to here and used to declare operator*().
(operator->): Avoided using _RWSTD_OPERATOR_ARROW and instead spelled
out the definition of the operator without relying on operator*() to
avoid instantiating its (ill-formed) declaration when element_type is
void.
2006-04-14 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.assign.cpp: New test exercising lib.string.assign.
2006-04-12 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.append.cpp: New test exercising lib.string.append.
2006-04-10 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.replace.cpp (ReplaceTags): Enum members renamed
according to naming convention.
(TestCase): num2, it_res, it_res_len fileds removed as obsolete,
cnt field rename to count.
(test_cases): array split to off_size_test_cases,
off_size_str_test_cases, etc to exercise each replace
overload separately.
(FunctionTag): New strcture containing information about test
options and test cases for each replace overload.
(function_tags): New array of function tags.
(rw_opt_no_replace_off_size_ptr, rw_opt_no_replace_off_size_str, ...):
Command line options renamed according naming convention.
(test_replace_exceptions): New function to exrcise exception safety.
(test_replace_range): New functions to exercise
replace range version.
(test_replace): Modified to exercise replace versions independently,
included exception safety tests, added exc_safety_test parameter
to indicate the test case type.
(get_replace_format): New function to prepare test output
formatted string.
(run_test): Modified to iterate through function_tags array.
(main): Changed to operate with renamed command line options.
2006-04-10 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.insert.cpp (get_insert_format): Added missed
function name "insert".
2006-04-07 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.insert.cpp (rw_opt_no_exception_safety): New option to
disable the exception safety tests.
(off_test_cases, off_str_test_cases, ...): New test cases were
added include cases for exception safety tests.
(test_insert_exceptions): New function to exrcise exception safety.
(test_insert): Modified to include exception safety tests, added
exc_safety_test parameter to indicate the test case type.
(main): added support for new option no-exception-safety.
2006-04-06 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-168
* generate.wsf (readAndCheckArguments): Conversion to absolute
path added.
(createBuildDirs): Added mechanism to create all BUILDDIR
subfolders.
2006-04-04 Martin Sebor <sebor@qvdx018242>
* fmt_bits.cpp (<ctype.h>): Added a missing #include directive.
2006-04-03 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.insert.cpp: New test exercising lib.string.insert.
2006-04-03 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 0.char.cpp (rw_widen): Exercised r391042
(rw_narrow): The same.
2006-04-03 Anton Pevtsov <antonp@moscow.vdiweb.com>
* char.cpp (rw_widen): Added '\0' symbol to the end of string.
2006-03-30 Martin Sebor <sebor@roguewave.com>
* fmt_defs.h: New header.
* printf.cpp (Buffer, FmtSpec): Moved definitions to fmt_defs.h.
(_rw_fmterrno, _rw_fmtlc, _rw_fmtmask, _rw_fmtiostate, _rw_fmtflags,
_rw_fmtopenmode, _rw_fmtseekdir, _rw_fmtevent, _rw_fmtmonpat,
_rw_fmtsignal): Moved definitions to fmt_bits.cpp.
(_rw_quotechar, _rw_fmtarray): Prepended underscore according
to the naming convention.
(_rw_fmtspec): Corrected the handling of $<expression> syntax.
(_rw_fmtexpr): New function to format expressions involving
environment variables.
(_rw_vasnprintf_ext): Called _rw_fmtexpr(). Avoided aborting on
malformed directives.
* fmt_bits.cpp (_rw_fmterrno, _rw_fmtlc, ...): Moved definitions
from printf.cpp.
* test/printf.cpp (test_envvar): Exercised $<expressions>.
(test_malformed_directives): Exercised malformed directives.
(test_tm): Used a power of 2 (sizeof(int)) to create a bad
(misaligned) address.
2006-03-30 Martin Sebor <sebor@roguewave.com>
* environ.cpp (rw_putenv): Removed the variable from the environment
when it doesn't contain the equals sign.
2006-03-28 Martin Sebor <sebor@roguewave.com>
* cwchar (mbrlen, mbrtowc, ...): Used _RWSTD_MBSTATE_T instead
of mbstate_t.
* _mbstate.h (_RWSTD_NO_STD_MBSTATE_T): Undefined when not using
HP aCC on HP-UX (i.e., for gcc).
2006-03-28 Martin Sebor <sebor@roguewave.com>
* memattr.cpp (__rw_memattr): Checked errno for EFAULT and ENOMEM
after caling madvise() on Linux to prevent false negatives when
errno is set to EBADF for mapped address ranges not backed by a
file.
2006-03-28 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.copy.cpp: New test exercising lib.string.copy.
2006-03-27 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.cfg (compile, link, compile_then_link, prelink, archive):
New helper functions to invoke the compiler, linker, and archiver and
log the results.
(arch): Used the function(s) defined above and simplified. Exited with
an error when unable to determine the system architecture.
(sane, %.o: %.cpp, %: %.o, library rule): Used the function(s) defined
above and simplified.
2006-03-27 Martin Sebor <sebor@roguewave.com>
STDCXX-159
* _config-xlc.h: Disabled explicit instantiation for XLC++ 8.0 when
extern template isn't correctly implemented to work around an XLC++
8.0 optimizer bug.
2006-03-27 Martin Sebor <sebor@roguewave.com>
* merge.cpp: Used '\n' instead of endl.
* merge.out: Added terminating newline.
2006-03-27 Martin Sebor <sebor@roguewave.com>
* char.cpp (_rw_fmtstringv): Used _RWSTD_VA_COPY() instead of direct
assignment to va_list (which may have array type) .
2006-03-27 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.replace.cpp (test_replace): Strings format in
rw_assert calls changed to generic strings, workaround
for UserChars strings output removed as obsolete.
2006-03-27 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.erase.cpp (EraseTags): New enum determining which
erase version to test.
(test_erase): Changed "which" parameter type to use new enum,
changed strings output in rw_assert calls to use generic
strings.
(note_test_disabled): Changed "which" parameter type to
EraseTags enum.
(run_test): Updated to use new enum EraseTags instead of
integer.
2006-03-27 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.capacity.cpp (MemFun): Add UChar member to charT
enum.
(test_resize): Updated to be able operate with UserChar's,
strings output format in rw_assert calls changed to generic
strings.
(test_capacity): The same.
(rw_opt_no_user_chars): New cmd line option --no-user_chars.
(run_test): UserChar's tests added.
(main): New command line option added.
2006-03-25 Martin Sebor <sebor@roguewave.com>
* locale_body.cpp (__rw_cats): Guarded the use of _RWSTD_CAT_5
and used _RWSTD_CAT_0 in its place when not #defined (e.g., by
dumb windoze).
2006-03-25 Martin Sebor <sebor@roguewave.com>
* printf.cpp (UChar, UShrt, UInt, ULong, ULLong): Introduced and
used global convenience typedefs.
(WEOF): Defined if not defined in libc headers.
(rw_quotechar, rw_fmtarray): Explicitly instantiated for compilers
such as Compaq C++ that do not do so implicitly.
2006-03-25 Martin Sebor <sebor@roguewave.com>
* _defs.h (_RWSTD_VA_COPY): New helper macro.
* VA_LIST.cpp(_RWSTD_NO_VA_COPY): New macro #defined in response
to the C99 va_copy() macro not being #defined in <stdarg.h>.
* exception.cpp (__rw_vfmtwhat): Unconditionally used _RWSTD_VA_COPY().
* printf.cpp (rw_vasnprintf): Used _RWSTD_VA_COPY.
(rw_sprintf, rw_snprintf): Provided definitions.
2006-03-25 Martin Sebor <sebor@roguewave.com>
* memattr.cpp (__rw_memattr): Used mvalid() instead of madvise()
on Tru64 UNIX.
Removed checks for errno values EFAULT and EINVAL for portability
and simply tested for any non-zero errno value.
2006-03-25 Martin Sebor <sebor@roguewave.com>
STDCXX-167
* vacpp.config (WIDE_ARFLAGS): Used -X64 only on AIX (and not,
for example, on Linux).
2006-03-22 Martin Sebor <sebor@roguewave.com>
STDCXX-140
* LOCALE_NAME_FMAT.cpp (lc_vars): Added LC_ALL.
(print_lc_constants): Avoided the assumption that the name of each
constant contains the equals sign.
(print_categories): Iterated through all lc_vars but the element
that refers to LC_ALL.
2006-03-22 Martin Sebor <sebor@roguewave.com>
STDCXX-140
* LOCALE_NAME_FMAT.cpp (setlocale): Added a definition for debugging
(to emulate platforms with no locales installed) and disabled it.
(test_locale_names, nlocales): Renamed from loc and and nloc, and
made const.
(print_lc_constants, print_categories, print_locale_name_format):
New helper functions for better readability.
(cat_seps): Renamed from cats and moved from main() to file scope.
(lc_consts): Merged with lc_vars.
(lc_vars): Moved to file scope.
(print_locale_name_format): Hardcoded locale format for a bunch
of platforms in case there are no locales installed on the system.
(test_locale_names): Added more locales.
2006-03-22 Martin Sebor <sebor@roguewave.com>
STDCXX-140
* locale_body.cpp (_C_is_managed): Avoided an infinite loop
when _RWSTD_CAT_SEP is #defined to the empty string ("").
2006-03-22 Martin Sebor <sebor@roguewave.com>
* locale_body.cpp (size_t): Used instead of _RWSTD_SIZE_T for
readability.
(_V3_LOCALE, _RWSTD_NO_V3_LOCALE): Removed dead macro/guard.
Minor formatting adjustments for consistency.
2006-03-22 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.replace.cpp (LPAR): Macro definition changed
(long_parity_len): Removed as obsolete.
(ReplaceTags): New enum containing the descriptive "which"
arguments.
(test_cases): Strings alignment changed.
(test_replace): Changed to use ReplaceTags members, type of
"which" variable changed to ReplaceTags.
(note_test_disabled): The same.
(run_test): The same.
2006-03-21 Martin Sebor <sebor@roguewave.com>
* char.cpp (test_rw_match): Cast character string macro argument
to the correct type.
2006-03-21 Martin Sebor <sebor@roguewave.com>
* rw_char.h (UserCharFmatInit, _rw_user_char_fmat_init): Initializer
type and object to install a "user-defined" formatting callback for
arrays of generic characters including UserChar.
* src/char.cpp (_rw_fmtstring, _rw_fmtstringv): "User-defined"
formatting callback for arrays of generic characters including
UserChar.
* test/0.char.cpp (test_formatting): Exercised the above.
2006-03-21 Martin Sebor <sebor@roguewave.com>
* 21.string.capacity.cpp (LSTR, LLEN): New macros for convenience.
(test_resize): Changed type of cparam argument to int and simplified.
(test_capacity): Avoided returning the result of a call to a fuction
returning void to prevent an HP aCC 3.63 error. Eliminated pstr local
variable and used the same string object instead.
(test_resize): Added test cases.
2006-03-21 Martin Sebor <sebor@roguewave.com>
* rw_char.h (rw_match): Declared and documented new helpers.
* src/char.cpp (rw_match): Implemented new helpers.
* test/char.cpp (test_rw_match): Exercised new helpers.
2006-03-20 Martin Sebor <sebor@roguewave.com>
* 21.string.replace.cpp (LSTR, LLEN, LPAR): New convenience macros.
(TestCase::str, src, res, it_res): Added const-qualification to avoid
gcc warnings.
(test_replace): Added const-qualification wherever appropriate.
2006-03-20 Martin Sebor <sebor@roguewave.com>
* rw_char.h (rw_narrow): Declared new testsuite helper(s).
* char.cpp (rw_narrow): Implemented new testsuite helper(s).
* 0.char.cpp (test_narrow): Exercised new testsuite helper(s).
2006-03-20 Martin Sebor <sebor@roguewave.com>
* 0.char.cpp (test_widen): Exercised r387377.
2006-03-20 Martin Sebor <sebor@roguewave.com>
* char.cpp (rw_widen): Zeroed out the destination array when the
source pointer is null and length is less than SIZE_MAX (i.e.,
implemented the equivalent of memset(dst, 0, len * sizeof *dst)).
* rw_char.h (rw_widen): Updated comments to reflect the above.
2006-03-20 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.replace.cpp (ReplaceData): Removed as obsolete
(TestCase): New structure to store a test case
(test_cases): Static array of the test cases
(test_replace): Functions updated to use TestCase and test_cases[]
instead of ReplaceData.
2006-03-20 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.capacity.cpp (run_test): Fixed bug in options processing
(main): Fixed bug with missed '#' sign in options.
2006-03-20 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.erase.cpp (main): Fixed bug with missed '#' sign.
2006-03-19 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 27.istream.unformatted.get.cpp: New test exercising the overloads
of the get() member functions specified in lib.istream.unformatted.
2006-03-19 Martin Sebor <sebor@roguewave.com>
STDCXX-3
* rw_streambuf.h: New header. Defines a test streambuf class template.
2006-03-19 Martin Sebor <sebor@roguewave.com>
* printf.cpp (bad_address, format_bad_address): Helpers to generate
and format an invalid or misaligned address.
(test_string, test_chararray, test_basic_string, test_tm): Used
bad_address and format_bad_address to exercise the detection and
formatting of invalid and misaligned addresses.
(test_ios_bitmasks): Verified that the directive doesn't insert NULs.
2006-03-19 Martin Sebor <sebor@roguewave.com>
* printf.cpp (_rw_fmtbadaddr): Added a size argument to distinguish
an invalid address from a misaligned one.
(_rw_vasnprintf_c99, rw_vasnprintf, _rw_fmtpointer, _rw_fmtarray,
_rw_vfprintf): Explicitly cast integer values to the target type
to silence HP aCC's truncation and or sign-extension warnings.
(_rw_fmttm, rw_fmtarray, _rw_fmtwstr, _rw_vasnprintf_ext): Detected
and properly formatted both invalid and mislaigned addresses.
(rw_bmpfmt): Avoided NUL-terminating buffer.
2006-03-18 Martin Sebor <sebor@roguewave.com>
* 22.locale.num.get.cpp (<cstddef>): Removed an unnecessary #include
directive.
(PunctData): New base class of the Punct<charT> template to reduce
code bloat.
(Punct): Derived from PunctData and simplified.
(Streambuf): New class template.
(Ios, NumGet): Added a template parameter.
(do_test): Exercised std::num_get specializations on istreambuf_iterator
and user-defined InputIterator type in addition to character pointer.
(do_test): New helper to dispatch to the appropriate specialization of
the main do_test function.
(test_errno, test_bool, test_shrt, ...): Removed the charT template
parameter to reduce code bloat.
(test_llong, test_ullong): Guarded with _RWSTD_NO_LONG_LONG.
(run_tests): New dispatch function on iterator type.
2006-03-18 Martin Sebor <sebor@roguewave.com>
* 22.locale.num.get.cpp [_MSC_VER] (ULL): Corrected typo in macro name.
(test_llong) Moved sign out of the macro argument to prevent undefined
behavior due to the concatenation of more than two tokens during
preprocessing.
2006-03-18 Martin Sebor <sebor@roguewave.com>
* 22.time.put.cpp: Renamed...
* 22.locale.time.put.cpp: ...to this for consistency.
2006-03-18 Martin Sebor <sebor@roguewave.com>
* 22.time.put.cpp (<rw_locale.h>): Included instead of <localedef.h>.
2006-03-18 Martin Sebor <sebor@roguewave.com>
STDCXX-165
* num_get.cpp (__rw_get_num): Checked _LONG_DOUBLE in addition to __hpux
before using struct long_double in case the struct is not defined e.g.,
when using gcc's replacement <stdlib.h> on HP-UX.
2006-03-18 Martin Sebor <sebor@roguewave.com>
* localedef.h: Renamed...
* rw_locale.h: ...to this to prevent clashing with the HP-UX
system header with the same name.
* localedef.cpp: Renamed...
* locale.cpp: ...to this to (pretty closely) match header name.
2006-03-18 Martin Sebor <sebor@roguewave.com>
STDCXX-164
* FLOAT.cpp (strtold): Checked _LONG_DOUBLE in addition to __hpux
before using struct long_double in case the struct is not defined
e.g., when using gcc's replacement <stdlib.h> on HP-UX.
2006-03-18 Martin Sebor <sebor@roguewave.com>
STDCXX-166
* GNUmakefile (SHARED_SUFFIX, STATIC_SUFFIX): Defined variables
only if they are not already defined (in the .config file).
2006-03-17 Martin Sebor <sebor@roguewave.com>
* gcc.config (LDSOFLAGS): Removed -lsupc++ from the defintion
of the variable (libraries go in the LDIBS variable and only
position independent options in LDSOFLAGS and similar).
2006-03-17 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.lib: Generalized the handling of shared archives
so as not to depend on the name of the compiler (which, while
unique to VisualAge/XLC++, is specific to AIX); Used BUILDMODE
instead.
Moved LDFLAGS before OBJS on the link line since the former
should not contain any libraries (that's what LDLIBS is for).
2006-03-17 Martin Sebor <sebor@roguewave.com>
* vacpp.config: Used xlc with a whole bunch of obscure libraries
on the link line instead of xlC on Linux in order to prevent the
compiler driver from linking with gcc's libstdc++.
2006-03-17 Martin Sebor <sebor@roguewave.com>
* _tree.h (_C_make_iter): Removed an unnecessary const qualification.
2006-03-17 Martin Sebor <sebor@roguewave.com>
* exception.cpp (_C_assign): Replaced size_t (~0) with SIZE_MAX
to avoid HP aCC remark 4237.
(operator=): Avoided the use of a comma expression in the return
statement to prevent the bogus HP aCC remark 4284 (operator= does
not return reference to *this).
2006-03-17 Martin Sebor <sebor@roguewave.com>
* ti_filebuf.cpp (<stdio.h>): Included before <fstream> to get
the extended member functions of basic_filebuf that take FILE*
as an argument defined and to prevent unsats from programs that
do the same thing when extern template is enabled.
* ti_filebuf.cpp: Ditto.
2006-03-17 Martin Sebor <sebor@roguewave.com>
* 25.equal.range.cpp (Y ctor): Changed argument to char.
(test_equal_range): Removed a cast to prevent gcc 3.2 from
confusing an object definition with that of a function.
2006-03-17 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.replace.cpp: Svn properties were set.
2006-03-17 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 21.string.replace.cpp: New test exercising lib.string.replace.
2006-03-16 Martin Sebor <sebor@roguewave.com>
* 25.adjacent.find.cpp (test_adjacent_find): Corrected paramno values
to account for the change in the handling of conditionals in r371638.
2006-03-16 Martin Sebor <sebor@roguewave.com>
* memattr.cpp (__rw_memattr): Handled EFAULT (set by HP-UX)
in addition to ENOMEM.
2006-03-15 Martin Sebor <sebor@roguewave.com>
* driver.cpp (RLIM_SAVED_CUR, RLIM_SAVED_MAX): Defined to RLIM_INFINITY
when not #defined.
(rw_vtest): Explicitly cast an int to long to silence HP aCC's integer
widening warning 887.
2006-03-15 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 21.string.erase.cpp (rw_opt_no_exceptions, rw_opt_no_erase,
rw_opt_no_erase_pos, rw_opt_no_erase_count,
rw_opt_no_erase_iterator,
rw_opt_no_erase_range): New command line options.
(test_erase): Added check for the --no-exceptions option.
(note_test_disabled): New function to display the disable note.
(run_test): Changed to support new command line options.
(main): Added new command line options.
2006-03-14 Martin Sebor <sebor@roguewave.com>
* driver.cpp (<ctype.h>): Included for islower() and isupper().
(<sys/resource.h>): Conditionally included for setrlimit().
(_rw_check_init): Enhanced diagnostics.
(_rw_setopt_output_file): Correctly handled spaces between the short
option and its argument (i.e., allowd -o <filename> in addition to
-o<filename>).
(_rw_setopt_ulimit): New function to set one or more resource (soft
and/or hard) limits.
(_rw_setopt_compat_error, _rw_setopt_compat_warn): New helpers to
print out diagnostics for compatibility-mode options used when not
in that mode.
(_rw_setopt_compat_append): -A compatibility option handler.
(_rw_setopt_compat_compiler): -C compatibility option handler.
(_rw_setopt_compat_dir): -D compatibility option handler.
(rw_setopt_compat_debug_file): -G compatibility option handler.
(_rw_setopt_compat_alarm): -L compatibility option handler.
(_rw_setopt_compat_machine): -M compatibility option handler.
(_rw_setopt_compat_output_file): -O compatibility option handler.
(_rw_setopts_compat): New function to install compatibility option
handlers.
(rw_vtest): Installed --ulimit handler and called _rw_setopts_compat.
2006-03-14 Martin Sebor <sebor@roguewave.com>
* 25.find.cpp (test_find): Avoided binding a reference to an unnamed
temporary to prevent a code generation issue with Intel C++ 9.0.
Simplified by removing unnecessary template argument(s).
2006-03-11 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 21.string.erase.cpp: New test exercising lib.string.erase.
2006-03-11 Martin Sebor <sebor@roguewave.com>
* rw_char.h (rw_widen): Documented behavior.
2006-03-11 Martin Sebor <sebor@roguewave.com>
* char.cpp (copy, move, rw_widen): Corrected logic errors.
2006-03-11 Martin Sebor <sebor@roguewave.com>
* 0.char.cpp: New test exercising the UserTraits class template
and the rw_widen() set of overloaded helper functions.
2006-03-09 Martin Sebor <sebor@roguewave.com>
* 21.string.capacity.cpp (test_capacity): Changed Traits argument from
by-value to a pointer to avoid making assumptions about Traits object
being constructible.
2006-03-09 Martin Sebor <sebor@roguewave.com>
* rw_char.h (UserTraits<UserChar>): Declared ctor, dtor and assignment
private to detect unwarranted assumptions.
(MemFun, n_calls_): New member class and array of counters to keep
track of member function calls.
(assign, eq, lt, not_eof, to_char_type, to_int_type, eq_int_type,
eof): Outlined UserTraits members.
* char.cpp (assign, eq, lt, not_eof, to_char_type, to_int_type,
eq_int_type, eof): Defined out of line.
(copy, move): Corrected logic errors.
2006-03-09 Martin Sebor <sebor@roguewave.com>
* collate.cpp (_RWSTD_MB_MAX): Defined to avoid using MB_LEN_MAX
in case it's less than 8 (the theoretical maximum for UTF-8) or
even less than 6 (the real maximum for UTF-8). Noted by HP aCC
6.07.
(__rw_get_w_ce_offset, __rw_get_wchar_offset, do_transform): Used
_RWSTD_MB_MAX.
(__rw_strnxfrm, __rw_wcsnxfrm): Plugged a potential memory leak
noted by HP aCC 6.07.
2006-03-09 Martin Sebor <sebor@roguewave.com>
* README: Corrected the location of the etc/nls/ subdirectory.
2006-03-09 Martin Sebor <sebor@roguewave.com>
* rw_char.h (UserTraits<UserChar>): Moved _TEST_EXPORT where MSVC
wants to see it.
* char.cpp (assign): Added a missing definition.
2006-03-08 Martin Sebor <sebor@roguewave.com>
* STD_BAD_TYPEID.cpp (type_info): Defined class when the header
<typeinfo> (or <typeinfo.h> is not available to avoid false
negatives (such as with Intel C++ on Linux).
2006-03-08 Martin Sebor <sebor@roguewave.com>
* _defs.h (_RWSTD_NO_IMPLICIT_INSTANTIATION): Handled in a conditional.
Added comments.
2006-03-08 Martin Sebor <sebor@roguewave.com>
* fstream (_C_pbacksize): Changed type from streamsize to size_t
since negative values don't make sense and aren't permitted.
* streambuf (_C_write_avail, _C_putback_avail): Returned size_t
instead of streamsize since the returned value is guaranteed to
be non-negative.
2006-03-07 Martin Sebor <sebor@roguewave.com>
* 21.string.capacity.cpp (CharTraits, widen): Replaced with UserTraits
and rw_widen() from <rw_char.h>.
(test_resize): Renamed locals.
(test_string_capacity): Renamed...
(test_capacity): ...to this.
(rw_opt_no_exceptions): New option to disable exceptions.
(test_resize): Handled rw_opt_no_exceptions.
(main): Same.
2006-03-07 Martin Sebor <sebor@roguewave.com>
* rw_char.h (compare, length, find, copy, move, assign): Outlined
UserTraits<UserChar> members.
(rw_widen): New functions for the wideining of narrow characters
to the three character types used in the test suite (char, wchar_t,
and UserChar).
* char.cpp (compare, length, find, copy, move, assign, rw_widen):
Defined.
2006-03-07 Martin Sebor <sebor@roguewave.com>
* 21.string.capacity.cpp (test_resize): Printed the (narrow)
string before modifying it (as opposed to after) in diagnostics.
2006-03-07 Martin Sebor <sebor@roguewave.com>
* printf.cpp (_rw_vasnprintf_ext): Handled width in %{s} and %{ls}.
* snprintfa.cpp (test_string): Exercised the above.
2006-03-07 Anton Pevstov <antonp@moscow.vdiweb.com>
* 21.string.capacity.cpp: Handled embedded NUL characters correctly.
Added test cases and comments.
2006-03-06 Martin Sebor <sebor@roguewave.com>
* b_search.cpp: Uncomplicated tricky expression to deconfuse
the XLC++ 8.0 optimizitor. Introduced convenience typedefs
for better readability. Renamed...
* binary_search.cpp: ...to this.
* b_search.out: Renamed...
* binary_search.out: ...to this.
2006-03-06 Martin Sebor <sebor@roguewave.com>
* FUNC.cpp (__func__): Moved to function scope to avoid
an XLC++ 8.0 ICE (PMR 02238).
2006-03-06 Martin Sebor <sebor@roguewave.com>
* ATOMIC_OPS.cpp: Added/changed comments.
2006-03-06 Martin Sebor <sebor@roguewave.com>
* atomic-cxx.S: Changed copyright to the ASF.
2006-03-06 Martin Sebor <sebor@roguewave.com>
STDCXX-162
* _config.h (_RWSTD_NO_STRING_MUTEX): Removed conditional definition.
* _mutex.h (_RWSTD_ATOMIC_OPS): Corrected spelling and simplified the
handling of the macro. Handled x86_64 in the same block as IA64.
* _strref.h (_RWSTD_NO_STRING_MUTEX): Defined in response to
_RWSTD_ATOMIC_OPS being undefined.
* atomic.s: Handled __x86_64 (and __x86_64__).
* i86_64/atomic.s: AMD64/EM64T implementation.
2006-03-04 Martin Sebor <sebor@roguewave.com>
* istream.cc (_C_ipfx, _C_unsafe_get, _C_get, read, getline,
operator>>): Used direct initialization instead of copy
initialization for int_type objects.
(read): Eliminated an assumption about the return type of
int_type's assignment operator.
2006-03-04 Martin Sebor <sebor@roguewave.com>
STDCXX-3
* rw_char.h: New header with definitions of a user-defined character
type, a user-defined traits type, and a user-defined int_type.
2006-03-04 Anton Pevstov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
* 21_capacity.cpp: New test exercising lib.vector.capacity.
2006-03-03 Liviu Nicoara <nicoare@roguewave.com
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 23.vector.modifiers.cpp: New test exercising lib.vector.modifiers.
2006-03-03 Liviu Nicoara <nicoara@roguewave.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 23.vector.capacity.cpp: New test exercising lib.vector.capacity.
2006-03-03 Martin Sebor <sebor@roguewave.com>
STDCXX-161
* fstream.cc (sync): Called __rw_fflush() in stdio mode.
2006-03-03 Martin Sebor <sebor@roguewave.com>
* fstream.cc (sync): Fixed typos inadvertently s introduced
in a previous change. Changed the type of a local to avoid
signed/unsigned comparison warnings.
2006-03-03 Martin Sebor <sebor@roguewave.com>
* fstream (__GNUC__MINOR__): Corrected spelling.
2006-03-03 Martin Sebor <sebor@roguewave.com>
STDCXX-160
* fstream.cc: Avoided using operator+ on pos_type (which need
not be defined) and used the required operator+= instead.
2006-03-03 Martin Sebor <sebor@roguewave.com>
* wcodecvt.cpp (wcrtomb): Corrected declaration.
2006-03-03 Martin Sebor <sebor@roguewave.com>
* libc_decl.sh: Used < instead of == when comparing HP aCC version
to determine whether it's an IPF (i.e., 5 and 6) or PA (i.e., 3 or
1) compiler.
Corrected a typo in shell quoting.
2006-03-02 Martin Sebor <sebor@roguewave.com>
* _config.h: Moved each compiler-specific section to its own header.
* _config-acc.h: HP aC++ configuration definitions and overrides.
* _config-deccxx.h: Same for DEC/Compaq/HP C++.
* _config-eccp.h: Same for the EDG eccp demo.
* _config-gcc.h: Same for GCC.
* _config-icc.h: Same for Intel C++.
* _config-mipspro.h: Same for SGI MIPSpro.
* _config-msvc.h: Same for MSVC.
* _config-sunpro.h: Same for Sun C++ aka SunPro.
* _config-xlc.h: Same for IBM XLC++ aka VisualAge C++.
2006-03-01 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 21.string.access.cpp: New test exercising lib.string.access.
2006-03-01 Martin Sebor <sebor@roguewave.com>
* README: Documented the _RWSTD_NO_COLLAPSE_STATIC_LOCALS,
_RWSTD_NO_COLLAPSE_TEMPLATE_LOCALS, and
_RWSTD_NO_COLLAPSE_TEMPLATE_STATICS configuration macros.
Renamed SunPro to Sun C++.
2006-02-28 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp (test_bufsize): Exercised %{N}, the fixed-width
buffer extension (implemented in r381880).
(_RWSTD_NO_SPRINTFA_FUNNAME): Corrected spelling.
2006-02-28 Martin Sebor <sebor@roguewave.com>
* printf.cpp (Buffer): New class for dynamic buffer management, to
replace the char**, size_t arguments and allow to specify the max
buffer size (to avoid reallocation of statically allocated buffers
in the spirit of snprintf).
(_rw_bufcat): Prevented exceeding the maximum size of the buffer.
(rw_vasnprintf, rw_fmtarray, _rw_fmtstr, _rw_fmtwstr, _rw_fmtflags):
Removed gratuitous insertion of the terminating NUL.
(_rw_vasnprintf_ext): Advanced the end offset after calling a user
defined formatting function.
2006-02-28 Martin Sebor <sebor@roguewave.com>
* 27.stringbuf.virtuals.cpp: Enhanced to exercise xsputn, including
STDCXX-142.
2006-02-27 Martin Sebor <sebor@roguewave.com>
* 25.unique.cpp (run_test): Used BinaryPredicate::op_equals.
(test_unique): Removed case sensitive tests.
(test_unique): Used X::mismatch() instead of comparing the resulting
sequence manually one element at a time, and used %{X=*.@} instead
of %{X=*.*} for simplicity.
2006-02-27 Martin Sebor <sebor@roguewave.com>
* alg_test.h (mismatch): New helper function.
(BinaryPredicate): Modified ctor to take an argument describing
the operation performed by the member operator(), removed copy
ctor and assignment operator.
(X::Less): New class.
* alg_test.cpp (mismatch): Defined.
(compare): Implemented in terms of mismatch.
(BinaryPredicate): Removed copy ctor and assignment operator.
(_rw_fmtxarrayv): Recognized '@' in addition to '*' as a way
to specify the position of the cursor (as the pointer rather
than the index of the element designated by the cursor).
2006-02-27 Martin Sebor <sebor@roguewave.com>
* 26.adjacent.diff.cpp: Replaced class Y with class X and enhanced
diagnostic output to take advantage of the %{X=+*} directive to
format sequences of objects of type X as strictly numeric arrays.
* 26.inner.product.cpp: Same.
* 26.partial.sum.cpp: Same.
2006-02-27 Martin Sebor <sebor@roguewave.com>
* alg_test.h: Added support for arithmetic self-assignment operators
to allow class X to be used in tests for numeric algorithms.
* alg_test.cpp: Definitions of the above.
(_rw_fmtxarrayv): Recognized and handled the '+' flag to force only
numeric formatting.
2006-02-27 Martin Sebor <sebor@roguewave.com>
* sstream.cc (overflow): Removed an unused variable.
2006-02-27 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 26.partial.sum.cpp: New test exercising lib.partial.sum.
2006-02-27 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 26.inner.product.cpp: New test exercising lib.inner.product.
2006-02-27 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 26.adjacent.diff.cpp: New test exercising lib.adjacent.diff.
2006-02-25 Martin Sebor <sebor@roguewave.com>
STDCXX-142
* _defs.h (_RWSTD_MINIMUM_STRINGBUF_CAPACITY): New macro.
* sstream (xsputn): Added a declaration.
(_C_grow): Removed an unnecessary function argument, used the
new _RWSTD_MINIMUM_STRINGBUF_CAPACITY macro, and simplified.
* sstream.cc (str): Extended to allow to be called with own
buffer as an argument to grow it.
(xsputn): Defined for better efficiency than the base class
function.
(overflow): Called str() for code reuse.
(setbuf): Set the "high mark" in out mode.
Updated copyrights.
2006-02-25 Martin Sebor <sebor@roguewave.com>
* _defs.h (_M_IA64): Used instead of the generic MSVC _WIN64 macro
to distinguish between the IA64 SDK and ordinary WIN64 environments
such as EM64T.
2006-02-24 Martin Sebor <sebor@roguewave.com>
* _traits.h (_RWSTD_MEMCPY, et al): Qualified name(s) with the
_RWSTD_C:: prefix. Updated copyright.
2006-02-24 Martin Sebor <sebor@roguewave.com>
* UNISTD_DECL.cpp (LONG_LONG): Corrected a typo in conditionally
compiled and conditionally used code.
2006-02-24 Martin Sebor <sebor@roguewave.com>
STDCXX-153
* _punct.cc (__rw_match_name): Parenthesized toupper to prevent
macro expansion.
2006-02-23 Martin Sebor <sebor@roguewave.com>
* libc_decl.sh (memchr, wmemchr): Eliminated the use of spaces
to prevent false negatives.
(memchr): Made the type of the first argument a void* instead
of char* to prevent ambiguity in the presence of C++ overloads.
(f): Quoted a variable.
2006-02-21 Martin Sebor <sebor@roguewave.com>
* libc_decl.sh (memchr): Cast first argument to const to avoid
possible ambiguity.
2006-02-21 Martin Sebor <sebor@roguewave.com>
* printf.cpp (rw_vasnprintf): Increased the size of the backtrack
array, increased the size of the cvtspec buffer after a successful
allocation, and asserted preconditions.
2006-02-21 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
* 26.accumulate.cpp: New test exercising lib.accumulate.
2006-02-20 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 25.libc.cpp: New test exercising lib.alg.c.library.
2006-02-20 Martin Sebor <sebor@roguewave.com>
* 27.stringbuf.virtuals.cpp: Reduced the use of templates for better
compilation efficiency and less code bloat.
2006-02-20 Liviu Nicoara <nicoara@roguewave.com>
* 23.vector.cons.cpp: New test exercising lib.vector.cons.
2006-02-20 Martin Sebor <sebor@roguewave.com>
STDCXX-151
* 18.limits.cvqual.cpp: New test exercising the proposed resolution
of LWG issue 559.
2006-02-20 Martin Sebor <sebor@roguewave.com>
STDCXX-151
* limits: Implemented the proposed resolution of LWG issue 559 and
guarded it with _RWSTD_NO_EXT_CV_QUALIFIED_LIMITS until it has been
accepted.
2006-02-19 Martin Sebor <sebor@roguewave.com>
* streambuf.cc (xsputn): Asserted a precondition and simplified
no-op detection.
2006-02-19 Martin Sebor <sebor@roguewave.com>
* streambuf (_C_is_out, _C_is_inout): Simplified bitwise expressions.
2006-02-19 Martin Sebor <sebor@roguewave.com>
* 27.stringbuf.virtuals.cpp: New test for lib.stringbuf.virtuals,
including STDCXX-149.
2006-02-19 Martin Sebor <sebor@roguewave.com>
STDCXX-149
* sstream (str): Simplified.
(showmanyc): Outlined a virtual function.
(_C_strlen): Returned (pptr - pbase) in out mode instead of
(epptr - pbase) as per DR 432.
(_C_catchup): New inline function called to let egptr catch up
with pptr.
* sstream.cc (str): Set egptr (et al) to point to the end of the
controlling sequence even when not in "in" mode as an efficient
way of implementing the "high mark" referred to in DR 432.
(showmanyc): Outlined and called _C_catchup.
(overflow): Called _C_catchup to allow the function to succeed
even when (gptr < egptr) initially. Handled epptr pointing prior
to the very end of the buffer. After reallocation set epptr to
oint to the very end of the buffer and not just one past pptr
(as per DR 169 and DR 432). Called _C_Catchip to let egptr get
caught up with pptr.
(underflow): Returned successfully if argument is eof regardless
of openmode to strictly conform to the requirements.
(seekoff): Simplified, called _C_catchup, and handled offsets
pointing to uninitialized storage as required in DR 432.
(seekpos): Implemented completely in terms of seekoff.
2006-02-18 Martin Sebor <sebor@roguewave.com>
* printf.cpp (A_ARRAY): New bit.
(rw_fmtarray, _rw_fmtwstr): Changed character array formatting
so as to prepend the 'L' prefix only to generic character arrays
parametrized on the width of the character type.
(_rw_fmtarray): Set the A_ARRAY bit.
(_rw_fmtwchr): Formatted -1 as EOF (no quotes).
* 0.printf.cpp: Exercised the above changes, specifically that
the 'L' prefix is only prepended to quoted generic characters
and arrays of such things parametrized on the width of the
character type.
2006-02-17 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp: Exercised %{S}, %{lS}, %{#*S}, %{Io}, and %{Iw},
(std::string, std::wstring, std::basic_string for generic charT,
std::ios::openmode, and std::ios::seekdir). See r378675.
Guarded a test for %{8Ao} for platforms without 64-bit integers.
2006-02-17 Martin Sebor <sebor@roguewave.com>
* printf.cpp (_rw_fmtseekdir): New function for the formatting
of ios::seekdir values.
(_rw_fmtwstr): Implemented consistently with _rw_fmtstr.
(rw_bmpfmt): Handled the pound flag in the formatting of named
constants: expanded the scope in such names (i.e., to all of
"std::ios::in" as opposed to just "in").
(_rw_vasnprintf_ext): Implemented the handling of %{#*S} analogous
to %{*Ac}, i.e., for the formatting of generic specializations of
basic_string. Implemented the handling of the %{Iw} directive for
the formatting of ios::seekdir values.
2006-02-17 Martin Sebor <sebor@roguewave.com>
STDCXX-147
* 18.limits.traps.cpp: Enhanced and worked around:
http://sources.redhat.com/bugzilla/show_bug.cgi?id=2351
2006-02-17 Martin Sebor <sebor@roguewave.com>
* 25.set.difference.cpp (<cstddef>): Replaced calls to strlen() on
string literals with the use of the sizeof operator for better
efficiency and eliminated the dependency on <cstring> (replacing
it with one on <cstddef> instead).
* 25.set.intersection.cpp: Same.
* 25.set.union.cpp: Same.
2006-02-17 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 25.set.sym.difference.cpp: New test for lib.set.symmetric.difference.
2006-02-17 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 25.set.difference.cpp: New test exercising lib.set.difference.
2006-02-17 Martin Sebor <sebor@roguewave.com>
* alg_test.h (first_less): New helper function declaration.
(from_char): Added a third argument to check that the source array
is sorted in non-descending order.
(ilog2, ilog10): Outlined for better compilation efficiency.
(is_sorted): New helper function template.
* alg_test.cpp (first_less): Defined.
(from_char): Verified that the source array is sorted and returned
0 when it's not.
2006-02-17 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 25.set.intersection.cpp: New test exercising lib.set.intersection.
2006-02-16 Martin Sebor <sebor@roguewave.com>
* 25.merge.cpp (MergeBase, Merge, InplaceMerge): Abbreviated
by dropping the word "Test" from the original names.
2006-02-16 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 25.set.union.cpp: Brand spankin' new test exercising lib.set.union.
2006-02-16 Martin Sebor <sebor@roguewave.com>
STDCXX-146
* sstream (stringbuf, istringstream, ostringstream, stringstream):
Added ctor and str() overloads for const char_type* for improved
efficiency (gives a 20% speedup).
(_RWSTD_NO_EXT_STRINGBUF_STR): New macro guarding the extended
str() overloads.
(stringbuf dtor, underflow): Outlined virtual functions.
* sstream.cc (stringuf ctor, str): Implemented in terms
of the new str(const char_type*) overload for simplicity.
2006-02-15 Martin Sebor <sebor@roguewave.com>
* collate.cpp (<cstring>): #included for strchr().
2006-02-14 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 25.permutation.cpp: New test for lib.alg.permutation.generators.
2006-02-14 Martin Sebor <sebor@roguewave.com>
* 25.merge.cpp: Limited the use of templates to a bare minimum
to reduce compilation times and prevent unnecessary code bloat.
With gcc 4.0.2 on Solaris the test compiles more than twice as
fast (in both user and system time) yielding an object file
less than 1/2 the size of the original and a 20% smaller
executable.
2006-02-13 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 25.lex.comparison.cpp: New test exercising lib.lex.comparison.
2006-02-13 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 25.min.max.cpp: New test exercising lib.alg.min.max.
2006-02-13 Liviu Nicoara <nicoara@roguewave.com>
* tests/src/new.cpp: removed trailing newlines
2006-02-12 Martin Sebor <sebor@roguewave.com>
* stringstream.cpp: Renamed...
* wstringstream.cpp: ...to this.
2006-02-09 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 27.objects.cpp: New test exercising lib.iostream.objects.
2006-02-09 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 27.forward.cpp: New test exercising lib.iostream.forward.
2006-02-09 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 25.heap.cpp: New test exercising lib.alg.heap.operations.
2006-02-09 Martin Sebor <sebor@roguewave.com>
* 25.includes.cpp: Corercted a logic error preventing the predicate
form of the algorithm from being exercised.
2006-02-08 Martin Sebor <sebor@roguewave.com>
* 2.smartptr.shared.cpp (<cassert>): Removed.
2006-02-08 Martin Sebor <sebor@roguewave.com>
* new.cpp (operator_new): Corrected the formatting directive for size_t.
i2006-02-08 Martin Sebor <sebor@roguewave.com>
* _mbstate.h [_RWSTD_OS_SUNOS] (_RWSTD_NO_STD_MBSTATE_T): Defined to
let <cwchar> et al know that mbstate_t is not declared in namespace
std (and should be introduced there via a using declaration).
2006-02-08 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 25.includes.cpp: New test exercising lib.includes.
2006-02-07 Martin Sebor <sebor@roguewave.com>
STDCXX-132
* def.cpp (<cstring>): Added a missing #include directive.
* time.cpp: Same.
* aliases.cpp: Same.
* ctype.cpp: Same.
2006-02-07 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 25.sort.cpp: New test exercising lib.sort and lib.stable.sort.
* 25.partial.sort.cpp: New test exercising lib.partial.sort and
lib.partial.sort.copy.
2006-02-07 Liviu Nicoara <nicoara@roguewave.com>
STDCXX-4
* 23.deque.iterators.cpp: New test exercising lib.deque.iterators.
2006-02-06 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 25.partitions.cpp (test_partitions): Enhanced to keep track of leaked
objects.
2006-02-06 Martin Sebor <sebor@roguewave.com>
* 25.merge.cpp (Less): Corrected a typo.
2006-02-06 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 25.merge.cpp: New test exercising lib.alg.merge.
2006-02-06 Martin Sebor <sebor@roguewave.com>
* 25.unique.cpp: Added/removed/corrected comments.
2006-02-06 Martin Sebor <sebor@roguewave.com>
* include/printf.h: Renamed...
* include/rw_printf.h: ...to this.
* src/alg_test.cpp (<rw_printf.h>): Included instead of <printf.h>.
* containers/23.deque.modifiers.cpp: Same.
* src/any.cpp: Same.
* strings/21.cwchar.cpp: Same.
* self/0.printf.cpp: Same.
* src/printf.cpp: Same.
(_rw_fmtlong, _rw_fmtllong): Used _RWSTD_INTERNAL to conditionally
declared the helper functions to have internal linkage in order to
work around a Sun C++ bug.
* src/system.cpp (<rw_printf.h>): Included instead of <printf.h>.
(_rw_vsystem): Avoided declaring const a variable used as an argument
to the WIFXXX() macros in order to prevent bogus gcc warning on Linux:
cast from `const int*' to `int*' discards qualifiers from pointer
target type: see http://sourceware.org/bugzilla/show_bug.cgi?id=1392
* src/driver.cpp (<rw_printf.h>): Included instead of <printf.h>.
Used rw_fprintf(rw_stderr) instead of fprintf to make sure all output
is flushed even when the program abends.
2006-02-06 Martin Sebor <sebor@roguewave.com>
STDCXX-3
* alarm.h: New. Declaration of the rw_alarm() helper.
* alarm.cpp: New. Definition of the same.
2006-02-05 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 25.binary.search.cpp: New test exercising lib.binary.search.
2006-02-05 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
* 25.equal.range.cpp: New test exercising lib.equal.range.
2006-02-04 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 25.nth.element.cpp (test_nth_element): Updated the upper bound value
to a more strict one.
2006-02-04 Martin Sebor <sebor@roguewave.com>
* 25.lower.bound.cpp (test_lower_bound): Corrected the nparam argument
in the formatting string to account for a change in rw_snprintfa()
behavior introduced in r371638.
* 25.upper.bound.cpp (test_upper_bound): Same.
2006-02-04 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 25.lower.bound.cpp (test_lower_bound): Fixed assertion condition to
verify the complexity, updated the expected complexity values to meet
the standard requirements.
* 25.upper.bound.cpp (test_upper_bound): Same.
2006-02-02 Martin Sebor <sebor@roguewave.com>
* _defs.h: Removed the macros _RWSTD_WCRTOMB() and _RWSTD_MBRTOWC()
obviated by change in r374235.
2006-02-02 Martin Sebor <sebor@roguewave.com>
* alg_test.cpp (<printf.h>): Corercted the spelling of header name.
2006-02-02 Martin Sebor <sebor@roguewave.com>
* wcodecvt.cpp [_RWSTD_NO_WCRTOMB] (__rw_libc_do_out): Corrected
the spelling of wctomb() in conditionally compiled code.
2006-02-02 Martin Sebor <sebor@roguewave.com>
* any.h: Added declarations for const and volatile overloads
of ctors taking a pointer argument.
* any.cpp: Added definitions of the same.
2006-02-02 Martin Sebor <sebor@roguewave.com>
STDCXX-129
* cwchar: Consistently introduced all function declarations into
the global scope first, before injecting each into namespace std
via a using declaration.
2006-02-02 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 21.cwchar.cpp: New test exercising lib.string.c.strings, header
<cwchar>, including STDCXX-129.
Updated.
2006-02-01 Martin Sebor <sebor@roguewave.com>
* wcodecvt.cpp (__rw_libc_do_out): Removed the RWSTD_WCRTOMB macro and
instead explicitly spelled out the code the macro used to expand to.
(__rw_libc_do_unshift): Same.
(__rw_libc_do_in): Same for _RWSTD_MBRTOWC().
2006-02-01 Martin Sebor <sebor@roguewave.com>
* wctype.cpp (<stdlib.h>): Included for wctomb.
(_RWSTD_NO_V3_LOCALE): Removed dead macro.
(__rw_toupper): Used _STD instead of _V3_LOCALE.
(__rw_tolower): Same.
2006-02-01 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 25.partitions.cpp: New test exercising lib.alg.partitions.
Test currently fails due to STDCXX-131.
2006-02-01 Martin Sebor <sebor@roguewave.com>
* _algobase.h: Renamed file #include guards to include the name of
the directory. Guarded #include directives of files in include/_rw
for compilation efficiency. Removed the inclusion of from headers
that also #include other implementation-specific headers.
* iosfwd: Same.
* _algobase.h: Same.
* _allocator.h: Same.
* _array.h: Same.
* _autoptr.h: Same.
* _basic_ios.h: Same.
* _bitmask.h: Same.
* _config.h: Same.
* _defs.h: Same.
* _error.h: Same.
* _exception.h: Same.
* _file.h: Same.
* _funcbase.h: Same.
* _heap.h: Same.
* _ioinsert.h: Same.
* _ioiter.h: Same.
* _iosbase.h: Same.
* _iosfailure.h: Same.
* _iosfwd.h: Same.
* _iterator.h: Same.
* _iterbase.h: Same.
* _math.h: Same.
* _mbstate.h: Same.
* _mutex.h: Same.
* _new.h: Same.
* _pair.h: Same.
* _rawiter.h: Same.
* _relops.h: Same.
* _select.h: Same.
* _specialized.h: Same.
* _streamiter.h: Same.
* _strref.h: Same.
* _traits.h: Same.
* _tree.h: Same.
* _typetraits.h: Same.
2006-01-31 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 25.nth.element.cpp: New test exercising lib.alg.nth.element.
2006-01-31 Martin Sebor <sebor@roguewave.com>
STDCXX-130
* GNUmakefile (LIBBASE): Avoided expanding BUILDTYPE when writing out
the value of the variable to makefile.in.
2006-01-30 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 25.unique.cpp: Enabled predicate tests inadvertently disabled
in a previous commit.
2006-01-30 Martin Sebor <sebor@roguewave.com>
STDCXX-34
* cstdint: Simplified.
* 8.cstdint.cpp: New test exercising tr.c99.cstdint.
2006-01-30 Martin Sebor <sebor@roguewave.com>
* LIMITS.cpp (type_name): Factored out the helper functions into
a file of their own (types.h). Moved code computing the properties
of floating point types to a separate config test (FLOAT.cpp).
(_RWSTD_PTRDIFF_MIN, _RWSTD_PTRDIFF_MAX, _RWSTD_SIZE_MAX): Moved
to SIZE_T.cpp.
(_RWSTD_WINT_MIN, _RWSTD_WINT_MAX): Moved to WINT_T.cpp.
(_RWSTD_INT8_T, _RWSTD_INT_LEAST8_T, ...): Computed and defined.
* types.h: New file with the definitions of the type_name() helper
overloads.
* FLOAT.cpp: New config test computing the properties of floating
point types.
* SIG_ATOMIC_T.cpp (types.h): Included instead of defining own helpers.
(_RWSTD_SIG_ATOMIC_MIN, _RWSTD_SIG_ATOMIC_MAX): Defined here terms
of the underlying arithmetic type instead of in LIMITS.cpp.
* SIZE_T.cpp (types.h): Included instead of defining own helpers.
(_RWSTD_SIZE_MAX): Defined here terms of the underlying arithmetic
type instead of in LIMITS.cpp.
* WINT_T.cpp (types.h): Included instead of defining own helpers.
(_RWSTD_WINT_MIN, _RWSTD_WINT_MAX): Defined here in terms of the
underlying arithmetic type instead of LIMITS.cpp.
2006-01-27 Martin Sebor <sebor@roguewave.com>
* LIMITS.cpp: Determined whether the architecture uses one's or two's
complement integer representation and adjusted the values of integral
limits correspondingly. Lined up output for better readability.
2006-01-27 Martin Sebor <sebor@roguewave.com>
STDCXX-34
* cstdint: Implementation of tr.c99.cstdint.
* stdint.h: Implementation of tr.c99.stdinth.
2006-01-26 Martin Sebor <sebor@roguewave.com>
STDCXX-32
* array: New. Implementation of tr.array.
2006-01-26 Martin Sebor <sebor@roguewave.com>
* array: Deleted.
2006-01-26 Martin Sebor <sebor@roguewave.com>
* array: New. Implementation of tr.array.
2006-01-26 Martin Sebor <sebor@roguewave.com>
* _config.h (_RWSTD_SSIZE_TYPE): Removed conditional definition
of the unused macro.
2006-01-26 Martin Sebor <sebor@roguewave.com>
* _num_get.cc: Replaced hardcoded magic numbers representing special
characters with constants obtained from __rw_digit_map. Used UCHAR_MAX
instead of (unsigned char)-1.
2006-01-26 Martin Sebor <sebor@roguewave.com>
* alg_test.h (UnaryPredicate, BinaryPredicate): Changed the return
type of operator() from bool to conv_to_bool for extra strictness.
Removed dead declarations of tempstr and to_string().
* alg_test.cpp (UnaryPredicate, BinaryPredicate): Same.
2006-01-26 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 25.unique.cpp: New test to exercise lib.alg.unique.
2006-01-26 Liviu Nicoara <nicoara@roguewave.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 23.deque.modifiers.cpp: New test exercising lib.deque.modifiers.
* 23.deque.special.cpp: New test exercising lib.deque.special.
2006-01-26 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
* 25.transform.cpp: New test exercising lib.alg.transform.
2006-01-25 Martin Sebor <sebor@roguewave.com>
* 25.random.shuffle.cpp: Corrected subtle logic errors and simplified.
2006-01-25 Martin Sebor <sebor@roguewave.com>
* algorithm.cc (random_shuffle): Asserted a precondition.
2006-01-25 Martin Sebor <sebor@roguewave.com>
STDCXX-126
* algorithm.cc (random_shuffle): Removed assumptions about the random
number generator object's operator() taking an argument or returning
a value convertible from or to anything other than the iterator's
difference_type as required by 25.2.11, p3.
2006-01-25 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 25.random.shuffle.cpp: New test exercising lib.alg.random.shuffle
including STDCXX-126.
2006-01-25 Martin Sebor <sebor@roguewave.com>
* printf.cpp (_rw_fmtchr, _rw_fmwtchr): Added a noesc argument
for callers to control whether to escape non-printable characters
independently of quoting.
(_rw_vasnprintf_c99, _rw_vasnprintf_ext): Disabled and enabled,
respectively, the use of escape sequences when formatting narrow
and wide characters using the %c, %{c}, %lc, and %{lc} directives.
* 0.printf.cpp: Exercised the above.
2006-01-24 Martin Sebor <sebor@roguewave.com>
* 25.replace.cpp (<cstdarg>, <cstdlib>, <printf.h>): Removed needless
#include directives.
(ToString): Removed.
(test_remove): Made sure the xsrc pointer is always dereferenceable
by allocating one more element than necessary under all circumstances.
Replaced %p formatting with the more descriptive offset from the
beginning of the sequence.
Removed the uses of the ToString template and used the %{X=...}
directive to directly format arrays of objects of type X.
Used the %#c extension to format characters to avoid producing
non-printable output (and format such characters using traditional
C escape sequences).
* 25.reverse.cpp: Same.
* 25.remove.cpp: Same.
* 25.rotate.cpp: Same.
2006-01-24 Martin Sebor <sebor@roguewave.com>
* alg_test.cpp (_rw_fmtxarray): New callback function implementing
the formatting of arrays of object of type X, invoked in response
to extended formatting directives from rw_printf() at al.
(X::X): Pushed _rw_fmtxarray on top of the stack of user-defined
formatting callbacks.
(RW_ASSERT): Used instead of redefining the assert macro to do so.
2006-01-24 Martin Sebor <sebor@roguewave.com>
* printf.cpp (_rw_vfprintf): Allowed rw_file* argument to be null
to permit executing special directives that generate no characters,
and avoided attempting to produce output.
2006-01-24 Liviu Nicoara <nicoara@roguewave.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 0.new.cpp: New test exercising the testsuite's replacement operators
new and delete.
2006-01-24 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp (<float.h>, <limits.h>, <wchar.h>, <ios>, <iostream>,
<locale>, <string>): Removed unnecessary #include directives.
(test_user_defined_formatting): New function exercising directives
involving user-defined callback functions introduced in rev 372001.
(main): Called it.
2006-01-24 Martin Sebor <sebor@roguewave.com>
* printf.cpp (_rw_vasnprintf_cxx): Renamed to...
(_rw_vasnprintf_ext): ...this.
(_rw_usr_cb_t, _rw_usr_fun, _rw_usr_inx): New type of a user-defined
formatting callback function, an array of pointers to such things,
and their number.
(rw_vasnprintf): Added the handling for the special %{+} directive
to append to the end of (rather than overwrite) the destination buffer.
Stored all arguments extracted from the variable argument list rather
than just their C99 subset.
(_rw_vasnprintf_ext): Allowed each of the user-defined formatting
callback functions on the stack to process a formatting directive
before handling it here.
Implemented the special %{!}, %{+!}, and %{-!} directives to set,
push on top of the stack, and pop off the top of the stack, a user
defined formatting callback function.
Replaced an assertion for an unknown directive with a more descriptive
and recoverable formatting error.
2006-01-23 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp (test_conditional): Exercised the ability to use the
value of conditional expression in subsequent paramno specifiers.
2006-01-23 Martin Sebor <sebor@roguewave.com>
* printf.cpp (FmtSpec): Changed modifiers from a bitfield to an emum
as at most one modifier may be specified. Introduced convenience member
types and renamed members of the param union for consistency with the
corresponding types.
(libstd_vasnprintf): Renamed...
(_rw_vasnprintf_cxx): ...to this for consistency.
(_rw_fmtspec, _rw_vasnprintf_c99, _rw_fmtinteger, _rw_fmtfloating,
_rw_fmtfunptr, _rw_fmtmask, rw_fmtarray, _rw_vasnprintf_cxx): Naming
changes.
(rw_vasnprintf): Stored the value of conditional expressions extracted
from the argument list (to allow it to be referenced in subsequent
paramno specifiers).
(PARAM): Simplified (made possible by naming changes above).
(_rw_fmtlong): Allowed for the possibility of the formatting producing
no output (when both the value the precision are 0).
2006-01-19 Martin Sebor <sebor@roguewave.com>
STDCXX-3
* rw_new.h: New header with definitions of replacement operator new.
* new.cpp: Implementation of replacement operator new with error and
memory corruption detection.
2006-01-19 Liviu Nicoara <nicoara@roguewave.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 21.string.cons.cpp: New test exercising lib.string.cons.
2006-01-19 Martin Sebor <sebor@roguewave.com>
* ChangeLog: Generated and added.
2006-01-19 Martin Sebor <sebor@roguewave.com>
* string.cpp [_RWSTD_NO_MEMCPY] (__rw_memcpy): Corrected logic
errors in conditionally compiled code.
[_RWSTD_NO_MEMCHR] (__rw_memchr): Same.
[_RWSTD_NO_MEMCMP] (__rw_memcmp): Same.
[_RWSTD_NO_STRLEN] (__rw_strlen): Same(!)
[_RWSTD_NO_WMEMCPY] (__rw_wmemcpy): Same.
[_RWSTD_NO_WMEMCHR] (__rw_wmemchr): Same.
[_RWSTD_NO_WMEMCMP] (__rw_wmemcmp): Same.
[_RWSTD_NO_WSTRLEN] (__rw_wcslen): Same.
2006-01-19 Martin Sebor <sebor@roguewave.com>
STDCXX-123
* libc_decl.sh (funptri): Avoided using a type with no linkage
to declare a variable with linkage to prevent an EDG eccp 3.7
error #961-D: use of a type with no linkage to declare a variable
with linkage.
2006-01-19 Martin Sebor <sebor@roguewave.com>
* string.cpp [_RWSTD_NO_MEMCPY] (__rw_memcpy): Explicitly cast void*
to char* before doing any arithmetic on the value.
(__rw_memchr): Same.
(__rw_memset): Same.
(__rw_memcmp): Same.
(__rw_memmove): Same. Added a missing return statement.
[_RWSTD_NO_WMEMMOVE] (__rw_wmemmove): Added a missing return statement.
2006-01-19 Martin Sebor <sebor@roguewave.com>
* wcodecvt.cpp [_RWSTD_NO_MBTOWC] (mbtowc): Declared when not
declared in <stdlib.h> but known to be defined in the libc binary.
(do_in, do_out, do_length): Guarded references to mbtowc() with
_RWSTD_NO_MBTOWC.
[_RWSTD_NO_MBRLEN && _RWSTD_NO_MBLEN] (__rw_libc_mbrlen): Silenced
an unused variable warning.
(do_unshift): Removed an unnecessary scope resolution operator
from a call to mbtowc().
2006-01-18 Martin Sebor <sebor@roguewave.com>
* doc/stdlibug/*.html: Changed name to Apache C++ Standard Library.
* doc/stdlibref/*.html: Same. Removed references to "Module."
2006-01-18 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 25.swap.cpp: New test exercising lib.alg.swap.
2006-01-18 Martin Sebor <sebor@roguewave.com>
* index.html: Corrected typos.
2006-01-17 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 25.search.cpp: New test exercising lib.alg.search, including
STDCXX-121.
2006-01-17 Martin Sebor <sebor@roguewave.com>
STDCXX-121
* algorithm.cc (__search_n): Converted the Size argument
to ptrdiff_t before doing any math on it.
2006-01-17 Martin Sebor <sebor@roguewave.com>
STDCXX-12
* index.html: Added a meta tag to see if it gets browsers to render
the file as HTML instead of plain text.
2006-01-17 Martin Sebor <sebor@roguewave.com>
* 21.cwctype.cpp (iswalnum, etc.): Undefined macros.
(bit_xxx): Added more bits for missing functions and removed
the corresponding isxxx_declared variables.
(iswalnum<T>, etc): Set bit to indicate a function is missing (not
declared) in <cwctype>. Returned -1 intead of 0 to distinguish the
return value from the real functions.
(wctrans<T>): Added a definition.
(run_test): Used bit_xxx instead of isxxx_declared.
2006-01-17 Martin Sebor <sebor@roguewave.com>
* src/printf.cpp (<ctype.h>): Included for isalpha, et al.
(<wchar.h>, <wctype.h>): Guarded header include directives.
(_rw_fmtmask): New (yet unused) function for the formatting
of character classification bits/masks.
(_rw_fmtlong, _rw_fmtllong): Avoided unnecessarily NUL-terminating
buffer (done later in _rw_fmtstr).
(rw_fmtinteger): New template function for the generic formatting
of arbitrary integral types.
(_rw_fmtinteger): Simplified by calling rw_fmtinteger.
(_rw_fmtbadaddr): Handled the formatting of null pointers.
(_rw_fmttm): Simplified the formatting of invalid pointers.
(rw_quotestr): Renamed to...
(rw_fmtarray): ...this and implemented the formatting of arrays
of arbitrary integral types (in addition to characters).
(_rw_fmtarray): New function for the formatting of arrays
of arbitrary integral types.
(_rw_fmtwstr): Called rw_fmtarray instead of rw_quotestr.
(libstd_vasnprintf): Called the higher-level _rw_fmtstr instead
of the rw_quotestr helper. Factored out the handling of character
arrays into _rw_fmtarray. Implemented the handling of %{Ad}, %{Ai},
%{Ao}, %{Au}, and %{Ax} (arrays of integral values).
* self/0.printf.cpp (test_array): Renamed to...
(test_chararray): ...this function.
(test_intarray): New function exercising the formatting of arrays
of integral values.
(main): Called test_chararray and test_intarray.
2006-01-16 Martin Sebor <sebor@roguewave.com>
* 21.cwctype.cpp: Detected and gracefully handled (i.e., without
compilation errors) the absence of any exercised type or function.
2006-01-16 Martin Sebor <sebor@roguewave.com>
* _algobase.h (__rw_lt::operator()): Declared arguments const to allow
them to bind to rvalues and cast away their constness before invoking
operator< in case it takes a non-const argument.
2006-01-16 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 20.operators.cpp: New test exercising lib.operators, including
STDCXX-120.
2006-01-16 Martin Sebor <sebor@roguewave.com>
STDCXX-120
* deque.cc (erase, _C_assign_n, _C_assign_range, _C_insert_range):
Avoided using operator!= with iterators and used the negated result
of operator== instead, to avoid ambiguity when both namespace std
and namespace rel_ops are in the same scope.
* _tree.cc (erase): Same.
2006-01-16 Martin Sebor <sebor@roguewave.com>
STDCXX-104
* wcodecvt.cpp (__rw_libc_do_out): Used the _RWSTD_WCSLEN() macro
instead of invoking wcslen() directly.
2006-01-15 Martin Sebor <sebor@roguewave.com>
* generate.wsf: Added an SGML file-type comment for Emacs.
(Usage): Added msvc-8.0 to the set of values accepted by
the /CONFIG option.
2006-01-12 Anton Pevtsov <antonp@moscow.vdiweb.com>
* config.js (Solution): Added version and formatVersion fields.
* configure.wsf (checkHeadres): Updated the header name for log
forming mechanism, added include symbol output for "no" cases.
(runExeTests): Removed include symbol output for "ok" cases.
* data.js (vc80SolutionName): New global variable.
* generate.js (defineRWBUILD): Removed as obsolete.
(fillProjectsFromFolders): Added implementation of the /COPYDLL
option in the postBuild tool processing.
(fillSolutionTemplate): Added copiyng of new Solution fields, added
implementation of the /COPYDLL option into the projectRunExamples
projectRunTests configuring.
(fillSolutionTemplateLight): Added copiyng of new Solution fields.
(generateVCPROJ): New parameter "version."
(generateSolutionVCImpl): Updated implementation to use new Solution
fileds, updated call to generateVCPROJ function.
(readSolutionGUIDs): updated to be able to read .sln files generated
by MSVC 8.0.
(solutionVC80): New global variable.
* generate.wsf (<package>): Added /COPYDLL option description.
(copyDll): New global variable.
(readAndCheckArguments): Implemented the /COPYDLL option reading
* makelog.wsf (buildLogUnicode): New variable.
(makelog): Added check for Unicode, calls to functions updated.
(readAndCheckArguments): added buildLogUnicode variable initialization.
(getLibraryBuildInfo, getTestDriverBuildInfo): updated the call to
OpenTextFile to work with Unicode files properly.
* runall.wsf (<package>): Added descriptions for the /COPYDLL and
/LIBDIR options.
(currentCfg, copyDll, libdllFolder, libFileName): New variables.
(readAndCheckArguments): Implemented the reading of the /COPYDLL
and /LIBDIR options.
(runAllExamples): Implemented the /COPYDLL option - added command
for temporary dll copying, calls to readBuildLog function updated
to support Unicode files.
* summary.js (readBuildLog): New parameter useUnicode, calls to
OpenTextFile updated correspondingly.
(checkForFailures): Mew parameter useUnicode, calls to OpenTextFile
updated correspondingly.
* update.wsf (update): Updated error processing.
(saveModifiedProjecs): New parameter "version", callers updated
correspondingly, updated to use new Solution fields.
* msvc-config.js (solutionVC80): New variable.
(configureToolsVC80): New function.
(configureToolsConfigure, configureToolsExamples, configureToolsTests,
configureToolsRwTest): An obsolete comment removed.
(configureToolsRunExamples, configureToolsRunTests): postBuildTools
configuration changed as a part of the COPYDLL option implementation.
* msvc-config_classes.js (CompilerVC80): New class.
(writeSolutionSettingsCompilerVC80, getCommandLineCompilerVC80): New
functions.
2006-01-15 Martin Sebor <sebor@roguewave.com>
* cwctype.cpp (test_types): New function testing the presence
of wint_t, wctrans_t, and wctype_t in namespace std.
2006-01-15 Martin Sebor <sebor@roguewave.com>
* testdefs.h (std) [_RWSTD_NO_NAMESPACE]: #defined to be empty to
allow std:: qualifications even when namespace support is disabled.
2006-01-14 Martin Sebor <sebor@roguewave.com>
* 21.cctype.cpp: New test exercising lib.c.strings, the contents
of the header <cctype>.
* 21.cwctype.cpp: New test exercising lib.c.strings, the contents
of the header <cwctype>.
2006-01-14 Martin Sebor <sebor@roguewave.com>
* codecvt.cpp (StateT): Moved convenience typedef from __rw_mbsinit
to file scope and used it to declare the function's formal argument.
2006-01-14 Martin Sebor <sebor@roguewave.com>
* wcodecvt.cpp (StateT): New convenience typedef.
(__rw_libstd_do_out): Documented the purpose of dead code
and unreachable warnings.
2006-01-14 Martin Sebor <sebor@roguewave.com>
* codecvte.h (<algorithm>): Removed include directive and rewrote
the facet without the use of the std::min() function.
2006-01-14 Martin Sebor <sebor@roguewave.com>
* 25.rotate.cpp (<printf.h>): Corrected a typo.
2006-01-12 Martin Sebor <sebor@roguewave.com>
* codecvt.cpp: Removed assumptions about _RWSTD_MBSTATE_T being
a simple type (not really necessary after r368468 but it doesn't
hurt to be extra safe).
* wcodecvt.cpp: Same.
2006-01-12 Martin Sebor <sebor@roguewave.com>
* 22.time.put.cpp (<cwchar>): Included for wcslen etc.
(do_test): Used %{Ac} to correctly format "generic" character
arrays in diagnostic output.
(test_POSIX): Exercised facet behavior with the TZ environment
variable not set.
2006-01-12 Martin Sebor <sebor@roguewave.com>
STDCXX-108
* TIMEZONE.cpp: New test to determine whether the POSIX timezone
variable is declared in <time.h>.
* time_put.cpp (__rw_get_zone): Changed to return 0 instead of void
on success (and non-zero on error) and handled _RWSTD_NO_TIMEZONE.
(__rw_get_time_put_data): Handled __rw_get_zone failure.
2006-01-12 Martin Sebor <sebor@roguewave.com>
* _mbstate.h (__rw_mbstate_t) [_RWSTD_OS_AIX]: Introduced typedef
to avoid problems due to const qualification on _RWSTD_MBSTATE_T.
(<machine/_types.h>) [_RWSTD_OS_DARWIN]: Included for __mbstate_t.
(_RWSTD_MBSTATE_T): Defined to std::mbstate_t for the generic OS.
* _cwchar.h (mbstate_t): Defined in terms of _RWSTD_MBSTATE_T.
2006-01-12 Martin Sebor <sebor@roguewave.com>
* README: Merged from branches/4.1.3/ at r368452.
2006-01-12 Martin Sebor <sebor@roguewave.com>
STDCXX-113
* gcc.config (LDLIBS) [Darwin]: Added -lgcc_eh.
2006-01-12 Martin Sebor <sebor@roguewave.com>
* printf.h (%Ac, %K): Documented.
2006-01-12 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 25.rotate.cpp: New test exercising lib.alg.rotate.
2006-01-12 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 25.generate.cpp (test_generate, test_generate_n): call to
delete was updated.
2006-01-11 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 25.reverse.cpp: New test exercising lib.alg.reverse.
2006-01-11 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 21.string.append.cpp: New test exercising lib.string.append.
* 21.string.plus.equal.cpp: New test exercising lib.string.op+=.
2006-01-11 Andrew Black <ablack@roguewave.com>
STDCXX-103
* time_put.cpp [_RWSTD_NO_NL_LANGINFO] (<langinfo.h>): Guarded
against inclusion when the header is detected to be missing at
configuration time.
* _defs.h [_RWSTD_NO_WCHAR_H] (_RWSTD_ANSI_C_WCHAR_H): Defined
to <rw/_defs.h> when the header is absent on a platform.
2006-01-11 Martin Sebor <sebor@roguewave.com>
* _traits.h [_RWSTD_NO_WMEMCMP] (_RWSTD_WMEMCMP): Fixed a typo
in conditionally compiled code.
2006-01-10 Martin Sebor <sebor@roguewave.com>
* cwchar (_RWSTD_NO_STD_MBSTATE_T): Used instead of
_RWSTD_NO_MBSTATE_T_IN_STD to guard the using declaration
of mbstate_t in namespace std.
2006-01-10 Martin Sebor <sebor@roguewave.com>
* _mbstate.h (_RWSTD_MBSTATE_T): New macro for std::mbstate_t,
::mbstate_t, the internal ::__mbstate_t (on Linux and Solaris),
char* on AIX, char on IRIX, and int for MSVC.
* iosfwd (_mbstate.h, _RWSTD_MBSTATE_T): Unconditionally included
and used the macro instead of referring to mbstate_t directly.
* _codecvt.h: Same.
* _locale.h: Same.
* _messages.cc: Same.
* _traits.h: Same.
* codecvt.cpp: Same.
* iso2022.cpp: Same.
* iso2022.h: Same.
* wcodecvt.cpp: Same.
2006-01-10 Martin Sebor <sebor@roguewave.com>
* codecvt1.cpp (<cwchar>): Included header for mbstate_t.
2006-01-10 Martin Sebor <sebor@roguewave.com>
* codecvte.h (<cwchar>): Included header for mbstate_t.
(<strstream>, <functional>): Removed #include directives.
2006-01-10 Martin Sebor <sebor@roguewave.com>
* string.cpp [_RWSTD_NO_WMEMCHR] (wmemchr): Corrected a typo
in function name.
i2006-01-10 Martin Sebor <sebor@roguewave.com>
* STD_MBSTATE_T.cpp: New config test.
* MBSTATE_T.cpp: Guarded the inclusion of "config.h"
2006-01-10 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp (test_array): New function exercising the formatting
of variable-width character arrays.
2006-01-10 Martin Sebor <sebor@roguewave.com>
* printf.cpp (libstd_vasnprintf): Handled precision in the formatting
of variable-width character arrays and treated it as the number of
characters to format, including any NULs.
2006-01-09 Martin Sebor <sebor@roguewave.com>
STDCXX-104
* collate.cpp (wsccoll, wcsxfrm, wcstombs): Declared when the functions
are known to be defined in the libc binary but not declared in the libc
headers.
(__rw_wcsxfrm): New. Just like wcsxfrm but implemented in terms of
mbstowcs and strxfrm when wcxfrm is not implemented by the system's
libc.
(_RWSTD_WCSXFRM): New macro expands to wcsxfrm or __rw_wcsxfrm.
(__rw_wcsnxfrm): Used _RWSTD_WCSXFRM.
[_RWSTD_NO_WCSCOLL] (collate_byname::do_compare): Implemented in terms
of do_transform when there is no support for wcscoll in libc.
2006-01-09 Martin Sebor <sebor@roguewave.com>
* gcc.config (-Wextra): Removed (thus partially reverting r366347). The
option is the same as -W except not portable to earlier versions of the
compiler.
2006-01-09 Martin Sebor <sebor@roguewave.com>
STDCXX-107
* MUNMAP.cpp (<sys/types.h>): Included to prevent compilation errors
in <sys/mman.h> on BSD.
2006-01-09 Martin Sebor <sebor@roguewave.com>
STDCXX-106
* memattr.cpp (__rw_memattr): Used getpagesize(3) instead of sysconf(3)
when neither _SC_PAGE_SIZE or _SC_PAGESIZE is #defined in <unistd.h>
(e.g., on BSD UNIX).
Restored errno to its original value if it got clobbered by one of the
called functions.
2006-01-08 Martin Sebor <sebor@roguewave.com>
STDCXX-102
* vacpp.config (AS_EXT): Set to .s for Linux.
2006-01-08 Martin Sebor <sebor@roguewave.com>
STDCXX-101
* instantiation_before_definition.h: Avoided using the extern template
extension to declare an explicit instantiation of a function template
when _RWSTD_NO_EXTERN_FUNCTION_TEMPLATE is #defined.
* EXTERN_TEMPLATE_BEFORE_DEFINITION.cpp: Established a dependency on
the EXTERN_FUNCTION_TEMPLATE.cpp test.
* EXPLICIT_INSTANTIATION_BEFORE_DEFINITION.cpp: Same.
2006-01-07 Martin Sebor <sebor@roguewave.com>
* fstream.cc (underflow): Used char_traits::move() instead of memmove.
* _messages.cc (do_get): Used char_traits::length() instead of strlen.
2006-01-07 Martin Sebor <sebor@roguewave.com>
* bitset (reset, set): Used the _RWSTD_MEMSET() macro instead
of calling memset directly.
* bitset.cc (__rw_bitset): Same.
2006-01-07 Martin Sebor <sebor@roguewave.com>
* _traits.h: Used string helpers instead of the corresponding libc
functions in debug mode or with the vanilla EDG eccp demo to avoid
namespace pollution and for better compile time and runtime error
detection.
2006-01-07 Martin Sebor <sebor@roguewave.com>
* codecvt1.cpp: Added a missing #include directive.
2006-01-07 Martin Sebor <sebor@roguewave.com>
* valcmp.cpp (rw_dblcm): Silenced a SunPro 5.7 Warning: Conversion
of 64 bit type value to "int" causes truncation.
2006-01-07 Martin Sebor <sebor@roguewave.com>
* localedef.cpp (rw_set_locale_root): Removed a gratuitous std::
qualification from strcat.
* Avoided accidentally including /usr/include/localedef.h on HP-UX.
2006-01-07 Martin Sebor <sebor@roguewave.com>
* _mbstate.h (<cwchar>): Avoided #including on Solaris and instead
defined struct __mbstate_t and mbstate_t directly in this header.
2006-01-07 Martin Sebor <sebor@roguewave.com>
* time_put.cpp (__rw_get_timepunct): Removed unnecessary qualification
from references to libc functions. Inserted a wide NUL character, not
just a narrow one, at the beggining of the __rw_time_t structure.
(__rw_put_time): NUL-terminated format string before passing it to
strftime and wcsftime.
2006-01-07 Martin Sebor <sebor@roguewave.com>
* locale_body.cpp (__rw_locale): Removed a stray std:: qualification
from a call to strlen().
(_C_is_managed): Eliminated a gcc -Wextra warning: operation may be
undefined.
2006-01-07 Martin Sebor <sebor@roguewave.com>
* string.cpp: New file with defitions of string helpers.
2006-01-07 Martin Sebor <sebor@roguewave.com>
STDCXX-72
* 25.adjacent.find.cpp (EqualityPredicate): New class template.
(do_test): Used it instead of std::equal_to.
2006-01-07 Martin Sebor <sebor@roguewave.com>
STDCXX-95
* SIZE_T.cpp: Defined _RWSTD_EOF and _RWSTD_WEOF to -1 even when
the corresponding libc macros are not #defined.
2006-01-07 Martin Sebor <sebor@roguewave.com>
* 18.limits.traps.cpp (<rw_any.h>): #included for rw_any_t.
(test_traps): Used rw_any_t in informational output and used
the "%b" specifier to format Boolean values.
2006-01-07 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp (test_bool): New function to exercise the 'b' format
specifier.
(test_integer): Called test_bool.
2006-01-07 Martin Sebor <sebor@roguewave.com>
* printf.cpp (_rw_vasnprintf_c99): Added a case for the 'b' format
specifier as an extension for the formatting of Boolean values.
(_rw_fmtinteger): Added handling of the 'b' format specifier.
2006-01-07 Martin Sebor <sebor@roguewave.com>
* locale_core.cpp (_C_get_std_facet): Used size_t instead of the
_RWSTD_SIZE_T macro and explicitly cast the result of an expression
to the type to silence the asinine HP aCC +DD64 Warning (suggestion)
887: # Type 'int' is smaller than type 'unsigned long', unwanted
widening in value may result.
2006-01-06 Martin Sebor <sebor@roguewave.com>
* README: Updated version information.
2006-01-06 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.bin (SRCDIRS): Removed a stray subdirectory inadvertently
introduced in rev 292348.
2006-01-05 Martin Sebor <sebor@roguewave.com>
* wctype.cpp (wchar.h): Included for wctomb().
2006-01-05 Martin Sebor <sebor@roguewave.com>
* 21.string.push_back.mt.cpp: Removed an unnecessary #include directive.
(to_append): Removed the size of the array and relied on its initializer
instead.
(ehread_func): Asserted that array index is in bounds and replaced uses
of the assert() macro with RW_ASSERT().
(thread_func): Parenthesized a call to putc in order to thwart macro
expansion and qualified size_t with the name of the declaring namespace.
2006-01-05 Martin Sebor <sebor@roguewave.com>
* atomic_add.cpp [!_RWSTD_REENTRANT] (run_test): Eliminated gcc errors
and -Wunused warnings in conditionally compiled code.
* atomic_xchg.cpp: Same.
2006-01-05 Martin Sebor <sebor@roguewave.com>
* gcc.config: Used := instead of plain assignment when invoking
the $(shell) make function, for efficiency.
Added -Wextra to the set of compiler options for gcc 3 and beyond.
2006-01-05 Martin Sebor <sebor@roguewave.com>
* _mutex.h (_RWSTD_CSTRING): Removed an unnecessary #include directive.
2006-01-02 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 22.time.put.cpp: New test exercising lib.locale.time.put.
2006-01-02 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp (make_tm): New helper function.
(test_tm): Called it and exercised the "%{t}" format
string for the formatting of struct tm values.
2006-01-02 Martin Sebor <sebor@roguewave.com>
* printf.cpp (_rw_fmtbadaddr): New function.
(rw_quotestr): Called _rw_fmtbadaddr.
(_rw_fmtstr): Same.
(_rw_fmttm): New function for the formatting of tm values.
(_rw_fmtspec): Avoided misinterpreting a formatting specifier
as a modifier when there would otherwise be no specifier and
when extensions are enabled.
Replaced the assert() macro with RW_ASSERT().
2006-01-01 Martin Sebor <sebor@roguewave.com>
* 25.lower.bound.cpp (conv_to_bool): Used instead of ConvertibleToBool.
(test_lower_bound): Silenced bogus EDG eccp 3.6 remark #550-D: variable
was set but never used.
2006-01-01 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 25.upper.bound.cpp: New test exercising lib.upper.bound.
2006-01-01 Martin Sebor <sebor@roguewave.com>
* alg_test.h (conv_to_bool): Enhanced to prevent default construction
and assignment and replaced conversion to bool with one to a unique
pointer type testable in the controlling expression of the if statement
as required in 25, p7.
2005-12-30 Martin Sebor <sebor@roguewave.com>
STDCXX-89
* _algobase.h [!_RWSTD_NO_INLINE_MEMBER_TEMPLATES] (__rw_lt): Changed
from a template class with an ordinary member operator() to an ordinary
class with a template member operator() to permit the comparison of
arguments of heterogeneous types.
2005-12-30 Martin Sebor <sebor@roguewave.com>
* 25.lower.bound.cpp (Y): Replaced derivation by containment to really
exercise STDCXX-89.
2005-12-30 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 25.lower.bound.cpp: New test exercising lib.lower.bound, including
STDCXX-89.
2005-12-22 Anton Pevtsov <antonp@moscow.vdiweb.com>
* config.js (Linker): Added library directories collection.
* configure.wsf: Corrected helper xml comments, updated error hadling
- the script tells the user where to look for the log file. Added
option for the icc-9.0 Defines to avoid problems with '*' symbol
in 19 package version of the Intel 9.0 C++ compiler, function tests
updated correspondingly.
* data.js: The solution names were moved to this file to be used
in all other script files.
* fun_present_check.cpp (FUN_PARAMS): New helper define to avoid
problem with Compilation for Intel 9.0 C++ 19 package '*' problem
workaround.
* generate.js: Added icc-specific functions for the solution
generation.
(checkEnvironment): New function for all configurations (it checks
that all utilities required for the solution generation are available).
(generateSolution): Implemented for icc (msvc implementation updated),
added helper functions for the source files filters.
* generate.wsf: corrected helper xml comments, updated builddir
variable to use config in the directory name.
(checkEnvironment): New step to the solution generation workflow,
modified the final output.
(generateBuildBatch): Updated to be config-independent and accept
the config as first parameter.
(generateUpdateBatch): Same.
* makelog.wsf: Corrected helper xml comments, updated the log file
name generation mechanism to use the configrutation in the file name.
(CONFIG): Added script parameter.
* runall.wsf: Fixed typo.
* summary.js: Added mechanism to read compilation output from
BuildLog.html in non-table data form, updated the BuildLog.html
reading workflow, changed the log file name generation function
to use the configuration in the log file name.
* update.wsf: Corrected helper xml comments.
(checkEnvironment): Added step to the solution update workflow.
Added several icc-90 specific steps (i.e converting from icc projects
structure to msvc and vice versa).
* utilities.js (converSolutionImpl): New function for the solution
conversion from Intel projects structure, added special processing
for the solutions which has cpecific configurations for the configure
project (icc).
* msvc-config.js: Added the icc-9.0 solution creation as a copy of
msvc-7.1 solution. It is here to be sure that icc solution will be
created after msvc-7.1 creation and configuration. All configure
tools functions made configuration independent (they receive all
necessary information via parameters).
(configureToolsVC71): Changed correspondingly.
* msvc-config_classes.js: Added processing for the additional
libraries in linker.
* icc-config.js: New. Contains "classes" for the icc-9.0 compiler,
linker, librarian, etc.
* icc-config_classes.js: New. Contains the icc9.0_config solution
tools configuration. This special solution is used for configure
project compilation instead of icc-9.0. Should be included in
configure.wsf script only.
2005-12-23 Martin Sebor <sebor@roguewave.com>
* 25.remove.cpp (ToString): Simplified the invocation of rw_asnprintf().
2005-12-23 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 25.replace.cpp: New test exercising lib.alg.replace.
2005-12-21 Martin Sebor <sebor@roguewave.com>
* atomic_add.cpp: Passed the upper bound of the restricted numeric
option specification as an argument instead of hardcoding it in the
string.
* atomic_xchg.cpp: Same.
i2005-12-21 Martin Sebor <sebor@roguewave.com>
* 19.exceptions.mt.cpp: Passed the upper bound of the restricted numeric
option specification as an argument instead of hardcoding it in the
string.
* 21.string.push_back.mt.cpp: Same.
2005-12-21 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 20.temp.buffer.mt.cpp: New test exercising the thread safety
of lib.temporary.buffer.
2005-12-21 Martin Sebor <sebor@roguewave.com>
* 0.cmdopts.cpp: Exercised restricted numeric options implemented
in rev 358445.
2005-12-21 Martin Sebor <sebor@roguewave.com>
* cmdopt.cpp (rw_vsetopts): Factored out the processing of the numeric
argument(s) of restricted command line arguments from here...
(_rw_getbounds): ...to here. Added the ability to specify arguments
in the option specification (denoted by a '*') instead of hardcoding
their numeric value in the option string.
(_rw_getarg): New function to parse and validate the argument of
a restricted numeric command line option.
(rw_runopts): Factored out single command line option processing code
from here...
(_rw_runopt): ...to this function. Implemented restricted numeric
arguments for all types of options (i.e., with or without callbacks
and optional or required).
(_rw_set_ignenv): Renamed to follow the naming convention for symbols
with internal linkage.
(_rw_print_help): Same. Added informational output for restricted
numeric arguments to command line options.
(_RWSTD_NO_VA_LIST_ARRAY): Used the new config macro.
2005-12-20 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 25.remove.cpp: New test exercising lib.alg.remove.
2005-12-19 Martin Sebor <sebor@roguewave.com>
* SIZE_T.cpp (_RWSTD_VA_LIST): Moved the definition of the macro
from here...
* VA_LIST.cpp: ...to here. New config test to determine the underlying
type of va_list and whether it is an array type or object type.
2005-12-19 Martin Sebor <sebor@roguewave.com>
* 25.adjacent.find.cpp (<cstring>): Replaced the #inclusion
of <cstddef> to bring the declaration of std::strlen() into scope.
* find.cpp: Same.
* find_end.cpp: Same.
2005-12-18 Martin Sebor <sebor@roguewave.com>
* 19.exceptions.mt.cpp (--nloops=N, --nthreads=N): Restricted the set of
valid values of N accepted by the test driver and eliminated validation
done by the test (obviated by rev 357416).
* 21.string.push_back.mt.cpp: Same.
* 25.for.each.cpp (--nloops=N): Same.
* atomic_add.cpp (--nloops=N, --nthreads=N): Same.
* atomic_xchg.cpp: Same.
2005-12-17 Martin Sebor <sebor@roguewave.com>
* 25.generate.cpp: Eliminated the checking of the value of the numeric
argument, N, passed to the --nloops=N command line option, obviated by
the implementation of restricted numeric arguments in the test driver
in rev 357416.
2005-12-17 Martin Sebor <sebor@roguewave.com>
* cmdopt.cpp (cmdopts_t): Added minval_ and maxval_ for the lower
and upper bound, respectively, of restricted numeric arguments.
(rw_vsetopts): Enhanced to allow restricted numeric arguments
to be specified.
(rw_runopts): Handled restricted numeric argumments.
2005-12-17 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 0.cmdopts.cpp: New test exercising the rw_runopts() and rw_setopts()
utility functions.
2005-12-17 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 0.inputiter.cpp: New test exercising the class template InputIter.
2005-12-17 Martin Sebor <sebor@roguewave.com>
* alg_test.h (RW_ASSERT): Used instead of the assert macro and removed
the dependency on the <cassert> header.
2005-12-17 Martin Sebor <sebor@roguewave.com>
* testdefs.h (RW_ASSERT): New macro. Same as assert() but active
regardless of NDEBUG.
2005-12-16 Martin Sebor <sebor@roguewave.com>
* 25.generate.cpp (rw_opt_no_generate, rw_opt_no_generate_n): Added new
command line options to disable tests exercising the corresponding
algorithms.
2005-12-16 Martin Sebor <sebor@roguewave.com>
* 25.generate.cpp (Size): Removed the definition of the class
and replaced it with the template defined in alg_test.h (see
rev 357263).
2005-12-16 Martin Sebor <sebor@roguewave.com>
* 25.fill.cpp: Simplified and exercised the fill_n() template
specialized on user-defined Size argument. Re-introduced explicit
instantiation directives to better exercise both templates.
2005-12-16 Martin Sebor <sebor@roguewave.com>
* alg_test.h (rw/_iterbase.h>: Included implementation header instead
of the bloated <iterator> to reduce namespace pollution.
(Size<T>): New class template used to exercise the fill_n, generate_n,
and search_n algorithms.
(RW_ALG_TEST_H_INCLUDED): Renamed include guard to conform to the naming
convention used in the test suite.
(<rw/defs.h>): Removed an unnecessary/inappropriate include directive
subsumed by <testdefs.h>.
2005-12-16 Martin Sebor <sebor@roguewave.com>
STDCXX-70
* 21.string.push_back.mt.cpp: New test exercising the thread safety
of the push_back() member function of basic_string (and indirectly,
the thread safety of the member operator+=(value_type)).
2005-12-16 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 19.exceptions.mt.cpp: New test exercising the thread safety
of the C++ Standard Library exception classes.
2005-12-16 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* atomic_add.cpp: New test exercising the __rw_atomic_preincrement
and __rw_atomic_predecrement overloaded functions.
* atomic_xchg.cpp: New test exercising the __rw_atomic_exchange
overloaded functions.
i2005-12-16 Martin Sebor <sebor@roguewave.com>
STDCXX-3
* rwthread.h: New header containing declarations of the test suite
thread helpers.
* rwthread.cpp: New source with definitions of the thread helpers.
2005-12-14 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 0.strncmp.cpp: New test exercising the rw_strncmp() overloads.
* 0.valcmp.cpp: New test exercising the rw_valcmp() family of utility
overloads.
2005-12-14 Martin Sebor <sebor@roguewave.com>
* valcmp.cpp (_RWSTD_SIZE_T): Replaced with size_t.
(_rw_cmp1): Changed the type of the local index from int to size_t
to avoid casts and corrected the handling of the CMP_RETOFF bit.
(_rw_cmp2): Same.
(_rw_cmp4): Same.
(_rw_cmp8): Same.
2005-12-09 Martin Sebor <sebor@roguewave.com>
* list.cpp (operator<<): Added comments.
(main): Replaced endl with '\n' for efficiency.
2005-12-08 Martin Sebor <sebor@roguewave.com>
* vector (swap): Optimized for unequal allocators.
2005-12-08 Martin Sebor <sebor@roguewave.com>
STDCXX-86
* numeric (__adjacent_difference): Renamed __value to __val in order
to avoid MSVC 8.0 error C4980: '__value': use of this keyword requires
/clr:oldSyntax command line option.
* _algobase.h (fill, fill_n): Ditto.
* vector (_C_fill): Ditto. While there, also replaced const references
to bool in function arguments with ordinary values.
2005-12-07 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 25.generate.cpp: New test exercising lib.alg.generate. Also
exercises STDCXX-83.
2005-12-07 Martin Sebor <sebor@roguewave.com>
STDCXX-84
* _algobase.h (fill_n): Removed the assumption that the Size argument
is modifiable and can be predecremented and instead converted it to
ptrdiff_t and manipulated the converted object.
2005-12-07 Martin Sebor <sebor@roguewave.com>
STDCXX-83
* algorithm (generate_n): Removed the assumption that the Size argument
is modifiable and can be predecremented, and instead converted it to
ptrdiff_t and manipulated the converted object.
2005-12-06 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 25.find.first.cpp: New test exercising lib.alg.find.first.of.
2005-12-06 Martin Sebor <sebor@roguewave.com>
* mapfile.gcc: Exported additional symbols.
2005-12-05 Martin Sebor <sebor@roguewave.com>
* 2.smartptr.shared.cpp: New test exercising tr.util.smartptr.shared.
* 2.smartptr.weak.cpp: New test exercising tr.util.smartptr.weak.
2005-12-05 Martin Sebor <sebor@roguewave.com>
STDCXX-28
* _smartptr.h: An icomplete implementation of tr.util.smartptr.
2005-12-05 Martin Sebor <sebor@roguewave.com>
* typeinfo.cpp: Corrected preprocessor guards around definitions
of class bad_typeid member functions.
2005-12-05 Anton Pevtsov <antonp@moscow.vdiweb.com>
* 25.find.end.cpp (do_test): Eliminated memory leaks.
2005-12-05 Martin Sebor <sebor@roguewave.com>
* 25.find.end.cpp (run_tests): Corrected a typo introduced in r352022.
2005-12-05 Martin Sebor <sebor@roguewave.com>
* 25.find.cpp: Exercised the algorithm's ability to return an iterator
pointing to the first (rather than the second or any other) in a series
of duplicate elements in the subject sequence.
2005-12-03 Martin Sebor <sebor@roguewave.com>
* 25.find.end.cpp: Changed copyright notice over to Apache.
2005-12-03 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-4
* 25.find.end.cpp: New test exercising lib.alg.fin.end.
2005-12-02 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 25.find.cpp: New test exercising lib.alg.find.
2005-12-02 Martin Sebor <sebor@roguewave.com>
* GLOBAL_BAD_TYPEID.cpp: Eliminated a conflicting definition of
the class in the global scope (<typeinfo> might define it there
and introduce it into namespace via a using declaration, as, for
instance, MSVC 7 does).
2005-12-02 Martin Sebor <sebor@roguewave.com>
STDCXX-81
* assert.cpp: On Solaris 8 and beyond, declared the printstack function
instead of #including <ucontext.h>, the system header in which it is
declared, in order to avoid having to #define enabling macros (i.e.,
__EXTENSIONS__) and deal with the breakage when using a strict compiler
such as EDG eccp with the long long extension (used in some system other
headers) disabled.
2005-12-02 Martin Sebor <sebor@roguewave.com>
STDCXX-73
* typeinfo: Used guard macros appropriate for each class instead
of fudging it based on what appears to work in most cases (except
for MSVC 8).
* typeinfo.cpp: Same. Also indented preprocessor conditionals for
readability.
2005-12-02 Anton Pevtsov <antonp@moscow.vdiweb.com>
STDCXX-72
* 25.adjacent.find.cpp: Enhanced to exercise the predicate form
of the algorithm.
2005-12-02 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
* 25.copy.cpp: New test exercising lib.alg.copy.
2005-12-01 Martin Sebor <sebor@roguewave.com>
* collate.cpp (__rw_strnxfrm): As a workaround for STDCXX-68 and
STDCXX-69, provided dummy destination buffers instead of passing
in 0 when calling strxfrm and wcsxfrm with the last argument of
0 in case the functions are buggy (such as those implemented by
MSVC) and try to write to the buffer anyway.
(__rw_wcsnxfrm): Same.
2005-12-01 Martin Sebor <sebor@roguewave.com>
* STD_BAD_TYPEID.cpp: Guarded the conditional definition
of std::terminate against compiling with anything other
than gcc 2.x.
2005-12-01 Martin Sebor <sebor@roguewave.com>
STDCXX-80
* GNUmakefile: Wrote the definition of the MAPFLAGS variable to
makefile.in. Wrote out the definition of MAPFILE using/relative
to TOPDIR, and the definition of LIBDIR relative to BUILDDIR.
* GNUmakefile.lib: Appended MAPFILE to LDFLAGS, after MAPFLAGS.
* gcc.config: Defined MAPFLAGS on Solaris and defined MAPFILE
as a relative pathname WRT TOPDIR.
* mapfile.gcc-3: Renamed...
* mapfile.gcc: ...to this file (used with gcc 3 and beyond) and
populated it with exported symbols.
2005-12-01 Martin Sebor <sebor@roguewave.com>
* NEW_THROWS.cpp: Corrected a printf statement in conditionally
compiled code.
Simplified/corrected loop allocating large amounts of memory
and explicitly #defined the config macro on test failure instead
of relying on the infrastructure to do it.
2005-12-01 Martin Sebor <sebor@roguewave.com>
* BAD_ALLOC_ASSIGNMENT.cpp: Avoided defining std::terminate() unless
compiling with gcc 2, the only compiler that might need it (when using
the -fhonor-std option with a compiler and its runtime libraries that
were compiled without the option).
2005-12-01 Martin Sebor <sebor@roguewave.com>
* RUNTIME_IN_STD.cpp: In preparation for fixing STDCXX-73 enhanced
to #undef configuration macros (presumably) #defined due to the
false negative results of the respective configuration tests.
Printed out comments with the number of runtime library symbols
examined, the number of symbols found to be defined in namespace
std, in the global namespace, in both, and in neither (likely as
a result of a false negative test result).
2005-12-01 Martin Sebor <sebor@roguewave.com>
* UNAME.cpp: Corrected a typo in conditionally compiled code.
2005-12-01 Martin Sebor <sebor@roguewave.com>
* valcmp.h: Added comments for rw_strncmp() overloads.
2005-12-01 Martin Sebor <sebor@roguewave.com>
* printf.cpp (_rw_bufcat): Increased the size of the buffer and added
a trailing guard to detect writes past the end (and other types of
memory corruption).
(_rw_vfprintf): Avoided using a statically allocated buffer (might
be freed by _rw_bufcat).
2005-11-30 Martin Sebor <sebor@roguewave.com>
STDCXX-76
* exception.cpp: (uncaught_exception): With MSVC 7 and better, used
__uncaught_exception() to implement std::uncaught_exception() instead
of relying on the global symbol.
2005-11-29 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 25.fill.cpp: New test exercising lib.alg.fill.
2005-11-28 Anton Pevtsov <antonp@moscow.vdiweb.com>
* runexamples.wsf: Renamed to...
* runall.wsf: ...this.
* generate.js: Invoked runall.wsf instead of runexamples.wsf.
* makelog.wsf: Included runall.wsf instead of runexamples.wsf.
2005-11-28 Martin Sebor <sebor@roguewave.com>
* generate.bat: Set the svn:eol-style property to native.
* config.js: Same.
* configure.wsf: Same.
* data.js: Same.
* generate.js: Same.
* generate.wsf: Same.
* makelog.wsf: Same.
* msvc-config.js: Same.
* msvc-config_classes.js: Same.
* runexamples.wsf: Same.
* runexe.wsf: Same.
* summary.js: Same.
* update.wsf: Same.
* utilities.js: Same.
2005-11-25 Martin Sebor <sebor@roguewave.com>
STDCXX-70
* string (basic_string): Took into account the fact that the value
of the reference count when read unguarded may be negative (-1) on
SPARC V8 when it's being manipulated (incremented or decremented)
by another thread, and cast it to an unsigned type in expressions
involving relational operators such as < and <=.
(begin): Same.
(append): Same.
* string.cc (operator=): Same.
(replace): Same.
(__replace_aux): Same.
2005-11-25 Martin Sebor <sebor@roguewave.com>
* makefile.rules: Disabled the %: %.h pattern rule and added
the .h suffix to the list of .SUFFIXES.
2005-11-25 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp: (test_signal): Exercised width and justification.
2005-11-25 Martin Sebor <sebor@roguewave.com>
* printf.cpp: (_rw_vfprintf): Flushed out stream in case it isn't
line-buffered (e.g., when stderr is determined not to refer to a
terminal device, for example after it has been redirected to a file).
(_rw_fmtsignal): Used _rw_fmtstr() to format the signal name to take
advantage of the string justification capabilities of the function.
2005-11-25 Martin Sebor <sebor@roguewave.com>
STDCXX-3
* alg_test.cpp: New file containing the definitions of class X members.
2005-11-25 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-5
* generate.bat: New Windows batch file to invoke the Windows build
infrastructure. Invoke like so:
> generate /BUILDDIR:<build-dir> /CONFIG:VC71
* configure.wsf: New Windows Script Host (WSH) file implementing
the Windows configuration infrastructure.
* generate.wsf: New WSH file implementing the part of the Windows
infrastructure responsible for generating Visual Studio projects
and solution(s).
* generate.js: New JScript file invoked from the WSH file above.
* runexamples.wsf: New helper WSH file for the batch invocation
of example programs.
* runexe.wsf: New helper WSH file used by the above to invoke
a single example or test program.
* update.js: New JScript file to update an already generated
Visual Studio solution and add new projects to it.
* config.js: New helper JScript file.
* msvc-config_classes.js: New MSVC-specific JScript helper file
containing definitions of classes and their members.
* data.js: New helper JScript file containing definitions of data.
* msvc-config.js: New MSVC-specific JScript helper file.
* utilities.js: New helper JScript file containing definitions
of non-member functions.
* summary.js: New helper JScript file to generate a summary build
log in HTML format.
* makelog.wsf: New helper WSH file invoked to generate a summary
build log.
* fun_present_check.cpp: New helper C++ source file used by
the configuration infrastructure to check for the presence
of library functions in dependent libraries.
2005-11-25 Martin Sebor <sebor@roguewave.com>
* adjacent_find.cpp: Improved names and added comments for clarity.
Added a warning pointing out that the predicate overload is not being
exercised by the test (see stdcxx-72).
Removed explicit instantiation obviated by implicitly instantiating
the algorithm on iterator types of all supported categories.
2005-11-25 Martin Sebor <sebor@roguewave.com>
* alg_test.h (ConstRandomAccessIter): Added the correct operator[],
replacing the one inherited from the base class (which returns
a non-const reference).
2005-11-25 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
STDCXX_4
* 25.mismatch.cpp: New test exercising lib.mismatch.
2005-11-23 Martin Sebor <sebor@roguewave.com>
STDCXX-71
* cerrno: Avoided #undefining errno.
* errno.h: Same.
* _defs.h: Used quotes instead of pointy brackets in the defintion
of the _RWSTD_ANSI_C_ERRNO_H and _RWSTD_CERRNO macros to prevent
the errno macro from expanding.
2005-11-23 Martin Sebor <sebor@roguewave.com>
* 19.cerrno.cpp: New test exercising lib.errno, the contents
of the header <cerrno>.
2005-11-22 Martin Sebor <sebor@roguewave.com>
* cmdopt.cpp (rw_runopts): Enhanced options specified using the "#"
character (such as "|-foo#") and allowed them to be followed by the
quals sign and a numeric argument, such as --foo=123.
2005-11-22 Martin Sebor <sebor@roguewave.com>
* 25.for.each.cpp: Corrected the name of the file in a comment.
2005-11-22 Martin Sebor <sebor@roguewave.com>
* alg_test.h (ConstFwdIter): Passed the expected number of arguments
to the base class ctor.
* for_each.cpp: Enhanced to exercise InputIterators and other
non-mutable iterators.
2005-11-19 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.tst: Removed the path component from the names of sections
of the C++ standard (e.g., algorithms) to allow them to be used as the
names of targets representing the tests residing in such directories.
2005-11-19 Martin Sebor <sebor@roguewave.com>
* makefile.rules: Disabled implicit rules for .c and .cc files in order
to prevent such files under the include/ directory (e.g., istream.c and
istream) form being compiled due to being listed as dependencies of .cpp
files.
2005-11-18 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp: (do_test): Tightened up and detected error cases.
(test_paramno): Added a couple of test cases.
2005-11-18 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
* 25.equal.cpp: New test exercising lib.alg.equal.
2005-11-18 Martin Sebor <sebor@roguewave.com>
* _list (C_get_node): Renamed a function argument to eliminate
an MSVC 8.0 compilation error. __is_empty is apparently an MSVC
reserved symbol new in 8.0 even though it's not documented here:
http://msdn2.microsoft.com/en-us/library/2e6a4at9.aspx.
(_C_init): Same.
2005-11-18 Martin Sebor <sebor@roguewave.com>
* any.cpp (rw_any_t): Used memset instead of default-initialization
in the ctor initializer list in all ctors to work around a SunPro
5.{3,4} bug.
(type_name): Removed the redundant "signed" from type names.
Added a missing _RWSTD_NO_LONG_DOUBLE guard.
(tostr): Handled all enumerators in the switch to silence
the gcc warning: enumeration value not handled in switch.
2005-11-18 Martin Sebor <sebor@roguewave.com>
* BAD_ALLOC_ASSIGNMENT.cpp: Factored code duplicated in all
the other tests into this one and simply #included this file.
* BAD_ALLOC_COPY_CTOR.cpp: Moved all code from this file to
BAD_ALLOC_ASSIGNMENT.cpp and #included the latter after
#defining the necessary macros.
* BAD_ALLOC_DEFAULT_CTOR.cpp: Same.
* BAD_ALLOC_DTOR.cpp: Same.
* BAD_ALLOC_WHAT.cpp: Same.
* BAD_CAST_ASSIGNMENT.cpp: Same.
* BAD_CAST_COPY_CTOR.cpp: Same.
* BAD_CAST_DEFAULT_CTOR.cpp: Same.
* BAD_CAST_DTOR.cpp: Same.
* BAD_CAST_WHAT.cpp: Same.
* BAD_EXCEPTION_ASSIGNMENT.cpp: Same.
* BAD_EXCEPTION_COPY_CTOR.cpp: Same.
* BAD_EXCEPTION_DEFAULT_CTOR.cpp: Same.
* BAD_EXCEPTION_DTOR.cpp: Same.
* BAD_EXCEPTION_WHAT.cpp: Same.
* BAD_TYPEID_ASSIGNMENT.cpp: Same.
* BAD_TYPEID_COPY_CTOR.cpp: Same.
* BAD_TYPEID_DEFAULT_CTOR.cpp: Same.
* BAD_TYPEID_DTOR.cpp: Same.
* BAD_TYPEID_WHAT.cpp: Same.
* EXCEPTION_ASSIGNMENT.cpp: Same.
* EXCEPTION_COPY_CTOR.cpp: Same.
* EXCEPTION_DEFAULT_CTOR.cpp: Same.
* EXCEPTION_DTOR.cpp: Same.
* EXCEPTION_WHAT.cpp: Same.
2005-11-17 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp (test_signal): New function exercising
the "%{K}" format specifier for the formatting of signal names.
2005-11-17 Martin Sebor <sebor@roguewave.com>
* FOR_LOCAL_SCOPE.cpp: Deleted an unreliable test (some compilers,
such as gcc 2 or Intel C++ 8 on Windows) only issue a warning but
do not actually reject the test.
* NO_FOR_LOCAL_SCOPE.cpp: Implemented the same functionality as
above but as a negative test, i.e., one which is considered passing
on failure to compile.
2005-11-17 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 25.for.each.cpp: New test exercising lib.alg.foreach.
2005-11-17 Martin Sebor <sebor@roguewave.com>
STDCXX-3
* alg_test.h: New header with definitions of helpers used
by algorithm tests.
2005-11-17 Anton Pevtsov <antonp@moscow.vdiweb.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 25.adjacent.find.cpp: New test exercising lib.alg.adjacent.find.
2005-11-17 Martin Sebor <sebor@roguewave.com>
* strstream.cpp: Output line numbers and the numbers of extracted
characters to make example more interesting.
* strstream.out: Changed to match the existing output.
2005-11-16 Martin Sebor <sebor@roguewave.com>
* istream.cc: Removed HP copyright notice (HP had nothing to do with
this file).
2005-11-16 Martin Sebor <sebor@roguewave.com>
STDCXX-59
STDCXX-67
* istream.cc (getline): Renamed function formal arguments for clarity.
Prevented the function from writing past the end of a zero-size buffer
(thus reverting a partial regression introduced in revision 328966).
2005-11-14 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp (do_test): Removed the formatting of arguments from
diagnostic messages to avoid having to deal with ill-formed conversions
such as from member pointers to integers.
(test_memptr): Exercised the formatting of pointers to members.
(test_width_specific_int): Conditionalized for the absence of long long
support.
(test_errno): Exercised the "%{#*m}" format specification.
Changed the text of warning messages.
2005-11-14 Martin Sebor <sebor@roguewave.com>
* printf.cpp: (_rw_fmtpointer): Implemented the formatting of all
pointer types (ordinary, function, and member) in a consistent way
and without relying on _rw_fmtllong.
(_rw_fmtptr): Called _rw_fmtpointer.
(_rw_fmtfunptr): Same.
(_rw_fmtmemptr): Same.
(_rw_vfprintf): New implementation function for rw_fprintf and
rw_printf. Called OutputDebugString() on Windows to write the string
to the debugger window.
(rw_fprintf): Called _rw_vfprintf.
(rw_printf): Same.
(rw_vasnprintf): Used __builtin_va_copy only with gcc 3.x and better
(prior versions do not implement the built-in).
Renamed all static functions according to the naming convention,
i.e., so that each name starts with an underscore.
2005-11-11 Martin Sebor <sebor@roguewave.com>
* valcmp.cpp (rw_dblcmp): Hacked around a missing 64-bit integer
type (e.g., when long long support has been disabled).
2005-11-11 Martin Sebor <sebor@roguewave.com>
* 18.limits.traps.cpp: Set the svn:keywords property to Id.
2005-11-11 Martin Sebor <sebor@roguewave.com>
* Avoided the use of the #ifdef/#ifndef syntax with non-config
macros to prevent the configuration infrastructure from treating
them as potential dependencies.
2005-11-11 Martin Sebor <sebor@roguewave.com>
* 18.limits.traps.cpp: Used Structured Exception Handling on Windows.
Removed the unnecessary SIGTRAP handler (integer division by zero
typically causes SIGFPE).
2005-11-11 Martin Sebor <sebor@roguewave.com>
STDCXX-57
* extern_template_before_definition_imp.cpp: New test (a dependency
of EXTERN_TEMPLATE_BEFORE_DEFINITION.cpp), missed in rev 331866.
2005-11-11 Martin Sebor <sebor@roguewave.com>
* stringstream.cpp: Replaced uses of std::endl with '\n' for efficiency.
2005-11-11 Martin Sebor <sebor@roguewave.com>
* NO_INT_TRAPS.cpp: Used Structured Exception Handling on Windows
to prevent it from popping up a dialog box for the arithmetic
exception triggered as a result of dividing by zero.
2005-11-10 Martin Sebor <sebor@roguewave.com>
STDCXX-65
* limits: Used _RWSTD_NO_INT_TRAPS to define numeric_limits::traps
for all integral T.
* NO_INT_TRAPS.cpp: Used division by zero to trigger an arithmetic
trap on platforms where integer trapping is implemented and enabled.
2005-11-09 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 18.limits.traps.cpp: New test exercising numeric_limits::traps.
2005-11-09 Martin Sebor <sebor@roguewave.com>
* SIZE_T.cpp: Initialized all local variables before copying them
to function arguments to prevent MSVC 8.0 debugging assertions
when the /RTC1 option (Run-Time Error Checks) is used.
2005-11-08 Martin Sebor <sebor@roguewave.com>
STDCXX-57
* _defs.h: Defined _RWSTD_NO_EXPLICIT_INSTANTIATION_BEFORE_DEFINITION
whenever _RWSTD_NO_EXTERN_TEMPLATE_BEFORE_DEFINITION is #defined.
2005-11-08 Martin Sebor <sebor@roguewave.com>
STDCXX-57
* instantiation_before_definition.h: Added a declaration of an
unreferenced member function to prevent the instantiation of the
(former) refererrent from implicitly instantiating it and causing
a false positive.
* instantiation_before_definition.cc: Added a definition of the member.
* EXTERN_TEMPLATE_BEFORE_DEFINITION.cpp: New test to detect whether
an extern template declaration corresponding to the explicit
instantiation directive for the same template can appear lexically
before the definition of the template (or members of class template).
2005-11-08 Martin Sebor <sebor@roguewave.com>
STDCXX-64
* ti_num_get.cpp: Silenced HP aCC warning 933: Null macro argument.
* ti_num_put.cpp: Same.
* ti_numpunct.cpp: Same.
2005-11-04 Martin Sebor <sebor@roguewave.com>
STDCXX-63
* ostream1.cpp (main): Conditionalized so as not to assume
that the long long extension is implemented or enabled.
2005-11-04 Martin Sebor <sebor@roguewave.com>
* _money_put.cc (_C_put): Eliminated gcc -O warning: variable
might be used uninitialized in this function.
2005-11-03 Martin Sebor <sebor@roguewave.com>
* Set the svn:eol-style property to native.
2005-11-01 Martin Sebor <sebor@roguewave.com>
STDCXX-61
* _mutex.h (__rw_atomic_preincrement): Fixed an egregious typo
in a reinterpet_cast from a reference to pointer not caught by
MSVC.
(__rw_atomic_predecrement): Same.
(__rw_atomic_exchange): Same.
2005-10-28 Martin Sebor <sebor@roguewave.com>
* UNISTD_DECL.cpp: Hardcoded the definition of ssize_t for Windows which
doesn't define the type (the SDK defines the equivalent type as SSIZE_T
but the header may not be available in the base kit).
2005-10-27 Martin Sebor <sebor@roguewave.com>
STDCXX-59
* istream.cc (getline): On failure, stored the NUL character
in the first location of the array as required by DR 243.
Prevented the function from overwriting extracted data or storing
the NUL character past the end of buffer.
2005-10-27 Martin Sebor <sebor@roguewave.com>
STDCXX-60
* istream.cc (get): On failure, stored the NUL character in the first
location of the array as required by DR 243.
2005-10-27 Martin Sebor <sebor@roguewave.com>
STDCXX-58
* EXPORT.cpp: Linked with EXPORT_KEYWORD.o, renamed templates to prevent
compilers such as Compaq C++ from finding symbols defined in other tests
when looking through a template repository.
* EXPORT_KEYWORD.cpp: Renamed template.
2005-10-27 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.cfg: Used the wildcard function instead of invoking
ls via $(shell) for efficiency and alphabetically sorted source
files. Used the := operator instead of the ordinay = for efficiency.
2005-10-27 Martin Sebor <sebor@roguewave.com>
* BAD_ALLOC_DTOR.cpp: Introduced additional class and virtual
inheritance to thwart aggressive optimizers' efforts to eliminate
the tested class' dtor.
* BAD_CAST_DTOR.cpp: Implemented in terms of BAD_ALLOC_DTOR.cpp
to eliminate code duplication and reduce the maintenance effort.
* BAD_TYPEID_DTOR.cpp: Same.
* EXCEPTION_DTOR.cpp: Same.
* TYPE_INFO_DTOR.cpp: Same as BAD_ALLOC_DTOR.cpp.
2005-10-26 Martin Sebor <sebor@roguewave.com>
* DIV_OVERLOADS.cpp (main): Avoided invoking div() with the argument
of 0 to prevent division by zero errors at runtime (doh!)
2005-10-24 Martin Sebor <sebor@roguewave.com>
STDCXX-15
* BAD_ALLOC_ASSIGNMENT.cpp: Consistently and in a uniform way avoided
executing the body of main unless explicitly requested by specifying
at least one command line argument. Done to foil aggressive optimizers
and to prevent them from eliminating the code.
* BAD_ALLOC_COPY_CTOR: Same.
* BAD_ALLOC_DEFAULT_CTOR: Same.
* BAD_ALLOC_DTOR: Same.
* BAD_ALLOC_WHAT: Same.
* BAD_CAST_ASSIGNMENT: Same.
* BAD_CAST_COPY_CTOR: Same.
* BAD_CAST_DEFAULT_CTOR: Same.
* BAD_CAST_DTOR: Same.
* BAD_CAST_WHAT: Same.
* BAD_EXCEPTION_ASSIGNMENT: Same.
* BAD_EXCEPTION_COPY_CTOR: Same.
* BAD_EXCEPTION_DEFAULT_CTOR: Same.
* BAD_EXCEPTION_DTOR: Same.
* BAD_TYPEID_ASSIGNMENT: Same.
* BAD_TYPEID_COPY_CTOR: Same.
* BAD_TYPEID_DEFAULT_CTOR: Same.
* BAD_TYPEID_DTOR: Same.
* BAD_TYPEID_WHAT: Same.
* EXCEPTION_ASSIGNMENT: Same.
* EXCEPTION_COPY_CTOR: Same.
* EXCEPTION_DEFAULT_CTOR: Same.
* EXCEPTION_DTOR: Same.
* EXCEPTION_WHAT: Same.
* TYPE_INFO_DTOR: Same.
2005-10-19 Martin Sebor <sebor@roguewave.com>
* _mutex.h: Replaced copyright notices inadvertently ovewritten
in a previous commit.
2005-10-19 Martin Sebor <sebor@roguewave.com>
* typeinfo: Corrected a preprocessor conditional guarding an EDG
specific #pragma recognized by the vanilla EDG front end, Compaq
C++, and SGI MIPSpro but not HP aCC 6.x or Intel C++ (which also
use the same front end).
2005-10-19 Martin Sebor <sebor@roguewave.com>
STDCXX-56
* deque.cc (_C_assign_n): Renamed a local variable from __it to __ix
to silence gcc -Wshadow warnings.
(_C_assign_range): Same.
* vector.cc (_C_assign_range): Renamed a local to silence gcc -Wshadow
warnings.
(_C_insert_range): Same.
2005-10-19 Martin Sebor <sebor@roguewave.com>
STDCXX-55
* _specialized.h (__rw_new_capacity): Silenced a gcc -Wshadow warning
on IRIX.
* string (__rw_new_capacity): Same.
2005-10-19 Martin Sebor <sebor@roguewave.com>
STDCXX-54
* _mutex.h: Cast -1 to unsigned in order to silence gcc warnings
on IRIX: argument passing of negative value `-1' to `unsigned int'.
2005-10-19 Martin Sebor <sebor@roguewave.com>
* _config.h: Disabled the extern template extension for gcc 2.x which
doesn't implement it but doesn't fail the config test and only issues
a warning: ANSI C++ forbids the use of `extern' on explicit
instantiations.
Defined the _RWSTD_SGI_MIPSPRO macro when SGI MIPSpro is detected
as the compiler.
2005-10-19 Martin Sebor <sebor@roguewave.com>
STDCXX-49
* gcc.config: Removed -fsquangle for gcc > 2 as the option is not
supported there.
Removed the -pthread option on IRIX since it's not recognized there.
STDCXX-50
* gcc.config: Added -Wl,-woff,84 to LDFLAGS on IRIX to silence
ld warnings about libraries not used to resolve any symbol.
2005-10-19 Martin Sebor <sebor@roguewave.com>
STDCXX-53
* rwstdmessages.msg: Added a final newline to prevent a gencat error
on IRIX: set 2 msg 3: Unexpected quote ().
2005-10-18 Martin Sebor <sebor@roguewave.com>
* makefile.common: Added *.msg files back to ALL_FILES (regression
introduced in rev 292348).
Streamlined and made consitent the computation of ALL_FILES.
Replaced vestiges of hardwired .s and .S suffixes with $(AS_EXT).
2005-10-18 Martin Sebor <sebor@roguewave.com>
* makefile.rules: Removed logging.
Simplified the rule for the %.out target.
Corrected the $(DEPENDDIR)/%.d target and its dependencies
(broken in rev 292586).
2005-10-14 Martin Sebor <sebor@roguewave.com>
* _config.h: Replaced an unreliable preprocessor conditional
with a simpler one using the _RWSTD_EDG_ECCP macro.
Introduced a new convenience macro: _RWSTD_REVERSE_ITERATOR().
2005-10-14 Martin Sebor <sebor@roguewave.com>
* _config.h: Introduced the _RWSTD_EDG_ECCP macro to unambiguously
identify the vanilla EDG eccp front end demo and to distinguish it
from compilers such as Compaq C++, Intel C++, or SGI MIPSpro that
use the front-end and (sometimes) also #define __EDG__.
Removed the hardcoded _RWSTD_CRLF_CONVENTION macro (superseded
by the new _RWSTD_NEWLINE_... set of autoconfigured macros).
* fstream (_C_crlf_extern_count): Replaced the _RWSTD_CRLF_CONVENTION
macro with the new _RWSTD_NEWLINE_... set of macros. Replaced a loop
with the potentially more efficient call to traits::find().
(_C_crlf_intern_count): Same.
2005-10-14 Martin Sebor <sebor@roguewave.com>
* NEWLINE.cpp: New test to determine the newline character sequence,
or one of <CR>, <CR><LF>, or <LF>.
2005-10-14 Martin Sebor <sebor@roguewave.com>
STDCXX-47
* cstdlib (abs): Moved the definition of the int overload from
namespace std to the global scope and introduced it into std
via a using declaration for consistency with the rest of the
C functions declared in the same block. Guarded said definition
with the _RWSTD_NO_ABS_INT config macro to avoid colliding with
the same function in <cmath>.
2005-10-14 Martin Sebor <sebor@roguewave.com>
STDCXX-46
* cstdlib (div): Guarded definitions of the div(long,long) overload
with the _RWSTD_NO_DIV_LONG config macro to prevent errors due to
multiple definitions of the function when it's also defined in
the system <stdlib.h> header.
2005-10-14 Martin Sebor <sebor@roguewave.com>
STDCXX-46
* DIV_OVERLOADS.cpp: New config test to determine the presence
of the C++ overloads of the div() function in <stdlib.h> and
the rest of the C standard library headers.
2005-10-13 Martin Sebor <sebor@roguewave.com>
STDCXX-48
* cwchar (wmemcpy): Incremented the source pointer in every
iteration of the loop.
2005-10-13 Martin Sebor <sebor@roguewave.com>
STDCXX-46
* 26.c.math.cpp: New test exercising lib.c.math.
2005-10-13 Martin Sebor <sebor@roguewave.com>
* time_manip.cpp (time_get_manip): Made ctor explicit.
(time_put_manip): Same.
(get_time): Explicitly invoked the time_get_manip ctor instead
of relying on implicit user-defined conversion.
(put_time): Same.
(main): Added a missing std:: qualification.
Improved error message and exited with a non-zero status
on error.
2005-10-13 Martin Sebor <sebor@roguewave.com>
* money_manip.cpp: New example program demonstrating the implementation
of user-defined manipulators (using the std::__rw_smanip template) for
the convenient extraction and insertion of monetary values.
2005-10-13 Martin Sebor <sebor@roguewave.com>
* _money_put.cc (do_put): Eliminated the assumption that non-virtual
member functions of both the local and international specializations
of the moneypunct facet have identical behavior and are interchangeable
(i.e., that the static types of the facets do not cache any data).
(_C_put): Same.
2005-10-12 Martin Sebor <sebor@roguewave.com>
* time_manip.cpp (put_time): Added a missing template declaration.
2005-10-12 Martin Sebor <sebor@roguewave.com>
* time_manip.cpp: New example program demonstrating the implementation
of user-defined manipulators (using the std::__rw_smanip template) for
the convenient extraction and insertion of std::tm values.
2005-09-30 Martin Sebor <sebor@roguewave.com>
STDCXX-45
* mipspro.config: Added the -64 option for wide configurations.
Also replaced the = operator with := for better efficiency.
2005-09-30 Martin Sebor <sebor@roguewave.com>
STDCXX-44
* mipspro.config (LDFLAGS): Used the undocumented -LANG:std=off option
(presumably the correct spelling of -LANG:non-std) to prevent linking
with the native implementation of the C++ Standard Library.
2005-09-29 Martin Sebor <sebor@roguewave.com>
STDCXX-43
* _mutex.h (__rw_atomic_preincrement): Eliminated a typo introduced
in revision #292352 into code conditionally compiled on AIX with VAC++.
2005-09-29 Martin Sebor <sebor@roguewave.com>
* makefile.rules: Optimized the inclusion of dependencies to just
those needed (rather than all of them) when MAKECMDGOALS is non-empty
(i.e., when at least one goal has been specified on the command line).
Removed .c from .SUFFIXES.
2005-09-29 Martin Sebor <sebor@roguewave.com>
STDCXX-22
* _time_put.cc (__rw_put_time): Changed to an ordinary function.
* time_put.cpp (__rw_put_time): Changed linkage from internal to
external.
2005-09-29 Martin Sebor <sebor@roguewave.com>
STDCXX-43
* _mutex.h (__rw_atomic_preincrement): Removed the definition of
the duplicate overload for long in code conditionally compiled
for i386 inadvertently left in by rev 292352.
(__rw_atomic_predecrement): Same.
(__rw_atomic_exchange): Same.
2005-09-28 Martin Sebor <sebor@roguewave.com>
STDCXX-41
* README: Documented new target names introduced in revsion 292372.
2005-09-28 Martin Sebor <sebor@roguewave.com>
STDCXX-41
* GNUmakefile: Renamed targets for clarity and consistency.
Removed dependencies from targets (they are handled in the
recursively processed makefiles).
2005-09-28 Martin Sebor <sebor@roguewave.com>
STDCXX-43
* i86/atomic.s (__rw_atomic_add): renamed to __rw_atomic_add32.
(__rw_atomic_xchg): renamed to __rw_atomic_xchg32.
* sparc/atomic-64.s: Ditto.
* _mutex.h: Simplified by factoring out common code from platform
specific blocks to a single platform-independent block (wherever
possible).
(__rw_atomic_add): renamed to __rw_atomic_add32.
(__rw_atomic_xchg): renamed to __rw_atomic_xchg32.
2005-09-28 Martin Sebor <sebor@roguewave.com>
* GNUmakefile: Used the := operator instead of = in expensive
assignments (such as those involving the $(shell) function for
efficiency.
* GNUmakefile.exm (SRCDIRS): Explicitly listed source directories.
Adjusted indentation in conditionals and removed redundant spaces.
* GNUmakefile.tst (SUBDIRS): Replaced with SRCDIRS and simplified
the definition of the variable to avoid the expensive $(shell)
function.
(OMIT_SRCS): Simplified and avoided using the $(shell) function.
(VPATH): Avoided unnecessarily appending to the variable.
* makefile.common: Used the := operator instead of =.
(ALL_FILES): Avoided using the expensive $(shell) function.
(VPATH): Defined to $(SRCDIRS) instead of using $(shell) to do
the same thing.
2005-09-28 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.cfg: Used printf instead of echo to append test output
to the config header in case the output contains embedded escape
sequences such as "\n" etc.
2005-09-28 Martin Sebor <sebor@roguewave.com>
STDCXX-22
* time_put.cpp (__rw_put_time): Changed from a function template
and its two specializations to overloads of an ordinary function
to prevent an SGI MIPSpro 7.41 ICE.
2005-09-28 Martin Sebor <sebor@roguewave.com>
* time_put.cpp: Removed unnecessary scope resolution operators from
global names.
(__rw_put_time): Renamed the 6-argument overloads taking a character
pointer as the last argument to __rw_fmt_time in order to distinguish
them from the 12-argument function template and its specializations.
2005-09-27 Martin Sebor <sebor@roguewave.com>
STDCXX-42
* bitset (to_string): Corrected the preprocessor conditional guarding
the definition of the member function to be the same as the one used
to guard its declaration in the body of the template.
2005-09-21 Martin Sebor <sebor@roguewave.com>
STDCXX-39
* gcc.config: Replaced -pthreads with -mthreads on Cygwin.
Defined AS_EXT to .s on the same platform.
2005-09-21 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 22.locale.num.get.cpp: New test exercising the num_get facet.
2005-09-21 Martin Sebor <sebor@roguewave.com>
* valcmp.cpp (rw_ldblcmp): Implemented in terms of absolute
and relative errors instead of naively using memcmp().
2005-09-21 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.rwt: Set SRCDIRS correctly and let makefile.common
find all source files instead of doing it here.
Removed an unnecessary -I option from INCLUDES.
Replaced RWTESTSRCS and RWTESTOBJS with SRCS and OBJS (defined
in makefile.common).
Removed libstd from the all target since the librwtest archive
doesn't depend on it.
Removed the unused RUNFLAGS.
2005-09-21 Martin Sebor <sebor@roguewave.com>
* makefile.common: Replaced a couple of invocations of the $(shell
echo dirs/*.suffix) function with $(foreach d,dirs,$(wildcard
d/*.suffix) for efficiency and correctness (when dirs is a list
of two or more directories).
2005-09-21 Martin Sebor <sebor@roguewave.com>
STDCXX-38
* INFINITY.cpp: Moved declarations of locals above the point of their
use (doh!) thus fixing a regression introduced into conditionally
compiled code in the previous commit (rev 290491).
2005-09-20 Martin Sebor <sebor@roguewave.com>
* testdefs.h: Added #definitions of _RWSTD_PRI* macros (mirroring
a subset of the C99 PRI* macros).
2005-09-20 Martin Sebor <sebor@roguewave.com>
* printf.cpp (libstd_vasnprintf): Extended the %{m} specifier to handle
width as the errno value (instead of using the errno variable value).
2005-09-20 Martin Sebor <sebor@roguewave.com>
STDCXX-38
* INFINITY.cpp: Avoided floating point arithmetic on denormalized
numbers when trapping is enabled (i.e., _RWSTD_NO_DBL_TRAPS is not
#defined).
2005-09-19 Martin Sebor <sebor@roguewave.com>
* atomic.s: Included the correct IA64 implementation files, along
the lines of rev 230382 (inadvertently reverted in rev 290311).
2005-09-19 Martin Sebor <sebor@roguewave.com>
* atomic-ia64-32.s: Renamed...
* ia64/atomic.s: ...to this.
2005-09-19 Martin Sebor <sebor@roguewave.com>
* ia64/atomic.s: Renamed...
* ia64/atomic-64.s: ...to this for consistency with the other
assembly files.
2005-09-19 Martin Sebor <sebor@roguewave.com>
STDCXX-14 (part 3)
* extern_function_template.cpp: Renamed...
* extern_function_template_imp.cpp: ...to this.
* EXTERN_FUNCTION_TEMPLATE.cpp: Changed dependency on the above.
2005-09-19 Martin Sebor <sebor@roguewave.com>
STDCXX-14 (part 2)
* atomic.S: Renamed...
* atomic-cxx.S: ...to this.
2005-09-19 Martin Sebor <sebor@roguewave.com>
* atomic-64.s: Changed the name of the included file to correspond
to its new location (see rev 290311).
2005-09-19 Martin Sebor <sebor@roguewave.com>
STDCXX-14 (part 1)
* src/atomic-i86.s: Renamed to...
* src/i86/atomic.s: ...this.
* src/atomic-ia64.s: Renamed to...
* src/ia64/atomic.s: ...this.
* src/atomic-pa2.s: Renamed to...
* src/parisc/atomic.s: ...this.
* src/atomic-pa2-64.s: Renamed to...
* src/parisc/atomic-64.s: ...this.
* src/atomic-sparc.s: Renamed to...
* src/sparc/atomic.s: ...this.
* src/atomic-sparc64.s Renamed to...
* src/sparc/atomic-64.s: ...this.
* src/atomic.s: Changed the names of included files according
to the above.
* GNUmakefile: Introduced the AS_EXT variable and set it to.S by
default (unless already defined in the .config file).
* makefile.common: Replaced platform-specific hackery with a more
general handling of assembly files.
* makefile.rules: Introduced the AS_EXT variable into the %.o: %.s
suffix rule and guarded the whole thing against expanding when AS_EXT
is not defined or valid.
* acc.config: Defined AS_EXT to .s.
* mipspro.config: Same.
* vacpp.config: Defined AS_EXT to an invalid value on AIX to prevent
the assembly of .{S,s} files (Linux will use the default extension
defined in GNUmakefile).
* eccp.config: Defined AS_EXT to an invalid value to disable the
processing of assembly files until a solution to invoke the system
assembler is implemented.
2005-09-19 Martin Sebor <sebor@roguewave.com>
STDCXX-25
* string (insert): Added overloads for string::const_pointer
to detect insertion of (substrings of) self.
2005-09-19 Martin Sebor <sebor@roguewave.com>
STDCXX-26
* libc_decl.sh: On Solaris, used the POSIX basename in /usr/xpg4/bin/
rather than the one in /usr/bin to avoid interpreting the suffix in
a special way.
2005-09-18 Martin Sebor <sebor@roguewave.com>
* 22.locale.num.put.cpp: New test exercising the num_put facet.
2005-09-18 Martin Sebor <sebor@roguewave.com>
* snprintfa.cpp (rw_vasnprintf): Unconditionally cleared the supplied
character buffer by inserting '\0' into the first position to make
sure the output is always NUL-terminated.
(rw_ansprintf): Renamed to rw_asnprintf (typo).
(rw_fmtsignal): New function to format a signal name.
(libstd_vasnprintf): Called rw_fmtsignal in response to the %{K}
format specifier.
2005-09-18 Martin Sebor <sebor@roguewave.com>
* valcmp.h (rw_equal): New function template and overloads thereof
for the three floating point types.
* valcmp.cpp: Renamed file scope statics according to the naming
convention for such things (i.e., _rw_xxx).
2005-09-18 Martin Sebor <sebor@roguewave.com>
STDCXX-3
* any.h: New. Definition of the rw_any_t helper class.
* any.cpp: New. Definitions of the rw_any_t class member functions.
2005-09-18 Martin Sebor <sebor@roguewave.com>
* opt_lines.h: Set the svn:keywords Id property and changed
the copyright notice.
* opt_lines.cpp: Same.
* opt_trace.h: Same.
* opt_trace.cpp: Same.
* opt_types.h: Same.
* opt_types.cpp: Same.
2005-09-18 Martin Sebor <sebor@roguewave.com>
STDCXX-3
* localedef.h: New. Declarations of helper functions to invoke
the stdcxx localedef and locale utilities.
* localedef.cpp: New. Implementation of the above.
2005-09-18 Martin Sebor <sebor@roguewave.com>
* file.h: New. Declarations of testsuite file I/O helper functions.
* file.cpp: New. Implementation of the same.
2005-09-18 Martin Sebor <sebor@roguewave.com>
STDCXX-3
* environ.h: New. Declaration of the rw_putenv() helper function
for seeting one or more environment variables in a portable way.
* environ.cpp: New. Implementation of the same.
2005-09-18 Martin Sebor <sebor@roguewave.com>
STDCXX-3
* system.h: New. Declaration of the rw_system() convenience function
taking a variable number of arguments and invoking system().
* system.cpp. New. Implementation of the above.
2005-09-18 Martin Sebor <sebor@roguewave.com>
* driver.cpp: Removed _rw_opt_no_stdout, _rw_opt_verbose, and
_rw_opt_compat and replaced each with calls to the respective command
line option handler with the special arguments 1, and 0.
(_rw_setopt_verbose): Renamed to _rw_opt_verbose and allowed the handler
to be called in "query mode" to retrieve the state of the option.
(_rw_setopt_compat): Renamed to _rw_opt_compat and implemented query
mode.
(_rw_setopt_stdout): Renamed to _rw_opt_no_stdout and implemented
query mode.
(_rw_use_color): New function. Returns 1 when colorized output can
and should be used.
(_rw_opt_quiet): New handler for the -q|--quiet command line options.
(_rw_vissue_diag): New function called to unconditionally issue
a diagnostic.
(_rw_vdiag): Factored out code into _rw_vissue_diag for readability
and called the function to issue a diagnostic.
(rw_vtest): Used color in the summary table.
2005-09-18 Martin Sebor <sebor@roguewave.com>
* opt_diags.h: Set the svn keywords Id property.
Increased the size of the buffer for escape sequences.
* opt_diags.cpp: Set the svn keywords Id property.
Initialized previously uninitialized data members.
(_rw_setopt_diags): Checked for negative (unused) indices and avoided
using them to dereference array elements.
2005-09-15 Martin Sebor <sebor@roguewave.com>
STDCXX-21
* wcodecvt.cpp (__rw_libstd_do_out): Converted each character
to unsigned long before comparing its value against the surrogate
pair ranges in order to silence gcc warning on Cygwin (where
sizeof(wchar_t) == 2): comparison is always true due to limited
range of data type.
2005-09-15 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 0.printf.cpp: New test exercising the rw_printf family of functions.
2005-09-15 Martin Sebor <sebor@roguewave.com>
* printf.cpp (rw_vasnprintf_c99): Corrected a typo in conditionally
compiled code.
(rw_quotechar): Silenced gcc warnings: comparison is always false
due to limited range of data type.
2005-09-15 Martin Sebor <sebor@roguewave.com>
STDCXX-19
* memattr.cpp: #defined _SC_PAGE_SIZE to _SC_PAGESIZE when the former
is not #defined (such as Cygwin).
STDCXX-20
* memattr.cpp: #defined _WIN32 when __CYGWIN__ is #defined to take
advantage of the Windows Memory Management API and to work aound
the lack of madvise().
2005-09-15 Martin Sebor <sebor@roguewave.com>
* _config.h: Bumped up version number to 4.1.3.
Enabled long long for Cygwin.
2005-09-14 Martin Sebor <sebor@roguewave.com>
STDCXX-3
* opt_diags.h: New.
* opt_diags.cpp: New. Definitions of functions for the processing
of the --diags command line option.
* opt_lines.h: New.
* opt_lines.cpp: New. Definitions of functions for the processing
of the --enable-line and --no-line command line options.
* opt_trace.h: New.
* opt_trace.cpp: New. Definitions of functions for the processing
of the --trace and --severity command line options.
* opt_types.h: New.
* opt_types.cpp: New. Definitions of functions for the processing
of the --enable-type and --no-type command line options.
* cmdopt.cpp: Refactored. Moved the processing of specific command
line options to separate files for better encapsulation.
Eliminated memory corruption when the cmdopts array is reallocated.
Replaced bool with int for better portability.
* driver.h: Removed declarations and adjusted severities (see below).
* driver.cpp: Refactored (see above).
Introduced the concept of expected diagnostics (i.e., those expected
to be active, such as expected assertion failures) and added a command
line option (--expect=, see opt_lines.cpp) to make it possible to
easily mark them as such. Reassigned severities to diagnostics.
Introduced a new naming convention for symbols internal to the driver
(regardless of linkage) to more easily distinguish them from public
names with external linkage: _rw_xxx.
(rw_trace): Removed.
(rw_debug): Removed.
(_rw_vdiag): Enabled verbose mode as the default formatting mode.
2005-09-14 Martin Sebor <sebor@roguewave.com>
* GNUmakefile: Silenced the error output from the $(shell) function
when it fails to execute a command. See for details on how and why:
http://lists.gnu.org/archive/html/help-make/2005-09/msg00070.html
Checked BUILDTYPE and BUILDMODE only when TOPDIR is not defined,
i.e., only during the initial invocation of make, and avoided doing
so during recursive invocations since both variables are defined in
makefile.in.
2005-09-14 Martin Sebor <sebor@roguewave.com>
* 21.string.assign.cpp: Set svn:keywords Id.
* 21.string.insert.cpp: Same.
2005-09-14 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* 21.string.assign.cpp: New test exercising lib.string.assign.
* 21.string.insert.cpp: New test exercising lib.string.insert.
2005-09-14 Martin Sebor <sebor@roguewave.com>
* printf.cpp (rw_fmtspec): Added the handling of Fmtspec::mod_A.
(rw_fmtfloating): Handled Fmtspec::mod_A and hijacked the width field
as the size of the floating point value in bytes when set.
(rw_quotechar): Returned the number of characters appended to the
buffer by the fuction instead of the entire length.
(rw_quotestr): Computed array length the "hard way" instead of relying
on char_traits since the template is instantiated on types other than
char and wchar_t.
(rw_quotestr): Disabled width handling and hijacked width for array
size when Fmtspec::mod_A is set.
(libstd_vasnprintf): Handled %{Ac} and %{Ae}, %{Af}, and %{Ag}, and
used width to determine array element size in bytes.
2005-09-13 Martin Sebor <sebor@roguewave.com>
* GNUmakefile: Silenced the stderr output from the $(shell) function
when it fails to execute a command (e.g., because the command doesn't
exist).
Checked BUILDTYPE and BUILDMODE only when TOPDIR is not defined,
i.e., only during the initial invocation of make, and avoided doing
so during recursive invocations since both variables are defined in
makefile.in.
Moved initial processing into a guarded block to avoid re-evaluating
it multiple times during recursive invocation.
Implemented compiler detection for all known platforms and allowed
CONFIG to be omitted, defined to be a relative path (wrt TOPDIR) or
an absolute path.
Corrected the .DEFAULT target to pass both $(MAKEFLAGS) and
$(MAKECMDGOALS) to the recursive invocation of make to make it
possible to just create BUILDDIR (target builddir), or to also
configure the library w/o actually building it, etc.
Documented targets.
* etc/config/GNUmakefile.cfg: Silenced the echo of the make clean
command.
2005-09-12 Martin Sebor <sebor@roguewave.com>
STDCXX-18
* GNUmakefile: Allowed making the library without specifying BUILDDIR
(will use $(TOPDIR)/build by default). Also allowed relative paths in
BUILDDIR.
2005-09-06 Martin Sebor <sebor@roguewave.com>
* driver.h: Added Doxygen-style documentation.
2005-09-06 Martin Sebor <sebor@roguewave.com>
* 22.locale.money.put.cpp: New (initially committed in r278837
by accident.) Test exercising the money_put facet.
2005-09-06 Martin Sebor <sebor@roguewave.com>
* 22.locale.money.get.cpp: New (initially committed in r279127
by accident.) Test exercising the money_get facet.
2005-09-06 Martin Sebor <sebor@roguewave.com>
* valcmp.h (rw_fltcmp, rw_dblcmp, rw_ldblcmp): New. Declarations of
utility functions for reliable comparison of floating point values.
* valcmp.cpp (rw_fltcmp, rw_dblcmp, rw_ldblcmp): New. Definitions
of the above based on
http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm.
2005-09-05 Martin Sebor <sebor@roguewave.com>
* cmdopt.h: Added documentation.
2005-09-05 Martin Sebor <sebor@roguewave.com>
STDCXX-3
* tests/include/driver.h: New. Declarations of test suite driver
functions.
* tests/include/testdefs.h: New. Definitions of test suite macros.
* tests/include/printf.h: New. Declarations of the rw_sprintf()
family of testsuite helper functions for formatted output.
* tests/include/valcmp.h: New. Declarations of the rw_valcmp()
family of testsuite helper functions for comparing arrays of
heterogeneous integral objects.
* tests/include/cmdopt.h: New. Declarations of the rw_runopts()
and rw_setopts() helper functions for the processing of command
line options.
* tests/src/valcmp.cpp: New. Implementation of the above.
* tests/src/printf.cpp: Ditto.
* tests/src/cmdopt.cpp: Ditto.
* tests/src/driver.cpp: Ditto.
* etc/config/GNUmakefile.tst: Partially reverted r225375
and renamed the test/ subdirectory back to tests/.
* etc/config/GNUmakefile.rwt: Ditto.
2005-08-28 Martin Sebor <sebor@roguewave.com>
STDCXX-15
* EXCEPTION_DTOR.cpp: Prevented the exception object from being
constructed and its dtor from actually being called (unless the
test is invoked with more than one command line arguments during
manual testing).
2005-08-26 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.tst: used the echo shell builtin instead
of ls as an optimization. Corrected a typo in a comment.
2005-08-26 Martin Sebor <sebor@roguewave.com>
* makefile.common (ALL_FILES): Used the -prune option to
avoid finding files in hidden subdirectories such as .svn/.
2005-08-25 Martin Sebor <sebor@roguewave.com>
* README: Added the string incubating to the name of the tarball,
clarified the meaning of TOPDIR, and corrected a typo in the path
name of the charmaps/ subdirectory.
2005-08-25 Martin Sebor <sebor@roguewave.com>
* README: Corrected information identifying the project sponsor
according to http://mail-archives.apache.org/mod_mbox/incubator-stdcxx-dev/200508.mbox/%3c20050818075418.GN21279@scotch.ics.uci.edu%3e.
2005-08-25 Martin Sebor <sebor@roguewave.com>
* _config.h: Bumped up version number to 4.1.2.
2005-08-25 Martin Sebor <sebor@roguewave.com>
* README: Corrected version number.
2005-08-04 Nicole Willson <willson@roguewave.com>
Martin Sebor <sebor@roguewave.com>
STDCXX-11:
* include/rw/_mutex.h (__rw_atomic_preincrement,
__rw_atomic_predecrement, __rw_atomic_exhange): Added
long long overloads for 32-bit IA64.
* src/atomic.s: Conditionally #included atomic-ia64-32.s.
* src/atomic-ia64-32.s: New. Same as atomic-ia64.s except
for 32-bit mode.
2005-08-04 Martin Sebor <sebor@roguewave.com>
* README: Added the required incubation disclaimer and changed
the name of the project from Rogue Wave C++ Standard Library
to Apache C++ Standard Library.
Issue STDCXX-8:
2005-07-30 Nick Gunn <gunn@roguewave.com>
* include/ansi/cfloat (LDBL_MAX, LDBL_MIN): Avoided re-defining
macros when using the EDG-based Intel C++ on Linux.
* include/ansi/float.h: Same; also keyed in on __linux__ instead
of __GLIBC__.
* etc/config/src/LIMITS.cpp (LDBL_EPSILON, LDBL_MAX, LDBL_MIN):
Same.
2005-07-26 Martin Sebor <sebor@roguewave.com>
* trunk/: Set the svn:keywords property and enabled the expansion
of the Id keyword.
* Implemented for Win32.
* Added _RWSTD_OS_WINDOWS_XXX where XXX is the flavor of Windows
(i.e., one of 95, 98, ME, NT, 2000, 2003, and XP).
2005-07-26 Martin Sebor <sebor@roguewave.com>
Set the executable property.
2005-07-20 Martin Sebor <sebor@roguewave.com>
* runall.sh: Set the executable property.
2005-07-26 Martin Sebor <sebor@roguewave.com>
Set the svn:keywords property and enabled the expansion
of the Id keyword.
2005-07-19 Martin Sebor <sebor@roguewave.com>
Initial import of the Rogue Wave C++ Standard library 4.1.2.