| 2007-08-06 Martin Sebor <sebor@roguewave.com> |
| |
| * ChangeLog: Updated, keeping original TABs. |
| |
| 2007-07-27 Farid Zaripov <Farid_Zaripov@epam.com> |
| |
| * gcc.config [__CYGWIN__]: Added -D_REENTRANT option in |
| multithreaded builds. Don't define AS_EXT as .s. |
| * atomic.s [__CYGWIN__]: Prepend symbol names by '_'. |
| |
| 2007-07-17 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-486 |
| * time_put.cpp (tzset): Added throw() to the declaration. |
| |
| 2007-07-13 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-485 |
| * locale_body.cpp (_C_manage): Reset the capacity of the locale |
| buffer to the capacity of the statically allocated buffer after |
| its size shrinks below that level. |
| |
| 2007-07-10 Farid Zaripov <Farid_Zaripov@epam.com> |
| |
| STDCXX-508 |
| * catalog.cpp (catopen): while() loop replaced to for() loop |
| with checking for max iterations. |
| |
| 2007-07-08 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-478 |
| * locale_eq.cpp (operator==): Removed the assumption that the same |
| user-defined facets must be stored at the same index in the array |
| in order for two locales in which they are installed to compare |
| equal. |
| |
| 2007-07-08 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-477 |
| * locale_eq.cpp (operator==): Considered the names of locales when |
| all their standard and byname facet masks are the same and all their |
| facet pointers are the same. |
| |
| 2007-07-08 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-395 |
| * etc/config/src/LIMITS.cpp (_RWSTD_WCHAR_T_MAX, _RWSTD_WCHAR_T_MIN, |
| _RWSTD_WCHAR_T_SIZE): Renamed to _RWSTD_WCHAR_MAX, _RWSTD_WCHAR_MIN, |
| and _RWSTD_WCHAR_SIZE, respectively, for consistency with the libc |
| macros. |
| * tests/src/locale.cpp: Same. |
| * tests/src/char.cpp: Same. |
| * tests/src/printf.cpp: Same. |
| * tests/localization/22.locale.codecvt.out.cpp: Same. |
| * tests/self/0.printf.cpp: Same. |
| * include/limits: Same. |
| * include/tr1/cstdint: Same. |
| * include/ansi/_cwchar.h: Same. |
| * src/wctype.cpp: Same. |
| * src/wcodecvt.cpp: Same. |
| * util/ctype.cpp: Same. |
| * util/charmap.cpp: Same. |
| |
| 2007-07-06 Martin Sebor <sebor@roguewave.com> |
| |
| * ctype_bits.cpp (_RWSTD_NO_V3_LOCALE): Removed unnecessary guards |
| and replaces references to _V3_LOCALE with _STD and std, whichever |
| is appropriate. |
| * time_get.cpp: Same. |
| * iso2022.cpp: Same. |
| * wctype.cpp: Same. |
| * iso2022.h: Same. |
| * locale_bits.cpp: Same. |
| * locale_eq.cpp: Same. |
| * codecvt.cpp: Same. |
| * locale_name.cpp: Same. |
| * locale_classic.cpp: Same. |
| * locale_core.cpp: Same. |
| * wcodecvt.cpp: Same. |
| * locale_global.cpp: Same. |
| * locale_body.h: Same. |
| * locale_combine.cpp: Same. |
| |
| 2007-07-06 Martin Sebor <sebor@roguewave.com> |
| |
| * mman.h: Header with declarations of portability helper functions |
| for the manipulation of memory mapped files. |
| * mman.cpp: Definitions of the said helpers. |
| * facet.cpp (__rw_mmap, __rw_unmmap): Moved functions to mman.cpp. |
| |
| 2007-07-05 Martin Sebor <sebor@roguewave.com> |
| |
| * use_facet.h (_RWSTD_DEFINE_FACET_FACTORY): Documented macro |
| and "constified" a local variable in its definition. |
| |
| 2007-07-05 Martin Sebor <sebor@roguewave.com> |
| |
| * stdexcept (range_error, domain_error, runtime_error): Declared |
| virtual destructors instead of relying on the compiler to generate |
| them automatically to avoid generating the class vtable in every |
| translation unit that uses each of the classes. |
| * range_error.cpp: Defined range_error destructor. |
| * domain_error.cpp: Defined domain_error destructor. |
| * runtime_error.cpp: Defined runtime_error destructor. |
| |
| 2007-06-28 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-461 |
| * num_put.cpp (__rw_fix_flt): Corrected the formatting of Infinities |
| and NaN's when precision exceeds the length of the formatted string. |
| |
| 2007-06-23 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-457 |
| * podarray.cc: Updated license statement. |
| * podarray.c: Same. |
| * version.cpp: Updated copyright. |
| |
| 2007-06-23 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-457 |
| * catalog.h: Updated license statement. |
| * access.h: Same. |
| * use_facet.h: Same. |
| * iso2022.h: Same. |
| * setlocale.h: Same. |
| * version.cpp: Same. |
| * iosdata.h: Same. |
| * locale_body.h: Same. |
| * strtol.h: Same. |
| |
| 2007-06-23 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-457 |
| * ti_istream.cpp: Updated license statement. |
| * ti_stringbuf.cpp: Same. |
| * ti_string.cpp: Same. |
| * ti_wmoney_put.cpp: Same. |
| * ctype_bits.cpp: Same. |
| * ti_ostream.cpp: Same. |
| * memory.cpp: Same. |
| * ti_wstreambuf.cpp: Same. |
| * ti_collate.cpp: Same. |
| * ti_insert_dbl.cpp: Same. |
| * strtol.cpp: Same. |
| * ti_wistream.cpp: Same. |
| * ti_wnumpunct.cpp: Same. |
| * ti_moneypunct.cpp: Same. |
| * ti_wostream.cpp: Same. |
| * time_get.cpp: Same. |
| * iso2022.cpp: Same. |
| * ti_winsert_int.cpp: Same. |
| * limits.cpp: Same. |
| * ti_numpunct.cpp: Same. |
| * ti_wcollate.cpp: Same. |
| * ti_wmoney_get.cpp: Same. |
| * ti_money_put.cpp: Same. |
| * ti_winsert_ptr.cpp: Same. |
| * ti_num_put.cpp: Same. |
| * ti_streambuf.cpp: Same. |
| * ti_ios.cpp: Same. |
| * locale_core.cpp: Same. |
| * ti_wstring.cpp: Same. |
| * typeinfo.cpp: Same. |
| * assert.cpp: Same. |
| * ti_winsert_dbl.cpp: Same. |
| * ti_wtime_put.cpp: Same. |
| * ti_wnum_put.cpp: Same. |
| * ios_bits.cpp: Same. |
| * ti_wios.cpp: Same. |
| * rwstderr.cpp: Same. |
| * locale_bits.cpp: Same. |
| * random.cpp: Same. |
| * ti_money_get.cpp: Same. |
| * ti_time_put.cpp: Same. |
| * ti_wmoneypunct.cpp: Same. |
| * locale_eq.cpp: Same. |
| * strstream.cpp: Same. |
| * version.cpp: Same. |
| * ti_wstringbuf.cpp: Same. |
| * num_put.cpp: Same. |
| * codecvt.cpp: Same. |
| * vecbool.cpp: Same. |
| * ios.cpp: Same. |
| * ti_num_get.cpp: Same. |
| * catalog.cpp: Same. |
| * ti_wmessages.cpp: Same. |
| * locale_name.cpp: Same. |
| * locale_classic.cpp: Same. |
| * ti_messages.cpp: Same. |
| * ti_insert_int.cpp: Same. |
| * locale_global.cpp: Same. |
| * ti_wtime_get.cpp: Same. |
| * ti_wnum_get.cpp: Same. |
| * limits_bits.cpp: Same. |
| * ti_insert_ptr.cpp: Same. |
| * ti_time_get.cpp: Same. |
| * locale_combine.cpp: Same. |
| |
| 2007-06-22 Farid Zaripov <Farid_Zaripov@epam.com> |
| |
| * _error.h(__rw_free_what_buf): Removed inline in declaration. |
| * exception.cpp(__rw_free_what_buf): The same. |
| |
| 2007-06-22 Farid Zaripov <Farid_Zaripov@epam.com> |
| |
| STDCXX-454 |
| * _error.h: Added declaration of the __rw_free_what_buf. |
| * exception.cpp (__rw_free_what_buf): Added _RWSTD_EXPORT to prototype. |
| Added assertion on __rw_what_refcnt value. |
| (_C_assign): If whatstr == __rw_what_buf, just reuse it without |
| allocation |
| of the new buffer. |
| * rwexcept.cpp: Use __rw_free_what_buf() instead of delete[]. |
| |
| 2007-06-21 Farid Zaripov <Farid_Zaripov@epam.com> |
| |
| STDCXX-293 |
| * exception.cpp (__rw_throw): Don't delete allocated what string because |
| of __rw_throw_proc() takes ownership and must delete what string. |
| |
| 2007-06-21 Farid Zaripov <Farid_Zaripov@epam.com> |
| |
| STDCXX-293 |
| * exception.cpp (__rw_free_what_buf): New function to free buffer, |
| allocated by __rw_vfmtwhat(). |
| Used __rw_free_what_buf() instead of delete[]. |
| |
| 2007-06-19 Martin Sebor <sebor@roguewave.com> |
| |
| * punct.cpp (_RWSTD_NO_V3_LOCALE): Removed a dead guard. |
| (_RWSTD_SIZE_T): Replaced with size_t throughout. |
| Removed the :: scope resolution operator from references |
| to C library functions. |
| |
| 2007-06-09 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-446 |
| STDCXX-447 |
| * complex (pow, operator>>, operator<<): Removed inline definitions. |
| * complex.cc (pow, operator>>, operator<<): Defined out-of-line and |
| exported. |
| * complex.c: #included complex.cc. |
| * export.cpp (<complex>, complex.cc): #included. |
| |
| 2007-06-08 Martin Sebor <sebor@roguewave.com> |
| |
| * src/wctype.cpp (do_widen): Explicitly specified template argument |
| list to work around HP aCC 3 and 5 bug resulting in Error 331: Illegal |
| cast expression; cannot cast expression type '<no type>' to 'wchar_t'. |
| See STDCXX-445. |
| |
| 2007-06-07 Martin Sebor <sebor@roguewave.com> |
| |
| * _ctype.h (do_toupper, do_tolower, do_widen, do_narrow): Outlined |
| virtual member functions of ctype<wchar_t> since they can almost |
| never be inlined anyway. |
| * wctype.cpp: Same. |
| |
| 2007-06-06 Farid Zaripov <Farid_Zaripov@epam.com> |
| |
| STDCXX-188 |
| * typeinfo.cpp: use ::_C_name or std::_C_name depending on |
| _RWSTD_NO_STD_TYPE_INFO macro. |
| |
| 2007-06-05 Farid Zaripov <Farid_Zaripov@epam.com> |
| |
| STDCXX-188 |
| * typeinfo.cpp: silenced warning: _C_name was declared |
| but never referenced |
| |
| 2007-06-01 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-432 |
| * _config.h (_config-eccp.h): Avoided #including when using HP aCC. |
| * exception.cpp (stdarg.h): Used _RWSTD_EDG_ECCP to guard against |
| inclusion when using EDG eccp based compilers including HP aCC 6. |
| |
| 2007-05-28 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-402 |
| * strtol.cpp (__rw_strtoul, __rw_strtol, __rw_strtoull, __rw_strtoll): |
| Asserted preconditions. |
| (LLong, ULLong): New convenience typedefs at namespace scope. |
| (__rw_strtoull, __rw_strtoll): Corrected off by one errors. |
| |
| 2007-05-15 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-417 |
| * atomic.s (TYPE_DIR): New macro conditionally defined to the .type |
| directive for GNU as on ELF targets. |
| |
| 2007-05-15 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-416 |
| * stdexcept (logic_error): Declared dtor. |
| * logic_error.cpp: New file. |
| (logic_error): Defined class dtor |
| |
| 2007-04-07 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-387 |
| * DAYLIGHT.cpp: New config test to determine whether the system |
| supports the XSI POSIX extension daylight. |
| * time_put.cpp (daylight): #defined to 0 when _RWSTD_NO_DAYLIGHT |
| is #defined. |
| |
| 2007-03-28 Martin Sebor <sebor@roguewave.com> |
| |
| * ctype.cpp (ctype_byname ctor): Asserted a precondition. |
| (_RWSTD_NO_V3_LOCALE, _V3_LOCALE): Removed/replaced obsolete macros. |
| |
| 2007-03-07 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-349 |
| * iostore.cpp (_C_copyfmt): Zeroed out a_size array to prevent |
| (bogus) gcc warnings about the variable being used uninitialized. |
| |
| 2007-01-04 Farid Zaripov <faridz@kyiv.vdiweb.com> |
| |
| * string.cpp (__rw_memchr, __rw_wmemchr): Fixed bug: the function |
| returns incorrect result when nbytes == 0 and *src == c |
| |
| 2006-12-11 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-309 |
| * valarray (operator[]): Invoked next_ind() at most once per each |
| iteration of the loop. |
| * valarray.cpp (next_ind): Returned start() instead of 0 after |
| wrapping around. |
| |
| 2006-12-05 Martin Sebor <sebor@roguewave.com> |
| |
| * string.cpp (__rw_memcpy, __rw_memmove, __rw_memchr, __rw_memset, |
| __rw_memcmp, __rw_strlen): Defined each helper without depending |
| on the corresponding libc function in order to avoid infinite |
| recursion. |
| (__rw_wmemcpy, __rw_wmemmove, __rw_wmemchr, __rw_wmemset, __rw_wmemcmp, |
| __rw_wcslen): Same. |
| |
| 2006-11-29 Martin Sebor <sebor@roguewave.com> |
| |
| * time_put.cpp [MSVC >= 8.0] (__rw_put_time): Used the conforming |
| swprintf() rather than the legacy Microsoft one without the size |
| argument as suggested by the compiler warning. |
| |
| 2006-11-14 Martin Sebor <sebor@roguewave.com> |
| |
| * memattr.cpp (__rw_memattr): Used msync() instead of the unreliable |
| madvise() on IRIX. |
| |
| 2006-10-09 Martin Sebor <sebor@roguewave.com> |
| |
| * wcodecvt.cpp (__rw_libc_do_in): Corrected a typo in conditionally |
| compiled code. |
| |
| 2006-10-09 Farid Zaripov <faridz@kyiv.vdiweb.com> |
| |
| STDCXX-93 |
| * time_put.cpp (__rw_get_timepunct): Corrected buffer size in |
| wcsftime() calls; _RWSTD_SIZE_MAX changed to size of source |
| string in mbstowcs() calls to deal with MSVC 8.0 CRT |
| |
| 2006-10-05 Martin Sebor <sebor@roguewave.com> |
| |
| * time_put.cpp (__rw_get_time_put_data): Added braces around |
| the initializer of a local array to silence a gcc warning. |
| |
| 2006-10-04 Farid Zaripov <faridz@kyiv.vdiweb.com> |
| |
| * exception.cpp [_MSC_VER]: #undefined _RWSTD_NO_VSNPRINTF after |
| #define vsnprintf _vsnprintf |
| |
| 2006-10-03 Farid Zaripov <faridz@kyiv.vdiweb.com> |
| |
| Set svn:eol-style property. |
| |
| 2006-09-29 Farid Zaripov <faridz@kyiv.vdiweb.com> |
| |
| * _num_put.cc: Updated the licensing header |
| * _select.h: The same |
| * file.cpp: The same |
| |
| 2006-09-29 Farid Zaripov <faridz@kyiv.vdiweb.com> |
| |
| * _num_put.cc (__rw_iter_failed): Removed const to resolve |
| ambiguity on MSVC 7.0 |
| * _select.h [_RWSTD_NO_CLASS_PARTIAL_SPEC]: Added __rw_is_same |
| for compilers which not support the partial template specialization |
| * file.cpp: Declare fileno() only if it not declared in CRT header, |
| but present in libc |
| * NEW_THROWS.cpp: Returned 1 if operator new doesn't throws |
| |
| 2006-08-28 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-280 |
| * wcodecvt.cpp (__rw_libc_do_out): Used wcrtomb instead of wcsrtombs |
| in order to avoid reading past the end of the source sequence when |
| it doesn't contain an embedded NUL. |
| |
| 2006-08-20 Martin Sebor <sebor@roguewave.com> |
| |
| * collate.cpp ("podarray.cc"): Removed #include directive |
| to prevent multiple definition errors. |
| (__rw_pod_array): Moved explicit instantiation... |
| * podarray.h: ...to here. |
| |
| 2006-08-18 Martin Sebor <sebor@roguewave.com> |
| |
| * messages.cpp: Constified locals and sanitized formatting. |
| (_RWSTD_NO_V3_LOCALE): Removed dead macro. |
| (_V3_LOCALE): Replaced with _STD. |
| |
| 2006-08-18 Martin Sebor <sebor@roguewave.com> |
| |
| * collate.cpp (podarray.cc): #included in order to be able |
| to explicitly instantiate __rw_pod_array. |
| |
| 2006-08-14 Martin Sebor <sebor@roguewave.com> |
| |
| * podarray.h: Moved brace closing a namespace to the correct place. |
| |
| 2006-08-14 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-276 |
| * podarray.h (__rw_pod_array): Moved member initialization into |
| the body of the ctor in order to prevent HP aCC 3.70 ICE. |
| |
| 2006-08-13 Martin Sebor <sebor@roguewave.com> |
| |
| * exception.cpp: Added/modified comments. |
| * iostream.cpp: Same. |
| * tmpbuf.cpp: Same. |
| * facet.cpp: Same. Removed dead macro. |
| * setlocale.cpp: Same. |
| |
| 2006-08-13 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-274 |
| * collate.cpp (__rw_pod_array): Explicitly instantiated for Compaq C++ |
| and other compilers that do not do so automatically when a template |
| specialization is used. |
| (_RWSTD_NO_V3_LOCALE, _V3_LOCALE): Removed dead macros. |
| * podarray.h (__rw_pod_array): Added explicit instantiation directive. |
| * ti_podarray.cpp: New file for the explicit instantiation of class |
| __rw_pod_array. |
| |
| 2006-06-26 Anton Pevtsov <antonp@moscow.vdiweb.com> |
| |
| * include/rw/_mutex.h: Added missed _RWSTD_EXPORT directive. |
| * src/exception.cpp: Added missed _RWSTD_EXPORT directive. |
| |
| 2006-06-15 Martin Sebor <sebor@roguewave.com> |
| |
| * atomic-64.s: Updated copyright notice. |
| * atomic.s: Same. |
| |
| 2006-06-14 Martin Sebor <sebor@roguewave.com> |
| |
| * collate.cpp (wcstombs): Decorated with dllimport to silence |
| MSVC warnings about incompatible DLL linkage. |
| * wcodecvt.cpp (wctomb): Same. |
| |
| 2006-06-13 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-200 |
| * _localedef.h (__rw_time_t): Changed function argument types |
| to silence Sun C++ 5.8 64-bit conversion/truncation warnings. |
| * punct.cpp (__rw_get_numpunct, __rw_get_moneypunct): Explicitly |
| cast wide expressions to the (narrower) destination type in order |
| to silence Sun C++ 5.8 64-bit truncation warnings. |
| * time_put.cpp (__rw_get_timepunct, __rw_get_zone): Same. |
| |
| 2006-06-01 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-192 |
| * atomic.s: Removed .type directives to prevent as errors |
| on Mac OS X. |
| |
| 2006-05-12 Martin Sebor <sebor@roguewave.com> |
| |
| * instance.cpp (__nullref): Increased the size of the array to make |
| big enough to accommodate std::wstring times two with some extra |
| space to spare. |
| |
| 2006-04-20 Martin Sebor <sebor@roguewave.com> |
| |
| * bitset.cpp (__rw_bit_count): Reimplemented to work around |
| an uncharacterized MSVC 8.0 codegen bug on EM64T and for |
| better efficiency (> 2x speedup on ILP32, likely much greater |
| on LP64). |
| |
| 2006-03-28 Martin Sebor <sebor@roguewave.com> |
| |
| * memattr.cpp (__rw_memattr): Checked errno for EFAULT and ENOMEM |
| after caling madvise() on Linux to prevent false negatives when |
| errno is set to EBADF for mapped address ranges not backed by a |
| file. |
| |
| 2006-03-25 Martin Sebor <sebor@roguewave.com> |
| |
| * locale_body.cpp (__rw_cats): Guarded the use of _RWSTD_CAT_5 |
| and used _RWSTD_CAT_0 in its place when not #defined (e.g., by |
| dumb windoze). |
| |
| 2006-03-25 Martin Sebor <sebor@roguewave.com> |
| |
| * _defs.h (_RWSTD_VA_COPY): New helper macro. |
| * VA_LIST.cpp(_RWSTD_NO_VA_COPY): New macro #defined in response |
| to the C99 va_copy() macro not being #defined in <stdarg.h>. |
| * exception.cpp (__rw_vfmtwhat): Unconditionally used _RWSTD_VA_COPY(). |
| * printf.cpp (rw_vasnprintf): Used _RWSTD_VA_COPY. |
| (rw_sprintf, rw_snprintf): Provided definitions. |
| |
| 2006-03-25 Martin Sebor <sebor@roguewave.com> |
| |
| * memattr.cpp (__rw_memattr): Used mvalid() instead of madvise() |
| on Tru64 UNIX. |
| Removed checks for errno values EFAULT and EINVAL for portability |
| and simply tested for any non-zero errno value. |
| |
| 2006-03-22 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-140 |
| * locale_body.cpp (_C_is_managed): Avoided an infinite loop |
| when _RWSTD_CAT_SEP is #defined to the empty string (""). |
| |
| 2006-03-22 Martin Sebor <sebor@roguewave.com> |
| |
| * locale_body.cpp (size_t): Used instead of _RWSTD_SIZE_T for |
| readability. |
| (_V3_LOCALE, _RWSTD_NO_V3_LOCALE): Removed dead macro/guard. |
| Minor formatting adjustments for consistency. |
| |
| 2006-03-18 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-165 |
| * num_get.cpp (__rw_get_num): Checked _LONG_DOUBLE in addition to __hpux |
| before using struct long_double in case the struct is not defined e.g., |
| when using gcc's replacement <stdlib.h> on HP-UX. |
| |
| 2006-03-17 Martin Sebor <sebor@roguewave.com> |
| |
| * exception.cpp (_C_assign): Replaced size_t (~0) with SIZE_MAX |
| to avoid HP aCC remark 4237. |
| (operator=): Avoided the use of a comma expression in the return |
| statement to prevent the bogus HP aCC remark 4284 (operator= does |
| not return reference to *this). |
| |
| 2006-03-17 Martin Sebor <sebor@roguewave.com> |
| |
| * ti_filebuf.cpp (<stdio.h>): Included before <fstream> to get |
| the extended member functions of basic_filebuf that take FILE* |
| as an argument defined and to prevent unsats from programs that |
| do the same thing when extern template is enabled. |
| * ti_filebuf.cpp: Ditto. |
| |
| 2006-03-16 Martin Sebor <sebor@roguewave.com> |
| |
| * memattr.cpp (__rw_memattr): Handled EFAULT (set by HP-UX) |
| in addition to ENOMEM. |
| |
| 2006-03-09 Martin Sebor <sebor@roguewave.com> |
| |
| * collate.cpp (_RWSTD_MB_MAX): Defined to avoid using MB_LEN_MAX |
| in case it's less than 8 (the theoretical maximum for UTF-8) or |
| even less than 6 (the real maximum for UTF-8). Noted by HP aCC |
| 6.07. |
| (__rw_get_w_ce_offset, __rw_get_wchar_offset, do_transform): Used |
| _RWSTD_MB_MAX. |
| (__rw_strnxfrm, __rw_wcsnxfrm): Plugged a potential memory leak |
| noted by HP aCC 6.07. |
| |
| 2006-03-06 Martin Sebor <sebor@roguewave.com> |
| |
| * atomic-cxx.S: Changed copyright to the ASF. |
| |
| 2006-03-06 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-162 |
| * _config.h (_RWSTD_NO_STRING_MUTEX): Removed conditional definition. |
| * _mutex.h (_RWSTD_ATOMIC_OPS): Corrected spelling and simplified the |
| handling of the macro. Handled x86_64 in the same block as IA64. |
| * _strref.h (_RWSTD_NO_STRING_MUTEX): Defined in response to |
| _RWSTD_ATOMIC_OPS being undefined. |
| * atomic.s: Handled __x86_64 (and __x86_64__). |
| * i86_64/atomic.s: AMD64/EM64T implementation. |
| |
| 2006-03-03 Martin Sebor <sebor@roguewave.com> |
| |
| * wcodecvt.cpp (wcrtomb): Corrected declaration. |
| |
| 2006-02-02 Martin Sebor <sebor@roguewave.com> |
| |
| * wcodecvt.cpp [_RWSTD_NO_WCRTOMB] (__rw_libc_do_out): Corrected |
| the spelling of wctomb() in conditionally compiled code. |
| |
| Updated. |
| |
| 2006-02-01 Martin Sebor <sebor@roguewave.com> |
| |
| * wcodecvt.cpp (__rw_libc_do_out): Removed the RWSTD_WCRTOMB macro and |
| instead explicitly spelled out the code the macro used to expand to. |
| (__rw_libc_do_unshift): Same. |
| (__rw_libc_do_in): Same for _RWSTD_MBRTOWC(). |
| |
| 2006-02-01 Martin Sebor <sebor@roguewave.com> |
| |
| * wctype.cpp (<stdlib.h>): Included for wctomb. |
| (_RWSTD_NO_V3_LOCALE): Removed dead macro. |
| (__rw_toupper): Used _STD instead of _V3_LOCALE. |
| (__rw_tolower): Same. |
| |
| 2006-01-19 Martin Sebor <sebor@roguewave.com> |
| |
| * ChangeLog: Generated and added. |
| |
| 2006-01-19 Martin Sebor <sebor@roguewave.com> |
| |
| * string.cpp [_RWSTD_NO_MEMCPY] (__rw_memcpy): Corrected logic |
| errors in conditionally compiled code. |
| [_RWSTD_NO_MEMCHR] (__rw_memchr): Same. |
| [_RWSTD_NO_MEMCMP] (__rw_memcmp): Same. |
| [_RWSTD_NO_STRLEN] (__rw_strlen): Same(!) |
| [_RWSTD_NO_WMEMCPY] (__rw_wmemcpy): Same. |
| [_RWSTD_NO_WMEMCHR] (__rw_wmemchr): Same. |
| [_RWSTD_NO_WMEMCMP] (__rw_wmemcmp): Same. |
| [_RWSTD_NO_WSTRLEN] (__rw_wcslen): Same. |
| |
| 2006-01-19 Martin Sebor <sebor@roguewave.com> |
| |
| * string.cpp [_RWSTD_NO_MEMCPY] (__rw_memcpy): Explicitly cast void* |
| to char* before doing any arithmetic on the value. |
| (__rw_memchr): Same. |
| (__rw_memset): Same. |
| (__rw_memcmp): Same. |
| (__rw_memmove): Same. Added a missing return statement. |
| [_RWSTD_NO_WMEMMOVE] (__rw_wmemmove): Added a missing return statement. |
| |
| 2006-01-19 Martin Sebor <sebor@roguewave.com> |
| |
| * wcodecvt.cpp [_RWSTD_NO_MBTOWC] (mbtowc): Declared when not |
| declared in <stdlib.h> but known to be defined in the libc binary. |
| (do_in, do_out, do_length): Guarded references to mbtowc() with |
| _RWSTD_NO_MBTOWC. |
| [_RWSTD_NO_MBRLEN && _RWSTD_NO_MBLEN] (__rw_libc_mbrlen): Silenced |
| an unused variable warning. |
| (do_unshift): Removed an unnecessary scope resolution operator |
| from a call to mbtowc(). |
| |
| 2006-01-16 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-104 |
| * wcodecvt.cpp (__rw_libc_do_out): Used the _RWSTD_WCSLEN() macro |
| instead of invoking wcslen() directly. |
| |
| 2006-01-14 Martin Sebor <sebor@roguewave.com> |
| |
| * codecvt.cpp (StateT): Moved convenience typedef from __rw_mbsinit |
| to file scope and used it to declare the function's formal argument. |
| |
| 2006-01-14 Martin Sebor <sebor@roguewave.com> |
| |
| * wcodecvt.cpp (StateT): New convenience typedef. |
| (__rw_libstd_do_out): Documented the purpose of dead code |
| and unreachable warnings. |
| |
| 2006-01-12 Martin Sebor <sebor@roguewave.com> |
| |
| * codecvt.cpp: Removed assumptions about _RWSTD_MBSTATE_T being |
| a simple type (not really necessary after r368468 but it doesn't |
| hurt to be extra safe). |
| * wcodecvt.cpp: Same. |
| |
| 2006-01-12 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-108 |
| * TIMEZONE.cpp: New test to determine whether the POSIX timezone |
| variable is declared in <time.h>. |
| * time_put.cpp (__rw_get_zone): Changed to return 0 instead of void |
| on success (and non-zero on error) and handled _RWSTD_NO_TIMEZONE. |
| (__rw_get_time_put_data): Handled __rw_get_zone failure. |
| |
| 2006-01-11 Andrew Black <ablack@roguewave.com> |
| |
| STDCXX-103 |
| * time_put.cpp [_RWSTD_NO_NL_LANGINFO] (<langinfo.h>): Guarded |
| against inclusion when the header is detected to be missing at |
| configuration time. |
| * _defs.h [_RWSTD_NO_WCHAR_H] (_RWSTD_ANSI_C_WCHAR_H): Defined |
| to <rw/_defs.h> when the header is absent on a platform. |
| |
| 2006-01-10 Martin Sebor <sebor@roguewave.com> |
| |
| * _mbstate.h (_RWSTD_MBSTATE_T): New macro for std::mbstate_t, |
| ::mbstate_t, the internal ::__mbstate_t (on Linux and Solaris), |
| char* on AIX, char on IRIX, and int for MSVC. |
| * iosfwd (_mbstate.h, _RWSTD_MBSTATE_T): Unconditionally included |
| and used the macro instead of referring to mbstate_t directly. |
| * _codecvt.h: Same. |
| * _locale.h: Same. |
| * _messages.cc: Same. |
| * _traits.h: Same. |
| * codecvt.cpp: Same. |
| * iso2022.cpp: Same. |
| * iso2022.h: Same. |
| * wcodecvt.cpp: Same. |
| |
| 2006-01-10 Martin Sebor <sebor@roguewave.com> |
| |
| * string.cpp [_RWSTD_NO_WMEMCHR] (wmemchr): Corrected a typo |
| in function name. |
| |
| 2006-01-09 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-104 |
| * collate.cpp (wsccoll, wcsxfrm, wcstombs): Declared when the functions |
| are known to be defined in the libc binary but not declared in the libc |
| headers. |
| (__rw_wcsxfrm): New. Just like wcsxfrm but implemented in terms of |
| mbstowcs and strxfrm when wcxfrm is not implemented by the system's |
| libc. |
| (_RWSTD_WCSXFRM): New macro expands to wcsxfrm or __rw_wcsxfrm. |
| (__rw_wcsnxfrm): Used _RWSTD_WCSXFRM. |
| [_RWSTD_NO_WCSCOLL] (collate_byname::do_compare): Implemented in terms |
| of do_transform when there is no support for wcscoll in libc. |
| |
| 2006-01-09 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-106 |
| * memattr.cpp (__rw_memattr): Used getpagesize(3) instead of sysconf(3) |
| when neither _SC_PAGE_SIZE or _SC_PAGESIZE is #defined in <unistd.h> |
| (e.g., on BSD UNIX). |
| Restored errno to its original value if it got clobbered by one of the |
| called functions. |
| |
| 2006-01-07 Martin Sebor <sebor@roguewave.com> |
| |
| * time_put.cpp (__rw_get_timepunct): Removed unnecessary qualification |
| from references to libc functions. Inserted a wide NUL character, not |
| just a narrow one, at the beggining of the __rw_time_t structure. |
| (__rw_put_time): NUL-terminated format string before passing it to |
| strftime and wcsftime. |
| |
| 2006-01-07 Martin Sebor <sebor@roguewave.com> |
| |
| * locale_body.cpp (__rw_locale): Removed a stray std:: qualification |
| from a call to strlen(). |
| (_C_is_managed): Eliminated a gcc -Wextra warning: operation may be |
| undefined. |
| |
| 2006-01-07 Martin Sebor <sebor@roguewave.com> |
| |
| * string.cpp: New file with defitions of string helpers. |
| |
| 2006-01-07 Martin Sebor <sebor@roguewave.com> |
| |
| * locale_core.cpp (_C_get_std_facet): Used size_t instead of the |
| _RWSTD_SIZE_T macro and explicitly cast the result of an expression |
| to the type to silence the asinine HP aCC +DD64 Warning (suggestion) |
| 887: # Type 'int' is smaller than type 'unsigned long', unwanted |
| widening in value may result. |
| |
| 2006-01-05 Martin Sebor <sebor@roguewave.com> |
| |
| * wctype.cpp (wchar.h): Included for wctomb(). |
| |
| 2005-12-06 Martin Sebor <sebor@roguewave.com> |
| |
| * mapfile.gcc: Exported additional symbols. |
| |
| 2005-12-05 Martin Sebor <sebor@roguewave.com> |
| |
| * typeinfo.cpp: Corrected preprocessor guards around definitions |
| of class bad_typeid member functions. |
| |
| 2005-12-02 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-81 |
| * assert.cpp: On Solaris 8 and beyond, declared the printstack function |
| instead of #including <ucontext.h>, the system header in which it is |
| declared, in order to avoid having to #define enabling macros (i.e., |
| __EXTENSIONS__) and deal with the breakage when using a strict compiler |
| such as EDG eccp with the long long extension (used in some system other |
| headers) disabled. |
| |
| 2005-12-02 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-73 |
| * typeinfo: Used guard macros appropriate for each class instead |
| of fudging it based on what appears to work in most cases (except |
| for MSVC 8). |
| * typeinfo.cpp: Same. Also indented preprocessor conditionals for |
| readability. |
| |
| 2005-12-01 Martin Sebor <sebor@roguewave.com> |
| |
| * collate.cpp (__rw_strnxfrm): As a workaround for STDCXX-68 and |
| STDCXX-69, provided dummy destination buffers instead of passing |
| in 0 when calling strxfrm and wcsxfrm with the last argument of |
| 0 in case the functions are buggy (such as those implemented by |
| MSVC) and try to write to the buffer anyway. |
| (__rw_wcsnxfrm): Same. |
| |
| 2005-12-01 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-80 |
| * GNUmakefile: Wrote the definition of the MAPFLAGS variable to |
| makefile.in. Wrote out the definition of MAPFILE using/relative |
| to TOPDIR, and the definition of LIBDIR relative to BUILDDIR. |
| * GNUmakefile.lib: Appended MAPFILE to LDFLAGS, after MAPFLAGS. |
| * gcc.config: Defined MAPFLAGS on Solaris and defined MAPFILE |
| as a relative pathname WRT TOPDIR. |
| * mapfile.gcc-3: Renamed... |
| * mapfile.gcc: ...to this file (used with gcc 3 and beyond) and |
| populated it with exported symbols. |
| |
| 2005-11-30 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-76 |
| * exception.cpp: (uncaught_exception): With MSVC 7 and better, used |
| __uncaught_exception() to implement std::uncaught_exception() instead |
| of relying on the global symbol. |
| |
| 2005-11-08 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-64 |
| * ti_num_get.cpp: Silenced HP aCC warning 933: Null macro argument. |
| * ti_num_put.cpp: Same. |
| * ti_numpunct.cpp: Same. |
| |
| 2005-09-29 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-22 |
| * _time_put.cc (__rw_put_time): Changed to an ordinary function. |
| * time_put.cpp (__rw_put_time): Changed linkage from internal to |
| external. |
| |
| 2005-09-28 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-43 |
| * i86/atomic.s (__rw_atomic_add): renamed to __rw_atomic_add32. |
| (__rw_atomic_xchg): renamed to __rw_atomic_xchg32. |
| * sparc/atomic-64.s: Ditto. |
| * _mutex.h: Simplified by factoring out common code from platform |
| specific blocks to a single platform-independent block (wherever |
| possible). |
| (__rw_atomic_add): renamed to __rw_atomic_add32. |
| (__rw_atomic_xchg): renamed to __rw_atomic_xchg32. |
| |
| 2005-09-28 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-22 |
| * time_put.cpp (__rw_put_time): Changed from a function template |
| and its two specializations to overloads of an ordinary function |
| to prevent an SGI MIPSpro 7.41 ICE. |
| |
| 2005-09-28 Martin Sebor <sebor@roguewave.com> |
| |
| * time_put.cpp: Removed unnecessary scope resolution operators from |
| global names. |
| (__rw_put_time): Renamed the 6-argument overloads taking a character |
| pointer as the last argument to __rw_fmt_time in order to distinguish |
| them from the 12-argument function template and its specializations. |
| |
| 2005-09-19 Martin Sebor <sebor@roguewave.com> |
| |
| * atomic.s: Included the correct IA64 implementation files, along |
| the lines of rev 230382 (inadvertently reverted in rev 290311). |
| |
| 2005-09-19 Martin Sebor <sebor@roguewave.com> |
| |
| * atomic-ia64-32.s: Renamed... |
| * ia64/atomic.s: ...to this. |
| |
| 2005-09-19 Martin Sebor <sebor@roguewave.com> |
| |
| * ia64/atomic.s: Renamed... |
| * ia64/atomic-64.s: ...to this for consistency with the other |
| assembly files. |
| |
| 2005-09-19 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-14 (part 2) |
| * atomic.S: Renamed... |
| * atomic-cxx.S: ...to this. |
| |
| 2005-09-19 Martin Sebor <sebor@roguewave.com> |
| |
| * atomic-64.s: Changed the name of the included file to correspond |
| to its new location (see rev 290311). |
| |
| 2005-09-19 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-14 (part 1) |
| * src/atomic-i86.s: Renamed to... |
| * src/i86/atomic.s: ...this. |
| * src/atomic-ia64.s: Renamed to... |
| * src/ia64/atomic.s: ...this. |
| * src/atomic-pa2.s: Renamed to... |
| * src/parisc/atomic.s: ...this. |
| * src/atomic-pa2-64.s: Renamed to... |
| * src/parisc/atomic-64.s: ...this. |
| * src/atomic-sparc.s: Renamed to... |
| * src/sparc/atomic.s: ...this. |
| * src/atomic-sparc64.s Renamed to... |
| * src/sparc/atomic-64.s: ...this. |
| * src/atomic.s: Changed the names of included files according |
| to the above. |
| * GNUmakefile: Introduced the AS_EXT variable and set it to.S by |
| default (unless already defined in the .config file). |
| * makefile.common: Replaced platform-specific hackery with a more |
| general handling of assembly files. |
| * makefile.rules: Introduced the AS_EXT variable into the %.o: %.s |
| suffix rule and guarded the whole thing against expanding when AS_EXT |
| is not defined or valid. |
| * acc.config: Defined AS_EXT to .s. |
| * mipspro.config: Same. |
| * vacpp.config: Defined AS_EXT to an invalid value on AIX to prevent |
| the assembly of .{S,s} files (Linux will use the default extension |
| defined in GNUmakefile). |
| * eccp.config: Defined AS_EXT to an invalid value to disable the |
| processing of assembly files until a solution to invoke the system |
| assembler is implemented. |
| |
| 2005-09-15 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-21 |
| * wcodecvt.cpp (__rw_libstd_do_out): Converted each character |
| to unsigned long before comparing its value against the surrogate |
| pair ranges in order to silence gcc warning on Cygwin (where |
| sizeof(wchar_t) == 2): comparison is always true due to limited |
| range of data type. |
| |
| 2005-09-15 Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-19 |
| * memattr.cpp: #defined _SC_PAGE_SIZE to _SC_PAGESIZE when the former |
| is not #defined (such as Cygwin). |
| |
| STDCXX-20 |
| * memattr.cpp: #defined _WIN32 when __CYGWIN__ is #defined to take |
| advantage of the Windows Memory Management API and to work aound |
| the lack of madvise(). |
| |
| 2005-08-04 Nicole Willson <willson@roguewave.com> |
| Martin Sebor <sebor@roguewave.com> |
| |
| STDCXX-11: |
| * include/rw/_mutex.h (__rw_atomic_preincrement, |
| __rw_atomic_predecrement, __rw_atomic_exhange): Added |
| long long overloads for 32-bit IA64. |
| * src/atomic.s: Conditionally #included atomic-ia64-32.s. |
| * src/atomic-ia64-32.s: New. Same as atomic-ia64.s except |
| for 32-bit mode. |
| |
| 2005-07-26 Martin Sebor <sebor@roguewave.com> |
| |
| Set the svn:keywords property and enabled the expansion of the Id |
| keyword. |
| |
| 2005-07-19 Martin Sebor <sebor@roguewave.com> |
| |
| Initial import of the Rogue Wave C++ Standard library 4.1.2. |