sl@0: 2007-10-05 Francois Dumont sl@0: sl@0: * stlport/stl/debug/_iterator.h, _string.h, src/string.cpp: sl@0: Removed useless and even invalid workaround used when sl@0: _STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND is defined. There is now sl@0: only one construct check class __construct_checker, sl@0: __msvc6_construct_checker has been removed. sl@0: sl@0: 2007-09-28 Petr Ovtchenkov sl@0: sl@0: * Platform tested: gcc 4.1.2 20060928 (prerelease) sl@0: (Ubuntu 4.1.1-13ubuntu5), i686 GNU/Linux, glibc 2.4; sl@0: sl@0: * release-shared: fail on list_test.cpp:392 sl@0: [CPPUNIT_ASSERT(lint1.size() == 20)], suspected compiler's bug; sl@0: 1 fail from 395 tests; sl@0: sl@0: * stldbg-shared: passed 395 tests; sl@0: sl@0: * Platform tested: gcc 4.1.2, i686 GNU/Linux, glibc 2.4; sl@0: sl@0: * release-shared: fail on list_test.cpp:392 sl@0: [CPPUNIT_ASSERT(lint1.size() == 20)], suspected compiler's bug; sl@0: 1 fail from 395 tests; sl@0: sl@0: * stldbg-shared: passed 395 tests; sl@0: sl@0: * Platform tested: gcc 4.2.1, i686 GNU/Linux, glibc 2.4; sl@0: sl@0: * release-shared: passed 395 tests; sl@0: sl@0: * stldbg-shared: passed 395 tests; sl@0: sl@0: * Platform tested: gcc 4.1.1, i686 athlon-4 i386 GNU/Linux, sl@0: glibc 2.3.6; sl@0: sl@0: * release-shared: passed 395 tests; sl@0: sl@0: * stldbg-shared: passed 395 tests; sl@0: sl@0: * src/c_locale_glibc/c_locale_glibc2.c: this is a C, so sl@0: decl allowd only on top of block; sl@0: sl@0: * Platform tested: gcc 2.95.4 (debian), i686 GNU/Linux, sl@0: glibc 2.3.2; sl@0: sl@0: * release-shared: build success, as library as unit tests, sl@0: but run unit tests fail---stalling on spinlock during library sl@0: load; looks like problem with correct initialization of sl@0: statics; sl@0: sl@0: * stldbg-shared: fail build library, stlport/stl/debug/_hashtable.h:49: sl@0: declaration of `operator ==' as non-function sl@0: sl@0: 2007-09-27 Francois Dumont sl@0: sl@0: * src/facets_byname.cpp: In collate::do_transform, consider sl@0: low == high as a special case, returns empty string in this sl@0: case. sl@0: sl@0: 2007-09-27 Petr Ovtchenkov sl@0: sl@0: * test/unit/find_test.cpp: array initialization missed. sl@0: sl@0: 2007-09-17 Francois Dumont sl@0: sl@0: * stlport/stl/_num_get.h: Add _STLP_DECLSPEC specification to sl@0: several functions that might be access by external code when sl@0: num_get facet is instantiated with something else than the sl@0: Standard required instantiation. sl@0: sl@0: 2007-09-11 Francois Dumont sl@0: sl@0: * src/c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c: Fix sl@0: _Locale_strxfrm and _Locale_wcxfrm implementation to take sl@0: into account strings that are not zero terminated. sl@0: sl@0: * test/unit/locale_test.cpp: Add check that collate.tranform sl@0: method build a key only for chars in the range pass to method. sl@0: sl@0: 2007-09-10 Francois Dumont sl@0: sl@0: * src/facets_byname.cpp: John Maddock bug report 1788618 fix. sl@0: Moreover remove use of an intermediate buffer to get result sl@0: of _Locale_strxfrm. sl@0: sl@0: * test/unit/locale_test.cpp: Add tests for collate::transform sl@0: facet method. sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Small modification, sl@0: _Locale_strxfrm is supposed to return the number of chars sl@0: required to store the generated sorted key without the trailing sl@0: zero. sl@0: sl@0: * src/c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c: Fix sl@0: implementation of _Locale_strxfrm, it should never return -1. sl@0: sl@0: 2007-09-10 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_string.c: fix bugs in string rfind, find_last_of, sl@0: find_last_not_of [bug #1788700, position 0 was wrongly excluded]; sl@0: sl@0: * test/unit/string_test.cpp: test for problems above. Thanks sl@0: to Bred Bored for bug report and initial test. sl@0: sl@0: * unit tests: Linux 2.6.16.26 (athlon-4), gcc 4.1.1, glibc 2.3.6 sl@0: "OK 395 tests" for release-shared and stldbg-shared targets. sl@0: sl@0: 2007-09-09 Petr Ovtchenkov sl@0: sl@0: * test/unit/rope_test.cpp, stlport/stl/_rope.h: test for sl@0: bug #1788615 [bug during copy of rope's iterator] and fix; sl@0: suggested by John Maddock. sl@0: sl@0: * stlport/stl/_algobase.c: symmetry not required for sl@0: comparator in case of two different sequences comparison or sl@0: searching; symmetrical comparator just may not exist; sl@0: sl@0: * stlport/stl/debug/_hashtable.h: symmetry not required for sl@0: comparator in hashtable in case of containers extention; sl@0: symmetrical comparator just may not exist; sl@0: sl@0: * test/unit/alg_test.cpp: test for problem above, thanks sl@0: Oleg Obolenskiy. sl@0: sl@0: 2007-09-06 Francois Dumont sl@0: sl@0: * test/unit/strstream_buffer_read_test.cpp: Remove useless sl@0: strdup call that was moreover introducing a memory leak. sl@0: sl@0: 2007-09-04 Francois Dumont sl@0: sl@0: * src/allocators.cpp: Fix implementation of _S_chunk_dealloc when sl@0: lock free implementation is not in use. Thanks bug report 1787636 sl@0: from Sergej Zagursky. sl@0: sl@0: 2007-08-31 Francois Dumont sl@0: sl@0: * stlport/stl/_cstdio.h, _ctime.h: Add missing macro definition sl@0: test before using _WIN32_WCE thanks bug report 1784174. sl@0: sl@0: * stlport/stl/_bitset.h: Change macro tests in order to check sl@0: macro definition before using it thanks bug report 1785679. sl@0: sl@0: * test/unit/bitset_test.cpp: Bitset::iostream new test to check sl@0: correct input/output of bitset class. sl@0: sl@0: * build/Makefiles/gmake/gcc.mak: Add -Wundef gcc option when building sl@0: with gcc under Cygwin MinGW, it is an interesting option to detect sl@0: macro check errors. sl@0: sl@0: 2007-08-26 Francois Dumont sl@0: sl@0: * stlport/stl/config/user_config.h, host.h: Moved the administrative sl@0: _STLP_USE_DEFAULT_FILE_OFFSET macro from user_config.h to host.h. sl@0: sl@0: * stlport/stl/config/_gcc.h: Under MinGW we now use C symbols in sl@0: global namespace. Tests with 4.2.1 gcc version shows that C symbols sl@0: are not necessarily put in std namespace. sl@0: sl@0: 2007-08-23 Francois Dumont sl@0: sl@0: * stlport/stl/_complex.h: As in _iosfwd.h, removed useless sl@0: _STLP_CLASS_DECLSPEC attribute on complex class declaration. sl@0: sl@0: 2007-08-23 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/debug/_vector.h: only random access iterators sl@0: allow operations 'less-than' and distance; for bidirectional sl@0: iterators removed usage of 'less-than', and for others sl@0: [like forward and input iterators] removed as usage of 'less-than' sl@0: as distance; thanks Oleg Obolenskiy for bug report; sl@0: sl@0: * test/unit/ioiter_test.cpp: test for problem above. sl@0: sl@0: 2007-08-18 Francois Dumont sl@0: sl@0: * stlport/stl/_iosfwd.h: Removed useless _STLP_CLASS_DECLSPEC attribute sl@0: on class declaration. Latest gcc versions are reporting a warning about sl@0: it. sl@0: sl@0: 2007-08-16 Francois Dumont sl@0: sl@0: * src/dll_main.cpp: Removed useless _Atomic_swap_struct explicit sl@0: instantiation, moreover, MSVC 2005 do not support it. sl@0: sl@0: 2007-08-15 Petr Ovtchenkov sl@0: sl@0: * Repository: bump lib version to 5.1.4; sl@0: sl@0: * stlport/stl/char_traits.h, src/fstream.cpp: use 64-bits sl@0: file operations calls, if available on system; streamoff is sl@0: always off64_t, if _LARGEFILE_SOURCE or _LARGEFILE64_SOURCE sl@0: defined, i.e. if 64-bits file operations present; sl@0: sl@0: * stlport/stl/config/user_config.h: add _STLP_USE_DEFAULT_FILE_OFFSET, sl@0: force use off_t for streamoff and appropriate file operations calls; sl@0: note, that this may lead to problems, for example if _FILE_OFFSET_BITS sl@0: defined as 64 somewhere in user's code; sl@0: sl@0: * test/unit/fstream_test.cpp: test 64 bits type for filesize and sl@0: file offset. sl@0: sl@0: 2007-07-22 Petr Ovtchenkov sl@0: sl@0: * src/fstream.cpp: force use lseek64/mmap64 for HP-UX, if _LARGEFILE64_SOURCE sl@0: defined; thanks for Michael Klein. sl@0: sl@0: 2007-07-17 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_algo.c, stlport/stl/_algobase.c: search, the __tmp and sl@0: __p1 iterators always point at the same position, hence one of them sl@0: is redundant; sl@0: sl@0: * stlport/stl/_algobase.c: in the main-loop of search there are two sl@0: successive while-loops doing exactly the same thing; one of them is sl@0: redundant and, since it is inside the main-loop, it slows down sl@0: the algorithm significantly; sl@0: sl@0: * stlport/stl/_algo.c, stlport/stl/_algobase.c: in the search the main-loop sl@0: condition "while (__first1 != __last1)" is always true and consequently sl@0: redundant; this is because the initial adn in-loop conditions virtually sl@0: act as guards and will never let the main-loop condition to fail; since sl@0: this condition is evaluated in every main-loop iteration, its removal sl@0: will also improve the performance of the algorithm; thanks for sl@0: Jim Xochellis for this suggestions. sl@0: sl@0: 2007-07-15 Petr Ovtchenkov sl@0: sl@0: * src/strstream.cpp: "get end" pointer should be initialized sl@0: to the "begin of get + N" in obsolete strstream; bug #1536503, sl@0: thanks for Jean-Eric Cuendet; sl@0: sl@0: * test/unit/strstream_buffer_read_test.cpp, build/test/unit/Makefile.inc: sl@0: test for bug above; [submitted by Jean-Eric Cuendet]. sl@0: sl@0: 2007-04-02 Francois Dumont sl@0: sl@0: * 5.1.3 released based on revision 2983. STLport-5.1.3 tag created. sl@0: sl@0: 2007-03-30 Francois Dumont sl@0: sl@0: * build/lib/configure.bat: Restore TARGET_PROC_SUBTYPE definition sl@0: to distinguish between ARM architectures. sl@0: sl@0: 2007-03-22 Francois Dumont sl@0: sl@0: * stlport/stl/config/_msvc.h, _deque.h, _bvector.h: Portage from sl@0: Ulrich Echkardt to EVC 8. sl@0: sl@0: * doc/README.evc8, README.wince: New documentations about Windows sl@0: CE and EVC 8 from Ulrich Echkardt. sl@0: sl@0: * doc/evc_workaround.txt, doc/README.evc3, First file merged to the sl@0: second one. sl@0: sl@0: * stlport/stl/_stlport_version.h: Bump patch level to 3. sl@0: sl@0: 2007-03-07 Francois Dumont sl@0: sl@0: * src/dll_main.cpp, stlport/stl/_stdexcept_base.h: Change strncpy_s sl@0: invocation to pass _TRUNCATE parameter rather than number of chars sl@0: to put in destination string. Default strncpy_s behavior is not to sl@0: truncate string if necessary but to report the issue throught a handler sl@0: which lead to an application crash if no handler has been set. Thanks sl@0: Bronek Kozicki bug report 1674974. sl@0: sl@0: * stlport/stl/type_traits.h: Add a default constructor declaration sl@0: in _TpWithState class to make gcc happy when class is instanciated sl@0: with a class with no default constructor. sl@0: sl@0: * stlport/stl/config/_windows.h: Change definition of sl@0: _STLP_WIN32_VERSION macro. We do not report definition inconsistency sl@0: between WINVER and _WIN32_VERSION anymore, WINVER is prefered. sl@0: sl@0: 2007-03-01 Francois Dumont sl@0: sl@0: * test/unit/bitset_test.cpp: Add test for the to_string member sl@0: method. sl@0: sl@0: * stlport/stl/config/_msvc.h, test/unit/locale_test.cpp: Change sl@0: MSVC6 configuration that now defines _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS. sl@0: Even if MSVC6 supports explicit specification of function template sl@0: parameters it do not support the explicit specification for sl@0: template methods, unit tests are showing this problem. sl@0: sl@0: * stlport/stl/type_traits.h, _alloc.h: Small change in stateless sl@0: class detection feature. Introduce _IsStateless helper struct for sl@0: this purpose even if it can only be used with pure class type and sl@0: not with build-in types or enum or union. It avoids MSVC8 warnings. sl@0: sl@0: 2007-02-25 Francois Dumont sl@0: sl@0: * 5.1.2 released based on revision 2937, tag STLport-5.1.2 created. sl@0: sl@0: * stlport/stl/config/_prolog.h, build/Makefiles/gmake/bcc.mak, sl@0: Patch from Eric Sanford to remove empty base class optimization sl@0: for Borland compilers. sl@0: sl@0: * test/unit/vector_test.cpp: Enable VectorTest::ebo test for Borland sl@0: compilers. sl@0: sl@0: 2007-02-22 Francois Dumont sl@0: sl@0: * stlport/stl/_alloc.h: Add a workaround for compilers with buggy sl@0: empty base class optimization which is used in _STLP_alloc_proxy sl@0: class. sl@0: sl@0: * test/unit/vector_test.cpp: New test case VectorTest::ebo to show sl@0: problem above. sl@0: sl@0: 2007-02-21 Francois Dumont sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Fixed __ConvertDate and sl@0: __ConvertTime to avoid potential infinite loop (bug report sl@0: 1663604) sl@0: sl@0: 2007-02-16 Francois Dumont sl@0: sl@0: * STLport 5.1.1 released based on revision 2919. STLport-5.1.1 sl@0: tag created. sl@0: sl@0: 2007-02-14 Francois Dumont sl@0: sl@0: * stlport/stl/config/_intel.h: Configuration fix, Intel compiler sl@0: before 8.1 have problem with template method specialization. Thanks sl@0: Dragan Tubic. sl@0: sl@0: 2007-02-09 Francois Dumont sl@0: sl@0: * test/unit/locale_test.cpp: Enhance LocaleTest::collate_facet sl@0: test case to reveal a bug in glibc localization portage. sl@0: sl@0: * src/c_locale_glibc/c_locale_glibc2.c: Fixed _Locale_strcmp sl@0: and _Locale_strcmp and _Locale_strwcmp implementation to take sl@0: into account buffer size, comparison used to always been done on the sl@0: whole input strings up to the termination character. sl@0: sl@0: * stlport/stl/type_manips.h, test/unit/mvctor_test.cpp, sl@0: type_traits_test.cpp: Remove relation between STLport __true_type and sl@0: __false_type and homonyms ones in libstd++. Add workaround in the 2 sl@0: test suite requiring use of those types. sl@0: sl@0: 2007-02-08 Francois Dumont sl@0: sl@0: * stlport/stl/_threads.h, src/locale.cpp: Add missing parenthesis sl@0: in some macro checks thanks Jan Echternash bug report 1653966. sl@0: sl@0: * test/unit/locale_test.cpp: Made LocaleTest::collate_facet test sl@0: really meaningful even if it requires french locale support for sl@0: part of it. sl@0: sl@0: 2007-02-01 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/config/_solaris.h: __LONG_MAX__ defined on sl@0: 64-bits SPARCs. Thanks Aleksey Sanin. sl@0: sl@0: * stlport/stl/_sparc_atomic.h, stlport/stl/_threads.h: fixes sl@0: for modern SPARCs. Thanks Aleksey Sanin. sl@0: sl@0: 2007-01-28 Francois Dumont sl@0: sl@0: * stlport/stl/debug/_deque.h: Fix iterator invalidation in erase sl@0: of an iterator range thanks to Steve Lobasso indirect report (bug sl@0: 1645657). sl@0: sl@0: * test/unit/deque_test.cpp: New test case for deque erase methods. sl@0: sl@0: 2007-01-19 Francois Dumont sl@0: sl@0: * stlport/stl/_locale.h, src/locale.cpp: Add throw() specification sl@0: on locale default constructor. Add const qualifier on locale::combine sl@0: method. Fixed combine implementation to correctly combine sl@0: *this with other locale instance. sl@0: sl@0: * src/locale_impl.h: Removed _get_Locale_impl and sl@0: _copy_Nameless_Locale_impl already defined in stlport/stl/_locale.h. sl@0: sl@0: * src/locale_impl.cpp: In _Locale_impl::insert add check that we sl@0: are working on 2 different facet instances before substitution. sl@0: sl@0: * test/unit/locale_test.cpp: Add test case for locale::combine sl@0: method. sl@0: sl@0: 2007-01-12 Francois Dumont sl@0: sl@0: * c_locale.h, c_locale_dummy.c, c_locale_glibc.c, c_locale_glibc2.c, sl@0: c_locale_win32.c: Creation of 2 new functions in the localization sl@0: framework _Locale_init and _Locale_final to allow localization sl@0: implementations to initialize and release any necessary resources. sl@0: sl@0: * src/iostream.cpp: Call _Locale_init during io streams initialization sl@0: and _Locale_final at end. sl@0: sl@0: * c_locale_win32/c_locale_win32.c: Add synchronization for locale sl@0: lcid look up from name required in multithreaded environment. Two sl@0: threads instanciating two facet instances from a given name might sl@0: have collide resulting in an undefined behavior. Critical section sl@0: used for synchronization is initialized in _Locale_init and freed sl@0: in _Locale_final. sl@0: sl@0: * c_locale_win32/c_locale_win32.c: Add several fields in sl@0: _Locale_time struct to avoid use of static buffers in some locale sl@0: support functions like _Locale_d_t_fmt _Locale_long_d_t_fmt... sl@0: Moreover time format cannot be truncated anymore. sl@0: sl@0: * stlport/stl/config/_windows.h: Introduce _STLP_WIN32_VERSION sl@0: macro set to WINVER or _WIN32_WINDOWS value depending on what sl@0: macro is defined. sl@0: sl@0: * stlport/stl/_threads.h, src/locale.cpp: Add _STLP_WIN32_VERSION sl@0: checks to detect Windows 95 platform having a special sl@0: _STLP_ATOMIC_INCREMENT and _STLP_ATOMIC_DECREMENT behavior. sl@0: sl@0: 2007-01-08 Francois Dumont sl@0: sl@0: * stlport/stl/_deque.c: Patch from Kevin Lin to fix iterator sl@0: returned by insert at position method. sl@0: sl@0: * test/unit/deque_test.cpp: Add test case for the deque::insert sl@0: methods. sl@0: sl@0: 2006-11-27 Francois Dumont sl@0: sl@0: * stlport/stl/config/_windows.h: Patch from Michael Fink to check sl@0: inclusion of winbase.h and windows.h. sl@0: sl@0: 2006-11-24 Francois Dumont sl@0: sl@0: * stlport/stl/_fstream.h, src/fstream.cpp, iostream.cpp: Restore sl@0: computation of the system dependant page size that was hardcoded sl@0: to 4096. Initialisation code has been moved to a static method sl@0: called just after Standard iostream initialisation. This code used sl@0: to be in the _Filebuf_base constructor that might have been called sl@0: simultaneously by several threads. sl@0: sl@0: 2006-11-17 Francois Dumont sl@0: sl@0: * stlport/stl/config/_macosx.h: Add endianess configuration. sl@0: sl@0: 2006-11-16 Francois Dumont sl@0: sl@0: * test/unit/resolve_name.cpp: Clean most of MSVC6 workaround, only sl@0: one has been kept to have the test pass. sl@0: sl@0: 2006-11-13 Francois Dumont sl@0: sl@0: * stlport/stl/_cwchar.h: Patch from Michael Fink to fix EVC3 sl@0: missing mbstate_t definition. sl@0: sl@0: 2006-11-07 Francois Dumont sl@0: sl@0: * stlport/stl/_threads.h: Removed _Atomic_swap_struct export sl@0: that should be useless as completely inlined. Moreover it was sl@0: generating a compilation error using MSVC 2005 under Windows sl@0: 64 bits. sl@0: sl@0: 2006-10-26 Francois Dumont sl@0: sl@0: * test/unit/codecvt_test.cpp: Removed try/catch blocks not sl@0: supported by platform missing exception support and moreover sl@0: useless as we know the code called in the try and this code sl@0: do not throw (thanks Michael Fink report). sl@0: sl@0: * build/Makefiles/nmake/targetdirs.mak, lib/clean.mak, app/clean.mak: sl@0: Complete clobber and distclean rules to really clean all generated sl@0: stuffs. sl@0: sl@0: * build/Makefiles/nmake/top.mak: Patch from Gary Bartlett to make nmake sl@0: 'all' rule the default rule. sl@0: sl@0: 2006-10-25 Francois Dumont sl@0: sl@0: * src/dll_main.cpp: Fix syntax error '>>' rather than '> >' in sl@0: a _STLP_alloc_proxy explicit instanciation. sl@0: sl@0: * stlport/stl/_unordered_set.h: Fix template method for the sl@0: associative container extension, use _KT type rather than key_type. sl@0: sl@0: 2006-10-20 Francois Dumont sl@0: sl@0: * stlport/stl/config: Removed some used macros sl@0: _STLP_AUTOMATIC_TYPE_TRAITS sl@0: _STLP_UNINITIALIZABLE_PRIVATE sl@0: _STLP_STATIC_ARRAY_BUG sl@0: _STLP_FULL_ADL_IMPLEMENTED sl@0: sl@0: * test/unit/codecvt_test.cpp: Ignore test when sl@0: _STLP_NO_MEMBER_TEMPLATES defined. sl@0: sl@0: 2006-10-20 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_cwchar.h: fix HP-UX problem with WCHAR_MIN, WCHAR_MAX sl@0: [Boris Gubenko]. sl@0: sl@0: 2006-10-19 Petr Ovtchenkov sl@0: sl@0: * test/unit/sstream_test.cpp: check bugreport #1580020, not confirmed. sl@0: sl@0: 2006-10-17 Francois Dumont sl@0: sl@0: * stlport/stl/_cwchar.h: Restore code to define potentially missing sl@0: WCHAR_MIN, WCHAR_MAX macros. It used to be in _mbstate_t.h but was sl@0: missing some native includes to work, in _cwchar.h everything should sl@0: be fine. sl@0: sl@0: * test/unit/codecvt_test.cpp: Fix C cast that was losing const sl@0: qualifier. sl@0: sl@0: * stlport/stl/_mbstate_t.h: Avoid definition of _STLP_NO_MBSTATE_T when sl@0: using own mbstate_t definition in _STLP_USE_NO_IOSTREAMS mode. This macro sl@0: is not supported anymore and should be fixed or removed in future version. sl@0: Own mbstate_t will be defined even in no iostreams mode. sl@0: sl@0: * stlport/stl/config/_evc.h: Now that mbstate_t situation is clear EVC3 sl@0: defines _STLP_NO_NATIVE_MBSTATE_T rather than directly defining it in sl@0: the config file. sl@0: sl@0: * test/unit: Several fixes to build with _STLP_NO_EXTENSIONS and sl@0: _STLP_NO_ANACHRONISMS. sl@0: sl@0: 2006-10-16 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_mbstate_t.h: this header may be included from system sl@0: stddef.h, without wchar.h---defines of wchar limits isn't good place sl@0: here [WCHAR_MAX, etc.]. sl@0: sl@0: * test/unit/cwchar.cpp: correct test to hilight problem above. sl@0: sl@0: 2006-10-14 Petr Ovtchenkov sl@0: sl@0: * test/unit/cwchar.cpp, build/test/unit/Makefile.inc: test a few macros sl@0: related to wchar. Inspired by problems in STLPORT_5_1 and boost::regex. sl@0: sl@0: 2006-10-12 Francois Dumont sl@0: sl@0: * stlport/stl/_numpunct.h, src/numpunct.cpp: numpunct facet _M_truename sl@0: _M_falsename and _M_grouping are not static anymore. This seems useless sl@0: and moreover was introducing static initialisation order and threading sl@0: issues. sl@0: sl@0: * stlport/stl/c_locale.h, _mbstate_t.h, src/c_locale.h, c_locale.c: sl@0: New mbstate_t policy. When no mbstate_t in native library STLport defines sl@0: one for its own need in localisation support. This mbstate_t is simply sl@0: an int defined in global namespace and imported to STLport namespace. sl@0: Internal localisation framework is nt anymore in STLport namespace but sl@0: in the global one as it is normaly a C framework. sl@0: sl@0: * stlport/stl/config/_bc.h: Defines _STLP_NO_NATIVE_MBSTATE_T rather sl@0: than internal _STLP_USE_OWN_MBSTATE_T macro. sl@0: sl@0: * stlport/stl/config/_evc.h: Add comment for EVC3 users, this platform sl@0: should define _STLP_NO_NATIVE_MBSTATE_T, but I have not the platform sl@0: to check... sl@0: sl@0: * build/Makefiles/gmake/bcc.mak: Do not force anymore built of C sources sl@0: as C++. sl@0: sl@0: * test/unit/string_test.cpp, istmit_test.cpp: Fixed macro checks to make sl@0: tests buildable even when _STLP_NO_IOSTREAMS is defined. sl@0: sl@0: 2006-10-09 Francois Dumont sl@0: sl@0: * test/unit/codecvt_test.cpp: Fix use of mbstate_t to make it more sl@0: portable. sl@0: sl@0: 2006-10-06 Francois Dumont sl@0: sl@0: * stlport/stl/_alloc.h, _alloc.c: Fixed __debug_alloc implementation sl@0: to avoid unjustified assertion about wrong size of buffer to sl@0: deallocate, thanks David Deakins and verntx on sourceforge. sl@0: sl@0: * test/unit/vector_test.cpp: Add test for bug above. sl@0: sl@0: * stlport/wchar.h, stl/_cwchar.h, _istream.h, _limits.h, _locale.h, sl@0: _threads.h, char_traits.h, type_traits.h, _mbstate_t.h: Fix regression sl@0: introduce by inclusion of mbstate_t.h in wchar.h. Now _mbstate_t.h is sl@0: only included at end of wchar.h and _cwchar.h. All places where _mbstate_t.h sl@0: was used are now including _cwchar.h. sl@0: sl@0: 2006-10-05 Francois Dumont sl@0: sl@0: * build/Makefiles/gmake/bcc.mak: Use -P compiler to force build of C sl@0: translation as C++ because of the mbstate_t problem. sl@0: sl@0: * build/Makefiles/gmake/lib/bcc.mak, rules-a.mak: Fix Borland tlib call sl@0: syntax thanks mbkenny. sl@0: sl@0: * stlport/stl/wchar.h: Add include of internal _mbstate_t.h file to sl@0: know STLport status regarding mbstate_t configuration. sl@0: sl@0: * stlport/stl/c_locale.h: When building platform localisation support sl@0: as C++ struct declaration are done in STLport namespace. sl@0: sl@0: * src/c_locale.h: Removed _mbstate_t.h include that is now included sl@0: from wchar.h or _cwchar.h depending on C or C++ build. Removed #error sl@0: done too early (see next comment). sl@0: sl@0: * src/c_locale.c: Add #error statement when building STLport on a platform sl@0: having real localisation support but no native mbstate_t definition. In this sl@0: case c_locale.c must be built as a C++ translation unit. sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Add Borland workaround to avoid sl@0: compilation error now that it is build as a C++ translation unit. sl@0: sl@0: * stlport/stl/_mbstate_t.h: Now that this file is not included from outside sl@0: world we can include internal _cwchar.h rather than cwchar. Removed sl@0: a wint_t workaround already existing in _cwchar.h. Removed Borland workaround sl@0: that was defining mbstate_t when using this file in a C context, it was sl@0: moreover different than the definition in C++ ! Ad a pure C declaration of sl@0: mbstate_t when in C. sl@0: sl@0: 2006-10-04 Francois Dumont sl@0: sl@0: * src/c_locale.h: Add #error to signal issue when building c_locale.c sl@0: as a C source when STLport uses its own mbstate_t definition. sl@0: sl@0: * src/num_put_float.cpp: Modification in Cygwin native lib headers sl@0: revealed that we were missing ieeefp.h include. sl@0: sl@0: * src/dll_main.cpp, stlport/stl/_threads.h: Fix export of sl@0: _Atomic_swap_struct for compilers supporting export of templates. sl@0: sl@0: * stlport/stl/config/_hpacc.h: Some cleanup (unknown _STLP_NO_KOENIG_LOOKUP sl@0: macro) and formating fixes. sl@0: sl@0: * stlport/stl/_bvector.h: Use _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS sl@0: rather than reproducing the workaround hidden by this macro. sl@0: sl@0: * test/unit/vector_test.cpp: Add test case to check iterators comparisons. sl@0: sl@0: 2006-09-26 Francois Dumont sl@0: sl@0: * src/allocators.cpp: Reorder code blocks to fix build when using sl@0: _STLP_LEAKS_PEDANTIC. sl@0: sl@0: * stlport/stl/_num_put.c: Restore __len >= 2 check in sl@0: __copy_integer_and_fill function. It has been removed on the sl@0: 2006-07-11, at this time STLport always add the base information sl@0: even for 0 value. This modification has been rollback but not this sl@0: check. sl@0: sl@0: * test/unit/num_put_get_test.cpp: Add check for above fix. sl@0: sl@0: 2006-09-26 Francois Dumont sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Add check of code page when sl@0: specified in locale name. sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Add checks in __ConvertDate sl@0: and _Locale_t_fmt to avoid potential buffer overflow. sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Create __GetLocaleInfoUsingACP sl@0: function that merge a call to GetLocaleInfoA and a call to sl@0: __ConvertFromACP in one call, the latter function has been removed. sl@0: sl@0: * src/c_locale.h: Restore _STLP_BEGIN_NAMESPACE when STLport use sl@0: its own mbstate_t definition which is only available in STLport sl@0: namespace. Fix Borland regression. sl@0: sl@0: * stlport/stl/_mbstate_t.h: Replace stl/_cwchar.h include with sl@0: a cwchar one as this file is included from the outside world when sl@0: building STLport lib. sl@0: sl@0: 2006-09-25 Francois Dumont sl@0: sl@0: * test/unit/codecvt_test.cpp: New test case for the codecvt sl@0: facet. sl@0: sl@0: * test/unit/unordered_test.cpp: size_t replace by int to avoid sl@0: 64bits issue warning. sl@0: sl@0: 2006-09-21 Francois Dumont sl@0: sl@0: * stlport/stl/c_locale.h: Patch from Boris Gubenko to avoid sl@0: direct inclusion of internal header from this header that is sl@0: access from the outside world when building STLport lib. sl@0: sl@0: 2006-09-20 Francois Dumont sl@0: sl@0: * test/unit/allocator_test.cpp: Add new test case for allocation of sl@0: empty buffer. sl@0: sl@0: * test/unit/fstream_test.cpp: Use a variable to always point to the same sl@0: test file and adopt a 'Standard' file name 'test_file.txt'. sl@0: sl@0: * stlport/stl/_hash_fun.h: Rollback 2006-08-26 Petr modification that sl@0: was introducing a regression with MSVC compilers. sl@0: sl@0: * stlport/stl/_fstream.c: First attempt to fix seekoff basic_filebuf sl@0: implementation when dealing with a codecvt facet having variable sl@0: encoding. This fix is surely not complete, discussion with Uli is not sl@0: over. sl@0: sl@0: 2006-09-13 Francois Dumont sl@0: sl@0: * stlport/stl/_exception.h: Made a previously general Windows 64 bits sl@0: workaround specific to the cross compiler coming with PSDK. Thanks sl@0: Igor Pavlov. sl@0: sl@0: 2006-09-11 Francois Dumont sl@0: sl@0: * stlport/stl/_num_put.c: Modification in __do_put_integer to avoid sl@0: a Hp aCC workaround. sl@0: sl@0: 2006-09-11 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_algo.c: search_n with predicate fail in case sl@0: when subsequence size is 1; thanks Timmie Smith. sl@0: sl@0: * test/unit/alg_test.cpp: test for problem. sl@0: sl@0: 2006-09-08 Francois Dumont sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Modification in __GetLCIDFromName sl@0: to support the Chinese_Taiwan locale. Add of a __GetLCID call when first sl@0: call to it using non NLS mapping fails. sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Change __ParseLocaleString sl@0: implementation to correctly handle locale with a name having '.' in sl@0: the language or country part like in 'Chinese_Hong Kong S.A.R..950'. sl@0: sl@0: 2006-09-05 Francois Dumont sl@0: sl@0: * build/lib/configure.bat: Fixed comment for --rtl-dynamic and sl@0: --rtl-static options, impact on macros to uncomment in hosts.h sl@0: config file was inversed. Thanks Igor Pavlov. sl@0: sl@0: * build/lib/configure.bat, doc/FAQ, doc/README.msvc, sl@0: stlport/stl/config/user_config.h, _hpacc.h: Replaced references to sl@0: _site_config.h by hosts.h. Thanks Igor Pavlov. sl@0: sl@0: 2006-08-30 Francois Dumont sl@0: sl@0: * stlport/stl/_cmath.h, _cstdlib.h: Patch from Boris Gubenko, Hp aCC sl@0: native Standard lib already define math functions in global namespace. sl@0: sl@0: * stlport/stl/_num_put.c: Patch from Boris Gubenko, Hp aCC before version sl@0: 60000 do not consider 'const ptrdiff_t' as const enough to be used in a sl@0: static buffer declaration. sl@0: sl@0: 2006-08-26 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_hashtable.c: allow smaller bucket counts for sl@0: hashtable. Thanks Herbert Duerr. sl@0: sl@0: * stlport/stl/_hash_fun.h: use primary types for hasher, not sl@0: typedefs. sl@0: sl@0: * stlport/stl/type_manips.h: workaround for __true_type/__false_type sl@0: for various versions gcc (oh, yes, gcc, it's real pain to detect sl@0: real version of libstdc++) sl@0: sl@0: 2006-08-10 Petr Ovtchenkov sl@0: sl@0: * stlport/stdlib.h: include errno.h for aCC, in case of -mt option in force. sl@0: This solve errno problem on HP-UX. Thanks Boris Gubenko. sl@0: sl@0: 2006-08-09 Francois Dumont sl@0: sl@0: * stlport/stl/config/_msvc.h: Add _STLP_NORETURN_FUNCTION for MSVC sl@0: compilers. sl@0: sl@0: * stlport: Move place of _STLP_FUNCTION_THROWS in function declaration to sl@0: make msvc compiler happier, gcc do not care about position of this sl@0: attribute. sl@0: sl@0: * stlport/stl/_ioserr.h: Fixed specification of STLport configuration file sl@0: in #error statement. sl@0: sl@0: 2006-08-04 Francois Dumont sl@0: sl@0: * stlport: Create _STLP_FUNCTION_THROWS depending on _STLP_NORETURN_FUNCTION sl@0: and also taking into account exception handling configuration. sl@0: sl@0: * test/unit/alg_test.cpp, istmit_test.cpp: Fixes to make test buildable with sl@0: native compiler Standard library. sl@0: sl@0: 2006-08-03 Francois Dumont sl@0: sl@0: * build/Makefiles/nmake/evc8.mak: Patch from Ulrich Echkardt to activate sl@0: whole program optimization. sl@0: sl@0: 2006-07-31 Francois Dumont sl@0: sl@0: * Patch from Michael Fink to fix EVC emulator build. sl@0: sl@0: 2006-07-26 Francois Dumont sl@0: sl@0: * src/fstream.cpp: Fixed MMAP_CHUNK definition, an offset type is signed. sl@0: sl@0: * Creation of the 5.1.0 RC2 package. sl@0: sl@0: * Creation of STLPORT_5_1_RC2 tag sl@0: sl@0: 2006-07-25 Francois Dumont sl@0: sl@0: * stlport/stl/config/_system.h, _windows.h: Fixed MinGW config that also sl@0: need _windows.h. sl@0: sl@0: * stlport/stl/config/_mingw.h: Removed, conflict with platform system sl@0: header. sl@0: sl@0: 2006-07-22 Francois Dumont sl@0: sl@0: * stlport/stl/config: Add _STLP_PLATFORM and _STLP_COMPILER repectively sl@0: containing STLport detected platform and compiler names. Some names sl@0: are surely not accurate and will be fixed but introducing those macros, sl@0: especially _STLP_COMPILER, help to report detection issue. sl@0: sl@0: * stlport/stl/config/_system.h: Change macro checks in order to guaranty sl@0: that only one platform and only one compiler configuration file will be sl@0: included. sl@0: sl@0: * stlport/stl/config/_cygwin.h, _mingw.h: Added sl@0: sl@0: * stlport/stl/config/features.h: Removed _STLP_NO_MEMBER_TEMPLATE_CLASSES sl@0: check when _STLP_USE_TEMPLATE_EXPRESSION is activated. sl@0: sl@0: * stlport/stl/config/_gcc.h, features.h: Add _STLP_NORETURN_FUNCTION sl@0: to signal function not returning, under gcc we use __attribute__((noreturn)). sl@0: sl@0: * src/locale_impl.h, stlport/stl/_ios_base.h, _locale.h, _range_errors.h, sl@0: _rope.h, _string_base.h, _vector.h, debug/_debug.h: Add sl@0: _STLP_NORETURN_FUNCTION to function that encapsulate raising of exceptions. sl@0: This help to limit warnings about uninitialized variable before use under sl@0: gcc. sl@0: sl@0: 2006-07-18 Francois Dumont sl@0: sl@0: * test/unit/unordered_test.cpp: Change Key data type from size_t sl@0: to the more portable int. Fix what seems to be a bad code generation sl@0: of gcc under Linux 64 bits resulting in a test failure. sl@0: sl@0: 2006-07-17 Francois Dumont sl@0: sl@0: * test/unit/alg_test.cpp: New test for find_first_of algo. sl@0: sl@0: * stlport/stl/config/user_config.h, features.h: string template sl@0: expressions is not a transparent feature, some compilers (VC6) sl@0: are experimenting ICE with it or some other (gcc) do not accept sl@0: it when extending string class (see mystring in sl@0: test/unit/string_test.cpp). So default STLport configuration will sl@0: be without string template expression, _STLP_DONT_USE_TEMPLATE_EXPRESSION sl@0: has been replaced by _STLP_USE_TEMPLATE_EXPRESSION. sl@0: sl@0: 2006-07-16 Francois Dumont sl@0: sl@0: * test/unit/mvctor_test.cpp: Patch from Michael Fink to avoid a EVC sl@0: ARM crash. sl@0: sl@0: 2006-07-13 Francois Dumont sl@0: sl@0: * stlport/stl/_num_put.c: Rollback modif above, according C printf doc sl@0: 0 value shouldn't show their base. sl@0: sl@0: * stlport/stl/type_traits.h: Avoid instanciation of _IsCVConvertible if sl@0: not dealing with pointers. Systematical instanciation was giving sl@0: compilation error as soon as type had a special memory alignment, such sl@0: types cannot be pass by value in function calls. Thanks andy2222 from sl@0: sourceforge. sl@0: sl@0: * build/Makefiles/nmake/evc3.mak, evc4.mak, evc8.mak: Patch from Ulrich sl@0: Eckhardt to remove commctrl.lib dependency, for the moment evc3 and evc4 sl@0: only contains a note about this potentially useless dependency. sl@0: sl@0: * stlport/stl/debug/_string.h: Add missing copy methods in the debug sl@0: string implementation thanks Patrick Bennett report. sl@0: sl@0: * test/unit/string_test.cpp: New copy test case for string::copy. sl@0: sl@0: * stlport/stl/_algo.h: Add missing _STLP_PRIV namespace scope in calls sl@0: to __find_first_of thanks Patrick Bennett report. sl@0: sl@0: 2006-07-11 Francois Dumont sl@0: sl@0: * stlport/stl/debug/_deque.h, _list.h, _slist.h, _string.h, _vector.h: sl@0: Extend use of _Non_Dbg_iter function in all template methods dealing sl@0: with iterator range. sl@0: sl@0: * _num_put.c: Fix to show base in octal or hexadecimal mode even for sl@0: 0 value. sl@0: sl@0: * stlport/stl/_istream.c: Avoid modification of value to extract in sl@0: formatted input of short and int when value would overflow. sl@0: sl@0: * test/unit/num_put_get_test.cpp: Add some tests for above fixes. sl@0: sl@0: * test/unit/iostream_test.cpp: New tests for general stream sl@0: manipulations. sl@0: sl@0: * stlport/stl/_istream.h: Fix ws iostream function, it do not set failbit sl@0: anymore when stream is in eof state. sl@0: sl@0: * build/lib/msvc.mak: Generation of config.mak is not mandatory anymore sl@0: as Intel compiler do not need it for the moment. Only a COMPILER_NAME sl@0: is mandatory which is given by icl.mak for Intel compilers and by sl@0: config.mak for Microsoft ones. sl@0: sl@0: 2006-07-10 Francois Dumont sl@0: sl@0: * stlport/stl/debug/_iterator.h: Creation of _Non_Dbg_iter function sl@0: returning native iterator of special debug iterator with sl@0: compilers supporting partial template function ordering. Fix sl@0: a MSVC .Net 2003 issue that seems to be related to a too important sl@0: template depth. sl@0: sl@0: * stlport/stl/debug/_deque.h, _list.h, _slist.h, _string.h, _vector.h: sl@0: Use new _Non_Dbg_iter function in constructors from iterator sl@0: range. sl@0: sl@0: 2006-07-07 Petr Ovtchenkov sl@0: sl@0: * build/lib/configure: rollback changes 4 Jul 2006 19:42:55, sl@0: it's definitely wrong (phrase with quotes ['] requires double sl@0: quotes ["]). sl@0: sl@0: 2006-07-06 Francois Dumont sl@0: sl@0: * stlport/stl/_num_put.c: Small refactoring with introduction sl@0: of the __do_put_integer function for integer types output. Moreover sl@0: static buffer size used for formating is now based on output sl@0: type sizeof. sl@0: sl@0: * stlport/stl/_ostream.c: Add some assertion before cast to check that sl@0: no significant digit is lost. Add cast to long in int and short output sl@0: in order to make type of expression more explicit and correct. This sl@0: fix the bug report from Geoffrey Bache on sourceforge about output of sl@0: -1 ont value on 64bits linux. sl@0: sl@0: * test/unit/floatio_test.cpp: Removed, all code moved to NumPutGetTest sl@0: test fixture. sl@0: sl@0: * test/unit/num_put_get_test.cpp: New, contains all tests regarding sl@0: input/output of numeric values (locale independant). sl@0: sl@0: * test/unit/locale_test.cpp: locale independant tests of numeric input/ sl@0: output moved to NumPutGetTest test fixture. sl@0: sl@0: 2006-07-04 Francois Dumont sl@0: sl@0: * stlport/stl/_rope.h, _rope.c: Patch from Peter Hercek to fix a sl@0: missing null termination in rope constructor from a character sl@0: and a buffer overrun. sl@0: sl@0: * stlport/stl/_rope.h: Removed special _S_rounded_up implementation sl@0: for other types than char and wchar_t. rope implementation is sl@0: expecting this method to always return a size > to the given size in sl@0: order to store the terminating null character. sl@0: sl@0: * stlport/stl/_rope.c: Fix reference counter management to avoid memory sl@0: leak in _S_destr_concat_char_iter. sl@0: sl@0: 2006-06-30 Francois Dumont sl@0: sl@0: * src/num_put.cpp, num_put_float.cpp: Patch from Glen Summers sl@0: to fix float output using locale with grouping and float value sl@0: has no decimal. sl@0: sl@0: * test/unit/locale_test.cpp: Add some tests showing above bug. sl@0: sl@0: 2006-06-29 Francois Dumont sl@0: sl@0: * stlport/stl/_algo.h, _algo.c, _algobase.h, _algobase.c, sl@0: _hashtable.c: Patch from Andriy Syrovenko to fix implementation sl@0: of __equal_range, __lower_bound, __upper_bound when dealing with sl@0: a key whom type is different from the value_type of the iterator. sl@0: sl@0: * test/unit/equal_test.cpp: Add some tests to show above bug. sl@0: sl@0: 2006-06-28 Francois Dumont sl@0: sl@0: * stlport/stl/_string_sum_methods.h, debug/_string_sum_methods.h: sl@0: Small refactoring and simplification of code to avoid a parameter sl@0: with default value. This fixing an ICE using MSVC6. sl@0: sl@0: * test/unit/string_test.cpp: Ignore the newly introduce te_tmp sl@0: test using MSVC6. sl@0: sl@0: 2006-06-27 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_list.h: fix bug in list.swap, thanks Viktor Govako. sl@0: sl@0: * test/unit/list_test.cpp: test for bug above. sl@0: sl@0: 2006-06-27 Francois Dumont sl@0: sl@0: * build/lib/configure: Add --with-lib_motif option to grant STLport sl@0: users the possibility of tweaking the generated libraries name. sl@0: sl@0: * build/Makefiles/gmake/unix/lib.mak: Add code to take into account sl@0: configured lib motif in generated library name. sl@0: sl@0: * build/Makefiles/gmake/netware/lib.mak: Looks like it needs same sl@0: defines as the ones in cygming/lib.mak so we simply include this sl@0: file. sl@0: sl@0: * stlport/stl/config/_evc.h: Patch from Michael Fink to fix a sl@0: compilation error. sl@0: sl@0: * test/unit/cppunit/cppunit_mini.h: Patch from Michael Fink to sl@0: avoid unused parameter warning. sl@0: sl@0: 2006-06-23 Francois Dumont sl@0: sl@0: * stlport/stl/_pair.h, _bvector.h, config/_evc.h: Patch from sl@0: Ulrich Eckhardt to extend an evc4 MIPS workaround for eVC8 sl@0: and to generalize little endian configuration. sl@0: sl@0: * DMC patch from Eric Sanford. Define _STLP_NO_FUNTION_TMPL_PARTIAL_ORDER sl@0: so that many ignored unit test could be now passed. Also specify sl@0: Intel 386 instruction set during compilation to limit link errors. sl@0: sl@0: 2006-06-22 Francois Dumont sl@0: sl@0: * stlport/stl/_algobase.c: Removed check of equivalent predicate sl@0: commutativity in find algorithm. In this case, equivalence relation sl@0: might have been implemented using a member operator == which is sl@0: not commutative thanks Grisha Spivak report. Other checks that are sl@0: using an explicit predicate parameter has been kept even if it forces sl@0: STLport users to implement commutative functor. sl@0: sl@0: * test/unit/find_test.cpp: Add test to show above issue. sl@0: sl@0: * stlport/stl/_hashtable.c: Removed equivalent predicate checks sl@0: that are useless as in _STLP_DEBUG mode the debug wrapping add this sl@0: check in the functor used to instanciate the non debug hashtable sl@0: implementation. sl@0: sl@0: 2006-06-19 Francois Dumont sl@0: sl@0: * STLport 5.1.0 candidate released. STLPORT_5_1 branch created in sl@0: CVS. Version tagged STLPORT_5_1_RC1. sl@0: sl@0: 2006-06-17 Francois Dumont sl@0: sl@0: * test/unit/type_traits_test.cpp, uninitialized_test.cpp: Add sl@0: explicit public inheritance relation to avoid an ICL warning. sl@0: sl@0: * stlport/stl/config/features.h: Add definition of sl@0: _STLP_DEBUG_LEVEL to _STLP_STLPORT_DBG_LEVEL when _STLP_DEBUG sl@0: is defined but _STLP_DEBUG_LEVEL hasn't been set. sl@0: (thanks an ICL warning report) sl@0: sl@0: * stlport/stl/config/_intel.h: Remove undef of sl@0: _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT, even if the linker complains sl@0: about not finding unexpected_exception it looks like it finally do sl@0: not use it. sl@0: sl@0: * test/unit/cppunit/test_main.cpp: Filter definition of sl@0: unexpected_exception when building unit test with static STLport sl@0: lib. sl@0: sl@0: 2006-06-15 Francois Dumont sl@0: sl@0: * stlport/stl/config/features.h: Several macro renamed: sl@0: - _STLP_LONG_DOUBLE -> _STLP_LONGEST_FLOAT_TYPE sl@0: - __DFL_TMPL_PARAM -> _STLP_DFL_TMPL_PARAM sl@0: - __DFL_TYPE_PARAM -> _STLP_DFL_TYPE_PARAM sl@0: - __DFL_NON_TYPE_PARAM -> _STLP_DFL_NON_TYPE_PARAM sl@0: __DFL_TYPE_ARG removed. sl@0: sl@0: * stlport/stl: Add char_traits template parameter in all sl@0: istreambuf_iterator and ostreambuf_iterator instanciation where it sl@0: was missing as some compiler might not have supported it. sl@0: sl@0: * stlport/stl/_time_facets.h, src/locale_impl.cpp: Finaly adopt a sl@0: specific gcc workaround for definition of _Locale_time_extract_hint sl@0: as friend of time_get_byname facet. Gcc 2.95 prefers to see a template sl@0: method otherwise it emits a warning, we want to avoid STLport users sl@0: to have to disable this warning. Other compilers will use a simple sl@0: function which seems to be more portable. sl@0: sl@0: * stlport/stl/_vector.h, _pair.h: Patch from Eric Sanford for a sl@0: really weird Borland compiler workaround that consists in adding sl@0: a _Ret typedef in __move_traits or __type_traits traits struct sl@0: that do not normally contain it. sl@0: sl@0: * stlport/stl/config/_bc.h: Borland free compiler do not support sl@0: STLport container extension of template methods. sl@0: sl@0: 2006-06-14 Francois Dumont sl@0: sl@0: * test/unit: Patch from Ulrich Eckhardt to fix storage of string sl@0: literals to const char* rather than simple char*. sl@0: sl@0: * build/Makefiles/nmake: Ulrich Eckhardt patch: sl@0: - /MACHINE:IX86 is obsolete and only supported for backward sl@0: compatibility as alias for X86. Replaced all cases of IX86 sl@0: with X86. sl@0: - /NODEFAULTLIB:OLDNAMES.lib seems to also be universal so I sl@0: moved it to the base, too. sl@0: - In order to use main() as entry point under CE, use linker sl@0: option /ENTRY:mainACRTStartup. This was already done for sl@0: evc3,4,8 but I moved it to app/evc-common.mak and documented sl@0: it. sl@0: sl@0: * stlport/stl/_cmath.h, config/_evc.h: Uli patch to activate long sl@0: double support for EVC and use _hypot to implement STLport sl@0: overload. sl@0: sl@0: * src/complex.cpp: Remove internal __stlp_hypot that is not necessary sl@0: anymore now that STLport always define a hypot function (thanks Uli sl@0: remark). sl@0: sl@0: * stlport/stl/config: Ulrich Eckhardt VC8/CE patch: sl@0: - Adapt the code to construct the paths to the native includes sl@0: so that it matches the changed structure. This is currently sl@0: only for ARM and might need more work for other targets (x86 sl@0: works though). sl@0: - Make a distinction between the desktop and CE variants concerning sl@0: the exception support functions. These now use the same compiler sl@0: versions so that can't be used anymore. sl@0: - MS' safe string functions are not available under CE - I think, sl@0: need to take a closer look at Platform Builder. sl@0: sl@0: * stlport/stl: Ulrich Eckhardt to adapt STLport to VC8/CE limited sl@0: native C library. sl@0: sl@0: 2006-06-13 Francois Dumont sl@0: sl@0: * stlport/stl/pointers/_tools.h: Add partial specialization for sl@0: _IteWrapper helper struct so that when type to store and stored sl@0: type are identical input iterators are not wrapped. Otherwise input sl@0: iterators are wrapped to perform necessary casts between pointer type sl@0: and void*. sl@0: sl@0: * stlport/stl/_cmath.h: Fixed macros definition used to define all sl@0: math functions for compilers supporting long double but not having sl@0: float nor long double C math functions. Thanks Ulrich Eckhardt report. sl@0: sl@0: 2006-06-12 Francois Dumont sl@0: sl@0: * test/unit/set_test.cpp, map_test.cpp: Replace size_t with the sl@0: more portable int type when possible. sl@0: sl@0: * stlport/stl/pointers/_tools.h: Check that type to store is a sl@0: pointer type before modifying predicate type for set container. sl@0: Wrapping less functor in all cases was making move semantic tests sl@0: to fail as predicate is not then detected as being the STLport sl@0: less predicate. sl@0: sl@0: * stlport/stl: DMC patch from Eric Sanford. DMC do not like __ss sl@0: variable that is a reserved keyword. sl@0: sl@0: 2006-06-11 Francois Dumont sl@0: sl@0: * build/Makefiles/nmake: Patch from Ulrich Eckhardt to use sl@0: main rather than WinMain for EVC platform. sl@0: sl@0: * build/test/unit/gcc.mak: Removed redondant macro definition sl@0: _STLP_USE_STATIC_LIB under cygwin/mingw as those definition sl@0: are part of base make files. sl@0: sl@0: * stlport/stl/type_manips.h, _hashtable.h: Eric Sanford workaround sl@0: for Borland. sl@0: sl@0: 2006-06-09 Francois Dumont sl@0: sl@0: * test/unit/cppunit: Patch from Ulrich Eckhardt to sl@0: - Removed a few superfluous semicolons. sl@0: - Made some constructors explicit. sl@0: - Documented the meaning of FileReporter::_myStream. sl@0: - Reformatted some things to not exceed 100 chars per sl@0: line or use several expressions/statements in one line. sl@0: sl@0: * build/Makefiles/nmake: Patch from Ulrich Eckhardt to sl@0: - adds support for x86 (running on e.g. a PC, so-called CEPC). sl@0: - adds support for MIPS or more specifically MIPSII, other MIPS sl@0: subtypes can easily be added. sl@0: - removes a line "DEFS_COMMON = /D%TARGETCPU%" from the config.mak sl@0: file generated for MIPS, the same functionality was moved to the sl@0: CPU-specific setups where it is done for other CPUs. sl@0: - adds an additional compiler flag so that diagnostics better sl@0: match what the VC8 IDE expects. sl@0: sl@0: * stlport/stl: Patch from Ulrich Eckhardt to sl@0: - removes several unnecessary semicolons (typically, when sl@0: inlining functions like "void foo() {};" where it in fact doesn't sl@0: hurt (due to something I consider an oversight in the standard) sl@0: but also doesn't make sense. sl@0: - fixes inconsistent indentation in three cases, one with the sl@0: preprocessor and two with memberfunction bodies. sl@0: sl@0: * stlport/stl/pointers/_tools.h: Add missing template method sl@0: in _CastTraits helper struct used on compiler with no partial sl@0: template specialization support. sl@0: sl@0: 2006-06-08 Francois Dumont sl@0: sl@0: * stlport/stl/pointers/_tools.h, _set.h: Fix problems reported by sl@0: gcc that seems to do more check that MSVC on explicit sl@0: instanciation of templates. Especially fixed problem introduce sl@0: by STLport extension of set template methods. sl@0: sl@0: * build/Makefiles/gmake/aCC.mak, lib/aCC.mak: Patch from Boris sl@0: Gubenko for Hp aCC build. sl@0: sl@0: 2006-06-07 Francois Dumont sl@0: sl@0: * stlport/stl/pointers: Restore pointer specialization feature. sl@0: Major modifications are: sl@0: sl@0: - vector specialization is done using a qualified void pointer sl@0: in order to keep optimization oportunities when working on sl@0: pointers. Using a strict void* was forcing wrapping of iterators sl@0: in template method making _BothPtrTypes struct helper failing to sl@0: detect both pointer types. sl@0: sl@0: - Fixed set specialization thanks to explicit instanciation added sl@0: in ptrspec_test.cpp. sl@0: sl@0: - Refactoring of algorithm to find storage type from value type. sl@0: sl@0: 2006-06-02 Francois Dumont sl@0: sl@0: * build/Makefiles/nmake: Patch from Ulrich Eckhardt for sl@0: cleanup. Some script refactoring, wrong OPT_STLDBG_STATIC references sl@0: replaced by OPT_STATIC_STLDBG. sl@0: sl@0: * src: Patch from Ulrich Eckhardt to cleanup locale implementation sl@0: and fix time facet creation when using dummy locale implementation. sl@0: sl@0: * stlport/stl/config/_evc.h: Patch from Ulrich Eckhardt to fix sl@0: endianess definition. sl@0: sl@0: * stlport/stl/debug/_hashtable.h: Create a _DbgEqual functor to sl@0: check correct equivalent predicate implementation. Add also sl@0: missing hash_func and key_eq methods in this mode. sl@0: sl@0: * stlport/stl/debug/_tree.h: Small refactoring in _DbgCompare sl@0: functor. sl@0: sl@0: * stlport/stl/type_traits.h, boost_type_traits.h: Restore boost sl@0: support. sl@0: sl@0: 2006-06-01 Francois Dumont sl@0: sl@0: * stlport/stl/_tree.h, _set.h, _map.h, debug/_tree.h: Removed sl@0: erase template method extension, might conflict with erase sl@0: overload taking an iterator. User workaround will be to use sl@0: erase(find(key)). sl@0: sl@0: * stlport/stl/_hashtable.h, _map.h, _set.h, _unordered_set.h, sl@0: _unordered_map.h, debug/_hastable.h: Add template methods extension. sl@0: sl@0: * stlport/stl/config/features.h: Add management of containers template sl@0: method extension. sl@0: sl@0: * stlport/stl/config/_apple.h, _symantec.h: Config update based on sl@0: config that used to be in _tree.h and _hashtable.h to remove sl@0: container template methods extensions. sl@0: sl@0: 2006-05-31 Francois Dumont sl@0: sl@0: * stlport/stl/config/_evc.h: Patch from Michael Fink to add ptrdiff_t sl@0: definition and forbid use of _STLP_DEBUG mode for evc 3/4 on ARM. sl@0: sl@0: * build: Ulrich Eckhardt patch for Microsoft Visual Studio 2005 for sl@0: Embedded C++ portage. sl@0: sl@0: 2006-05-30 Francois Dumont sl@0: sl@0: * stlport/stl/type_traits.h: Rename _Is_Integer<_Tp>::_Integral and sl@0: _Is_Rational<_Tp>::_Rational in respectively _IsIntegral<_Tp>::_Ret sl@0: and _IsRational<_Tp>::_Ret for naming convention coherency. sl@0: sl@0: * stlport/stl/type_traits.h: Add _TrivialNativeTypeCopy helper to sl@0: handle a number of oportunities to use memcpy/memmove in sl@0: uninitialized_* or copy algorithms that was not cover by simply sl@0: checking type_traits has_trivial* features. sl@0: sl@0: * stlport/stl/type_traits.h, boost_type_traits.h: Refactor _BothPtrType sl@0: implementation, only one version is necessary as it uses _IsPtr that sl@0: has a variable implementation depending on config. sl@0: sl@0: * stlport/stl/_vector.h: Add _DefaultZeroValue specialization for sl@0: vector container so that a vector of vector is simply initialized sl@0: using a memset to set everything to 0. sl@0: sl@0: * test/unit/vector_test.cpp: Add check that previous optimization sl@0: works as expected. sl@0: sl@0: * stlport/typeinfo.h: Borland patch from Eric Sanford. sl@0: sl@0: * DMC patch from Eric Sanford sl@0: sl@0: * stlport/stl/debug/_tree.h: Patch from Ulrich Eckhardt to add missing sl@0: count template method. sl@0: sl@0: * src/dll_main.cpp: Patch from Ulrich Eckhardt to fix strncpy sl@0: usage. sl@0: sl@0: 2006-05-23 Francois Dumont sl@0: sl@0: * stlport/stl/_deque.h, _deque.c: Change implementation to use sl@0: _TrivialInit new feature. sl@0: sl@0: * stlport/stl/boost_type_traits.h: Add _TrivialInit implementation sl@0: using boost type traits. sl@0: sl@0: 2006-05-22 Francois Dumont sl@0: sl@0: * stlport/stl/type_traits.h: Add _TrivialInit helper struct to sl@0: report if a type is trivial to initialize or not that is to say sl@0: if the type has a trivial default constructor. Handle native types sl@0: exception that are consider as having a trivial default constructor sl@0: but that required a 0 initialization on explicit constructor sl@0: call. sl@0: sl@0: * stlport/stl/_uninitialize.h: Add a helper function sl@0: __uninitialize_init that result in a no-op if _TrivialInit returns sl@0: __true_type. sl@0: sl@0: * stlport/stl/_vector.h: Modification of vector constructor to sl@0: destect when it is called without an explicit default value so sl@0: that we can call __uninitialized_init. sl@0: sl@0: * test/unit/uninitialized_test.cpp: Add test to check correct sl@0: detection of useless initialization. sl@0: sl@0: 2006-05-19 Francois Dumont sl@0: sl@0: * test/unit/uninitialized_test.cpp: Patch from Ulrich Eckhardt sl@0: to replace vector instance in uninitialized_copy_test by static sl@0: array so that we are always working on pointers iterator. sl@0: sl@0: * stlport/stl/_string_operators.h: Patch from Ulrich Eckhardt to sl@0: add missing != operators when using string template expression. sl@0: sl@0: * stlport/stl/ctype.h, config/_evc.h, _msvc.h, _windows.h, sl@0: features.h: Patch from Michael Fink for evc3/4 platform. sl@0: sl@0: * test/unit/mvctor_test.cpp: Add of a specific Borland test case sl@0: to report what seems to be a compiler bug but that is only sl@0: revealed when using STLport. sl@0: sl@0: * stlport/stl/_tree.h, _set.h, _map.h, debug/_tree.h, sl@0: pointer/_set.h: Generalized already existing extension of template sl@0: find method on associative containers to all look up methods: sl@0: count, erase, lower_bound, upper_bound, equal_range. sl@0: sl@0: * test/unit/set_test.cpp: Add test case for set template methods sl@0: extension. sl@0: sl@0: * stlport/stl/_tree.c, debug/_tree.h: Removed debug check from sl@0: non debug implementation, now debug check is injected in tree sl@0: implementation from the tree debug implementation thanks to sl@0: a wrapping of the predicate. sl@0: sl@0: 2006-05-18 Francois Dumont sl@0: sl@0: * stlport/stl/c_locale.h: Fix declaration of _Locale_name_hint sl@0: struct so that compilers do not think that this struct is in sl@0: the STLport namespace because of friend declaration. sl@0: sl@0: 2006-05-17 Francois Dumont sl@0: sl@0: * stlport/stl/_abbrevs.h: Update list of abbreviations. sl@0: sl@0: * stlport/stl/_hashtable.c: Removed _Node macro and fixed sl@0: macros defined when _STLP_NESTED_TYPE_PARAM_BUG is defined. sl@0: sl@0: 2006-05-16 Francois Dumont sl@0: sl@0: * test/unit/type_traits_test.cpp: Add test case to check sl@0: _TrivialUCopy helper metaprogramming class behavior. sl@0: sl@0: * stlport/stl/_vector.h, _vector.c: Replaced _TrivialAss by sl@0: _TrivialCopy and _TrivialUCpy by _TrivialUCopy for coherency sl@0: with type_traits.h names. sl@0: sl@0: * test/unit/type_traits_test.cpp: Add small test for correct sl@0: impact of trivial_destructor meta info in vector implementation. sl@0: sl@0: * build/lib/configure.bat: Add comment to explain weird TARGETCPU sl@0: check. sl@0: sl@0: 2006-05-15 Francois Dumont sl@0: sl@0: * stlport/stl/_hashtable.h, _list.h, _deque.h, _slist.h, sl@0: _string.h, _vector.h, _move_construct_fwk.h, _rope.h: sl@0: Fix impact of _STLP_NO_MOVE_SEMANTIC macro on library. Now, sl@0: if defined, no move will ever happen. sl@0: sl@0: * stlport/stl/_uninitialized.h: Simplified __uninitialized_copy_fill sl@0: prototype, only one type of iterator is allowed. It also fix sl@0: implementation as this one was not taking into account both sl@0: iterator value_type to consider if the operation was trivial sl@0: or not. sl@0: sl@0: * stlport/stl/_uninitialized.h: Major code review. Remove use of sl@0: _OKToMemcpy, remove dependency on std::copy of std::fill, all sl@0: implementation is now similar to the one of std::copy algorithms sl@0: except that uninitialized algo are using sl@0: __type_traits::has_trivial_copy_constructor meta information and sl@0: copy __type_traits::has_trivial_assign_operator. sl@0: sl@0: * test/unit/deque_test.cpp, vector_test.cpp: New test case for sl@0: over optimization problem. sl@0: sl@0: * test/unit/map_test.cpp, locale_test.cpp, list_test.cpp, slist_test.cpp, sl@0: unordered_test.cpp, fstream_test.cpp, stack_allocator.h: Fixed sl@0: implementation to build with _STLP_NO_MEMBER_TEMPLATES. sl@0: sl@0: * stlport/stl/debug/_vector.h, _list.h: Add non template assign sl@0: methods used when _STLP_NO_MEMBER_TEMPLATES is defined. sl@0: sl@0: * stlport/stl/_slist.c: Fixed sort _Slist_sort implementation, now sl@0: call _Slist_merge template function rather than slist::merge method sl@0: as this method do not take any predicate when _STLP_NO_MEMBER_TEMPLATES sl@0: is defined. sl@0: sl@0: * build/test/unit/Makefile.inc, test/unit/uninitialized_test.cpp: sl@0: New test for uninitialized_copy algo. sl@0: sl@0: * stlport/stl/type_traits.h: OKToMemCpy rename in _TrivialCopy for sl@0: coherency with _TrivialUCopy. Moreover, thanks to refactoring in sl@0: uninitialized_* algorithms, _TrivialUCopy now only takes into account sl@0: __type_traits::has_trivial_copy_constructor meta information and sl@0: not has_trivial_assign_operator. sl@0: sl@0: * stlport/stl/boost_type_traits.h: Fixed to reflect STLport sl@0: __type_traits modifications. sl@0: sl@0: * stlport/stl/_uninitialized.h: Major code review proposed by sl@0: Ulrich Eckhardt sl@0: sl@0: * stlport/stl/_algobase.h, _deque.h, _deque.c, _vector.h, _vector.c, sl@0: _rope.h, _rope.c, _string.h, _string.c: Impact of previous point. sl@0: sl@0: 2006-05-05 Francois Dumont sl@0: sl@0: * test/unit/iter_test.cpp: Removed unreachable code. sl@0: sl@0: * Introduction of a new configuration macro _STLP_MSVC_LIB sl@0: sl@0: This macro is set to _MSC_VER value but can be overloaded to sl@0: an other value. First intension was to make STLport more flexible sl@0: for Intel C++ compiler. This compiler comes without any native sl@0: lib and you have to bind it to a MSVC install, Intel compiler sl@0: generate MSVC compatible code so that MSVC linker can correctly sl@0: generate final exe or dll. To mimic MSVC compiler ICL also defines sl@0: _MSC_VER. The problem is that definition of this macro is based sl@0: on a compiler option and do not necessarily reflect the MSVC lib sl@0: version ICL is binded to. Fortunately the compiler options sl@0: responsible of _MSC_VER definition (/Qvc6, /Qvc7...) is also sl@0: responsible of name mangling so asking for a MSVC compiler sl@0: compatibility different than the library ICL is binded to is sl@0: not easy. But _STLP_MSVC_LIB has been kept as it makes STLport sl@0: configuration more clean. Now MSVC compiler version is given sl@0: by _STLP_MSVC macro and library version by _STLP_MSVC_LIB. sl@0: All occurences of _MSC_VER in STLport code has been replaced sl@0: by those macros. sl@0: sl@0: * _STLP_USE_SECURIZED_BUF_FUNCTIONS replaced by the more sl@0: intuitive _STLP_USE_SAFE_STRING_FUNCTIONS. sl@0: sl@0: * stlport/stl/config/_msvc.h: Major refactoring to isolate sl@0: MSVC compiler config and MSVC native library config. sl@0: sl@0: 2006-05-04 Francois Dumont sl@0: sl@0: * build/lib/configure.bat: And information to the --lib-motif sl@0: option as advised by Ulrich Eckhardt. Add option parameter and sl@0: relation with _STLP_LIB_NAME_MOTIF. sl@0: sl@0: * src/messsage_facets.h: Removed implementation of private copy sl@0: constructor and assignment operator. sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Made sl@0: _Locale_extract_category_name locale function static. sl@0: sl@0: * src/vc_warning_disable.h renamed in warning_disable.h as it is sl@0: used by other compilers too (ICL) sl@0: sl@0: * build/lib/msvc.mak, evc.mak: Removed forced inclusion of sl@0: vc_warning_disable.h file. Now this file is included from sl@0: stlport_prefix.h. sl@0: sl@0: * build/test/unit/msvc.mak, evc.mak: Replace vc_warning_disable.h sl@0: reference by warning_disable.h. sl@0: sl@0: * src/stlport_prefix.h: Add inclusion of warning_disable.h. sl@0: sl@0: 2006-05-01 Francois Dumont sl@0: sl@0: * test/unit/vector_test.cpp, deque_test.cpp, string_test.cpp: sl@0: Removed unreachable code, reported by ICL 9.0. sl@0: sl@0: * test/unit/mvctor_test.cpp: Removed variable declaration hiding sl@0: previous one + made local functions static. sl@0: sl@0: * stlport/stl/config/_msvc.h: Only use abbreviate symbols for sl@0: MSVC compiler and not for all compilers defining _MSC_VER. Also sl@0: removed some ICL specific configuration. sl@0: sl@0: * src/lock_free_slist.h: Removed 'no return statement' warning sl@0: for ICL too. sl@0: sl@0: * src/message_facets.h: Made _Message_impl copy constructor and sl@0: assignment operator private to avoid warning as _M_cat member sl@0: data has private copy constructor and assignment operator too. sl@0: sl@0: * stlport/stl/_cstdlib.h: Made additional definition of sl@0: div(long, long) based on native library (_MSC_VER) rather than on sl@0: compiler used (_STLP_MSVC). sl@0: sl@0: * stlport/stl/config/_intel.h: Fix Intel C++ 9.0 compiler sl@0: configuration with and without /Qvc6 option. sl@0: sl@0: * src/dll_main.cpp: Add std::unexpected implementation that ICL sl@0: need but that is not part of MSVC6 native lib library. sl@0: sl@0: * test/unit/test_main.cpp: Add std::unexpected implementation that sl@0: ICL need but that is not part of MSVC6 native lib library. sl@0: sl@0: 2006-04-30 Francois Dumont sl@0: sl@0: * stlport/stl/_alloc.h: Moved __type_traits specialization for sl@0: std::allocator class before use in _STLP_alloc_proxy sl@0: instanciation. sl@0: sl@0: * test/unit/istmit_test.cpp: Fixed macro checks to correctly sl@0: report ignored test. sl@0: sl@0: 2006-04-27 Francois Dumont sl@0: sl@0: * test/unit/full_streambuf.h, deque_test.cpp, vector_test.cpp: sl@0: Add STLPORT macro check when checking _STLP_USE_EXCEPTION macro. sl@0: sl@0: * test/unit/string_test.cpp: Fix some macro checks to correctly sl@0: report ignored tests. sl@0: sl@0: * test/unit/mvctor_test.cpp: Fix tests to build it with native sl@0: MSVC 2005 Standard library. Looks like this implementation do sl@0: not follow atmortized constant time vector::push_back complexity. sl@0: sl@0: * stlport/stl/config/_msvc.h: Clearly report status regarding build sl@0: of STLport using the MSVC /clr option. sl@0: sl@0: * stlport/stl/_threads.h: Remove MSVC .Net 2002 annoying warning. sl@0: sl@0: 2006-04-26 Francois Dumont sl@0: sl@0: * src/ctype.cpp: Fix ctype::scan_is and scan_not method behavior as sl@0: required by C++ Standard 22.2.1.1.2. sl@0: sl@0: * test/unit/locale_test.cpp: Fix ctype facet test according sl@0: modifications above. sl@0: sl@0: 2006-04-25 Francois Dumont sl@0: sl@0: * stlport/stl/_istream.c: Small refactoring to avoid a uninitialized sl@0: warning for __do_handle_exceptions local variable. sl@0: sl@0: * stlport/stl/_deque.h: Ditto with __cur_node variable in sl@0: _M_range_initialize method. sl@0: sl@0: * stlport/stl/_deque.c: Ditto with __cur in _M_fill_initialize. sl@0: sl@0: * stlport/stl/config/_auto_link.h: Removed auto link feature when sl@0: building a C translation unit thanks Michael Fink. sl@0: sl@0: * src/time_facets.cpp: Add missing calling convention on sl@0: __write_formatted_time internal function. sl@0: sl@0: 2006-04-24 Francois Dumont sl@0: sl@0: * test/unit/cppunit/cppunit_mini.h: Limit scope of try/catch block to sl@0: the test case call so that CppUnit function methods are correctly sl@0: called. sl@0: sl@0: * test/unit/type_traits_test.cpp: Fix use of sl@0: CPPUNIT_IGNORE/CPPUNIT_STOP_IGNORE macros so that ignored tests are sl@0: correctly reported as ignored. sl@0: sl@0: 2006-04-20 Francois Dumont sl@0: sl@0: * stlport/stl/config/_solaris.h: Replace C++ style comment sl@0: in C style. sl@0: sl@0: * stlport/stl/_cmath.h: Add macro definition for environment sl@0: having long double but no float neither long double math functions sl@0: This is a Solaris configuration. sl@0: sl@0: * src/acquire_release.h, c_locale.h, locale.cpp, sl@0: locale_catalog.cpp, locale_impl.cpp, locale_impl.h, sl@0: message_facets.h, facets_byname.cpp: Add a locale hint feature sl@0: to improve locale construction from name. This is used by sl@0: Win32 locale implementation that broadcast the locale lcid sl@0: thanks to this hint. With this modification, LocaleTest fixture sl@0: runs 5 times faster. sl@0: sl@0: * stlport/stl/_collate.h, _ctype.h, _monetary.h, _numpunct.h, sl@0: _time_facets.h: Add _Locale_extract_hint function as friend sl@0: to some locale facet in order to access locale implementation sl@0: specific structure and potentially extract the hint. sl@0: sl@0: * stlport/stl/_codecvt.h, _collate.h, _ctype.h, _messages_facets.h, sl@0: _monetary.h, _numpunct.h, _time_facets.h: Add _Locale_name_hint pointer sl@0: parameter to facet by name constructor. sl@0: sl@0: * build/Makefiles/nmake/lib/clean.mak, rules-so.mak, rules-install-so.mak: sl@0: Based on Dr Dobb's Richard Grimes article, change management of sl@0: manifest file for STLport shared library. According this article sl@0: .manifest file is not taken into account for a library, only .exe one is. sl@0: Solution is to integrate .manifest file into the .dll as an unmanaged sl@0: ressource with id 2. We now do so thanks to the mt manifest tool. sl@0: sl@0: * stlport/stl/_pair.h: Remove __move_traits partial specialization for sl@0: Borland free compiler, it was introducing weird compilation error. sl@0: sl@0: * stlport/stl/_move_construct_fwk.h: Add a helper struct for __move_traits sl@0: feature. sl@0: sl@0: * build/test/unit/msvc.mak: Prepare makefile to easily build unit tests sl@0: without STLport. sl@0: sl@0: 2006-04-15 Francois Dumont sl@0: sl@0: * stlport/stl/config/host.h, compat.h, debug/_debug.c: Removed sl@0: _STLP_NO_DEBUG_EXCEPTIONS configuration macro that is similar sl@0: to the new _STLP_DEBUG_MODE_THROWS except that new thrown macro sl@0: is catchable (std::runtime_error exception) and contained message sl@0: is more explicit. sl@0: sl@0: * stlport/stl/debug/_tree.h: Add find template method STLport sl@0: extension to the debug version of binary tree thanks Mike Flamming. sl@0: sl@0: 2006-04-11 Francois Dumont sl@0: sl@0: * src/complex_io_w.cpp: Removed, content moved to src/complex_io.cpp sl@0: to avoid build of an empty translation unit that can generate linker sl@0: warning (noticed with MSVC 2005 express) sl@0: sl@0: * build/lib/Makefile.inc: Updated before of above modification. sl@0: sl@0: * test/unit: Ignore many tests rather than hide it depending on sl@0: build configuration. sl@0: sl@0: * test/unit/cppunit/file_reporter.h: Restored output existing before sl@0: introduction of monitoring feature. sl@0: sl@0: 2006-04-10 Francois Dumont sl@0: sl@0: * test/unit/cppunit/cppunit_timer.h, test_main.cpp, file_reporter.h: sl@0: Add -m option to activate monitoring of unit tests. This option add sl@0: timing for each test and a global timing information. Timer class has sl@0: been created for Win32 API. sl@0: sl@0: * stlport/stl/_bitset.h: Hide STLport bitset extensions _Find_first sl@0: and _Find_next. sl@0: sl@0: * test/unit/bitset_test.cpp: Adapt tests to previous modification. sl@0: sl@0: * stlport/stl/_string.h: Replace memory include with stl/_alloc.h sl@0: to limit header dependencies. Also add include of stl/_uninitialized.h. sl@0: sl@0: * test/unit/fstream_test.cpp: Add missing memory include. sl@0: sl@0: * test/unit/locale_test.cpp: Ditto. sl@0: sl@0: * stlport/stl/_queue.h, _string.h, _rope.h, debug/_tree.h: Replace sl@0: stl/_function.h include with the smaller _function_base.h include. sl@0: sl@0: 2006-04-07 Francois Dumont sl@0: sl@0: * stlport/stl/_new.h: Fixed management of _STLP_NO_BAD_ALLOC sl@0: and _STLP_NEW_DONT_THROW_BAD_ALLOC macros. sl@0: sl@0: * stlport/stl/config/_dm.h: Change DMC configuration, use STLport sl@0: own namespace rather than std so that STLport can check config. sl@0: sl@0: * stlport/typeinfo.h: Fix DMC configuration now that it uses own sl@0: STLport namespace. sl@0: sl@0: 2006-04-05 Francois Dumont sl@0: sl@0: * stlport/stl/_tree.h, _list.h: Fixed swap implementation to sl@0: correctly swap allocators instance. Moreover list swap implementation sl@0: was wrong since list splice has been modified to correctly handled sl@0: allocators with state. sl@0: sl@0: * test/unit/slist_test.cpp, list_test.cpp, set_test.cpp: Add tests for sl@0: above fix. sl@0: sl@0: * stlport/stl/_deque.h: Fix swap method as deque has 2 allocator sl@0: instances, this should perhaps be modified one day to only keep 1... sl@0: sl@0: * stlport/stl/_rope.h: Fix swap method and removed assertion for sl@0: equivalent allocator instances even if there are still other assertions sl@0: in the implementation. sl@0: sl@0: * stlport/stl/_function_base.h: Add swap method for less functor if sl@0: partial template workaround is activated. This is for surprising sl@0: compilers supporting partial template specialization but no template sl@0: function partial ordering. sl@0: sl@0: * stlport/stl/_algobase.h: Add Borland workaround for swap function sl@0: thanks Eric Sanford. sl@0: sl@0: * test/unit/type_traits_test.cpp: Borland workaround for is_convertible sl@0: function thanks Eric Sanford. sl@0: sl@0: * stlport/stl/config/_bc.h: Borland compilers do not support template sl@0: function partial ordering thanks Eric Sanford. sl@0: sl@0: * test/unit/stack_allocator.h: Add Borland workaround to correctly sl@0: call StackAllocator::swap method when swaping STL containers in sl@0: allocator_with_state tests. sl@0: sl@0: * test/unit/config_test.cpp: New test sl@0: ConfigTest::template_function_partial_ordering. sl@0: sl@0: * test/unit/slist_test.cpp, list_test.cpp, set_test.cpp: Add swap tests sl@0: with empty containers. sl@0: sl@0: * src/vc_warning_disable.h: Remove deprecated comments. sl@0: sl@0: * stlport/stl/_pair.h: Removed Borland checks thanks Eric Sanford. sl@0: sl@0: * Patch from Michael Fink to remove Windows CE support that is sl@0: no more supported by Microsoft. sl@0: sl@0: * stlport/stl/config/_native_headers.h: New, contains all macros sl@0: relative to native headers access that used to be in features.h. sl@0: sl@0: * stlport/stl/config/_evc.h, _como.h: Add include of _native_headers.h sl@0: as those compilers need to include native headers for correct sl@0: configuration. sl@0: sl@0: * stlport/stl/config/features.h: Use _native_headers.h. sl@0: sl@0: * test/unit/locale_test.cpp: Made LocaleTest::facet_id test STLport sl@0: specific rather than Borland specific. Moreover, without STLport, test sl@0: is ignored rather than hidden. sl@0: sl@0: * stlport/stl/_num_put.h, _num_put.c: Removed useless export of sl@0: num_put, num_put not required by sl@0: the Standard. sl@0: sl@0: * stlport/stl/_num_get.h, _num_get.c: Ditto for sl@0: num_get, num_get sl@0: sl@0: * stlport/stl/_moneytary.h, _moneytary.c: Ditto for sl@0: money_get, money_get, sl@0: money_put, money_put sl@0: sl@0: * stlport/stl/_time_facets.h, _time_facets.c: Ditto for sl@0: time_get, time_get, sl@0: time_put, time_put sl@0: sl@0: * src/locale_impl.cpp: Removed id initialization of useless facets sl@0: no more exported. sl@0: sl@0: * stlport/new, stl/_new.h: Moved all STLport code in _new.h and sl@0: modified new header so that it forwards include to native new sl@0: when include comes from inside STLport. sl@0: sl@0: * cppunit/file_reporter.h, cppunit_mini.h: Change support of sl@0: CPPUNIT_CHECK macro, only report error once for all failures sl@0: in a single test case. sl@0: sl@0: 2006-03-28 Francois Dumont sl@0: sl@0: * stlport/stl/_prolog.h: Fix macro check before inclusion of sl@0: features.h. sl@0: sl@0: * stlport/stl/char_traits.h: Fixed include of cstddef, in STLport sl@0: code, Standard headers should never be included directly, their sl@0: stlport/stl/_xxx.h counterpart should be used. sl@0: sl@0: * stlport/stl/type_traits.h, type_manip.h: Patch from Eric Sanford sl@0: for Borland compiler to fix _OKToMemCpy feature. sl@0: sl@0: * stlport/stl/_alloc.h: Replace swap function for _STLP_alloc_proxy sl@0: by a member method, it is more portable. sl@0: sl@0: * stlport/stl/_bvector.h, _deque.h, _list.h, _slist.h, _string_base.h sl@0: _tree.h: Replaced called to std::swap for _STLP_alloc_proxy instances sl@0: by calls to member swap method. sl@0: sl@0: * test/unit/hash_test.cpp: Ignore test rather than hide it. sl@0: sl@0: * test/unit/map_test.cpp: Fixed StackAllocator instanciation. sl@0: sl@0: * test/unit/stack_allocator.h: Add std::swap overload for sl@0: StackAllocator>. sl@0: sl@0: * test/unit/string_test.cpp: Ignore tests rather than hide it. sl@0: sl@0: * test/unit/unordered_test.cpp: Ditto. sl@0: sl@0: 2006-03-27 Francois Dumont sl@0: sl@0: * stlport/stl/_stdexcept_base.h: New internal header with sl@0: __Named_exception implementation, improve segregation between sl@0: and Standard headers. sl@0: sl@0: * test/unit/locale_test.cpp: Add missing header include. sl@0: sl@0: * stlport/stl/_function_base.h, _function.h: Move as many functor as sl@0: possible from _function_base.h to _function.h to improve sl@0: segregation between and Standard headers. sl@0: sl@0: * test/unit: Add many missing references to header. sl@0: sl@0: * test/unit: Made unit tests available for build without STLport, this sl@0: will be a good way to compare Standard library implementations. sl@0: sl@0: * stlport/stl/_string_base.h: Remove additional space for terminating sl@0: null character, it was actually already reserved in the return sl@0: expression. sl@0: sl@0: * stlport/stl/_string.h: Restored basic_string capacity implementation sl@0: that do not depend on use of the short string optimization or not. It sl@0: might be hiding a real issue somewhere else in code even if unit tests sl@0: are not showing any problem. sl@0: sl@0: * stlport/stl/_alloc.h: Add swap overload for _STLP_alloc_proxy class sl@0: in order to correctly call swap on the maybe rebound allocator as user sl@0: that implement an allocator with a state might have implement a sl@0: special swap function for it to correctly handle STL containers swap sl@0: operation. sl@0: sl@0: 2006-03-24 Francois Dumont sl@0: sl@0: * build/lib/configure.bat: Removed script for defining INCLUDE sl@0: environment variable for Borland ressource compiler as it depends sl@0: on where STLport is install. sl@0: sl@0: * build/lib/bcc.mak: Add check for INCLUDE environment variable sl@0: definition. sl@0: sl@0: * test/unit/string_test.cpp: Change basic_string::reserve test to sl@0: check length_error exception rather than bad_alloc. sl@0: sl@0: 2006-03-22 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_string.c: a bit code clean sl@0: sl@0: * stlport/stl/_string_base.h: max_size should keep space for sl@0: allocation of terminating null. sl@0: sl@0: 2006-03-19 Francois Dumont sl@0: sl@0: * stlport/stl/_alloc.h, _function_base.h, type_manips.h, sl@0: type_traits.h, test/unit/type_traits_test.cpp: Patch for sl@0: Eric Sanford for __bool2type Borland use. sl@0: sl@0: * build/Makefiles/gmake/lib/clean.mak: Patch from Eric Sanford sl@0: to fix files generated by dbg-shared and stldbg-shared rules. sl@0: sl@0: * build/Makefiles/gmake/lib/bcc.mak: Patch from Eric Sanford to sl@0: increase Borland page size to 64. sl@0: sl@0: 2006-03-16 Francois Dumont sl@0: sl@0: * stlport/stl/config/_evc.h, _msvc.h: Add some condition for sl@0: definition of _STLP_MSVC macro which should only be defined for sl@0: real Microsoft compilers and not for compiler emulating it. sl@0: sl@0: * src/allocators.cpp: Use _STLP_STATIC_MUTEX macro in place sl@0: of _STLP_mutex_base for mutex definition in per_thread_allocator sl@0: implementation. sl@0: sl@0: * stlport/stl/_pthread_alloc.h: Modified deallocate methods of sl@0: pthread_allocator and per_thread_allocator implementation to accept sl@0: null pointers. sl@0: sl@0: 2006-03-15 Francois Dumont sl@0: sl@0: * stlport/stl/_string_base.h, _string.c: Force call to sl@0: _M_allocate_block even in short string optim mode in order sl@0: to detect lenght error. Based basic_string max size implementation sl@0: on allocator max_size. sl@0: sl@0: 2006-03-15 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/config/_system.h, _msvc.h, _evc.h: move _STLP_MSVC sl@0: definition in proper place. sl@0: sl@0: 2006-03-14 Francois Dumont sl@0: sl@0: * src/allocators.cpp: Fixed thread safety issue in sl@0: per_thread_allocator implementation thanks a very old William sl@0: Power report. sl@0: sl@0: * test/unit/allocator_test.cpp: Attempt to write a test case for sl@0: previous bug but not yet complete as I need a better debugging sl@0: environment than gdb under cygwin... sl@0: sl@0: * stlport/stl/config/_system.h: Patch from Michael Fink to add sl@0: missing _STLP_MSVC define for evc++ compilers. sl@0: sl@0: 2006-03-13 Francois Dumont sl@0: sl@0: * stlport/stl/_alloc.h, src/allocators.cpp: Hide declaration of sl@0: malloc based allocator handler in library. Also limit scope of sl@0: declspec to expose static members rather than the whole class. sl@0: sl@0: * stlport/stl/_cstdlib.h: For Borland compiler add include of sl@0: native process.h header, for reason see comment next to include sl@0: in file. sl@0: sl@0: * stlport/stl/_alloc.h: Add a new STLport extension to the sl@0: std::allocator class: allocate(size_type, size_type&). This new sl@0: overload of allocate returns in an output parameter, the real sl@0: size of the allocated buffer that can be larger than the requested sl@0: one. _STLP_alloc_proxy expose this new overload only for the sl@0: STLport allocator and not for user defined allocators. sl@0: sl@0: * stlport/stl/_vector.h, _vector.c, _string.h, _string.c: Use of the sl@0: allocate overload extension method to set end of storage reference sl@0: to the real memory block end rather than to the requested one. sl@0: sl@0: * stlport/stl/_alloc.c: Adapt __debug_alloc::allocate method in order sl@0: to return the real allocated memory block. Also add check on computed sl@0: __real_n to allocate as it might roll on size_t and hide a case that sl@0: should result in a bad_alloc exception. sl@0: sl@0: * stlport/stl/_threads.h, src/allocators.cpp: Add WINVER macro sl@0: check in addition to _WIN32_VERSION, according PSDK documentation sl@0: WINVER is more generaly used accross different Windows platforms. sl@0: sl@0: * test/unit/string_test.cpp: Add constructor test case to correctly sl@0: handle build of a string with string::max_size elements which should sl@0: result in a bad_alloc exception. Idem for reserve method. sl@0: sl@0: * stlport/stl/_alloc.h, src/allocators.cpp: Add check of malloc sl@0: result in __malloc_alloc implementation to throw an exception when sl@0: result is NULL. sl@0: sl@0: * src/locale_impl.cpp: Patch from Eric Sanford for Borland BDS 2006 sl@0: support. Mostly fix locale facet index issues. sl@0: sl@0: 2006-02-28 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_string.h: capacity may return wrong value in case sl@0: of no _STLP_USE_SHORT_STRING_OPTIM in use; thanks Rusty Koonce sl@0: for report. sl@0: sl@0: * test/unit/string_test.cpp: test for capacity issue. sl@0: sl@0: * src/cxa.c: don't use cxa workaround for FreeBSD 6.0---it fine; sl@0: this is rollback of changes 2006-01-24 [bad compiler was in use]. sl@0: sl@0: 2006-02-15 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_string.h: _STLP_FORCE_STRING_TERMINATION mode become sl@0: default and only mode due to performance issue. sl@0: sl@0: * stlport/stl/config/user_config.h: ditto. sl@0: sl@0: * stlport/stl/config/features.h: ditto. sl@0: sl@0: 2006-02-14 Francois Dumont sl@0: sl@0: * stlport/stl/_hashtable.h, _hashtable.c: Add check in _STLP_DEBUG sl@0: that equivalent key have same hash code. Fix _M_rehash method sl@0: implementation that used to change elements order thanks Big Muscle sl@0: effort to report this issue. sl@0: sl@0: * build/lib/configure: Fix reference to STLport configuration file sl@0: in --no-cygwin option description. sl@0: sl@0: 2006-02-13 Francois Dumont sl@0: sl@0: * stlport: Patch from Eric Sanford to remove many now useless sl@0: Borland workaround. sl@0: sl@0: * src/fstream.cpp: ditto sl@0: sl@0: * stlport/stl/_monetary.h, _cwchar.h, _algobase.h: ditto sl@0: sl@0: 2006-02-10 Francois Dumont sl@0: sl@0: * stlport/stl/_iosfwd.h, _locale.h: Removed type attributes on type sl@0: declaration, only useful on type definition. sl@0: sl@0: * src/message_facets.h: Removed unused parameter in _Catalog_nl_catd_map sl@0: erase method to avoid warning. sl@0: sl@0: * src/num_put_float.cpp: Use more macro technique to avoid unused parameters sl@0: in *_cvt functions. sl@0: sl@0: * test/unit/cppunit/cppunit_mini.h: Comment unused parameter. sl@0: sl@0: * test/unit/cppunit/file_reporter.h: Add base class initialization sl@0: in FileReporter copy constructor definition. sl@0: sl@0: 2006-02-10 Petr Ovtchenkov sl@0: sl@0: * src/num_put_float.cpp: remove usage of static buffers sl@0: [potential vulnerabilities]; directly use __iostring instead. sl@0: sl@0: * test/unit/floatio_test.cpp: test for fixed float output; sl@0: cases when fixed float fail on Linux and Solaris, related sl@0: with fcvt_r and fconvert calls respectivly commented. sl@0: sl@0: * build/Makefiles/gmake/gcc.mak: workaround for bug in make 3.79.1 sl@0: on Solaris [not pass -D_STLP_DEBUG to CPPFLAGS]. sl@0: sl@0: * stlport/stl/_string.h: rollback 2006-01-25. sl@0: sl@0: 2006-02-08 Francois Dumont sl@0: sl@0: * build/Makefiles: Removed all references to BUILD=r in parameters sl@0: to ressource compiler in release as there is no more 'r' appended sl@0: to the library name in this mode. sl@0: sl@0: * src/stlport.rc: Fix support for Borland and add check for BUILD sl@0: definition before injecting it in original library file name. sl@0: sl@0: * doc/README.borland: Update doc to signal new prerequisite for sl@0: Borland ressource compiler. sl@0: sl@0: * test/unit/unordered_test.cpp: Add test for unordered_multiset sl@0: equal_range method. sl@0: sl@0: * test/unit/partial_test.cpp: Add test for strict weak ordering sl@0: predicate good behavior check. sl@0: sl@0: 2006-02-07 Francois Dumont sl@0: sl@0: * src/allocators.cpp: New simplification for _Node_Alloc_Lock, sl@0: it do not have to be a template class anymore. sl@0: sl@0: * stlport/stl/debug/_debug.c: Implement sl@0: __stl_debug_engine<_Dummy>::_Message even when specifying sl@0: _STLP_DEBUG_MESSAGE in order to have explicit instanciation correctly sl@0: generated. sl@0: sl@0: * stlport/stl/_heap.c, _tree.c, _list.c, _slist.c: Add strict sl@0: weak ordering checks. sl@0: sl@0: * stlport/stl/_debug.h, _debug.c: Add new error type: bad equivalent sl@0: functor that has to be used in hash container implementation or in sl@0: algorithm like find. Check for this functor is: sl@0: if (pred(a, b)) assert(pred(b, a) sl@0: sl@0: * stlport/stl/_hashtable.c: Add equivalent functor checks. sl@0: sl@0: * stlport/stl/_debug.h, _debug.c: Check _STLP_DEBUG_MODE_THROW in sl@0: __debug_engine::_Message method. Now thrown exception will contain sl@0: description of the assertion rather than a generic message. sl@0: sl@0: * build/Makefiles/gmake/bcc.mak: Fix Borland ressource compiler name, sl@0: brcc32 not brc32. sl@0: sl@0: * stlport/stl/_range_errors.h, src/dll_main.cpp: Add sl@0: __stl_throw_runtime_error function used to throw exception in sl@0: _STLP_DEBUG_MODE_THROW. sl@0: sl@0: 2006-02-06 Francois Dumont sl@0: sl@0: * build/Makefiles/nmake: Fixed regression generated by a side sl@0: effect of Uli patch below. sl@0: sl@0: 2006-02-02 Francois Dumont sl@0: sl@0: * stlport/config/_stl_evc.h, stl/_config.h: Patch from Ulrich sl@0: Eckhardt to signal endianess detection problem and set EVC sl@0: endianess for MIPS SDK. sl@0: sl@0: * src/allocators.cpp: Clean up _Node_Alloc_Lock definition, only sl@0: specialization are now available for thread safe and not thread sl@0: safe builds. Make easier definition of internal static mutex. sl@0: sl@0: * stlport/float.h: Patch from Eric Sanford for Borland NaN management sl@0: sl@0: * stlport/cfloat: Include STLport float.h rather than native one in sl@0: order to use potential internal workaround. sl@0: sl@0: * stlport/stl/config/_ibm.h: Replace all C++ comment by C comments. sl@0: sl@0: * stlport/errno.h: For Borland, when building for a single threaded sl@0: contex, errno is not a macro and is defined in std namespace so using sl@0: have to get the symbol in this namespace. sl@0: sl@0: 2006-01-31 Francois Dumont sl@0: sl@0: * src/allocators.cpp: Reinforce move of allocators implementation sl@0: sl@0: * stlport/stl/_alloc.h: Removed include of internal _thread.h no sl@0: more necessary now that allocator implementation is in allocators.cpp. sl@0: sl@0: * stlport/stl/_pthread_alloc.h: Removed pthread.h include. sl@0: sl@0: * stlport/stl/_rope.h: Adopt classic macro check before inclusion sl@0: of _threads.h. sl@0: sl@0: * build/Makefiles/gmake/gcc.mak: Add -fno-inline option for debug sl@0: builds. sl@0: sl@0: * stlport/stl/_threads.h: Remove lock free singly linked list, avoid sl@0: include of windows.h when using Win32 API lock free slist sl@0: implementation. sl@0: sl@0: * src/lock_free_slist.h: New place for the lock free singly linked sl@0: list implementation. sl@0: sl@0: * test/unit/mvctor_test.cpp, type_traits_test.cpp: Small workaround sl@0: for gcc 4.0.1 build, looks like there is a conflict between glibc++ sl@0: __true_type and STLport one. sl@0: sl@0: 2006-01-30 Francois Dumont sl@0: sl@0: * Patch from Ulrich Eckhardt for EVC4 ICE + some documentation sl@0: updates and fixes. sl@0: sl@0: 2006-01-29 Francois Dumont sl@0: sl@0: * stlport/stl/_hashtable.h, _limits.h: Add missing calling sl@0: convention to static methods thanks Petr Supina sl@0: sl@0: 2006-01-28 Francois Dumont sl@0: sl@0: * stlport/stl/debug/_iterator.h: Fix Hp Acc configuration thanks sl@0: Boris Gubenko. sl@0: sl@0: 2006-01-27 Francois Dumont sl@0: sl@0: * stlport/stl/_alloc.h, _old_alloc.h, _pthread_alloc.h, sl@0: test/unit/rope_test.cpp: Fixed reference to _STLP_NO_IOSTREAMS, sl@0: replaced by _STLP_USE_NO_IOSTREAMS. sl@0: sl@0: * stlport/stl/_alloc.h: Move _MAX_BYTES definition out of sl@0: _STLP_USE_NO_IOSTREAMS check scope as it is also used in deque sl@0: implementation. sl@0: sl@0: * stlport/stl/_algo.c, debug/_debug.h, _debug.c: Add check for sl@0: bad predicate in safe STL mode (_STLP_DEBUG). sl@0: sl@0: * test/unit/sort_test.cpp: Add test for correct invalid strict weak sl@0: ordering predicate detection. Active only when STL safe mode throws sl@0: exception rather than terminating application. sl@0: sl@0: * test/unit/sort_test.cpp: Add a check that stable_sort is really sl@0: stable. sl@0: sl@0: 2006-01-26 Francois Dumont sl@0: sl@0: * stlport/stl/_alloc.h, _alloc.c, _pthread_alloc.h: Many code moved sl@0: to allocators.cpp. sl@0: sl@0: * stlport/stl/_pthread_alloc.c: Removed, content moved to sl@0: allocators.cpp. sl@0: sl@0: * src/allocators.cpp: New, contains STLport node and per thread sl@0: allocator implementation. sl@0: sl@0: * src/dll_main.cpp: Remove references to former __node_alloc sl@0: class. sl@0: sl@0: * build/lib/Makefile.inc: Add allocators.cpp translation unit. sl@0: sl@0: * stlport/stl/_alloc_old.h: Modified based on allocator classes new sl@0: interface. sl@0: sl@0: * stlport/stl/config/feature.h: Default allocator in _STLP_NO_IOSTREAMS sl@0: mode is now the new/delete allocator, user can still use malloc/free sl@0: one using config swtich in host.h. sl@0: sl@0: * stlport/stl/config/_gcc.h: Cygwin/MinGW can now use default node sl@0: allocator implementation without memory leak. sl@0: sl@0: 2006-01-25 Francois Dumont sl@0: sl@0: * test/unit/stream_test.cpp: Add check for ptrdiff_t output sl@0: in streams operator when 64 bits portability issue detection sl@0: feature is activated with MSVC compilers. sl@0: sl@0: 2006-01-25 Eric Sanford <...@comp...> sl@0: sl@0: * stlport/stl/_exception.h: Delete obsolete workaround for sl@0: legacy Borland compilers. sl@0: sl@0: * stlport/stl/_string.h: Use an other implementation for the sl@0: const_reference operator[](size_type _n) const sl@0: sl@0: * stlport/stl/config/_bc.h: Restore unexpected exception handler sl@0: (static and dynamic) and uncaught_exception handler (static only) sl@0: sl@0: * build/Makefiles/gmake/lib/bcc.mak: Typo fix in linker flags. sl@0: sl@0: 2006-01-24 Petr Ovtchenkov sl@0: sl@0: * test/unit/bind_test.cpp: add test for member function sl@0: binding that show workaround for const function call. sl@0: sl@0: * src/cxa.c: __cxa_finalize and __cxa_atexit present in libc sl@0: in FreeBSD 5.3, but again absent in 6.0 sl@0: sl@0: * build/Makefiles/gmake/app/gcc.mak, sl@0: build/Makefiles/gmake/lib/gcc.mak: detect whether gcc sl@0: was builded with --disable-shared and use correct libgcc. sl@0: sl@0: * build/lib/configure: add --use-static-gcc option to show sl@0: that STLport should use static language support libraries from sl@0: gcc if it was build with --enable-shared. sl@0: sl@0: 2006-01-23 Francois Dumont sl@0: sl@0: * build/Makefiles/gmake/app/clean.mak: Fix distclean rule for sl@0: windows thanks Eric Sanford. sl@0: sl@0: * stlport/stl/_cstddef.h, _cstdlib.h: When no new header support, sl@0: include STLport C header rather than native one to use errno sl@0: workaround. sl@0: sl@0: * stlport/stddef.h: DMC also define errno in native stddef.h file. sl@0: sl@0: 2006-01-22 Francois Dumont sl@0: sl@0: * src/locale_impl.cpp, stlport/stl/_codecvt.h, _monetary.c, sl@0: _num_get.c, _num_put.c, _time_facets.c: Borland workaround for sl@0: locale facet id instanciation that were duplicated. Now static sl@0: instances are no more defined from .c files but only from the sl@0: .cpp and only for facets that are implemented by STLport. Users sl@0: implementing facet inheriting from the STLport one will have to sl@0: defined the static instance themself in their translation units. sl@0: sl@0: * stlport/stl/type_manips.h: Fixed _UnCVType wrong implementation sl@0: reported by Digital Mars compiler. sl@0: sl@0: * stlport/stl/boost_type_traits.h: Fixed _OKMemCpy implementation sl@0: remove_pointer call was wrong. sl@0: sl@0: * src/dll_main.cpp: Hide force_link definition to MSVC compilers, sl@0: was useless and producing a warning. sl@0: sl@0: * build/Makefiles/gmake/cygming/rules-so.mak: Workaround for DMC sl@0: linker weird behavior. Linker create the dll file even if link sl@0: fail which confuse make dependency feature. As lib file is not sl@0: generated, dll now depends on lib that depends on build files. sl@0: sl@0: * stlport/stl/config/_warning_off.h: Disabled this used in initialization sl@0: list warning, used in rope implementation. sl@0: sl@0: * build/lib/configure: Fix --with-boost interpretation. sl@0: sl@0: * build/Makefiles/gmake/dmc.mak: Use dm_link command for linker rather sl@0: than link that is rather the MSVC like wrapper. sl@0: sl@0: * build/Makefiles/gmake/cygming/targetsys.mak: Ditto for dm_lib rather sl@0: than lib command. sl@0: sl@0: * build/Makefiles/gmake/app/rules.mak: Use same linker command invocation sl@0: for DMC and Borland. sl@0: sl@0: * doc/README.borland: Documentation update about limitation on locale sl@0: facets id instanciation. sl@0: sl@0: * stlport/stdlib.h: DMC, like Borland and EVC, defines errno macro sl@0: in stdlib.h sl@0: sl@0: * stlport/stl/config/user_config.h, features.h: Inverse sl@0: _STLP_FORCE_STRING_TERMINATION macro switch in sl@0: _STLP_DONT_FORCE_STRING_TERMINATION. This is less dangerous for sl@0: existing code. sl@0: sl@0: * stlport/stl/_string.h: When _STLP_FORCE_STRING_TERMINATION sl@0: is defined operator[] implementation is simpler. sl@0: sl@0: * stlport/stl/debug/_string.h: Based implementation of [] sl@0: operator on the non STL safe internal instance, avoid duplication sl@0: of check for access to the element of index size(). sl@0: sl@0: * test/unit/fstream_test.cpp: Add custom facet id definition for sl@0: Borland. sl@0: sl@0: * test/unit/hash_test.cpp: Now Borland support correctly hash container sl@0: implementation. sl@0: sl@0: * test/unit/rope_test.cpp: Fixed test implementation to build in sl@0: _STLP_NO_IOSTREAMS mode. sl@0: sl@0: 2006-01-18 Francois Dumont sl@0: sl@0: * stlport/stl/_ostream.h, _ostream.c: Use size_t rather than sl@0: unsigned int for MSVC compilers after VC6 in IO output operator sl@0: to avoid 64 bits warning when trying to display a size_t type. sl@0: sl@0: * test/unit/sstream_test.cpp: Add test that reveal the 64 bits sl@0: warning. sl@0: sl@0: * test/unit/string_test.cpp: Fixed unused variable warning. sl@0: sl@0: 2006-01-17 Petr Ovtchenkov sl@0: sl@0: * src/c_locale_glibc/c_locale_glibc2.c: really implemented sl@0: getting default locale categories from environment; replace sl@0: a few strcpy by strncpy to protect from possible buffer overflow sl@0: attack. sl@0: sl@0: * stlport/new.h, stlport/stl/_typeinfo.h: few workarounds for ICC 9 sl@0: [suggested by Lim Hwan Cheol]. sl@0: sl@0: 2006-01-14 Eric Sanford <...@comp...> sl@0: sl@0: * build/test/eh/bcc.mak: Copied from build/test/unit/bcc.mak. sl@0: sl@0: * stlport/stl/_rope.c: Restore Borland support for _Rope_rotate. sl@0: sl@0: * stlport/stl/_rope.h: Fix Borland 5.5.1 internal compiler errors sl@0: in _M_path_end and _M_tmp_buf structs. Restore Borland support for sl@0: _Rope_rotate. sl@0: sl@0: * test/eh/test_rope.cpp: Restore Borland exception test for rope. sl@0: sl@0: * test/unit/rope_test.cpp: Restore Borland unit test for rope. sl@0: sl@0: 2006-01-13 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_string.h, stlport/stl/debug/_string.h: sl@0: const operator [n] should return CharT() in case of sl@0: n == size(), ISO/IEC 14882:2003(E), 21.3.4; thanks Russ Miller. sl@0: sl@0: * test/unit/string_test.cpp: test for fixed bug above. sl@0: sl@0: * build/lib/configure: change --use-boost= onto --with-boost= sl@0: sl@0: 2006-01-13 Francois Dumont sl@0: sl@0: * test/unit/type_traits_test.cpp: Add boost specialization for sl@0: any_pod_type in order to reproduce STLport behavior when using sl@0: boost type traits. sl@0: sl@0: * src/dll_main.cpp: Remove now invalid template explicit sl@0: instanciation of _Bs_G that is no more a template. sl@0: sl@0: * stlport/stl/config/_detect_dll_or_lib.h: When no iostreams mode, sl@0: consider that we are in a static lib mode. sl@0: sl@0: * stlport/stl/_limits.c, _hashtable.c: Add _STLP_CALL specification sl@0: to _LimG and _Stl_prime methods implementation. sl@0: sl@0: * stlport/stl/_limits.c: Put _Stl_prime methods implementation in sl@0: a _STLP_EXPOSE_GLOBALS_IMPLEMENTATION macro check block. Those sl@0: methods are supposed to come from libs when using iostreams. sl@0: sl@0: * stlport/stl/_num_put.h, _num_get.h, _time_facets.h, _ios.h, sl@0: _ios_base.h: Cleanup Borland workaround now useless. sl@0: sl@0: * stlport/stl/boost_type_traits.h: Fixed _OKToMemCpy implementation sl@0: using boost type traits to be closer to the STLport behavior. sl@0: sl@0: * build/lib/configure.bat: Fixed reference to STLport user sl@0: configuration file. sl@0: sl@0: * build/lib/configure: Add --use-boost option to inject boost sl@0: path during build process. sl@0: sl@0: 2006-01-12 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_rope.h, stlport/stl/_rope.c: pass CharConsumer sl@0: via reference, to take into account CharConsumer modifications. sl@0: This has relation to find(char) in rope. Thanks Cristian Vlasceanu. sl@0: sl@0: * test/unit/rope_test.cpp: test for fixed bug above. sl@0: sl@0: 2006-01-11 Francois Dumont sl@0: sl@0: * src/bitset.cpp: Add stlport_prefix.h include. sl@0: sl@0: * stlport/stl/_bitset.h: Add an inline implementation for _S_count sl@0: and _S_first_one static methods for _STLP_NO_IOSTREAMS mode. Should sl@0: be slower than version coming with library but avoid link trouble. sl@0: sl@0: 2006-01-11 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_bitset.h, stlport/stl/_bitset.c, src/bitset.cpp: sl@0: make helper structure _Bs_G non-template [it used only as instance sl@0: with unused bool argument only], and put static tables into library sl@0: to avoid possible static instances duplication. sl@0: sl@0: * build/lib/Makefile.inc: idem. sl@0: sl@0: 2006-01-10 Francois Dumont sl@0: sl@0: * stlport/stl/type_traits.h, config/_msvc.h, _mwerks.h: Integrate sl@0: intrinsic type traits support for Visual 2005 and Metrowerk. Code sl@0: based on boost library information and not tested for Metrowerk. sl@0: sl@0: * test/unit/bind_test.cpp: Fix BindTest::bind2nd3 test case, had sl@0: never been used. sl@0: sl@0: * stlport/stl/boost_type_traits.h: Change boost type traits wrapping sl@0: implementation to use meta programming operation on types rather sl@0: than on numerical constant, MSVC6 prefer it. sl@0: sl@0: * build/test/unit/msvc.mak: Systematically add /Zm800 for MSVC sl@0: compilers, useful in a number of case and transparent in others. sl@0: sl@0: * test/unit/type_traits_test.cpp: Add is_POD test case. Add dummy sl@0: constructors, assignment operator and destructor to any_type struct sl@0: to make the tests pass even with compilers having intrinsic type sl@0: traits support. sl@0: sl@0: 2006-01-09 Francois Dumont sl@0: sl@0: * stlport/stl/debug: Fix move constructor to keep the container sl@0: move constructor complete. When STLport user do no require no sl@0: extension or Standard debug safe mode, iterators are also move sl@0: with the container contents. sl@0: sl@0: * stlport/stl/_list.h, _slist.h, _tree.h: Made iterator struct sl@0: constructor from base class pointer explicit to forbid expression sl@0: like: list.begin() == 0. sl@0: sl@0: * stlport/stl/pointers/_slist.h, _list.h, _set.h: Fix implementation sl@0: that was using former implicit contructor from pointer to base class. sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Fix implementation for sl@0: compilers coming with a native lib implementing secure C functions sl@0: like strncpy_s. sl@0: sl@0: * src/iostream.cpp: Hide I/O streams declaration when defining sl@0: them when compiler has no support for removing I/O streams sl@0: from static global variable initialization segment. Avoid the sl@0: stdio_istreambuf using directive when we do not use STLport sl@0: private namespace. sl@0: sl@0: * stlport/stl/_rope.h, _rope.c: Use internal, not _STLP_NO_EXTENSIONS sl@0: dependant functions for implementation. sl@0: sl@0: * stlport/rope, hash_map, hash_set: Add _STLP_NO_EXTENSIONS check sl@0: that generate a #error if defined as those headers are STLport sl@0: extensions. sl@0: sl@0: * stlport/_uninitialized.h: Add __uninitialized_copy_n no dependant sl@0: against _STLP_NO_EXTENSIONS for rope implementation. sl@0: sl@0: * test/unit: Made tests ok to build even when _STLP_NO_EXTENSIONS or sl@0: _STLP_NO_ANACHONISM or _STLP_NO_CUSTOM_IO is defined. sl@0: sl@0: * stlport/stl/_num_put.h, _num_get.h: Fix definition scope of sl@0: _STLP_MOVE_TO_STD_NAMESPACE that was wrong when _STLP_NO_CUSTOM_IO sl@0: is defined. sl@0: sl@0: * stlport/stl/boost_type_traits.h: Fixed _IsRef implementation based sl@0: on boost type traits feature. sl@0: sl@0: * build/nmake/extern.mak, lib/msvc.mak, test/unit/msvc.mak, sl@0: test/eh/msvc.mak: Moved injection of boost include path for all targets sl@0: in extern.mak. Also removed a useless double quote as make variable already sl@0: contains it. sl@0: sl@0: * stlport/stl/config/_bc.h, test/unit/floatio_test.cpp, cmath_test.cpp, sl@0: limit_test.cpp: Borland patch from Eric Sanford. sl@0: sl@0: * test/unit/string_test.cpp: Add template_wexpression test to check sl@0: wstring template expression. sl@0: sl@0: 2006-01-05 Francois Dumont sl@0: sl@0: * stlport/stl/_stdexcept.h: Fix __Named_exception destructor sl@0: implementation when _STLP_NO_IOSTREAMS is defined or when sl@0: securized C function strcpy_s exists. sl@0: sl@0: * stlport/stl/pointers/_set.h: Fixed implementation as _Identity sl@0: is now in private namespace and const_reverse_* functions must sl@0: return const_reverse_* iterators and not simply reverse_*. sl@0: sl@0: * test/unit/bcompos_test.cpp, bind_test.cpp: Made the tests usable sl@0: when _STLP_NO_EXTENSIONS is defined. sl@0: sl@0: * build/lib/configure.bat: Fix name of msvc8 compiler. sl@0: sl@0: * test/unit/mfunptr_test.cpp: Ignore find test when no class sl@0: partial template specialization rather than commenting it. sl@0: sl@0: * test/unit/type_traits_test.cpp: Ditto for reference_type test. sl@0: sl@0: * build/Makefiles/nmake/top.mak: Fixed install-shared definition. sl@0: sl@0: * build/Makefiles/gmake/gcc.mak: Add _STLP_USE_STATIC_LIB when sl@0: building and using STLport static lib under MinGW/Cygwin. sl@0: sl@0: 2006-01-04 Francois Dumont sl@0: sl@0: * src/acquire_release.h: New file, expose __acquire_* sl@0: functions used in different translation unit. sl@0: sl@0: * src/num_put.h: Removed, content moved to num_put.cpp that sl@0: was the only translation unit using exposed functions. sl@0: sl@0: * src/*: Build with Intel C++ 9 compiler reveal that many sl@0: static specification was missing. sl@0: sl@0: * src/ctype.cpp: Filter out _WCharIndexT specialization for sl@0: Intel compiler that consider wchar_t as unsigned, fixed a sl@0: warning. sl@0: sl@0: * _STLP_STATIC_ASSERT is now called without trailing ';' that sl@0: is already in the macro definition. sl@0: sl@0: * src/*: Removed reference to _SgI namespace replaced by the sl@0: STLport private namespace. sl@0: sl@0: * src/iostream.cpp: Add iostream include to expose cout, cin, cerr sl@0: definition to declaration. sl@0: sl@0: 2006-01-03 Francois Dumont sl@0: sl@0: * stlport/stl/config/_gcc.h: Force use of new/delete based sl@0: allocator under Cygwin/MinGW, default node allocator has sl@0: problem because __node_allocator static datas are sometimes sl@0: duplicated in a dll context. sl@0: sl@0: 2006-01-01 Francois Dumont sl@0: sl@0: * build/Makefiles/gmake/lib/gcc.mak, stlport/stl/config/_gcc.h: sl@0: Change way of building dll with Cygwin/MinGW. No more export of sl@0: all symbols, we use dllexport specification, makes import lib sl@0: really shorter and dll too. Moreover use of the sl@0: enable-auto-image-base linker option to make load of dll faster. sl@0: sl@0: * stlport/stl/_time_facets.c, _num_put.c, _num_get.c, _monetary.c, sl@0: debug/_debug.c: Adapt existing Cygwin/MinGW workaround for new sl@0: way of generating dlls. sl@0: sl@0: 2005-12-31 Francois Dumont sl@0: sl@0: * doc: Add Borland doc and update cygwin, mingw and msvc. sl@0: sl@0: * build/lib/README.options: Removed, replaced by configrure sl@0: script. sl@0: sl@0: * build/test/eh/bcc.mak: Added to build EH tests for Borland. sl@0: sl@0: 2005-12-29 Francois Dumont sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Hide _Locale_mbtowc and sl@0: _Locale_wctomb when no wchar_t support is detected thanks Eric sl@0: Sanford. sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Add mapping from Borland sl@0: facet macros to STLport associated string representation array index sl@0: thanks Eric Sanford. sl@0: sl@0: * stlport/stl/config/_evc.h: Patch from Michael Fink to generalized sl@0: use of OutputDebugString for Windows CE when we need to trace sl@0: information. sl@0: sl@0: * build/Makefiles/gmake/bcc.mak, lib/bcc.mak, app/bcc.mak: Fix sl@0: definition of START_OBJ thanks armpit33 sl@0: sl@0: * build/Makefiles/*: Generalize use of install-shared rather than sl@0: list of all shared rules, idem for install-static. sl@0: sl@0: 2005-12-27 Francois Dumont sl@0: sl@0: * stlport/stl/_string_io.c: Generalized use of _STLP_STATIC_ASSERT sl@0: macro rather that hand writen static assertion. sl@0: sl@0: * stlport/stl/_fstream.c, _istream.c, src/fstream.cpp, strstream.cpp: sl@0: Add some cast to avoid Borland suspicious pointer arithmetic warnings sl@0: thanks Eric Sanford. sl@0: sl@0: * stlport/stl/_limits.c: Fix Borland definition of NaNs and infinity sl@0: for long double thanks Eric Sanford. sl@0: sl@0: * stlport/stl/config/_system.h, _gcc.h: Fix config for Windows, MinGW sl@0: and Cygwin platforms. sl@0: sl@0: * stlport/stl/config/_windows.h: Can now be included by a pure C sl@0: compiler. sl@0: sl@0: * stlport/stl/config/_warning_off.h: Removed suspicious pointer sl@0: arithmetic warning for Borland thanks Eric Sanford. sl@0: sl@0: * stlport/stl/_construct.h: Removed now useless Borland workaround. sl@0: sl@0: * src/stdio_streambuf.cpp: Ditto. sl@0: sl@0: * stlport/stl/_alloc.h: Now allocator is tagged as an STLport class sl@0: even without partial template specialization support. This is sl@0: necessary because type_traits is specialized for allocator, sl@0: allocator and allocator when partial template sl@0: specialization is not available. sl@0: sl@0: * test/unit/bitset_test.cpp: Add tests for the STLport sl@0: bitset::_Find_first extension. sl@0: sl@0: 2005-12-27 Petr Ovtchenkov sl@0: sl@0: * src/initial_mak: obsolete makes removed (sync with STLPORT_5_0 sl@0: branch). sl@0: sl@0: 2005-12-24 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/config/_gcc.h: gcc, builded by Apple is differ sl@0: in behavior from original; in particular, in path to includes; sl@0: sl@0: * build/Makefiles/gmake/app/gcc.mak: fix gcc options on MacOS X; sl@0: STLport is free from libstdc++ on MacOS now; sl@0: sl@0: * build/Makefiles/gmake/gcc.mak: fix gcc options on MacOS X; gcc, sl@0: builded by Apple is differ in behavior from original; sl@0: detect this; sl@0: sl@0: * build/Makefiles/gmake/lib/gcc.mak: fix gcc on MacOS X; sl@0: differentiate gcc from Apple and original; sl@0: STLport is free from libstdc++ on MacOS X now; sl@0: sl@0: * build/Makefiles/gmake/darwin/rules-so.mak: use sl@0: gcc instead of c++ for linkage, if only C sources present. sl@0: sl@0: * build/lib/gcc.mak, build/test/unit/gcc.mak: remove duplication sl@0: of stlport includes. sl@0: sl@0: 2005-12-22 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/config/_windows.h: all system specific configuration sl@0: in one place [moved from stlport/stl/_windows.h] sl@0: sl@0: * stlport/stl/_windows.h: deleted; all system specific configuration sl@0: in one place [moved to stlport/stl/config/_windows.h] sl@0: sl@0: * stlport/stl/debug/_debug.c, stlport/stl/_threads.h: sl@0: _windows.h included via _prolog.h [i.e. via stl/config/_system.h], sl@0: see changes above. sl@0: sl@0: * stlport/stl/config/_sunprocc.h: remove include of _solaris.h---it sl@0: already included from _system.h sl@0: sl@0: * stlport/stl/config/_kai.h: remove include of os configuration files, sl@0: it should be included from _system.h sl@0: sl@0: * stlport/stl/config/_intel.h: fix path after config headers sl@0: reorganization. sl@0: sl@0: * stlport/stl/config/_evc.h: idem sl@0: sl@0: * stlport/stl/_exception.h: idem sl@0: sl@0: * stlport/stl/config/_prolog.h: idem sl@0: sl@0: * test/unit/fstream_header_test.cpp: idem sl@0: sl@0: * test/unit/iomanip_header_test.cpp: idem sl@0: sl@0: * test/unit/ios_header_test.cpp: idem sl@0: sl@0: * test/unit/iostream_header_test.cpp: idem sl@0: sl@0: * test/unit/istream_header_test.cpp: ditto sl@0: sl@0: * test/unit/locale_header_test.cpp: idem sl@0: sl@0: * test/unit/ostream_header_test.cpp: idem sl@0: sl@0: * test/unit/sstream_header_test.cpp: idem sl@0: sl@0: * test/unit/strstream_header_test.cpp: idem sl@0: sl@0: 2005-12-21 Francois Dumont sl@0: sl@0: * stlport/stl/debug/_debug.h, _debug.c, _string_sum_methods.h: sl@0: Removed some unused parameters reported by Borland compiler. sl@0: sl@0: * stlport/stl/config/_warnings_off.h: Disable unused parameters sl@0: warning for Borland compiler. sl@0: sl@0: * build/Makefiles/gmake/targetdirs.mak: Change config in order to sl@0: have each generated application in a different bin folder. sl@0: sl@0: * stlport/stl/_threads.h: Used _STLP_STATIC_ASSERT macro for a sl@0: static assertion. sl@0: sl@0: 2005-12-19 Petr Ovtchenkov sl@0: sl@0: * build/Makefiles/gmake/lib/gcc.mak: move LDSEARCH flags after sl@0: possible -nostdlib sl@0: sl@0: * build/lib/gcc.mak: don't add include path, it already included. sl@0: sl@0: * src/c_locale.h: include stlport_prefix.h to add STLport's sl@0: definitions that used below. sl@0: sl@0: * stlport/stl_user_config.h, stlport/stl/_config.h: moved sl@0: to stlport/stl/config catalog and renamed. sl@0: sl@0: * stlport/stl/_config_compat.h, stlport/stl/_site_config.h: ditto. sl@0: sl@0: * stlport/config: headers moved to stlport/stl/config catalog, sl@0: renamed and reorganized. sl@0: sl@0: * stlport/stl/_prolog.h, stlport/stl/_epilog.h, src/stlport_prefix.h: sl@0: reflect changes in configuration files. sl@0: sl@0: 2005-12-17 Francois Dumont sl@0: sl@0: * stlport/stl/_config.h: Removed ';' in _STLP_STATIC_ASSERT sl@0: definition. sl@0: sl@0: * stlport/stl/_cwctype.h: Fix native namespace of wide char functions sl@0: for MinGW runtime <= 3.0. Also fix a typo for FreeBDS. sl@0: sl@0: * src/stdio_streambuf.cpp: Add missing 'defined' when checking sl@0: __OS400__ macro existance. sl@0: sl@0: * test/unit/resolve_name.cpp, set_test.cpp: Removed useless ';' sl@0: reported by remarks from Intel C++ compiler. sl@0: sl@0: 2005-12-16 Francois Dumont sl@0: sl@0: * stlport/stl/_rope.h: Moved overload of __identity_element for sl@0: _Rope_Concat_fn in STLport private namespace where orginal function sl@0: declaration is. Also moved _Rope_Concat_fn at the same time, much more sl@0: many elements of _rope.h should be moved to this namespace... sl@0: sl@0: * stlport/stl/_monetary.c: Change implementation of __money_do_put for sl@0: Borland compiler, looks like this compiler do not like ternary operator. sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Replace check of category in sl@0: __Extract_locale_name from > LC_ALL by != LC_ALL, there is no reason sl@0: for LC_ALL to be upper or lower to all other categories. sl@0: sl@0: * build/Makefiles/gmake/cygming/rules-so.mak: Segregate different sl@0: compilers linker calls and add reference to START_OBJ in Borland sl@0: linker invocation. sl@0: sl@0: * build/Makefiles/gmake/lib/rules-a.mak, cygming/targetsys.mak: Borland sl@0: archiver add option is now '+', before being invocated archive is always sl@0: deleted to avoid warnings because the Borland archiver do not have a sl@0: real add or replace module option. sl@0: sl@0: * stlport/stl/type_traits.h: Fix for compiler simulating partial sl@0: template specialization (VC6) sl@0: sl@0: * test/eh/test_rope.cpp: Removed rope test for Borland. sl@0: sl@0: * test/unit/exception_test.cpp: Commented tests are now ignored. sl@0: sl@0: * test/unit/locale_test.cpp, string_test.cpp: No more ignored test sl@0: for Borland. sl@0: sl@0: 2005-12-14 Petr Ovtchenkov sl@0: sl@0: * build/Makefiles/gmake/sysid.mak: parse two-token target sl@0: system identification string along with three-token one sl@0: [useful when vendor is omitted]; thanks Jonathan Sprinkle. sl@0: sl@0: * stlport/cwctype, stlport/stl/_cwctype.h: wctype_t and sl@0: others are in global namespace on FreeBSD. sl@0: sl@0: * build/Makefiles/gmake/app/gcc.mak, lib/gcc.mak: use build sl@0: with -nostdlib on Solaris. sl@0: sl@0: * src/cxa.c: fix for Solaris sl@0: sl@0: * stlport/config/stl_solaris.h, stlport/stl/_cmath.h: sl@0: hmm, strange... sometimes MATH_L and MATH_F present on Solaris, sl@0: sometimes not... sl@0: sl@0: 2005-12-14 Francois Dumont sl@0: sl@0: * test/unit/cppunit/cppunit_mini.h, file_reporter.h: Add ignore sl@0: test feature, now tests should be ignored rather than commented. sl@0: 2 new macros for that CPPUNIT_IGNORE to add in tests declaration, sl@0: all test following this macro won't be run; CPPUNIT_STOP_IGNORE sl@0: optional macro to stop ignoring tests. sl@0: sl@0: * test/unit/fstream_test.cpp: Ignore custom_facet test when not sl@0: supported rather than comment it. sl@0: sl@0: * test/unit/hash_test.cpp: Ignore hmap1 test for Borland and Digital sl@0: Mars compilers, looks like rope class is too complicated for those sl@0: compilers. sl@0: sl@0: * test/unit/locale_test.cpp: Ignore locale_by_name test for compiler sl@0: without exceptions support. Ignore money facet tests for Borland. sl@0: sl@0: * test/unit/mvctor_test.cpp, rope_test.cpp: Some tests ignored sl@0: depending on various configuration settings. sl@0: sl@0: * test/unit/type_traits.cpp: Add test for _IsSTLportClass metaprogramming sl@0: tool. Ignored for Borland. sl@0: sl@0: * test/unit/unordered_test.cpp: Fix test for Digital Mars, unordered sl@0: containers value_type are not necessarily with an immutable key, it is sl@0: more portable to use value type rather than redefining it in the test. sl@0: sl@0: * test/unit/string_test.cpp: Removed Windows CE macro check replaced sl@0: by WaitForMultipleObjects returned code check, more portable and sl@0: maintenable. Ignore a test for Digital Mars compiler. sl@0: sl@0: * stlport/stl/type_manips.h, type_traits.h: Simplified metaprograming sl@0: tools implementation; now avoid compilation constant replaced by sl@0: type, Borland compiler has problem with constants. sl@0: sl@0: * stlport/config/stl_bc.h: Made supported compiler check more accurate sl@0: free compiler is 5.5.1 so it is the oldest supported version. Borland sl@0: compiler do not support IEC559 specifications. sl@0: sl@0: * build/Makefiles/gmake/bcc.mak: Put startup .obj to link with in sl@0: START_OBJ rather than LDLIBS, thanks Eric Sanford. sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Temporarily removed category sl@0: check in __Extract_locale_name function for Borland, looks like LC_ALL sl@0: or LC_MAX has not the right value. sl@0: sl@0: 2005-12-13 Francois Dumont sl@0: sl@0: * src/cxa.c: Add include of stlport_prefix.h first, this file sl@0: should be always included first in STLport translation units, sl@0: it prepares some compilers config and define important for Wins sl@0: __BUILDING_STLPORT macro. sl@0: sl@0: 2005-12-13 Petr Ovtchenkov sl@0: sl@0: * build/Makefiles/gmake/targetdirs.mak: built-in sl@0: test in /bin/sh on Solaris has no -e, use external instead. sl@0: sl@0: 2005-12-11 Francois Dumont sl@0: sl@0: * build/Makefiles/gmake/bcc.mak : Add -w-eff to disable 'useless' sl@0: code warning, we had to chose between this warning and the 'used sl@0: parameter' one. sl@0: sl@0: * build/Makefiles/gmake/targetdirs.mak: Removed comment about folder sl@0: creation action under windows platform. The action is identical to sl@0: the one used in the nmake build system and no one complains about it sl@0: so current situation is not so bad. Only users of Windows before Windows sl@0: 98 should eperiment troubles, this is a known limitation. sl@0: sl@0: * build/Makefiles/gmake/dmc.mak, cygming/rules-so.mak: Change config, sl@0: now we directly invoke the linker, we do not use a compiler call for it. sl@0: sl@0: * build/Makefiles/gmake/app/bcc.mak: Fix linker option in order to generate sl@0: a windows executable and not a dll, thanks Eric Sanford. sl@0: sl@0: * build/Makefiles/gmake/app/rules-install.mak: Add install dir dependency sl@0: rather than doing a folder existence check in rules actions. sl@0: sl@0: * build/Makefiles/gmake/app/rules.mak: Restore slash rotation for Borland sl@0: linker invocation and fix static rules dependencies to guaranty folder sl@0: creations. sl@0: sl@0: * build/Makefiles/gmake/lib/bcc.mak: Add missing archiver page size parameters. sl@0: sl@0: * build/test/unit/bcc.mak: Add _STLP_DEBUG_UNINITIALIZED for static sl@0: debug rules. sl@0: sl@0: * build/Makefiles/gmake/lib/rules-a.mak: Segregate each archiver invocation. sl@0: sl@0: 2005-12-09 Francois Dumont sl@0: sl@0: * build/lib/configure.bat: Add Borland compiler to compilers sl@0: able to mix a dll build with a static native runtime. sl@0: sl@0: * build/Makefiles/gmake/bcc.mak, dmc.mak: Complete libs to link sl@0: depending on STLport configuration. sl@0: sl@0: * build/Makefiles/gmake/targetdirs.mak: roll back modif from Petr sl@0: 2005-12-08 sl@0: sl@0: * build/Makefiles/gmake/targets.mak: ditto sl@0: sl@0: * build/Makefiles/gmake/cygming/lib.mak: Fix for static libs build sl@0: with compiler different than gcc. sl@0: sl@0: * build/Makefiles/gmake/cygming/targetsys.mak: Add missing info for sl@0: static libs build with Borland and Digital Mars compilers. sl@0: sl@0: * build/Makefiles/gmake/lib/rules-a.mak: Fix static builds commands sl@0: to use info of above point. sl@0: sl@0: * build/Makefiles/gmake/lib/rules-install-a.mak: Add install rule sl@0: for windows and missing catalog in dependency tree. sl@0: sl@0: * build/Makefiles/gmake/windows/rules-install-so.mak: Add missing sl@0: catalog dependency. sl@0: sl@0: 2005-12-09 Petr Ovtchenkov sl@0: sl@0: * build/lib/Makefile.inc: add cxa.c into compilation; this sl@0: is useful for FreeBSD 4.11 C++ ABI workaround. sl@0: sl@0: * src/cxa.c: use _cxa_atexit and related functions on sl@0: FreeBSD 4.11 [workaround for missed C++ ABI functions]. sl@0: sl@0: 2005-12-08 Francois Dumont sl@0: sl@0: * stlport/stl/_auto_ptr.h: Add missing Standard throw() specification sl@0: on all auto_ptr members. sl@0: sl@0: * stlport/config/stl_mycomp.h: Removed recently introduce macro sl@0: _STLP_DFLT_PARAM_INSTANCIATION_BUG, already existing _STLP_DONT_SUP_DFLT_PARAM sl@0: is enough for the moment. sl@0: sl@0: * stlport/stl/_stream_iterator.h: Small implementation change to make sl@0: Digital Mars compiler happy. sl@0: sl@0: * stlport/stl/_unordered_map.h: Digital Mars compiler do not like sl@0: immutable keys in associative containers. sl@0: sl@0: 2005-12-08 Petr Ovtchenkov sl@0: sl@0: * stlport/ctype.h: forward-declaration for _exception struct sl@0: for WinCE/eVC3; prevents warning message sl@0: ../include/stdlib.h(817) : warning C4115: sl@0: '_exception' : named type definition in parentheses sl@0: [Michael Fink's suggestion] sl@0: sl@0: * stlport/float.h, stlport/limits.h, stlport/setjmp.h: idem. sl@0: sl@0: * stlport/stdarg.h, stlport/string.h, stlport/stdio.h: idem. sl@0: sl@0: * build/Makefiles/gmake/gcc.mak: check configuration macro sl@0: WITHOUT_STLPORT [useful for tests]; force usage of stlport sl@0: headers first otherwise. sl@0: sl@0: * build/Makefiles/gmake/targetdirs.mak: fix catalogs creation sl@0: procedure [loop through catalogs required]; comment problematic sl@0: code when we have no good tools. sl@0: sl@0: * build/Makefiles/gmake/lib/gcc.mak: fix typo [FreeBSD]; fix sl@0: set of libraries when link for FreeBSD; fix typo in macro name sl@0: [FreeBSD again]. sl@0: sl@0: * build/Makefiles/gmake/app/gcc.mak: fix set of libraries when sl@0: link for FreeBSD; insert stlport lib in STDLIB set [when STLPORT sl@0: in force], to avoid set one in application's makefile. sl@0: sl@0: * build/test/unit/gcc.mak: explicit refrence to libstlport in sl@0: this makefile not required more [see message above]. sl@0: sl@0: * build/Makefiles/gmake/lib/gcc.mak: remove names inherited from sl@0: Complement project. sl@0: sl@0: * build/Makefiles/gmake/*/rules-install-so.mak: installation sl@0: catalog was missed in dependency tree; ident string removed sl@0: to simplify merge/diff sl@0: sl@0: * Build: building library and unit tests with cross [gcc 3.4.5] sl@0: on Linux for FreeBSD 5.3 (except cwctype_test). sl@0: sl@0: * build/Makefiles/gmake/targets.mak: rotate slashes for BCC. sl@0: sl@0: * build/Makefiles/gmake/app/macro.mak: remove name contruction sl@0: for program; rotate slashes for wins. sl@0: sl@0: * build/Makefiles/gmake/app/rules-install.mak: remove name sl@0: contruction for program. sl@0: sl@0: * build/Makefiles/gmake/app/rules.mak: remove name contruction sl@0: for program; objects for static and for dynamic are the same. sl@0: sl@0: 2005-12-04 Francois Dumont sl@0: sl@0: * src/num_put_float.cpp: Filter inclusion of stdint.h, required for sl@0: Digital Mars compiler, forbidden for Sun platform. sl@0: sl@0: * stlport/stl/_cwctype.h: wide types and function are in global sl@0: namespace. sl@0: sl@0: * build/test/unit/gcc.mak: Modify cygwin/mingw config now that sl@0: default settings for those platform is shared library. sl@0: sl@0: * build/Makefiles/gmake: Add support of static targets, used sl@0: especially for Borland C++ Compiler and Digital Mars Compiler. sl@0: sl@0: * build/Makefiles/gmake/app/gcc.mak: Fix typo in FreeBSD sl@0: configuration. sl@0: sl@0: 2005-12-02 Francois Dumont sl@0: sl@0: * stlport/config/stl_msvc.h: Fixed configuration detection when building sl@0: STLport dll based on a static native runtime. sl@0: sl@0: * stlport/stl/_locale.h: Fix warning convertion from size_t to sl@0: __stl_atomic_t that can be of lower size. sl@0: sl@0: * stlport/config/stl_gcc.h, doc/README.mingw, README.cygwin: Made dll sl@0: default settings under cygwin/mingw. sl@0: sl@0: 2005-12-01 Francois Dumont sl@0: sl@0: * stlport/stl/_mbstate_t.h: Add workaround for alpha bad WCHAR_MIN and sl@0: WCHAR_MAX definition. sl@0: sl@0: * stlport/config/stl_gcc.h: Configure STLport for alpha platform as not sl@0: supporting iec559 specification as quiet nan is not correct. If someone sl@0: find the right value then this config will have to be rollbacked. sl@0: sl@0: * build/Makefiles/gmake/gcc.mak: Restored Sun OS support that use the sl@0: -pthreads option and not -pthread sl@0: sl@0: * build/Makefiles/nmake/lib/macro.mak: Fixed library name generation sl@0: when using cross runtime version thanks Alexey Ivanov report. sl@0: sl@0: 2005-11-29 Francois Dumont sl@0: sl@0: * stlport/stl_user_config.h: Add _STLP_LIB_NAME_MOTIF macro to give sl@0: users a point of customization of the automatic linking feature. sl@0: sl@0: * build/Makefiles/nmake/lib/macro.mak, gmake/cygming/lib.mak: Use sl@0: STLP_BUILD_LIB_MOTIF in library name generation algorithm. Also take sl@0: into account cross builds in library name generation. sl@0: sl@0: * build/lib/configure.bat: Add --lib-motif option to give users a sl@0: way to customize the generated library names. sl@0: sl@0: * test/eh: Generalized use of msvc.mak rather than all the nmake-vc??.mak sl@0: files. Idem for evc.mak instead of nmake-evc?.mak and icl.mak instead of sl@0: nmake-icl.mak. sl@0: sl@0: * stlport/stl/_exception.h: Change _msvc_warnings_off.h include in sl@0: _warnings_off.h as this file now also turn off Borland warnings. sl@0: sl@0: * stlport/config/_detect_dll_or_lib.h: Mutualization of code used to sl@0: detect current STLport type of build or usage (dll or static lib). sl@0: sl@0: * stlport/config/stl_msvc.h, stl_bc.h, stl_dmc.h: Integration of sl@0: _detect_dll_or_lib.h sl@0: sl@0: * stlport/config/_auto_link.h: Change auto link algo when we detect sl@0: cross STLport usage that is to say use of STLport as a dll link with sl@0: static native runtime or opposite. sl@0: sl@0: 2005-11-29 Petr Ovtchenkov sl@0: sl@0: * src/cxa.c: mutex should be recursive-safe, due to __cxa_finalize sl@0: may be called recursive. sl@0: sl@0: 2005-11-28 Francois Dumont sl@0: sl@0: * stlport/stl/_threads.h: Simplified expression used to instanciate sl@0: _Atomic_swap_struct, gcc 2.95 had trouble with the one line expression. sl@0: sl@0: * src/dll_main.cpp: Fix instanciation of _Swap_lock_struct that has been sl@0: changed and renamed in _Atomic_swap_struct. sl@0: sl@0: * test/unit/map_test.cpp, set_test.cpp: Simplified call to map constructor sl@0: taking a functor and allocator instance, split it in a creation of a les sl@0: instance then passed to the constructor; gcc 2.95 had trouble with previous sl@0: version. sl@0: sl@0: * stlport/stl/_cmath.h, _cstdlib.h: Now those files includes each other to sl@0: make sure that all abs overloads are defined when it is imported in STLport sl@0: namespace. gcc 2.95 is very strict on this point and only consider the abs sl@0: overloads existing at the first import calls, all overloads added after that sl@0: are discarded silently. sl@0: sl@0: * stlport/stl/_cmath.h: Removed unjustified abs function overloads done sl@0: directly in STLport namespace for gcc 2.95 and before. Those overloads sl@0: clashed on a Linux with gcc 2.95 from the sourceforge compiler farm. sl@0: sl@0: * build/Makefiles/gmake/gcc.mak: Generalized definition of _REENTRANT under sl@0: Linux to make detection of a multithreaded build from STLport code easier. sl@0: Problem meet on an alpha linux platform from the sourceforge compiler farm. sl@0: sl@0: * stlport/stl/_locale.h: Removed _M_delete locale::facet member variable, sl@0: useless if facet instance reference counter is right. sl@0: sl@0: * src/locale_impl.cpp, message.cpp: Change classic facets initialization code sl@0: to simply set initial counter to 1 rather than incrementing it after construction. sl@0: sl@0: * test/unit/evc.mak fix path to config file in existance check. sl@0: sl@0: * stlport/stl/_move_construct_fwk.h, type_manips.h: Add workaround to use sl@0: move constructor with Borland compiler. sl@0: sl@0: 2005-11-28 Petr Ovtchenkov sl@0: sl@0: * build/Makefiles/gmake/targetdirs.mak: change names of .o output dirs sl@0: to make bcc happy (bug with passing name that contain '-' from sl@0: compiler to linker). Replacement: 'shared' -> 'so', 'static' -> 'ar', sl@0: '-' -> '_' (i.e. obj/gcc/shared-stlg -> obj/gcc/so_stlg, a bit shorter) sl@0: [Suggested by Francois Dumont]. sl@0: sl@0: 2005-11-27 Petr Ovtchenkov sl@0: sl@0: * build/Makefiles/gmake/targets.mak, app/rules.mak, linux/rules-so.mak: sl@0: use gcc instead of c++ as linker if there are no C++ objects. sl@0: sl@0: * src/cxa.c, build/misc/cxa_atexit/Makefile.inc, build/misc/cxa_atexit/gcc.mak: sl@0: workaround for bugged __cxa_finalize; use builded libcxa.so in LD_PRELOAD or sl@0: /etc/ld.so.preload in Linux system with bugged glibc. See also sl@0: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24189 sl@0: sl@0: 2005-11-27 Francois Dumont sl@0: sl@0: * stlport/stl/type_manips.h: Add import of __true_type and sl@0: __false_type in STLport private namespace as the using namespace sl@0: directive do not seems to be enough for latest gcc version. sl@0: sl@0: * src/time_facets.cpp: Fix buffer size decrementation in __write_formatted_time sl@0: function thanks Petr Ovtchenkov sl@0: sl@0: 2005-11-26 Francois Dumont sl@0: sl@0: * stlport/stl/_complex.h: Move implementation of generic abs, arg and polar sl@0: after definition of double overload used in implementation. Thanks Kees de sl@0: Bruin sl@0: sl@0: * stlport/stl/_threads.h, _alloc.h, _alloc.c: Fix lock free node allocator sl@0: implementation thanks Weis. sl@0: sl@0: * stlport/stl/wrappers: Removed, no more maintained and complicated to fix sl@0: with the debug and pointer specialization implementations. sl@0: sl@0: * test/unit/stack_allocator.h: Creation of an allocator using a stack buffer. sl@0: This allocator specificity is to not be stateless and not default constructible. sl@0: sl@0: * test/unit/list_test.cpp, stlport/stl/_list.h, _list.c: Add of a test with the sl@0: StackAllocator. Fix list implementation to correctly handle allocator state sl@0: in the methods moving elements from a list instance to an other. sl@0: sl@0: * stlport/stl/_carray.h: Creation of a new internal struct _CArray that mimic a C sl@0: array with the additionnal feature of being able to be instanciated with a type sl@0: without default constructor. sl@0: sl@0: * stlport/stl/debug/_list.h: Adapt iterator invalidation according allocators sl@0: compare result. sl@0: sl@0: * test/unit/slist_test.cpp, stlport/stl/_slist.h, _slist.c: idem list. sl@0: sl@0: * stlport/stl/_slist.h: Modification of the splice_after methods signature. Users sl@0: now have to pass the source slist instance, this is mandatory in order to compare sl@0: the 2 slists allocator instance before moving an element from a slist instance to sl@0: an other. sl@0: sl@0: * stlport/stl/_string_base.h: Fix _M_swap implementation for basic_string instanciation sl@0: with allocator having a state. sl@0: sl@0: * stlport/stl/_list.c, _slist.c: sort methods now throw an overflow exception when lists sl@0: are too long to be sorted with the current algorithm. This is preferable to a buffer sl@0: overrun. sl@0: sl@0: * stlport/stl/_alogobase.c: Small equal_range optimization, upper_bound is not called sl@0: anymore when lower_bound returned value is already not equivalent to the search value. sl@0: sl@0: * build/Makefiles/gmake: Add build system for Digital Mars and Borland C++ compilers sl@0: sl@0: * build/lib/configure.bat: Add following options sl@0: --use-boost sl@0: --not-thread-safe sl@0: --no-rtti sl@0: see script for explanation. --mingw removed, detected with --compiler option, if sl@0: gcc, dmc or bcc then we are using MinGW tools. sl@0: sl@0: * build/lib/configure: Add --not-thread-safe option sl@0: sl@0: * build/Makefiles: Add build options to generate not thread safe libs and no rtti libs, sl@0: all compilers option has not been updated. sl@0: sl@0: * stlport/c*: Modification of C++ headers wrapping C ones. All code moved to internal sl@0: headers in stlport/stl folder. Internal headers are only included if include comes from sl@0: user code otherwise only native header is included. Limit dependency between STLport sl@0: headers relations and native library once. Reported by problem building with Borland sl@0: compiler. sl@0: sl@0: * test/unit/cppunit/cppunit_mini.h: Replace cstring include with string.h to avoid sl@0: references to std namespace in headers, should be more portable. Add typedef Base sl@0: definition in CPPUNIT_TEST_SUITE macro, used in calls to base class methods, help sl@0: Borland. sl@0: sl@0: * Generalize use of secure string functions (strcpy_s for instance) for MSVC compilers sl@0: supporting it and tagging former versions like deprecated. The pragma warning that used sl@0: to disable this warning has been removed. sl@0: sl@0: * stlport/BC50: Removed, no necassry anymore for supported Borland compiler versions. sl@0: sl@0: * stlport/stl/debug: Implementation modification, now debug wrapper agregate a non debug sl@0: instance rather than inheriting from it. Makes debug implementation clearer as we are now sl@0: forced to implement the complete containers interfaces. sl@0: sl@0: * stlport/stl/pointers: Fix implementation in order to support Standard compilers sl@0: not accepting cast from function pointer to void*. sl@0: sl@0: * *: Reinforce use of STLport private namespace (stlp_priv or stlport::priv) for all sl@0: internals algorithms. sl@0: sl@0: 2005-11-21 Francois Dumont sl@0: sl@0: * Fix classic locale facet initial reference counter thanks sl@0: Cabal sl@0: sl@0: 2005-11-20 Petr Ovtchenkov sl@0: sl@0: * src/num_put.h: check that incoming string has enough sl@0: digits for fractional part processing. This check includes sl@0: check for empty incoming string. (Thanks Leonardo [leoapsilva] sl@0: for the bug report). sl@0: sl@0: * stlport/stl/_monetary.c: fix processing the case when sl@0: number of digits in value less then number of digits in fraction. sl@0: sl@0: * src/facets_byname.cpp: international currency symbol should sl@0: be the first (not depends upon where currency symbol situated in sl@0: the national format). sl@0: sl@0: * test/unit/locale_test.cpp: tests for reproducing this problems. sl@0: sl@0: 2005-11-20 Gail Baker sl@0: sl@0: * build/Makefiles/gmake/CC.mak: Updated compiler option sl@0: to compile larger inline functions inline. sl@0: sl@0: * build/Makefiles/gmake/lib/CC.mak: Changed how the header sl@0: file linking is done to only do it once instead of with sl@0: every compile. sl@0: sl@0: * build/lib/README: include instructions for SunPro compiler. sl@0: sl@0: * build/test/unit/CC.mak: allow the STLP_DEBUG version to compile. sl@0: sl@0: 2005-11-19 Petr Ovtchenkov sl@0: sl@0: * stlport/stdlib.h: replace C++ comments by C, to satisfy -ansi sl@0: option of compiler. sl@0: sl@0: 2005-11-18 Francois Dumont sl@0: sl@0: * build/Makefiles/nmake/lib/rules-install-so.mak, sl@0: app/rules-install-so.mak: Add copy of manifest file when exist sl@0: rather than when compiler is Visual Studio 2005. sl@0: sl@0: * src/stdio_streambuf.cpp: Removed warning for EVC 3 and 4 thanks sl@0: Michael Fink patch. sl@0: sl@0: * stlport/stl/math.h, stdlib.h: Fix EVC3 warning thanks Michael Fink sl@0: patch. sl@0: sl@0: * doc/README.evc3: doc update from Michael Fink. sl@0: sl@0: * stlport/*, stlport/*, tests/*: Clean up of trailing blank charaters sl@0: in all source files. sl@0: sl@0: 2005-11-17 Gail Baker sl@0: sl@0: * build/Makefiles/gmake/CC.mak, depend.mak, app/CC.mak, lib/CC.mak: sl@0: support of SunPro 5.7 compiler. sl@0: sl@0: * build/lib/CC.mak: ditto sl@0: sl@0: * stlport/stl/_rope.c: Removed extra semi-colons. sl@0: sl@0: * stlport/stl/_rope.h: Sunpro compiler had a problem with sl@0: the __ROPE_DEPTH_SIZE macro doing an addition. Changed to sl@0: a fixed value instead. sl@0: sl@0: * stlport/cstdlib: Updated to allow the compiler to find abs and div sl@0: sl@0: * stlport/config/stl_sunpro.h: Disabled _STLP_LINK_TIME_INSTANTIATION sl@0: since this nolonger works with current files. The issue here is that sl@0: a number of defines that are required in the C versions of the files sl@0: use defines that are undefed at the end of the include. So, when sl@0: the compiler finally compiles the C version at link time the defines sl@0: are lost and the files don't compile. Also added a minor change sl@0: to allow files that are compiled with cc to include stl_sunpro.h sl@0: without bailing out. sl@0: sl@0: * stlport/stl/_bvector.h: Added stl/_range_errors.h required by sl@0: an exception that can be called. sl@0: sl@0: * stlport/stl/_cmath.h: Changed to pull all math functions from std sl@0: namespace for SunPro compiles only. sl@0: sl@0: * test/unit/fstream_test.cpp: Added SunPro compile to the list sl@0: of compilers that don't use the DO_CUSTOM_FACET_TEST. sl@0: sl@0: * test/unit/string_test.cpp: Added Sun UI Threads to the list sl@0: of supported thread types in the test. sl@0: sl@0: * test/unit/valarray_test.cpp: The compiler was having trouble sl@0: finding abs(). Added a "using std::abs" for the SunPro compiler sl@0: which solved the problem. sl@0: sl@0: * test/unit/cppunit/cppunit_mini.h: Added additional using statements sl@0: for the str* commands. sl@0: sl@0: * test/unit/cppunit/test_main.cpp: Added "using namespace std;" sl@0: for the SunPro compiler. sl@0: sl@0: * build/test/unit/CC.mak: support of SunPro 5.7 compiler sl@0: sl@0: 2005-11-17 Francois Dumont sl@0: sl@0: * stlport/stl/_messages_facets.h, src/messages.cpp: Move message facet sl@0: constructor private to guaranty that it is only called from the _Locale_impl sl@0: class for classic locale facets creation. Change constructor implementation sl@0: as now passed _Message instance is dynamically instanciated so needs to be sl@0: destroy on facet destruction; moreover the facet is also dynamically allocated sl@0: and has to be destroyed when reference counter reach 0. sl@0: sl@0: * src/locale_impl.cpp: Removed call to now useless free_classic_locale function. sl@0: Change make_classic_locale implementation, now classic locale facets are sl@0: allocated on the heap and have to be destroyed like any ordinary facets sl@0: when reference counter reach 0. sl@0: sl@0: 2005-11-15 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_tree.h: check iterator returned from lower_bound sl@0: in equal_range_unique for end, to avoid increment [useful when sl@0: key not available]. sl@0: sl@0: * test/unit/map_test.cpp: test for problem above. sl@0: sl@0: 2005-11-09 Francois Dumont sl@0: sl@0: * build/test/eh/gcc.mak: Fix build system for Cygwin/MinGW systems that sl@0: was broken since library naming convention modification. sl@0: sl@0: 2005-11-07 Michael Fink sl@0: sl@0: * build/lib/configure.bat: Fixed configuring for Visual Studio .NET 2003. sl@0: Fixed jump target names for Win9x OSes: they must be 8 characters or sl@0: shorter. sl@0: sl@0: 2005-11-07 Michael Fink sl@0: sl@0: * build/Makefiles/nmake/evc3.mak, build/Makefiles/nmake/evc4.mak, sl@0: build/lib/configure.bat, stlport/config/stl_evc.h: Added check if sl@0: using x86 emulator configuration; using of proper include paths in sl@0: case. sl@0: sl@0: * doc/README.evc4: Documentation update sl@0: sl@0: 2005-11-01 Petr Ovtchenkov sl@0: sl@0: * Repository: STLport 5.0, tag STLPORT_5_0_RELEASE sl@0: sl@0: * Repository: merge HEAD and STLPORT_5_0 branch. sl@0: sl@0: * build/Makefiles/gmake/app/rules-install.mak: install-shared rule sl@0: added (patch by Michael Fink). sl@0: sl@0: * build/Makefiles/gmake/lib/rules-install-a.mak: install-static rule sl@0: added (patch by Michael Fink). sl@0: sl@0: 2005-10-12 Francois Dumont sl@0: sl@0: * stlport/stl/_threads.h, _threads.c: Fix regression for some platforms sl@0: introduce by modification of _Atomic_swap_ptr implementation thanks sl@0: Albrecht Fritzche. sl@0: sl@0: 2005-10-09 Petr Ovtchenkov sl@0: sl@0: * repository: RC6, tag STLPORT_5_0_RC6 sl@0: sl@0: 2005-10-09 Francois Dumont sl@0: sl@0: * stlport/config/stl_gcc.h: DEC alpha has not *l math functions sl@0: sl@0: 2005-10-08 Francois Dumont sl@0: sl@0: * stlport/stl/_config.h: Add endianess specification for DEC alpha thanks sl@0: sourceforge compiler farm. sl@0: sl@0: * stlport/config/stl_intel.h: Remove reference to _STLP_GLOBAL_NEW_HANDLER sl@0: in this file as this macro depends on native Standard library which is sl@0: the back end MSVC compiler one so macro set in stl_msvc.h. sl@0: sl@0: 2005-10-07 Francois Dumont sl@0: sl@0: * build/Makefiles/gmake/darwin/sys.mak, freebsd/sys.mak: Fix EXT_TEST sl@0: definition to test rather than /usr/bin/test thanks sourceforge sl@0: compiler farm. sl@0: sl@0: 2005-10-05 Francois Dumont sl@0: sl@0: * build/Makefiles/nmake/vc-common.mak: Remove /Fd option for the icl sl@0: compiler that do not know it. sl@0: sl@0: 2005-10-04 Francois Dumont sl@0: sl@0: * stlport/stl/debug/_list.h: Fix resize method implementation in safe sl@0: STL mode thanks Ethan Fenn report. sl@0: sl@0: * test/unit/list_test.cpp: Add test case for list::resize method. sl@0: sl@0: * build/Makefiles/nmake/lib/rules-install-a.mak, app/rules-install-a.mak: sl@0: Install .pdb files only if exist, Intel C++ compiler do not generate them sl@0: when building static libraries. Thanks Albrecht Fritzsche sl@0: sl@0: * stlport/stl/_ostream.h, _ostream.c: Move _M_init function implementation sl@0: from .c to .h as .c is not included when _STLP_NO_CUSTOM_IO is defined sl@0: but _M_init might not be exported if compiler fully inline it. sl@0: sl@0: 2005-10-03 Francois Dumont sl@0: sl@0: * stlport/stl/_tree.h: Fix _S_value method definition that returns sl@0: a value_type& rather than the reference typedef as reference might be, sl@0: depending on the traits used to instanciate _Rb_tree, equivalent to sl@0: a const_reference. sl@0: sl@0: 2005-09-30 Francois Dumont sl@0: sl@0: * INSTALL, README, doc/FAQ, doc/README.msvc: Documentation updates. sl@0: sl@0: * doc/stlport_namespaces.txt: Small doc about STLport namespaces and how sl@0: STLport replace native Standard library. sl@0: sl@0: 2005-09-26 Francois Dumont sl@0: sl@0: * build/*: Finished _STLP_LEAKS_PEDANTIC clean up from all make files. sl@0: sl@0: 2005-09-25 Francois Dumont sl@0: sl@0: * build/test/unit/gcc.mak: Remove _STLP_LEAKS_PEDANTIC option when building sl@0: unit tests as this option is not defined when building the libs. sl@0: sl@0: 2005-09-22 Petr Ovtchenkov sl@0: sl@0: * build/Makefiles/gmake/sysid.mak: add underscore in architecture recognition, sl@0: to parse targets like x86_64-unknown-linux-gnu. sl@0: sl@0: 2005-09-21 Francois Dumont sl@0: sl@0: * src/locale.cpp, facets_byname.cpp: Use of _STLP_ATOMIC_INCREMENT rather than sl@0: a lock on a mutex when the macro is available. sl@0: sl@0: 2005-09-21 Petr Ovtchenkov sl@0: sl@0: * src/locale_impl.cpp: some internal functions used before declared. sl@0: Thanks Thomas Kho for report. sl@0: sl@0: 2005-09-20 Francois Dumont sl@0: sl@0: * stlport/stl/_string.h, _string_workaround.h: code refactoring, substr method sl@0: now use string constructor taking same parameters rather than the range sl@0: constructor, thanks Felix Wyss report. Also add missing allocator parameter sl@0: for non stateless allocators. sl@0: sl@0: * build/Makefiles/gmake: Restore resource build for Cygwin and MinGW, add sl@0: it for Windows. sl@0: sl@0: * build/lib/configure.bat: Add --extra-cxxflag to inject additional compilation sl@0: option in the nmake build system. sl@0: sl@0: 2005-09-20 Petr Ovtchenkov sl@0: sl@0: * test/unit/ptrspec_test.cpp: gcc 2.95 fail to roll out template instantiation sl@0: for pointers to member function, skip this test for gcc 2.95. sl@0: sl@0: * build/Makefiles/gmake/gcc.mak: gcc 2.95 has no -fuse-cxa-atexit option. sl@0: sl@0: * build/lib/gcc.mak: don't use LEAK_PEDANTIC with gcc 2.95 [but this not help, sl@0: segfault at program termination still happens]. sl@0: sl@0: * stlport/config/stl_gcc.h: gcc 2.95 has problem with llabs, so force to use sl@0: _STLP_NO_VENDOR_STDLIB_L; 2.95 fails to initialize builtin types. sl@0: sl@0: * stlport/stl/_cmath.h: workaround for gcc 2.95---it has problem with 'using' sl@0: directive [problem with 'abs' with float types as argument]. sl@0: sl@0: * stlport/stl/type_traits.h: workaround for gcc 2.95 [parentheses around sl@0: template argument]. Thanks Thomas Kho. sl@0: sl@0: * test/unit/fstream_test.cpp: custom facet test compilation fail for gcc 2.95 sl@0: sl@0: * build/Makefiles/gmake/icc.mak, build/test/unit/icc.mak: support icc 9.0, sl@0: thanks John Fisher-Ogden and Thomas Kho. sl@0: sl@0: * src/c_locale_glibc/c_locale_glibc2.c: use newlocale/freelocale for sl@0: glibc 2.3.x, and __newlocale/__freelocale for glibc 2.2.x. Thanks Gail Baker. sl@0: sl@0: 2005-09-19 Francois Dumont sl@0: sl@0: * build/Makefiles/nmake/clean.mak, lib/clean.mak, app/clean.mak: Add check sl@0: for file or folder existance before calling del or rd to avoid error sl@0: messages that give a bad feed back to STLport users. sl@0: sl@0: * build/Makefiles/gmake: Add support to use the GNU make tool in a Windows sl@0: cmd console. For the moment it is used to build STLport using a simple sl@0: MinGW distrib. sl@0: sl@0: * stlport/stl/type_traits.h: Simplified code removing the _IsConvertibleIfNot sl@0: that has never proved of being useful, it only introduces problem with some sl@0: limited compilers. sl@0: sl@0: * stlport/stl/_string_workaround.h, _string.h, debug/_string.h: Fix string sl@0: range constructor bug in the VC6 specific workaround implementation that was sl@0: resulting in a memory leak. Thanks Felix Wyss report. sl@0: sl@0: 2005-09-18 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_hash_fun.h: add hash function for void *. sl@0: sl@0: * src/facets_byname.cpp, src/message_facets.h: introduce map between sl@0: nl_catd type [that is void * on Linux] and messages_base::catalog sl@0: [that is int by Standard]; this should remove problems on platforms sl@0: where sizeof(int) < sizeof(void *). sl@0: sl@0: 2005-09-16 Francois Dumont sl@0: sl@0: * stlport/cwchar: Add MinGW 3.8 runtime wide-char to multi-byte functions sl@0: import within STLport namespace thanks Rene Riviera. sl@0: sl@0: 2005-09-14 Francois Dumont sl@0: sl@0: * stlport/config/stl_gcc.h: Mingw support string wide functions thanks sl@0: Rene Riviera report. sl@0: sl@0: 2005-09-13 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_thread.h: fix return type specification sl@0: [volatile void * -> void *]. sl@0: sl@0: 2005-09-12 Francois Dumont sl@0: sl@0: * stlport/stl/_thread.h: Fix _Atomic_swap_ptr implementation in single sl@0: threaded mode and when there is no pointer atomic swap operation. sl@0: sl@0: * stlport/stl/_site_config.h: Add _STLP_NO_CYGWIN macro to signal use sl@0: of the -mno-cygwin cygwin option. sl@0: sl@0: * build/lib/configure: Remove automatic generation of stlport/script_config.h. sl@0: sl@0: 2005-09-11 Petr Ovtchenkov sl@0: sl@0: * build/Makefiles/gmake/sysid.mak: provide identification hosted platform. sl@0: sl@0: * build/Makefiles/gmake/targetdirs.mak: CygWin/MinGW has no /usr/bin/test, sl@0: but built-in test support -e; see record 2005-09-04. sl@0: sl@0: * build/Makefiles/top.mak: separate hosted platform and target platform sl@0: file extentions, tools, utilites. sl@0: sl@0: * build/Makefiles/gmake/?/sys.mak, build/Makefiles/gmake/?/targetsys.mak: sl@0: ditto. sl@0: sl@0: 2005-09-09 Francois Dumont sl@0: sl@0: * src/c_locale_win32.c: Fix _Locale_wchar_[tolower,toupper] implementation sl@0: which was wrong when wint_t was not the same typedef as wchar_t. sl@0: sl@0: * build/lib/configure: Removed obsolete configure options --with-msvc and sl@0: --with-mssdk. And --no-cygwin option to make build of STLport using -mno-cygwin sl@0: option easier. sl@0: sl@0: * stlport/script_config.h: New header used to put additionnal macros defined sl@0: by the configure script. sl@0: sl@0: * stlport/stl/_config.h: Add script_config.h include. sl@0: sl@0: * stlport/config/stl_gcc.h: Use of the new _STLP_NO_CYGWIN macro to set sl@0: the right _STLP_NATIVE_INCLUDE_PATH macro value. sl@0: sl@0: * build/Makefiles/gmake/gcc.mak: Change CC and CXX assignment from := to sl@0: ?= to take into account an already existing definition. sl@0: sl@0: 2005-09-07 Francois Dumont sl@0: sl@0: * build/Makefiles/gmake: Adopt a more traditionnal unixes naming sl@0: convention for cygwin and mingw. sl@0: sl@0: * build/Makefiles/nmake: Attempt to make STLport library names more sl@0: coherent between unixes and windows systems. Now windows use the 5.0 sl@0: extension like under unixes even if under unixes the file extension sl@0: is before the 5.0 and under windows it will be after. The other sl@0: difference is that the debug suffix is 'g' when using gcc and 'd' for sl@0: the other compilers. This modification comes from a work to improve sl@0: STLport integration within boost build system, bjam. sl@0: sl@0: * stlport/config/stl_msvc.h: Modify MSVC auto link feature to reflect sl@0: above modifications. sl@0: sl@0: 2005-09-06 Francois Dumont sl@0: sl@0: * stlport/config/stl_gcc.h: Fix cygwin config that do have native sl@0: mbstate_t definition. sl@0: sl@0: 2005-09-05 Petr Ovtchenkov sl@0: sl@0: * repository: RC5, tag STLPORT_5_0_RC5 sl@0: sl@0: 2005-09-04 Petr Ovtchenkov sl@0: sl@0: * build/Makefiles/gmake/targetdirs.mak: in sh's built-in 'test' no -e sl@0: option on Solaris, use external 'test' instead. sl@0: sl@0: * build/test/unit/gcc.mak: Fix LDSEARCH recursive problem; fix sl@0: options for ld search path for some platforms. sl@0: sl@0: * stlport/cstdlib, stlport/stl/_cmath.h: fix usage of native sl@0: ?f and ?l math functions on Solaris; hypot for long double should't sl@0: loose precision, if no native C function present. sl@0: sl@0: 2005-09-02 Francois Dumont sl@0: sl@0: * stlport/config/stl_msvc.h, stl/_move_construct_fwk.h: Add the sl@0: _STLP_NO_MOVE_SEMANTIC configuration macro to remove move semantic sl@0: support for MSVC .Net 2002 that seems to be unable to support it. sl@0: Maybe we should rather remove this compiler version support... sl@0: sl@0: * test/unit/mvctor_test.cpp: Add _STLP_NO_MOVE_SEMANTIC check. sl@0: sl@0: 2005-08-31 Francois Dumont sl@0: sl@0: * build/Makefiles/nmake: Enhance nmake build system to correctly take sl@0: into account the .manifest files generated by VS 2005 Beta. sl@0: sl@0: 2005-08-29 Petr Ovtchenkov sl@0: sl@0: * CVS repository: CVS repository master copied from cvs.stlport.com to SourceForge. sl@0: All history preserved! sl@0: sl@0: 2005-08-27 Francois Dumont sl@0: sl@0: * stlport/stl/_hashtable.h: Fix move feature integration for the hash_multimap sl@0: container. sl@0: sl@0: * stlport/stl/_deque.h: Fix _Deque_base move constructor implementation. sl@0: sl@0: * test/unit/mvctor_test.cpp: Change move constructor tests to use dynamically sl@0: allocated string rather than static ones. sl@0: sl@0: * build/test/unit/nmake-vc6.mak: Increase compiler maximum heap size to allow sl@0: compilation with stldbg rules. sl@0: sl@0: * build/test/unit/nmake-evc4.mak: Fix macro typo OPT_STLDBG_STATIC -> sl@0: OPT_STATIC_STLDBG sl@0: sl@0: * build/Makefiles/gmake/gcc.mak: Filter out the newly added -fuse-cxa-atexit sl@0: compilation option for Cygwin and Mingw, the granted libc is not compatible sl@0: with it. sl@0: sl@0: 2005-08-26 Petr Ovtchenkov sl@0: sl@0: * stlport/config/stl_solaris.h: C++ comments replaced by C ones, sl@0: this file may be included by C sources. Thanks Matti Rintala. sl@0: sl@0: 2005-08-25 Francois Dumont sl@0: sl@0: * stlport/stl/_config.h, _epilog.h: Move of stlport namespace alias sl@0: definition from _epilog.h to _config.h to avoid redefinition as _epilog.h sl@0: is reentrant. This is a workaround for a HPUX aCC compiler bug reported sl@0: by Baker. sl@0: sl@0: 2005-08-25 Petr Ovtchenkov sl@0: sl@0: * build/Makefiles/gmake/gcc.mak: usage of -fuse-cxa-atexit strongly sl@0: required for correct order of static objects dtors calls. This is sl@0: used in deinitialization of locale-related objects. Thanks Matti Rintala. sl@0: sl@0: * stlport/stl/_config.h: use different namespaces for mulithreaded sl@0: and non-multithreaded builds to avoid usage of non-multithreaded sl@0: application with multithreaded libstlport and vice versa; sl@0: [combination non-mt & mt lead to crash due to different instances sl@0: and sizes of allocators for non-mt and mt cases]. sl@0: sl@0: 2005-08-23 Francois Dumont sl@0: sl@0: * stlport/stl/_config_compat.h: Add check of _STLP_NO_OWN_IOSTREAMS sl@0: macro to make remove of its support more explicit thanks to a #error sl@0: directive. sl@0: sl@0: * stlport/stl/_tree.h, _hashtable.h: Now reference and pointer types sl@0: are taken from the _Traits template parameter used to instanciate sl@0: the class. Doing so now set::reference and hash_set::reference are sl@0: const_reference which is coherent with respective iterators that are sl@0: immutable. Moreover it fixes a VC6 bug in reverse_iterator implementation sl@0: that was trying to transform a const reference to a simple reference sl@0: thanks Russell Miller report. sl@0: sl@0: * test/unit/set_test.cpp: New test case for set reverse_iterator. sl@0: sl@0: 2005-08-23 Petr Ovtchenkov sl@0: sl@0: * stlport/config/stl_gcc.h: seems HP-UX has no *f variants of math sl@0: functions [ceilf, fabsf, etc.] sl@0: sl@0: 2005-08-21 Francois Dumont sl@0: sl@0: * stlport/stl/_string.h, _rope.h: Removed __move_traits specialization sl@0: for string wstring crope and wrope. There is no reason to believe that sl@0: its move construtor will be complete as an STLport user has the right sl@0: to specialized the std::allocator<> with char or wchar_t. sl@0: sl@0: * stlport/stl/_function_base.h, _alloc.h: Generalized use of the sl@0: __stlport_class struct rather than introducing a new helper type sl@0: (__stlport_less or __stlport_alloc) when we need to recognize STLport sl@0: implementation from a user one. sl@0: sl@0: 2005-08-20 Francois Dumont sl@0: sl@0: * stlport/stl/_list.h, _slist.h: Fix move constructor implementation sl@0: thanks Henrik Goldman (www.x-formation.com) report. sl@0: sl@0: * stlport/stl/_alloc.h: Fix type_traits specialization for allocator sl@0: type. Now specialization is only apply for the default STLport allocator sl@0: implementation and not for potential user specialization. sl@0: sl@0: * stlport/stl/_deque.h, _hashtable.h, _string.h, _tree.h, _vector.h: sl@0: Simplification of the move framework application especially in the sl@0: definition of the containers __move_traits specialization. Many sl@0: _AsMoveSource call replaced by explicit call to the move constructor sl@0: when we are sure that there is one. sl@0: sl@0: * test/unit/mvctor_test.cpp: Add many tests to check move contructor sl@0: implementations. sl@0: sl@0: * stlport/stl/_function_base.h: Add type_traits specialization for the sl@0: less functor to help the move framework when dealing with associative sl@0: containers. sl@0: sl@0: * test/unit/mvctor_test.cpp: Add a new test case checking correct move sl@0: semantic support for all STL containers. sl@0: sl@0: * stlport/stl/_rope.h: Add move semantic support to the rope class. sl@0: sl@0: 2005-08-19 Petr Ovtchenkov sl@0: sl@0: * build/Makefiles/gmake/gcc.mak: fix extraction of gcc version. sl@0: Thanks Thomas Kho. sl@0: sl@0: 2005-08-18 Francois Dumont sl@0: sl@0: * stlport/stl/_deque.c: Fix _M_erase range for movable types method sl@0: implementation, same bug as below in vector. sl@0: sl@0: * test/unit/mvctor.cpp: Improve test case on vector to reveal bug sl@0: below and add same tests for deque which is the other container that sl@0: use the move contructor feature. sl@0: sl@0: 2005-08-18 Petr Ovtchenkov sl@0: sl@0: * INSTALL: add some words about multithread options and libraries. sl@0: sl@0: * stlport/stl/_fstream.c: some code clean to reduce bogus compiler sl@0: warnings with -Wall. sl@0: sl@0: * stlport/config/stl_gcc.h: seems HP-UX has no llabs and lldiv. sl@0: sl@0: 2005-08-17 Francois Dumont sl@0: sl@0: * stlport/stl/_vector.h: Fix _M_erase range for movable types sl@0: implementation thanks Sergej Zagursky. sl@0: sl@0: * build/Makefiles/nmake/vc8.mak: removed /RTC1 compiler option, the platform sl@0: SDK compiler do not support it. STLport users will just have to activate it sl@0: by themself if they want to. sl@0: sl@0: * stlport/stl/_complex.h: Fix some floating point literals thanks sl@0: Ulrich Eckhardt report. sl@0: sl@0: * stlport/stl/_time_facets.c: Complete integration of the '#' MS extension sl@0: in the date/time format string, reported thanks to the recent locale time_get sl@0: new test case. sl@0: sl@0: 2005-08-14 Francois Dumont sl@0: sl@0: * stlport/config/stl_msvc.h: Fix platform SDK compiler config, even latest sl@0: version that announce to be similar to .Net 2005 beta do not throw bad_alloc sl@0: from the new operator. sl@0: sl@0: * stlport/cstdio, cstdlib: Replaced some _WIN64 checks by a sl@0: _STLP_USING_PLATFORM_SDK_COMPILER check. sl@0: sl@0: * test/unit/cmath_test.cpp: Complete test filtering for Microsoft platform SDK sl@0: compiler. sl@0: sl@0: 2005-08-14 Petr Ovtchenkov sl@0: sl@0: * test/unit/locale_test.cpp: tests for time_get facet. sl@0: sl@0: * stlport/stl/_time_facets.c: fix processing of %p format sl@0: [12:00 PM ~ 12:00, 12:00 AM ~ 00:00]. sl@0: sl@0: * src/time_facets.cpp: substitute expanded equivalent format strings sl@0: instead of %T, %R, %r. sl@0: sl@0: * stlport/pthread.h: Fix C++ comment in a potentially C header. Thanks Ali sl@0: sl@0: 2005-08-11 Francois Dumont sl@0: sl@0: * stlport/stl_user_config.h: Add _STLP_USING_PLATFORM_SDK_COMPILER so that sl@0: STLport user can signal they are using platform SDK compiler. sl@0: sl@0: * stlport/config/stl_msvc.h: Add use of _STLP_USING_PLATFORM_SDK_COMPILER. sl@0: sl@0: * test/unit/cmath_test.cpp, valarray_test.cpp: Removed tanh calls when using sl@0: AMD 64 platform SDK compiler, looks like they miss something... sl@0: sl@0: 2005-08-09 Francois Dumont sl@0: sl@0: * src/fstream.cpp: Final fix of basic_filebuf::open method. Now when open sl@0: from a Win32 handle the file will be considered as in binary access with no sl@0: append action. sl@0: sl@0: 2005-08-08 Francois Dumont sl@0: sl@0: * src/fstream.cpp: Fix annoying 64 warning and basic_filebuf::open method sl@0: from a low level file descriptor or from an HANDLE (not yet complete). sl@0: Thanks Yves Maliet report. sl@0: sl@0: 2005-08-07 Francois Dumont sl@0: sl@0: * test/unit/inner_product.cpp: Fix 64 bits portability warning. sl@0: sl@0: * test/unit/cmath_test.cpp: Removed modf tests for Windows 64 platform sl@0: as the SDK is missing the underlying modff implementation. sl@0: sl@0: * stlport/cstdlib: Add a div function definition which is missing in the sl@0: Windows 64 SDK. sl@0: sl@0: * stlport/cstdio: Add vsnprintf definition which is missing in Windows sl@0: 64 SDK. sl@0: sl@0: * stlport/exception: Add flexibility for definition of vendor terminate sl@0: and uncaught_exception function namespace. Can now be defined independantly sl@0: of the unexpected_exception namespace. sl@0: sl@0: * src/dll_main.cpp: Removed explicit turn off of optimization for Microsoft sl@0: compilers after .Net 2003. There were no comment to explain why optimizations sl@0: were turned off so I guess it was a compiler bug. .Net 2003 being a major sl@0: new version I hope this bug has vanish with this version. sl@0: sl@0: * src/fstream.cpp: Removed static assertion for windows file handle to be 32 sl@0: bits. Under Windows 64, even if the API is still 32 bits handles are still sl@0: defined as void*. We will see when code will run under a real Windows 64 platform sl@0: if it is a problem. sl@0: sl@0: * stlport/config/stl_msvc.h: Add configuration for Windows 64 Platform SDK. sl@0: Expecially add automatic link to bufferoverflowU.lib to avoid modification sl@0: of STLport build system and STLport users projects. sl@0: sl@0: 2005-08-06 Petr Ovtchenkov sl@0: sl@0: * src/c_locale_glibc/c_locale_glibc2.c: add explicit type conversion sl@0: to avoid warnings on 64-bits platforms; thanks Thomas Kho and sl@0: Karol Szkudlarek for report. sl@0: sl@0: 2005-08-05 Francois Dumont sl@0: sl@0: * stlport/stl/_valarray.h: Add missing _debug.h header inclusion for sl@0: _STLP_ASSERT macro definition. sl@0: sl@0: * stlport/stl/debug/_hashtable.h: Fix typo in hashtable move constructor. sl@0: Thanks arabesc report. sl@0: sl@0: 2005-08-05 Petr Ovtchenkov sl@0: sl@0: * doc/FAQ: some words about cross-compilation. sl@0: sl@0: 2005-08-04 Francois Dumont sl@0: sl@0: * stlport/stl/_hashtable.c: Fix erase(range) implementation thanks sl@0: arabesc. sl@0: sl@0: * test/unit/hash_test.cpp: Add new test for previous fix. sl@0: sl@0: 2005-08-04 Petr Ovtchenkov sl@0: sl@0: * stlport/csetjmp: sometimes, if native setjmp.h was included first, sl@0: the setjmp functions situated in global namespace, not in vendor's sl@0: std. This may confuse following csetjmp. sl@0: sl@0: * test/unit/setjmp_header_test2.cpp: test for this. sl@0: sl@0: * build/test/unit/Makefile.inc: ditto. sl@0: sl@0: 2005-08-03 Francois Dumont sl@0: sl@0: * INSTALL document updated to signal no longer support of the sl@0: 'wrapper' mode. sl@0: sl@0: 2005-08-02 Petr Ovtchenkov sl@0: sl@0: * stlport/stl_user_config.h, stlport/stl/_site_config.h: sl@0: fix some obsolete comments. sl@0: sl@0: 2005-07-31 Petr Ovtchenkov sl@0: sl@0: * test/unit/math_aux.h, cmath_test.cpp: are_equals moved into sl@0: math_aux.h to reuse in other tests. sl@0: sl@0: * test/unit/sstream_test.cpp: check input to float, inspired by sl@0: Jeff Williams. sl@0: sl@0: 2005-07-27 Francois Dumont sl@0: sl@0: * stlport/iomanip, stl/_algo.h: Removed some persistent occurences sl@0: of __in and __out keywords reserved by Microsoft. sl@0: sl@0: * stlport/stl/_pthread_alloc.c: Fix annoying warning reported by gcc. sl@0: sl@0: * stlport/config/stl_msvc.h: Fix _STLP_VENDOR_UNEXPECTED_STD macro sl@0: definition to empty rather than '1'. Could have produce a compilation sl@0: error with compilers like Intel C++ used with the VC6 native Standard sl@0: library. sl@0: sl@0: * stlport/queue, stl/_ctraits_fns.h, _hashtable.h, _numeric.h, _string.h sl@0: _tree.h: Fix macro guards used to avoid inclusion of _function.h or sl@0: _function_base.h or functional thanks Dinesh Monga report. sl@0: sl@0: 2005-07-26 Petr Ovtchenkov sl@0: sl@0: * doc/FAQ: description of pseudo-leaks, thanks Michael Fink. sl@0: sl@0: * STLport (repository): STLport 5.0 RC4 sl@0: sl@0: 2005-07-25 Francois Dumont sl@0: sl@0: * stlport/config/stl_evc.h: Move _DEBUG definition fix up before sl@0: stl_msvc.h inclusion to have correct library link automatically. sl@0: Thanks Michael Fink. sl@0: sl@0: 2005-07-24 Francois Dumont sl@0: sl@0: * stlport/stl/_string.c, _rope.c: Add instanciation of npos for all sl@0: compilers thanks Simon. sl@0: sl@0: * test/unit/string_test.cpp: Add creation of a reference to string::npos sl@0: to force compiler to generate memory for it. Used to reveal a link error. sl@0: sl@0: * test/unit/cppunit/cppunit_mini.h: Removed redondant semi column in sl@0: CPPUNIT_TEST_SUITE_REGISTRATION macro definition. sl@0: sl@0: * stlport/config/stl_msvc.h, stl_intel.h: Concidering that compilers sl@0: emulating MSVC compilers use the same native Standard Library headers sl@0: macros _STLP_NEW_PLATFORM_SDK and _STLP_NO_VENDOR_STDLIB_L has been moved sl@0: outside the _STLP_MSVC scope. _STLP_GLOBAL_NEW_HANDLER is now defined sl@0: only for Intel compiler versions before 9.0. sl@0: sl@0: * stlport/cstdlib, stl/_cmath.h: Because of the previous remark about sl@0: emulators of MSVC using MSVC headers, macro checks for global definition sl@0: of C math functions has been changed from _STLP_MSVC to _MSC_VER. sl@0: sl@0: 2005-07-23 Michael Fink sl@0: sl@0: * test/unit/locale_test.cpp: Added creating locale pointer in sl@0: test_supported_locale() when no exception handling is available. sl@0: sl@0: * src/stlport.rc: Added version info defines when not available through sl@0: windows.h. Happens on evc3 MIPS and evc3 SH3. sl@0: sl@0: 2005-07-23 Francois Dumont sl@0: sl@0: * stlport/stl/_string_sum.h: Fix missing return statement in a compare sl@0: method. sl@0: sl@0: 2005-07-22 Francois Dumont sl@0: sl@0: * stlport/stl/_algo.c: Fix search_n implementation for random access sl@0: iterator thanks Jim Xochellis sl@0: sl@0: * test/unit/algo_test.cpp: Add test case for the previous bug thanks sl@0: Michael Fink. sl@0: sl@0: * src/num_get_float.cpp: Fix gcc Mingwin and Cygwin special version with sl@0: building with -O2 option. sl@0: sl@0: * build/Makefiles/gmake/gcc.mak: Add -D_REENTRANT definition for cygwin and sl@0: -mthreads for mingwin platform to make STLport thread safe like under the sl@0: other supported platforms. sl@0: sl@0: 2005-06-30 Petr Ovtchenkov sl@0: sl@0: * stlport/wchar.h, src/c_locale.c, stlport/stl/_threads.h: fix Netware sl@0: wcs... functions. sl@0: sl@0: 2005-06-30 Francois Dumont sl@0: sl@0: * stlport/stl/_rope.h, _rope.c: Duplicate basic_string::npos definition code sl@0: in rope implementation to use a "Standard" static const npos definition when sl@0: possible depending on the compiler features. Thanks caldwed report. sl@0: sl@0: 2005-06-30 Michael Fink sl@0: sl@0: * stlport/cstdlib, stdlib.h: Fixed issue with including stdlib.h after sl@0: setjmp.h; fix from 2005-06-23 wasn't solving the problem. sl@0: sl@0: 2005-06-28 Francois Dumont sl@0: sl@0: * stlport/stl/_hash_func.h: For MSVC .Net compiler we grant the hash sl@0: specialization rather than the hash one to avoid 64 bits sl@0: warnings when instanciating a hashed container with the size_t key. sl@0: sl@0: * stlport/stl/_istream_iterator.h: Modify istream_iterator implementation sl@0: to avoid the default read from the istream even if the istream_iterator sl@0: instance is not used. sl@0: sl@0: * test/unit/istmit_test.cpp: Add many tests for the copy_n/istream_iterator sl@0: combination. Those tests are no active for the moment as they are failing, sl@0: will be fixed after 5.0 release. sl@0: sl@0: * build/test/unit/nmake-vc-common.mak: Tests are no more built with the sl@0: _STLP_NO_CUSTOM_IO option, see reason below. sl@0: sl@0: * test/unit/fstream_test.cpp: Add custom_facet test to check that STLport sl@0: support instanciation of basic_fstream with something else that the std::char_traits sl@0: For the moment the test fail when we try to use the stream for I/O operations sl@0: should be fixed after 5.0 release. sl@0: sl@0: 2005-06-27 Francois Dumont sl@0: sl@0: * src/locale_impl.cpp: Fix locale implementation to avoid to call facet sl@0: destructor when user explicitely required not to do so. sl@0: sl@0: * stlport/stl/_fstream.c: Fix _M_setup_codecvt method implementation to avoid sl@0: a bad_cast exception on basic_filebuf construction. At this point the locale sl@0: used to instanciate it is the classic locale that might not have the necessary sl@0: codecvt facet. The user is then force to call imbue after basic_filebuf sl@0: construction otherwise I/O operations will fail. When imbue is invoked, if sl@0: the locale still do not have the necesary facet, the stream is put in the fail sl@0: state. Thanks Alexander Pototskiy sl@0: sl@0: 2005-06-26 Francois Dumont sl@0: sl@0: * stlport/stl/_config_compat.h: Add _STLP_OWN_IOSTREAMS macro for backward sl@0: compatibility with library checking it. sl@0: sl@0: 2005-06-23 Francois Dumont sl@0: sl@0: * src/complex.cpp, complex_trig.cpp, complex_exp.cpp: Removed code sl@0: duplication between float, double and long double version thanks to sl@0: some template functions. Thanks an Ulrich Eckhardt idear. sl@0: sl@0: * stlport/cstdlib, stl/stdlib.h: Michael Fink patch to avoid setjmp.h sl@0: inclusion problem as stdlib.h contains a setjmp macro definition. sl@0: sl@0: * test/eh/main.cpp: Redirection of std::cout and std::cerr for WinCE sl@0: thanks Michael Fink sl@0: sl@0: * stlport/config/stl_evc.h: Restore long double support for WinCE, there sl@0: is just no *l math functions. Only define _STLP_NATIVE_INCLUDE_PATH sl@0: if not already defined, giving the user a chance to override the defaults sl@0: for yet unknown SDKs. Thanks Michael Fink and Ulrich Eckhardt. sl@0: sl@0: * build/Makefiles/nmake/evc3.mak, evc4.mak: removed unneeded set of CC sl@0: for SHx; already done by setup batch. Thanks Michael Fink. sl@0: sl@0: 2005-06-21 Francois Dumont sl@0: sl@0: * stlport/stl/_ios.h, _ios_base.h, _num_get.c, _num_put.c, _complex.c, sl@0: _istream.c, _time_facets.c: Fix cast expression for the cached facets, sl@0: C casts replaced by static_cast and const added when missing. sl@0: Thanks Oliver Stoeneberg report. sl@0: sl@0: * test/unit/unary.h: Replaced old STLport with new style ones. Get sqrt sl@0: function in global namespace rather than forcing use of the one in std sl@0: namespace, avoids ambiguity with VC6. sl@0: sl@0: * test/unit/resolve_name.cpp: Add _STLP_DO_IMPORT_CSTD_FUNCTIONS definition sl@0: at the top of it to force import of C symbols in std even for limited sl@0: compilers like VC6. sl@0: sl@0: * stlport/stl/_valarray.h: Add global namespace scope to C function calls sl@0: to avoid VC6 ambiguity problem. sl@0: sl@0: 2005-06-20 Francois Dumont sl@0: sl@0: * stlport/config/stl_gcc.h: Fix gcc 3.4.4 detection under cygwin thanks sl@0: Ulrich Eckhardt report. sl@0: sl@0: * stlport/stl/c_locale.h: Fix _Locale_mask_t definition for Mingwin. sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Add static assertion to check sl@0: _Locale_mask_t size. sl@0: sl@0: * src/complex_exp.cpp: Replaced complex log10 function static variables sl@0: with global constant, avoid multithreaded init problem. Thanks Ulrich sl@0: Eckhardt report. sl@0: sl@0: 2005-06-17 Francois Dumont sl@0: sl@0: * stlport/stl/_alloc.h: Add initialization of the memory buffer in sl@0: allocator::allocate function and reset in allocator::deallocate to sl@0: the _STLP_SHRED_BYTE motif when _STLP_DEBUG_UNINITIALIZED is defined sl@0: to help track missing initialization issue. sl@0: sl@0: * src/dll_main.cpp: Removed now useless _Node_alloc_helper class. sl@0: sl@0: * stlport/stl/_alloc.c: Add complete cleanup of the __node_alloc static sl@0: datas in the _S_chunk_dealloc method, this is important if the clean up sl@0: occur before STLport shared lib is unloaded. sl@0: sl@0: * stlport/stl/_alloc.c: Add a static instance of __node_alloc_cleaner in the sl@0: _S_alloc_call method and change init number of allocation to 1 to force sl@0: release of memory pool only on shared library unload. sl@0: sl@0: 2005-06-11 Francois Dumont sl@0: sl@0: * stlport/cstdlib, stl/_cmath.h: Add _STLP_NO_CSTD_FUNCTION_IMPORTS macro sl@0: check before import of global C functions in STLport namespace. Required sl@0: for VC6 compiler to avoid ambiguity issue. sl@0: sl@0: * src/complex.cpp, complex_epx.cpp, complex_trig.cpp: Scope math function sl@0: call with the global namespace to avoid VC6 ambiguity issue. It is safe sl@0: for the other compilers as STLport do define those function in global sl@0: namespace. sl@0: sl@0: 2005-06-10 Francois Dumont sl@0: sl@0: * stlport/stl/c_locale.h: Fix Cygwin configuration, separate alpha mask sl@0: from lower and upper one to avoid all lower character to also be upper sl@0: and opposite. sl@0: sl@0: * src/ctype.cpp: Add static assertion to detect platform where sl@0: alpha = lower | upper which is wrong for STLport use. sl@0: sl@0: 2005-06-10 Francois Dumont sl@0: sl@0: * stlport/stl/_hashtable.c: Fix max_load_factor management, Standard says sl@0: that load_factor <= max_load_factor and not <; the function detecting need sl@0: for rehash used to launch one even if the number of bucket do not change which sl@0: was counter performant. Fix the _M_insert_noresize method that was breaking sl@0: element order inserting elements in the middle of 2 equal elements. sl@0: Thanks Dieter Freismuth report. sl@0: sl@0: * stlport/config/stl_gcc.h: Fix relative include path for latest gcc cygwin sl@0: package. sl@0: sl@0: 2005-06-10 Petr Ovtchenkov sl@0: sl@0: * build/Makefiles/gmake/mwccnlm.mak: fix compiler version collection. sl@0: sl@0: * build/Makefiles/gmake/netware/extern.mak: fix useful paths. sl@0: sl@0: * src/c_locale.c: put here wrappers for some wfuncs, due to bogus sl@0: system libs in Netware. sl@0: sl@0: * stlport/cwchar: use STLport's wchar.h to take wchar_t/wint_t for sl@0: Netware. sl@0: sl@0: * stlport/wchar.h: use correct C declaration of some wfuncs, thanks sl@0: again to ugly Netware libs. sl@0: sl@0: * stlport/ciso646, stlport/iso646.h, stlport/wctype.h: headers absent sl@0: for Novell Netware. sl@0: sl@0: * stlport/cwctype: Metrowerks define __MSL__, but we don't use MSL libs sl@0: if we have STLport for Netware. sl@0: sl@0: * stlport/cstdlib: div function from Novell Netware clib and libc lead to sl@0: system crash. sl@0: sl@0: 2005-06-08 Francois Dumont sl@0: sl@0: * build/test/unit: Removed references to the now useless CPPUNIT_MINI sl@0: macro. sl@0: sl@0: * test/unit/type_traits_test.cpp: Add new test case for trivial destructor sl@0: detection. sl@0: sl@0: * stlport/stl/_fstream.h: Add missing basic_fstream construction from a sl@0: Win32 file handle, was already done for basic_ifstream and basic_ofstream, sl@0: thanks Alex Cosealin report. sl@0: sl@0: 2005-06-07 Francois Dumont sl@0: sl@0: * build/test/unit/Makefile.inc: Fix syntax error at last line. sl@0: sl@0: 2005-06-06 Petr Ovtchenkov sl@0: sl@0: * build/lib/configure: add config options for Metrowerks compiler for sl@0: Novell NetWare platform [references to root of MW headers/libs and to Novell's sl@0: SDK headers/libs]. sl@0: sl@0: * build/Makefiles/gmake/mwccnlm.mak: fixes for Metrowerk/NetWare. sl@0: sl@0: * build/Makefiles/gmake/app/mwccnlm.mak: idem. sl@0: sl@0: * build/Makefiles/gmake/netware/extern.mak: idem. sl@0: sl@0: * build/lib/mwccnlm.mak: idem. sl@0: sl@0: * build/test/unit/mwccnlm.mak: idem. sl@0: sl@0: 2005-06-03 Francois Dumont sl@0: sl@0: * test/unit/locale_test.cpp: Remove the very platform dependent LColl sl@0: class that was listing supported locales. STLport already do so and sl@0: report it using a runtime_error exception when not supported. When sl@0: compiler do not support exception only the C locale is checked. sl@0: sl@0: * build/Makefiles/nmake: Patches from Michael Fink to sl@0: - check platform before linking to crtrtti.lib sl@0: - check right configuration when using a nmake-evc?.mak file sl@0: - update STATUS file. sl@0: sl@0: 2005-06-02 Francois Dumont sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Add workaround for a Windows PSDK bug sl@0: concerning currency international symbol, the separation character is missing. sl@0: sl@0: * src/locale_impl.h, locale_impl.cpp: Fix implementation to make classic locale sl@0: implementation a normal instance that is released when the counter reach 0, the sl@0: only difference is that no delete is performed on this instance. Idem for classic sl@0: locale implementation facets. sl@0: sl@0: * stlport/cwctype: And _GLIBCPP_USE_WCHAR_T check when using GLibC as in this sl@0: case wide char functions are not imported in std and must be imported from the sl@0: global namespace. sl@0: sl@0: 2005-06-01 Francois Dumont sl@0: sl@0: * src/locale_impl.h, locale_impl.cpp: Change classic locale initialization sl@0: implementation for limited compiler like MSVC6. sl@0: sl@0: 2005-06-01 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/c_locale.h: check gcc on MacOS X. Patch by Zdenek Nemec sl@0: sl@0: * build/Makefiles/nmake/evc3.mak, evc4.mak, targets.mak: sl@0: support SH3/SH4 platform. Patch by Michael Fink. sl@0: sl@0: * build/Makefiles/nmake/app/evc3.mak, evc4.mak: ditto. sl@0: sl@0: * build/Makefiles/nmake/lib/evc3.mak, evc4.mak: ditto. sl@0: sl@0: * build/lib/configure.bat, src/stlport.rc: ditto. sl@0: sl@0: 2005-05-30 Francois Dumont sl@0: sl@0: * src/locale_impl.h, locale_impl.cpp, stlport/stl/_locale.h: An other pass sl@0: throught the classic locale initialization. Now all needed static variables sl@0: are in _Locale_impl::make_classic_locale method. Removed useless _Stl_aligned_buffer sl@0: union use in this locale initialization. Removed now useless _Locale_impl::free_classic_locale sl@0: method. sl@0: sl@0: 2005-05-30 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_windows.h: worry about Windows CE when check Interlocked sl@0: API for MIPS. Patch by Michael Fink. sl@0: sl@0: * build/lib/configure.bat: remove the -p option by autodetecting platform. sl@0: Patch by Michael Fink. sl@0: sl@0: * build/Makefiles/nmake/evc3.mak, evc4.mak: corrects the evc4 makefiles sl@0: to always use the /GF switch [string pooling]. Patch by Michael Fink. sl@0: sl@0: * doc/README.evc3, doc/README.evc4: reflect changes above. sl@0: Patch by Michael Fink. sl@0: sl@0: * stlport/errno.h, stlport/time.h: when building for evc, including sl@0: errno.h and time.h often outputs the message in the #pragma statement sl@0: that including this file won't include the native one, since there is no sl@0: native include file. Now the text is only output when not building the library sl@0: and when the file is included directly, not via another STLport header file. sl@0: [Patch by Michael Fink.] sl@0: sl@0: 2005-05-29 Francois Dumont sl@0: sl@0: * test/unit/locale_test.cpp: Add opendir returned value when listing sl@0: installed locale under linux. sl@0: sl@0: * build/Makefiles/gmake: Patch from Zdenek Nemec for Mac OS X support. sl@0: sl@0: 2005-05-27 Francois Dumont sl@0: sl@0: * src/locale_impl.cpp: Add an initialization segment specification to make sl@0: global static variable ios_base::Init instance initialization prioritized sl@0: compare to STLport static global variable. iostreams like cout can be used sl@0: in global static variable initialization. sl@0: sl@0: 2005-05-26 Francois Dumont sl@0: sl@0: * build/Makefiles/nmake/evc4.mak: Patch from Ulrich Eckhardt to use CC sl@0: environment variable defined by WCE*.bat script rather than redefining sl@0: it. sl@0: sl@0: * src/locale.cpp, locale_impl.cpp, locale_catalog.cpp: New pass to move sl@0: static global variable in function to make initialization order clear. sl@0: sl@0: 2005-05-25 Francois Dumont sl@0: sl@0: * stlport/ciso646: Creation of this missing C++ standard header STLport sl@0: wrapper. sl@0: sl@0: * stlport/stl/_istream.h, _num_get.c, _algo.c, _monetary.c, _time_facets.h, sl@0: _time_facets.c: Replaced occurences of __in and __out reserved by Microsoft. sl@0: sl@0: 2005-05-24 Francois Dumont sl@0: sl@0: * stlport/headers: Patch from Michael Fink to avoid inclusion of headers sl@0: not available under evc3. sl@0: sl@0: * test/unit/*_header_test.cpp: Fix tests for no iostreams mode. sl@0: sl@0: * src/locale_impl.cpp, locale_impl.cpp: Modify implementation to force sl@0: correct initialization order of static instances. sl@0: sl@0: * stlport/strstream: Add _ioserr.h file to avoid inclusion in no iostreams sl@0: mode. sl@0: sl@0: 2005-05-23 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_config.h: detect endianness for Intel's 64bit Pentium and sl@0: Itanium processors. Thanks Albrecht Fritzsche for contribution. sl@0: sl@0: 2005-05-20 Francois Dumont sl@0: sl@0: * build/test/eh: Patch from Michael Fink to add EVC4 support for this test sl@0: suite. sl@0: sl@0: * src/fstream.cpp: Use of Wlodek Szafran implementation for the _Filebuf_base::_M_read sl@0: method which is more performant than the previous one. sl@0: sl@0: * test/unit/fstream_test.cpp: Add of a test for the special Win32 file format. sl@0: sl@0: * test/unit: Add of many test to check Standard C/C++ headers independancy sl@0: and correct C header implementation. sl@0: sl@0: 2005-05-18 Francois Dumont sl@0: sl@0: * src/fstream.cpp: Fix buffer overflow in _Filebuf_base::_M_read method sl@0: for the Win32 platform implementation thanks Wlodek Szafran report. sl@0: sl@0: * src/c_locale_dummy/c_locale_dummy.c: Patch from Michael Fink for wrong C sl@0: prototype. sl@0: sl@0: 2005-05-17 Petr Ovtchenkov sl@0: sl@0: * test/unit/locale_test.cpp: some fixes in moneypunct test, related sl@0: to international currency format; some problems still remains, due to sl@0: unclear specifications---if international currency 3-chars abbreviation sl@0: used in suffix form, additional space will be appended sl@0: ['1 234.56 RUR ']. This is due to intl_fmp.curr_symbol() == "RUR ", sl@0: and the last is conform to OpenGroup spec. sl@0: sl@0: 2005-05-16 Petr Ovtchenkov sl@0: sl@0: * src/c_locale_stub.cpp: "stub" implemntation moved into sl@0: c_locale_dummy/c_locale_dummy.c, this file removed sl@0: sl@0: * src/c_locale.c: include c_locale_dummy/c_locale_dummy.c, in case of sl@0: no real locale implementation. sl@0: sl@0: * src/c_locale_dummy/c_locale_dummy.c: This is a "stub" implementation sl@0: of the "c_locale.h" interface, intended for operating systems where sl@0: we have not yet written a real implementation. A C++ library using sl@0: this stub implementation is still standard-conforming, since sl@0: the C++ standard does not require that any locales other sl@0: than "C" be supported. sl@0: sl@0: * build/lib/Makefile.inc: src/c_locale_stub.cpp removed. sl@0: sl@0: * src/facets_by_name.cpp: add comments in the _Init_monetary_formats. sl@0: sl@0: * src/c_locale_glibc/c_locale_glibc2.c: annotate some monetary-related sl@0: functions. sl@0: sl@0: 2005-05-14 Petr Ovtchenkov sl@0: sl@0: * build/Makefiles/gmake/aCC.mak: HP's aCC compiler and HP-UX os support. sl@0: This isn't really checked and should be fixed on real system. sl@0: sl@0: * build/Makefiles/gmake/app/aCC.mak, gmake/lib/aCC.mak: ditto. sl@0: sl@0: * build/Makefiles/gmake/hp-ux/extern.mak, lib.mak: ditto. sl@0: sl@0: * build/Makefiles/gmake/hp-ux/rules-install-so.mak, rules-so.mak: ditto. sl@0: sl@0: * build/Makefiles/gmake/hp-ux/gmake/hp-ux/sys.mak: ditto. sl@0: sl@0: * build/lib/aCC.mak: ditto. sl@0: sl@0: * build/test/unit/aCC.mak: ditto. sl@0: sl@0: * build/test/unit/gcc.mak: remove dbg-shared tag from default build; sl@0: if you need unit tests with debug info and without _STLP_DEBUG, make this sl@0: tag explicitly. sl@0: sl@0: 2005-05-14 Francois Dumont sl@0: sl@0: * stlport/stl/_config.h, _config_compat_post.h, _cwchar.h, _epilog.h: sl@0: Patch from Albrecht Fritzsche to remove C++ comment from files accessible sl@0: by a pure C compiler. sl@0: sl@0: * stlport/stl/c_locale.h: idem. sl@0: sl@0: * src/c_locale.h, c_locale_glibc/c_locale_glibc2.h: idem. sl@0: sl@0: * src/gcc_localeinfo.h, c_locale_win32/c_locale_win32.c: idem. sl@0: sl@0: * build/Makefiles/gmake/gcc.mak: Add the -ansi option to the C compiler sl@0: command to know if any regression occur concerning use of C++ comment sl@0: in C files. sl@0: sl@0: 2005-05-13 Francois Dumont sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Improve the locale name recognition sl@0: system to be more unix compliant. Now you can pass locale name like sl@0: lang_country[.codepage] with lang being one of the ISO 639 values and sl@0: country one of the ISO 3166 ones. sl@0: sl@0: * test/unit/locale_test.cpp: Add a test case for the ctype facet. sl@0: sl@0: * test/unit/locale_test.cpp: Now list all the installed locales under sl@0: Win32 to test more locale than the simple french one. sl@0: sl@0: * stlport/config/stl_msvc.h: Removed _WINDLL macro check when trying sl@0: to guess what type of library (dynamic/static) the STLport user want sl@0: to link with. _WINDLL is defined when generating a dll but it do not sl@0: imply anything on the user wish. sl@0: sl@0: * src/ctype.cpp: Improve the ctype::scan_is method, you can now scan sl@0: for a character conforming to several ctype_base::mask and not only to one. sl@0: sl@0: * src/ctype.cpp: Idem previous for ctype::scan_not which returns the first sl@0: character that do not conform to any of the passed mask. sl@0: sl@0: * test/eh: Restore exception handling test suite. Removed some equality sl@0: tests that is no more valid for hash containers, this kind of test sl@0: is better in the unit tests. Add makefiles for MSVC compilers. sl@0: sl@0: * stlport/stl/_tree.c: Fix _M_insert method that was leaking in case of sl@0: exception thrown by the comparison operator, reported by eh tests. sl@0: sl@0: 2005-05-09 Francois Dumont sl@0: sl@0: * stlport/stl/_ctype.h, src/ctype.cpp: Reenforce data encapsulation of the sl@0: ctype template specialization class. class static arrays sl@0: _S_upper, _S_lower, _S_classic_table removed from the definition and hiden sl@0: in the .cpp file. sl@0: sl@0: * src/dll_main.cpp: Change _STLP_UNIX macro check in _STLP_PTHREADS check sl@0: as per thread allocator is only supported if the Posix pthread API is used, sl@0: thanks a Albrecht Fritzsche remarked. sl@0: sl@0: 2005-05-07 Francois Dumont sl@0: sl@0: * stlport/config/stl_gcc.h: Patch from John Smith for Mac OS X support. sl@0: sl@0: * test/unit/locale_test.cpp: Idem previous. sl@0: sl@0: * build/Makefiles/gmake/cygming/lib.mak, sys.mak: Import lib extension sl@0: change from .lib to .dll.a for Mingw like under Cygwin. ld linker sl@0: looks for .dll.a before .lib, avoid conflict with Cygwin lib. sl@0: sl@0: 2005-05-07 Petr Ovtchenkov sl@0: sl@0: * stlport/errno.h: use C++ 'using' construction only for C++. Thanks Gary. sl@0: sl@0: * build/Makefiles/gmake/lib/gcc.mak: option for libname for Darwin. sl@0: sl@0: * build/Makefiles/gmake/app/mwccnlm.mak: build for Novell NetWare 5 sl@0: with MetroWerks 7 and 8 compilers. sl@0: sl@0: * build/Makefiles/gmake/lib/mwccnlm.mak: ditto sl@0: sl@0: * build/lib/mwccnlm.mak: ditto sl@0: sl@0: * build/Makefiles/gmake/mwccnlm.mak: ditto sl@0: sl@0: * build/Makefiles/gmake/netware/extern.mak: ditto sl@0: sl@0: * build/Makefiles/gmake/netware/lib.mak, sys.mak: ditto sl@0: sl@0: * src/_stdio_file.h, num_get_float.cpp, num_put_float.cpp: ditto sl@0: sl@0: * stlport/cstdio, cwchar, cwctype, stdio.h, wchar.h: ditto sl@0: sl@0: * stlport/config/stl_mwerks.h: ditto sl@0: sl@0: * stlport/stl/_config.h, _fstream.h, _hashtable.c, _sstream.c: ditto sl@0: sl@0: * stlport/stl/_threads.h, c_locale.h, char_traits.h: ditto sl@0: sl@0: * build/Makefiles/gmake/sysid.mak: treat mwccnlm as cross-compiler, sl@0: set correct TARGET_OS and OS-related macros. sl@0: sl@0: * stlport/stl/_valarray.h: remove exhaustive this->. sl@0: sl@0: 2005-05-04 Francois Dumont sl@0: sl@0: * stlport/config/stl_msvc.h: Change configuration for MSVC .Net 2003 and sl@0: 2005 that seems to have a bug in the namespace management. sl@0: sl@0: * stlport/stdlib.h: Add errno.h inclusion from this file for gcc mingw sl@0: as this compiler version do define errno macro in stdlib.h as MSVC do. sl@0: sl@0: 2005-05-03 Francois Dumont sl@0: sl@0: * stlport/stl_user_config.h, stl/_site_config.h, config/stl_gcc.h, _prolog.h, sl@0: _epilog.h: Use strict Ansi C comments (/**/) for headers accessible thought sl@0: the STLport C headers. sl@0: sl@0: * stlport/C headers: Cleaned from C++ style comments. sl@0: sl@0: 2005-05-02 Francois Dumont sl@0: sl@0: * build/Makefiles/nmake/vc-common.mak: Restore of LDFLAGS_A_REL introduce sl@0: the 2004-10-30 and lost the 2005-04-16, it avoids warning due to use sl@0: of the whole program optimization with VC.Net 2003 and 2005. sl@0: sl@0: * stlport/stl/_string_io.c: Modification of the basic_string i/o operators sl@0: in the way it deals with the size_type and streamsize difference; it is sl@0: equivalent with the former one but do not generate warning with gcc sl@0: (mingwin). sl@0: sl@0: * stlport/stddef.h, stdlib.h, errno.h: Fix issue under MSVC compilers where sl@0: native stdlib.h and stddef.h are defining errno macro without including sl@0: errno.h forbiding STLport to do so. Now errno.h will report this problem with sl@0: an explicit #error. sl@0: sl@0: * test/unit/test_errno.cpp: Improvement of the test to reveal the previous sl@0: issue. sl@0: sl@0: 2005-05-02 Petr Ovtchenkov sl@0: sl@0: * makesystem (repository): restore experimental support of MetroWerks sl@0: compiler for NetWare, with help of GNU make and Cygwin environment. sl@0: sl@0: 2005-04-29 Francois Dumont sl@0: sl@0: * stlport/stl/_time_facets.c: gcc warnings reveal that we were missing some sl@0: ctype::widen method call to compare things like month or day names. sl@0: Also simplified implementation of the __match and __get_formatted_time that sl@0: do not really need all the template parameters passed to it. sl@0: sl@0: * stlport/stl/_num_put.c: Add a cast to make call to the function min more sl@0: clear, it will perhaps help EVC++ builds correctly. sl@0: sl@0: * src/strstream.cpp, stlport/stl/_sstream.c: Removed static assertion sl@0: replaced by modified implementation that takes into account the difference sl@0: between size_t and streamsize. sl@0: sl@0: 2005-04-28 Francois Dumont sl@0: sl@0: * test/unit/limits_test.cpp: Improve integral types limit test for type sl@0: of unknown sign. In this case we check the min value of this integral type, sl@0: if 0 the type is unsigned. Moreover we check, except for the bool type, sl@0: the sign of -1 cast to the integral type, bool is a special type that sl@0: generate warning when built from -1 (MSVC). sl@0: sl@0: * src/ctype.cpp: Creation of a small helper structure to check the validity sl@0: of a wchar_t value used as an index. This helper struct takes into account sl@0: the compiler representation of the wchar_t type, is it a sign type or not. sl@0: This helper avoids warning when wchar_t is unsigned. sl@0: sl@0: * src/num_get.cpp: Removed unused _Initialize_get_digit function and sl@0: associated narrow_digits and narrow_xdigits arrays. sl@0: sl@0: 2005-04-28 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_sstream.h, _num_put.c: __in replaced by __imode, __out sl@0: by __omode or __oi due to MS privatize __in and __out. Thanks Michael Fink. sl@0: sl@0: 2005-04-27 Francois Dumont sl@0: sl@0: * src/fstream.cpp: Fix Win32-64 file stream implementation. _M_read and sl@0: _M_write can now correctly handle respectively read and write of really sl@0: big buffers ( > 2Go) sl@0: sl@0: * using/iosfwd.h, stlport/strstream.h, stl/_rope.h, _rope.c, _complex.h: Removed sl@0: references to the _STLP_USE_NEW_IOSTREAMS macro, STLport only support "new" sl@0: iostreams. sl@0: sl@0: * test/unit/max_test.cpp, min_test.cpp: Add tests to check that min and sl@0: max are not defined as macros. sl@0: sl@0: * test/fstream_test.cpp: Add check in creation of test_file.txt sl@0: as following tests depends on its content. sl@0: sl@0: * src/strstream.cpp, stdio_streambuf.cpp: Fix potential issue because of sl@0: the difference between streamsize and size_t of ptrdiff_t. sl@0: Add static assertion to clearly specify how streamsize must be to have sl@0: a correct behavior. sl@0: sl@0: * stlport/stl/_num_put.c, _num_get.c, _fstream.c, _moneraty.c: ditto. sl@0: sl@0: * src/ctype.cpp: Restore check on wchar_t positivity as according sl@0: 2005-02-22 Petr Ovtchenkov reports wchar_t can be signed. sl@0: sl@0: 2005-04-26 Francois Dumont sl@0: sl@0: * src/num_get_float.cpp: Fix mingwin support for 64bits integer type sl@0: thanks Wlodek Szafran sl@0: sl@0: 2005-04-25 Francois Dumont sl@0: sl@0: * stlport/stl/_time_facets.c: Fix __pos type in __match function and removed sl@0: unused __max_pos definition and initialisation. sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Add some cast to remove warnings. sl@0: sl@0: * stlport/stl/_moneraty.c: Fix __witdh definition to use streamsize rather sl@0: than size_t to avoid warnings. sl@0: sl@0: 2005-04-25 Petr Ovtchenkov sl@0: sl@0: * build/test/gcc.mak: workaround for [bug?] gmake, that sometimes lose sl@0: increment of target-specific macro and, may be, under condition. sl@0: Thanks Jeff Williams. sl@0: sl@0: * build/Makefiles/gmake/icc.mak: add icc 8.1 compiler-specific libs sl@0: sl@0: * build/Makefiles/gmake/icc.mak: detect icc version; add includes sl@0: from compiler to include path sl@0: sl@0: * test/unit/cppunit/test_main.cpp, cppunit_mini.h: add option -x, run all sl@0: except specified CLASS::TEST. sl@0: sl@0: 2005-04-23 Francois Dumont sl@0: sl@0: * stlport/stl/_ioerr.h: #error message modification thanks Michael Fink. sl@0: sl@0: 2005-04-22 Francois Dumont sl@0: sl@0: * stlport/stl/_istream.c: Fix _M_read_buffered function implementation, sl@0: there used to be a wrong implicit conversion from streamsize to ptrdiff_t, sl@0: which fail when sizeof(streamsize) > sizeof(ptrdiff_t). sl@0: See 2005-04-21 Petr report. sl@0: sl@0: * test/unit/: Replaced all _STLP_NO_IOSTREAMS occurences with the STLport sl@0: internal equivalent _STLP_USE_NO_IOSTREAMS. The first one is defined sl@0: by the client while the second depends on the first and on the compiler sl@0: abilities, makes the unit tests more portable. sl@0: sl@0: * stlport/stl/_cmath.h: Fix for Intel C++ compiler that also have all sl@0: C math functions in global namespace. sl@0: sl@0: 2005-04-21 Francois Dumont sl@0: sl@0: * stlport/stl/_hashtable.h: Extend the hashtable template methods extension sl@0: to the method computing the bucket from the key thanks Dominik Siatkowski. sl@0: sl@0: * stlport/stl/_threads.h: Disable 64 bits portability warning for sl@0: MSVC compilers. MSVC do not see that the called function comes from sl@0: a macro that is different under Win32 and Win64. sl@0: sl@0: 2005-04-21 Petr Ovtchenkov sl@0: sl@0: * test/unit/sstream_test.cpp, fstream_test.cpp: integral type for sl@0: ptrdiff_t shorter than for streamsize; this cause problem on sl@0: Win32 platform, that support files larger than 4GB. sl@0: Thanks Timothy Tenebekov for report. sl@0: sl@0: 2005-04-20 Francois Dumont sl@0: sl@0: * stlport/stl/debug/_debug.c: Small Borland compiler fix to avoid call to sl@0: vsnprintf before version 0x550 thanks esanfo. sl@0: sl@0: * src/dll_main.cpp: Fix bug reported by Intel C++ (icl) compiler. sl@0: sl@0: 2005-04-20 Petr Ovtchenkov sl@0: sl@0: * src/num_get_float.c: use uint64_t for 64-bit, but unsigned long long sl@0: for constants. This fix problem on linux x86_64 [amd64]. sl@0: sl@0: 2005-04-16 Francois Dumont sl@0: sl@0: * test/unit/cppunit/test_main.cpp: Patch from Michael Fink to improve sl@0: the macro filter for including windows.h (UNDER_CE rather than WIN32). sl@0: sl@0: * build/test/unit/STATUS: Update from Michael Fink and myself. sl@0: sl@0: * build/Makefiles/nmake: Apply Michael Fink patch to generate .pdb file sl@0: even in release mode and to install them in bin and lib folders next to sl@0: the .dll and .lib files. sl@0: sl@0: * stlport/stl/_algobase.c: Add missing const in return type of the const sl@0: version of find specialized for const char*. sl@0: sl@0: 2005-04-16 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_algobase.c: memchr return NULL if value not found, sl@0: while find() [specialization for char *] should return last sl@0: [see record 2005-02-27 below]. Thanks Joshua Berne for report. sl@0: sl@0: * test/unit/find_test.cpp: if char not found, char specialization of sl@0: find() should return last, not NULL. sl@0: sl@0: 2005-04-14 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_list.h, _slist.h: add this-> resolution to get_allocator sl@0: [required in the member templates to resolve possible ambiguity] sl@0: sl@0: 2005-04-13 Francois Dumont sl@0: sl@0: * stlport/stl/_list.h, _slist.h: Add missing get_allocator() call when sl@0: building temporary list or slist instances in insert methods. sl@0: sl@0: 2005-04-12 Petr Ovtchenkov sl@0: sl@0: * stlport/errno.h: solution 2005-04-12 not useful. Simplified schema, sl@0: semantically equivalent to Francois', but without extra function definition sl@0: [see records 2005-03-31 and 2005-04-01] sl@0: sl@0: 2005-04-12 Petr Ovtchenkov sl@0: sl@0: * stlport/errno.h: check if we undefine previously defined errno sl@0: sl@0: 2005-04-11 Petr Ovtchenkov sl@0: sl@0: * stlport/errno.h: save original errno definition sl@0: sl@0: 2005-04-10 Petr Ovtchenkov sl@0: sl@0: * STLport (repository): STLport 5.0 RC3 sl@0: sl@0: 2005-04-08 Francois Dumont sl@0: sl@0: * test/unit/locale_test.cpp: Add __FreeBSD__ macro check for the workaround sl@0: announced as Free BSD specific by the comment next to it. sl@0: sl@0: * stlport/stl/_config.h: Add undef of _STLP_USE_DYNAMIC_LIB when in sl@0: NO_IOSTREAMS mode, this macro was generating buggy code in this case sl@0: for some commpilers (gcc mingwin). sl@0: sl@0: 2005-04-07 Francois Dumont sl@0: sl@0: * build/lib/nmake-vc-common.mak: Removed useless add of STLport/lib to sl@0: library paths when building STLport lib. sl@0: sl@0: * build/Makefiles/nmake/*: Removed useless specification of the MSVC default sl@0: install directory, all the job is done by the vcvcars32.bat script that sets sl@0: the LIB env variable to the real MSVC install directory. sl@0: sl@0: * test/unit/unordered_test.cpp, locale_test.cpp: Removed gcc mingw warnings. sl@0: sl@0: * build/Makefiles/nmake/icl.mak, app/icl.mak, lib/icl.mak: Removed the sl@0: whole program optimization option, looks like it is confusing icl. sl@0: sl@0: * stlport/stl/debug/*.h: Removed useless _Get_base non-const overload. sl@0: In addition to being useless Intel compiler emit compilation error about it. sl@0: sl@0: 2005-04-06 Petr Ovtchenkov sl@0: sl@0: * test/unit/cppunit/test_main.cpp: windows.h required here sl@0: [see 2005-04-04; patch by Michael Fink]. sl@0: sl@0: * stlport/stl/_istream.h: __is replaced by __istr, due sl@0: to MS privatize __is. sl@0: sl@0: * stlport/stl/_num_get.h: __in replaced by __ii, due to MS sl@0: privatize __in too. sl@0: sl@0: * stlport/stl/_config.h: Visual C++ 8 uses _M_AMD64 to identify sl@0: EM64T and AMD64 platforms [thanks Mike Roberts]. sl@0: sl@0: 2005-04-05 Francois Dumont sl@0: sl@0: * stlport/config/stl_evc.h: apply patch from Michael Fink to add support for sl@0: various EVC SDK. sl@0: sl@0: * stlport/stl/_cmath.h: An other adaptation to the Intel C++ compiler. sl@0: sl@0: * build/lib/nmake-vc-common.mak, test/unit/nmake-vc-common.mak: Removed check sl@0: of STLP_BUILD_FORCE_[STATIC,DYNAMIC]_RUNTIME environment variables, sl@0: moved in a common build system file. sl@0: sl@0: * build/Makefiles/nmake/vc-common.mak: Add checks of sl@0: STLP_BUILD_FORCE_[STATIC,DYNAMIC]_RUNTIME variables. sl@0: sl@0: * build/lib/configure.bat: Add a clean option to remove the hidden sl@0: Makefiles/config.mak file. sl@0: sl@0: * stlport/stdexcept: Disable 'non dll-interface class used as base' warning sl@0: when building STLport dll linked with the static runtime. sl@0: sl@0: 2005-04-04 Francois Dumont sl@0: sl@0: * test/unit/mfunptr_test.cpp: Add necessary macro checks for a test sl@0: that require partial template specialization compiler support. sl@0: sl@0: 2005-04-04 Petr Ovtchenkov sl@0: sl@0: * errno.h, time.h, test_errno.cpp: evc3 and evc4 has no errno.h sl@0: and time.h headers [patch by Michael Fink]. sl@0: sl@0: * stl_evc.h, _windows.h, test_main.cpp: workaround to not include sl@0: in STLport headers (it is still needed for building sl@0: the lib and the unit tests, but that should be no problem). sl@0: Occurences of GetCurrentProcess() used in _STLP_ABORT were replaced sl@0: with the result of the inline function, which returns a pseudo- sl@0: HANDLE value. [patch by Michael Fink] sl@0: sl@0: * cwchar, wchar.h, stl/_cwchar.h: fix access to mbstate and wint_t sl@0: for FreeBSD. sl@0: sl@0: * build/Makefiles/gmake/sysid.mak, app/gcc.mak, lib/gcc.mak: sl@0: FreeBSD before 5.3 require linkage with libc_r, while 5.3 and sl@0: later use libpthread. sl@0: sl@0: * test/unit/locale_test.cpp: add std:: namespace qualifier for sl@0: gcc 3.3.2 and/or FreeBSD. sl@0: sl@0: * libstlport, test/unit: library build and most tests pass for sl@0: FreeBSD 5.3 and FreeBSD 4.10. sl@0: sl@0: 2005-04-02 Francois Dumont sl@0: sl@0: * stlport/cstdlib: Fix missing div taking long definition for VC71. sl@0: sl@0: 2005-04-01 Francois Dumont sl@0: sl@0: * stlport/errno.h: Add comments to explain the file code. sl@0: sl@0: * stlport/stl/_string_io.h: Yet an other fix to the i/o basic_string sl@0: operators that was not right under cygwin/mingwin. sl@0: sl@0: * build/Makefiles/gmake/gcc.mak: Merge the 2 distinct cygmin blocks sl@0: in one and add -Wall and -Wsign-promo warnings. sl@0: sl@0: 2005-04-01 Petr Ovtchenkov sl@0: sl@0: * test/unit/test_errno.cpp: fix test, errno may be non-zero without sl@0: any error, but it reflect error code after some function fail. sl@0: This not the same. sl@0: sl@0: * test/unit/mfunptr_test.cpp: add step-by-step test how compiler sl@0: recognize bind of member function for find_if. Not all compilers may sl@0: understand this. Thanks Markus for test idea. sl@0: sl@0: 2005-03-31 Francois Dumont sl@0: sl@0: * stlport/errno.h: Fixed for MSVC compilers, should still be fine for sl@0: others. sl@0: sl@0: * test/unit/test_errno.cpp: Modified to be a real unit test. Also test sl@0: errno assignment. sl@0: sl@0: 2005-03-30 Francois Dumont sl@0: sl@0: * stlport/stl/_fstream.c: Try to fix ambiguous type deduction in a max sl@0: call under WinCE. sl@0: sl@0: * stlport/stl/_cmath.h: Fix missing non Standard hypot function under sl@0: WinCE thanks Michael Fink. sl@0: sl@0: * stlport/stl/_cmath.h: Attempt to fix the WinCE math function support sl@0: where neither *f nor *l functions are present even if the compiler sl@0: support the long double type. sl@0: sl@0: 2005-03-30 Petr Ovtchenkov sl@0: sl@0: * stlport/assert.h, float.h, iso646.h, limits.h, errno.h: sl@0: added in accordance with Standard D.5 [compatibility with standard sl@0: C library] to prevent wrong std interpretation in ill-formed native sl@0: headers [definition of namespace std in C headers]. sl@0: sl@0: * test/unit/test_errno.cpp: check correct processing of errno.h sl@0: header. sl@0: sl@0: * build/test/eh: build eh tests again. sl@0: sl@0: * test/eh/LeakCheck.h, TestClass.cpp, TestClass.h: fix and clear. sl@0: sl@0: * test/eh/test_hash_map.cpp, test_hash_set.cpp: hash_set/hash_map sl@0: has no == operator [no container equality]; this fix is quick-and-dirty sl@0: sl@0: 2005-03-29 Petr Ovtchenkov sl@0: sl@0: * build/Makefiles/gmake/app/rules.mak, freebsd/rules-so.mak, sl@0: linux/rules-so.mak, openbsd/rules-so.mak, sunos/rules-so.mak: sl@0: fix link sequence---the end objects should be really last, i.e. after libs. sl@0: This affected by linkage without libstdc++. sl@0: sl@0: * stlport/stl/_cwchar.h, stlport/wchar.h: workarounds for FreeBSD. sl@0: sl@0: * due to change in link sequence most tests [including exceptions] pass sl@0: for uClibc. sl@0: sl@0: * stlport/mmemory.h: garbage, removed. sl@0: sl@0: * stlport/export: ditto. sl@0: sl@0: 2005-03-28 Francois Dumont sl@0: sl@0: * stlport/stl/_istream.h, _ostream.h: Fix assignment operators prototypes sl@0: for the sentry struct. Thanks -Weffc++ feature of gcc. sl@0: sl@0: * build/Makefiles/gmake/cygmin/rules-install-so.mak: Add missing folder sl@0: creation in the install process thanks Charlemagne report. sl@0: sl@0: * build/Makefiles/nmake/icl.mak: Fix Intel compiler build system under sl@0: Windows. sl@0: sl@0: 2005-03-28 Petr Ovtchenkov sl@0: sl@0: * src/num_put_float.cpp: in FreeBSD no *cvt* functions now, use sprintf; sl@0: sl@0: * stlport/config/stl_gcc.h: in FreeBSD no math *l functions and llabs. sl@0: sl@0: * test/unit/string_test.cpp: more test with assignment. sl@0: sl@0: 2005-03-25 Petr Ovtchenkov sl@0: sl@0: * stlport/stddef.h: fix typo in header id---this mistake prevent sl@0: inclusion _epilog.h. sl@0: sl@0: * test/unit/epilog_test.cpp: regression test for bug above. sl@0: sl@0: * stlport/cstdio: fix header id to avoid possible errors. sl@0: sl@0: 2005-03-24 Petr Ovtchenkov sl@0: sl@0: * build/Makefiles/gmake/lib/gcc.mak, build/Makefiles/gmake/app/gcc.mak: sl@0: code reorganization to simplify platform configuration with or without sl@0: -nostdlib [avoid link with libstdc++ or libestdc++]; now link without sl@0: libstdc++/libestdc++ supported on Linux and OpenBSD. sl@0: sl@0: * build/Makefiles/gmake/openbsd/rules-so.mak: idem. sl@0: sl@0: * build/Makefiles/gmake/freebsd/rules-so.mak: idem. sl@0: sl@0: * src/num_put_float.cpp: clean float convertions for OpenBSD and FreeBSD; sl@0: OpenBSD and FreeBSD use STLport code instead of sprintf now. sl@0: sl@0: * stlport/stl/_cwchar.h: allow masquarade to use mbstate_t from native sl@0: cwchar header on OpenBSD. sl@0: sl@0: * stlport/config/slt_gcc.h: llabs and *l math functions absent in OpenBSD; sl@0: define __unix, that missed in OpenBSD. sl@0: sl@0: 2005-03-23 Petr Ovtchenkov sl@0: sl@0: * build/Makefiles/gmake/app/gcc.mak, build/Makefiles/gmake/lib/gcc.mak: sl@0: incorporate gcc language support library into libstlport.so sl@0: [add ~100k to library], but libsupc++ don't required more in link stage sl@0: for applications and libraries that use stlport, as in case with sl@0: libstdc++. sl@0: sl@0: 2005-03-22 Francois Dumont sl@0: sl@0: * stlport/stl/_string_io.c: Fix basic_string stream output operator sl@0: implementation for cygwin. sl@0: sl@0: * stlport/stl/_cmath.h: Add fixes for cygwin support that handle long double sl@0: but do not have *l maths function per default. sl@0: sl@0: * src/complex_exp.cpp: Fix call to logl, replaced by call to log. sl@0: sl@0: * src/complex_trig.cpp: Fix mingw support by checking M_LN2l existence sl@0: before using it. sl@0: sl@0: * test/unit/copy_test.cpp: Change test cases to avoid use of iostreams. sl@0: sl@0: * test/unit/string_test.cpp: Add a small check to test use of istream width sl@0: in the input operator. sl@0: sl@0: * stlport/cstdlib, stlport/config/stl_msvc.h, stl_gcc.h: Creation of the sl@0: _STLP_NO_VENDOR_STDLIB_L macro to report support of the llabs and lldiv sl@0: function. sl@0: sl@0: 2005-03-21 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_cmath.h: removed logf, expf, sinf, cosf; option sl@0: -fno-builtin passed to gcc compiler solve the problem with uClibc; sl@0: this imply same option in building uClibc, as it is in normal uClibc build. sl@0: This is partial rollback of changes 2005-03-16. sl@0: sl@0: * build/lib/configure, build/Makefiles/gmake/gcc.mak: add ability to pass sl@0: extra flags to C++ compiler sl@0: sl@0: 2005-03-18 Francois Dumont sl@0: sl@0: * test/unit: Modified some test in order to check the _STLP_NO_IOSTREAMS sl@0: mode. This new mode of tests reveals the following bugs: sl@0: sl@0: * stlport/stl/_rope.c: Add check of _STLP_USE_NO_IOSTREAMS macro before sl@0: include of iostream header. sl@0: sl@0: * src/dll_main.cpp, stlport/stl/_string_fwd.h: Removed implementation sl@0: of __get_c_string, moved to _string.h header, once string has been defined, sl@0: as an inline function. sl@0: sl@0: 2005-03-18 Petr Ovtchenkov sl@0: sl@0: * src/complex_trig.cpp: avoid call log functions during static sl@0: initialization, if possible. sl@0: sl@0: 2005-03-17 Francois Dumont sl@0: sl@0: * stlport/stl/_string_io.h: Fix implementation that used to think that sl@0: size_t and streamsize was simply aliases. Thanks Jay Amin report. sl@0: sl@0: * stlport/config/_prolog.h: Add comment about the reason of alignment sl@0: specification when using MSVC compilers. Fix alignment for Win64 platform. sl@0: sl@0: * stlport/stl/_alloc.h: Fix _ALIGN enum definition for _Win64 platform. sl@0: sl@0: * src/string_w.cpp: Fix wrong class export under debug mode thanks sl@0: Charlemagne report. sl@0: sl@0: * build/Makefiles/nmake: Preparation of the build system for icl (Intel cl sl@0: compiler (mimic cl compiler from Microsoft). sl@0: sl@0: 2005-03-16 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_cmath.h: added logf, expf, sinf, cosf---this fix sl@0: uClibc 0.9.27/gcc problem. Fix one macro for declaration math sl@0: functions in case of absent *f functions. sl@0: sl@0: 2005-03-16 Francois Dumont sl@0: sl@0: * stlport/config/*: Clean native header include path macro definition. sl@0: Removed many useless definition simply recreating the default behavior. sl@0: Removed the unreferenced _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH macro. sl@0: sl@0: * stlport/stl/_site_config.h: Update relative path headers macros sl@0: documentation to reflect more accurately default behavior and add sl@0: the unreference _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH macro. sl@0: sl@0: 2005-03-15 Francois Dumont sl@0: sl@0: * stlport/stl/_fstream.h: Fix _Noconv_input helper class default implementation. sl@0: Returns traits::eof() rather than 0. sl@0: sl@0: 2005-03-15 Petr Ovtchenkov sl@0: sl@0: * src/complex.cpp, complex_exp.cpp, complex_io.cpp, complex_trig.cpp: sl@0: use achievements in _cmath.h---use overloaded funcs; mascarade from sl@0: complex_impl.h not required more. sl@0: sl@0: * src/complex_impl.h: deleted. sl@0: sl@0: * test/unit/cmath_test.cpp: check nested sqrt(sqrt)---possible problem with macro sl@0: sl@0: 2005-03-14 Francois Dumont sl@0: sl@0: * stlport/config/stl_msvc.h: _STLP_SAME_FUNCTION_NAME_RESOLUTION_BUG notion sl@0: removed, impossible to reproduce, maybe fixed by the #pragma intrinsic/function sl@0: directives. sl@0: sl@0: * stlport/stl/_cmath.h, cstdlib: Fix .Net 2003 and .Net 2005 beta support. sl@0: sl@0: * stlport/stl/_cmath.h: Removed _STLP_SAME_FUNCTION_NAME_RESOLUTION_BUG notion, sl@0: no more _STLP_DO_* macros. sl@0: sl@0: * test/unit/valarray_test.cpp: New tests to check right compilation of sl@0: transcendentals valarray functions. sl@0: sl@0: * stlport/stl/_valarray.h: Replaced all the _STLP_DO_* macros by real sl@0: function calls. sl@0: sl@0: * src/fstream.cpp: Add INVALID_SET_FILE_POINTER definition when missing for sl@0: Win32 IO implementation thanks Michael Fink report. Add compilation check sl@0: of right STLport file descriptor definition. sl@0: sl@0: 2005-03-12 Francois Dumont sl@0: sl@0: * stlport/stl/_tree.h: Fix equal_range_unique bug thanks Gunter. sl@0: sl@0: * test/unit/map_test.cpp: Add of the test to reproduce the bug sl@0: above. sl@0: sl@0: 2005-03-11 Petr Ovtchenkov sl@0: sl@0: * build/test/unit/gcc.mak: don't write runtime path to libstlport sl@0: in case of crosscompilation. sl@0: sl@0: * stlport/stl/_cmath.h: exclude *f and *l variants of math functions sl@0: if ones absent in system; add missed hypot function; few workarounds sl@0: for uClibc and for VC. sl@0: sl@0: * src/complex.cpp, complex_exp.cpp, complex_trig.cpp: workaround sl@0: for systems without *f and *l variants of math functions. sl@0: sl@0: * test/unit/resolve_name.cpp: exclude test line that confuse VC. sl@0: sl@0: * stlport/cstdlib: div isn't intrinsic for VC. sl@0: sl@0: * stlport/config/stl_gcc.h: don't use *f and *l math functions in sl@0: case of uClibc. sl@0: sl@0: 2005-03-09 Petr Ovtchenkov sl@0: sl@0: * doc/FAQ: FAQ was established. sl@0: sl@0: 2005-03-07 Francois Dumont sl@0: sl@0: * stlport/stl/_bitset.h, _bitset.c: Avoid include of istream when sl@0: NO_IOSTREAMS mode thanks Bruno report. sl@0: sl@0: * stlport/stl/char_traits.h: Modification of the streamoff and streamsize sl@0: definition to take into account the 64 bits file access support. sl@0: sl@0: * test/unit/fstream.cpp: New test for big files ( > 2Go) unactivated by sl@0: default. sl@0: sl@0: 2005-03-06 Petr Ovtchenkov sl@0: sl@0: * stlport/cstdlib, stlport/cmath, stlport/stl/_cmath.h: define sl@0: overloaded functions in the scope of global namespace and then import sl@0: all in stlp_std with 'using' directive. This is better than sl@0: solution from 2005-03-04 below. sl@0: sl@0: * stlport/cmath: include cstdlib, due to declarations of abs sl@0: with integer types required in overload and when 'using'. sl@0: sl@0: * src/complex.cpp, src/complex_exp.cpp, src/complex_trig.cpp: replace sl@0: macros that possibly will be removed. sl@0: sl@0: 2005-03-05 Francois Dumont sl@0: sl@0: * stlport/stl/_construct.h: Simplification of the _Copy_Construct sl@0: function, now only takes a single template parameter and only call sl@0: the strict copy constructor. Creation of the _Param_Construct function sl@0: that replace the former _Copy_Construct implementation. sl@0: sl@0: * cstdlib: Fix abs definition for MSVC compilers. sl@0: sl@0: * test/unit: Fixing 64 bits warnings in many tests. sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: Fixing 64 bits warnings. sl@0: sl@0: * src/fstream.cpp: Creation of the INVALID_STLP_FD constant to represent sl@0: a portable invalid file descriptor. sl@0: sl@0: * stlport/stl/_streambuf.c: Explicit instanciation of basic_streambuf sl@0: for wchar_t removed, already exists in _streambuf.h thanks sl@0: Charlemagne report. sl@0: sl@0: * stlport/stl/char_traits.h: Setup modification, Windows platform now sl@0: use ptrdiff_t to define streamoff, make the code more portable. sl@0: sl@0: 2005-03-04 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_cmath.h: removed recursive include of cmath header sl@0: sl@0: * src/complex_impl.h: include cmath instead of stl/_cmath.h sl@0: sl@0: * stlport/stl/_complex.h: idem. sl@0: sl@0: * stlport/stl/_valarray.h: idem. sl@0: sl@0: * test/unit/unary.h: workaround for namespace resolution. sl@0: sl@0: * test/unit/resolve_name.cpp: test to show problem with namespace resolution. sl@0: sl@0: * stlport/cmath, stlport/stl/_cmath.h: standard require overloaded math sl@0: functions for double and float arguments. Import with 'using' directive sl@0: can't provide such overload. Removed import with 'using', used direct sl@0: inline wrappers in namespace stlp_std instead. Cleaning code. sl@0: sl@0: * stlport/cstdlib: complement to cmath---the same as above for abs. sl@0: sl@0: * stlport/stl/_config.h: uClibc declare pthread_spin... but ones absent sl@0: in the library indeed. sl@0: sl@0: 2005-03-02 Petr Ovtchenkov sl@0: sl@0: * build/Makefiles/top.mak: move .PHONY target to the bottom, it work here sl@0: as expected sl@0: sl@0: * build/Makefiles/gmake/depend.mak, targetdirs.mak: reduce amount of dummy sl@0: targets; fix creation of directories for install. sl@0: sl@0: * build/Makefiles/gmake/linux/rules-install-so.mak: ditto. sl@0: sl@0: * stlport/stl/_config.h, stlport/config/stl_gcc.h: support of gcc/linux/uClibc sl@0: sl@0: * src/_stdio_file.h, num_put_float.cpp, stdio_streambuf.cpp: uClibc support sl@0: sl@0: * stlport/cwchar: ditto. sl@0: sl@0: 2005-03-01 Francois Dumont sl@0: sl@0: * stlport/stl/_threads.h, _windows.h, _rope.c: Fix of a 64 bits portage issue sl@0: in the rope implementation under Win64 thanks Patrick Bergeron report. sl@0: sl@0: 2005-02-28 Francois Dumont sl@0: sl@0: * stlport/stl/_hashtable.c: hashtable::erase fix thanks Patrick Bergeron. sl@0: sl@0: 2005-02-27 Francois Dumont sl@0: sl@0: * stlport/stl/_algobase.h, _algobase.c: Fix find algo overload for sl@0: char* and const char*. Now the overload is on the __find underlying sl@0: function. sl@0: sl@0: * test/unit/alg_test.cpp: Add a test case for the search_n algo. sl@0: sl@0: * stlport/stl/_algo.c: Integration of the search_n algo implementation sl@0: for the random access iterator from Jim Xochellis. sl@0: sl@0: 2005-02-25 Francois Dumont sl@0: sl@0: * stlport/stl/_slist.h: Fix _M_splice_after method. sl@0: sl@0: * stlport/stl/debug/_slist.h: Add of many missing checks for the special sl@0: slist before_begin iterator which returns true to the _Dereferenceable sl@0: function call but is not dereferenceable in reality. Passing this sl@0: iterator to method like erase or insert was invalid but was not detected sl@0: by the _Dereferenceable function. sl@0: sl@0: * test/unit/slist_test.cpp: Add checks for insert, insert_after, splice sl@0: splice_after methods. sl@0: sl@0: * Patch from Ulrich Eckhardt: sl@0: - Fix macro _MSC_VER macro checks, VC6 should be found using _MSC_VER < 1300 sl@0: check rather than _MSC_VER == 1200 to take into account compilers like sl@0: EVC4 that is a VC6 based compiler with _MSC_VER == 1202. sl@0: sl@0: 2005-02-25 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_algobase.h: wrong parameters order in call to memchr, sl@0: thanks Patrick Bergeron. sl@0: sl@0: 2005-02-24 Francois Dumont sl@0: sl@0: * stlport/stl/char_traits.h: Patch from Ulrich Eckhardt fixing a wrong sl@0: _STLP_CALL specification on member operators and some cosmetic changes. sl@0: sl@0: 2005-02-22 Petr Ovtchenkov sl@0: sl@0: * test/unit/limits_test.cpp: wchar_t is treated as signed, except when it sl@0: equiv to unsigned short on Wins systems. sl@0: sl@0: * Repository: STLport 5.0 RC2 sl@0: sl@0: 2005-02-20 Francois Dumont sl@0: sl@0: * Add many private definition of copy constructor and assignment operators sl@0: to avoid very anoying warnings under some compilers (MSVC 7.0 7.1). sl@0: sl@0: * build/Makefiles/gmake/cygmin/sys.mak, test/unit/string_test.cpp: sl@0: Mingw fixes thanks Shura Zam. sl@0: sl@0: 2005-02-19 Francois Dumont sl@0: sl@0: * stlport/stdexcept: Removal of a MSVC 7.0 and 7.1 workaround. Those compilers sl@0: have a bug resulting in the generation of very long compiler message as sl@0: soon as a simple compiler warning or error occur. Those messages are sl@0: template instanciation context of previous disabled warning. Warning message sl@0: are correctly disable but template instanciation context is kept until sl@0: an enable warning or an error happen. There is nothing to do against that sl@0: at STLport level except fixing or disabling warnings for unit tests build. sl@0: sl@0: * build/Makefiles/nmake/vc70.mak: Add missing file. sl@0: sl@0: 2005-02-18 Francois Dumont sl@0: sl@0: * stlport/stl/_hashtable.h, _unordered_set.h, _unordered_map.h: Code review sl@0: based on the 12 April 2004 Technical Report document. Add missing hash policy sl@0: and bucket_size methods. Fix of the rehash method behavior. erase method sl@0: bug fix. sl@0: sl@0: 2005-02-14 Francois Dumont sl@0: sl@0: * stlport/string, /stl/_string.h: Modification of the include schema. sl@0: _string_io.h no more included from _string.h to avoid circular headers sl@0: dependencies as basic_string class is used in iostream implementation. sl@0: This headers is now included from the Standard string header. Useless sl@0: cctype include removed from _string.h. _string_hash.h also moved from sl@0: _string.h to string for consistency. sl@0: sl@0: * stlport/stl/_complex.c: Add of the _string_io.h header include that sl@0: was missing after string include schema modification. sl@0: sl@0: * stlport/stl/_string_base.h, _string.h: basic_string move traits STLport sl@0: struct definition do not depends anymore on the _String_base struct to sl@0: make definition more clear. sl@0: sl@0: 2005-02-08 Francois Dumont sl@0: sl@0: * stlport/stl/_config.h: Fix endianness for AMD 64 thanks Karol sl@0: Szkudlarek. sl@0: sl@0: 2005-02-07 Boris Fomitchev sl@0: sl@0: * stlport/stl/_config_compat_post.h, stlport/stl/_relops_hash_cont.h sl@0: stlport/stl/_list.h, stlport/stl/_slist.h, stlport/stl/_map.h, sl@0: stlport/stl/_set.h: 4.6 compatibility fix sl@0: sl@0: 2005-02-04 Francois Dumont sl@0: sl@0: * stlport/stl/_alloc.c: Fix of the _S_refill method in the lock free sl@0: implementation thanks Felix Wyss. sl@0: sl@0: * stlport/stl/_hashtable.h: _M_get_elem_ite set as static when possible sl@0: to fix a MSVC6 problem thanks Michael Fink report. sl@0: sl@0: * stlport/new, config/stl_evc.h: EVC patch for MFC support from Michael Fink. sl@0: sl@0: * build/Makefiles/nmake/evc3.mak, evc4.mak: Warning level raised to 4 sl@0: by Michael Fink. sl@0: sl@0: * doc/README.evc3, README.evc4 doc update from Michael Fink. sl@0: sl@0: * src/vc_warning_disable.h: Add warning 4201 and 4214 disabling for EVC. sl@0: sl@0: 2005-01-31 Francois Dumont sl@0: sl@0: * Mac OS X portage thanks Zdenek Nemec. sl@0: sl@0: * stlport/stl/_hashtable.c: Fix of the _M_copy_from method thanks Jay. sl@0: sl@0: * stlport/stl/_vector.c: Fix of the _M_insert_fill_aux method thanks sl@0: Mike Roberts report. sl@0: sl@0: * test/unit/unordered_test.cpp: Add of a test for the hashtable fix above. sl@0: sl@0: * src/vc_warning_disable.h: Add of the missing 4503 warning disable for MSVC6. sl@0: sl@0: * test/unit/nmake-vc-common.mak: Add of the _STLP_DEBUG_UNINITIALIZED macro sl@0: definition for the debug and stldebug rules. sl@0: sl@0: 2005-01-28 Francois Dumont sl@0: sl@0: * Application of a patch from Michael Fink for EVC MIPS. sl@0: sl@0: 2005-01-27 Francois Dumont sl@0: sl@0: * stlport/deque, list, map, set, slist, stack, valarray: _STLP_WHOLE_VENDOR_STD sl@0: replaced by the official _STLP_IMPORT_VENDOR_STD macro. sl@0: sl@0: * stlport/stl/_algobase.h: Add find algo overload for char* and const char* sl@0: forwarding the call to the memchr C function thanks Jim Xochellis report. sl@0: sl@0: * test/unit/find_test.cpp: Add check for the new find overload. sl@0: sl@0: * test/unit/cmath_test.cpp: Fix of the atan and atan2 tests to avoid precision sl@0: problems. sl@0: sl@0: * test/unit/ptrspec_test.cpp: Add check for containers of function pointers and sl@0: member function pointers. sl@0: sl@0: * test/unit/set_test.cpp: Add check for equal_range method when the search value sl@0: is not in the set. sl@0: sl@0: * stlport/stl/_tree.h: Fix equal_range implementation thanks Grisha Spivak report. sl@0: sl@0: * stlport/stl/_vector.h, _vector.c: Fix of the movable types implementation thanks sl@0: Mike Roberts report. sl@0: sl@0: * test/unit/mvctor_test.cpp: Add of a test case for vector class. sl@0: sl@0: 2005-01-25 Francois Dumont sl@0: sl@0: * stlport/stl_user_config.h: Pointer specialization feature is now off sl@0: by default as it do not handle pointer to function and pointer to member sl@0: methods correctly yet. Feature documentation has been updated to report sl@0: this limitation. sl@0: sl@0: * src/ctype.h: removal of the '>= 0' check for wchar_t variables reported sl@0: as a always true condition by gcc. sl@0: sl@0: * stlport/stl/_hashtable.c: Removal of an unused variable in hashtable::resize sl@0: method thanks Jeff Grills report. sl@0: sl@0: * stlport/stl/_algo.c: Fix of the search_n algo thanks Jim Xochellis report. sl@0: sl@0: 2005-01-24 Francois Dumont sl@0: sl@0: * Some more warning fixes. Mostly add of missing char_traits::to_char_type calls. sl@0: sl@0: 2005-01-22 Francois Dumont sl@0: sl@0: * stlport/stl/_string_workaround.h, debug/_string_workaround.h: Fix of the sl@0: call broadcast to the base class. Non debug workaround always call non debug sl@0: base class methods, debug workaround always calls debug base class methods. sl@0: sl@0: * Many fixes to avoid warnings using MSVC in level 4 warnings: sl@0: - while (true) replaced by for(;;) which do not produce the conditional sl@0: expression is constant warning sl@0: - removal of unused parameters sl@0: - modification of some template function signature to keep the character type sl@0: information and avoid the wchar_t to char type warning which was surely an sl@0: important warning for the wide streams support. sl@0: sl@0: * stlport/stl/_monetary.c: removal of the call to the ctype::widen method sl@0: on the result of the moneypunct<_CharT, false>::decimal_point call as this sl@0: method is already supposed to return a wide character. sl@0: sl@0: 2005-01-19 Francois Dumont sl@0: sl@0: * src/msvc_warning_disablers.h: unused file, removed. sl@0: sl@0: * test/unit/logic_test.cpp: Fix of the tests to avoid warning regarding int sl@0: to bool cast. sl@0: sl@0: * stlport/stl/pointers/_deque.h, _list.h: Fix of the exported class under MSVC sl@0: compiler thanks Timothy Tenebekov report. sl@0: sl@0: * build/test/unit/nmake-vc-common.mak, nmake-vc6.mak, nmake-vc70.mak: Modification sl@0: of the make files to avoid useless inclusion of vc_warning_disable.h file for sl@0: MSVC.Net 2003 and MSVC 8 compilers. sl@0: sl@0: * src/locale_impl.h: Export of the locale facets container for MSVC compilers. sl@0: sl@0: * src/vc_warning_disable.h: Modification to limit the number of disables depending sl@0: on the compiler. sl@0: sl@0: 2005-01-18 Francois Dumont sl@0: sl@0: * stlport/stl/_algo.c: Modification of the stable_partition implementation sl@0: to limit the size of the allocated temporary buffer of the begin and end sl@0: of the range are already at the right place thanks a Stephen Howe idear. sl@0: sl@0: * build/test/unit/nmake-vc-common.mak, nmake-evc-common.mak: Removal of the sl@0: _STLP_USE_AUTO_LINK macro which is now the default. sl@0: sl@0: 2005-01-14 Francois Dumont sl@0: sl@0: * stlport/stl/_windows.h, char_traits.h, src/c_locale_win32/c_locale_win32.c: sl@0: Patch from Patrick Bergeron to support 64 bits compilation under Windows using sl@0: VC8. sl@0: sl@0: * stlport/stl/boost_type_traits.h: boost support check and fixing. sl@0: sl@0: 2005-01-13 Francois Dumont sl@0: sl@0: * stlport/stl/_algobase.h: Improvment of the iter_swap algo to use the swap sl@0: method when possible thanks David Abrahams and Aleksey Gurtovoy great book sl@0: introduction. sl@0: sl@0: * stlport/stl/_alloc.h: Deactivation of the lock free allocator implementation sl@0: not mature enough to be release yet. sl@0: sl@0: * stlport/stl/_uninitialized.h: Fix of non Standard algo signature: sl@0: - uninitialized_fill_n sl@0: sl@0: * stlport/stl/_iterator_base.h: Fix of non Standard algo signature: sl@0: - distance sl@0: sl@0: * stlport/stl/_algobase.h: Fix of non Standard algo signature: sl@0: - fill_n sl@0: sl@0: * stlport/stl/_algo.h: Fix of non Standard algo signature: sl@0: - rotate sl@0: - generate_n sl@0: sl@0: * stlport/stl/_string.h, debug/_string.h: Fix of the non Standard basic_string sl@0: default constructor. sl@0: sl@0: * stlport/stl/_algobase.h, _function.h, _iterator_base.h, _move_construct_fwk.h, sl@0: _ptr_specialize.h, char_traits.h, debug/_debug.h: Fix of the macro name check sl@0: before including type_traits.h. sl@0: sl@0: 2005-01-08 Francois Dumont sl@0: sl@0: * stlport/stl/_codecvt.h: Add of a missing export declaration for the wchar_t sl@0: specialization of the codecvt_byname class. sl@0: sl@0: * src/stlport.rc: improvement of the information included in the ressource file. sl@0: Especially add of the compiler options. sl@0: sl@0: * stlport/stl/_stlport_version.h: Creation of a special file containing all the sl@0: version informations; very useful to avoid problem with the ressource compiler. sl@0: sl@0: * stlport/stl/_config.h: Removal of the unused _STLP_USING_VENDOR_STD macro. sl@0: Inclusion of the _stlport_version.h file. Update of the comment explaining why sl@0: _STLP_USE_DECLSPEC is undefined when user do not use iostreams. sl@0: sl@0: * build/Makefiles/nmake/vc-common.mak, evc-common.mak, gmake/gcc.mak: Improvement sl@0: of the ressource compiler options. sl@0: sl@0: 2005-01-06 Francois Dumont sl@0: sl@0: * stlport/config/stl_msvc.h: Move the _STLP_DONT_RETURN_VOID configuration sl@0: macro to the specific MSVC6 compiler as it is the only one that has ever sl@0: reveal this bug. sl@0: sl@0: 2005-01-05 Francois Dumont sl@0: sl@0: * stlport/stl/_string_sum_methods.h: Fixes reported by gcc. sl@0: sl@0: 2005-01-04 Francois Dumont sl@0: sl@0: * doc/README.evc3: patched by Michael Fink sl@0: sl@0: * build/lib/configure.bat: warning fix thanks Michael Fink. sl@0: sl@0: * build/test/unit/nmake-src-prefix.mak: fixed thanks Michael Fink. sl@0: sl@0: 2005-01-02 Francois Dumont sl@0: sl@0: * stlport/stl/_string_sum.h, _string_operators.h: Fix of an assignment bug sl@0: in the append method taking a C string wrapper. Modification of the __bstr_sum sl@0: get_allocator method to avoid a useless allocation. sl@0: sl@0: * build/lib/nmake-src-prefix.mak: Add of missing rules for .c and .rc file type. sl@0: sl@0: 2004-12-29 Francois Dumont sl@0: sl@0: * stlport/stl/_hashtable.c: Fix missing allocator argument in new slist sl@0: construction and bad number of buckets thanks See Wong report. sl@0: sl@0: * test/unit/unordered_test.cpp: Add of a test to report the previous sl@0: problem. sl@0: sl@0: * build/Makefiles/nmake/vc-common.mak, evc-common.mak: Generalization of the sl@0: /DMACRO compiler command rather than /D "MACRO". sl@0: sl@0: * test/unit/string_test.cpp: Creation of a new test case for string template sl@0: expression. sl@0: sl@0: * stlport/stl/_string_sum.h, _string_sum_methods.h: Fixing of many bugs in the sl@0: string template expressions implementation. sl@0: sl@0: * stlport/stl/_tree.c: Add of a comment in the _M_increment method explaining sl@0: a surprising checks thanks Ulrich Eckhardt. sl@0: sl@0: 2004-12-24 Petr Ovtchenkov sl@0: sl@0: * build/Makefiles: makesystem moved here from src/Makefiles sl@0: sl@0: * build/lib: makefiles moved here from src catalog. sl@0: sl@0: * build/test/unit: makefiles moved here from test/unit catalog. sl@0: sl@0: * INSTALL: updated. sl@0: sl@0: * README: updated. sl@0: sl@0: 2004-12-23 Francois Dumont sl@0: sl@0: * stlport/stl/_vector.h, _vector.c: Fix of the code for movable types sl@0: in call to push_back or insert of a value in case of auto referencing sl@0: thanks Benjamin Redelings. sl@0: sl@0: * stlport/stl/_hashtable.c: Fix of the _M_copy method thanks Timothy sl@0: Tenebekov. sl@0: sl@0: 2004-12-22 Francois Dumont sl@0: sl@0: * stlport/stl/debug/_string.h: Fix of missing scopes thanks arabesc and sl@0: Benjamin Redelings sl@0: sl@0: *stlport/config/stl_gcc.h: include schema fix for gcc >= 4.0.0 thanks sl@0: Oliver Stoeneberg sl@0: sl@0: 2004-12-21 Francois Dumont sl@0: sl@0: * stlport/stl/_hashtable.c: Fix copy method thanks KL report. sl@0: sl@0: * stlport/stl/_vector.h, _deque.h: Fix implementation for vector of sl@0: movable objects when calling erase of a null range thanks to arabesc report. sl@0: sl@0: * stlport/stl/_string.h, _string_workaround.h, debug/_string.h, sl@0: debug/_string_workaround.h: Implementation of the MSVC6 template method bug sl@0: workaround exclusively for MSVC6 and not anymore for all compilers. sl@0: sl@0: 2004-12-21 Petr Ovtchenkov sl@0: sl@0: * src: untested (lost support) .mak and installation files moved into sl@0: initial_mak catalog. sl@0: sl@0: * explore, src: explore catalog moved into src catalog. Makefiles from sl@0: explore catalog become main makesystem of STLport. sl@0: sl@0: 2004-12-20 Francois Dumont sl@0: sl@0: * stlport/stl/_hashtable.h: Fix of the const begin and end methods of the sl@0: new implementation thanks Timothy Tenebekov report. sl@0: sl@0: 2004-12-17 Francois Dumont sl@0: sl@0: * stlport/cmath, cstdlib, stl/_cmath.h, config/stl_msvc.h: Configuration sl@0: fixes for .Net 2002. sl@0: sl@0: 2004-12-17 Boris Fomitchev sl@0: sl@0: * char_traits.h: fixed _STLP_NO_WCHAR_T case sl@0: sl@0: * src/common_macros.mak: deleted locale.cpp sl@0: sl@0: 2004-12-17 Francois Dumont sl@0: sl@0: * src/explore/Makefiles/nmake/app/rules-install-a.mak, rules-install-so.mak sl@0: lib/rules-install-so.mak: Creation of the install-shared and install-static sl@0: from Michael Fink. sl@0: sl@0: 2004-12-16 Francois Dumont sl@0: sl@0: * stlport/stl/debug/_debug.h, _debug.c: Creation of functions to change iterators sl@0: list owner. sl@0: sl@0: * stlport/stl/debug/_list.h, _slist.h: Modification of the iterator owners in the sl@0: splice, splice_after and merge method which do not invalidate iterators but only sl@0: move them from a [s]list to an other. sl@0: sl@0: * stlport/stl/_relops_hash_cont.h: removal of the == operator on hashed containers sl@0: This operator is just impossible, or at least very complicated, to implement sl@0: for this container which do not require any ordering operation on the type used sl@0: to instanciate the container. sl@0: sl@0: * test/unit/hash_test.cpp: Addition of a commented test showing why the == operator sl@0: is invalid on hashed constainers. sl@0: sl@0: * stlport/stl/_hashtable.h: Modification of the hashtable implementation based sl@0: on a slist and a vector. Compared to the previous one the advantages are: sl@0: - lighter hashtable::iterator sl@0: - iterator increment operation do no require call to the hash function. sl@0: - no more special implementation for the debug mode, once validated debug/_hashtable.h sl@0: will be removed. sl@0: The drawback is a small overhead on the insert/erase methods. sl@0: sl@0: * stlport/unordered_set, unordered_map: Introduction of the almost Standard hash containers. sl@0: The major difference with hash_set or hash_map containers from SGI is the load factor sl@0: that gives the user the ability to change the container ratio of the number of elements per sl@0: bucket. sl@0: sl@0: 2004-12-13 Francois Dumont sl@0: sl@0: * stlport/stdio.h: patch from Michael Fink to avoid warning on the EVC platform. sl@0: sl@0: * doc/evc_workaround.txt: Documentation file from Ulrich Eckhardt about the EVC sl@0: workaround to avoid annoying warnings. sl@0: sl@0: * stlport/typeinfo: Patch from Ulrich Eckhardt to fix missing type_info struct sl@0: under MSVC6 and EVC and also identation. sl@0: sl@0: 2004-12-10 Francois Dumont sl@0: sl@0: * stlport/stl/_collate.h, _locale.h: fix of the __locale_do_operator_call internal sl@0: function to make traits and allocator also template parameters. sl@0: sl@0: * stlport/stl/_locale.h, _collate.h, stlport/config/stl_msvc.h, src/locale.cpp, sl@0: src/locale_impl.h: restoration of the MSVC6 workaround for the locale class to sl@0: correctly handle the member template methods. sl@0: sl@0: 2004-12-09 Francois Dumont sl@0: sl@0: * stlport/stl/_messages_facets.h: fixed messages_base::catalog from long typedef sl@0: to int thanks Ulrich Eckhardt report. sl@0: sl@0: * stlport/stl_user_config.h, config/stl_msvc.h: addition of the _STLP_VERBOSE_AUTO_LINK sl@0: config macro to make the automatic linking feature more verbose thanks Ulrich Eckhardt sl@0: patch. sl@0: sl@0: * stlport/exception: Add check of the _STLP_HAS_SPECIFIC_PROLOG_EPILOG macro before sl@0: including _msvc_warning_off.h to avoid bad resulting warning status when the _epilog.h sl@0: header is not included thanks Gail (baker88) report. sl@0: sl@0: * stlport/cassert, cerrno, csignal, ctype.h, cwctype, stdarg.h, stdlib.h, string.h, sl@0: config/stl_evc.h: Patch from Michael Fink to fix compilation problem using ressource sl@0: compiler for evc3 and evc4 and problems with cerrno and cassert inclusions reported sl@0: by Ulrich Eckhardt. sl@0: sl@0: 2004-12-01 Petr Ovtchenkov sl@0: sl@0: * stlport/stdexcept: removes some warnings regarding the exception class being derived sl@0: from a non-dll interface class on evc4. Michael Fink contribution. sl@0: sl@0: * stlport/stl/_cmath.h: push/pop warning level for VCs. Michael Fink contribution. sl@0: sl@0: * src/_stdio_file.h: Evc4 uses an ugly hack to implement file IO using a FILECE structure sl@0: representing the internal FILE structure. For evc3 Michael Fink implemented a much simpler sl@0: way that also works for evc4. sl@0: sl@0: * stlport/config/stl_evc.h, stl_msvc.h, stlcomp.h: separate config stuff for stl_evc.h sl@0: and stl_msvc.h. Now all Windows CE specific defines are in stl_evc.h only. sl@0: Michael Fink contribution. sl@0: sl@0: * stlport/stl/_codecvt.h, _ctype.h, _messages_facets.h, _monetary.h: add friend class sl@0: _Locale_impl. sl@0: sl@0: * stlport/stl/_num_get.h, _num_put.h, _numpunct.h, _time_facets.h: ditto. sl@0: sl@0: 2004-11-30 Petr Ovtchenkov sl@0: sl@0: * src/explore/configure.bat: added quotes. Thanks Ulrich Eckhardt and Michael Fink. sl@0: sl@0: * stlport/stl/_locale.h, src/locale_impl.h, src/locale_impl.cpp: added _STLP_DECLSPEC sl@0: and _STLP_CALL for some functions. Thanks Ulrich Eckhardt. sl@0: sl@0: * stlport/stl/_collate.h, _numpunct.h, _monetary.h, _codecvt.h, _time_facets.h: sl@0: _Locale_imp made friend without relation to _STLP_LEAKS_PEDANTIC. Thanks Ulrich Eckhardt. sl@0: sl@0: * stlport/stl/_locale.h: remove body of protected constructor to avoid warnings. sl@0: Thanks Kidman and Ulrich Eckhardt. sl@0: sl@0: * src/locale_impl.cpp: use simple resize of facets_vec; reserve space for facets_vec to be sl@0: sure that allocation don't throw exception during vector resize in insert_*_facets functions. sl@0: Thanks Ulrich Eckhardt. sl@0: sl@0: 2004-11-29 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_cmath.h: patch from Michael Fink applied. sl@0: sl@0: * stlport/stl/_locale.h: remove enclose class spec to avoid VC confuse. sl@0: Thanks Ulrich Eckhardt. sl@0: sl@0: * src/locale_impl.cpp, src/locale_impl.h: remove bogus _STLP_CALL decls. sl@0: Thanks Ulrich Eckhardt. sl@0: sl@0: 2004-11-27 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_threads.h: direct access to _M_ref_count isn't MT-safe; sl@0: counter value returned by _M_incr and _M_decr methods only. sl@0: sl@0: * stlport/stl/_rope.h, stlport/stl/_rope.c: adaptation to changes above; sl@0: removed __GC macro dependent code, that was never defined in present sl@0: sources. sl@0: sl@0: * src/locale.cpp, locale_impl.cpp, locale_impl.h: general revision of locale sl@0: implementation; code clean, corrected, concepts fixed, errors fixed, sl@0: new bugs added. sl@0: sl@0: * src/ctype.cpp, facets_byname.cpp, locale_catalog.cpp, messages.cpp, monetary.cpp: sl@0: ditto. sl@0: sl@0: * stlport/stl/_codecvt.h, _collate.h, _ctype.h, _locale.h, _messages_facets.h: sl@0: ditto. sl@0: sl@0: * _monetary.h, _num_get.h, _num_put.h, _numpunct.h, _time_facets.h: ditto. sl@0: sl@0: * src/locale_nonclassic.h: removed due to code revision. sl@0: sl@0: * src/explore/Makefile.inc: locale.cpp is directly included into locale_impl.cpp. sl@0: sl@0: * src/explore/gcc.mak, test/unit/gcc.mak: use _STLP_LEAKS_PEDANTIC before release sl@0: by default. sl@0: sl@0: 2004-11-24 Francois Dumont sl@0: sl@0: * stlport/stl/_cmath.h: Fix of the abs definition for the EVC platform sl@0: thanks Michael Fink. sl@0: sl@0: * stlport/stl/_cmath.h: Fix of the Internal Compiler Error from MSVC6 sl@0: when defining math functions in the STLport namespace thanks Ulrich sl@0: Eckhardt and I. sl@0: sl@0: * stlport/stl/debug: Creation of a debug iterator traits used to make sl@0: an additional test when checking iterator deferencing status, on slist sl@0: before_begin iterators are not dereferenceable but were not detected sl@0: as so. sl@0: sl@0: * stlport/math.h, stdexcept: patches from Michael Fink to avoid warning sl@0: on the EVC platform. sl@0: sl@0: 2004-11-22 Francois Dumont sl@0: sl@0: * src/explore/Makefiles/nmake/evc3.mak, evc4.mak: removal of the useless sl@0: /DPLATFORM macro definition thanks Ulrich Eckhardt report and Michael Fink sl@0: patch. sl@0: sl@0: * stlport/cstdlib: extension of the div overload for long input up to MSVC7.1 sl@0: thanks Michael Fink report. sl@0: sl@0: * test/unit/string_test.cpp: patch from Michael Fink for EVC which has limited sl@0: support of the WaitForMultipleObjects API function. sl@0: sl@0: * stlport/cstdlib, cwchar, using/cstring: patch from Michael Fink to remove sl@0: imports of missing native C functions. sl@0: sl@0: 2004-11-16 Francois Dumont sl@0: sl@0: * src/explore/configure.bat: Add of the --rtl-static and --rtl-dynamic sl@0: configuration options to force use of static or dynamic C runtime thanks sl@0: Michael Fink. sl@0: sl@0: * stlport/config/stl_msvc.h: undef of the _STLP_USING_CROSS_NATIVE_RUNTIME_LIB sl@0: for the evc platform that only have the static C runtime version thanks sl@0: Michael Fink. sl@0: sl@0: * stlport/config/stl_bc.h, stl_dmc.h, stl_solaris.h: Removal of all references sl@0: to the deprecated _STLP_NO_OWN_IOSTREAMS and _STLP_NO_NEW_IOSTREAMS macros. sl@0: sl@0: * stlport/cmath, stl/_cmath.h: Modification of the import of the pow function sl@0: for MSVC6 that has a bugged overload thanks Michael Fink report. sl@0: sl@0: 2004-11-09 Francois Dumont sl@0: sl@0: * test/unit/config_test.cpp: Creation of a test case to check correct sl@0: platform/compiler configuration. sl@0: sl@0: * stlport/config/stl_msvc.h: Definition of the _STLP_HAS_NATIVE_FLOAT_ABS sl@0: now start with MSVC6. sl@0: sl@0: * stlport/cstdlib, stl/_cmath.h: Addition of some missing math function sl@0: overloads for MSVC6. sl@0: sl@0: 2004-11-05 Francois Dumont sl@0: sl@0: * stlport/config/stl_msvc.h: Definition of the _STLP_HAS_NATIVE_FLOAT_ABS sl@0: starting with MSVC .Net 2002 thanks Kevin Bluck report. sl@0: sl@0: * test/unit/cmath_test.cpp: Creation of a test case to check correct import sl@0: and extensions of C functions. sl@0: sl@0: 2004-11-04 Petr Ovtchenkov sl@0: sl@0: * src/explore/Makefiles: added templates CC.mak for SunPro's CC compilers; sl@0: ones should be checked and fixed with real compiler. sl@0: sl@0: 2004-11-04 Francois Dumont sl@0: sl@0: * stlport/stl/_function.h, _queue.h, _stack.h, _map.h, _iterator.h: sl@0: restoration of the Standard names of the protected datas. sl@0: sl@0: * stlport/stl/_alloc.h, _alloc.c: implementation of a lock free version sl@0: of the default STLport node_allocator. Supported by the Win32 platform sl@0: for the moment. sl@0: sl@0: * src/ios.cpp, locale.cpp, locale_impl.cpp: use of atomic operations sl@0: under Win32 platform rather than using synchronisation primitives. sl@0: sl@0: * stlport/stl/_tree.h, _map.h, _set.h: creation of the erase_unique and sl@0: equal_range_unique methods to use the unicity information of the map and sl@0: set containers in binary tree searches. sl@0: sl@0: * stlport/stl/_string.h: Add _STLP_USE_NO_IOSTREAMS check beforing deciding sl@0: not to include _string.c thanks KL sl@0: sl@0: 2004-11-02 Francois Dumont sl@0: sl@0: * stlport/stl/pointers/_deque.h: Fix for the problem of the deque sl@0: instanciation thanks Alex Cosealin report sl@0: sl@0: * test/unit/ptrspec_test.cpp: Add of a test for the previous problem. sl@0: sl@0: 2004-10-31 Francois Dumont sl@0: sl@0: * stlport/stl/_rope.h: Fix of the apply_to_pieces qualification thanks Leeya. sl@0: sl@0: * test/unit/rope_test.cpp: New test case for the previous fix. sl@0: sl@0: 2004-10-30 Francois Dumont sl@0: sl@0: * src/explore/Makefiles/nmake/vc-common.mak: introductions of the LDFLAGS_A_REL sl@0: macro to fix config problem under VC71 and VC8 beta. sl@0: sl@0: 2004-10-29 Petr Ovtchenkov sl@0: sl@0: * src/explore/Makefiles/gmake/app/gcc.mak: use -fPIC for gcc 2.95.x when build sl@0: application---this is a workaround for bug with running code in static constructors. sl@0: sl@0: * stlport/config/stl_gcc.h, stlport/stl/_config.h: force usage of mutex instead sl@0: of spinlock for gcc 2.95.x, due to problems with initialization of statics. sl@0: Initialization of mutex has variant with structure filling, while for spinlock sl@0: initialization function call required. sl@0: sl@0: * test/unit/locale_test.cpp: avoid static object for gcc 2.95.x, due to problems sl@0: with initialization of statics. sl@0: sl@0: 2004-10-27 Francois Dumont sl@0: sl@0: * stlport/stl/_config.h, _fstream.h, _ios.h, _istream.h, _monetary.h, _num_get.h, sl@0: _num_put.h, _ostream.h, _sstream.h, _streambuf.h, _string.h, _time_facets.h: sl@0: Restoration of the _STLP_NO_CUSTOM_IO feature removed after cleanup reported sl@0: in 2004-09-28 post from Petr. sl@0: sl@0: * stlport/stl/stl_user_config.h, _config.h, stl_msvc.h: reactivation of the sl@0: auto link feature for MSVC but only if activated by the client. Moreover the sl@0: new implementation of this feature is more maintenable, stl_msvc.h won't have sl@0: to be edited at each STLport release. sl@0: sl@0: * test/unit/nmake-vc-common.mak, nmake-evc-common.mak: Adoption of the auto link sl@0: process. sl@0: sl@0: 2004-10-25 Francois Dumont sl@0: sl@0: * stlport/stl/_config.h: Introduction of the _STLP_DONT_USE_EXCEPTIONS which sl@0: means that the client do not want to use the C++ exception feature. It is sl@0: different from the _STLP_NO_EXCEPTIONS which means that the compiler do not sl@0: support exceptions at all. The distinction is important for some macros definition. sl@0: sl@0: * test/unit: Modification of the _STLP_NO_EXCEPTIONS test to the more general sl@0: _STLP_USE_EXCEPTION macro. sl@0: sl@0: * stlport/stl/_ios_base.h, src/ios.cpp: rollback of the modifications of the sl@0: 2004-10-24. sl@0: sl@0: * stlport/config/stl_msvc.h, stl_gcc.h: Those 2 compilers have a exception sl@0: support switch, when exceptions are unactivated they now define sl@0: _STLP_DONT_USE_EXCEPTIONS rather than _STLP_NO_EXCEPTIONS. sl@0: sl@0: 2004-10-25 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_sstream.c: cur direction missed in seekoff. Thanks David Obermann. sl@0: sl@0: * sstream_test.cpp: test for problem above. sl@0: sl@0: 2004-10-24 Francois Dumont sl@0: sl@0: * stlport/stl/_ios_base.h, src/ios.cpp: definition of the ios_base::failure sl@0: nested class only when exception support is activated. sl@0: sl@0: * stlport/stl/_deque.h, _deque.c: Modification of the deque implementation sl@0: to use the internal move framework. sl@0: sl@0: * test/unit/mvctor_test.cpp: New test case for the use of the move sl@0: framework within the deque container. sl@0: sl@0: 2004-10-21 Francois Dumont sl@0: sl@0: * stlport/stl/_iostring_stream.h: Simplification of the __stl_alloc_rebind sl@0: overload to make it less ambiguous for the compilers using it. sl@0: sl@0: 2004-10-18 Francois Dumont sl@0: sl@0: * stlport/stl/_vector.h, _vector.c: Add of checks to know if a reference sl@0: is in *this before making a systematical copy of it. sl@0: sl@0: 2004-10-18 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/type_manips.h: replace template <> by macro. sl@0: sl@0: * stlport/stl/debug/_debug.h, _debug.c: __check_if_not_owner should return true sl@0: in case of incompatible types and do check different from __check_if_owner; sl@0: added message for check __check_if_not_owner. sl@0: sl@0: * test/unit/mvctor_test.cpp, test/unit/ptrspec_test.cpp: fix tests to satisfy sl@0: changes related to 23.1.1 Table 67 in stlport/stl/debug/_vector.h, _deque.h---see sl@0: record 2004-10-14 below. sl@0: sl@0: 2004-10-14 Francois Dumont sl@0: sl@0: * stlport/stl/debug/_iterator.h: Move of some _DBG_iter_base and _DBG_iter sl@0: methods implementation outside struct definition to fix call on incomplete sl@0: type compile error generated by the call to the _Incrementable or _Dereferenceable sl@0: functions passing *this as input parameter thanks Alexey Sarytchev sl@0: sl@0: * test/unit/sstream_test.cpp, fstream_test.cpp: Fix of the tests on streambuf sl@0: throwing exception for platform with no exception support. sl@0: sl@0: * stl/_string.h: Add of the missing compare methods on the basic_string sl@0: implementation used by compilers supporting template methods thanks Patrick sl@0: Bennett report. sl@0: sl@0: * stlport/stl/debug/_vector.h, _deque.h: Add check on the insert range method, sl@0: the inserted can not be pointing to the this instance where the insertion occur. sl@0: sl@0: 2004-10-13 Petr Ovtchenkov sl@0: sl@0: * src/explore/Makefiles/gmake: a bit correction of compiled and installed names sl@0: of executables on *nix systems, see record 2004-09-29 by Francois. sl@0: sl@0: 2004-10-12 Francois Dumont sl@0: sl@0: * stlport/stl/_config.h: typo fix thanks KL sl@0: sl@0: * stlport/stl/_move_construct_fwk.h, _set.h, _map.h, _hash_set.h, _hash_map.h: sl@0: Extra semicolons removal thanks Wlodek Szafran reports. sl@0: sl@0: 2004-10-11 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_rope.h: add typename. sl@0: sl@0: 2004-10-08 Francois Dumont sl@0: sl@0: * stlport/stl/_deque.h, _hashtable.h, _tree.h, _bvector.h: Specialization of the sl@0: __type_traits struct for the iterator types. sl@0: sl@0: * stlport/stl/_uninitialized.h, _vector.h: Relax of the rules to perform some sl@0: optimizations, no more POD check, rather use of the trivial copy constructor, sl@0: trivial assignment operator informations. sl@0: sl@0: * stlport/stl/_config.h, _epilog.h: Adoption of stlport as the official STLport sl@0: namespace when users cannot use the std namespace. sl@0: sl@0: 2004-10-07 Francois Dumont sl@0: sl@0: * stlport/stl/_list.h: Specialization of the __type_traits struct for list iterators. sl@0: Move of the == and != operators from the base iterator class to the iterator class sl@0: to make iterator of different list instanciation not comparable anymore. sl@0: sl@0: * stlport/stl/_slist.h: ditto. sl@0: sl@0: 2004-10-06 Francois Dumont sl@0: sl@0: * stlport/stl/_rope.h, _rope.c: Code review, use of general STLport tools rather sl@0: than specific rope ones. Use of compile time checks rather than runtime. sl@0: sl@0: * stlport/stl/_bvector.h: fix to make the vector specialization movable sl@0: thanks a Kelly Thompson report. sl@0: sl@0: 2004-10-05 Francois Dumont sl@0: sl@0: * src/explore/Makefiles/nmake: Application of a patch from Michael Fink to simplify sl@0: the evc make system. sl@0: sl@0: * doc/README.evc4: New version from Zdenek Nemec. sl@0: sl@0: 2004-10-04 Francois Dumont sl@0: sl@0: * test/unit/type_traits_test.cpp: A new test case to check behavior of sl@0: the numerous helper functions from type_traits.h and type_manips.h. sl@0: sl@0: * stlport/stl/type_traits.h: Fix of some bugs and addition of the __type_traits sl@0: specializations of const, volatile and const volatile native types. sl@0: sl@0: * stlport/stl/type_manips.h: Modification of the __bool2type default value sl@0: so that it consider any value as true and only the 0 value false. sl@0: sl@0: * stlport/config/stl_msvc.h, stlport/stl/_config.h: Modification of the STLport sl@0: std equivalent namespace to be sure that the user rebuild correctly the STLport sl@0: library when he forces the use of the dynamic or static library. sl@0: sl@0: * src/explore/Makefiles/nmake/lib/vc-common.mak, app/vc-common.mak: Creation sl@0: of the STLP_BUILD_FORCE_STATIC_RUNTIME that forces use of the static version sl@0: of the native runtime. sl@0: sl@0: * test/unit: fix of some tests that failed to compile using the sl@0: _STLP_NO_ANACHRONISMS macro. sl@0: sl@0: 2004-09-30 Petr Ovtchenkov sl@0: sl@0: * test/regression: catalog removed---it obsolete and unsupported; use sl@0: test/unit tests instead; all tests from test/regression was moved in test/unit, sl@0: sometimes in redesigned form. sl@0: sl@0: 2004-09-29 Francois Dumont sl@0: sl@0: * stlport/stl/_string_io.c: Removal of the native library specific calls of sl@0: use_facet, only the STLport standard one is used. sl@0: sl@0: * stlport/stl/_alloc.h, _alloc.c, src/dll_main.cpp: Implementation of a clean sl@0: process for the node_alloc allocator. This clean is active only when sl@0: _STLP_LEAKS_PEDANTIC is defined and you are using STLport as a dynamic sl@0: library under Win32. sl@0: sl@0: * src/explore: Updates of several makefiles to conform to the new library sl@0: and binary naming convention. sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: fix of the message facet name management sl@0: that was generating a memory leak. sl@0: sl@0: 2004-09-29 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/char_traits.h: WinCE seems don't declare off_t; thanks Michael Fink. sl@0: sl@0: 2004-09-28 Petr Ovtchenkov sl@0: sl@0: * Repository: iostreams and string wrapper mode removed, due to ones has sl@0: a lot of restrictions in usage and frequently lead to hard recognized problems. sl@0: Tonns of *_STREAMS macro replaced by _STLP_USE_NO_IOSTREAMS or _STLP_NO_IOSTREAMS sl@0: as configuration macro; *NATIVE_STRING macro removed by the same reasons. sl@0: sl@0: 2004-09-27 Petr Ovtchenkov sl@0: sl@0: * test/unit/gcc.mak: fix stlport library name for STLP_DEBUG mode for Solaris, sl@0: thanks for separate namespaces in normal and STLP_DEBUG mode, see record sl@0: 2004-09-10 below. sl@0: sl@0: 2004-09-24 Francois Dumont sl@0: sl@0: * stlport/config/stl_gcc.h: Fix of the relative include path used to access the sl@0: native gcc headers. Before version 3.4.0 the 0 patch level was not part of the sl@0: include path. sl@0: sl@0: * stlport/stl/type_traits.h, _vector.h, _algobase.h, _construct.h: Removal sl@0: of the __action_on_move type traits replaced by a generalization of the sl@0: already existing __move_traits. sl@0: sl@0: * test/unit/mvctor_test.cpp: New test case for the __move_traits feature. sl@0: sl@0: 2004-09-24 Petr Ovtchenkov sl@0: sl@0: * src/explore/Makefiles/gmake/sunos: 'explore' makesystem adopted to work sl@0: under Solaris with GNU make. sl@0: sl@0: * test/unit/gcc.mak: ditto. sl@0: sl@0: * src/explore/Makefiles/gmake/app/gcc.mak: ditto. sl@0: sl@0: * src/explore/Makefiles/gmake/lib/gcc.mak: ditto. sl@0: sl@0: * stlport/cmath: fix some math calls for Solaris. sl@0: sl@0: * test/unit/list_test.cpp: add illustration for list iterator/reverse_iterator questions. sl@0: sl@0: * src/explore/Makefiles/gmake/unix/lib.mak: moved from linux/lib.mak, as sl@0: common rules for all *nixes. sl@0: sl@0: * src/explore/Makefiles/gmake/linux/lib.mak: use common for all *nixes rules sl@0: in unix/lib.mak. sl@0: sl@0: * src/explore/Makefiles/gmake/freebsd/lib.mak: ditto. sl@0: sl@0: * src/explore/Makefiles/gmake/openbsd/lib.mak: ditto. sl@0: sl@0: * src/explore/Makefiles/gmake/sunos/lib.mak: ditto. sl@0: sl@0: * src/explore/Makefiles/gmake/unix/lib.mak, test/unit/gcc.mak: changed library name; sl@0: libraries now named as libstlport, libstlportg, libstlportstlg for optimized, with sl@0: debug symbols, and with debug symbols and _STLP_DEBUG mode libraries respectivly. sl@0: sl@0: 2004-09-21 Francois Dumont sl@0: sl@0: * stlport/stl/debug: Modification of the __check_range class in the more general sl@0: __check_construct. Now it also checks for null pointers in the string interface. sl@0: sl@0: * src/explore: Adoption of the new library naming convention for all Microsoft sl@0: compilers thanks Michael Fink sl@0: sl@0: 2004-09-20 Francois Dumont sl@0: sl@0: * src/explore/Makefiles/gmake/cygwin, mingw: Build configuration files merges sl@0: within a single build system: cygming. Future portage of STLport for compilers sl@0: using the GNU tools will be available from both systems. Removal of the vc6 build sl@0: under cygwin, for mono-platform compilers we support only one build system. sl@0: sl@0: * stlport/stl/_vector.h: Modification of the destructor implementation to destroyed sl@0: object instances in a reverse order taking advantage of the way elements are sl@0: normaly added to this container. sl@0: sl@0: 2004-09-16 Francois Dumont sl@0: sl@0: * test/unit/cppunit/cppunit_mini.h, cppunit_proxy.h: Adaptation of the CPPUNIT sl@0: framework to take care of the exception as failures thanks Zdenek Nemec sl@0: sl@0: * stlport/config/stl_msvc.h, stl_bc.h, stl_mwerks.h, stlport/stl_user_config.h: sl@0: Removal of the non intuitive and difficult to maintain automatic linking feature. sl@0: sl@0: * Fixing of the locale implementation mecanism. Classic locale implementation is sl@0: also managed by a reference counter to be sure when it is possible to release sl@0: the associated ressources. Fix of a missing locale impl ref counter decrement sl@0: in the template locale constructor taking a facet, it was a possible source of sl@0: memory leak . Addition of a static object within locale_impl.cpp in sl@0: _STLP_LEAKS_PEDANTIC mode to decrement the global locale impl ref counter when sl@0: STLport library is unloaded. Addition of all the missing classic locale facets sl@0: destructor in free_classic_locale. sl@0: sl@0: * src/locale_catalog.cpp: The locale by name constructor checks the "C" name sl@0: to simply copy (increment the ref counter) the classic locale implementation sl@0: rather than instanciating a new one. sl@0: sl@0: 2004-09-15 Francois Dumont sl@0: sl@0: * stlport/stl/_list.c: Modification of the _S_sort implementation, the __carry sl@0: list instance is created using the __that allocator instance copy to be more sl@0: allocator friendly. sl@0: sl@0: 2004-09-11 Francois Dumont sl@0: sl@0: * stlport/config/stl_intel.h: Configuration update for Win32 Intel 8.0 sl@0: compiler thanks Charlemagne. sl@0: sl@0: 2004-09-10 Francois Dumont sl@0: sl@0: * stlport/stl/_config.h: The new official namespace is now stlp_std. _STL is sl@0: just an alias. STLPORT macro still contains the STLport std namespace equivalent. sl@0: Moreover in _STLP_DEBUG mode, which is not binary compatible with the release sl@0: or debug mode, the namespace is stlpd_std to generate link error rather sl@0: than runtime crash. sl@0: sl@0: 2004-09-09 Francois Dumont sl@0: sl@0: * stlport/stl/_config.h: _STLP_DONT_USE_NESTED_TCLASS_THROUGHT_TPARAM sl@0: renamed to the more intuitive _STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE. sl@0: sl@0: * stlport/stl/_config.h: Introduction of a new namespace stlp_private sl@0: defined in the global namespace. Everything that is STLport implementation sl@0: details should be in this namespace to avoid polution of the std namespace. sl@0: sl@0: * stlport/stl/_iterator_base.h: Modification of the macro used to create sl@0: iterator traits for all tree and hashtable based containers to move it in sl@0: the stlp_private namespace rather than defining it as nested struct, limits sl@0: the symbol size. sl@0: sl@0: 2004-09-08 Francois Dumont sl@0: sl@0: * test/unit/fstream_test.cpp: restauration of the test added by Petr sl@0: the 2004-09-03, it is finaly a different test from the one in sstream_test.cpp. sl@0: Some more checks have also been integrated. sl@0: sl@0: * stlport/stl/_ostream.c: New fix of the _M_unbuffured_copy method that was sl@0: still bugged in case of a throwing output streambuf, detected thanks to the sl@0: test case. sl@0: sl@0: 2004-09-07 Francois Dumont sl@0: sl@0: * stlport/config/stl_msvc.h: Add defines of the _STLP_USE_STATIC_LIB sl@0: or _STLP_USE_DYNAMIC_LIB depending on the current kind of build. sl@0: sl@0: * stlport/stl/_streambuf.h, _streambug.c: Fix an unresolved symbol sl@0: problem for MSVC6 (and before?) when STLport is used as a static library. sl@0: sl@0: 2004-09-06 Francois Dumont sl@0: sl@0: * test/unit/nmake-evc-common.mak: Use of the dynamic runtime for the sl@0: *-shared rules rather than the previous static thanks Michael Fink. sl@0: sl@0: * test/unit/nmake-evc*.mak: end of build code factorisation, use of sl@0: nmake-evc-common.mak within all makefiles thanks Michael Fink. sl@0: sl@0: * test/unit/locale_test.cpp: Application of a patch from Michael Fink sl@0: to check the "C" locale on all platforms. Fix of the money_get_put test sl@0: case for the "C" locale. sl@0: sl@0: * test/unit/allocator_test.cpp: new test case for std::allocator checks. sl@0: sl@0: 2004-09-05 Francois Dumont sl@0: sl@0: * stlport/stl/_string_hash.h: Performance improvement, multiplication sl@0: replaced by shift operations thanks Greg S. sl@0: sl@0: * stlport/config/stl_wince_4.h: removed, never used, stl_evc.h has been sl@0: prefered. sl@0: sl@0: * test/unit/string_test.cpp: addition of a new test short_string_optim_bug sl@0: to check for a compiler bugs making the short string optim invalid thanks sl@0: Michael Fink. sl@0: sl@0: * stlport/config/stl_evc.h: Deactivation of the short string optimization sl@0: because of a compiler bug thanks Michael Fink. sl@0: sl@0: * src/explore: factorisation of the evc build makefiles thanks Michael Fink. sl@0: sl@0: * src/explore/Makefiles/nmake/lib/clean.mak, macro.mak: Addition of some sl@0: file clean up for the clobber rule thanks Michael Fink. sl@0: sl@0: 2004-09-03 Francois Dumont sl@0: sl@0: * test/unit/fstream_test.cpp, sstream_test.cpp: Move of the test for the sl@0: infinite loop from FstreamTest test case to SstreamTest, addition of some sl@0: checks. sl@0: sl@0: * test/unit/full_streambuf.h: streambuf implementation simulating full sl@0: output. sl@0: sl@0: * stlport/exception: restauration of some modification removed after the sl@0: rollback of the 2004-09-01. sl@0: sl@0: * stlport/config/stl_gcc.h: homogeneification of the coding standard used sl@0: within STLport, 2 spaces indentations even for preprocessor directives. sl@0: Doing so, discovered a weird configuration for Mac OS platform (__APPLE__) sl@0: concerning the _STLP_NATIVE_INCLUDE_PATH macro definition, fixed. sl@0: sl@0: * stlport/stl/config/stl_*.mak: removal of all references to the sl@0: _STLP_REDEFINED_STD macro as it is now the default and only way STLport sl@0: use to replace native Standard library. sl@0: sl@0: * test/unit/nmake-vc-common.mak: add inclusion of the vc_warning_disable.h sl@0: file to avoid warnings during build process thanks Michael Fink. sl@0: sl@0: 2004-09-03 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_ostream.c: removed infinite loop in case when outgoing stream sl@0: can't accept more chars. Thanks Daniel White, Ulrich Eckhardt, Francois Dumont. sl@0: sl@0: * test/unit/fstream_test.cpp: test for problem above. Thanks Ulrich Eckhardt. sl@0: sl@0: 2004-09-02 Francois Dumont sl@0: sl@0: * stlport/exception, stlport/stl/_site_config.h, test/unit/exception_test.cpp: sl@0: Creation of the _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT macro to signal support of sl@0: the unexpected exception mecanism. Related type/function are only brought to the sl@0: STLport namespace if correctly supported, exception_test.cpp check that. sl@0: sl@0: * New modification of the _Rb_tree and _Hashtable associated iterator structs. sl@0: Removal of the container_type pass through the iterator traits; iterator traits sl@0: is the type that will make each derived container iterator type real different sl@0: type making them uncomparable. sl@0: sl@0: * stlport/ctype.h: rollback of the above rollback ;-) only of course for the sl@0: Win CE code fix that was part of the previous commitment. sl@0: sl@0: 2004-09-01 Petr Ovtchenkov sl@0: sl@0: * Rollback include schema: code is broken. sl@0: sl@0: 2004-08-31 Francois Dumont sl@0: sl@0: * _STLP_INCOMPLETE_EXCEPTION_HEADER replace by the more intuitive sl@0: _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT macro. sl@0: sl@0: * Modification of the include schema of all public headers in stlport folder sl@0: that need to be reentrant. Now those files are fully guarded and the specific sl@0: STLport code is only included once at the end of the inclusion, the reentrancy sl@0: only concern inclusion of the native headers. sl@0: sl@0: 2004-08-30 Francois Dumont sl@0: sl@0: * stlport/stl/_deque.c: Fix of a pseudo 'uninitialized variable used' thanks sl@0: Oliver Stoeneberg. sl@0: sl@0: 2004-08-27 Francois Dumont sl@0: sl@0: * .Net 2002 (VC70) portage. sl@0: sl@0: 2004-08-27 Petr Ovtchenkov sl@0: sl@0: * src/explore/Makefiles/gmake/gcc.mak, app/gcc.mak, lib/gcc.mak: buggy C++ sl@0: language support in libsupc++ in gcc before 3.3 not allow to use it; sl@0: link with libstdc++ instead. sl@0: sl@0: * stlport/config/stl_icc.h: fix features for icc 7.1; fix features for Linux sl@0: platforms. sl@0: sl@0: 2004-08-24 Francois Dumont sl@0: sl@0: * stlport/config/stl_gcc.h, stl_msvc.h: fixing of configuration concerning sl@0: uncaught_exception and exception handling in general thanks John Roberts. sl@0: sl@0: * stlport/stl/_tree.h, _tree.c: Modification of the _Rb_tree_iterator struct sl@0: to be able to distiguish iterator types from different tree based containers sl@0: Removal of the == and != member operators of the _Rb_tree_base_iterator struct sl@0: replaced by global operators taking _Rb_tree_iterator as parameters and checking sl@0: that the iterators are of the same container type thanks Haroon Nassiry report. sl@0: sl@0: * stlport/stl/_map.h, _set.h: Modification of the iterator traits used to sl@0: instanciate the _Rb_tree class. sl@0: sl@0: * stlport/stl/_hashtable.h, _hashtable.c, _hash_set.h, _hash_map.h: Similar sl@0: modifications to the previous one in order to make for instance the iterator sl@0: from hash_map and hash_multimap not comparable anymore. sl@0: sl@0: * stlport/config/stl_wince.h, stlport/ctype.h: Move of the isspace C function sl@0: Windows CE specific code from the config file to the ctype.h file. This fix sl@0: will also apply to Embedded C++ .Net thanks Dirk report. sl@0: sl@0: 2004-08-23 Petr Ovtchenkov sl@0: sl@0: * test/unit/cppunit/cppunit_proxy.h, test/init/gcc.mak: CPPUNIT_MINI removed. sl@0: sl@0: * src/num_get_float.cpp: suggestion to fix problem with float input for gcc 3.4.x sl@0: with optimization flag. sl@0: sl@0: * test/unit/floatio_test.cpp: test for infinity and near sl@0: sl@0: * src/explore/Makefiles/gmake/gcc.mak, app/gcc.mak, lib/gcc.mak: fix detection of sl@0: gcc version; gcc before 3.x had libgcc.a that contains some language support, sl@0: so link with it in case when we avoid link with libstd++. This has relation only sl@0: for linux systems. sl@0: sl@0: 2004-08-19 Petr Ovtchenkov sl@0: sl@0: * src/explore/configure.bat: setting up compiling STLport under Windows. sl@0: Contribution by Michael Fink. sl@0: sl@0: 2004-08-13 Francois Dumont sl@0: sl@0: * test/unit/gcc.mak: Addition of the _STLP_NO_CUSTOM_IO define to make test sl@0: build faster. sl@0: sl@0: * stlport/stl/_limits.h, _limits.c: Modification of the _LimG class definition. sl@0: Removal of the static variables, replaced by static method having the same role sl@0: but more portable. Fix link problem with MSVC compilers family when using STLport sl@0: static library. sl@0: sl@0: * stlport/stl/_bitset.h, _bitset.c: Ditto for the _Bs_G class. sl@0: sl@0: * stlport/stl/_hashtable.h, _hashtable.c: Ditto for the _Stl_prime class. sl@0: sl@0: * src/dll_main.cpp: thanks to the previous modification, removal of the sl@0: concerned code within force_link. sl@0: sl@0: 2004-08-13 Petr Ovtchenkov sl@0: sl@0: * test/unit/cppunit/cppunit_mini.h, file_reporter.h, test_main.cpp: sl@0: add function to print mess; remove def of CPPUNIT_MINI, not required; add const sl@0: qualifiers. sl@0: sl@0: * test/unit/locale_test.cpp: print checked locale name; restore table with format sl@0: symbols--partially rollback changes 2004-07-29; add test for possible locale sl@0: init/deinit problem---I don't see problem. Test inspired by Alex Kosilin. sl@0: sl@0: 2004-08-11 Francois Dumont sl@0: sl@0: * src/explore/Makefiles/nmake: extension of the new build system for VC.Net sl@0: 2005 (VC8). sl@0: sl@0: * src/explore/Makefiles/nmake/app: restauration of the default behavior shared sl@0: rules generates executable using the STLport dynamic library and static rules sl@0: use the static libraries. sl@0: sl@0: * stlport/stl/_string.h: Add check of _STLP_NO_IOSTREAMS to force inclusion of sl@0: _string.c in this case. sl@0: sl@0: * stlport/stl/_string.c: removal of the _STLP_LINK_TIME_INSTANTIATION macro check sl@0: before inclusion as the check is already done to include _string.c from _string.h. sl@0: sl@0: * stlport/stl/_istream.h _istream.c: removal of the _M_put_num function definition sl@0: from the .h and removal of all the inline implementation of the >> operators. sl@0: _M_put_num is now hidden in the .c to avoid to have to deal with export of this sl@0: symbol. Fix errors while using the _STLP_NO_CUSTOM_IO macro. sl@0: sl@0: * stlport/stl/_ostream.h _ostream.c, src/ostream.cpp: ditto but for the _M_get_num sl@0: function. sl@0: sl@0: * stlport/stl/_istream.h _istream.c: _M_init_skip and _M_init_noskip are now inline sl@0: functions defined within the .h to fix link errors when using the _STLP_NO_CUSTOM_IO sl@0: macro. sl@0: sl@0: 2004-08-10 Francois Dumont sl@0: sl@0: * stlport/stl/_string.h: add check of the _STLP_EXPOSE_STREAM_IMPLEMENTATION sl@0: macro to include the _string.c file. Improve compile time when _STLP_NO_CUSTOM_IO sl@0: is defined. sl@0: sl@0: * stlport/stl/_string.h, stlport/stl/debug/_string.h, _string_mem_t.h: restoration sl@0: of the template method specialization for backward compatibility between compilers sl@0: implementating template method and the most recent one. It is considered as an sl@0: STLport extension. sl@0: sl@0: 2004-08-09 Petr Ovtchenkov sl@0: sl@0: * test/compiler: tests to check whether compiler understand or not some sl@0: language construction. It is NOT tests for language support libraries, sl@0: only tests for compiler. The main purposes of this tests is to help sl@0: for developers to find correct workarounds, if compiler don't understand sl@0: some language constructions. sl@0: sl@0: 2004-08-09 Francois Dumont sl@0: sl@0: * stlport/stl/_limits.h, stlport/config/stl_mycomp.h: introduction of a new macro sl@0: configuration to signal no support of the IEC 559 specification for floating point sl@0: numbers. sl@0: sl@0: * stlport/config/stl_msvc.h: fix of the config to signal no IEC 559 support before sl@0: Visual C++ .Net even if the infinity value is fine. sl@0: sl@0: * test/unit/limits_test.cpp: New test case to check the right numeric_limits class sl@0: configuration. Do not check the signaling_NaN yet... sl@0: sl@0: * stlport/config/stl_msvc.h: Visual .Net Beta 2005 portage. sl@0: sl@0: * stlport/stl/_ios.h: Move of the basic_ios::narrow and widen member method sl@0: specialization before the explicit instanciation of the basic_ios class for sl@0: the char type. sl@0: sl@0: * stlport/stl/_construct.h, _num_put.c: fix of some unused parameter warning sl@0: thanks Oliver Stoeneberg report. sl@0: sl@0: 2004-08-05 Francois Dumont sl@0: sl@0: * Fixes of the internal move framework for compilers not supporting partial sl@0: template specialization. The problem was detected thanks to the boost regression sl@0: test suite. sl@0: sl@0: 2004-08-04 Francois Dumont sl@0: sl@0: * stlport/stl/debug/_list.h, _slist.h: small review of the stlport debug code. sl@0: Removal of any Standard reference in the slist class debug implementation. Removal sl@0: of some unjustified iterator invalidation. sl@0: sl@0: * stlport/stl/_locale.h, _collate.h, src/locale.cpp, locale_catalog.cpp, locale_impl.cpp: sl@0: Split of the locale class implementation into _LocaleBase base class with no member sl@0: template methods which is exported and the locale class which is not exported. This sl@0: is a workaround for the MSVC6 compiler. sl@0: sl@0: 2004-08-03 Francois Dumont sl@0: sl@0: * stlport/stl/_iterator.h: Fix of the back_insert_iterator, front_insert_iterator sl@0: and insert_iterator to make them assignable like specify in the Standard requirements sl@0: of the output iterators. sl@0: sl@0: * test/unit/insert_test.cpp, finsert_test.cpp, binsert_test.cpp: Addition of tests for sl@0: the assignment operators on the output iterators. sl@0: sl@0: 2004-08-02 Francois Dumont sl@0: sl@0: * stlport/stl/_string.h, _string.c, debug/_string.h: split of the basic_string sl@0: implementation into a class with no member templates and one with the member sl@0: templates. Only the one with no member templates is exported. This is a MSVC6 sl@0: bug workaround as this compiler try to look for the class method symbols within sl@0: the dynamic library even if this symbol is the one of template method which is sl@0: not exported. That also make the basic_string implementation more clean so it sl@0: has been adopted for all compilers. sl@0: sl@0: 2004-07-29 Francois Dumont sl@0: sl@0: * test/unit/locale_test.cpp: Fix bad macro _STLP_NO_EXCEPTIONS spelling sl@0: and add of a check for real locale implementation. Patch done by sl@0: Michael Fink. sl@0: sl@0: * stlport/stl/debug/_debug.h, _debug.c, _iterator.h: Modification of the sl@0: __check_same_owner_or_null function name to the more intuitive sl@0: __check_same_or_null_owner thanks a Aleksey Sanin remark. sl@0: sl@0: 2004-07-26 Petr Ovtchenkov sl@0: sl@0: * src/explore/Makefiles/gmake/lib/gcc.mak: avoid linkage with libstd++ sl@0: for gcc compilers. sl@0: sl@0: * src/explore/Makefiles/gmake/linux/rules-so.mak: ditto sl@0: sl@0: * src/explore/Makefiles/gmake/lib/rules-a.mak: ditto sl@0: sl@0: * src/explore/Makefiles/gmake/app/top.mak: ditto sl@0: sl@0: 2004-07-21 Francois Dumont sl@0: sl@0: * stlport/config/stl_gcc.h: Fix of a gcc 3.3.0 test that did not handle sl@0: the gcc 2.95.x correctly thanks Jordan Breeding. sl@0: sl@0: * src/common_rules.mak: Addition of the stlport/stl/pointers folder within sl@0: the folder to be install. Add of a call to ranlib under linux mandatory under sl@0: Mac OS X and without impact under the other Unixes systems. sl@0: sl@0: 2004-07-17 Francois Dumont sl@0: sl@0: * Application of a Mac OSX patch from John Daniel (www.etresoft.com) sl@0: sl@0: 2004-07-15 Francois Dumont sl@0: sl@0: * stlport/stl/_epilog.h: systematical use of the redefined std namespace sl@0: rather than using the namespace inclusion schema. sl@0: sl@0: * test/unit/set_test.cpp: addition of a test case to show the problem of sl@0: the namespace injection schema. sl@0: sl@0: 2004-07-13 Francois Dumont sl@0: sl@0: * stlport/numeric: removal of the _function.h header include. sl@0: sl@0: * test/unit/divide_test.cpp: add the missing functionnal header sl@0: inclusion. sl@0: sl@0: * doc/README.msvc: new doc specific to the MSVC++ family compiler. sl@0: sl@0: 2004-07-12 Petr Ovtchenkov sl@0: sl@0: * test/unit/fstream_test.cpp: tests for unformatted extraction bug. sl@0: sl@0: * stlport/stl/_istream.c: _M_read_unbuffered should leave delimiter sl@0: in the stream in case of unformatted input. Thanks Joerg Becker. sl@0: sl@0: 2004-07-09 Francois Dumont sl@0: sl@0: * src/sgi_mipspro.mak: add the -LANG:libc_in_namespace_std:OFF sl@0: thanks Jack Perdue. sl@0: sl@0: 2004-07-08 Francois Dumont sl@0: sl@0: * doc/README.evc3: additionnal doc thanks Michael Fink sl@0: sl@0: 2004-07-08 Petr Ovtchenkov sl@0: sl@0: * test/unit/sstream_test.cpp: added two test for unformatted extraction sl@0: and newline character. Inspired by Joerg Becker. sl@0: sl@0: 2004-07-07 Francois Dumont sl@0: sl@0: * stlport/stl/_hashtable.h, stlport/stl/_hashtable.c, sl@0: stlport/stl/_hash_set.h, stlport/stl/_hash_map.h: generalization sl@0: of the iterator traits adopted on the tree class. Now iterator and sl@0: const_iterator on hash_set and hash_multiset are different types sl@0: even if iterator is still immutable. sl@0: sl@0: * stlport/stl/_deque.h, stlport/stl/_list.h, stlport/stl/_slist.h: sl@0: Modification of the iterator classes to only use the template sl@0: parameter _Traits rather than using an external type traits. It is sl@0: the way hash containers and sorted containers have their iterator sl@0: struct working. sl@0: sl@0: * stlport/stl/_iterator_base.h: Addition of the immutable traits sl@0: struct _Const_Const_traits and _Nonconst_Const_traits for sl@0: implementation of the set, multiset, hash_set, hash_multiset sl@0: iterators. sl@0: sl@0: * stlport/stl/c_locale.h, stlport/stl/debug/_debug.h: removal of sl@0: unjustified _config.h inclusions sl@0: sl@0: * stlport/stl/_iterator_base.h: inclusion of type_traits.h only sl@0: for compilers that need it. sl@0: sl@0: * stlport/stl/_algobase.h, stlport/stl/debug/_debug.h: add inclusion sl@0: of type_traits.h. sl@0: sl@0: * stlport/stl/_algo.h, stlport/stl/_algo.c: move of the _tempbuf.h sl@0: inclusion from the .h to the .c that is the only one that need it. sl@0: sl@0: * stlport/stl/_config.h: addition of the boost support section. sl@0: sl@0: 2004-07-07 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_monetary.c: iterator __str_first out of range, sl@0: i.e. outside __str_last in 'mismatch' call in __get_string, if sl@0: size of interval [__first, __last) is larger than size of interval sl@0: [__str_first, __str_last). sl@0: sl@0: * test/unit/fstream_test.cpp: test for correct report by tellg added. sl@0: sl@0: 2004-07-05 Francois Dumont sl@0: sl@0: * stlport/stl/_map.h: internal type _Rep_type set as public for use sl@0: in the __move_traits specialization thanks Oliver Stoeneberg. sl@0: sl@0: * stlport/stl/_set.h: specialization of the __move_traits to make the sl@0: set and multiset movable thanks Oliver Stoeneberg. sl@0: sl@0: * stlport/stl/_function_base.h, stlport/stl/_heaps.h: removal of the sl@0: unjustified _config.h inclusion that should only be included from the sl@0: _prolog.h header. sl@0: sl@0: 2004-07-05 Petr Ovtchenkov sl@0: sl@0: * src/facets_byname.cpp: avoid pass address to member of derived class into sl@0: base class via constructor. sl@0: sl@0: * src/facets_byname.cpp: remove first member---EOF---of _M_byname_table---one sl@0: not required and lead to wrong reference; this a fix for test in sl@0: locale_test.cpp. sl@0: sl@0: * src/ctype.cpp: ditto. sl@0: sl@0: * src/c_locale_win32/c_locale_win32.c: ditto. sl@0: sl@0: * stlport/stl/_ctype.h: ditto. sl@0: sl@0: 2004-07-02 Petr Ovtchenkov sl@0: sl@0: * src/c_locale_glibc/c_locale_glibc2.c: message catalog functions dealing sl@0: with message catalog descriptor; but this descriptor not necessary to be sl@0: int; Linux use here void *, i.e. pointer to mmap segment. sl@0: sl@0: * stlport/stl/_messages_facets.h: ditto. sl@0: sl@0: * src/messages.cpp: ditto. sl@0: sl@0: * src/message_facets.h: ditto. sl@0: sl@0: * src/facets_byname.cpp: ditto. sl@0: sl@0: * src/c_locale_stub.cpp: ditto. sl@0: sl@0: * src/c_locale.h: ditto. sl@0: sl@0: * src/c_locale_glibc/c_locale_glibc2.c: fix _Locale_extract_*_name sl@0: functions. sl@0: sl@0: 2004-07-01 Francois Dumont sl@0: sl@0: * src/explore/Makefiles/nmake/lib/vc-common.mak: creation of the sl@0: STLP_BUILD_FORCE_DYNAMIC_RUNTIME option to create STLport statix sl@0: versions more easily. sl@0: sl@0: 2004-06-30 Francois Dumont sl@0: sl@0: * stlport/stl/_function.h: Use a call_traits to avoid the reference sl@0: to reference problem in struct like binder1st or binder2nd. sl@0: sl@0: 2004-06-26 Francois Dumont sl@0: sl@0: * src/explore/: portage of the explore build system for the sl@0: MSVC .Net 2003 compiler. sl@0: sl@0: 2004-06-24 Francois Dumont sl@0: sl@0: * stlport/stl/_site_config.h: Addition of an entry for the per thread sl@0: allocator configuration. sl@0: sl@0: * stlport/stl/_config.h: Avoid use of the import/export technique sl@0: when not using own iostreams. This way you can use the STLport debug sl@0: mode without building the libraries. sl@0: sl@0: 2004-06-23 Francois Dumont sl@0: sl@0: * extension of the cygwin link problem workaround for mingw32. sl@0: sl@0: * src/locale_catalog.cpp: Move of the _STLP_lock object instance sl@0: declaration to limit the critical section and improve performace. sl@0: sl@0: * stlport/stl/_pthread_alloc.h: fix of the pthread_allocator and sl@0: per_thread_allocator allocate method to check for the required sl@0: number of element before multiplication with the size of the objects sl@0: to instanciate. sl@0: sl@0: 2004-06-22 Francois Dumont sl@0: sl@0: * src/locale_catalog.cpp: fix of the locale facets registration system. sl@0: The hash container use string as key rather than char const* so that sl@0: a copy of the facet name is stored rather than a copy of the string sl@0: pointer that might be freed. We also extract the complete facet name sl@0: before storing it to avoid store of facet aliases that cannot be retrieved sl@0: at release. sl@0: sl@0: 2004-06-21 Francois Dumont sl@0: sl@0: * Restauration of the cygwin support (using gcc 3.3.1). Extension of the sl@0: explore build system, workaround of a link problem when using shared sl@0: libraries. sl@0: sl@0: 2004-06-13 Petr Ovtchenkov sl@0: sl@0: * src/c_locale_glibc/c_locale_glibc2.c: locale_data for glibc 2.3 is differ sl@0: from one for glibc 2.2. sl@0: sl@0: 2004-06-11 Francois Dumont sl@0: sl@0: * test/unit: Modification of some tests to make the assertion sl@0: clearer. Mainly add of check of the streams state before check sl@0: of the stream content. sl@0: sl@0: * test/unit/locale_test.cpp: fix of the thousands separator which is sl@0: 0xa0 under Win32 and not a simple ' ' for the french locale. sl@0: sl@0: 2004-06-07 Francois Dumont sl@0: sl@0: * stlport/stl/_algo.c: rollback of the sort algo implementation sl@0: to the 4.5.3 version. sl@0: sl@0: 2004-06-03 Francois Dumont sl@0: sl@0: * stlport/stl/pointers/README, doc/pointer_specialization.txt: move and sl@0: rename of the doc about pointer partial template specialization feature. sl@0: sl@0: * doc/README.ecv4: Creation of a documentation about the install and use sl@0: of STLport within Embedded Visual C++ 4 thanks Zdenek Nemec. sl@0: sl@0: * doc/README.ecv3: Creation of a documentation about the process installment sl@0: with the Embedded Visual C++ 3 thanks Michael Fink. sl@0: sl@0: * stlport/stl/_slist.h: fix of an invalid reference to a _M_node member data sl@0: on a _Slist_node_base struct (thanks gcc 3.4.0). sl@0: sl@0: * stlport/stl/_string.c, stlport/stl/_string.h: fix of missing scopes to sl@0: access the base template class _String_base _DEFAULT_SIZE enum member. sl@0: (thanks gcc 3.4.0) sl@0: sl@0: * stlport/stl/_string_base.h: fix of the anonymous union used as a parameter sl@0: of the template function swap. (thanks gcc 3.4.0) sl@0: sl@0: * stlport/stl/_ostream.h: fixes of the missing scopes to access the basefield enum sl@0: within the base template class basic_ios from the basic_ostream. (thanks gcc 3.4.0) sl@0: sl@0: * stlport/stl/_debug.c: clean up of a no more use template function. sl@0: (thanks gcc 3.4.0) sl@0: sl@0: * stlport/stl/_rope.h: fix of the missing scope to access base template class sl@0: data member. (thanks gcc 3.4.0) sl@0: sl@0: 2004-06-02 Petr Ovtchenkov sl@0: sl@0: * src/num_put_float.cpp: some fixes for systems that use snprintf for sl@0: output, i.e. for FreeBSD and OpenBSD sl@0: sl@0: * test/unit/floatio_test.cpp: less precise request, this should work sl@0: with static buffer for systems that use snprintf sl@0: sl@0: * stlport/stl/_config.h: detect MT for OpenBSD sl@0: sl@0: * stlport/stl/_threads.h: use original spinlock for OpenBSD sl@0: sl@0: 2004-05-28 Francois Dumont sl@0: sl@0: * stlport/config/stl_gcc.h: fix for the gcc3.4.0 compiler. Modification sl@0: of the include path macro to generate 3.4.0 rather than 3.4 . Need sl@0: template keyword to reveal use of a nested template class. sl@0: sl@0: * stlport/stl/_config.h: creation of the _STLP_LONG_DOUBLE macro that sl@0: extend to long double on compiler supporting it and double on the other sl@0: as a workaround. sl@0: sl@0: * stlport/stl/_num_put.h, stlport/stl/_num_put.c, src/num_put_float.cpp: sl@0: Addition of functions to get the digits from a long double for the monetary sl@0: facet. sl@0: sl@0: * stlport/stl/_monetary.h, stlport/stl/_monetary.c, src/monetary.cpp: sl@0: Implementation of the missing money_put::put method taking a long double. sl@0: Fixing of the grouping application. sl@0: sl@0: * test/unit/Makefile.inc, test/unit/locale_test.cpp: Creation of a unit test sl@0: for the locale support. At creation it tests the num_put, num_get, money_put, sl@0: money_get facets. sl@0: sl@0: * src/facets_byname.cpp: fix of the monetary format determination from sl@0: the locale platform API informations. sl@0: sl@0: 2004-05-28 Petr Ovtchenkov sl@0: sl@0: * src/explore/Makefiles/gmake/sysid.mak: correctly detect Mingw sl@0: sl@0: * src/explore/Makefiles/gmake/mingw: compilation under Mingw sl@0: sl@0: 2004-05-27 Petr Ovtchenkov sl@0: sl@0: * Makefiles/gmake/linux/extern.mak: fix lib catalog name in case of cross-compilation sl@0: sl@0: * Makefiles/gmake/freebsd/extern.mak: ditto sl@0: sl@0: * Makefiles/gmake/openbsd/extern.mak: ditto sl@0: sl@0: 2004-05-26 Petr Ovtchenkov sl@0: sl@0: * Repository: STLport 5.0 RC1 sl@0: sl@0: 2004-05-24 Francois Dumont sl@0: sl@0: * stlport/stl/_iostream_string.h: sl@0: Fix of the iostring_allocator rebind embedded struct and implementation sl@0: of the missing __stl_alloc_rebind and __stl_alloc_create useful for compiler sl@0: not supporting or buggy on the member template feature (VC6 for instance). sl@0: sl@0: 2004-05-22 Francois Dumont sl@0: sl@0: * src/num_put_float.cpp, stlport/stl/_num_put.h, stlport/stl/_num_put.c: sl@0: Correction of the locale grouping schema application in case of the scientific sl@0: output when there is no decimal point. sl@0: sl@0: 2004-05-19 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_tree.h, stlport/stl/debug/_tree.h: fix template parameters, see rec sl@0: 2004-05-14 below. sl@0: sl@0: 2004-05-16 Petr Ovtchenkov sl@0: sl@0: * Repository: STLport 5.0 branch sl@0: sl@0: 2004-05-14 Francois Dumont sl@0: sl@0: * stlport/stl/_tree.h, stlport/stl/_tree.c, stlport/stl/_set.h, stlport/stl/_map.h: sl@0: Modification of the _Rb_tree implementation to restore the non mutability of the set sl@0: iterators but to keep distinct type between it and the const_iterator. sl@0: sl@0: 2004-05-13 Francois Dumont sl@0: sl@0: * stlport/config/stl_evc.h, test/unit/nmake-evc3.mak: Portage to the WinCE 3 platform. sl@0: Thanks Michael Fink. sl@0: sl@0: 2004-05-13 Francois Dumont sl@0: sl@0: * stlport/stl/_set.h: Addition of the const/non-const methods for many methods now that sl@0: iterator are not const_iterator anymore. Correction of the multiset interface to be sl@0: homogeneous with the set interface. sl@0: sl@0: 2004-05-09 Francois Dumont sl@0: sl@0: * stlport/stl/char_traits.h: Addition of the specific wchar_t static methods similar sl@0: to the one of the char specialization calling the wide functions. sl@0: sl@0: 2004-05-08 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_set.h: fix definition of const/non-const for find and *_bound sl@0: methods. Thanks KL for report. sl@0: sl@0: 2004-05-07 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_set.h: fix definition of const/non-const iterators. sl@0: Thanks Ilya Chvetsov for report. sl@0: sl@0: * test/unit/set_test.cpp: test that detect bug above. sl@0: sl@0: 2004-04-27 Francois Dumont sl@0: sl@0: * stlport/stl/_complex.h: removal of a macro guard on the template != operator. sl@0: sl@0: * test/unit/complex_test.cpp: creation of a test case for the complex class. sl@0: sl@0: 2004-04-26 Francois Dumont sl@0: sl@0: * stlport/stl/_fstream.h, src/fstream.cpp: extension of the fstream interface to accept Win32 sl@0: HANDLE on construction and in the open method. sl@0: sl@0: 2004-04-26 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_istream.h: don't change value while input error happens. sl@0: Thanks Nix. sl@0: sl@0: * test/unit/sstream_test.cpp, test/unit/fstream_test.cpp: added test for error sl@0: flags and unchanged value when input error occur. sl@0: sl@0: 2004-04-23 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_rope.h: allow search of rope, like done in string sl@0: sl@0: 2004-04-21 Francois Dumont sl@0: sl@0: * stlport/stl/pointers/README: Creation of a documentation on the new sl@0: pointer partial specialization feature. sl@0: sl@0: 2004-04-20 Francois Dumont sl@0: sl@0: * stlport/stl/_pair.h: modification of the make_pair signature. After the latest sl@0: Standard revision it takes params per value and not reference to const. sl@0: sl@0: 2004-04-20 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/pointers/_list.h: 'clear' method was forgot. sl@0: sl@0: * test/unit/list_test.cpp: check presence of 'clear' sl@0: sl@0: 2004-04-15 Petr Ovtchenkov sl@0: sl@0: * test/unit/partial_test.cpp: wrong comparison during test sl@0: sl@0: * test/unit/sort_test.cpp: ditto sl@0: sl@0: * test/unit/rm_cp_test.cpp: #ifndef not required---should work sl@0: sl@0: * test/unit/unique_test.cpp: ditto sl@0: sl@0: 2004-04-14 Petr Ovtchenkov sl@0: sl@0: * stlport/typeinfo, stlport/config/stl_wince_4.h, stlport/stl/debug/_debug.c: adaptation for Win CE .NET; sl@0: Thanks Zdenek Nemec. sl@0: sl@0: * stlport/stl/_algobase.h: calculate difference once sl@0: sl@0: * stlport/stl/pointers/_vector.h: missed returns. Thanks KL. sl@0: sl@0: * stlport/stl/pointers/_list.h: idem. sl@0: sl@0: * stlport/stl/pointers/_deque.h: idem. sl@0: sl@0: * stlport/stl/pointers/_slist.h: idem. sl@0: sl@0: * stlport/stl/_vector.c, stlport/stl/_vector.h: big enough functions moved to non-inline section sl@0: sl@0: * stlport/stl/_iterator.h: use reference instead of pointer for stored container sl@0: sl@0: 2004-04-06 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_prolog.h: when we in _STLP_REDEFINE_STD mode, we really sl@0: need to #undef std, see mistake 2004-02-19 below. sl@0: sl@0: * stlport/config/stl_msvc.h: partially undo workaround 2004-03-30, sl@0: not required; problem was solved by #undef std in _prolog.h sl@0: sl@0: * stlport/stl/_abbrevs.h: add new abbrevs---VC6 has problems in debug mode sl@0: sl@0: 2004-04-03 Petr Ovtchenkov sl@0: sl@0: * stlport/stl_user_config.h: expose _STLP_DONT_FORCE_MSVC_LIB_NAME for sl@0: configuration. sl@0: sl@0: * stlport/config/stl_msvc.h: incorporate content of stl_select_lib.h and sl@0: vc_select_lib.h; a bit cleaned. sl@0: sl@0: * stlport/config/stl_select_lib.h: removed. sl@0: sl@0: * stlport/config/vc_select_lib.h: removed. sl@0: sl@0: 2004-04-02 Petr Ovtchenkov sl@0: sl@0: * src/time_facets.cpp: add #include for sprintf; remove sl@0: c_copy_string function. sl@0: sl@0: * stlport/stl/_time_facets.h: fix for _STLP_LEAKS_PEDANTIC. sl@0: sl@0: 2004-04-01 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_string.h: reorder of in-class template and sl@0: quazi-specialization function make VC happy, ref. 2004-03-29 sl@0: sl@0: * stlport/stl/debug/_string.h: fix insert and replace for sl@0: iterators that refer to same string in _STLP_DEBUG mode. sl@0: sl@0: 2004-03-31 Petr Ovtchenkov sl@0: sl@0: * src/explore/nmake-evc4-arm.mak, src/explore/nmake-evc4-x86.mak, etc.: sl@0: rules for eVC4 compilers---ARM and ix86 target architectures. sl@0: Contribution by Zdenek Nemec. sl@0: sl@0: 2004-03-30 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_algo.c: workaround for VC compilers---ones pass reference sl@0: to parent object directly, pay no regard for temporary object sl@0: sl@0: * stlport/new, stlport/stl/_new.h, stlport/typeinfo, stlport/config/stl_msvc.h: sl@0: workaround for VC6's problem with 'using' directive, while import native sl@0: bad_alloc and some other classes into STLport's namespace sl@0: sl@0: * stlport/stl/_streambuf.h: export template class, to make VCs to be happy. sl@0: sl@0: * stlport/stl/_valarray.h: use , not sl@0: sl@0: * src/explore/Makefiles/nmake/lib/macro.mak, test/unit/nmake-vc6.mak: sl@0: fix static library names sl@0: sl@0: 2004-03-29 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_set.h: fix problems with erase functions. sl@0: sl@0: * stlport/stl/_string.h: VC compiler expect only one variant---template sl@0: or not---of replace function with four iterators in parameters. sl@0: sl@0: * test/unit/nmake-src-prefix.mak: really know what do with sources sl@0: in cppunit. sl@0: sl@0: 2004-03-25 Petr Ovtchenkov sl@0: sl@0: * stlport/stl/_string_base.h: enlarge default string static buffer size sl@0: sl@0: * stlport/stl/debug/_string.h: avoid attempt to invalidate iterators beyond sl@0: string size range. sl@0: sl@0: * stlport/config/stl_gcc.h: instantiation scheme that idefault used---witout sl@0: --repo option---in gcc 3 made void of sense explicit instantiation within sl@0: library---nothing except increased library size. sl@0: Define _STLP_NO_FORCE_INSTANTIATE is default now for gcc 3.x. sl@0: sl@0: * stlport/stl/_streambuf.h: remove specialization of sl@0: basic_streambuf >---reference to FILE struct here sl@0: isn't required and really not used anyware. Functionality of standard io sl@0: streams, including synchronization with C std io streams provided in sl@0: src/stdio_streambuf.cpp sl@0: sl@0: * stlport/stl/_iosfwd.h: same. sl@0: sl@0: * src/fstream_impl.h, src/iostream.cpp, src/stdio_streambuf.cpp: same. sl@0: sl@0: * src/streambuf.cpp: removed. sl@0: sl@0: * stlport/stl/_stdio_file.h: moved... sl@0: * src/_stdio_file.h: ...here sl@0: sl@0: * stlport/stdio_streambuf: moved... sl@0: * src/_stdio_file.h: ...here sl@0: sl@0: * src/explore/Makefile.inc: remove streambuf.cpp sl@0: sl@0: 2004-03-24 Petr Ovtchenkov sl@0: sl@0: * c_locale_glibc2.c: real locale implementation for glibc 2.3.x. sl@0: sl@0: 2004-03-15 Petr Ovtchenkov sl@0: sl@0: * test/unit: unit test suite intended for test/regression replacement. sl@0: Zdenek Nemec contribution. sl@0: sl@0: 2004-03-01 Francois Dumont sl@0: sl@0: * _hash_fun.h: Correction of the hash struct specialization for the _STLP_LONG_LONG sl@0: type. Thanks Vianney Lecroard sl@0: sl@0: * type_traits.h: Integration of the boost (www.boost.org) type traits within STLport. sl@0: sl@0: 2004-02-21 Francois Dumont sl@0: sl@0: * _tree.h: Modification of the base class implementtion to avoid the systematical sl@0: dynamic allocation of a node as the root note of the RB tree. sl@0: sl@0: * Addition of many missing macro guards in the stlport public headers to avoid to break sl@0: the stlport prolog/epilog include framework. sl@0: sl@0: 2004-02-19 Petr Ovtchenkov sl@0: sl@0: * _slist.h, debug/_slist.h,, dll_main.cpp: remove excess slist redefinitions sl@0: sl@0: * debug/_slist.h: comment explicit usage of namespace with functions---under sl@0: some conditions this hangs gcc compilers. sl@0: sl@0: * _config.h, _cwchar.h, _epilog.h, _iterator_base.h, debug/_debug.c: multiple import sl@0: of _STL namespace into std, as multiple import VENDOR_CSTD namespace into _STL sl@0: namespace lead to crash of gcc compilers. Import of _STL namespace into std sl@0: namespace done once in the _config.h, not in _epilog.h. sl@0: sl@0: * _prolog.h: undef std not required in all cases; instead this is useful only sl@0: for redefinition of std namespace, and should be done in the _config.h. sl@0: sl@0: * _epilog.h: include of _config.h has no sense here. sl@0: sl@0: * _threads.h: wrong import of _STL namespace into global namespace sl@0: sl@0: 2004-02-18 Francois Dumont sl@0: sl@0: * _list.h: Modification of the base list class based on the slist implementation. sl@0: The list do not allocate a node systematically anymore even for the empty list. sl@0: sl@0: 2004-02-14 Petr Ovtchenkov sl@0: sl@0: * debug/_relops_cont.h, debug/_string.h: fix typos in template specializations. sl@0: sl@0: 2004-02-12 Petr Ovtchenkov sl@0: sl@0: * explore/icc.mak: experimental make system support Intel's icc compiler sl@0: on Linux. sl@0: sl@0: 2004-02-05 Petr Ovtchenkov sl@0: sl@0: * iostream.cpp, _ios_base.h, iostream, locale_impl.h, locale_impl.cpp: sl@0: revise standard iostream and locale initialization, remove worrits about sl@0: order of static objects initialization as soon as possible; all real sl@0: initialization situated in the locale_impl.cpp; locale initialization sl@0: moved to _Locale_impl constructor---locale will be correctly initialized sl@0: either via direct locale usage, or during standard iostream initialization, sl@0: as ios_base member. This changes may lead to problems with Digital Mars sl@0: and Borland compilers---should be checked and fixed. sl@0: sl@0: 2004-02-03 Francois Dumont sl@0: sl@0: * integration of a portage to the Windows CE .NET (eMebedded Visual sl@0: C++ 4) compiler thanks Zdenek Nemek sl@0: sl@0: 2004-02-02 Petr Ovtchenkov sl@0: sl@0: * _iostream_string.h: avoid usage of iostring in the _STLP_DEBUG mode, sl@0: due to iostring::iterator not convertable into string::iterator in this sl@0: mode. sl@0: sl@0: 2004-01-29 Petr Ovtchenkov sl@0: sl@0: * _string.c: avoid 'insert( iterator, const_iterator, const_iterator )' sl@0: instantiation in the 'replace'---VC6 has problem here. sl@0: sl@0: 2004-01-29 Francois Dumont sl@0: sl@0: * facets_byname.cpp: correction of the typeid use thanks to Ulrich Eckhardt. sl@0: sl@0: * _iostream_string.h: creation and integration of a special string used within sl@0: the iostream implementation to display floating point numbers. It mixes a static sl@0: buffer with a dynamic one to improve performance. sl@0: sl@0: 2004-01-22 Francois Dumont sl@0: sl@0: * _new.h: check of the _STLP_USE_EXCEPTIONS before correction of the new sl@0: operator behavior and bad_alloc exception definition. sl@0: sl@0: * _ios_base.h: removal of the _M_get_facet function not fully implemented sl@0: and unused thanks Ulrich Eckhardt. sl@0: sl@0: * _algo.h: correction of the __less_2 helper struct to remove sl@0: copy thanks Sergey Volk sl@0: sl@0: 2004-01-19 Petr Ovtchenkov sl@0: sl@0: * _debug.c: avoid recursive locks in __owner_list's mutex---equivalent sl@0: code use underlie iterators, not debug wrapper iterators. By the way this sl@0: approach faster---no excessive checks; solved by Boris Fomitchev. sl@0: sl@0: * _thread.h, _debug.h: recursive-safe mutex structure removed---not sl@0: required more; see reason just above. sl@0: sl@0: 2004-01-09 Francois Dumont sl@0: sl@0: * type_manip.h: Correction of the _IsSame struct to have both partial template sl@0: specialization version and the other behaving similarly. sl@0: sl@0: 2004-01-07 Francois Dumont sl@0: sl@0: * _deque.c: Mysterious copies of instance to store in the containers sl@0: has been removed. sl@0: sl@0: 2004-01-05 Francois Dumont sl@0: sl@0: * _list.h, _slist.h: Implementation of the pointer specialization for list sl@0: and slist. sl@0: sl@0: 2003-12-31 Petr Ovtchenkov sl@0: sl@0: * _vector.h, _vector.c, _hashtable.h: remove excess vector redefinitions sl@0: sl@0: * debug/_vector.h: pointer specialization for vector not derived sl@0: from _Vector_base, so we should avoid references on _Vector_base sl@0: class members in debug wrapper. sl@0: sl@0: 2003-12-22 Francois Dumont sl@0: sl@0: * _string.h: use _STLP_FORCE_STRING_TERMINATION flag to enforce sl@0: null-termination of data associated with string. sl@0: sl@0: 2003-12-20 Francois Dumont sl@0: sl@0: * _vector.h: Implementation of the pointer specialization for vector to sl@0: avoid code bloat. sl@0: sl@0: 2003-11-29 Francois Dumont sl@0: sl@0: * _string.h: Implementation of the short string optimization. sl@0: basic_string have now a short static buffer to avoid call sl@0: to the allocator when the string is short. sl@0: sl@0: 2003-11-29 Petr Ovtchenkov sl@0: sl@0: * cwchar, _config.h, _cwchar.h, _stdio_file.h, c_locale.h: sl@0: support for OpenBSD, gcc 3.3.1 sl@0: sl@0: * src/explore/Makefiles/gmake/...: support for OpenBSD, gcc 3.3.1 sl@0: sl@0: 2003-11-17 Francois Dumont sl@0: sl@0: * _alloc.h: Move of the definition of _Alloc_Traits before inclusion sl@0: of _pthread_alloc.h; thanks Diego Klabjan sl@0: sl@0: 2003-11-16 Petr Ovtchenkov sl@0: sl@0: * _algobase.h, _algo.c: iter_swap and __insertion_sort don't sl@0: properly deduce value type of iterator, instead uses dereference's sl@0: return type; this occur when dereference return some proxy object, sl@0: convertible into value type. sl@0: Thanks Przemek Kuczmierczyk for report, test sl@0: and solution. sl@0: sl@0: * iterswp0.cpp, iterswp1.cpp, iterswp.cpp, stl_test.cpp, sl@0: stl_test.h, Makefile.inc (test/regression): move iterswp0_test, sl@0: iterswp1_test into iterswp.cpp, add new tests for properly deduce sl@0: value type of iterator, when dereference return some proxy object. sl@0: sl@0: 2003-11-15 Francois Dumont sl@0: sl@0: * _string.h: implementation of the expression template for string sl@0: addition with other string or C string or char. sl@0: sl@0: * _ostream.h: adoption of the classic (even if not clear in sl@0: the standard) ouput for short and int negative values in hexa sl@0: or octo bases that is display according its size for the compiler. sl@0: thanks Tanaka. sl@0: sl@0: 2003-11-14 Petr Ovtchenkov sl@0: sl@0: * src/c_locale.c, src/c_locale_glibc/c_locale_glibc2.c: step to sl@0: real locales support with glibc >= 2.2.x sl@0: sl@0: * src/c_locale_glibc/c_locale_glibc.c: bit fixes for locales sl@0: support with glibc < 1.90, and, possible, 1.90 <= glibc < 2.1; sl@0: we can't support this old code, so file sl@0: src/c_locale_glibc/c_locale_glibc.c is obsolete, and will be sl@0: removed. sl@0: sl@0: * src/explore, test/regression/explore: exprimental make system. sl@0: sl@0: 2003-11-13 Petr Ovtchenkov sl@0: sl@0: * STLport (repository): current development moved to CVS HEAD stream. sl@0: sl@0: * STLport (repository): current development stream marked as STLport 5.0. sl@0: sl@0: 2003-11-02 Francois Dumont sl@0: sl@0: * _limits.c: Correction of the quiet and signaling NaN that was inverted sl@0: for several platform; thanks Alexey Sarytchev. sl@0: sl@0: 2003-11-01 Francois Dumont sl@0: sl@0: * _string.c: judicious correction for string::find_first_not_of to sl@0: improve performance; thanks Stephen Cleary. sl@0: sl@0: * _bitset.h: integration of a workaround for up to MSVC6 compilers sl@0: for the bitset input and output operators; thanks Jesse Booher. sl@0: sl@0: * _ostream.h, _istream.h: fix of a non-standard behavior of the seekp sl@0: and seekg calls and conformance to the latest 2003 standard; thanks Tanaka. sl@0: sl@0: 2003-10-26 Francois Dumont sl@0: sl@0: * _monetary.c: fix an other memory overrun on monetary display; sl@0: thanks Tanaka. sl@0: sl@0: 2003-10-26 Petr Ovtchenkov sl@0: sl@0: * ioiter.cpp, gcc.mak, stl_test.h, stl_test.cpp, stl_test.exp sl@0: (test/regression): tests for postfix increment operator and sl@0: indirection of istreambuf_iterator. sl@0: sl@0: 2003-10-25 Petr Ovtchenkov sl@0: sl@0: * _istreambuf_iterator.h: fix postfix increment operator sl@0: of istreambuf_iterator to provide conformance with sl@0: ISO/IEC 14882:1998(E), 24.1.1, p.511, i.e. sl@0: *r++ equivalent to { T tmp = *r; ++r; return tmp; }. sl@0: Thanks Tanaka for the report. sl@0: sl@0: 2003-10-23 Francois Dumont sl@0: sl@0: * debug/: modification of the invalidation of iterators to avoid sl@0: invalidation of the end iterator for the associative containers, sl@0: hashed containers and list on calls to clear/assign/assignment sl@0: operator. (thanks Alexey Sarytchev) sl@0: sl@0: * _rope.h: Correction of the rope::iterator and rope::const_iterator sl@0: copy constructor and assignment operator (thanks Bradley Grainger) sl@0: sl@0: 2003-10-16 Francois Dumont sl@0: sl@0: * _alloc.h: Add of the throw() specification on allocator comparision. sl@0: sl@0: * _iterator.h: Correction of the operator++(int) signature to conform sl@0: to the standard. sl@0: sl@0: * _ctype.h: tolower and toupper for wchar_t types. sl@0: sl@0: * _valarray.h: gslice_array::operator = (const value_type&) not sl@0: const anymore sl@0: sl@0: * _valarray.h: slice_array idem sl@0: sl@0: * _valarray.h: valarray operator [](const gslice&) former version sl@0: was taking a copy of gslice sl@0: sl@0: * _codecvt.h: correction of the default codecvt class definition and sl@0: correction of the out method sl@0: sl@0: (all thanks Richard Peng) sl@0: sl@0: 2003-10-16 Francois Dumont sl@0: sl@0: * debug/: add of the iterator range check on all container constructors. sl@0: sl@0: * _string.h: correction of a bug on string auto referencing throught sl@0: some method like insert and replace. (thanks Tanaka) sl@0: sl@0: * _valarray.h: correction of the missing slice_array copy constructor sl@0: and assignment operator in the private section (thanks Tanaka) sl@0: sl@0: 2003-10-11 Petr Ovtchenkov sl@0: sl@0: * _sstream.c: [io]?stringstream must do equivalent of seek at end, sl@0: after opened with ios_base::ate; this behaviour useful only when buffer sl@0: initialized by string; thanks Tanaka for the report. sl@0: sl@0: 2003-10-06 Francois Dumont sl@0: sl@0: * _istreambuf_iterator.h, _ostreambuf_iterator.h: correction sl@0: of the missing iterator base class (Thanks Tanaka) sl@0: sl@0: 2003-10-05 Francois Dumont sl@0: sl@0: * _string.h: correction of the replace implementation badling form sl@0: for self referencing sl@0: sl@0: * _string.h, _string.c: Modification of the _M_copy method sl@0: to _M_move as basic_string do not correctly handled self referecing; sl@0: thanks Tanaka sl@0: sl@0: 2003-09-25 Francois Dumont sl@0: sl@0: * como 4.3.0 on linux support (thanks Synge Todo and Karel Gardas) sl@0: sl@0: * Quazy-leak patch: make memory detection tools happier, sl@0: option _STLP_LEAKS_PEDANTIC in _site_config.h. (thanks Petr Ovtchenkov) sl@0: sl@0: 2003-09-19 Francois Dumont sl@0: sl@0: * Support of the Linux Intel C++ support (thanks Blaine Kubesh) sl@0: sl@0: * FreeBSD support update (thanks Guy Middleton). sl@0: sl@0: ---- sl@0: sl@0: * codecvt.cpp: charcode correction in the do_in method (thanks J Hamilton report) sl@0: sl@0: ---- sl@0: sl@0: * _valarray.h: Correction of the missing explicit keyword in front of one of the valarray constructors sl@0: (thanks Stephen Clamage) sl@0: sl@0: ---- sl@0: 2003-08-10 Francois Dumont sl@0: sl@0: * stdexcept: Correction of the mysterious 50 messages from VC7.Net (thanks Krish S) sl@0: sl@0: ---- sl@0: sl@0: * _vector.h: implementation of the max_size method based on the allocator::max_size method sl@0: (thanks Gennaro Prota from the boost forum). sl@0: sl@0: ---- sl@0: sl@0: * _vector.c: add of the standard length_error exception to the reserve method (thanks Steven Youngs). sl@0: sl@0: ---- sl@0: sl@0: * _alloc.h: add of a check of the number of element require to allocator::allocate to avoid a possible sl@0: size_type overflow (thanks Steven Youngs). sl@0: sl@0: ---- sl@0: sl@0: * _istream.h: move of the ws implementation within the header to avoid undefined symbol sl@0: under NO_CUSTOM_IO mode (thanks Ulrich Eckhardt) sl@0: sl@0: ---- sl@0: sl@0: * ctype.cpp : charcode correction (thanks Markus Stier reports and Alberto Barbati correction) sl@0: sl@0: ---- sl@0: sl@0: * _function.h : all function can now be used in a non-const world (thanks Alexey Kirjushkin) sl@0: sl@0: ---- sl@0: sl@0: * move constructor framework integration (thanks Francois Dumont) sl@0: sl@0: ---- sl@0: sl@0: * containers interface correction for standard compliance when using explicit sl@0: intanciation of not default constructible type. (thanks Alexei Agafonov report) sl@0: sl@0: ---- sl@0: sl@0: * iostream.cpp, locale_impl.cpp : static initialization made robust for case of sl@0: dynamic loader circular dependancies (Thanks Alexey Sarytchev for the report) sl@0: sl@0: ---- sl@0: sl@0: * _function.h : integration of a new workaround for mem_fun_* family sl@0: for compiler having return void bug (Thanks Pavel Kuznetsov). sl@0: sl@0: * stl_solaris.h : v8plus compilation fix (Thanks Mukesh Kapoor) sl@0: sl@0: * num_put_float.cpp : FreeBSD fix sl@0: sl@0: * _construct.h : fixed case for compilers with default integer sl@0: constructor bug sl@0: sl@0: --- sl@0: sl@0: * fstream.cpp : text file stream position bug correction (thanks Christopher Kohlert) sl@0: sl@0: --- sl@0: sl@0: * _num_put.c : Correction of the display of the min 64 bits signed integer values sl@0: like numeric_limits<__int64>::min() on WIN32 for instance (thanks Anders Dalvander) sl@0: sl@0: --- sl@0: * _num_put.c : Add of the '+' sign when requested for the unsigned integer display sl@0: (thanks Francois Dumont) sl@0: sl@0: --- sl@0: sl@0: * debug : many missing iterator invalidation corrected (thanks Detlev V.Davidson and Francois Dumont) sl@0: sl@0: --- sl@0: sl@0: * _new.h : introduction of a new config compiler switch for those which do define sl@0: bad_alloc but that do not throw it! (thanks ?) sl@0: --- sl@0: * _new.h : class nothrow_t changed to struct nothrow_t (Thanks Francois Dumont) sl@0: --- sl@0: * _bvector.h : Addition of the |= and &= operator on the _Bit_reference struct (thanks Ed Rice) sl@0: --- sl@0: * Performance bug in type_traits.h fixed (Thanks Francois Dumont) sl@0: --- sl@0: * Added Linux spin lock code () sl@0: --- sl@0: * Added GCC-3.x configurations sl@0: sl@0: * Fixed HP aCC support sl@0: sl@0: * Added OpenWatcom support sl@0: sl@0: * version numbers bumped sl@0: sl@0: * iostreams ported to EMX (gcc on OS/2) (Thanks Martin Schaffoener) sl@0: sl@0: * iostreams ported to CRAY Unicos C90, T90, and J90 (Thanks Geir Johansen) sl@0: sl@0: * stl_sunpro.h : fixed mbstate definition for SUN 4.2 (thanks lengzq) sl@0: sl@0: * complex.cpp, _complex.h : template<> used for specializations sl@0: sl@0: * _num_put.c : unused locale variable removed (thanks Petr Ovtchenkov) sl@0: sl@0: * _algo.h : __reverse beautified (thanks Kabanov) sl@0: sl@0: * dll_main.cpp : force_link() forced to be linked in sl@0: sl@0: * stl_msvc.h : config changes for .NET sl@0: sl@0: * _auto_ptr.h : "struct" changed to "class" sl@0: sl@0: * _istream.c : M_read_unbuffered fixed (thanks Stefan Schwarzer ) sl@0: sl@0: * stl_gcc.h : added missing inclusion for SCO platform (thanks Emmanuel Soden) sl@0: sl@0: * _tree.c : optimized insert_unique (thanks Timothy) sl@0: sl@0: * _algo.c : relaxed type requirements for lower_bound, upper_bound, binary_search sl@0: sl@0: * _algo.h : adjacent_find() expressed with compare-function flavour sl@0: sl@0: * cpp_runtime/typeinfo : made adjustments for .NET (Thanks Daniel) sl@0: sl@0: * cstd/cassert : guard removed (thanks Evan Cheng) sl@0: sl@0: The following changes were made in 4.5.3 since 4.5.1 release: sl@0: sl@0: * iostreams ported to Windows CE (thanks Andrew Waters) sl@0: sl@0: * iostreams ported to AmigaOS (thanks Steven Solie) sl@0: sl@0: * iostreams ported to NCR 3.x (thanks Emmanuel Soden) sl@0: sl@0: * _hash_map::operator[] : enhanced to avoid calling default object constructor sl@0: (Thanks Yuri Taranenko for the report) sl@0: sl@0: * Identifier "__value" changed everywhere to "__val" to avoid clashes with Microsoft's "managed C++" keyword (thanks Crow for the report) sl@0: sl@0: * Most containers : swap() fixed to swap non-stateless allocators correctly (thanks Scott Meyers) sl@0: sl@0: * _sstream : fix to account for ios_base::app flag properly sl@0: sl@0: * type_traits.h : _IsOKToMemCpy() fixed to only allow memcpy() for same type arguments (thanks Ed Brey for the report) sl@0: sl@0: * stl/_num_put.c, stl/_list.c : workarounds for Debian gcc (thanks Levente Farkas) sl@0: sl@0: * : fixed MS workaround (thanks Wil Evers, Andrew Ushakov) sl@0: sl@0: * _pthread_alloc.h : added per_thread_allocator class; returns memory to the same thread it's been allocated in. sl@0: sl@0: * _iterator_old.h : restored ->() operator for MSVC (thanks Daniel Anderson) sl@0: sl@0: * a bunch of MPW fixes (thanks Tsutomu Yoshida) sl@0: sl@0: * _config_compat.h : fixed compatibility definition for _STLP_NO_EXCEPTIONS (thanks Nicolas) sl@0: sl@0: * _fstream.c : fixed bug in _M_seek_init (thanks Pavel Kuznetsov) sl@0: sl@0: * _rope.h : rope<>::swap() methods fixed for non-partial ordering case (thanks Eric Musser) sl@0: sl@0: * comlex_trig.cpp : fixed bug on SGI (thanks Mortis) sl@0: sl@0: * A bunch of fixes for HP aCC compilation with -AA option (thanks John Bossom) sl@0: sl@0: * *.c files : added conditional inclusion of corresponding *.h file to fix xlC issues with -tempinc option (thanks Alla Bogolyubov for the report) sl@0: sl@0: * _auto_ptr.h : "struct" changed to "class" (thanks Alex Pinsker for the report) sl@0: sl@0: * _config.h/stl_user_config.h : handling of macro _STLP_WHOLE_VENDOR_STD rectified sl@0: sl@0: * _num_put.c : do_put(const void*) changed to output pointers in hex format (thanks Alex Rosenberg) sl@0: sl@0: * test/eh/test_algobase.cpp : fixed alignment to work on 64-bit architectures sl@0: sl@0: The following changes were made in 4.5.1 beta 1 since 4.5 release: sl@0: sl@0: * _config.h, _epilog.h : new namespace inclusion schema implemented for own iostreams mode sl@0: (no std:: redefinition; _STL:: namespace imported into std::, instead of std:: imported to _STL. sl@0: C library header files wrappers become obsolete if this mode is used and no own namespace is selected. sl@0: They will be moved out to distinct directory in the next release, and default is going to be no own namespace sl@0: with own iostreams.) sl@0: For some compilers (VC6), this only works with _STLP_NO_OWN_NAMESPACE and _STLP_OWN_IOSTREAMS settings. sl@0: sl@0: * iostreams ported to SCO OpenServer (thanks Emmanuel Soden) sl@0: sl@0: * sparc_atomic.s : added "stbar" to fix multiprocessor crashes on SPARC sl@0: sl@0: * dll_main.cpp : forced link of Bs_G static data members (thanks Sandy Martel). Function wrapped in STLport namespace. sl@0: sl@0: * _alloc.c : fixed _STLP_CHUNK_MALLOC for debug malloc configuration (thanks Markus Sch pflin) sl@0: sl@0: * _config_compat.h : fixed compatibility section for _STLP_NO_OWN_IOSTREAMS sl@0: sl@0: * fstram.cpp , vc6.unicode.mak : fixed bug in wide streams handling for VC6 (thanks Jim Dolter) sl@0: sl@0: * etc/*.txt : files list broken up into several categories for future reorganization sl@0: sl@0: * stl_msvc.h : fixed library selection for .NET (Thanks Franz Zetting) sl@0: sl@0: * _ftsream.h, iostream.cpp : fixed compilation for _STLP_NO_EXTENSIONS case (thanks Ben Dorman for the report) sl@0: sl@0: * char_traits.h : fpos<> operators == made members (thanks Thomas Witt) sl@0: sl@0: * _threads.h : added using directive for Solaris x86 compile (thanks Mukesh Kapoor) sl@0: sl@0: * _threads.h : fixed InterlockedXXX definitions for VC++ 6.0 SP5 (thanks AndreasM) sl@0: sl@0: * gcc-install-apple-macosx.mak : INSTALL_STEP set to install_unix (Thanks Tron Thomas) sl@0: sl@0: * common.mak : default install directory for Unix set to /usr/local sl@0: sl@0: * _string.h : _M_null expressed via _STLP_DEFAULT_CONSTRUCTED (Thanks Anthony) sl@0: sl@0: * _site_config.h : made sure _STLP_NO_THREADS are set if _NOTHREADS is on (Thanks Jeppe Madsen) sl@0: sl@0: * _config.h : _STLP_WIN32THREADS is set (bugfix) ( thanks to Andreas Malzahn ) sl@0: sl@0: * _num_put.c, common_rules.mak : patches by Levente Farkas sl@0: sl@0: * etc/STLport-4.5.1.spec : spec file to build STLport-4.5.1 RPM added (thanks Levente Farkas) sl@0: sl@0: * _auto_ptr.h , _debug.c, _debug.h : debug check for auto_ptr pointer added (thanks Gerd Hoeren for the idea) sl@0: sl@0: * debug/_vector.h : invalidation for erase() corrected not to invalidate current iterator (Thanks ALberto Barbati) sl@0: sl@0: * stl_bc.h : restored automatic library link directive for cases when STLport is not a native library sl@0: sl@0: sl@0: * _auto_ptr.h : template constructor conversion bug fixed (thanks mbergal) sl@0: sl@0: * MIngw32 patches integrated (thanks Wu Yongwei) sl@0: sl@0: * src/complex_impl.h : case for DEC CXX changed to general, instead of extension functions for float and long double, to get it compliled with CC 6.1 (thanks Tony McConnell) sl@0: sl@0: * dll_main.cpp : added __malloc_alloc instantiation (thanks Michael Ehrig) sl@0: sl@0: * _debug.c : fixed race condition in _M_detach (thanks Achim Stremplat) sl@0: sl@0: * test/*/hpacc.mak : fixed flags and libs (thanks Michael Ehrig) sl@0: sl@0: * typeinfo : added fix for MS VC ::bad_cast confusion (thanks Alberto Barbati) sl@0: sl@0: * debug/_vector.h : removed extra guard for MSCV around member template constructor (thanks Alberto Barbati) sl@0: sl@0: * _fstream.h : added extension basic_fstream<> constructors taking protection parameter (thanks Mukesh Kapoor for the idea) sl@0: sl@0: * stl_sunpro.h : added additional C include directory choice for Solaris 6&7 (thanks John E. Bossom) sl@0: sl@0: * _vector.c : added _vector.h inclusion for _STLP_LINK_TIME_INSTANTIATION case (thanks Alex Vanic) sl@0: sl@0: sl@0: * _num_put.c : fixed overflow case with grouping (thanks Will Evers) sl@0: sl@0: * _istreambuf_iterator.h : fixed distance_type return type (thanks Anthony Williams) sl@0: sl@0: * debug/_vector.h : debug version of push_back() added (thanks) sl@0: sl@0: * Iostreams ported to LynxOS 3.0 (thanks Dmitry Azovtsev) sl@0: sl@0: * wrappers/*.h : added inclusions of the master header to fix xlC 3.x compile (Thanks Dmitry Azovtsev) sl@0: sl@0: * Changes for BCB6 integration (thanks Nathan York) sl@0: sl@0: * Removed all dead code blocks marked by #if OBSOLETE and #if 0 sl@0: sl@0: * Updates build spec file for Linux rpm (thanks Levene Farkas, Harold van Oostrom) sl@0: sl@0: * complex_trig.cpp : limits changed to be static, for performance optimization (thanks Sergei Nikolaev) sl@0: sl@0: * _algo.c : eliminated default-constructed iterators, to lift unnecessary restriction (thanks Tonci Tomic ) sl@0: sl@0: * _vector.h : fixed bug in assign() : copy used instead of __copy_aux (Thanks Tim Finer) sl@0: sl@0: * stl_sunpro.h : restored _STLP_HAS_NO_NEW_C_HEADERS switch for SUN CC 4.2 sl@0: sl@0: * : __stl_new definition put into the namespace (thanks Satoshi Nakamura) sl@0: sl@0: * bcb*.mak : fixed md command and DYN_LINK (thanks Kirby Zhou) sl@0: sl@0: * stl_user_config.h : added _STLP_USE_CUSTOM_CHAR_TYPES_IO switch to optimize iostreams for default case sl@0: sl@0: * debug/_vector.h : fixed debug check bug (thanks Gerd Hoeren) sl@0: sl@0: * _alloc.h : allocator::construct uses std::_Construct (thanks Gert Grossmann) sl@0: sl@0: * stl/_alloc_old.h : restored (thanks Gert Grossmann) sl@0: sl@0: * stl/_threads.h : fixed _STLP_ATOMIC_xxx macros for DEC (thanks Gert Grossman) sl@0: sl@0: * src/_locale_impl.cpp : added missing guards for codecvt<> in _STLP_NO_MBSTATE_T case sl@0: sl@0: sl@0: The following changes were made in 4.5 release since 4.5 beta 8 : sl@0: sl@0: * _threads.h, debug/_debug.h etc : STLport iostreams library made binary compatible with user code compiler w/o multithreaded switch, for some platforms sl@0: sl@0: * config/stl_msvc.h, : corrected _STLP_NO_USING_FOR_GLOBAL_FUNCTIONS for VC++ 6.0 SP5 sl@0: (Thanks Alberto Barbati) sl@0: sl@0: * src/vc6.mak : RC macro definition restored (Thanks Graham) sl@0: sl@0: * stl/_cmath.h, : parts of code moved to as uses it (Thanks Synge Todo) sl@0: sl@0: * stl/_tree.c : fixed insert_unique() with a hint bug (Thanks Serge Pashkov) sl@0: sl@0: * src/gcc-*.mak : removed -nostdinc++ option sl@0: sl@0: * stl_solaris.h : definition of _STLP_SUNPRO_EXCLUDE made dependant on _XOPEN macro instead of SUN CC macros (Thanks ecohen for the report) sl@0: sl@0: * fstream.cpp : mmap_chunk made to be 1M instead of 16M as was originally intended (thanks Alexey Starikovskiy) sl@0: * stl_sunpro.h : _STLP_LIMITED_DEFAULT_TEMPLATES not defined for compat mode anymore ( thanks Michael Kopp) sl@0: * dll_main.cpp : added instantiation for _Swap_lock_struct<> (thanks simonb) sl@0: sl@0: * _ostream.c : fixed formatting bug for width()==1 sl@0: sl@0: * config/_epilog.h : added option pop section for Borland. sl@0: sl@0: * stl/_threads.h : fixed InterlockedXXX declarations for MS .NET (thanks Piers Haken) sl@0: sl@0: * vc7.mak makefile added for MS VC++ 7.0 (.NET) sl@0: sl@0: * fixed _STLP_ITERATOR_CATEGORY, etc. for Mwerks CodeWarrior 5.0 sl@0: sl@0: * stl/_num_put.c : fixed operator<<(void*) to use _STLP_LONG_LONG where available. sl@0: sl@0: * _STLP_WHOLE_VENDOR_STD option is back supported (Thanks anton ephanov for the input) sl@0: sl@0: * _cmath.h : added guard to mask additional overloads (thanks Tim Smith) sl@0: sl@0: * stl_solaris.h : mbstate_t stuff defined here, old-style C headers used (Thanks Mukesh Kapoor) sl@0: sl@0: * type_traits.h : __default_constructed() inlined (Thanks Matt Davies) sl@0: sl@0: * new.h : fix for gcc-3.0 to look in backward directory (Thanks Ken) sl@0: sl@0: * stlport/using/h/streambuf.h added (Thanks Gennadiy) sl@0: sl@0: * A bunch of changes for Borland static and DLL compile (Thanks Nathan York) sl@0: sl@0: * stl/_algo.c : fixed find_end() bug (Thanks Alberto Barbati) sl@0: sl@0: * stl/_queue.h : priority_queue<>::_comp renamed to "comp" as standard states (thanks Todd Greer) sl@0: sl@0: * _limits.c : added correct data member representations for AS400 and Alpha machines (thanks Holger Stash) sl@0: sl@0: * _vector.h : added check to avoid calling allocator<>::deallocate(0) (thanks Stephen Cleary) sl@0: sl@0: * config/_prolog.h, config/_epilog.h : added push/pop pack(8) pragmas for MSVC (thanks Todd Greer, Alberto Barbati) sl@0: sl@0: * gcc.mak's : default spelling for "-pthreads" option changed to "-pthread" as more platforms use that. sl@0: sl@0: sl@0: The following changes were made in 4.5 beta 8 since 4.5 beta 7 : sl@0: sl@0: * stl/_fstream.c : _M_underflow bug fix for custom codecvt facets (thanks Alberto Barbati) sl@0: sl@0: * bcc55.mak : c_locale.c added to the link command (thanks Steve Loves) sl@0: sl@0: * _iterator_base.h & many other places : iterator tags are being accepted by const reference sl@0: instead of value, to fix segmentation faults experienced on certain platforms with beta7. sl@0: That also should improve efficiency on same platforms (apparently, empty unreferenced sl@0: objects with no constructors/destructors were copied on the stack when passed by value). sl@0: Accompanied change eliminates hardcoded deference hack used in previous beta. sl@0: Thanks everybody who reported this. sl@0: sl@0: * stl_user_config.h : added _STLP_GCC_USES_GNU_LD switch. This is for those platforms sl@0: where native linker does not let gcc to implement automatic instantiation of static sl@0: template data members (Tru64, AIX, HP-UX). sl@0: It is being put in this file as there is no automatic way to check if we are using GNU ld or not. sl@0: sl@0: * _range_erors.h : depandancy on and removed for own iostreams mode sl@0: (thanks Doug Gilbert) sl@0: sl@0: * debug/_list.h : "typename" added in new methods (thanks Doug Gilbert) sl@0: sl@0: * _config.h, src/common_macros.mak : beta version number bumped sl@0: sl@0: * src/ftream.cpp, c_locale_win32.c : fixes for UNICODE compilation (thanks Valo) sl@0: sl@0: * stl_gcc.h, etc : changes for GCC support on Tru64 (thanks Tobias Ernst) sl@0: sl@0: * _alloc.c : for MS VC, malloc_dbg only used when _STLP_DEBUG_ALLOC is set, not for all debug configs sl@0: (Thanks Anton Ephanov) sl@0: sl@0: * test/eh/gcc.mak : directories stuff fixed (Thanks Brodie) sl@0: sl@0: * stl/_complex.h : fixed declarations for long double specializations (Thanks Tsutomu Yoshida) sl@0: sl@0: * locale_byname.cpp, etc. : fixes for Apple compilers by Tsutomu Yoshida. sl@0: sl@0: * _ios_base.h : __evenk id changed not to clash with MS VC++ 7 (thanks Paul Ghezzi) sl@0: sl@0: * _fstream.c : added basic_filebuf constructor workaround for compiler which do not initialize builtins sl@0: to zero when default constructed (thanks Alberto Barbati) sl@0: sl@0: * _locale.h : relaxed guerd around templated locale constructor (thanks Alberto Barbati) sl@0: sl@0: * stl_mwerks.h : changes to accomodate CodeWarrior 6.2 (thanks cprosser) sl@0: sl@0: * stl/_cmath.h : extracted from for better decoupling sl@0: sl@0: * stl/_std_prolog.h, stl/_std_epilog.h : hooks for future alternative namespace inclusion style. sl@0: sl@0: * config/stl_gcc.h : gcc-3.0 now supported sl@0: sl@0: * src/gcc-beos.h : only static library is being built (dynamic stil don't work) (thanks John Maddock) sl@0: sl@0: * using/iostream : included using/istream and using/ostream sl@0: sl@0: * dll_main.cpp : force_link() fix to prevent numeric_limits static members and sl@0: _M_increment/decrement from _tree.c from being optimized out by VC++ sl@0: (thanks Sofus Mortensen, Alberto Barbati ) sl@0: sl@0: * _alloc.c : added CHECK_NULL_ALLOC for _STLP_CHUNK_ALLOC with malloc, to throw exception if malloc returns 0 (thanks ghunt) sl@0: sl@0: * stl_bc.h, : fixed Borland C++ import of unexpected handler stuff sl@0: sl@0: * stl_ibm.h, etc. : fixes for IBM VisualAge 5.02 to compile sl@0: sl@0: * type_traits.h : bool2type<> changed to be parameterized on int, to work around SUN CC bugs (probably others, too) sl@0: sl@0: The following changes were made in 4.5 beta 7 since 4.1 beta 6 : sl@0: sl@0: * sparc_atomic.s : file missing from the distribution restored sl@0: sl@0: * etc/ subdirectory created; miscellanous files moved there sl@0: sl@0: * STLport ported to BeOs, complete with iostreams (thanks John Maddock) sl@0: sl@0: * Macro _STLP_NO_SGI_IOSTREAMS renamed to _STLP_NO_OWN_IOSTREAMS, old references to SGI removed; sl@0: sl@0: * "prepare" target added to all makefiles in src/; should be run before using STLport; sl@0: on most platforms it's empty, on some of them it creates necessary symbolic links, etc. sl@0: sl@0: * stl/_deque.h : deque<>::erase bug (introduced in 4.1b4) fixed (thanks to BruceFlorman) sl@0: : default parameter in constructor bug fixed (Thanks to Alex Vanic) sl@0: sl@0: * stl_msvc.h : explicit template function agruments enabled for VC++; sl@0: sl@0: * stl_wince.h : added inclusion sl@0: sl@0: * stl/_limits.h : numeric_limits::digits changed from 0 to 1 (Thanks Mukesh Kapoor) sl@0: sl@0: * stl/_function_base.h : added __identity_element() (extension name), _numeric.h : this one used instead of identity_element() (Thanks Hafeez) sl@0: sl@0: * stl_msvc.h : explicit template function agruments enabled for VC++; sl@0: sl@0: use_facet<> now fully conforms to the standard with VC++. (Thanks Jeff Kohn for the input) sl@0: sl@0: * fstream.cpp : LARGE_INTEGER used to work around Intel shift instruction bug (thanks Thomas Meischner) sl@0: * fstream.cpp : ULL macro fixed for Win32 sl@0: * fstream.cpp : Added test for for INVALID_HANDLE_VALUE and NULL base and _M_view_id, sl@0: for _M_close on Win32 (Thanks Stephen Baker) sl@0: * fstream.cpp : Fixed corner case with mmap() on EOF (Thanks Jens Maurer) sl@0: sl@0: * _istream.c : fixed _M_read_buffered sssso that it does not skip delimiters (Thanks Gerd Hoeren) sl@0: sl@0: * stl/_string.h : operator __std_string() uses constructor with a size to correctly initialize string containing null chars (Thanks Armin) sl@0: sl@0: * iomanip : added operator for setfill object and istream (was ostream only) (Thanks Mukesh Kapoor) sl@0: sl@0: * stl/_locale.h , stl_intel.h : fixes for Intel 5.0 compiler (Thanks Anton and Marcello Pietrobon) sl@0: sl@0: * stl_solaris.h : added _STLP_NO_NATIVE_WIDE_FUNCTIONS sl@0: sl@0: * New makefiles added for Intel C++ 5.0 and VC++ 6.0 in src/, test/eh, test/regression (Thanks to Marcello Pietrobon) sl@0: sl@0: * _STLP_NO_LONG_DOUBLE case handled for STLport iostreams as well (thanks John Daniel) sl@0: sl@0: * SUN CC compiler template cache is being properly cleaned up (Thanks Whitney Kew) sl@0: sl@0: * dll_main.cpp : added extern "C" around DllMain() (Thanks Danny Smith) sl@0: sl@0: * type_traits.h : added bool parameter to shut up warnings on some compilers (Thanks glassman) sl@0: sl@0: * stl/_rope.h/.c, src/mrcpp.mak, src/mrc.mak, stl/_tree.h : MPW & MRC fixes by Tsutomu Yoshida sl@0: sl@0: * stl_gcc.h : added path for et al for gcc-2.95.3 on FreeBSD (Thanks to sl@0: sl@0: * _tree.h /_tree.c : pointers used as return values instead of iterators for implementation sl@0: functions, for efficiency. sl@0: sl@0: * _algo.h/.c : added leading underscrore to some symbols (Thanks to Ed James-Beckerman for the report) sl@0: sl@0: * dll_main.cpp : fixed nothrow object initialization (Thanks to Dan Ingold) sl@0: sl@0: * beta suffix in common_macros.mak updated (thanks to Whitney Kew) sl@0: sl@0: * c_locale_win32.c : incomple fix for locale completed (thanks to Alberto Barbati) sl@0: sl@0: * c_locale.h : _Locale_ALPHA definition for VC++ and mingw32 fixed (thanks Danny Smith) sl@0: sl@0: * _threads.h : fixed _DECTHREADS block to work on both DEC and HP sl@0: sl@0: * _hash_set.h : fixed typo in MSVC++ bug workaround ( Thanks to Jon_Hanson for the report) sl@0: sl@0: * stlport/strstream.h : fixed inclusion for MSVC 6 (Thanks Joachim Achtzehnter) sl@0: sl@0: * _config.h : _STLP_RETHROW changed to avoid warnings with NO_EXCEPTIONS (thanks Richmond) sl@0: sl@0: * _hashtable.c : prime list definition made consistent (thanks Rainer Schnitker) sl@0: sl@0: * stl_hpacc.h : _STLP_FORCE_ALLOCATORS workaround used for Version 3.15 also (thanks Rainer Schnitker) sl@0: sl@0: * stl/_string_io.c : fixed using directive in operator >>() (thanks Rainer Schnitker) sl@0: sl@0: * debug/_deque.h : a check in erase() fixed (thanks Andreas Malzahn) sl@0: sl@0: * debug/_list.h : added remove() to do iterator invalidation; range erase() fixed to do invalidation sl@0: sl@0: * stl_watcom.h : added switches; disabled own iosterams by default; sl@0: enabled ->() operator for iterators (thanks Steven Green) sl@0: sl@0: * : added throw spec for what(); stl_sgi.h : made _STLP_NO_EXCEPTIONS depend on __EXCEPTIONS macro (Thanks Anton Ephanov) sl@0: sl@0: * _string_io.c : operator << : fixed width() interpretation bug sl@0: sl@0: * stl_hpacc.h/cmath : fixed HP aCC settings for -AA option (thanks Doug Gilbert) sl@0: sl@0: sl@0: sl@0: The following changes were made in 4.1 beta 6 since 4.1 beta 5 : sl@0: sl@0: * _istream.h, _ostream.h, _ios.h, _fstream.h : guard macros fixed to not clash with .h files in "stlport" directory sl@0: Also all uses of those macros fixed. (thanks to Gerd Hoeren for the report) sl@0: sl@0: * _debug.c/_debug.h : fixed swap() for rb_tree and list (thanks to Gerd Hoeren for the report) sl@0: swap() changed not to invalidate any iterators, as prescribed by the standard sl@0: sl@0: * forced _REENTRANT to be defined when compiling with STLport iostreams and _STLP_DEBUG sl@0: (without _STLP_DEBUG it seems to be binary compatible even without that) sl@0: sl@0: * facets_byname.cpp source introduced to replace all xx_byname.cpp files; sl@0: restored separate facets .cpp complilation (they used to be included in locale_impl.cpp) sl@0: sl@0: * introduced _STLP_USE_PERTHREAD_ALLOC to optionally use per-thread allocator sl@0: (_Pthread_alloc from _pthread_alloc.h) as the deafult node allocator. Only works with pthreads for now. sl@0: sl@0: * Switches _STLP_DONT_REDEFINE_STD and _STLP_WHOLE_VENOR_STD are back (thanks to Anton Ephanov for the report) sl@0: sl@0: * _vector.h : fixed bug in template version of insert (Thanks to Yotam Medini for the report) sl@0: sl@0: * monetary.cpp : unneded hack for cygwin removed (thanks to Dean Sturtevant) sl@0: sl@0: * : fixed _STLP_OUTERMOST_HEADER_ID macro sl@0: sl@0: * cin/cout/cerr redefined if no namespaces and SGI iostreams are used, for all compilers, just in case. sl@0: * _sparc_atomic.h : fixed and improved atomic ops for gcc sl@0: sl@0: * test/regression : non-backward-compatible old-style __STL_xx macros use changed to _STLP_xx sl@0: sl@0: * config/st_gcc.h : disabled non-standard "extern" use for non-DLL templates sl@0: sl@0: * mingw32 - used 'windows.h replacement' section in _threads.h (thanks to Danny Smith) sl@0: sl@0: * locale Win32 bug fixed (thanks to Alberto Balbarti) sl@0: sl@0: * mingw32 : _STLP_CONST_INIT_BUG defined for dll (thanks to Danny Smith) sl@0: sl@0: * "make clean" glitches fixed (thanks to Whitney Kew for the report) sl@0: sl@0: * _fstream.c : fixed codecvt bug for variable width encoding sl@0: sl@0: * _STLP_ABORT macro introduced to avoid clashes with third-party sw redefining abort() (thanks to Jerry) sl@0: sl@0: * c_locale_win32 : fixed parse bug in __ParseLocaleString (thanks to Danny Smith) sl@0: sl@0: * extra declspecs removed from templates to fix VC++ 7.0 ; only concrete classes have specifiers (thanks to Holger Stasch for the report) sl@0: sl@0: * stl_msvc.h, _hashtable.h/.c : fixes for IA64 compilation (thanks to Rainer Schnitker ) sl@0: sl@0: * fixed bugs in "make install" on Unix (thanks to Carlos Paniago) sl@0: sl@0: * dll_main.cpp : DisableThreadLibraryCalls used for optimization (thanks to Alberto Barbati) sl@0: sl@0: * dll_main.cpp : a dummy function added to force guts for static VC++ link (thanks to Alberto Barbati) sl@0: sl@0: * gcc-linux.mak : flags fixed (thanks to Levente Farkas ) sl@0: sl@0: * stl_msvc.h, stl_intel.h : fixed __ICL version test (thanks to Serge Pashkov) sl@0: sl@0: * versioning schema changed on Windows to have .dll extension (thanks everybody for the feedback) sl@0: sl@0: * NetBSD makefiles fixed sl@0: sl@0: * A bunch of fixes by Tsutomu Yoshida : MPW fixes plus : sl@0: * stl/_config.h : I believe the definition for _STLP_STD under debug/non-debug configurations swapped. sl@0: sl@0: * typeinfo.h : added check for _STLP_NO_NEW_HEADER for using declaration. sl@0: Otherwise three classes will not be included in the namespace std when #include . sl@0: sl@0: * _istream.c : use of bind2nd (which required _function.h inclusion) changed to use alternate functor (thanks to Sergei Nikolaev) sl@0: sl@0: * stl_msvc.h : removed erroneous _STLP_USE_TEMPLATE_EXPORT setting which caused major code bloat for native streams builds on VC++ (Thanks to Johannes Brunen for the report) sl@0: sl@0: * _string_io.c : fixed Intel C++ compilation bug in native streams mode sl@0: sl@0: * fstream.cpp : added write-sharing for fstream file handle (Thanks to Leland Best) sl@0: sl@0: * stl_gcc.h : disabled wide function imports for linux (some xx_POSIX macro should be really used; disabled for all linuxes for now). Thanks everybody for the reports. sl@0: sl@0: * KAI C++ 4.0 is now supported on SUN sl@0: sl@0: * MAC OS X compilation fixed (thanks Patrick Luby for the patch) sl@0: sl@0: * HP aCC fixes by Michael Tsirkin sl@0: sl@0: * "INF/NAN" string representation for uppercase changed to "Inf/NaN" to behave like printf() on most systems. sl@0: sl@0: * debug/_iterator.c : fixed SUN 6.0 compiler internal error sl@0: sl@0: * typeinfo.h : global scope used to import bad_cast, etc. (thanks to Val Melamed) sl@0: sl@0: * debug/_list.h : missing template versions of remove_if(), merge() added. Missing regular sort() added. sl@0: (Thanks to dgehri) sl@0: sl@0: * debug/_slist.h : missing sort() (template and regular) interface added sl@0: sl@0: * _istream.h : eliminated warning about comparison with unsigned (Thanks to Gerd Hoeren for the report) sl@0: sl@0: * template constructors for containers changed to be one version with default allocator agrument, where possible. sl@0: sl@0: * remaining _STL_ prefixes changed to _STLP_ sl@0: sl@0: * Solaris 7 compilation fixed sl@0: sl@0: * fstream.cpp : seek() allowed to seek past the end of the stream (Thanks to Phillip Toland for the input) sl@0: The following changes were made in 4.1 beta 5 since 4.1 beta 4 : sl@0: sl@0: * All internal macros changed to have prefix _STLP_ instead of __STL or __STLPORT or __SGI_STL. sl@0: That is to allow seamless wrapping on platforms that use SGI STL as native STL/iostreams. sl@0: For backward compatibility, most of user-settable __STL_xxx macros are accepted. sl@0: sl@0: * Versioning of shared libraries made UNIX-compliant sl@0: sl@0: sl@0: * Some temporary lifetime problems in SGI iostreams which may introduce memory corruption, fixed. sl@0: sl@0: * : fixed memory leak bug due to unclever macro expansion in __stl_new (thanks to Joachim Achtzehnter) sl@0: sl@0: * stl/_tree.h : fixed several bugs in new code for corner cases in insert_equal()/insert_unique() with a hint sl@0: (thanks to Micheal Tsirkin for the report and patch) sl@0: sl@0: * _vector.h:284 : __copy call fixed to be __copy_aux (thanks to Alex Vanic) sl@0: sl@0: * _config.h : fixed static build bug due to __STL_EXPOSE_GLOBALS_IMPLEMENTATION typo (thanks to Serge Pashkov) sl@0: sl@0: * fstream.cpp: __pioinfo definition for mingw32 fixed (Thanks to Danny Smith) sl@0: sl@0: * *.SUNWCCh files changed to regular files; moved to "stlport" directory sl@0: sl@0: * pthread_alloc : split into / sl@0: sl@0: * lightweight atomic ops used on SPARC v8plus and v9 (gcc and SUN CC) sl@0: sl@0: * Mac OS X support introduced (thanks to Patrick Luby) sl@0: sl@0: * SGI iostreams ported to DJGPP (thanks to Tanes Sriviroolchai) sl@0: sl@0: * SGI iostreams ported to NetBSD (thanks to Michael Rauch) sl@0: sl@0: * FreeBSD build fixed, now builds for wchar_t too sl@0: sl@0: * DEC CXX build fixed; restricted to dynamic lib only sl@0: sl@0: * SGI MIPSpro build fixed; GNU make has to be used sl@0: sl@0: * Set of HP fixes by Michael Tsirkin sl@0: sl@0: * Set of Watcom fixes by Ricardo Gayozo sl@0: sl@0: * Bunch of Apple MRC/MPW fixes by Tsutomu Yoshida integrated sl@0: sl@0: * Bunch of iostream fixes for Cygwin, Borland and Intel 4.5, by Serge Pashkov sl@0: sl@0: * debug/_list.h : added checking versions of pop_back/pop_front (thanks to Per Liboriussen) sl@0: sl@0: * src/c_locale_win32.c : fix for VC5sp3 (thanks to Petr Ovtchenkov), fix for day of week order (thanks to Danny Smith), sl@0: fix for null-termination in my_ltoa (thanks to Serge Pashkov) sl@0: sl@0: * Some warnings in debug mode fixed (thanks to Marco) sl@0: sl@0: * type_traits.h : IsP functions return types changed to be more portable (thanks to Serge Pashkov for the suggestion), sl@0: __cdecl added for Win (thanks to Todd Wilson) sl@0: sl@0: * debug/_tree.h : added owner check for erase() (thanks to Alberto Barbati) sl@0: sl@0: * stl/_ostream.h : << operator specializations added for compilers w/o partial ordering sl@0: (thanks to Alberto Barbati for pointing this out). sl@0: sl@0: * "make install" on UNIX : fixed the target not to remove lib directory; sl@0: default installdir restored to be /usr/local (thanks to Jeff de Vries for the input) sl@0: sl@0: * _construct.h : extra cast for __STL_SHRED_BYTE removed (thanks to khesin) sl@0: sl@0: * _relops.h header obsoleted; some extra includes removed sl@0: sl@0: * __STL_STATIC_CONST_INIT_BUG use normalized; now it's used for all compilers not able sl@0: to treat const members as coplile-time constants; enum used for them (e.g VC++). sl@0: Thanks to Dean Sturtevant and Gavin Collins for the ideas. sl@0: sl@0: * stlport/cmath : fixed SUN CC 5.0 compatibility mode bug (thanks to ade for the report) sl@0: sl@0: * debug/_hashtable.h : fixed equal_range() bug (thanks to decraft for the report) sl@0: sl@0: * streambuf.cpp/_streambuf.h : fixes xsgetn() bug (thanks to Vadim Egorov) sl@0: sl@0: * istreambuf_iterator<> : nonconforming behaviour fixed (thanks to Tom Widmer) sl@0: sl@0: * _num_put.c : fixed corner case for 0x8000000 output. sl@0: sl@0: * num_get<> : extra get() and do_get() members for "int" and "short" removed; istream operators changed accordingly sl@0: sl@0: * _itreambuf_iterator.h/_ostreambuf_iterator.h introduced to decouple those from num_get/num_put sl@0: sl@0: * gcc makefiles in src : "-fno-implement-inlines" removed sl@0: sl@0: * Added workaround for gcc's limits.h and SUN Ultra with -mcpu=ultrasparc in 32-bit mode. sl@0: sl@0: * ios_base:: type for constants made "int" for all compilers, as it more efficient and perfectly compliant. sl@0: sl@0: * debug/_hashtable.h : fixed typo in swap() ( thanks to Gerd Hoeren for the report) sl@0: sl@0: * debug/_string.h : +() operators defined unconditionally ( thanks to Gerd Hoeren for the report) sl@0: sl@0: * _istream.c : removed dependancy on _function.h (thanks to Kenny Simpson for the report) sl@0: sl@0: * _limits.c : fixed little-endian representation of infinity & NaN (thanks to Rene van Oostrum) sl@0: sl@0: * _stdio_file.h : fixed postdecr macro for 64-bit Solaris (thanks to Jim Cole) sl@0: sl@0: sl@0: The following changes were made in 4.1 beta 4 since 4.1 beta 3 : sl@0: sl@0: * Simulation of class partial specialization (thanks to Mat Marcus and Jesse Jones of Adobe) sl@0: used to provide following enhancements : sl@0: sl@0: - type_traits are automatically specialized for all pointer types for all compilers, sl@0: which makes them able to utilize type_traits-based optimizations when dealing with pointer types, sl@0: automatically. sl@0: sl@0: - all functions specialized for pointers and optimized via __type_traits sl@0: ( like copy()/copy_backward(), _uninitialized_xx) now enjoy this optimization for all compilers! sl@0: sl@0: - generic __value_type()/__difference_type()/__iterator_category() are written so user does not have sl@0: to supply any of its own even when partial specialization is not available. sl@0: (Note : gcc-2.7 and VC++ 5.x, 6.x have bugs which prevents them from using this enhancement, still) sl@0: sl@0: * : by default, non-standard iterator query names like sl@0: value_type()/difference_type()/iterator_category() are not used sl@0: sl@0: * : major revision: sl@0: - algorithms without explicit Compare() function expressed via the one that has it where possible. sl@0: This considerably reduces header size and reduces code bloat for programs which use both flavours of sl@0: those algorithms. sl@0: - some function bodies moved between .c and .h sl@0: - all functions used internally moved out to _algobase.h, so no other header includes <_algo.h> anymore sl@0: - find() specialized for random access iterators regardless of partial spec. sl@0: sl@0: * Dynamic libraries (.DLL and .so) : name versioning used to prevent clashes between STLport versions sl@0: sl@0: * src/ : code regrouped between .cpp files to provide for less executable size with dumb linkers; sl@0: sl@0: * locale subsystem initialization : startup changed to use statically allocated structures as much as possible; sl@0: sl@0: * : basic stuff moved to _function_base.h ; sl@0: other STL headers now include _function_base.h instead sl@0: sl@0: * _threads.h : MT support for OS/2 added (only tested with VAC++) sl@0: sl@0: * _stdio_file.h : added support for Solaris in ELF64 mode (thanks to Holger Stasch) sl@0: sl@0: * stl/_hashtable.h : [] operator for hash_map optimized to take no more than find() when element is present sl@0: (Thanks to Thomas Witt et al.) sl@0: sl@0: * _ostream.h : fix for default unsigned char (thanks to Holger Stasch) sl@0: sl@0: * all __STL_ABBREVS abbreviations moved aside in _abbrevs.h header. sl@0: sl@0: * Fujitsu C++ Compiler support added (thanks to Holger Stasch) sl@0: sl@0: * Initial SGI iostreams port to OS/390 introduced (thanks to Holger Stasch). sl@0: sl@0: * More on SGI iostreams port to xlC 5.0 (thanks to Holger Stasch). sl@0: sl@0: * Fixes for SGI MIPSpro compilers (Thanks to Ralph) sl@0: sl@0: * Fixes for HP aCC compiler (Thanks to Michael Tsirkin) sl@0: sl@0: * stlport/SC5 directory : removed C library .h files to fix circular inclusion problem with WS6.0 + C programs. sl@0: sl@0: * hash_map::swap() in debug mode fixed (thanks to Anton) sl@0: sl@0: * __STL_COMPILE_INSTANTIATE hack for DEC removed (thanks to Ralph) sl@0: sl@0: * __STL_INLINE_STRING_LITERAL_BUG defined for HP aCC ( thanks to Jason Taylor) sl@0: sl@0: * _bitset.h - member workaround operators made const (thanks to dzwick) sl@0: sl@0: * _bitset.h/.c, hashtable.h -- small bugfixes (thanks to Levente Farkas) sl@0: sl@0: * - now includes exception.h if only that is available. sl@0: sl@0: * vector::assign() inplemented for vector::iterator when member templates are not available (Thanks to dzwick) sl@0: sl@0: * fstream.cpp : __pioinfo used for MinGW32 (thanks to Danny Smith) sl@0: sl@0: The following changes were made in 4.1 beta 3 since 4.1 beta 2 : sl@0: sl@0: * list<>::clear() : protected access bug fixed sl@0: sl@0: * __STL_MUTEX_INITIALIZER set back to PTHREAD_MUTEX_INITIALIZER for pthreads case, sl@0: as some platforms (eg AIX) do not treat zero-initialized mutex as valid one (thanks to Alex Vanic, Jack Andrews for help) sl@0: sl@0: * stl/_limits.c : fixed typo preventing numeric limits constants to be defined for __STL_LITTLE_ENDIAN, sl@0: constants initialization fixed (thanks to Ingo Donasch) sl@0: sl@0: * real implementation of locales for Win32 contributed by Anton Lapach (thanks !) merged in. sl@0: sl@0: * stl_user_config.h, _config.h : changed default to not define relops:: operators sl@0: in __STL_NO_NAMESPACES mode. sl@0: sl@0: * _numeric_facets.c/num_put.cpp : printing of integer do not use sprintf() anymore sl@0: sl@0: * "install" target implemented for UNIX & VC++ Makefiles. It now installs headers and libraries. sl@0: sl@0: * "src" : files merged to get less compilation time and less space overhead for imperfect compilers sl@0: sl@0: * "debug" flavour of STLport excluded from default build and auto-select ; sl@0: please use __STL_USE_DEBUG_LIB and build debug STLport lib explicitly with "make debug_dynamic" sl@0: if you really need it). "all" now builds 2 kinds : "release" and "STLdebug", for static and dynamic builds. sl@0: sl@0: * stlport_prefix.h : WIN32_LEAN_AND_MEAN set for Win32 build of STLport library, for speed. sl@0: sl@0: * FreeBSD compile fixed; makefiles added. sl@0: sl@0: * All "__init" changed to "_Init" to fix clashes with DEC conventions (thanks to Holger Stasch) sl@0: sl@0: * _range_errors.h -- fixed to always set __STL_EXTERN_RANGE_ERRORS for SGI iostreams (thanks to Serge Pashkov) sl@0: sl@0: * *gcc* mak : some files renamed to gcc-platform mak sl@0: sl@0: * "extern template" extension used for gcc & standard i/o classes, to reduce code bloat in application's .o sl@0: sl@0: * "extern template" extension used for VC++ & standard i/o classes (was for DLL only) sl@0: sl@0: * _iterator.h : added template(and non-template) assignment operator for reverse_iterator<> (thanks to psw). Obsolete HP-style code moved to _iterator_old.h sl@0: sl@0: * _alloc.h : obsolete code for raw SGI allocators support moved to separate header, for compile-time improvement sl@0: sl@0: * More iostreams code conditionally moved out for clients who only use standard i/o and can set __STL_NO_CUSTOM_IO flag sl@0: sl@0: * , : initialization of locale subsystem made independent of standard streams. sl@0: sync_with_stdio call before iostream initialization now works. sl@0: sl@0: * , : added initialization code for locale , same as in sl@0: (thanks to George Trojan for the report) sl@0: sl@0: * fstream.cpp : fixed resource leak in case memory map fails on Win32 (thanks to Mark Laffoon) sl@0: sl@0: * , : added additonal overload signatures required by chapter 26.5 of ANSI (thanks to Levente Farkas for sl@0: the suggestion), plus "long long" flavour where applicable. sl@0: sl@0: * __STL_LONG_LONG generalized to support __int64 on Win32 (thanks to Adam Gates for the suggestion) sl@0: sl@0: * _fstream.h : added constructor from file descriptor, as extension (thanks to eric_a_benson) sl@0: sl@0: * _fstream.h : added basic_filebuf<>::fd() file descriptor accessor, as extension (thanks to George Trojan) sl@0: sl@0: * stl_sunpro.h : strstream masked for CC 4.2 to avoid virtual table clash (thanks to Ken) sl@0: sl@0: * stl_msvc.h : member templates allowed for VC5, it's capable of hadling most of them (same restrictions as VC6 -- inline). sl@0: sl@0: * debug/_debug.c : slightly changed format of debug message to please VC++ IDE (thanks for Bruce Dawson for the suggestion) sl@0: sl@0: * src/sgi_mipspro.mak added, for SGI MIPSPro compilation sl@0: sl@0: * merged series of HP/SUN minor fixes by Petr Ovtchenkov sl@0: sl@0: * merged series of Intel 4.5 fixes by Serge sl@0: sl@0: * vc_common.mak : -Yd dropped, as obsolete (thanks to psw) sl@0: sl@0: * _range_errors.h:95 : unused argument removed (thanks to George Trojan) sl@0: sl@0: * _string_io.h : refined _WRTLING workaround for Watcom (thanks to Serge Pashkov) sl@0: sl@0: * _threads.h : fixed SGI threads dafines for gcc on IRIX (thanks to Brett Denner for the report) sl@0: sl@0: * , : mutually-exclusive machanism added to allow including both in same unit. sl@0: sl@0: * Inclusion of SGI iostreams headers put to some order; _streambuf_iterator.h file introduced to resolve circular dependancies sl@0: sl@0: The following changes were made in 4.1 beta 2 since 4.1 beta 1 : sl@0: sl@0: * _algobase.h : fixed __STL_DECLARE_COPY_TRIVIAL definition sl@0: (thanks to Charles Burfoot for the report) sl@0: sl@0: * _algobase.h : added copy_backward specializations for builtin types for compilers w/o partial spec. sl@0: sl@0: * _char_traits.h : fixed zero-length check for copy (thanks to Michael Tsirkin) sl@0: sl@0: * msvc_warnings_off.h : fixed "and" typo sl@0: (thanks to Charles Burfoot for the report) sl@0: sl@0: * num_put_float.cpp : fixed rounding for "g" format (thanks to Bernd Mohr for the report) sl@0: sl@0: * Initial port of iostreams to xlC 5.0 added (thanks to Jack Andrews) sl@0: sl@0: * stl_sunpro.h : a fix for Forte config (Thanks to Alex Vanic for the report) sl@0: sl@0: * old_hp/iterator.h : fixed iterator_category()/etc. import sl@0: sl@0: * _threads.h : __stl_atomic_t used instead of "unsigned long" (thanks to Alex Vanic for the report) sl@0: * using/iomanip : old-streams path used for native iomanip.h (thanks to Michael Tsirkin for the report). sl@0: sl@0: * _bitset.h , _bitset.c : direct STL_THROW replaced with __stl_throw_xxx calls (thanks to Michael Tsirkin for the report) sl@0: sl@0: * range_errors.h/cpp : added functions to support throwing of overflow_error and invalid_argument sl@0: sl@0: * _threads.h : enganced HP-specific guards for HP-UX 11 (thanks to Matthew Collins for the report) sl@0: sl@0: * _string.h : compare() bugfix (thanks to Anton Sergeev) sl@0: sl@0: * moneypunct_byname_w.cpp : rolled back wrong bugfix (thanks to Ken) sl@0: sl@0: * _vector.h, _deque.h, _list.h : nonstandard versions of push_back()/push_front() sl@0: moved under __STL_NO_ANACHRONISMS guard (thanks to Ed Brey) sl@0: sl@0: * _tree.c, _list.c, _slist.c, _debug.c : compile-time improvements sl@0: sl@0: * _tree.h/c, _list.h/c, _slist.h/c, _vector.h/c, _string.h/c : using directive for data members sl@0: changed to explicit "this->". sl@0: sl@0: * _complex.h : signatures of some methods changed to take value_type instead of const value_type&, sl@0: for better conformance (thanks to Petr Ovtchenkov) sl@0: sl@0: * Bunch of fixes to compile with gcc on HP-UX 10, 11 (thanks to Petr Ovtchenkov) sl@0: sl@0: * Code duplication for __STL_INLINE_MEMBER_TEMPLATES removed -- corresponding methods are always inlined sl@0: sl@0: * stl_sunpro.h : fix for "-compat" mode (thanks to Vijay Ramachandran) sl@0: sl@0: * pthread.h : new wrapper added sl@0: sl@0: * Added custom prolog/epilog for HP aCC to select kthreads on HP-UX 11 (Thanks to Michael Tsirkin) sl@0: sl@0: * : fixed throw specification for bad_alloc (has to be inherited) sl@0: sl@0: * Macro __STL_NATIVE_CPP_RUNTIME_INCLUDE_PATH introduced to specify separate path for , , . sl@0: (thanks to Bryan Byrnes) sl@0: sl@0: * : moved from stlport/stl to stlport directory, for SGI compatibility sl@0: sl@0: The following changes were made in 4.1 beta 1 since 4.0 : sl@0: sl@0: * Sun Forte 6.0 C++ configuration provided (thanks to Alexander Vanic for the input) sl@0: sl@0: * _threads.h/_config.h : added efficient support for atomic operations for sl@0: DEC CXX and Watcom (thanks to Ricardo Gayoso for the input). sl@0: Macros __STL_ATOMIC_xxx introduced to facilitate this. sl@0: sl@0: * _tree.h : optimizations to lower number of comparisons (thanks to Craig Powers for the patch) sl@0: sl@0: * _tree.h, _hashtable.h and clients : added templated find() as an extension (thanks to Michael Tsirkin for the suggestion) sl@0: sl@0: * _tree.h : changed some inlining for performance optimization sl@0: sl@0: * __node_alloc:: allocate broken into two functions for better inlining sl@0: sl@0: * _threads.h : added PTHREAD_MUTEX_INITIALIZER guard for HP workaround sl@0: sl@0: * stl_bc.h : option set to control alignment and virtual table behaviour to be consistent; sl@0: library name adjusted to stlport_bcc55_xxx sl@0: sl@0: * _algobase.h, _uninitialized.h, char_traits.h -- optimized out empty memcpy() calls sl@0: (thanks to Michael Tsirkin for the report). sl@0: sl@0: * _iterator.h : fixed reverse_iterator::operator+(int, reverse_iterator) resolution sl@0: (thanks to Anton Sergeev for the input) sl@0: sl@0: * _bitset.h : bitset<>::test bugfix (thanks to Anton Sergeev for the patch) sl@0: sl@0: * complex_trig.cpp : use of __STL_NO_LONG_DOUBLE made consistent, fixes for Borland on Linux sl@0: (thanks to John Wiegley for the input) sl@0: sl@0: * moneypunct_byname_w.cpp : bugfixes for string copying (thanks to Anton Sergeev for the input) sl@0: sl@0: * Watcom-specific fixes (thanks to Ricardo Gayoso for the input) sl@0: sl@0: * src/common_macros.mak : some intermediate targets added (thanks to Jeremy for the suggestion) sl@0: sl@0: * _debug.c : fixes for Win CE (thanks to John Hynes for the patch) sl@0: sl@0: * Intel CC 4.0-specific fixes (thanks to Sean Cavanaugh for the input) sl@0: sl@0: * _list.c : workaround for Watcom C++ (thanks to Mike Steed for the report) sl@0: sl@0: * __STL_NO_NATIVE_WIDE_STREAMS definition fixed (thanks to Glen Summers for the patch) sl@0: sl@0: * cast macros fixed to be more robust (thanks to Geoff Oakham for the report) sl@0: sl@0: * "strstream.h" native inclusion for VC 6.0 fixed (thanks to Sathish T C for the report) sl@0: sl@0: * debug/_string.h : improvement to string with __STL_DEBUG w/o member templates sl@0: (thanks to Paul Furnanz for the report) sl@0: sl@0: * debug/_string.h : fixed internal compiler error for VC++ 5.x (thanks to chvetsov for the report) sl@0: sl@0: * cstdio, stl/_streambuf.h : fixes to allow gcc compilation with -ansi flag sl@0: sl@0: * workaround for cin/cout renaming on HPUX11 for -D_REENTRANT (thankf to Jeff Sparkes for the report) sl@0: sl@0: * cin/cout/cerr/clog renaming in STLport for CC 4.0 and SGI iostreams, sl@0: to avoid symbol clashes with native ones (thanks to Dirk Schreib for the report) sl@0: sl@0: * type_info scope fixes for VC++ 6.0 (thanks to Sathish T C for the report) sl@0: sl@0: * typeinfo.h using fixes (thanks to Glen Summers for the input) sl@0: sl@0: * stlcomp.h : fixes to allow compilation of .c modules with VAC++, Sun CC, DEC CC, Watcom CC sl@0: (thanks to Dmitry A.Steklenev, Jonathan Richardson for the report) sl@0: sl@0: * debug/_tree.h : fixed insert_unique() bug (thanks to Ben Liblit for the report) sl@0: sl@0: * regression/gcc.mak made non-dependant on "." in the path sl@0: (thanks to Thomas Matelich for the report) sl@0: sl@0: * hmset1.cpp fixed to compile under OS390 ( thanks to Andrey Khovanskiy for the report) sl@0: