blob: 5c9010a9f0aadd3195553fe03aa9bb6a8c8dfe95 [file] [log] [blame]
2008-04-24 Martin Sebor <sebor@roguewave.com>
Merged revs 648509 and 648403 from trunk.
2008-04-15 Martin Sebor <sebor@roguewave.com>
STDCXX-832
* include/string.cc (_C_get_rep): Used two static_casts via void*
instead of a single reinterpret_cast to prevent HP aCC 6 warning
#4232: conversion from "wchar_t*" to a more strictly aligned type.
2008-04-15 Martin Sebor <sebor@roguewave.com>
STDCXX-874
* include/string (__rw_replace, __rw_replace_aux): Decorated
exported templates with the export keyword.
* include/string.cc: Same.
2008-04-24 Martin Sebor <sebor@roguewave.com>
* ChangeLog: Regenerated.
2008-04-23 Martin Sebor <sebor@roguewave.com>
STDCXX-775
* test/localization/22.locale.time.get.cpp (make_LC_TIME): Asserted
postconditions to silence HP aCC 6/cadvise warning #20200: Potential
null pointer dereference.
2008-04-23 Martin Sebor <sebor@roguewave.com>
STDCXX-771
* test/localization/22.locale.money.put.cpp (run_test): Used volatile
to conceal division by zero from optimizers and to silence HP aCC 6
warning #20010-D: Floating-point DIVIDE BY ZERO exception generated.
* test/localization/22.locale.moneypunct.cpp (lconvdup): Used
operator new instead of the new expression to allocate a type-less
block of memory.
(check_moneypunct): Deallocated the block of memory allocated in
lconvdup() using the matching operator delete() to silence HP aCC
warning #20210-D: Mismatch in allocation and deallocation.
2008-04-23 Martin Sebor <sebor@roguewave.com>
STDCXX-757
* tests/src/value.cpp (UserClass::assign): Added a (redundant) default
label to switch statement to shut up bogus HP aCC warning #20200-D:
Potential null pointer dereference.
(__rw_from_char): Asserted a trivially true precondition to silence
the same warning.
(_rw_fmtxarrayv): Removed an unused local variable.
2008-04-23 Martin Sebor <sebor@roguewave.com>
Merged revs 650902 and 650933 from trunk.
* src/num_put.cpp (__rw_isqnan, __rw_issnan, __rw_fmat_infinite):
Silence HP aCC remark #2826-D: parameter was never referenced.
2008-04-23 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-880
* src/num_put.cpp: Added simple overloads of the __rw_isfinite(),
__rw_signbit(), __rw_isinf(), __rw_isnan(), __rw_isqnan(), __rw_issnan()
for float and long double types.
2008-04-23 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-880
* src/num_put.cpp [_RWSTD_DBL_SIZE == _RWSTD_LDBL_SIZE]: Call double
type overload from long double type overload when sizeof (double) ==
sizeof (long double).
2008-04-23 Martin Sebor <sebor@roguewave.com>
STDCXX-745
STDCXX-746
STDCXX-747
* src/locale_body.cpp [6 <= HP aCC <= 6.16]: Silenced bogus HP aCC
6.16/cadvise warning #20200-D: Potential null pointer dereference.
* src/locale_name.cpp: Same.
* locale_combine.cpp: Same.
STDCXX-879
* src/locale_combine.cpp (_C_get_body): Used a previously computed
value of the expected type to silence HP aCC remark #4271 type
conversion may lose sign.
2008-04-23 Martin Sebor <sebor@roguewave.com>
STDCXX-729
* include/loc/_money_put.cc [__GNUG__] (_C_put): Silenced bogus
gcc -Wuninitialized warning: object may be used uninitialized in
this function while avoiding bogus HP aCC/cadvise warning 20200:
potential null pointer dereference.
2008-04-23 Martin Sebor <sebor@roguewave.com>
STDCXX-879
* tests/algorithms/25.random.shuffle.cpp: Changed the type used
to explicitly instantiate the algorithm to avoid HP aCC remark
4271: type conversion may lose sign.
2008-04-22 Martin Sebor <sebor@roguewave.com>
* tests/src/opt_diags.cpp (_rw_match_name): Asserted (obviously
holding) preconditions to shut up bogus HP aCC 6 warning 20200:
Potential null pointer dereference.
2008-04-22 Martin Sebor <sebor@roguewave.com>
STDCXX-890
* include/rw/_defs.h (_RWSTD_ATTRIBUTE_NORETURN): Defined macro
to be empty when not yet #defined.
(__rw_assert_fail): Replaced _RWSTD_GNUC_ATTRIBUTE ((noreturn))
with _RWSTD_ATTRIBUTE_NORETURN.
* include/rw/_config-acc.h [aCC 6] (_RWSTD_ATTRIBUTE_NORETURN):
Defined macro to __attribute__((noreturn)) for HP aCC 6 and
better.
* include/rw/_config-gcc.h (_RWSTD_ATTRIBUTE_NORETURN): Defined
macro to __attribute__((noreturn)) for all versions of gcc.
2008-04-22 Martin Sebor <sebor@roguewave.com>
STDCXX-756
* tests/src/printf.cpp (_rw_fmtexpr): Handled malloc(() failure to
silence HP aCC 6 warning 20200: Potential null pointer dereference.
(_rw_pvasnprintf, rw_sprintf, rw_snprintf): Cast operand to a wider
type before adding to it to silence HP aCC remark 4298: addition
result could be truncated before cast to bigger sized type.
(_rw_fmtstr): Commented out redundant extern keyword to silence
the annoying HP aCC 6 remark 4244: extern storage class used with
a function definition.
(_rw_quotechar): Made use of the new _RWSTD_UWCHAR_INT_T type to
silence HP aCC 6 remark 4248: comparison of unsigned integer with
a signed integer.
(_rw_fmtfloating): Replaced a for loop with an equivalent call to
strlen() to silence another useless HP aCC remark, 4315: for loop
without body, did you insert an extra ';'?
2008-04-22 Martin Sebor <sebor@roguewave.com>
* 26.valarray.cassign.cpp (run_test): Disabled tests exercising
valarray specializations on a user-defined type for 4.2.1 and
prior since they are known to fail to compile due to STDCXX-512.
2008-04-22 Martin Sebor <sebor@roguewave.com>
STDCXX-754
* tests/src/cmdopt.cpp (rw_vsetopts): Handled malloc() failure.
Added an assertion to silence a bogus HP aCC 6/cadvise warning
#20200-D: Potential null pointer dereference. Unfortunately,
with the one gone another bogus one pops up...
2008-04-22 Martin Sebor <sebor@roguewave.com>
STDCXX-753
* util/charmap.cpp (Charmap::convert_to_ucs): Unconditionally
allocated (8 + 1) bytes for the longest UTF-8 character rather
than assuming that MB_LEN_MAX is large enough.
2008-04-21 Martin Sebor <sebor@roguewave.com>
* Merged revs 649223, 649311, 649363, 649562, 649563, 649564, 649565,
649620, 649646, and 649673 from trunk:
2008-04-17 Martin Sebor <sebor@roguewave.com>
* tests/localization/22.locale.ctype.narrow.cpp: Corrected comments.
(test_narrow_widen): Used rw_info() to write out the name of each
tested locale.
(test_libstd): New function/placeholder to exercise our standalone
implementation of locale (independent of libc).
(run_test<charT>): Called test_libstd().
(run_test): Used the set of locales specified on the command line
instead of the hardcoded pattern.
Added an _RWSTD_NO_WCHAR_T guard.
(main): Used the rw_opt_setlocales handler.
2008-04-17 Martin Sebor <sebor@roguewave.com>
STDCXX-700
* tests/utilities/20.temp.buffer.mt.cpp (thr_func): Used the right
formatting directive.
2008-04-17 Martin Sebor <sebor@roguewave.com>
STDCXX-879
* src/facet.cpp (_C_get_data): Explicitly converted pointer difference
to size_t to avoid HP aCC remark #4271-D: type conversion may lose
sign.
* src/collate.cpp (do_transform): Same.
* src/locale_name.cpp (name): Same.
* src/locale_core.cpp (_C_get_std_facet): Same.
* src/num_put.cpp (__rw_itoa): Changed the type of a local to match
the the type of the expression it's initialized with to silence the
same remark.
(__rw_itoa): Silenced gcc (but not aCC) warning: comparison between
signed and unsigned integer expressions in an assertion.
2008-04-18 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-870
* tests/strings/21.string.exceptions.cpp: Migrated new test from
old Perforce repository.
2008-04-18 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-867
* tests/numerics/26.valarray.transcend.cpp: Migrated new test
from old Perforce repository.
2008-04-18 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-866
* tests/localization/22.locale.ctype.widen.cpp: Migrated new
test from old Perforce repository.
2008-04-18 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-865
* tests/intro/17.extensions.cpp: Migrated new test from old
Perforce repository.
2008-04-18 Martin Sebor <sebor@roguewave.com>
* tests/regress/22.locale.money.get.stdcxx-62.cpp: Added regression
test for STDCXX-62.
2008-04-18 Farid Zaripov <farid_zaripov@epam.com>
* include/rw/_defs.h: #define new general purpose config macro
_RWSTD_UWCHAR_INT_T.
* include/loc/_ctype.h (narrow): Cast __c to _RWSTD_UWCHAR_INT_T
to avoid warnings about signed/unsigned comparisons.
2008-04-18 Martin Sebor <sebor@roguewave.com>
STDCXX-812
* tests/localization/22.locale.num.get.mt.cpp [_RWSTD_OS_HP_UX
|| _ILP32] (rw_opt_nlocales): Decreased from the default to 10
in order to work around an HP-UX inefficiency, and renamed to
opt_nlocales to avoid inappropriately using rwtest convention.
STDCXX-886
* tests/localization/22.locale.num.get.mt.cpp (thread_func):
Avoided appending NUL characters to the input sequence to
prevent failures in locales where the C++ thoudsands_sep is
the NUL character.
(test_get_data): Renamed function argument to match its type.
2008-04-18 Travis Vitek <vitek@roguewave.com>
* include/rw/_config.h: Update _RWSTD_VER macro
to correctly reflect the library version.
2008-04-18 Farid Zaripov <farid_zaripov@epam.com>
Merged changes from trunk.
2008-04-18 Farid Zaripov <farid_zaripov@epam.com>
* etc/config/windows/configure.wsf (linkFiles): Link with libraries,
specified in LIBS config variable.
(makeLibrary): Ditto.
2008-04-18 Farid Zaripov <farid_zaripov@epam.com>
* include/rw/_defs.h: #define new general purpose config macro
_RWSTD_UWCHAR_INT_T.
* include/loc/_ctype.h (narrow): Cast __c to _RWSTD_UWCHAR_INT_T
to avoid warnings about signed/unsigned comparisons.
2008-04-16 Farid Zaripov <farid_zaripov@epam.com>
Merged from trunk the changes for 4.2.1 release.
2008-03-16 Martin Sebor <sebor@roguewave.com>
STDCXX-770
* doc/stdlibref/basic-ios.html (copyfmt): Added Table 40: copyfmt()
Postconditions.
(init): Added Table 41: init() Postconditions.
* doc/stdlibref/lists.html: Added references to Tables 40 and 41.
2008-01-12 William A. Rowe, Jr. <wrowe@apache.com>
* doc/stdlibref/codecvt.html: repos/asf/incubator/stdcxx ->
repos/asf/stdcxx for migration to top level project.
2008-03-27 Scott Zhong <scottz@roguewave.com>
STDCXX-401
* etc/config/makefile.rules (run): Used the POSIX TMPDIR
environment variable instead of TMP.
* etc/config/run_locale_utils.sh: Same.
2008-04-01 Andrew Black <ablack@roguewave.com>
* build/bin/run_utils: Update result footer format to match format
expected by exec utility. Footer search logic changed in r643120.
2008-03-27 Farid Zaripov <farid_zaripov@epam.com>
* etc/config/src/EMPTY_MEM_INITIALIZER.cpp: Replace tab character
to spaces.
* etc/config/src/UNAME.cpp: Ditto.
* examples/manual/bitset.cpp: Ditto.
* examples/manual/codecvt.cpp: Ditto.
* examples/manual/codecvt1.cpp: Ditto.
* examples/manual/generate.cpp: Ditto.
* examples/manual/ifstream.cpp: Ditto.
* examples/manual/istringstream.cpp: Ditto.
* examples/manual/lex_compare.cpp: Ditto.
* examples/manual/max_elem.cpp: Ditto.
* examples/manual/memfunref.cpp: Ditto.
* examples/manual/merge.cpp: Ditto.
* examples/manual/mismatch.cpp: Ditto.
* examples/manual/partition.cpp: Ditto.
* examples/manual/remove.cpp: Ditto.
* examples/tutorial/spell.cpp: Ditto.
* include/loc/_moneypunct.h: Ditto.
* include/loc/_num_get.h: Ditto.
* include/rw/_exception.h: Ditto.
* include/rw/_tree.cc: Ditto.
* include/rw/_tree.h: Ditto.
* include/set: Ditto.
* include/sstream.cc: Ditto.
* src/exception.cpp: Ditto.
* src/ia64/atomic.s: Ditto.
* src/iostream.cpp: Ditto.
* src/iso2022.h: Ditto.
* src/messages.cpp: Ditto.
* src/valarray.cpp: Ditto.
* tests/localization/22.locale.ctype.tolower.cpp: Ditto.
* tests/localization/22.locale.ctype.toupper.cpp: Ditto.
* tests/localization/22.locale.messages.cpp: Ditto.
* tests/numerics/26.class.gslice.cpp: Ditto.
* tests/src/23.containers.cpp: Ditto.
* tests/src/ctype.cpp: Ditto.
* tests/src/locale.cpp: Ditto.
* tests/src/opt_lines.cpp: Ditto.
* util/aliases.cpp: Ditto.
* util/def.h: Ditto.
* util/scanner.cpp: Ditto.
* util/scanner.h: Ditto.
2008-04-04 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-660
* etc/config/src/EQUAL_CTYPE_MASK.cpp: New file to check that ctype
mask's for char and wchar_t are equal.
* src/wctype.cpp [_RWSTD_NO_EQUAL_CTYPE_MASK] (__rw_classic_wide_tab):
Static array with ctype mask's for wide characters.
[_RWSTD_NO_EQUAL_CTYPE_MASK] (__rw_init_classic_wide_tab): New function
to initialize __rw_classic_wide_tab array.
[_RWSTD_NO_EQUAL_CTYPE_MASK] (ctype<wchar_t>::ctype): Initialize
__rw_classic_wide_tab array exactly once using __rw_once().
2008-04-01 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-708
* etc/config/src/float_defs.h: Corrected two #if directives per
suggestions in issue comments.
2008-04-10 Farid Zaripov <farid_zaripov@epam.com>
* etc/config/src/headers.inc: Added checking the <time.h> functions.
2008-04-02 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-740
* etc/config/src/INFINITY.cpp (flt_bits): Fill with zero values
the bits array.
(dbl_bits): Same.
(ldbl_bits): Same.
2008-04-15 Martin Sebor <sebor@roguewave.com>
STDCXX-873
* etc/config/src/libc_decl.sh [vanilla EDG eccp]: Suppressed EDG eccp
error #450-D: the type "long long" is nonstandard before #including
libc headers.
2008-04-01 Andrew Black <ablack@roguewave.com>
* etc/config/windows/run_locale_utils.wsf (run_locale_utils):
Replication of r643435 for Windows. (Update result footer format to
match format expected by exec utility. Footer search logic changed
in r643120.)
2008-03-26 Travis Vitek <vitek@roguewave.com>
STDCXX-715
* etc/nls/countries: New file to map country names and aliases to
the ISO-3166 country code.
* etc/nls/encodings: New file to map codeset names and aliases to
the IANA preferred name.
* etc/nls/languages: New file to map language names and aliases to
the ISO-639-1 language code.
2008-03-31 Travis Vitek <vitek@roguewave.com>
STDCXX-715
* etc/nls/countries: Fix error in countries list.
* etc/nls/languages: Ditto.
2008-04-07 Martin Sebor <sebor@roguewave.com>
STDCXX-831
* exmaples/manual/fmtflags_manip.cpp (fmtflags_manip, saveflags): Avoid
converting -1 to fmtflags due to the unspecified result of the operation
and to silence HP aCC 6 warnings.
2008-03-20 Martin Sebor <sebor@roguewave.com>
STDCXX-789
* examples/manual/random_shuffle.cpp (main): Set fixed floating
point format to suppress the decimal point in iostream output.
2008-03-22 Martin Sebor <sebor@roguewave.com>
STDCXX-768
* include/ansi/climits: Used gcc's #include_next to include
the compiler's <limits.h> header and to prevent the gcc 4.3
error: no include path in which to search for limits.h.
2008-03-22 Martin Sebor <sebor@roguewave.com>
STDCXX-768
* include/ansi/limits.h: Used the gcc extension #include_next to
include the compiler's <limits.h> header and to prevent a gcc 4.3
error: no include path in which to search for limits.h.
2008-03-26 Martin Sebor <sebor@roguewave.com>
* include/ansi/climits [__GNUC__ >= 3]: Silenced gcc warnings
issued for uses of the #include_next extension introduced in
the process of resolving STDCXX-768.
2008-03-16 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-635
* include/deque (operator-): If one of the iterators is the iterator
of the empty deque, return difference between _C_cur data members.
2008-03-16 Farid Zaripov <farid_zaripov@epam.com>
* include/deque (operator-): Privatized names of pointer types.
2008-03-27 Farid Zaripov <farid_zaripov@epam.com>
* include/deque (operator-): Return difference between _C_cur only
if both of iterators are the end-iterators of the empty deque's.
2008-03-31 Martin Sebor <sebor@roguewave.com>
STDCXX-814
* include/iomanip (__rw_setbase): Cast first argument of a shift
expression to unsigned int to avoid benign arithmetic overflow
and silence HP aCC 6 remark #4300: Overflow while computing
constant in left shift operation.
* include/loc/_num_get.cc (num_get::_C_get): Same.
* src/ios.cpp (ios_base::flags): Same.
2008-04-14 Farid Zaripov <farid_zaripov@epam.com>
STDXX-854
* include/loc/_ctype.h (narrow): Don't cast __c to unsigned char,
use __c as index in _C_narrow_tab.
2008-04-07 Martin Sebor <sebor@roguewave.com>
STDCXX-830
* include/loc/_localedef.h [6 <= _RWSTD_HP_aCC_MAJOR]: Suppressed
HP aCC remarks 4298 and 4299 for most of the header since they
don't indicate a problem.
2008-02-13 Martin Sebor <sebor@roguewave.com>
STDCXX-729
* _money_put.cc (_C_put): Worked around an HP aCC 6.15/cadvise
bug causing warning #20200-D: potential null pointer dereference.
2008-02-26 Travis Vitek <vitek@roguewave.com>
* include/loc/_money_put.cc: Eliminate uninitialized variable
warning.
2008-03-31 Martin Sebor <sebor@roguewave.com>
STDCXX-804
* include/ostream (ostream::_C_opfx): Detect and avoid flushing
streams that are tied together or that share the same buffer to
prevent deadlock or infinite recursion.
2008-03-18 Martin Sebor <sebor@roguewave.com>
* include/loc/_num_get.h [LONG_MAX <= SHRT_MAX]
(__rw_check_overflow_short): Silenced unused parameter warnings/remarks.
[LONG_MAX <= INT_MAX] (__rw_check_overflow_int): Same.
2008-03-18 Martin Sebor <sebor@roguewave.com>
* include/loc/_num_get.h: Bumped up year in copyright notice.
2008-03-24 Martin Sebor <sebor@roguewave.com>
STDCXX-748
* include/rw/_array.h (__rw_array::__rw_array): Initialized _C_size
after initializing _C_data to silence a bogus HP aCC 6.16/cadvise
warning #20200-D: Potential null pointer dereference is detected.
2008-03-26 Farid Zaripov <farid_zaripov@epam.com>
* include/rw/_config-gcc.h [__CYGWIN__ && _RWSHARED]: #define
_RWSTD_NO_REPLACEABLE_NEW_DELETE macro to disable using of the
replacement new/delete operators.
2008-04-08 Martin Sebor <sebor@roguewave.com>
STDCXX-843
* include/rw/_mbstate.h [_RWSTD_OS_SUNOS] (__mbstate_t): Used
_RWSTD_LONG_SIZE instead of testing the _LP64 system macro
which may or may not be #defined, depending on the already
#included headers.
2008-03-18 Martin Sebor <sebor@roguewave.com>
STDCXX-595
* include/rw/_mutex.h [_RWSTD_POSIX_THREADS && _RWSTD_EDG_ECCP
&& _RWSTD_OS_LINUX && _RWSTD_NO_LONG_LONG]: Disabled EDG eccp
error #450-D: the type "long long" is nonstandard when using the
vanilla EDG eccp in strict mode (i.e., w/o long long support).
2008-04-15 Farid Zaripov <farid_zaripov@epam.com>
* include/rw/_mutex.h (__rw_atomic_exchange): New overload for bool
type to avoid using of template overload with mutex to atomically
swap two bool's (used in std::ios_base::sync_with_stdio()).
2008-02-05 Martin Sebor <sebor@roguewave.com>
STDCXX-645
* _streamiter.h (operator++): Tested associated stream for eofbit
rather than (badbit|failbit) as (admittedly somewhat ambiguously)
specifiedn [istream.iterator].
(operator==): Simplified and corrected to compare stream pointers
only without taking the states of the stream objects into account.
2008-02-06 Martin Sebor <sebor@roguewave.com>
STDCXX-645
* include/rw/_streamiter.h (operator*): Checked fail() instead
of eof() on the associated stream before turning the object into
the end-of-stream iterator, as per LWG issue 788.
* tests/iterators/24.istream.iterator.cpp (test_ctors): Inserted
a valid number instead of NUL into test stream.
(test_ops): Changed the expected result of equality comparison
with the end-of-stream iterator according to LWG issue 788.
(opt_char, opt_wchar_t, opt_UserTraits, opt_short, opt_int,
opt_long, opt_double): Added "tri-state" options.
(do_test, run_test, main): Handled said options.
2008-02-05 Martin Sebor <sebor@roguewave.com>
* 24.istream.iterator.cpp: New test exercising [istream.iterator],
including STDCXX-645.
2008-04-07 Martin Sebor <sebor@roguewave.com>
* tests/iterators/24.istream.iterator.cpp (test_ops): Parenthesized
subexpression to shut up the annoying HP aCC warning #4259-D: suggest
parentheses around the operands of "!=" and similarly for gcc 4.3.
2008-02-11 Martin Sebor <sebor@roguewave.com>
STDCXX-687
* include/rw/_traits.h [__GNUG__](_RWSTD_MEMCPY, _RWSTD_MEMCMP,
_RWSTD_MEMMOVE, _RWSTD_MEMSET, _RWSTD_STRLEN): #defined macros
to the corresponding gcc __builtins.
[4 < __GNUG__ || 3 <= __GNUC_MINOR__](_RWSTD_MEMCHR): #defined
to __builtin_memchr starting with this version of the compiler.
2008-03-04 Farid Zaripov <farid_zaripov@epam.com>
* include/rw/_traits.h [4 = __GNUG__ && 3 > __GNUC_MINOR__]
(_RWSTD_MEMCHR): #defined to memchr (added missing definition).
2008-04-02 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-799
* include/rw/_traits.h: Don't use gcc string builtins on icc.
2008-03-25 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-795
* include/sstream.cc (str): Save pptr and restore it at the end if
str() is called with internal buffer to increase the capacity of
buffer (i.e. from xsputn() or overflow()).
(xsputn): Remove fix for STDCXX-515 because the pptr now is
preserved in str().
2008-04-07 Martin Sebor <sebor@roguewave.com>
STDCXX-832
* include/string (_C_pref): Used two static_casts in favor of
reinterpret_cast to prevent HP aCC warning #4232: conversion
from "wchar_t*" to a more strictly aligned type.
2008-04-09 Martin Sebor <sebor@roguewave.com>
STDCXX-849
* src/file.cpp [_RWSTD_EDG_ECCP] (stderr, stdin, stdout): Undefined
macros #defined to __rw_stderr, __rw_stdin, and __rw_stdout in our
<stdio.h> to prevent self-initialization to 0 and defined them as
appropriate for Linux and Solaris instead.
2008-04-11 Martin Sebor <sebor@roguewave.com>
* src/file.cpp [_RWSTD_EDG_ECCP]: Fixed a typo in a preprocessing
directive that snuck in with a fix for STDCXX-849 in rev 646568.
2008-03-19 Martin Sebor <sebor@roguewave.com>
STDCXX-766
* src/iostore.cpp (_C_copyfmt): Copied the tied stream and locale.
2008-02-13 Martin Sebor <sebor@roguewave.com>
STDCXX-730
* src/iso2022.cpp (__rw_iso2022jp_designate): Asserted preconditions
to silence HP aCC warning #20200-D: Potential null pointer dereference.
(__rw_ucs4_to_interm): Corrected a bad conditional pointed out by HP
aCC warning #20206-D: Out of bound access.
2008-03-25 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-792
* src/locale_body.cpp (_C_manage): Cast ginit to non-volatile to use
the non-template version of the __rw_atomic_preincrement() if available.
Declare static variable ginit as int instead of long because the all
native atomic functions are defined for int type and the overloads
for long type just calls overload for int type on platforms where
sizeof (int) == sizeof (long).
2008-03-26 Martin Sebor <sebor@roguewave.com>
* src/locale_body.cpp (_C_manage): Used the C++ const_cast to cast
away volatile in favor of the C-style variant introduced in a patch
for STDCXX-792 (rev 640746) to avoid gcc -Wcast-qual warning: cast
from type 'volatile int*' to type 'int*' casts away constness.
2008-04-03 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-811
* src/locale_global.cpp (std::locale::global): Replace call to
non-reentrant setlocale() C function with reentrant
__rw_setlocale object.
* tests/localization/22.locale.statics.mt.cpp (test_global):
Fix [un]signed integer conversion warnings.
2008-04-03 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-811
* src/setlocale.cpp (__rw_setlocale_mutex): Make mutex visible
to other translation units.
* src/locale_global.cpp (std::locale::global): __rw_setlocale
object won't work because destructor restores previous locale.
Guard on mutex and revert to original call to setlocale().
2008-04-04 Farid Zaripov <farid_zaripov@epam.com>
* src/once.cpp (__rw_once): Cast init to int& to avoid using mutex
version of __rw_atomic_preincrement() when atomic version is present.
2008-04-11 Farid Zaripov <farid_zaripov@epam.com>
* src/once.cpp (__rw_once): Cast init to int& to avoid using mutex
version of __rw_atomic_predecrement() when atomic version is present
(see r644662).
2008-04-03 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-824
* src/num_get.cpp (__rw_get_num): If type == _C_pvoid, convert the data
in buf using __rw_strtoull() instead of __rw_strtoul() on LLP64
platforms.
2008-04-09 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-51
* src/num_put.cpp (__rw_isfinite): New function to detect inf and nan
values.
(__rw_signbit): New function to detect the sign of floating point value.
(__rw_isinf): New function to detect inf values.
(__rw_isnan): New function to detect nan values.
(__rw_isqnan): New function to detect quiet nan values.
(__rw_issnan): New function to detect signaling nan values.
(__rw_fmat_infinite): New function to format inf and nan values.
(__rw_put_num): Use __rw_isfinite() and __rw_fmat_infinite() to format
inf and nan values.
2008-04-09 Martin Sebor <sebor@roguewave.com>
* src/num_put.cpp [_RWSTD_OS_SUNOS]: Included <sunmath.h> signbit()
on Solaris. Needed to complete the patch for STDCXX-51 committed in
rev 646396.
2008-04-09 Martin Sebor <sebor@roguewave.com>
* src/num_put.cpp [_RWSTD_OS_SUNOS]: Removed the #inclusion of
<sunmath.h> mistakenly introduced in rev 646597 as the functions
declared in the header are defined in libsunmath that we don't
link with and don't want to start.
[_RWSTD_OS_SUNOS] (__rw_signbit): Reimplemented using simple
integer arithmetic. Needed to complete the patch for STDCXX-51
initially committed in rev 646396.
2008-03-15 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-763
* src/punct.cpp (__rw_get_stdio_fmat): Always use precision in
conversion from floating-point types according to resolution of
the lwg issue 231.
2008-03-26 Martin Sebor <sebor@roguewave.com>
* src/punct.cpp (__rw_get_stdio_fmat): Remove unused
vestigial local variable left behind after resolving
STDCXX-763 in rev 637393.
2008-03-29 Martin Sebor <sebor@roguewave.com>
STDCXX-98
* src/version (#pragma VERSIONID): Worked around an HP aCC 3.63 ICE.
2008-03-31 Martin Sebor <sebor@roguewave.com>
* src/version.cpp (__rw_ident): Updated the name of the library.
2008-03-12 Martin Sebor <sebor@roguewave.com>
STDCXX-435
* src/wcodecvt.cpp (__rw_libc_do_in): Replaces use(s) of mbsrtowcs()
with mbrtowc() to prevent reading past the end of source sequences
that aren't NUL-terminated.
2008-03-12 Martin Sebor <sebor@roguewave.com>
* tests/regress/22.locale.codecvt.stdcxx-435.cpp: Added regression
test for STDCXX-435.
2008-04-09 Travis Vitek <vitek@roguewave.com>
STDCXX-783
* tests/algorithms/25.random.shuffle.cpp (test_random_shuffle): Avoid
indexing past the end of arrays when evaluating rw_assert() arguments
by checking for failure first.
2008-04-11 Travis Vitek <vitek@roguewave.com>
STDCXX-783
* tests/algorithms/25.random.shuffle.cpp (test_random_shuffle): Move
rw_assert() into loop to avoid bogus cadvise warning.
2008-03-31 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-803
* tests/containers/23.bitset.cpp (test_ctors): Declare bmask as
unsigned long to resolve ambiguity on MSVC.
2008-04-07 Martin Sebor <sebor@roguewave.com>
* tests/containers/23.list.cons.cpp (ConsRangePtrOverload): Removed
a pointless const qualifier from the target type of a const_cast to
silence HP aCC warning #2191-D: type qualifier is meaningless on
cast type.
* (test_cons): Cast an argument to the expected type to silence HP
aCC 6 remark #4271-D: type conversion may lose sign.
(main): Removed an unused local variable.
2008-04-07 Travis Vitek <vitek@roguewave.com>
* tests/support/18.support.dynamic.cpp: New test exercising
functions and types for dynamic storage management.
* tests/support/18.support.rtti.cpp: New test exercising
types for dynamic type information support.
* tests/diagnostics/19.std.exceptions.cpp: New test exercising
standard exception types.
2008-04-09 Farid Zaripov <farid_zaripov@epam.com>
* tests/diagnostics/19.std.exceptions.cpp (run_test): Use rw_warn()
instead of rw_assert() on platforms where replacement new/delete
operators can't be defined.
2008-04-14 Farid Zaripov <farid_zaripov@epam.com>
* tests/include/21.strings.h: Removed incorrect overload id.
* tests/src/21.strings.cpp: Ditto.
2008-03-28 Martin Sebor <sebor@roguewave.com>
STDCXX-709
* tests/include/23.containers.h (ContainerTestCaseData): Declared
member pointers non-const for 6.0 <= HP aCC <= 6.16 to work around
a compiler bug.
(ContainerTestCaseData, ~ContainerTestCaseData): Outlined ctor and
dtor to reduce code bloat.
2008-03-28 Martin Sebor <sebor@roguewave.com>
* tests/include/23.containers.h (<driver.h>): Moved an #include
directive from here...
* tests/src/23.containers.cpp: ...to here to reduce namespace
clutter.
2008-04-01 Martin Sebor <sebor@roguewave.com>
* test/include/23.containers.h (~ContainerTestCaseData): Tweaked
a workaround for STDCXX-802 to avoid preprocessor conditionals.
2008-03-29 Martin Sebor <sebor@roguewave.com>
* tests/include/23.list.h (<driver.h>): Added #include directive
after rev 642384 removed it from tests/include/23.containers.h.
(<rw_sigdefs.h>): Moved an include directive outside the scope
of a class and into file scope where it should be.
2008-03-26 Travis Vitek <vitek@roguewave.com>
* tests/src/driver.cpp (rw_enable): Return previous state for the
diagnostic so it can be safely disabled and restored.
* tests/include/driver.h (rw_enable): Ditto. Update comments.
2008-03-28 Travis Vitek <vitek@roguewave.com>
* tests/src/driver.cpp (rw_enable): Reverse logic so that returned
value is correct and consistent with documentation.
2008-03-27 Travis Vitek <vitek@roguewave.com>
STDCXX-716
* tests/include/rw_locale.h (rw_query_locales): Add declaration
of new function.
* tests/src/locale.cpp (atexit_rm_locale_root): Temporarily disable
disgnostic messages to avoid warnings that occur because function is
called after run_test() has returned.
(rw_query_locales): Add new function to query installed locales by
language, country, codeset or MB_CUR_LEN.
2008-03-28 Travis Vitek <vitek@roguewave.com>
STDCXX-714
* tests/src/braceexp.cpp: Remove _rw_isspace(), _rw_isupper() and
_rw_islower(). Use appropriate C library calls instead.
STDCXX-716
* tests/src/locale.cpp: Remove _rw_isspace(), _rw_toupper() and
_rw_tolower(). Use appropriate C library calls instead.
2008-02-17 Travis Vitek <vitek@roguewave.com>
STDCXX-714
* tests/include/rw_braceexp.h: Added a new header to declare the test
suite helper function rw_brace_expand().
* tests/src/braceexp.cpp: New source file to define rw_brace_expand().
* tests/self/0.braceexp.cpp: New test to exercise rw_brace_expand()
2008-02-18 Martin Sebor <sebor@roguewave.com>
* tests/include/rw_braceexp.h: Set svn:eol-style and svn:keywords
properties.
* tests/src/braceexp.cpp: Ditto.
* tests/self/0.braceexp.cpp: Ditto.
2008-02-19 Travis Vitek <vitek@roguewave.com>
* tests/src/braceexp.cpp: Use unsigned values where appropriate
Use change type of seperator to char instead of int. Inlines a
few small functions. General cleanup.
* tests/include/rw_braceexp.h: Ditto. Add documentation for
rw_brace_expand().
2008-02-25 Travis Vitek <vitek@roguewave.com>
STDCXX-714
* tests/include/rw_braceexp.h: Add grammar description for
rw_brace_expand(). Add declaration for rw_shell_expand().
* tests/src/braceexp.cpp: Add helper type _rw_string_buffer
to reduce duplicated code.
(_rw_is_upper): Fix to support EBCDIC encodings.
(_rw_is_upper): Ditto.
(_rw_is_space): Add function to detect whitespace.
(_rw_is_not_space): Add function to detect non whitespace.
(rw_find_match): Add function to find first character that
matches according to some callback function.
(_rw_itoa_10): Add function to write integer values like
sprintf() without dependencies on the locale.
(_rw_find_open_brace): Fix to avoid expanding tokens that
look like shell variable expansions.
(rw_shell_expand): Add function to do shell-like string
tokenization and expansion.
* tests/self/0.braceexp.cpp (run_bash_tests): Removed test.
(run_brace_expand_tests): Add test to verify old function
rw_brace_expand. Updated to expect failures with invalid
expressions.
(run_shell_expand_tests): Add test to verify new function
rw_shell_expand.
2007-12-20 Martin Sebor <sebor@roguewave.com>
STDCXX-683
* tests/include/rw_fnmatch.h: Added a new header declaring
the rw_fnmatch() test suite helper function paralleling the
POSIX function with the same name.
* tests/src/fnmatch.cpp: New source file to define rw_fnmatch().
* 0.fnmatch.cpp: New test to exercise rw_fnmatch().
2008-04-08 Eric Lemings <eric.lemings@roguewave.com>
* tests/iostream/27.istream.fmat.arith.cpp (test_extractor):
Typo.
2008-03-31 Martin Sebor <sebor@roguewave.com>
STDCXX-818
* tests/iostream/27.objects.cpp (operator new): Avoid calling rw_warn()
except when it has something to warn about in case operator new() is
being called by the compiler's C++ runtime (e.g., HP aCC 6.16) before
the driver has been initialized (otherwise the driver aborts).
2008-04-15 Farid Zaripov <farid_zaripov@epam.com>
* tests/localization/22.locale.codecvt.mt.cpp: Use %d format instead
of %zu for printing the number of iterations to avoid printing the
incorrect value on LLP64 platforms).
* tests/localization/22.locale.cons.mt.cpp: Ditto.
* tests/localization/22.locale.ctype.mt.cpp: Ditto.
* tests/localization/22.locale.messages.mt.cpp: Ditto.
* tests/localization/22.locale.money.get.mt.cpp: Ditto.
* tests/localization/22.locale.money.put.mt.cpp: Ditto.
* tests/localization/22.locale.moneypunct.mt.cpp: Ditto.
* tests/localization/22.locale.num.get.mt.cpp: Ditto.
* tests/localization/22.locale.num.put.mt.cpp: Ditto.
* tests/localization/22.locale.numpunct.mt.cpp: Ditto.
* tests/localization/22.locale.statics.mt.cpp: Ditto.
* tests/localization/22.locale.time.get.mt.cpp: Ditto.
* tests/localization/22.locale.time.put.mt.cpp: Ditto.
* tests/strings/21.string.cons.mt.cpp: Ditto.
* tests/strings/21.string.push_back.mt.cpp: Ditto.
2008-01-15 Martin Sebor <sebor@roguewave.com>
STDCXX-700
* tests/localization/22.locale.codecvt.out.cpp (<cstdio>): Removed
#include directive.
(get_mb_chars, find_mb_locale): Replaced calls to std::fprintf()
with rw_fprintf().
* tests/localization/22.locale.time.put.cpp (make_LC_TIME): Silenced
HP aCC 6 warning #2181-D: argument is incompatible with corresponding
format string conversion.
* tests/localization/22.locale.time.put.cpp (make_LC_TIME): Same.
* tests/utilities/20.temp.buffer.mt.cpp (thr_func): Same.
* tests/support/18.numeric.special.int.cpp (Limits<unsigned short>::
compute_digits10): Same.
* util/locale.cpp (print_ce_info, print_charmap): Same.
* util/ctype.cpp (process_sym_ellipsis): Same.
2008-03-31 Travis Vitek <vitek@roguewave.com>
STDCXX-716
* tests/src/locale.cpp: Add functions _rw_isspace(), _rw_toupper() and
_rw_tolower() to avoid problems when sign extending character to int.
(_rw_all_locales): Avoid using uninitialized struct member in calls to
rw_note(). Use _rw_isspace(), _rw_toupper() and _rw_tolower(). Remove
duplicate locales using canonical locale name matching.
(rw_locale_query): Use larger buffer for cached locale name to avoid
buffer overflow. Remember to close file on error condition. Use
_rw_isspace(), _rw_toupper() and _rw_tolower().
* tests/localization/22.locale.ctype.tolower.cpp: Use rw_locale_query()
to select a subset of installed locales.
(run_test): Call test_libc() before test_libstd() to avoid problem with
our locale utility on windows that causes only C locale to be returned.
* tests/localization/22.locale.ctype.toupper.cpp: Ditto.
* tests/localization/22.locale.ctype.scan.cpp: Ditto.
* tests/localization/22.locale.ctype.cpp: Ditto.
* tests/localization/22.locale.ctype.narrow.cpp: Ditto.
* tests/localization/22.locale.ctype.is.cpp: Ditto.
* tests/localization/22.locale.time.get.cpp: Ditto.
2008-04-07 Travis Vitek <vitek@roguewave.com>
* tests/localization/22.locale.ctype.cpp: Cache result of call to
rw_locale_query() reduce time needed to run test.
* tests/localization/22.locale.ctype.is.cpp: Ditto.
* tests/localization/22.locale.ctype.narrow.cpp: Ditto.
* tests/localization/22.locale.ctype.scan.cpp: Ditto.
* tests/localization/22.locale.ctype.toupper.cpp: Ditto.
* tests/localization/22.locale.ctype.tolower.cpp: Ditto.
2008-02-27 Farid Zaripov <farid_zaripov@epam.com>
* tests/localization/22.locale.num.put.cpp
(do_test): Fixed error in format string.
(inf_nan_test): Corrected number of the issue.
(ldbl_test): Added testcase with a precision == 0.
2008-03-15 Farid Zaripov <farid_zaripov@epam.com>
* tests/localization/22.locale.num.put.cpp (dbl_test): Add precision
in format specification of the expected result to reflect the
resolution of the lwg issue 231.
(ldbl_test): Ditto.
2008-03-27 Travis Vitek <vitek@roguewave.com>
* tests/localization/22.locale.time.get.cpp (make_LC_TIME): Add
namespace qualifier to strlen() call to avoid compile error.
2008-03-30 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* tests/localization/22.locale.numpunct.cpp: New test exercising
the required specializations of the std::numpunct facet.
2008-03-30 Martin Sebor <sebor@roguewave.com>
* tests/localization/22.locale.time.put.cpp (make_LC_TIME): Added
an std:: qualification to a call to strlen() missed in rev 604038
to appease strictly conforming compilers such as EDG eccp, or Sun
C++.
2008-03-30 Martin Sebor <sebor@roguewave.com>
* tests/localization/22.locale.time.get.cpp (make_LC_TIME):
Used rw_fatal() to verify postcondition of fopen().
2008-04-01 Travis Vitek <vitek@roguewave.com>
STDCXX-742
* tests/localization/22.locale.messages.cpp (run_test): Avoid
use_facet<>() and has_facet<>() when _RWSTD_NO_DYNAMIC_CAST is
defined.
2008-04-01 Martin Sebor <sebor@roguewave.com>
STDCXX-812
* tests/localization/22.locale.numpunct.mt.cpp [_RWSTD_OS_HP_UX
|| _ILP32] (rw_opt_nlocales): Decreased from the default 16 to
10 in order to work around an HP-UX inefficiency, and renamed
to opt_nlocales to avoid inappropriately using rwtest convention.
* tests/localization/22.locale.time.put.mt.cpp: Same.
* tests/localization/22.locale.num.put.mt.cpp: Same.
* tests/localization/22.locale.ctype.mt.cpp: Same.
* tests/localization/22.locale.money.put.mt.cpp: Same except
that had to go down to 9 to avoid the same inefficiency.
* tests/localization/22.locale.money.get.mt.cpp: Same.
2008-04-02 Martin Sebor <sebor@roguewave.com>
* tests/localization/22.locale.money.put.mt.cpp (rw_opt_nthreads,
rw_opt_nloops, rw_opt_shared_locale): Removed the rw_ prefix from
the names of glabl variables to avoid using rwtest convention.
* tests/localization/22.locale.time.put.mt.cpp: Same.
* tests/localization/22.locale.num.put.mt.cpp: Same.
* tests/localization/22.locale.money.get.mt.cpp: Same.
* tests/localization/22.locale.numpunct.mt.cpp: Same.
(run_test): Added the number of locales to informational output.
2008-04-03 Farid Zaripov <farid_zaripov@epam.com>
* tests/localization/22.locale.num.get.cpp: Silenced warnings on
64-bit MSVC.
(test_pvoid) Correctly exercised overflow conditions on LLP64 platforms.
2008-04-09 Farid Zaripov <farid_zaripov@epam.com>
* tests/localization/22.locale.time.put.cpp (set_TZ): New function to
set TZ environment variable and update the state of the global CRT
variables using tzset().
(test_POSIX): Use set_TZ() instead of rw_putenv(). Use three-letter
time zone name, because the MSVC CRT doesn't supports the time zone
names longer than three letter.
2008-04-10 Farid Zaripov <farid_zaripov@epam.com>
* tests/localization/22.locale.time.put.cpp (set_TZ): Use tzset() only
if it's present in libc.
(test_POSIX): Exercise time zone name of maximum length.
2008-04-11 Farid Zaripov <farid_zaripov@epam.com>
* tests/localization/22.locale.statics.mt.cpp (test_classic): Cast
nthreads to int& to avoid using mutex version of
__rw_atomic_preincrement() when atomic version is present.
2008-04-11 Travis Vitek <vitek@roguewave.com>
STDCXX-779
* tests/localization/22.locale.num.get.cpp: Add new macro T_MAX to
eliminate potential for accessing local variable via pointer after
it has gone out of scope. Remove global pointer pmax.
(do_test): Add new pointer parameter pmax.
(test_flt_uflow): Use new T_MAX macro.
(test_dbl_uflow): Ditto.
(test_ldbl_uflow): Ditto.
2008-04-14 Farid Zaripov <farid_zaripov@epam.com>
* tests/numerics/26.c.math.cpp: Replace rw_any to rw_any_t (caused
compilation error of 26.c.math test on Sun C++ 5.9 / Linux).
2008-04-10 Farid Zaripov <farid_zaripov@epam.com>
* tests/regress/22.locale.codecvt.stdcxx-435.cpp (main): Added
zero element in names array to correctly terminate the loop.
2008-04-07 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-827
* tests/regress/22.locale.stdcxx-554.cpp (test_moneypunct,
test_messages): Use a union containing a pointer to properly
align storage buffer used for placement new operator.
2008-04-01 Farid Zaripov <farid_zaripov@epam.com>
* tests/regress/21.string.insert.stdcxx-630.cpp: Test removed.
This test is added simultaneously (the STDCXX-630 issue is about
assign operation, and test exercises the insert operation).
2008-03-31 Martin Sebor <sebor@roguewave.com>
* tests/regress/27.basic.ios.tie.stdcxx-804.cpp: Added regression
test exercising STDCXX-804.
2008-03-30 Martin Sebor <sebor@roguewave.com>
STDCXX-809
* tests/regress/21.string.stdcxx-162.cpp (MUTEX): Corrected
a typo in the name of the mutex type on Solaris Threads.
2008-03-25 Farid Zaripov <farid_zaripov@epam.com>
* tests/regress/27.stringbuf.overflow.stdcxx-795.cpp: Regression
test for STDCXX-795 issue.
2008-03-19 Martin Sebor <sebor@roguewave.com>
* tests/regress/27.basic.ios.copyfmt.stdcxx-766.cpp: Added
a regression test for STDCXX-766.
2008-02-12 Martin Sebor <sebor@roguewave.com>
* tests/regress/27.filebuf.members.stdcxx-308.cpp: Regression
test exercising STDCXX-308.
2008-02-06 Martin Sebor <sebor@roguewave.com>
* 24.istream.iterator.ops.stdcxx-321.cpp: Added a regression
test for STDCXX-321.
2008-02-05 Martin Sebor <sebor@roguewave.com>
* 24.istream.iterator.cons.stdcxx-645.cpp: Added a regression
test for STDCXX-645.
2008-04-14 Farid Zaripov <farid_zaripov@epam.com>
* tests/strings/21.string.cons.cpp: Exercise the string
ctors overloads with allocator parameter.
2008-04-10 Travis Vitek <vitek@roguewave.com>
STDCXX-774
* tests/strings/21.string.iterators.cpp (test_iterators): Avoid
dereferencing null pointer.
2008-04-04 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-638
* tests/strings/21.cwctype.cpp (test_behavior): Don't check the extra
bits since C99 standard implicitly allows defining extra bits in
iswxxx().
(run_test): Use rw_warn() instead of rw_assert() when
_RWSTD_STRICT_ANSI macro is not #defined when testing the masking
macros and presence of the standard C functions in CRT.
2008-02-29 Travis Vitek <vitek@roguewave.com>
STDCXX-597
* tests/strings/21.string.access.cpp (test_access): Avoid purify
UMR warning when testing for end of string match
2008-02-29 Travis Vitek <vitek@roguewave.com>
* tests/strings/21.string.access.cpp (test_access): Revert previous
change.
2007-11-25 Martin Sebor <sebor@roguewave.com>
* 18.numeric.special.int.cpp: Migrated test for integer specializations
of the std::numeric_limits class template from Rogue Wave test suite.
2008-01-24 Martin Sebor <sebor@roguewave.com>
STDCXX-4
* tests/support/18.numeric.special.float.cpp: Migrated the test to
exercise floating point specializations of the numeric_limits class
template from the Rogue Wave test suite.
2008-01-24 Martin Sebor <sebor@roguewave.com>
* tests/support/18.numeric.special.float.cpp (signaling_NaN):
Corrected typo.
(test_limits): Finished migrating to stdcxx test driver missed
in initial submission (r614980).
2008-03-26 Farid Zaripov <farid_zaripov@epam.com>
* tests/support/18.numeric.special.float.cpp (test_limits):
Added missing parameters for rw_warn().
2008-04-01 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-708
* tests/support/18.numeric.special.float.cpp: Change expected
values for std::numeric_limits<FloatT>::has_denorm() to
std::denorm_present on all HP-UX platforms (inc. PA-RISC and
IPF) per comments recorded in the issue.
2008-03-25 Martin Sebor <sebor@roguewave.com>
STDCXX-615
* tests/tr1.util/2.smartptr.shared.cpp (test_copy_ctor): Avoided using
volatile qualified types with HP aCC 3 without the new +hpxstd98 option
to work around a compiler bug.
2008-04-14 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-841
* trunk/tests/utilities/20.temp.buffer.cpp (test_failure): Print
correct value of `sizeof (T)' using rw_sprintf() function.
Prevent division by zero in terminal condition of for statement.
Also, use parentheses when calculating value of `nelems' to
indicate precedence of operators explicitly.
2008-03-27 Farid Zaripov <farid_zaripov@epam.com>
* tests/src/23.containers.cpp (_rw_vector_sigcat): Silenced warning
about unused variable.
(_rw_deque_sigcat): Same.
(_rw_queue_sigcat): Same.
(_rw_stack_sigcat): Same.
* tests/src/ctype.cpp (_rw_throw): Same.
* tests/src/opt_lines.cpp (_rw_enable_line): Same.
* tests/src/fnmatch.cpp (_rw_bracketmatch): ch parameted declared
as const unsigned char instead of unsigned int. Silenced conversion
warnings.
Added svn:eol-slyle=native property.
* tests/src/locale.cpp (rw_get_wchars): Fill wbuf array with requested
wide characters.
* tests/src/printf.cpp (_rw_fmt_pointer): Check return value from
rw_fmtlong() before adding it to len.
2008-03-27 Farid Zaripov <farid_zaripov@epam.com>
* tests/src/braceexp.cpp (_rw_string_buffer): Declare n parameter as
_RWSTD_SIZE_T instead of int to silence conversion warning.
* tests/src/char.cpp (_rw_fmtstringv): Silence size_t to int conversion
warning.
* tests/src/process.cpp (rw_process_kill): Silence conversion warning.
* tests/src/printf.cpp (_rw_vasnprintf_c99): Same.
(_rw_fmtbadaddr): Same.
(_rw_fmtarray): Same.
(_rw_vfprintf): Same. Use OutputDebugString() depending on _WIN32 macro
instead of _MSC_VER. Don't call IsDebuggerPresent() (which depends on
macros _WIN32_WINNT and WINVER) because the OutputDebugString() does
nothing if there is no any attached debugger present.
* tests/src/rand.cpp (rw_seed32): Declare k as _RWSTD_UINT32 instead
of _RWSTD_SIZE_T.
Removed useless casting of table32[ii] of type _RWSTD_UINT32 to
_RWSTD_SIZE_T before assign the value to _RWSTD_UINT32 seed.
(rw_seed32): Declare k as _RWSTD_UINT64 instead of _RWSTD_SIZE_T.
Removed useless casting of table64[ii] of type _RWSTD_UINT64 to
_RWSTD_SIZE_T before assign the value to _RWSTD_UINT64 seed.
2008-04-15 Farid Zaripov <farid_zaripov@epam.com>
* tests/src/driver.cpp [_MSC_VER] (_rw_opt_verbose): Turn on checking
the memory at every allocation and deallocation in verbose mode.
(_rw_opt_compat): Disable MSVC debug popup's in compat mode.
2008-03-16 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-646
* tests/src/environ.cpp (rw_putenv): Worked around the putenv()
limitations on Windows.
2008-03-15 Farid Zaripov <farid_zaripov@epam.com>
* tests/src/fmt_bits.cpp (_rw_fmtflags): Replace "iostate" to "fmtflags"
in default output. Conditionally output of the "std::ios::" prefix for
consistency.
(_rw_fmt_event): Replace "copyfmt_event" to "event" in default output.
Conditionally output of the "std::ios::" prefix for consistency.
* tests/self/0.printf.cpp (test_ios_bitmasks): Exercised the %{If} and
%{Ie} extensions to format ios::fmtflags and ios::event values.
(test_locale_category): New function to exercise %{Lc} extension to
format locale category values.
(main): Called test_locale_category().
2008-03-16 Martin Sebor <sebor@roguewave.com>
STDCXX-765
* tests/src/fmt_bits.cpp (_rw_bmpfmt): NUL-terminated string so that
it can be appended to using the %{+} directive, taking care not to
make the NUL a part of the formatted string.
(_rw_fmtflags): Same.
(_rw_fmtevent): Same.
(_rw_fmtlc): Same.
2008-04-04 Travis Vitek <vitek@roguewave.com>
STDCXX-755
* tests/src/locale.cpp (rw_locales): Check return from malloc()
(_rw_all_locales): Ditto.
2008-04-10 Farid Zaripov <farid_zaripov@epam.com>
* tests/src/locale.cpp (_rw_all_locales): Don't link nodes into result
when size == 0 to prevent heap corruption in _rw_reset_locales().
2008-03-16 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-711
* tests/src/fnmatch.cpp (rw_fnmatch): Check for the end of string
before invoking _rw_bracketmatch().
2008-04-11 Farid Zaripov <farid_zaripov@epam.com>
* tests/src/fnmatch.cpp (rw_fnmatch): Added checking *next for 0 before incrementing
next in case '?'. Slightly optimized codeand added some _RWSTD_ASSERT's.
2008-04-02 Martin Sebor <sebor@roguewave.com>
* tests/src/braceexp.cpp (UChar): Added a convenience typedef.
(_rw_find_match, _rw_brace_graph::build_character_sequence): Cast
char to UChar before passing it to isspace, islower, and isupper
to avoid undefined behavior on sign extension.
(_rw_string_buffer, build_and_expand, _rw_brace_node_buffer,
_rw_brace_node, reset_for_reuse, get_new_node, brace_expand_write,
build_integer_sequence, brace_expand, rw_brace_expand,
rw_shell_expand): Used size_t instead of _RWSTD_SIZE_T for
readability.
2008-03-30 Martin Sebor <sebor@roguewave.com>
* tests/src/braceexp.cpp (_rw_brace_graph::build_anything): Handled
get_new_node's failure pointed out by HP aCC 6.16 warning #20200-D:
Potential null pointer dereference is detected.
2008-03-29 Martin Sebor <sebor@roguewave.com>
* tests/src/braceexp.cpp (_rw_is_not_space): Removed.
(_rw_find_match): Changed last argument from a function pointer
to bool to avoid having deal with language linkage incompatibility
with isspace and simplified implementation.
(rw_shell_expand): Adjusted _rw_find_match calls accordingly.
2008-03-28 Travis Vitek <vitek@roguewave.com>
STDCXX-784
* tess/src/braceexp.cpp [_RWSTD_NO_NESTED_CLASS_ACCESS]: Work
around issue that causes a compile failure when using private
declarations in nested types.
2008-03-24 Travis Vitek <vitek@roguewave.com>
STDCXX-784
* tests/src/braceexp.cpp: Work around SunPro bug that causes a
compile failure when using private declarations in nested types.
2008-02-28 Travis Vitek <vitek@roguewave.com>
* tests/src/braceexp.cpp (rw_shell_expand): Eliminate shadowed
variable warnings for s and n.
2008-02-21 Farid Zaripov <farid_zaripov@epam.com>
* tests/src/braceexp.cpp: #defined _RWSTD_TEST_SRC macro, #included <rw_braceexp.h>.
(rw_brace_expand): Defined as _TEST_EXPORT.
2008-04-04 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-761
* tests/src/new.cpp (rwt_checkpoint): Added internal
rwt_checkpoint_compare function and call it for each array
member disguised by original loop.
2007-12-18 Martin Sebor <sebor@roguewave.com>
* printf.cpp (rw_snprintf): NUL-terminated string just like
snprintf() does.
2008-03-15 Farid Zaripov <farid_zaripov@epam.com>
* tests/src/printf.cpp (rw_vasnprintf): Add assertion when processing
the "%{+}" directive to detect buffer overruns.
2008-03-24 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-790
* tests/src/printf.cpp (rw_vasnprintf): Corrected condition
in assertion, introduced in r637394.
2008-03-27 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-798
* tests/self/0.printf.cpp (test_memptr): Corrected index calculations
according to endianness. Removed colon from expected resulting strings.
* tests/src/printf.cpp (_rw_fmtlong): Simplified code.
(_rw_fmtllong): Copied from _rw_fmtlong with changing corresponding
types to long long.
(_rw_fmtpointer): Corrected index calculations according to endianness.
Removed adding the colon separator.
2008-04-14 Travis Vitek <vitek@roguewave.com>
STDCXX-857
* tests/src/fmt_defs.h: Add flag to struct Buffer to indicate
who owns the allocated buffer.
* tests/src/printf.cpp (_rw_bufcat): Simplify logic to get
new buffer size. Avoid checking guard bytes and deallocating
buffer that we do not own.
(rw_vasnprintf): Set flag indicating that the caller owns the
supplied buffer.
(_rw_fmtarray): Ditto.
(_rw_fmt_expr): Ditto.
* tests/self/0.printf.cpp (test_reallocate): Add new test to
verify buffer reallocation works as expected.
2008-04-14 Travis Vitek <vitek@roguewave.com>
STDCXX-857
* tests/self/0.printf.cpp (test_reallocate): Revert test for
changes added in r647908.
2008-04-14 Travis Vitek <vitek@roguewave.com>
STDCXX-857
* tests/src/printf.cpp: Revert r647908 which indirectly caused
memory leaks in the test driver and several tests.
* tests/src/fmt_defs.h: Ditto.
2008-04-14 Travis Vitek <vitek@roguewave.com>
* tests/src/printf.cpp (_rw_bufcat): Simplify logic to get
new buffer size. Allocate minimum initial size to avoid a
first allocation that only contains the guard bytes. Add
comment about guard bytes so others might not get tricked.
* tests/src/process.cpp (_rw_vsystem): Avoid using static
buffer (might be freed by _rw_bufcat).
(_rw_vprocess_create): Ditto.
2008-04-14 Farid Zaripov <farid_zaripov@epam.com>
STDXX-862
* tests/self/0.char.cpp (test_rw_widen): Use UserTraits<UserChar>::compare() instead
of memcmp() to avoid false assertions due to possibly different binary representation
of (long double)0 and (long double)0. on Sun C++ 5.9 / Linux.
2008-02-18 Martin Sebor <sebor@roguewave.com>
* 0.braceexp.cpp (run_bash_tests): New function to verify
rw_brace_expand() passes tests from the Bash test suite.
(main): Added a handful of tests (some failing), called
run_bash_tests.
2008-03-30 Martin Sebor <sebor@roguewave.com>
* tests/self/0.braceexp.cpp (test): Used size_t instead
of the _RWSTD_SIZE_T macro.
(run_tests): Added tests for embedded whitespace.
(run_brace_expand_tests): Ditto.
(run_shell_expand_tests): Ditto.
2008-04-11 Farid Zaripov <farid_zaripov@epam.com>
* tests/self/0.fnmatch.cpp (main): Exercised some incomplete patterns.
2008-02-05 Martin Sebor <sebor@roguewave.com>
* 0.printf.cpp (test_ios_bitmasks): Exercised the %{Is} extension
to format ios::iostate values.
2008-02-08 Martin Sebor <sebor@roguewave.com>
* display.cpp (print_target_plain): Increased column width to
so as to fit the longest test name (currently 35 characters).
2008-02-19 Martin Sebor <sebor@roguewave.com>
STDCXX-736
* util/locale.cpp [_RWSTD_EDG_ECCP]: Suppressed EDG eccp error #450-D:
the type "long long" is nonstandard, issued for uses of the type in
the Linux pthreadtypes.h system header.
* util/aliases.cpp [_RWSTD_EDG_ECCP]: Same.
* util/memchk.cpp [_RWSTD_EDG_ECCP && !_WIN32](getpagesize): Declared.
2008-02-21 Farid Zaripov <farid_zaripov@epam.com>
* util/path.cpp: Moved including of the system header files
on top of the file, to get _XOPEN_SOURCE and _XOPEN_SOURCE_EXTENDED
macros defined for all included headers.
2008-02-28 Farid Zaripov <farid_zaripov@epam.com>
* util/display.cpp (print_header_plain): Increased NAME column
width to reflect the changes in r620027.
2008-03-18 Martin Sebor <sebor@roguewave.com>
STDCXX-281
* util/collate.cpp (preprocess_collate): Break out of a loop on EOF
to avoid an infinite loop.
2008-03-18 Martin Sebor <sebor@roguewave.com>
* util/collate.cpp: Updated year of copyright.
2008-03-20 Martin Sebor <sebor@roguewave.com>
STDCXX-750
* util/aliases.cpp (get_installed_locales): Replaced malloc() with
a new expression to avoid having to check the returned value and
to silence HP cadvise warning #20200-D: Potential null pointer
dereference is detected.
Changed the type of locals to silence HP aCC 6.16 remark #4298-D:
addition result could be truncated before cast to bigger sized
type.
2008-03-31 Andrew Black <ablack@roguewave.com>
STDCXX-426
* util/output.cpp (struct readback): Add convenience data structure
for backwards file reading.
(rbinit): Add method to initialize structure.
(rbbof): Add method to check if structure points to the beginning
of a file.
(rbsync): Add method to synchronize the file handle the structure
is built on to the structure.
bgetc): Add method to retrieve a character from the file and
move the structure one position closer to the start
(rbscanf): Add methods to search for a string using the
structure, possibly capturing an unsigned integer in the process.
(check_test, check_compat_test): Alter to use above methods.
2008-04-03 Farid Zaripov <farid_zaripov@epam.com>
* util/output.cpp (parse_output): Open file in binary mode
(in text mode on Windows fread() returns value less than
actually bytes read due to replacing "\r\n" to "\n").
2008-04-04 Travis Vitek <vitek@roguewave.com>
* util/output.cpp (parse_output): Revert recent change to open file in
binary mode.
2008-04-07 Travis Vitek <vitek@roguewave.com>
* util/output.cpp (parse_output): Open file in binary mode
to avoid problems with line end translation in rbinit() and
rbgetc() on windows.
(check_test): Remove line end sequence from scan because file
opened in binary mode will not have translated line ends.
(check_example): Open example output file in binary mode to be
consistent with other file that is used for diff.
2008-04-08 Andrew Black <ablack@roguewave.com>
STDCXX-426
* util/output.cpp: Revert r643120, r644314, r645002, and
r645445. The initial version of the patch for STDCXX-426 (r643120)
resulted in failed processing of test output on windows. The
subsequent changes were efforts to resolve this failure, but
resulted either in failed example diffing on windows, or failed to
resolve the observed misbehavior.
2008-04-09 Martin Sebor <sebor@roguewave.com>
STDCXX-749
* util/time.cpp (parse_era): Checked the pointer returned from
strtok() before dereferencing it and issued an error when it's
null to silence HP aCC 6.16 potential null pointer dereference
warning.
2008-04-11 Travis Vitek <vitek@roguewave.com>
STDCXX-751
* util/locale_stub.cpp (main): Check pointer validity outside of
strcpy argument list to avoid bogus cadvise warning.
2008-04-04 Farid Zaripov <farid_zaripov@epam.com>
* tests/regress/23.vector.modifiers.stdcxx-495.cpp: Regression test
deleted since STDCXX-495 issue is deferred until 4.3 release.
2008-03-30 Martin Sebor <sebor@roguewave.com>
Merged rev 641091 from trunk.
* tests/regress/18.limits.traps.stdcxx-624.cpp: Added a regression
test for STDCXX-624.
2008-03-28 Martin Sebor <sebor@roguewave.com>
Merged rev 642297 from trunk.
* etc/config/acc.config (WARNFLAGS): Coalesced multiple warning
options into a handful with multiple arguments each.
2008-03-28 Martin Sebor <sebor@roguewave.com>
* bin/buildntest: Copied from the head of trunk.
2008-03-26 Farid Zaripov <farid_zaripov@epam.com>
Merged r641324 from trunk.
* tests/regress/21.string.append.stdcxx-438.cpp: Regression
test for STDCXX-438 issue.
2008-03-25 Martin Sebor <sebor@roguewave.com>
Merged rev 641116 from trunk.
* tests/self/0.new.cpp (run_test): Disabled diagnostics issued by
the replacement operator new and delete defined by the test driver
in response to deliberate errors caused by this test.
2008-03-25 Farid Zaripov <farid_zaripov@epam.com>
Merged r640859 from trunk.
* etc/config/src/EXCEPTION_SPECIFICATION_ON_NEW.cpp: #included <stddef.h> for size_t type.
* etc/config/src/ICONV.cpp: Ditto.
* etc/config/src/NEW_OFLOW_SAFE.cpp: Ditto.
* etc/config/src/NEW_THROWS.cpp: Ditto.
* etc/config/src/NEWLINE.cpp: Ditto.
* etc/config/src/VA_LIST.cpp: Ditto.
* etc/config/src/VSNPRINTF_RETURN.cpp: Ditto.
2008-03-25 Martin Sebor <sebor@roguewave.com>
Merged rev 640851 from trunk.
* tests/iostream/27.stringbuf.virtuals.cpp (test_seekoff): Added
a link to LWG issue 563.
2008-03-24 Travis Vitek <vitek@roguewave.com>
Merged rev 639495 from trunk
2008-03-20 Travis Vitek <vitek@roguewave.com>
* tests/regress/23.set.stdcxx-216.cpp: Add regression test for
issue caused by fix to STDCXX-216.
* include/rw/_tree.cc: (insert): Ensure tree is not empty before
comparing keys to avoid uninitialized memory read.
2008-03-18 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-488
* etc/config/gcc.config: Add more link flags specifying install
name and library versioning on Darwin (MacOS X) platforms.
2008-03-18 Farid Zaripov <farid_zaripov@epam.com>
Merged r638433 from trunk
* include/loc/_num_get.h (__rw_check_overflow_int): Corrected a typo.
2008-03-18 Farid Zaripov <farid_zaripov@epam.com>
Merged r638382 from trunk with a fix for STDCXX-648
* include/fstream: Change 'class' keyword to 'struct' to hide MSVC warning C4099:
'std::ios_base::Init' : type name first seen using 'struct' now seen using 'class'.
* include/istream [_RWSTD_NO_EXT_NUM_GET] (__rw_extract(istream&, short &)):
New overload, implemented thus__rw_extract<long>.
[_RWSTD_NO_EXT_NUM_GET] (__rw_extract(istream&, int &)):
New overload, implemented thus__rw_extract<long>.
* src/podarray.h (_C_length): Use inplace algorithm instead of
char_traits::length when _RWSTD_NO_EXT_CHAR_TRAITS_PRIMARY macro is #defined.
2008-03-18 Farid Zaripov <farid_zaripov@epam.com>
Merged r638369 and r638370 from trunk
2008-03-18 Farid Zaripov <farid_zaripov@epam.com>
* include/loc/_num_get.cc (num_get::get): Code checking for overflow moved from here...
* include/loc/num_get.h (_rw_check_overflow_{short|int}): ... to here.
* include/rw/_iosfwd.h: Added new define _RWSTD_FMTFLAGS (used in _rw_check_overflow_{short|int}).
2008-03-18 Farid Zaripov <farid_zaripov@epam.com>
* src/podarray.h (_C_length): New method to calculate the length of the pod array.
(__rw_pod_array): Use _C_length() instead of char_traits<>::length().
(acquire): Ditto.
(append): Ditto.
(assign): Ditto.
2008-03-17 Farid Zaripov <farid_zaripov@epam.com>
Merged r637897 from trunk.
* include/string.cc (__replace_aux): Partially reverted
changes for STDCXX-170 (r629550).
* tests/regress/21.string.replace.stdcxx-170.cpp: Deleted
regression test since STDCXX-170 issue deferred to 4.3 release.
2008-03-14 Farid Zaripov <farid_zaripov@epam.com>
Merge changes from trunk.
2008-02-15 Farid Zaripov <farid_zaripov@epam.com>
* tests/regress/22.locale.num.put.stdcxx-2.cpp: New regression test for STDCXX-2 issue.
2008-02-19 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-2
* src/num_put.cpp (__rw_fix_flt): Added new parameter: precision.
Added workaround for STDCXX-2 issue.
(__rw_put_num): Pass precision value in the __rw_fix_flt().
2008-02-19 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-2
* src/num_put.cpp (__rw_fix_flt): Updated workaround for STDCXX-2 issue.
Fixed detection of infinity (#INF), added detection of the quiet NAN (#IND).
2008-02-22 Farid Zaripov <farid_zaripov@epam.com>
* src/memattr.cpp (__rw_memattr): Declare errno_save as unused to disable
eccp warning #177-D "variable "errno_save" declared but not referenced".
2008-02-22 Farid Zaripov <farid_zaripov@epam.com>
* src/time_put.cpp (__rw_get_timepunct): Remove const qualifier to disable
eccp warning #191-D: "type qualifier is meaningless on cast type".
2008-02-22 Martin Sebor <sebor@roguewave.com>
* time_put.cpp (__rw_get_timepunct): Removed unnecessary
reinterpret_cast in a call to operator delete().
2008-03-14 Farid Zaripov <farid_zaripov@epam.com>
Merge r627644 from trunk.
* src/podarray.h: Don't export internal template class __rw_pod_array<>.
Use _RWSTD_INSTANTIATE() macro for consistency.
[__GNUG__ >= 3]: Add #pragma to disable gcc error
"ISO C++ forbids the use of 'extern' on explicit instantiations".
* src/ti_podarray.cpp: #define two additional macro values to
properly expand _RWSTD_INSTANTIATE() macro.
2008-03-14 Farid Zaripov <farid_zaripov@epam.com>
Merge changes from trunk.
2008-02-08 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-375
* include/istream (std::getline, std::operator>>): Declaration moved from here ...
* include/string (std::getline, std::operator>>): ... to here.
* include/istream.cc (std::getline, std::operator>>): Added comment about
declarations in <string>
2008-02-12 Martin Sebor <sebor@roguewave.com>
STDCXX-308
* include/fstream (~basic_filebuf): Caught and swallowed all exceptions.
* include/fstream.cc (close): Closed file regardless of whether the call
to overflow() or codecvt::unshift() fails or throws, as required by the
resolution of LWG issue 622.
2008-02-13 Martin Sebor <sebor@roguewave.com>
STDCXX-695
* include/loc/_money_get.cc (_C_get): Introduced a convenience typedef
for size_t, changed the type of the local __sign to int and cast it to
size_t to silence the pesky HP aCC 6 remark #4271-D: type conversion
may lose sign.
* include/loc/_messages.cc (do_get): Same.
* include/sstream (str): Avoided pointer math to silence remark #4271.
2008-02-14 Farid Zaripov <farid_zaripov@epam.com>
* include/rw/_defs.h: Move MSVC specific #pragma's from here...
* include/rw/_config-msvc.h: ... to here. Disable warning C4661.
2008-02-14 Farid Zaripov <farid_zaripov@epam.com>
* include/rw/_defs.h: #define new macro _RWSTD_TI_EXPORT
to prevent MSVC warning C4910: "'__declspec(dllexport)'
and 'extern' are incompatible on an explicit instantiation".
* include/fstream: Use _RWSTD_TI_EXPORT instead of
_RWSTD_EXPORT on an explicit instantiations.
* include/istream: Ditto.
* include/loc/_messages.h: Ditto.
* include/loc/_money_get.h: Ditto.
* include/loc/_money_put.h: Ditto.
* include/loc/_moneypunct.h: Ditto.
* include/loc/_num_get.h: Ditto.
* include/loc/_num_put.h: Ditto.
* include/loc/_numpunct.h: Ditto.
* include/loc/_punct.h: Ditto.
* include/loc/_time_get.h: Ditto.
* include/loc/_time_put.h: Ditto.
* include/ostream: Ditto.
* include/rw/_basic_ios.h: Ditto.
* include/rw/_ioinsert.h: Ditto.
* include/rw/_mutex.h: Ditto.
* include/sstream: Ditto.
* include/streambuf: Ditto.
* include/string: Ditto.
2008-02-22 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-375
* include/string: Declarations of the string inserter's and extractor's
are moved to #included <rw/_stringio.h>.
* include/ostream: Definition of the inline string inserter moved to
#included <rw/_stringio.h>.
* include/istream: Definition of the inline std::getline() moved to
#included <rw/_stringio.h>.
* include/istream.cc: Definitions of the string extractor's are moved
to rw/_stringio.cc file.
* include/rw/_stringio.h: New header file with declarations of the
string inserter's and extractor's.
* include/rw/_stringio.cc: New file with definitions of the string extractors.
* include/rw/_stringio.c: New file for compilers with implicit
inclusion feature.
* src/export/cpp: #included <rw/_stringio.h> and <rw/_stringio.cc>.
2008-03-14 Farid Zaripov <farid_zaripov@epam.com>
Merge r637079 from trunk with a fix for STDCXX-752
* util/gencat.cpp: Asserted precondition to silence HP aCC
warning #20200-D: Potential null pointer dereference.
2008-03-12 Farid Zaripov <farid_zaripov@epam.com>
Merged r634731 from trunk.
2008-01-18 Travis Vitek <vitek@roguewave.com>
* examples/include/stocks.h: Change class name from
FrankFurtStockXchange to FrankfurtStockXchange for
correctness.
* examples/tutorial/stocks.cpp (main): Ditto.
2008-01-18 Travis Vitek <vitek@roguewave.com>
* examples/include/stocks.h [AIX, __osf__]: Update locale names
so that example produces useful output.
2008-02-13 Martin Sebor <sebor@roguewave.com>
* examples/tutoria/alg7.cpp (partial_sort_example): Removed redundant
list ctor argument to get around an otherwise hard to silence HP aCC
6 remark #4271-D type conversion may lose sign. See STDCXX-727.
(merge_example): Ditto
2008-02-14 Farid Zaripov <farid_zaripov@epam.com>
* examples/manual/money_manip.cpp (put_money): Change the parameter type
from long double to const long double& to prevent assigning the reference
to the temporary value which is deleted when reference is used..
2008-03-12 Farid Zaripov <farid_zaripov@epam.com>
Merged r634731 from trunk.
2007-11-12 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.exm (RUNFLAGS): Bumped up virtual size limit
to half a gig to prevent errors on HP-UX/IPF.
2007-11-12 Martin Sebor <sebor@roguewave.com>
* GNUmakefile.exm (RUNFLAGS): Updated comment and moved it
above the definition of the variable.
2008-02-28 Farid Zaripov <farid_zaripov@epam.com>
* etc/config/gcc.config [CYGWIN]: Force .exe suffix for the executables.
2008-02-14 Farid Zaripov <farid_zaripov@epam.com>
* etc/config/windows/configure.wsf (configure): Save the
configuration info in global variable. Don't compile libraries
before the compiling the tests, because the libraries could depend
on some of the tests.
(compileLibs): Function removed as unnecessary.
(runExeTests): Build the libraries in common order with the tests.
(checkDependencies): Don't skip the libraries.
2008-02-28 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-507
* etc/config/gcc.config [CYGWIN]: #define _RWSHARED in shared builds.
* include/rw/_config-gcc.h [__CYGWIN__ && _RWSHARED]: disable exporting
template instantiations in shared builds.
2008-03-07 Farid Zaripov <farid_zaripov@epam.com>
* etc/config/src/nodbg.h: New header file with definition of
the nodbg() to prevent GUI popups on Windows.
* etc/config/src/DYNAMIC_CAST.cpp: Removed invoking of the
_CrtSetReportMode(), using nodbg() instead.
* etc/config/src/GLOBAL_BAD_ALLOC.cpp: Ditto.
* etc/config/src/STD_BAD_ALLOC.cpp: Ditto.
* etc/config/src/THREAD_SAFE_EXCEPTIONS.cpp: Ditto.
* etc/config/src/NO_DBL_TRAPS.cpp: Invoke nodbg() before test to
prevent the Dr.Watson popups (was detected on Borland Turbo C++).
2008-03-07 Farid Zaripov <farid_zaripov@epam.com>
* etc/config/src/NEW_THROWS.cpp: Split test to two independent
tests: NEW_THROWS and NEW_OFLOW_SAFE to prevent _RWSTD_NO_NEW_THROWS
#defined when operator new() throws exception, but check for overflow
is failed with Access Violation (as on the Borland Turbo C++).
* etc/config/src/NEW_OFLOW_SAFE.cpp: New config test to check if
operator new() checks the argument for overflow.
2008-03-04 Travis Vitek <vitek@roguewave.com>
Merged rev 629291 from trunk
2008-02-19 Martin Sebor <sebor@roguewave.com>
STDCXX-735
* tests/src/process.cpp (EINTR, SIGALRM): Defined to the known
Linux value for EDG eccp in strict mode if not already #defined.
2008-03-03 Travis Vitek <vitek@roguewave.com>
Merged rev 633233 from trunk.
2008-03-03 Travis Vitek <vitek@roguewave.com>
STDCXX-665
* tests/localization/22.locale.messages.cpp [_RWSTD_OS_AIX] (run_test):
Set LC__FASTMSG environment variable to false to work around a
catopen() issue on AIX.
2008-02-26 Farid Zaripov <farid_zaripov@epam.com>
Merged r629828 from trunk with a fix for STDCXX-738
* etc/config/src/INFINITY.cpp: #including the "float_defs.h"
instead of <float.h> to #define FLT_MIN, DBL_MIN, LDBL_MIN
constants on EDG eccp.
2008-02-26 Farid Zaripov <farid_zaripov@epam.com>
Merged r627616 from trunk.
* etc/config/src/extern_function_template_imp.h: New header file to
check the extern function templates.
* etc/config/src/extern_function_template_imp.cpp: Removed definitions
of struct S<> and foobar<>(), #included extern_function_template_imp.h.
* etc/config/src/EXTERN_FUNCTION_TEMPLATE.cpp: Ditto.
2008-02-26 Farid Zaripov <farid_zaripov@epam.com>
Merged r629825 from trunk.
* etc/config/src/float_defs.h: New file with a definitions
of the floating point constants.
* etc/config/src/FLOAT.cpp: #including the "float_defs.h"
instead of defining the floating point constants in file.
* etc/config/src/LDBL_PRINTF_PREFIX.cpp: Ditto.
Merged r629900 from trunk.
* etc/config/src/FLOAT.cpp: Updated comment, erroneously changed in
r629825.
2008-02-22 Farid Zaripov <farid_zaripov@epam.com>
Merged r629550 from trunk with a fix for STDCXX-170
* include/string.cc (__rw_replace): Use temporary string object
when __first2 and __last2 are input iterators to satisfy string
exception safety requirements (string should be unchanged if an
exception occurs during replacing).
(__rw_replace_aux): Correctly replacing characters in the case
when [__first2, __last2) range belongs to the self string.
2008-02-22 Farid Zaripov <farid_zaripov@epam.com>
Merged r629551 from trunk.
* tests/regress/21.string.replace.stdcxx-170.cpp: New
regression test for STDCXX-170 issue.
2008-02-21 Farid Zaripov <farid_zaripov@epam.com>
Merged r629812 from trunk with a fix for STDCXX-737
* etc/config/GNUmakefile.cfg: Check for the LDOPTS dependences
and setup LOPT variable when building the executable target
(restored r627618 after fixing bug).
2008-02-14 Travis Vitek <vitek@roguewave.com>
Merged rev 619587 from trunk.
2008-02-07 Travis Vitek <vitek@roguewave.com>
STDCXX-249
* include/istream.cc (operator>>): Read stream data in blocks where
possible for efficiency.
* include/streambuf: Add operator>> as friend for access to protected
member functions.
2008-02-11 Travis Vitek <vitek@roguewave.com>
Merged rev 604073 from trunk.
2007-12-11 Travis Vitek <vitek@roguewave.com>
STDCXX-673
* etc/config/src/LIMITS.cpp (main): Always use signed
types for definition of _RWSTD_INT[8,16,32,64]_T macros.
2008-02-09 Farid Zaripov <farid_zaripov@epam.com>
* include/exception: Swapped member declarations for ICC/Linux
and MSVC | ICC/Windows to simplify the preprocessor condition.
* src/exception.cpp: Ditto. Use MSVC code on ICC/Windows.
2008-02-09 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-720
* tests/regress/21.string.io.stdcxx-250.cpp: Give name to
the unnamed struct to workaround bug of the ICC/Windows.
* tests/regress/27.filebuf.virtuals.stdcxx-522.cpp: Ditto.
2008-02-08 Farid Zaripov <farid_zaripov@epam.com>
* etc/config/windows/icc-10.1.config: New config file for 32-bit
ICC 10.1.
* etc/config/windows/icc-10.1-x64.config: New config file for 64-bit
ICC 10.1.
2008-02-08 Farid Zaripov <farid_zaripov@epam.com>
Merged r619904 from trunk with a fix for STDCXX-548.
* src/punct.h: New header file with declaration of the
__rw_get_stdio_fmat().
* src/num_get.cpp: #included punct.h, removed declaration of
the __rw_get_stdio_fmat().
* src/num_put.cpp: Ditto.
* src/punct.cpp: #included punct.h, use _RWSTD_STREAMSIZE instead
of _STD::streamsize.
2008-02-06 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-685
* etc/config/windows/configure.wsf (makeLibrary): Use '\'
instead of '/' in path for consistency.
2008-02-05 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-698
* etc/config/src/headers.inc: Removed duplicate of the wcstod.
2008-02-04 Travis Vitek <vitek@roguewave.com>
Merged rev 618385 from trunk.
STDCXX-625
* tests/src/process.cpp (rw_waitpid): Use sigaction() instead of
signal() where available.
2008-02-02 Travis Vitek <vitek@roguewave.com>
Merged rev 617841 from trunk.
* tests/regress/21.string.stdcxx-231.cpp: Fix compile error.
2008-02-01 Martin Sebor <sebor@roguewave.com>
Merged rev 616976 from trunk.
2008-01-30 Martin Sebor <sebor@roguewave.com>
STDCXX-705
* tests/self/0.printf.cpp [_RWSTD_OS_HP_UX](bad_address): Used
(0 - 32) as an invalid address.
2008-01-31 Travis Vitek <vitek@roguewave.com>
Merge 617300 from trunk.
* include/istream.cc: Call clear() instead of erase() to avoid
unnecessary overhead and for consistency.
2008-01-31 Travis Vitek <vitek@roguewave.com>
Merged rev 617251 and 617276 from trunk.
2008-01-31 Travis Vitek <vitek@roguewave.com>
STDCXX-231
* include/string (clear): Avoid deallocating string body unless
necessary.
* include/string.cc (replace): Ditto.
* include/istream.cc (getline): Call clear () instead of erase()
to avoid unnecessary overhead.
2008-01-31 Travis Vitek <vitek@roguewave.com>
* tests/regress/21.string.stdcxx-231.cpp: Added regression test for
STDCXX-231.
2008-01-30 Travis Vitek <vitek@roguewave.com>
Merged rev 616673 with a fix for STDCXX-216 fron trunk.
* include/rw/_tree.cc (insert): Optimize insertion when hint iterator
is not begin() or end(). Add some much needed documentation.
2008-01-29 Travis Vitek <vitek@roguewave.com>
Merged rev 615419 with a fix for STDCXX-573 from trunk.
* etc/config/makefile.rules: Use WITH_PURIFY or WITH_CADVISE to enable
or disable purify and cadvise tools.
* GNUmakefile: Document new parameters and cache them in makefile.in.
2008-01-29 Farid Zaripov <farid_zaripov@epam.com>
* include/rw/_config-msvc.h: Disable compiler warning C4231.
2008-01-28 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-712
* tests/utilities/20.temp.buffer.cpp [_MSC_VER]: Disabled
"Invalid allocation size: 4294967292 bytes" message box from malloc().
2008-01-24 Farid Zaripov <farid_zaripov@epam.com>
* tests/regress/21.string.stdcxx-162.cpp: Corrected name of the file
in comment.
2008-01-24 Farid Zaripov <farid_zaripov@epam.com>
* include/rw/_allocator.h [!_RWSTD_ALLOCATOR] (address): Corrected
type in reinterpret_cast expression.
2008-01-24 Farid Zaripov <farid_zaripov@epam.com>
* include/string.cc (replace): Use copy () method instead of move ().
2008-01-24 Farid Zaripov <farid_zaripov@epam.com>
* include/string.cc: Corrected formatting.
2008-01-24 Farid Zaripov <farid_zaripov@epam.com>
* include/rw/_config-msvcrt.h [_MSC_VER <= 1300]:
#define _RWSTD_LONG_LONG as __int64 on MSVC 7.0.
2008-01-23 Martin Sebor <sebor@roguewave.com>
Merged rev 614760 with a fix for STDCXX-704 from trunk.
* driver.cpp [__EDG__](RW_TEST_COMPILER): Moved conditional #definition
last to avoid preempting the more-specific compiler macro.
[__HP_aCC](RW_TEST_COMPILER): Correctly detected HP aCC 6 even though
it uses the EDG front end and added the version of EDG eccp to the
definition of the macro.
2008-01-22 Farid Zaripov <farid_zaripov@epam.com>
* include/rw/_mutex.h: Remove unused declaration of the
InterlockedXXX() Win32 API functions.
* etc/config/src/ATOMIC_OPS.cpp: Delete unused configuration test.
2008-01-16 Martin Sebor <sebor@roguewave.com>
Merged rev 611016 and 611019 from trunk.
2008-01-10 Martin Sebor <sebor@roguewave.com>
* 27.ostream.unformatted.stdcxx-626.cpp: Added regression test
for STDCXX-626.
2008-01-10 Martin Sebor <sebor@roguewave.com>
STDCXX-626
* ostream.cc (flush): Implemeneted proposed resolution of LWG
issue 581 and reverted the resolution of issue 60 wrt ostream
::flush().
2008-01-16 Farid Zaripov <farid_zaripov@epam.com>
* include/rw/_mutex.h: Use intrinsic interlocked functions on MSVC 7.1
and ICC.
Declare the interlocked functions instead of #including <intrin.h>.
2008-01-16 Farid Zaripov <farid_zaripov@epam.com>
* include/rw/_config-msvcrt.h: Don't #define _RWSTD_NO_LONG_LONG as
__int64 if long long type is supported by compiler.
2008-01-12 William A. Rowe, Jr. <wrowe@apache.com>
* /repos/asf/incubator/stdcxx: stdcxx has graduated to a TLP,
moved svn to...
* /repos/asf/stdcxx: ...here.
2008-01-11 Travis Vitek <vitek@roguewave.com>
Merged rev 611307 from trunk with implementation of STDCXX-577
* examples/include/stocks.h: Removed StockXchange destructor
implementation.
* examples/tutorial/stocks.cpp: Add StockXchange destructor
that properly deallocates memory.
(main): Avoid allocation of facets when the locale that uses
them is not available. Change Xchange to hold pair values to
avoid having to deallocate those pairs explicitly. Cache the
locale initially imbued on stream, then restore it to ensure
that facets are deallocated.
2008-01-11 Travis Vitek <vitek@roguewave.com>
Merged rev 610576 from trunk with implementation of STDCXX-605.
* examples/tutorial/dynatype.cpp: Add overloaded method
that discards const to avoid looking in wrong map when
non-const conversion operator is used with a const type.
(main): Display text and converted value in two separate
statements to ensure output is generated the same on all
platforms. Add a return 0 for correctness.
* examples/tutorial/out/dynatype.out: Update output file
to match expected output format.
2008-01-06 Martin Sebor <sebor@roguewave.com>
Merged revs 608712 and 608713 from trunk:
2008-01-03 Martin Sebor <sebor@roguewave.com>
STDCXX-195
* include/ansi/cstdio [_RWSTD_STRICT_ANSI] (fpos_t, remove, rename,
tmpfile, tmpnam, fclose, fflush, fopen, freopen, setbuf, setvbuf,
fprintf, fscanf, printf, scanf, sprintf, sscanf, vfprintf, vprintf,
vsprintf, fgetc, fgets, fputc, fputs, getc, getchar, gets, putc,
putchar, puts, ungetc, fread, fwrite, fgetpos, fseek, fsetpos, ftell,
rewind, clearerr, feof, ferror, perror): Undefined shadow macros in
strict mode (only).
2008-01-03 Martin Sebor <sebor@roguewave.com>
* tests/regress/27.cstdio.stdcxx-195.cpp: New regression test for
STDCXX-195.
2007-12-19 Travis Vitek <vitek@roguewave.com>
Merged rev 605744 with a tweak for STDCXX-240 from trunk.
* include/rw/_config-xlc.h [__IBMCPP__]: Conditionally disable
exception support if command line option is set and the compiler
is version 7.0 or later.
2007-12-19 Farid Zaripov <farid_zaripov@epam.com>
* 21.string.io.stdcxx-250.cpp: Regression test for STDCXX-250 issue.
2007-12-19 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-250
* istream.cc (operator>>): Move counter __i out from the try/catch block
and rename to __gcount for consistency with getline(). Increment
__gcount after sbumpc() but before sgetc() to correctly reflect the
number of extracted characters. Set ios_base::failbit if no characters
extracted.
2007-12-19 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-226
* include/rw/_defs.h (_RWSTD_RATIO_DIVIDER): New macro defined the value
to divide the _RWSTD_{NEW|STRING}_CAPACITY_RATIO.
(_RWSTD_NEW_CAPACITY_RATIO): The value with floating point replaced to
integer value using multiplication with _RWSTD_RATIO_DIVIDER.
(_RWSTD_STRING_CAPACITY_RATIO): Ditto.
* include/rw/_specialized.h (__rw_new_capacity): Floating point
operations replaced to integer operations.
* include/sstream (_C_grow): Ditto.
* include/string (__rw_new_capacity): Ditto.
2007-12-19 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-585
* etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp: Don't define ~bad_alloc()
when testing the presence of the other members to avoid multiply
defined sybmol linker errors.
2007-12-18 Travis Vitek <vitek@roguewave.com>
Merged rev 605368 with a fix for STDCXX-240 from trunk.
* include/rw/_config-acc.h: Conditionally disable exception
support if appropriate command line option is set.
* include/rw/_config-deccxx.h: Ditto.
* include/rw/_config-eccp.h: Ditto.
* include/rw/_config-gcc.h: Ditto.
* include/rw/_config-icc.h: Ditto.
* include/rw/_config-mipspro.h: Ditto.
* include/rw/_config-xlc.h: Ditto.
2007-12-13 Martin Sebor <sebor@roguewave.com>
Merged revs 601922, 601927, and 601935 from trunk:
2007-12-06 Travis Vitek <vitek@roguewave.com>
STDCXX-443
* etc/config/vacpp.config: Remove -Q compile flag for AIX
optimized builds to be consistent with IBM documentation.
2007-12-05 Travis Vitek <vitek@roguewave.com>
STDCXX-676
* tests/locale/22.locale.time.put.cpp [_MSC_VER] (rw_strftime):
Avoid passing unsupported format specifiers to strftime().
2007-12-04 Travis Vitek <vitek@roguewave.com>
STDCXX-603
* include/valarray (apply): Avoid use of typedef in function
type to avoid linker error with VisualAge C++.
2007-12-12 Travis Vitek <vitek@roguewave.com>
Merged rev 604038 with a fix for STDCXX-524 from trunk.
* tests/localization/22.locale.codecvt.length.cpp (create_locale):
Check return code from rw_snprintf().
* tests/localization/22.locale.codecvt.out.cpp (create_locale):
Ditto.
* tests/localization/22.locale.time.get.cpp (make_LC_TIME):
Ditto. Use rw_snprintf() instead of sprintf(), use larger
fixed buffer sizes.
* tests/localization/22.locale.time.put.cpp (make_LC_TIME):
Ditto.
* tests/src/locale.cpp (): Ditto.
2007-12-11 Martin Sebor <sebor@roguewave.com>
Merged in rev 602770 with a fix for STDCXX-650 from trunk.
* etc/config/makefile.rules: Duplicated rules for sources matching
"*.out.cpp" and objects matching "*.out.o" (Only the latter appears
necessary).
2007-12-10 Farid Zaripov <farid_zaripov@epam.com>
* etc/config/windows/build.wsf (DiffTime): New function to get the
difference between two times.
(TimeEcho): Modified to print time similat to the unix script.
(build): Print relative time per each build step instead of
printing the timestamp.
2007-11-29 Travis Vitek <vitek@roguewave.com>
Merged rev 601040 with fix for STDCXX-604 from trunk.
* tests/regress/23.bitset.cons.stdcxx-297.cpp (main): Avoid passing
temporary to constructor to work around ICE with IBM VA C++.
2007-11-27 Martin Sebor <sebor@roguewave.com>
Merged rev 594730 from trunk with the implementation of STDCXX-623.
* util/target.h (target_status): Changed the type of user, system, and
wall clock time counters from clock_t* to plain clock_t and renamed to
usr_time, sys_time, and wall_time, respectively.
* util/exec.cpp (calculate_usage, exec_file): Eliminated static locals
and instead directly used the target_status object passed in by caller.
(exec_file):
* util/display.cpp (print_status_plain, print_status_verbose): Checked
for times equal to -1 as an indicator of validity.
(print_footer_plain): Printed cumulative times for all targets.
* util/runall.cpp (run_target): Accumulated target times.
2007-11-27 Farid Zaripov <farid_zaripov@epam.com>
* etc/config/windows/build.wsf (TimeEcho): Print timestamp with the
format identical to unix format.
2007-11-27 Farid Zaripov <farid_zaripov@epam.com>
* include/streambuf (imbue): Removed name of the unused parameter.
2007-11-23 Farid Zaripov <farid_zaripov@epam.com>
* 27.streambuf.imbue.stdcxx-307.cpp (main): Added missing "return 0".
2007-11-23 Martin Sebor <sebor@roguewave.com>
* 27.streambuf.imbue.stdcxx-307.cpp: New regression test for STDCXX-307.
2007-11-23 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-307
* streambuf (imbue): Code storing the locale moved from here...
(pubimbue): ... to here.
2007-11-21 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-671
* include/loc/_convenience.h: _V3_USE_FACET macro renamed to _RWSTD_USE_FACET.
* include/loc/_messages.cc: Ditto.
* include/loc/_money_get.cc: Ditto.
* include/loc/_money_put.cc: Ditto.
* include/loc/_num_get.cc: Ditto.
* include/loc/_num_put.cc: Ditto.
* include/loc/_punct.cc: Ditto.
* include/loc/_time_get.cc: Ditto.
* include/loc/_time_put.cc: Ditto.
* include/rw/_defs.h: Ditto.
* tests/localization/22.locale.moneypunct.cpp: Ditto.
2007-11-21 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-637
* include/ansi/cwchar [_RWSTD_STRICT_ANSI]: #undefine getwc
and putwc masking macros.
* tests/strings/21.cwchar.cpp (test_macros): Issue rw_warn()
instead of rw_assert() in non strict ANSI mode.
(test_functions): Issue rw_warn() instead of rw_assert().
2007-11-22 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-663
* rw/_config_msvcrt.h: #define _RWSTD_NO_WCSTOK and _RWSTD_NO_WCSTOK_IN_LIBC
macros since the MSVC has the non-standard prototype of the wcstok().
* ansi/cwchar [_MSC_VER >= 1400]: Define inline wcstok() function using wcstok_s().
#undefine _RWSTD_NO_WCSTOK and _RWSTD_NO_WCSTOK_IN_LIBC macros.
2007-11-22 Farid Zaripov <farid_zaripov@epam.com>
* 26.valarray.cassign.cpp (run_test): Corrected condition in preprocessor directive.
2007-11-16 Travis Vitek <vitek@roguewave.com>
STDCXX-649
* printf.cpp (_rw_fmtinteger): Implement `z' format specifier
support to avoid issues on platforms where size_t is not the
same size as int.
2007-11-20 Travis Vitek <vitek@roguewave.com>
STDCXX-607
* messages.cpp (__rw_cat_close): Put lock guard into local scope
to avoid recursive acquire on error.
2007-11-21 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-594
* include/rw/_defs.h (_V3_LOCALE): Replaced the obsolete macro with _STD.
* include/loc/_locale.h: Ditto.
* include/loc/_codecvt.cc: Ditto.
* include/loc/_codecvt.h: Ditto.
* include/loc/_collate.cc: Ditto.
* include/loc/_collate.h: Ditto.
* include/loc/_convenience.h: Ditto.
* include/loc/_ctype.cc: Ditto.
* include/loc/_ctype.h: Ditto.
* include/loc/_messages.cc: Ditto.
* include/loc/_messages.h: Ditto.
* include/loc/_money_get.cc: Ditto.
* include/loc/_money_put.cc: Ditto.
* include/loc/_moneypunct.cc: Ditto.
* include/loc/_moneypunct.h: Ditto.
* include/loc/_num_get.cc: Ditto.
* include/loc/_num_put.cc: Ditto.
* include/loc/_numpunct.cc: Ditto.
* include/loc/_numpunct.h: Ditto.
* include/loc/_time_get.cc: Ditto.
* include/loc/_time_put.cc: Ditto.
* src/use_facet.h: Ditto.
2007-11-21 Farid Zaripov <farid_zaripov@epam.com>
* terminate.h: Removed eventually inserted duplicate lines.
2007-11-21 Farid Zaripov <farid_zaripov@epam.com>
* extern_template_imp.cpp: #include <config.h> replaced to
#include "config.h" for consistency.
* LIMITS.cpp: #include "config.h" placed after the ASL header.
2007-11-21 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-558
* BAD_ALLOC_COPY_CTOR.cpp: Removed unnecessary #include "config.h".
* BAD_ALLOC_DEFAULT_CTOR.cpp: Ditto.
* BAD_ALLOC_DTOR.cpp: Ditto.
* BAD_ALLOC_WHAT.cpp: Ditto.
* BAD_CAST_ASSIGNMENT.cpp: Ditto.
* BAD_CAST_COPY_CTOR.cpp: Ditto.
* BAD_CAST_DEFAULT_CTOR.cpp: Ditto.
* BAD_CAST_DTOR.cpp: Ditto.
* BAD_CAST_WHAT.cpp: Ditto.
* BAD_EXCEPTION_ASSIGNMENT.cpp: Ditto.
* BAD_EXCEPTION_COPY_CTOR.cpp: Ditto.
* BAD_EXCEPTION_DEFAULT_CTOR.cpp: Ditto.
* BAD_EXCEPTION_DTOR.cpp: Ditto.
* BAD_EXCEPTION_WHAT.cpp: Ditto.
* BAD_TYPEID_ASSIGNMENT.cpp: Ditto.
* BAD_TYPEID_COPY_CTOR.cpp: Ditto.
* BAD_TYPEID_DEFAULT_CTOR.cpp: Ditto.
* BAD_TYPEID_DTOR.cpp: Ditto.
* BAD_TYPEID_WHAT.cpp: Ditto.
* BOOL.cpp: Ditto.
* CLASS_PARTIAL_SPEC.cpp: Ditto.
* COLLAPSE_STATIC_LOCALS.cpp: Ditto.
* COLLAPSE_TEMPLATE_LOCALS.cpp: Ditto.
* COLLAPSE_TEMPLATE_STATICS.cpp: Ditto.
* CTYPE_BITS.cpp: Ditto.
* DEFAULT_TEMPLATE_ARGS.cpp: Ditto.
* DEPRECATED_LIBC_IN_STD.cpp: Ditto.
* EXCEPTION_ASSIGNMENT.cpp: Ditto.
* EXCEPTION_COPY_CTOR.cpp: Ditto.
* EXCEPTION_DEFAULT_CTOR.cpp: Ditto.
* EXCEPTION_DTOR.cpp: Ditto.
* EXCEPTION_WHAT.cpp: Ditto.
* EXPLICIT.cpp: Ditto.
* EXPLICIT_ARG.cpp: Ditto.
* EXPLICIT_FUNC_INSTANTIATION.cpp: Ditto.
* EXTERN_FUNCTION_TEMPLATE.cpp: Ditto.
* EXTERN_INLINE.cpp: Ditto.
* EXTERN_TEMPLATE.cpp: Ditto.
* FUNCTION_TRY_BLOCK.cpp: Ditto.
* GLOBAL_TYPE_INFO.cpp: Ditto.
* ICONV.cpp: Ditto.
* lib_exceptions.lib.cpp: Ditto.
* LLONG_PRINTF_PREFIX.cpp: Ditto.
* LONG_DOUBLE.cpp: Ditto.
* MUNMAP.cpp: Ditto.
* NATIVE_WCHAR_T.cpp: Ditto.
* NEW_CLASS_TEMPLATE_SYNTAX.cpp: Ditto.
* NEWLINE.cpp: Ditto.
* NL_TYPES_H.cpp: Ditto.
* NO_DBL_TRAPS.cpp: Ditto.
* NO_INT_TRAPS.cpp: Ditto.
* STD_TERMINATE.cpp: Ditto.
2007-11-21 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-557
* terminate.h: New header file with a definition of the std::terminate().
* BAD_ALLOC_ASSIGNMENT.cpp (terminate): Function removed,
#included "terminate.h" instead.
* DYNAMIC_CAST.cpp: Ditto.
* EXCEPTIONS.cpp: Ditto.
* FLOAT.cpp: Ditto.
* GLOBAL_BAD_ALLOC.cpp: Ditto.
* GLOBAL_BAD_CAST.cpp: Ditto.
* GLOBAL_BAD_EXCEPTION.cpp: Ditto.
* GLOBAL_BAD_TYPEID.cpp: Ditto.
* GLOBAL_EXCEPTION.cpp: Ditto.
* GLOBAL_UNCAUGHT_EXCEPTION.cpp: Ditto.
* LIB_EXCEPTIONS.cpp: Ditto.
* LIMITS.cpp: Ditto.
* NEW_THROWS.cpp: Ditto.
* OPERATOR_DELETE_ARRAY_PLACEMENT.cpp: Ditto.
* OPERATOR_DELETE_PLACEMENT.cpp: Ditto.
* OPERATOR_NEW_ARRAY_PLACEMENT.cpp: Ditto.
* OPERATOR_NEW_PLACEMENT.cpp: Ditto.
* STD_BAD_ALLOC.cpp: Ditto.
* STD_BAD_CAST.cpp: Ditto.
* STD_BAD_EXCEPTION.cpp: Ditto.
* STD_BAD_TYPEID.cpp: Ditto.
* STD_EXCEPTION.cpp: Ditto.
* STD_UNCAUGHT_EXCEPTION.cpp: Ditto.
* TYPE_INFO_DTOR.cpp: Ditto.
2007-11-20 Farid Zaripov <farid_zaripov@epam.com>
* BAD_ALLOC_ASSIGNMENT.cpp: Corrected __GNUG__ macro (was GNUG__).
2007-11-20 Martin Sebor <sebor@roguewave.com>
Merged rev 596704 from trunk.
* rw_locale.h (rw_set_locale_root): Updated comments.
2007-11-19 Farid Zaripov <farid_zaripov@epam.com>
Merged r596354 from trunk with a fix for STDCXX-669.
* 20.auto.ptr.cpp (test_auto_ptr): Worked around bug in MSVC 7.x.
2007-11-19 Farid Zaripov <farid_zaripov@epam.com>
* 22.locale.ctype.cpp (run_test<>): The compile time
checks moved to test_libstd(); The function run_test<>()
removed; The test_libstd() and test_libc() functions are
invoked from non-template run_test() to invoke them in
the following order: test_libc<char>(), test_libc<wchar_t>(),
test_libstd<char>(), test_libstd<wchar_t>().
(write_string): Function removed.
(create_locale): Function removed. The locale source character
array moved from here ...
(test_libstd): ... to here. Use rw_create_locale() instead of create_locale().
2007-11-19 Farid Zaripov <farid_zaripov@epam.com>
* 22.locale.ctype.cpp (test_libstd_toupper_tolower): Added braces
around multiline TEST macro.
(test_libstd_mask): Corrected '\xa0' value to '\xa2'.
2007-11-19 Farid Zaripov <farid_zaripov@epam.com>
* 22.locale.ctype.is.cpp (run_test<>): The compile time
checks moved to test_libstd(); The function run_test<>()
removed; The test_libstd() and test_libc() functions are
invoked from non-template run_test() to invoke them in
the following order: test_libc<char>(), test_libc<wchar_t>(),
test_libstd<char>(), test_libstd<wchar_t>().
2007-11-19 Farid Zaripov <farid_zaripov@epam.com>
Merged r596316 from trunk.
* deque (_C_bufsize): Use _RWSTD_NEW_CAPACITY macro
instead of __rw_new_capacity().
* list.cc (_C_add_buffer): Ditto.
* rw/_tree.cc (_C_add_new_buffer): Ditto.
* vector.cc (_C_realloc): Ditto.
2007-11-15 Farid Zaripov <farid_zaripov@epam.com>
* examples/tutorial/icecream.cpp: define
eventComparator::operator() as a const member.
* doc/stdlibug/11-3.html: Ditto.
2007-11-14 Farid Zaripov <farid_zaripov@epam.com>
* stdlibug/11-3.html: Updated example source according to
changes in r594966.
2007-11-14 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-661
* tutorial/icecream.cpp (class event): Removed unused operator>().
(eventComparator): Defined as separate struct instead of typedef
std::greater<>.
* tutorial/out/icecream.out: Updated .out file to reflect the
changes above.
2007-11-12 Farid Zaripov <farid_zaripov@epam.com>
* locale.cpp [_WIN32]: Added missing space in LS_1 command.
2007-11-12 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-662
* 17.names.cpp [_WIN32 && 1400 <= _MSC_VER]: Added #include <intrin.h>
because it will be included by the library.
2007-11-09 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-659
* 22.locale.moneypunct.cpp (check_moneypunct): Set all categories
instead setting the only monetary category.
2007-11-09 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-658
* 27.istream.fmat.arith.cpp (test_llong): Corrected typename "long"
to "long long".
(test_ullong): Corrected typename "long long" to "unsigned long long".
2007-11-08 Martin Sebor <sebor@roguewave.com>
Merged rev 593361 from trunk with a workaround for STDCXX-616.
* 20.auto.ptr.cpp (test_auto_ptr_void): Worked around HP aCC bugs.
2007-11-08 Farid Zaripov <farid_zaripov@epam.com>
* exec.cpp [_WIN32]: Added STATUS_HEAP_CORRUPTION
to the nt_status_map (detected on Vista).
2007-11-07 Martin Sebor <sebor@roguewave.com>
Merged rev 593006 from trunk.
STDCXX-654
* 18.setjmp.cpp (run_test): Qualified a local variable with volatile
to work around what looks like a gcc optimized bug.
2007-11-07 Martin Sebor <sebor@roguewave.com>
Merged rev 592995 from trunk.
STDCXX-651
* 23.vector.stdcxx-611.cpp: Avoided calling the test function
in a compile-only test.
STDCXX-652
* 23.vector.stdcxx-611.cpp: Explicitly initialized a const
array of objects of user-defined type with no default ctor
to avoid compiler errors.
2007-11-07 Martin Sebor <sebor@roguewave.com>
Merged rev 592890 from trunk.
* NOTICE.txt: Added HP copyright from src/parisc/atomic.s.
2007-11-02 Farid Zaripov <farid_zaripov@epam.com>
* build.wsf (build): The order of running examples, tests
and locales on Windows arranged to the order of running
on UNIX (locales, tests, examples).
2007-11-01 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-634
* 25.random.shuffle.cpp (test_random_shuffle): Corrected data
in the result array.
2007-10-31 Travis Vitek <vitek@roguewave.com>
STDCXX-625
* process.cpp (sig_handler): Don't re-register for signal from
within signal handler to avoid stack overflow on HP-UX and AIX.
(rw_waitpid): Set and restore signal handler inside loop so we
can avoid using the signal handler to do it.
2007-10-31 Farid Zaripov <farid_zaripov@epam.com>
* projectdef.js (projectCreateVCProject): Generate source pdb
in OutDir only for static libraries. For the other projects
generate the binary pdb in OutDir, and source pdb in IntDir.
2007-10-30 Martin Sebor <sebor@roguewave.com>
STDCXX-414
* util.cpp (rw_signal): Guarded with _RWSTD_EDG_ECCP instead of
_RWSTD_NO_PURE_C_HEADERS as done in rev 588734 since the latter
is #defined with other compilers including Sun C++ on Linux and
it's on Linux where rw_signal() must be implemented in terms of
sigaction() to do what we want.
2007-10-30 Martin Sebor <sebor@roguewave.com>
* CTYPE_BITS.cpp (main): Removed a stray '=' from test output.
2007-10-30 Farid Zaripov <farid_zaripov@epam.com>
* build.wsf (TimeEcho): New function to print the message with timestamp.
Use TimeEcho() for the printing messages on every build stage.
2007-10-30 Farid Zaripov <farid_zaripov@epam.com>
* exec.cpp [!_WIN32 && !_RWSTD_NO_PURE_C_HEADERS] (kill, fdopen):
Skip the functions declaration on Windows.
2007-10-30 Farid Zaripov <farid_zaripov@epam.com>
Merged r581667 from trunk
* 22.locale.moneypunct.cpp (convert): Save the name of the
original locale using std::string object. Use return instead
of break to avoid restoring the original locale twice.
2007-10-30 Farid Zaripov <farid_zaripov@epam.com>
Merged r581946 from trunk with a fix for STDCXX-575
* 22.locale.cons.mt.cpp [_MSC_VER] (test_ctors): If
cat == std::locale::messages, compare combined locale
with first because of the MSVC doesn't support
LC_MESSAGES constant.
2007-10-30 Farid Zaripov <farid_zaripov@epam.com>
Merged r585460 from trunk with a fix for STDCXX-601
* 20.auto.ptr (test_auto_ptr): Ensure allocated
object is value-initialized to avoid uninitialized memory
read error.
2007-10-30 Farid Zaripov <farid_zaripov@epam.com>
Merged r583398 from trunk with a fix for STDCXX-582
* 0.printf.cpp (test_errno): Deallocate memory allocated
automatically by rw_snprintfa().
2007-10-30 Farid Zaripov <farid_zaripov@epam.com>
Merged r585143 from trunk with a fix for STDCXX-109
* etc/config/makefile.rules ($(CATFILE)): Make failure to execute
the gencat utility non-fatal.
2007-10-30 Farid Zaripov <farid_zaripov@epam.com>
Merged r583840 from trunk
* configure.wsf (configure): Removed IncludeDir command
line option.
* projects.js (CreateProjectsDefs): Removed /IncludeDir
option from command line of the configure.wsf script.
2007-10-30 Farid Zaripov <farid_zaripov@epam.com>
Merged r580982 from trunk
* time_put.cpp (__rw_get_date_fmat): Convert char argument
of isspace(), isdigit(), ispunct() to unsigned char.
(__rw_get_time_fmat): Ditto.
2007-10-30 Farid Zaripov <farid_zaripov@epam.com>
Merged /tests/regress/ from trunk
* 21.string.io.stdcxx-206.cpp: Regression test for STDCXX-206.
* 26.valarray.members.stdcxx-313.cpp: Regression test for STDCXX-313.
* 26.valarray.members.stdcxx-318.cpp: Regression test for STDCXX-318.
* 26.valarray.sub.stdcxx-224.cpp: Regression test for STDCXX-224.
* 26.valarray.unary.stdcxx-314.cpp: Regression test for STDCXX-314.
* 27.stringbuf.xsputn.stdcxx-576.cpp: Regression test for STDCXX-576.
2007-10-30 Farid Zaripov <farid_zaripov@epam.com>
Merged r580981 from trunk
* locale.cpp [_WIN32] (EnumLocales): New function to
enumerate system locales.
(print_locale_names): Obtain list of system locales if
RWSTD_LOCALE_ROOT environment variable is not defined.
2007-10-30 Farid Zaripov <farid_zaripov@epam.com>
Merged r581626 from trunk
* display.cpp (print_status_plain): Use float arithmetic when
calculating the percent of the failed assertions to avoid
overflow of the unsigned int type.
2007-10-30 Farid Zaripov <farid_zaripov@epam.com>
* 21.string.swap.cpp: Corrected $Id line.
2007-10-30 Farid Zaripov <farid_zaripov@epam.com>
* etc/config/src/DAYLIGHT.cpp: Updated svn:eol-style and svn:keywords properties.
* examples/manual/insert_wchar.cpp: Ditto.
* examples/manual/mbsrtowcs.cpp: Ditto.
* include/complex.c: Ditto.
* include/complex.cc: Ditto.
* src/logic_error.cpp: Ditto.
* tests/strings/21.string.cons.mt.cpp: Ditto.
* util/locale_stub.cpp: Ditto.
2007-10-30 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-621
* examples/manual/binary_search.cpp: Updated ASL header.
* examples/manual/merge.cpp: Ditto.
* examples/manual/reverse_iterator.cpp: Ditto.
* include/fstream: Ditto.
* include/iosfwd: Ditto.
* include/loc/_money_get.h: Ditto.
* include/loc/_money_put.h: Ditto.
* include/loc/_num_get.h: Ditto.
* include/loc/_time_get.h: Ditto.
* include/loc/_time_put.h: Ditto.
* include/ostream: Ditto.
* include/rw/_basic_ios.h: Ditto.
* include/rw/_config-acc.h: Ditto.
* include/rw/_config-deccxx.h: Ditto.
* include/rw/_config-icc.h: Ditto.
* include/rw/_config-mipspro.h: Ditto.
* include/rw/_config-sunpro.h: Ditto.
* include/rw/_config-xlc.h: Ditto.
* include/rw/_ioinsert.cc: Ditto.
* include/rw/_ioinsert.h: Ditto.
* include/rw/_ioiter.h: Ditto.
* include/rw/_iterator.h: Ditto.
* include/rw/_mutex.h: Ditto.
* include/rw/_streamiter.h: Ditto.
* include/stack: Ditto.
* include/streambuf: Ditto.
* include/streambuf.cc: Ditto.
* include/tr1/_smartptr.h: Ditto.
* include/tr1/cstdint: Ditto.
* include/tr1/stdint.h: Ditto.
* LICENSE.txt: Ditto.
* src/bitset.cpp: Ditto.
* src/instance.cpp: Ditto.
* src/locale_body.cpp: Ditto.
* src/ti_filebuf.cpp: Ditto.
* src/ti_wfilebuf.cpp: Ditto.
* tests/include/any.h: Ditto.
* tests/include/rw_alloc.h: Ditto.
* tests/include/rw_ctype.h: Ditto.
* tests/include/rw_exception.h: Ditto.
* tests/include/rw_new.h: Ditto.
* tests/include/rw_streambuf.h: Ditto.
* tests/iostream/27.filebuf.codecvt.cpp: Ditto.
* tests/iostream/27.istream.unformatted.get.cpp: Ditto.
* tests/localization/22.locale.time.put.cpp: Ditto.
* tests/self/0.alloc.cpp: Ditto.
* tests/self/0.char.cpp: Ditto.
* tests/self/0.cmdopts.cpp: Ditto.
* tests/self/0.ctype.cpp: Ditto.
* tests/src/alarm.cpp: Ditto.
* tests/src/char.cpp: Ditto.
* tests/src/cmdopt.cpp: Ditto.
* tests/src/ctype.cpp: Ditto.
* tests/src/fmt_defs.h: Ditto.
* tests/strings/21.string.capacity.cpp: Ditto.
* tests/strings/21.string.compare.cpp: Ditto.
* tests/strings/21.string.copy.cpp: Ditto.
* tests/strings/21.string.erase.cpp: Ditto.
* tests/strings/21.string.find.cpp: Ditto.
* tests/strings/21.string.find.first.of.cpp: Ditto.
* tests/strings/21.string.find.last.not.of.cpp: Ditto.
* tests/strings/21.string.find.last.of.cpp: Ditto.
* tests/strings/21.string.io.cpp: Ditto.
* tests/strings/21.string.iterators.cpp: Ditto.
* tests/strings/21.string.op.plus.cpp: Ditto.
* tests/strings/21.string.op.plus.equal.cpp: Ditto.
* tests/strings/21.string.operators.cpp: Ditto.
* tests/strings/21.string.replace.cpp: Ditto.
* tests/strings/21.string.rfind.cpp: Ditto.
* tests/strings/21.string.substr.cpp: Ditto.
* tests/strings/21.string.swap.cpp: Ditto.
* tests/tr1.c99/8.cstdint.cpp: Ditto.
* tests/utilities/20.auto.ptr.cpp: Ditto.
* tests/utilities/20.specialized.cpp: Ditto.
2007-10-29 Martin Sebor <sebor@roguewave.com>
STDCXX-624
* etc/config/src/NO_INT_TRAPS.cpp (main): Worked even harder to foil
optimizers and trigger a trap (such as SIGFPE) for integer arithmetic.
2007-10-29 Martin Sebor <sebor@roguewave.com>
* _config.h (_RWSTD_VER): Bumped up micro version number to 1.
(_RWSTD_VER_STR): Updated the version string to reflect the
above, i.e., to "4.2.1"
2007-10-29 Martin Sebor <sebor@roguewave.com>
* genxviews (process_results): Corrected a list of suffixes
and documented the build type convention.
2007-10-29 Martin Sebor <sebor@roguewave.com>
Merged the head of branches/4.2.x.
* genxviews: New.
* xbuildgen: Merged rev 589433.
2007-10-29 Travis Vitek <vitek@roguewave.com>
STDCXX-614
* 27.stringbuf.xsputn.stdcxx-515.cpp (main): Include header
and add namespace qualifier as required to compile.
2007-10-29 Travis Vitek <vitek@roguewave.com>
STDCXX-617
* 26.valarray.transcend.stdcxx-315.cpp (main): Work around
bug in Intel C++ 10.0.025 (and other EDG eccp derivatives)
that does not consider const copy-assignment operator before
attempting to generate one.
2007-10-26 Farid Zaripov <farid_zaripov@epam.com>
* 23.vector.allocator.cpp (address): Use the proper Pointer<> ctor.
2007-10-26 Farid Zaripov <farid_zaripov@epam.com>
Merged r581659 from trunk
* 23.vector.bool.stdcxx-235.cpp (main): Corrected the
lines which are testing the operator!=.
2007-10-26 Martin Sebor <sebor@roguewave.com>
* util.h (rw_sleep, rw_signal): Declared helper functions.
* cmdopt.cpp (rw_sleep, rw_signal): Moved formerly static
functions from here...
* util.cpp: ...to here and declared extern.
* exec.cpp (SIGHUP, SIGQUIT, SIGKILL, SIGALRM, ESRCH, EINTR,
ECHILD, EINVAL): #defined macros when they're not #defined
in system headers.
[!_RWSTD_NO_PURE_C_HEADERS] (kill, fdopen): Declared.
(wait_for_child): Called rw_signal() instead of sigaction()
directly.
STDCXX-414
* util.cpp: [!_RWSTD_NO_PURE_C_HEADERS] (rw_signal): Implemented
in terms of signal() instead of sigaction() so as to avoid
a dependency on POSIX symbols in <signal.h>.
2007-10-26 Travis Vitek <vitek@roguewave.com>
* 23.vector.stdcxx-611.cpp: The regression test for STDCXX-611.
2007-10-26 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-437
* include/list [_MSC_VER < 1300]: Remove MSVC 6.0 specific code.
* include/loc/_locale.h: Ditto.
* include/map: Ditto.
* include/rw/_config-msvc.h: Ditto.
* include/rw/_config-msvcrt.h: Ditto.
* include/rw/_defs.h: Ditto.
* include/rw/_tree.h: Ditto.
* include/set: Ditto.
* include/string: Ditto.
* include/vector: Ditto.
* src/exception.cpp: Ditto.
* src/ti_ios.cpp: Ditto.
* src/ti_wios.cpp: Ditto.
2007-10-26 Farid Zaripov <farid_zaripov@epam.com>
Fixed the r588659
* ios_bits.cpp [_MSC_VER > 1300]: Remove unnecessary
conditional compilation directive.
2007-10-26 Farid Zaripov <farid_zaripov@epam.com>
* ios_bits.cpp [_MSC_VER > 1300]: Remove unnecessary
conditional compilation directive.
2007-10-26 Travis Vitek <vitek@roguewave.com>
Farid Zaripov <farid_zaripov@epam.com>
STDCXX-619
* 25.remove.cpp (test_remove): Move rw_assert()'s inside the
for-loop body, to avoid invoking them when the for-loop was
iterated 0 times).
2007-10-25 Farid Zaripov <farid_zaripov@epam.com>
* projectdef.js (projectCreateVCProject): Generate .pdb file
in $(OutDir) instead of $(IntDir). Use common .pdb file
instead of two (compiler's and linker's).
2007-10-24 Martin Sebor <sebor@roguewave.com>
* README (Source Directory Structure): Removed references to
the now unused runall.sh script.
(Build Directory Structure): Same. Added links to the exec
utility.
(Library Build Instructions): Documented that BUILDTYPE is
optional. Clarified the same for BUILDTYPE and BUILDMODE,
and explained the effect of specifying neither.
(VisualStudio Setup Instructions): Added msvc-9.0 and
msvc-9.0-x64.
(Test Suite Build Instructions): Corrected the placement of
the .d files, removed comments about examples and tests being
optionalm and described how to run everything from ${BUILDDIR}.
Removed mentions of the runall.sh script.
2007-10-24 Farid Zaripov <farid_zaripov@epam.com>
Merged r583889 from trunk with a fix for STDCXX-580
* strstream.cpp (main): Unfreeze streambuf so destructor
will deallocate memory.
2007-10-24 Farid Zaripov <farid_zaripov@epam.com>
* 20.temp.buffer.mt.cpp (thr_func): Remove setting
default zero values for buffers since std::pair
default ctor already do that.
2007-10-24 Travis Vitek <vitek@roguewave.com>
STDCXX-584
* 18.exception.cpp (test_throw_proc): Deallocate exception
description string passed to user throw proc to avoid memory
leak.
2007-10-24 Travis Vitek <vitek@roguewave.com>
STDCXX-587
* 20.temp.buffer.mt.cpp (test_return_buffer): Set buffer pointer
to 0 after deallocating.
(thr_func): Provide default values for buffers. Deallocate buffers
that remain allocated after thread loop.
2007-10-23 Martin Sebor <sebor@roguewave.com>
* locale.cpp: Updated copyright year after a prior change.
* thread.cpp: Same.
2007-10-23 Martin Sebor <sebor@roguewave.com>
* locale.cpp (_XOPEN_SOURCE): Avoided #defining macro when
_RWSTD_NO_PURE_C_HEADERS is not #defined (e.g., EDG eccp).
* file.cpp: Same.
2007-10-23 Martin Sebor <sebor@roguewave.com>
* thread.cpp [!_RWSTD_NO_PURE_C_HEADERS](popen): Declared function
for super-strict mode (e.g., EDG eccp).
2007-10-23 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-611
* vector.cc (_C_insert_n): Use overloads of the uninitialized
algorithms that take a reference to Allocator as the last argument.
2007-10-23 Travis Vitek <vitek@roguewave.com>
STDCXX-593
* locale.cpp (rw_locale): Update used array size to avoid
writing past the end of the allocated buffer. Use a growth
constant variable to avoid writing the same value in many
places. Use precalculated name length instead of calling
strlen() repeatedly.
[_WIN32]: Hide _malloc_dbg and _free_dbg behind macros
to clean up multiple conditional blocks and to avoid memory
block type mismatch.
2007-10-23 Farid Zaripov <farid_zaripov@epam.com>
* vector.cc (_C_insert_1): Reverted changes from r587164
since the STDCXX-495 issue is deferred to 4.3 release.
2007-10-23 Farid Zaripov <farid_zaripov@epam.com>
* ctype.html: Removed #include <examples.h> from example code.
* locale.html: Ditto.
* money-put.html: Ditto.
* moneypunct.html: Ditto.
* num-put.html: Ditto.
* numpunct.html: Ditto.
* strstreambuf.html: Ditto.
* valarray.html: Ditto.
2007-10-22 Travis Vitek <vitek@roguewave.com>
STDCXX-578
* time_put.cpp (__rw_get_timepunct): changed to use operator
new/delete for memory allocation to avoid new/delete mismatch with
facet destructor.
2007-10-22 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-609
* generate.wsf (generateBuildBatch): Use 11s build type as default
if no any build type specified.
2007-10-22 Farid Zaripov <farid_zaripov@epam.com>
* strstreambuf.html: Updated the example source and
the program output according to changes in r587173.
2007-10-22 Travis Vitek <vitek@roguewave.com>
STDCXX-579
* strstreambuf.cpp (main): Unfreeze streambuf so destructor
will deallocate memory.
2007-10-22 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-495
* vector.cc (_C_insert_1): Allow inserting the values from *this.
If the value_type is a fundamental type, then save the inserting value
in a temporary copy before the moving [it; end()) range toward to end.
If the value_type is not a fundamental type, then save the pointer to
the inserting value and adjust the pointer if the inserting value belongs
to the range [it; end()).
2007-10-22 Farid Zaripov <farid_zaripov@epam.com>
* 23.vector.modifiers.stdcxx-495.cpp: Regression test for STDCXX-495.
2007-10-22 Farid Zaripov <farid_zaripov@epam.com>
Merged r585116 from trunk with a fix for STDCXX-596
* 0.printf.cpp (_rw_fmtarray): Check pointer bounds before
examining the contents to avoid uninitialized memory read.
2007-10-22 Travis Vitek <vitek@roguewave.com>
STDCXX-581
* printf.cpp (_rw_fmtstr): Provide reasonable length value
to call to __rw_memattr() to avoid touching uninitialized
memory.
(_rwfmtwstr): Ditto.
(_rwfmtarray): Ditto.
2007-10-20 Martin Sebor <sebor@roguewave.com>
* ChangeLog: Regenerated.
2007-10-20 Martin Sebor <sebor@roguewave.com>
STDCXX-350
* _rawiter.h [__GNUG__ >= 4] (get_temporary_buffer,
return_temporary_buffer): Used __attribute__ (__may_alias__) to
tell the gcc optimizier about type-punning in a reinterpret_cast()
and to silence gcc 4 warning: dereferencing type-punned pointer will
break strict-aliasing rules.
2007-10-20 Martin Sebor <sebor@roguewave.com>
* 26.valarray.cassign.cpp (run_test): Disabled tests exercising
valarray specializations on a user-defined type for 4.2.0 and
prior since they are known to fail to compile due to STDCXX-512.
2007-10-20 Martin Sebor <sebor@roguewave.com>
* _config.h (_RWSTD_VER): Corrected comments explaining source
and binary compatibility rules controlling changes to the library
version number.
2007-10-19 Travis Vitek <vitek@roguewave.com>
* README (Index): Update section names and numbers.
(VisualStudio Directory Structure): Add new section
describing expected directory structure.
(VisualStudio Setup Instructions): Remove filename
extension from the list of supported configuration
options so that the provided names match the names
allowed by the configure script.
2007-10-19 Farid Zaripov <farid_zaripov@epam.com>
* etc/config/windows/configure.wsf (configure): #define
_RWSTD_NO_REENTRANT macro in config.h file for single-threaded builds
for compatibility with prior versions of stdcxx on Windows (MSVC 7.x),
i.e., in order to make 8s and 11s build types non-reentrant even when
the compiler itself doesn't have a non-reentrant runtime (MSVC 8 and
beyond).
* include/rw/_config-msvcrt.h (_RWSTD_REENTRANT): #define macro only if
#defined _MT and not #defined _RWSTD_NO_REENTRANT, for single-threaded
builds with compilers that don't have a single-threaded CRT (i.e. MSVC
8, MSVC 9).
2007-10-19 Farid Zaripov <farid_zaripov@epam.com>
Merged rev 586502 from branches/4.2.0.
* _config-msvcrt.h [_DLL]: Define configuration macros
to maintain binary compatibility with 4.1.x on MSVC
only for dynamic builds to prevent the multiple
definition symbols linker errors.
2007-10-19 Martin Sebor <sebor@roguewave.com>
* README (Disclaimer): Added an explanation.
(Contents): Expanded to document LICENSE.txt and NOTICE.txt.
(Compatibility): Added a new subsection.
(Unpacking Intructions): Expanded to clarify tarball names.
(Source Directory Structure): Added documentation of top-level files
new in this release and removed the no longer relevant blurb about
the fixtree.sh script.
(Library Utilities): Briefly documented the new utility programs,
exec and gencat.
(Test Suite Files): Added a few words about the exec utility.
(Examples and Tutorials): Expanded and clarified.
(Build Directory Structure): Removed obsolte text about tests being
optional.
(Library Build Instructions): Updated top-level directory listing.
(Library Installation on UNIX Systems): New section documenting
the install make target.
(Library Installation on Microsoft Windows): Placeholder for future
work.
(config.h): Documented confih.log.
(Compiler Configuration Macros): Documented _RWSTD_NO_OBJECT_MANGLING.
(C Library Configuration Macros): Documented _RWSTD_NO_PURE_C_HEADERS.
(Macros Controlling Strings): Documented _RWSTD_USE_STRING_ATOMIC_OPS.
(HP aCC): Arranged compiler versions from most recent to oldest.
(SGI MIPSpro): Added "tested with" versions.
(Sun C++): Added x86 to the set of arches.
2007-10-18 Martin Sebor <sebor@roguewave.com>
* ChangeLog: Regenerated.
2007-10-18 Martin Sebor <sebor@roguewave.com>
* branches/4.2.x: Created a copy of the head of branches/4.2.0
in preparation for maintenance (micro) releases after 4.2.0.
2007-10-18 Farid Zaripov <farid_zaripov@epam.com>
STDCXX-509
* limits_bits.cpp [_RWSTD_VER_MAJOR < 5 && _MSC_VER && _DLL]
(__rw_flt_denorm_min_vc, __rw_flt_infinity_vc, __rw_flt_qNaN_vc,
__rw_flt_sNaN_vc, __rw_dbl_denorm_min_vc, __rw_dbl_infinity_vc,
__rw_dbl_qNaN_vc, __rw_dbl_sNaN_vc, __rw_ldbl_denorm_min_vc,
__rw_ldbl_infinity_vc, __rw_ldbl_qNaN_vc, __rw_ldbl_sNaN_vc):
New constants exported as the corresponding floating constants
with the same mangled names as those from 4.1.3 (sans the _vc
suffix) for the binary compatibility with prior releases.
2007-10-18 Martin Sebor <sebor@roguewave.com>
* string (__replace_aux): Made member function template public
as intended (but not actually done) in rev 586118 to get HP aCC
3 and 5 to compile the code again (and to restore the solution
implemented for STDCXX-271).
2007-10-18 Travis Vitek <vitek@roguewave.com>
Martin Sebor <sebor@roguewave.com>
* _config-msvc.h: Reverted rev 586112 and applied the same patch
below (modulo some additional noise that had accidentally slipped
in).
* _config-msvcrt.h [_RWSTD_VER_MAJOR < 5]: Define configuration
macros to maintain binary compatibility with 4.1.x on both MSVC
and Intel C++ on Windows.
2007-10-18 Martin Sebor <sebor@roguewave.com>
* string (_C_grow): Made private again, after inadvertently making
it public for MSVC in rev 544975 while fixing STDCXX-271 for HP aCC
and braking binary compatibiliy in programs compled with MSVC that
invoke the replace() member function template (which in turn calls
the inline but exported _C_grow()).
2007-10-18 Travis Vitek <vitek@roguewave.com>
* _config-msvc.h [_RWSTD_VER_MAJOR < 5]: Define configuration
macros to maintain binary compatibility with 4.1.x on MSVC.
2007-10-18 Martin Sebor <sebor@roguewave.com>
Disabled fix for STDCXX-469 for Microsoft Visual Studio to maintain
binary compatibility with stdcxx 4.1.x (the compiler mangles the
access specifier of class members into their names).
* include/loc/_facet.h [_MSC_VER] (__rw_facet, ~__rw_facet): Made
class ctor and dtor public again until stdcxx 5.0.
2007-10-18 Martin Sebor <sebor@roguewave.com>
Disabled fix for STDCXX-162 for binary compatibility with stdcxx 4.1.x.
* include/rw/_config.h (_RWSTD_NO_STRING_ATOMIC_OPS): New macro #defined
on x86_64 Linux unless _RWSTD_USE_STRING_ATOMIC_OPS is #defined on the
command line (or in the generated config.h header).
* include/rw/_strref.h (_RWSTD_NO_STRING_MUTEX): Guarded by the new
_RWSTD_NO_STRING_ATOMIC_OPS macro.
2007-10-17 Martin Sebor <sebor@roguewave.com>
* README: Merged rev 585595 from trunk.
2007-10-16 Martin Sebor <sebor@roguewave.com>
Merged changes for STDCXX-505 from trunk.
* doc/stdlibref/acknow.html: Renamed...
* doc/stdlibref/history.html: ...to this.
* doc/stdlibref/frames-intro-contents.html: Reflected the above.
* doc/stdlibug/acknow.html: Renamed...
* doc/stdlibug/history.html: ...to this.
* doc/stdlibug/frames-intro-contents.html: Reflected the above.
* doc/stdlibref/history.html: Updated.
* doc/stdlibug/history.html: Same.
2007-10-16 Martin Sebor <sebor@roguewave.com>
Merged rev 584997 from trunk.
* README: Removed the "(pre-release)" bit from the version string
and added the set of platforms on which 4.2.0 has been tested on.
2007-10-16 Martin Sebor <sebor@roguewave.com>
Merged rev 585216 from trunk.
* ChangeLog: Generated a single per-project ChangeLog.
* examples/ChangeLog: Deleted. Superseded by the above.
* include/ChangeLog: Likewise.
* src/ChangeLog: Likewise.
* util/ChangeLog: Likewise.
* tests/ChangeLog: Likewise.
2007-10-16 Martin Sebor <sebor@roguewave.com>
STDCXX-600
* include/exception (exception): Partially reverted fix for STDCXX-262
committed in rev 583667 due to the binary incompatibility of the change
both with stdcxx 4.1.x as well as with gcc's libsupc++.
2007-10-15 Martin Sebor <sebor@roguewave.com>
* src/ChangeLog: Merged in from trunk.
* include/ChangeLog: Likewise.
* examples/ChangeLog: Likewise.
* tests/ChangeLog: Likewise.
* util/ChangeLog: Likewise.
2007-10-15 Martin Sebor <sebor@roguewave.com>
STDCXX-599
* file.cpp [!_RWSTD_NO_PURE_C_HEADERS] (mkstemp): Relaxed a guard
around a declaration of a POSIX (but not C) function to enable it
in strict C++ environments (e.g., with EDG eccp).
2007-10-15 Martin Sebor <sebor@roguewave.com>
STDCXX-509
* limits [_RWSTD_NO_OBJECT_MANGLING] (__rw_flt_denorm_min,
__rw_flt_infinity, __rw_flt_qNaN, __rw_flt_sNaN, __rw_dbl_denorm_min,
__rw_dbl_infinity, __rw_dbl_qNaN, __rw_dbl_sNaN, __rw_ldbl_denorm_min,
__rw_ldbl_infinity, __rw_ldbl_qNaN, __rw_ldbl_sNaN): Declared with C++
linkage when the config macro is #defined for binary compatibility with
prior 4.x releases.