-2008-12-10 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * Repository: STLport release 5.2.1\r
-\r
-2008-12-03 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * build: HP-UX/ia64 with aC++ compiler; verified on HP-UX 11.23\r
- and 11.31 with aC++ A.06.17; [4 of 436 tests, 4 ignored (2 explicit),\r
- and 4 of 360 tests, 2 ignored]; submitted by Boris Gubenko.\r
-\r
-2008-11-27 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * build: EVC9 (Visual Studio 2008) by Johan Andersson.\r
-\r
-2008-11-19 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * Repository: STLport release 5.2.0\r
-\r
-2008-08-26 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * Repository: branch for STLport 5.2, r3618\r
-\r
-2008-07-21 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/type_traits: decay, conditional, ebable_if added.\r
-\r
-2008-07-18 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * configure.bat: Specifying the compiler is now mandatory and\r
- must be first.\r
-\r
-2008-07-17 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stdlib.h, cstdlib: Fix errno workaround for gcc MinGW.\r
- Latest gcc version (4.3.0) includes stdlib.h in cstdlib using\r
- include_next so skipping workaround in STLport stdlib.h. So errno.h\r
- must also be included from cstdlib.\r
-\r
-2008-07-17 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- src/details/fstream_unistd.cpp: fix bug #2001222, opening with\r
- ios_base::app should rewind write pointer to the end of the file;\r
- fix treatment of ios_base::ate (it should rewind pointer\r
- to the end of the file once) and ios_base::app (offset will be set\r
- to the end of the file prior to each write); references ---\r
- http://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2008/n2691.pdf\r
- 27.8.1.4; http://www.opengroup.org/onlinepubs/7990989775/xsh/fopen.html;\r
- http://www.opengroup.org/onlinepubs/7990989775/xsh/open.html\r
-\r
- test/unit/fstream_test.cpp: add sample with fopen as reference point.\r
-\r
-2008-07-14 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * build/Makefiles/gmake: Build system updated for gcc under Cygwin,\r
- MinGW. Under Cygwin, with or without -mno-cygwin option, STLport\r
- is now a full replacement for libstdc++, building an application\r
- with it do not require -lsupc++ anymore as it is completely\r
- integrated in STLport. Under MinGW it didn't work resulting in a\r
- crash when starting an application using STLport so -lsupc++ is\r
- necessary both when linking STLport _and_ when linking the\r
- application using it.\r
-\r
-2008-07-10 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/num_put_float.cpp: Use an union based technique to find out\r
- the sign of floating point values. It will maybe replace use of\r
- platform specific functions in a future version.\r
-\r
- * src/stdio_streambuf.cpp, test/unit/iostream_test.cpp: Change\r
- behavior of stdio_istreambuf implementation that now always return 0 on\r
- showmanyc call. Returning -1 means that reading attempt will\r
- necessarily fail which is not the case, 0 is prefered as it means that\r
- we don't know. It is also similar to other std implementations like\r
- libstdc++.\r
-\r
-2008-07-02 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * configure.bat: After a very interesting debate the consesus\r
- is to put configure scripts in root folder.\r
-\r
- * stlport/stl/_string_sum_methods.h: Bug report #2003308,\r
- compilation error with _STLP_USE_TEMPLATE_EXPRESSION.\r
- Regression due to remove of POD type support in basic_string\r
- implementation.\r
-\r
-2008-06-26 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_fstream.c: Consider read file failure in\r
- _M_underflow_aux method to avoid infinite looping on some\r
- platforms. Thanks Pawel Sikora.\r
- \r
-2008-06-26 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * build/Makefiles/gmake/unix/rules-install-so.mak: do\r
- install-headers tags when make install or install-release-shared.\r
-\r
-2008-06-24 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * build/Makefiles/gmake: Cygwin/MinGW upgrade, now build\r
- without referencing libstdc++.\r
-\r
- * stlport/stl/_threads.h: Move definition of __stl_atomic_t next\r
- to definition of atomic operations to guaranty coherency.\r
-\r
-2008-06-18 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * build: configure.bat moved to build folder. lib/Makefile,\r
- test/unit/Makefile removed from SVN, now generated by configure\r
- scripts. Under GNU make use include rather than link to\r
- reference the right make file, link seems not supported by\r
- Cygwin/MinGW make. Remove default value of STLPORT_DIR,\r
- already set in internal make files and moreover the absolute\r
- path generated in the script leads to trouble under Cygwin/MinGW.\r
-\r
- * src/num_get_float.cpp: Use an union to generate double value\r
- from 64 bits int to avoid gcc type-punned pointer warning.\r
-\r
-2008-06-16 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * build/test/unit/gcc.mak: pass runtime pathes as absolute;\r
- removed LDSEARCH macro, use LDFLAGS instead;\r
-\r
- * Makefile: clean in test/unit too.\r
-\r
-2008-06-13 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_iterator_base.h: Add a funny feature, when\r
- using both STLport and native STLs it was not possible\r
- to use std iterators in STLport containers because of the\r
- missing iterator category that is defined in std:: and\r
- not in stlport::. So now STLport map std iterator categories\r
- in stlport ones. Now it is possible to write something like\r
- that:\r
- std::string stdstr("std");\r
- stlport::string stlportstr("stlport and ");\r
- stlportstr.append(stdstr.begin(), stdstr.end());\r
- However the other side is not supported except when STLport\r
- iterators are simply pointers.\r
-\r
-2008-06-05 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/num_get_float.cpp: Remove useless skip of white\r
- space at begining of buffer in _Stl_string_to_double function.\r
- __read_float, the function that generate that buffer do not\r
- put white space at the first place.\r
-\r
- * stlport/stl/_new.h, _range_errors.c: Remove unused\r
- _STLP_RTTI_BUG macro. Moreover __stl_new was not correctly\r
- implemented with this macro, there was no check for failed\r
- allocation.\r
- \r
- * test/unit/limits_test.cpp: Remove code supposed to hide\r
- numeric_limits::max value to MSVC 8 compiler, this code was\r
- introducing a test regression. If it is producing a warning\r
- a #pragma warning should be use to hide it.\r
-\r
- * test/unit/num_put_get_test.cpp: Add test showing problem\r
- with code that used to be in limits test. Those tests will be\r
- activated for 5.3 to check that there is really nothing wrong\r
- with it.\r
-\r
-2008-06-07 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * configure: don't duplicate options in config.mak, that\r
- has default values in makefiles.\r
-\r
-2008-06-06 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * configure: put it on common place for ./configure;\r
-\r
- * build/Makefiles/gmake/targetdirs.mak: use $(DESTDIR)\r
- as in common practice (change root of installation, but\r
- don't change run paths);\r
-\r
- * build: by default use make for gcc;\r
-\r
- * Makefile: top makefile for common project task;\r
-\r
- * build/Makefiles/gmake/depend.mak: fix options for ctags\r
- and etags;\r
-\r
- * configure, build/Makefiles/gmake/top.mak: take into account\r
- extra flags for linker.\r
-\r
-2008-06-05 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_function_adaptors.h: Fix instantiation of\r
- unary_function and binary_function as base type of _Mem_fun0_ref,\r
- _Mem_fun1_ref, _Const_mem_fun0_ref, _Const_mem_fun1_ref,\r
- _Void_mem_fun0_ref, _Void_mem_fun1_ref, _Void_const_mem_fun0_ref,\r
- _Void_const_mem_fun1_ref. Those classes are use as a workaround for\r
- compiler missing class partial template specialization or that don't\r
- support return of void. Instantiation is now done without reference\r
- qualifier as specified by the Standard and as done in the\r
- implementation used when workaround is not necessary.\r
-\r
-2008-06-03 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/ios.cpp, stlport/stl/_complex.c, _ios.c, _ios.h, _ios_base.h,\r
- _istream.c, _num_get.c, _num_put.c: Remove invalid cached facet\r
- pointers in ios_base class. This class can be used in a char or\r
- wchar_t instantiation context making cast to ctype<char> or\r
- ctype<wchar_t> invalid resulting in an application crashed. The\r
- only safe access to facet instances from a ios_base instance is through\r
- the use_facet<Facet>(getloc()) function. Only _M_cached_ctype has been\r
- kept in basic_ios class even if small bench hasn't show real\r
- enhancement compared to using use_facet. \r
-\r
- * stlport/stl/_time_facets.c: In addition to above modifications\r
- time_get implementation has been simplified as localized info are\r
- now stored as wchar_t for wide char instantiation. We do not need\r
- to use ctype.widen method anymore.\r
-\r
- * test/unit/time_facets_test.cpp: Add test for time_get wchar_t\r
- instantiation.\r
-\r
- * test/unit/cppunit/cppunit_mini.h: Fix report of ignored/explicit\r
- tests.\r
-\r
-2008-05-27 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_alloc.h: Code simplification, clean up null\r
- pointer checks as allocators should never return it but rather\r
- throw a bad_alloc exception.\r
-\r
-2008-05-27 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit/cppunit/cppunit_mini.h, file_reporter.h: Fix\r
- counting of failed test, won't report more failures than tests\r
- anymore. Now also report explicit tests.\r
-\r
-2008-05-15 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/allocators.cpp, locale_catalog.cpp, num_put_float.cpp:\r
- Use static method returning static instance to mutex rather than\r
- direct access to a static mutex instance to control initialization\r
- order of static variables thanks Peter Hrenka report.\r
-\r
-2008-04-26 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_function.h, type_traits.h: Adoption of Defect Report 109\r
- Missing binders for non-const sequence elements.\r
-\r
- * test/unit/bind_test.cpp: Test for DR above.\r
-\r
-2008-05-11 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/_string.c: from formal (ISO/IEC 14882:2003) point of view \r
- string s; string::size_type p = s.find( "", 0, 0 ); should return 0 in p,\r
- i.e. position out-of-bound of string; people near Standard commete has\r
- opinion that Standard correct in this point and not require clarification\r
- (opposite to my opinion); even if it looks like bogus behavior for me,\r
- it fixed to conform standard; see bugreport #1872656;\r
-\r
- * test/unit/string_test.cpp: test for issue above.\r
-\r
-2008-05-10 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/_istream.c, stlport/stl/_ostream.h: ISO/IEC 14882:2003\r
- (and 1998 too) assume change as get as put positions with\r
- seekg and seekp (27.6.1.3, par 38; 27.6.2.4 par 2), but this\r
- contradict to common practice and proposed draft N2588\r
- (27.6.1.3, par 41; 27.6.2.5, par 4); now STLport implement\r
- (i.e. change present behavior) the draft's point of view;\r
- this reflect patch #1650657 by Jan Echternach;\r
- \r
- * test/unit/sstream_test.cpp: test for issue above.\r
-\r
-2008-04-26 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * Patches #1940126, #1941267, #1941814 from Johan Andersson for evc8\r
- Pocket PC support and build of tests without warnings.\r
-\r
-2008-04-24 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * Patch 1937823 from Johan Andersson to add Microsoft Visual\r
- Studio 2008 support.\r
-\r
- * stlport/stl/_algobase.h: Patch 1935497 from Andrey Semashev to\r
- apply a common optimization in STLport algos for random access\r
- iterators to fill and fill_n algos.\r
-\r
-2008-04-23 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * src/num_put.cpp: remove ambiguity of char to int conversion\r
- (comparison with integers, check for negative value); remove\r
- ambiguity with postfix increment in index in conditional\r
- expression.\r
-\r
-2008-04-22 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * build/Makefiles/gmake/gcc.mak, build/lib/configure: take\r
- into account CFLAGS, EXTRA_CFLAGS, because of C compiler in use too.\r
-\r
-2008-04-17 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_string.h: Remove support for non POD type in basic_string\r
- implementation.\r
-\r
-2008-04-08 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * build/Makefiles/gmake/lib/gcc.mak: try to create $(PRE_OUTPUT_DIR) before\r
- run lipo; impact only MacOS;\r
-\r
- * build/Makefiles/gmake/sysid.mak: uname -m on MacOS return\r
- power-macintosh, but identify architechture as ppc.\r
-\r
-2008-03-28 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/assert.h: Bug #1894882: Apply a technique similar to the\r
- one used in errno.h to detect when assert has been defined before\r
- including assert.h.\r
-\r
-2008-03-21 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * Patch 1876529 from Johan Andersson to add support for VS 2005\r
- bundled Pocket PC 2003 SDK.\r
-\r
-2008-03-18 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/_string.c: derived from patch #1914475, wrong\r
- replace for selfreferencing string; thanks Farid Zaripov;\r
-\r
- * test/unit/string_test.cpp: test for problem above.\r
-\r
-2008-03-17 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_stdexcept_base.h, _stdexcept_base.c,\r
- type_manips.h, src/num_put_float.cpp,\r
- test/unit/num_put_get_test.cpp: Borland patch from Eric Sanford.\r
- No need for a __Named_exception workaround anymore. Force\r
- floating point control word when testing special floating point\r
- operations. Change implementation _Copyable and add a workaround\r
- to correctly render long double max value that is consider as\r
- equal to double max value.\r
-\r
-2008-03-10 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * build/Makefiles: Normalization of --with-static-rtl and\r
- --with-dynamic-rtl extended to configure script for Borland\r
- and DMC compilers.\r
-\r
-2008-03-08 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit/cppunit/cppunit_mini.h: New mini cppunit framework\r
- feature, the explicit tests that have to be explicitly tested\r
- thanks to the -t option to run.\r
-\r
- * test/unit/unordered_test.cpp: benchmark1 and benchmark2 tests\r
- are now explicit.\r
-\r
- * stlport/stl/_stdexcept_base.h, _stdexcept_base.c:\r
- __Named_exception that contains dynamically allocated memory\r
- require a copy constructor and assignment operator. Thanks bug\r
- report #1908626 from Ilya Dogadaev.\r
-\r
- * build/Makefiles: Normalized some configure options:\r
- --without-thread, --without-rtti, --with-lib-motif. \r
-\r
-2008-03-06 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * Fix rtti management:\r
- - no rtti support do not imply no type_info struct definition.\r
- - #error message in typeinfo to signal missing rtti support\r
- has been removed.\r
- - locale implementation do not use typeid anymore to enhance\r
- runtime_error message thrown by combine message when we cannot\r
- find the combined facet. It was introducing an annoying dependency\r
- making use of the lib without rtti support impossible.\r
-\r
-2008-03-05 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_range_errors.h: Signal function responsible\r
- for throwing excepions as not returning to the DMC compiler.\r
-\r
-2008-03-03 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * build/Makefiles/gmake: Eric Sanford patch to make generation\r
- of debug symbols optional when using Borland compiler to build\r
- unit tests.\r
-\r
- * stlport/stl/config: Normalization of verbose mode used to get\r
- feedback about build context when using STLport.\r
- _STLP_VERBOSE_AUTO_LINK has been renamed in _STLP_VERBOSE and\r
- report additional information like rtti, exception support,\r
- mono/multi threaded, static/dynamic library.\r
-\r
- * stlport/stl/_check_config.h: Unused, removed.\r
-\r
- * stlport/typeinfo: Report use of this header when there is no\r
- RTTI support, only when we can detect it of course.\r
-\r
-2008-02-29 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * build/Makefiles/gmake: Several modif for Digital Mars support.\r
-\r
- * stlport/stl/_function_base.h: Hide protected constructor not\r
- supported by Borland compiler.\r
-\r
- * stlport/stl/config/_bc.h: Now detect Rtti support.\r
-\r
-2008-02-28 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * build/Makefiles/gmake/gcc.mak: use more convenient option\r
- -dumpversion to detect compiler's revision; check that\r
- -fuse-cxa-atexit really required; remove -fident option;\r
-\r
- * build/Makefiles/gmake/targetdirs.mak: take into account DESTDIR;\r
-\r
- * build/lib/configure: write DESTDIR as prefix for installation pathes;\r
-\r
- * stlport/type_traits: type traits, close to JTC1/SC22/WG21\r
- C++ 0x working draft\r
- [http://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2008/n2521.pdf]\r
-\r
-2008-02-26 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * Rationalization in detection of real localization implementation.\r
- _STLP_REAL_LOCALE_IMPLEMENTED removed, the whole detection mecanism\r
- is now in c_locale.h/c_locale.c and is based on API specific macros.\r
- For the moment real localization is used for windows platforms\r
- (_STLP_WIN32 except Windows CE) and when Glibc 2.2 or newer with\r
- GNU extensions (_GNU_SOURCE) is detected.\r
-\r
-2008-02-25 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/type_traits.h: Generalize technique used by Borland\r
- compiler to detect pointer types const or volatile qualified and\r
- avoid trivial copy in this case.\r
-\r
- * Eric Sanford patch for Borland compiler for Linux.\r
-\r
-2008-02-22 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/c_locale.h, src/c_locale.h,\r
- c_locale_win32/c_locale_win32.c, c_wlocale_win32.c: Major code\r
- simplification. Definition of _Locale_UPPER, _Locale_LOWER, etc...\r
- used to be platform dependant requiring a lot of macro checks and\r
- additionnaly exposing STLport to wrong definitions. When for\r
- instance _Locale_PRINT was defined as\r
- _Locale_UPPER|_Locale_LOWER|..., marking a character as printable\r
- was also making it a upper and lower character!\r
- In fact those masks have to be platform specific only when\r
- STLport directly expose platform masks which is only the case when\r
- using GlibC. So now those mask are hard coded in STLport using\r
- values defined in the C++ Standard 22.2.1. Under Windows the\r
- localisation implementation has been adapted to map Win32 mask values\r
- to the STLport ones. A number of now useless workaround has been\r
- removed.\r
-\r
- * src/c_locale_dummy/c_locale_dummy.c, ctype.cpp,\r
- test/unit/ctype_facets_test.cpp: Removed the hard coded table of\r
- character types that was duplicating the one in src/ctype.cpp. Now\r
- a table is build during library initialisation using C functions\r
- isspace, isalpha... Doing so and adding a test in\r
- LocaleTest::ctype_by_name will show if STLport and the C runtime\r
- agree on character classification.\r
-\r
-2008-02-20 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/allocators.cpp: Change management of _S_heap_size, now bit\r
- translation is done on the value used to increment it rather than\r
- when using _S_heap_size. Thanks to this modif, when _S_heap_size is only a 32\r
- bits value it won't roll before 16Go has been allocated. Thanks to\r
- an additional unsigned cast the effect won't be notice before 32 Go\r
- are allocated.\r
-\r
-2008-02-19 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/c_locale_dummy/c_locale_dummy.c: Fix implementation of\r
- _WLocale_toupper/_WLocale_tolower, call to respectively\r
- towupper/towlower was inverted.\r
-\r
- * src/allocators.cpp: __stlp_chunk_malloc/__stlp_chunck_free\r
- renamed respectively in __stlp_new_chunk/__stlp_delete_chunck as\r
- those functions behavior are closer to the new operator behavior\r
- rather than to malloc. __stlp_new_chunk implementation fixed, it\r
- was using _STLP_CHECK_NULL_ALLOC reserved to check allocations\r
- performed through new operator. Fix code to correctly take into account\r
- bad_alloc exceptions.\r
-\r
-2008-02-18 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_algobase.h: Removed namespace specification on\r
- swap invocation in iter_swap implemenation because it was breaking\r
- template function resolution for gcc. Whether this is a gcc bug\r
- or simply correct Standard C++ is not clear yet so namespace has\r
- been removed independant of compiler in use.\r
-\r
- * stlport/stl/_alloc.h, _new.h, src/locale.cpp, locale_impl.cp:\r
- Generalize use of _STLP_THROW_BAD_ALLOC macro to throw the\r
- bad_alloc exception. Definition of this macro is now in _new.h\r
- header.\r
-\r
- * stlport/stl/_valarray.h: Use __stl_new rather than malloc to get\r
- exception management without additional code. It also gives users\r
- a Standard way to detect memory starvation through the new handler.\r
-\r
-2008-02-16 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * Removed anachronous and unmaintained raw SGI allocator mode.\r
-\r
-2008-02-15 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/details/fstream_win32io.cpp: Fix wrong use of Win32 API.\r
- SetFilePointer do not take SEEK_CUR macro but FILE_CURRENT.\r
-\r
- * src/allocators.cpp, stlport/stl/_alloc.h, _alloc_old.h,\r
- _construct.h, _new.h, _pthread_alloc.h, _rope.h, config/_evc.h,\r
- features.h: Code cleanup; __THROW_BAD_ALLOC normalized in\r
- _STLP_THROW_BAD_ALLOC; _STLP_NEW, _STLP_PLACEMENT_NEW and\r
- _STLP_BROKEN_BAD_ALLOC_CLASS macros removed.\r
-\r
-2008-02-14 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/c_locale_glibc/c_locale_glibc2.c: Manualy handle the "C" locale\r
- to guaranty consistency with the default "C" facet implementations in\r
- the lib.\r
-\r
- * * test/unit/time_facets_test.cpp, num_facets_test.cpp,\r
- monetary_facets_test.cpp, ctype_facets_test.cpp: Enhance tests by using\r
- a third way of generating locale instance from names.\r
-\r
-2008-02-13 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/fstream_impl.h, details/fstream_win32io.cpp,\r
- fstream_unitstd.cpp, fstream_stdio.cpp, stdio_streambuf.cpp: __stdin_size\r
- function revomed making fstream_impl.h useless.\r
-\r
-2008-02-12 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/type_manips.h, type_traits.h: Borland patch from Eric\r
- Sanford to fix regressions introduced with recent modifications of\r
- some helper struct used to detect potential optimizations.\r
-\r
- * config/_bc.h, features.h: New configuration, Borland do not support\r
- following syntax: \r
- typename std::iterator_traits<>::value_type. It breaks on association\r
- of typename keyword with namespace specification. As Borland do not\r
- require typename keyword in this case it is now possible avoid it\r
- thanks to the _STLP_NO_TYPENAME_BEFORE_NAMESPACE macro.\r
-\r
- * stlport/stl/_limits.c: Borland, like gcc 4, prefer additional brackets\r
- in initialization of struct associated to computation of numeric limits\r
- values.\r
-\r
-2008-02-01 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * General code review to look for Standard or internal functions\r
- called with namespace scope in order to avoid ambiguous calls\r
- when compiler implement Argument Dependant Lookup. See ListTest::adl\r
- test case to see what it means.\r
-\r
- * stlport/stl/config/features.h: _STLP_PRIV now contains full\r
- namespace path starting at global namespace that is to say\r
- ::stlport::priv:: when private namespace is in use and ::stlport::\r
- when it is not. Idem for _STLP_TR1 that now contains ::stlport::tr1::.\r
-\r
- * stlport/stl/debug/_string.h: Call to std::distance removed to avoid\r
- reading input iterators before reading their contents. Now all\r
- basic_string::assign methods invalidate all iterators like other\r
- containers.\r
-\r
- * stlport/stl/_iterator_base.h: Remove implementation of __value_type\r
- __distance_type and __iterator_category when compiler support partial\r
- template specialization. In this case we directly use iterator_traits,\r
- we do not need those functions. Removed special __distance implementations\r
- use in an anachronous implementation of distance taking an initial value\r
- to start counting. Now this function use __distance functions already\r
- used by the std::distance function. The MSVC _Distance function is also\r
- considered as anachronous.\r
-\r
-2008-01-31 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_string.h, test/unit/string_test.cpp: Add swap\r
- implementation when there is no support for template function\r
- partial ordering.\r
-\r
-2008-01-30 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/fstream_impl.h, details/fstream_stdio.cpp, fstream_unistd.cpp,\r
- fstream_win32io.cpp, stdio_streambuf.h, stdio_streambuf.cpp: Hide\r
- __is_regular_file only used in fsteam implementation specific files.\r
- Rename __file_size in __stdin_size as this function is only used\r
- to get stdin FILE* size. Under Win32 this function now always returns\r
- 0 as it looks like Windows do not consider FILE* as allowing\r
- position operations. Move platform specific code from stdio_streambuf\r
- implementation to associated fstream_*.cpp file.\r
-\r
-2008-01-29 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * build/test/unit/gcc.mak: option for run-time path to libstlport\r
- on HP-UX;\r
-\r
- * build/Makefiles/gmake/hp-ux/targetsys.mak: HP-UX IA64 use so\r
- as shared object extention, while PA-RISC use sl;\r
-\r
- * build/Makefiles/gmake/gcc.mak: use -fno-reorder-blocks for PA-RISC;\r
-\r
- * src/cxa.c: use cxa_atexit fix similar to trick on Solaris and FreeBSD;\r
-\r
- * src/num_get_float.cpp: stdint.h on HP-UX;\r
-\r
- * stlport/wctype.h, stlport/stl/_cwctype.h: HP-UX has problems with\r
- wchars; changes suggested by KBac.\r
-\r
-2008-01-28 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/_cygwin.h: Cygwin do not define _STLP_USE_GLIBC\r
- anymore, platform API is closer to a Standard C lib than to the Gnu\r
- lib C.\r
-\r
-2008-01-26 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/fstream_stdio.cpp, fstream_win32io.cpp, fstream_unistd.cpp:\r
- Removed unused uint64.h include and definition of ULL macro.\r
-\r
- * src/uin64.h: Removed, _compound_int class defined in it is simply\r
- not used anymore.\r
-\r
- * src/_stdio_file.h: Major cleanup, only _FILE_fd is still in use.\r
-\r
- * src/locale.cpp, locale_impl.cpp, build/lib/Makefile.inc: Restore\r
- independency between those 2 translation units, code duplication is\r
- very limited. This is a 1st step to make build of STLport easier by\r
- having all sources in src folder buildable.\r
-\r
- * src/locale_impl.h, locale_impl.cpp: _copy_Locale_impl removed,\r
- only use to create initial global locale that can simply reference\r
- classic locale incrementing its reference counter by one.\r
-\r
- * stlport/stl/_locale.h: Fix locale implementation when MSVC6 workaround\r
- is used. The base class _NoMem_loc do not have to have a virtual\r
- destructor, it only need a protected one. Moreover fix constructor\r
- taking an other locale instance and a facet instance, _M_impl was\r
- not released before being assigned resulting in a memory leak.\r
- \r
- * src/fstream_stdio.cpp, fstream_unistd.cpp, fstream_win32io.cpp:\r
- Moved to details sub-folder. Now building STLport means build all\r
- .cpp, .c and optionnaly .rc files from src folder.\r
-\r
-2008-01-22 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * build/test/unit/gcc.mak: check confguration and set\r
- ALL_TAGS before inclusion top.mak, to correctly set\r
- targets for 'all'.\r
-\r
-2008-01-21 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * build/test/unit/icl.mak: Add /fp:strict option to build unit tests\r
- as we need strict floating point number operations respect to have\r
- numeric limits to work correctly.\r
-\r
- * stlport/stl/config/_intel.h: Looks like ICL since version 9 support\r
- static constant correctly.\r
-\r
- * stlport/stl/config/features.h, src/c_locale_win32/c_locale_win32.c:\r
- New macro _STLP_MARK_PARAMETER_AS_UNUSED to offer a compiler specific\r
- way of marking parameters as unused. Default behavior is to cast the\r
- parameter to void*.\r
-\r
- * src/c_locale_win32/c_wlocale_win32.c: Fix _WLocale_strxfrm function\r
- implementation thanks Kai Khcyt. Despite taking a pointer to wchar_t*\r
- LCMapStringW writes bytes to it.\r
-\r
- * build/Makefiles/gmake/bcc.mak, lib/bcc.mak, app/bcc.mak, stlport/cerrno,\r
- errno.h, stl/type_manips.h, type_traits.h: Borland patch from Eric\r
- Sanford to build Borland libs with GNU make build system.\r
-\r
-2008-01-18 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit/locale_test.cpp, ctype_facets_test.cpp,\r
- money_facets_test.cpp, num_facets_test.cpp, time_facets_test.cpp:\r
- test_supported_locale function do not have to be template, might\r
- avoid ICL wring code generation.\r
-\r
- * stlport/stl/_function_base.h: Based on an idea from Herb Sutter in\r
- his excellent book "Exceptional C++ Style", derived class destructor\r
- should be protected non virtual or public virtual. unary_function\r
- and binary_function struct are intended to be derived but they\r
- are not polymorphic so destructor should be protected non virtual.\r
- According the book it is even not breaking library Standard conformity\r
- in doing so. What is sure is that it will help users detect bad\r
- code.\r
-\r
-2008-01-17 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/debug/_list.h: Remove use of std::distance in STL\r
- safe mode, it is invalid for pure input iterators. Now assign\r
- invalidate all iterators which make the code simpler.\r
-\r
- * Remove the difficult to implement and maintain _AreSameUnCVTypes,\r
- doing so has a number of impact on the lib:\r
- - Remove usage of it in debug/_string.h and debug/_deque.h, we\r
- rather use function specialization to detect self reference. In string\r
- implementation it is almost impossible to detect self referencing in\r
- insert and assign method even with use of _AreSameUnCVTypes, so\r
- we systematically creation an intermediate string instance.\r
- - Creation of _AreCopyable helper class to detect when it is safe\r
- to do a memcpy or memmove between 2 types. This class returns false\r
- when any type is volatile qualified or when trying to copy to a const\r
- qualified type.\r
- - Creation of _AreSameTypes only really implemented thanks to partial\r
- template specialization, only used in _IsOkToSwap struct.\r
-\r
- * test/unit/copy_test.cpp: Add test showing bug 1806558.\r
- \r
-2008-01-17 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * build/lib/configure: Don't override COMPILER_NAME, if already\r
- defined;\r
-\r
- * stlport/stl/config/_prolog.h: remove suspicious comments.\r
-\r
-2008-01-15 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/config/_hpux.h: define _POSIX_C_SOURCE 199506;\r
- suggested by KBac, patch #1869229.\r
-\r
-2008-01-14 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_string.h, _string.c: Restore code to support non-POD\r
- types in basic_string implementation as specified in basic_string\r
- comments.\r
-\r
- * stlport/stl/_limits.c: Use double numeric limits for long double\r
- when sizeof(double) == sizeof(long double).\r
-\r
- * stlport/stl/debug/_debug.h, _deque.h, _list.h, _vector.h: Prefer to\r
- use overloading of member method to activate additional check of\r
- 23.1.1 table 67 Standard conformity rather than using metaprogrammng\r
- technique.\r
-\r
-2008-01-12 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * build/Makefiles/gmake/lib/gcc.mak: gcc 3.3 has useful\r
- libsupc++, but some builds not; prefer normal situation,\r
- not marginal; see record 2007-10-10;\r
-\r
- * build/Makefiles/gmake/gcc.mak: fix reference to _FORCE_CXX macro;\r
-\r
- * build/Makefiles/gmake/CC.mak: ditto;\r
-\r
- * build/Makefiles/gmake/aCC.mak: ditto;\r
-\r
- * build/lib/configure: keep compiler and default compiler --- gcc\r
- is most common defualt and plans to switch to default makefile.\r
-\r
-2008-01-11 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_limits.c: Adapt long double numeric limits for\r
- Intel C++ compiler 9 for Windows.\r
-\r
- * test/unit/cppunit/test_main.cpp: Add command usage output when\r
- option is not recognise.\r
-\r
- * build/lib/configure: Remove specification of COMPILER_NAME default\r
- value gcc. COMPILER_NAME is already set in all root make scripts like\r
- gcc.mak, aCC.mak, dmc.mak ... Doing so forces users to specify their\r
- compiler family using configure script which is redundant.\r
-\r
-2008-01-10 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_prolog.h: Remove code duplication by including\r
- _cprolog.h.\r
-\r
- * stlport/errno.h, cerrno: Move import of errno from errno.h to\r
- cerrno.\r
-\r
- * src/ctype.cpp, facets_byname.cpp, time_facets.cpp,\r
- test/unit/codecvt_test.cpp: Several small modifications to make\r
- Intel C++ compiler happier. Mostly avoid warnings and use\r
- unary_function to avoid some typedef.\r
-\r
-2008-01-09 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_uninitialized.h: Fix implementation of\r
- __uninitialized_copy_copy in order to make the function exception\r
- safe. Detected thanks to the EH test suite.\r
-\r
-2008-01-08 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_ios_base.h: _S_was_synced renamed in _S_is_synced\r
- because it reflects what the sync state is and not what it was.\r
-\r
- * src/iostream.cpp: Use auto_ptr to avoid use of the catch(...)\r
- blocks. Changed management of the _STLP_REDIRECT_STDSTREAMS macro.\r
- cout, cerr and clog streams are not ofstream anymore but classic\r
- ostream instances, only streambuf is a filebuf when the macro is\r
- defined. Improve _S_initialize robustness to exceptions, now\r
- exceptions like bad_alloc are not silently eaten. _S_initialize\r
- guaranty that on exception, Standard streams will be valid, it do\r
- not offer however strong guaranty, global state might still have\r
- been modified. Idem for sync_with_stdio. Moreover this method is\r
- now Standard compliant, it returns the new sync state and not the\r
- old one.\r
-\r
-2008-01-07 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/c_locale_dummy/c_locale_dummy.c: Upgrade to take into account\r
- recent localization Api modifications.\r
-\r
-2008-01-04 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/fstream_win32.cpp: Change detection of regular file, only reject\r
- handlers identified as folders.\r
-\r
- * stlport/stl/_codecvt.h: Add assertion to check buffer ranges pass to\r
- the codecvt facet.\r
-\r
- * src/fstream.cpp, stlport/stl/_fstream.c: Complete bug #1854345 fix,\r
- get buffer was not reset at the right place.\r
-\r
- * stlport/stl/_fstream.h, _fstream.c: Several modifications in the\r
- seekoff method:\r
- - Remove limitation of positioning to binary file stream, setting\r
- position in a text file stream is not a problem.\r
- - Fix mbstate_t instance returned in the file_pos instance when\r
- getting position in a file stream with variable encoding.\r
- - Move all the sanity check code to the debug mode.\r
-\r
-2008-01-02 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit/fstream_test.cpp: Change FstreamTest::seek test to reveal\r
- bug #1854345.\r
-\r
- * src/fstream.cpp: #1854345 bug fixed.\r
-\r
-2008-01-01 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_time_facets.h, _time_facets.c, src/time_facet.cpp,\r
- c_locale_glibc/c_locale_glibc2.c: Restore GlibC++ support after\r
- 2007-12-27 modifications.\r
-\r
-2007-12-29 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * Borland patch from Eric Sanford mainly to enable move constructor.\r
-\r
- * stlport/stl/_string_base.h, _string.h, _string.c,\r
- _string_sum_methods.h: Attempt to make string implementation more\r
- clear: _M_allocated renamed in _M_start_of_storage,\r
- _M_Buffers._M_dynamic_buffer renamed in _M_Buffers._M_end_of_storage,\r
- _M_end_block renamed in _M_end_of_storage too. To respect current\r
- naming convention _capacity has been renamed in _M_capacity and\r
- _rest in _M_rest.\r
-\r
- * stlport/stl/_string_workaround.h: Updated to take into account recent\r
- modification in string data model.\r
- \r
- * etc/autoexp.dat: Updated to take into account string data model\r
- modifications, new model is really simpler to map to.\r
-\r
-2007-12-27 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/c_locale.h, c_locale_dummy/c_locale_dummy.c,\r
- c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c,\r
- c_locale_win32/c_locale_win32.c, facets_byname.cpp, time_facets.cpp,\r
- stlport/stl/_codecvt.h, _ctype.h, _numpunct.h, _time_facets.c,\r
- _time_facets.h: Major internal localization API modification. Add\r
- several _WLocale_* functions to allow native support of access to\r
- wide char representation of localization information. The time facet\r
- support has been the most impacted. GlibC based implementation\r
- still have to be updated.\r
-\r
-2007-12-23 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * build/Makefiles/nmake/evc8.mak, targets.mak, src/_stdio_file.h,\r
- fstream_win32io.cpp, iostream.cpp, locale_catalog.cpp: Patch from\r
- Johan Anderson for Evc 3/4/8 to:\r
- - fix the opening console issue on this platform.\r
- - add EVC8 SH4 support.\r
-\r
- * test/unit: Add CPPUNIT_FAIL macro to force failure without\r
- using a constant conditional expression. Many tests updated to\r
- use this new macro.\r
-\r
- * stlport/stl/config/_evc.h, debug/_debug.h, _debug.c: Patch\r
- from Michael Fink to allow _STLP_DEBUG mode when using WCE ARM\r
- platform.\r
-\r
-2007-12-20 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_monetary.c: Remove test of existing space at end of\r
- stream when last pattern field is none because on ouput stream\r
- space are only added optionaly. Small code duplication removed.\r
-\r
- * build/lib/configure.bat, evc.mak, msvc.mak, test/unit/evc.mak,\r
- msvc.mak: Config file moved to Makefiles/nmake folder. Add\r
- --without-stlport option to build unit tests without STLport.\r
-\r
- * test/unit/money_facets_test.cpp: Add validation that moneypunct\r
- "C" facet is identical to the one contained in locale::classic().\r
-\r
- * src/c_locale_dummy/c_locale_dummy.c,\r
- c_locale_win32/c_locale_win32.c, facets_byname.cpp: Fix to have\r
- moneypunct by name facet build from "C" similar to locale::classic()\r
- one. Now default format in _Init_monetary_formats is the C++ default\r
- one.\r
-\r
-2007-12-20 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * test/unit/fstream_test.cpp: test for seek, inspired by Soren\r
- (stsoe, #1854345); report not confirmed.\r
-\r
-2007-12-17 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_limits.c: Add brackets on union initialization for gcc\r
- starting with version 4.\r
-\r
-2007-12-17 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/config/_linux.h: if not explicitly specified another,\r
- use threads.\r
-\r
-2007-12-14 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/c_locale_win32/c_locale_win32.c: Fix implementation of\r
- _Locale_mbtowc and _Locale_wctomb functions. Reveal limitation of\r
- the MultiByteToWideChar function that cannot be used to implement\r
- more complicated encodings that have a real shift state like the\r
- JIS one. Add support for UTF7 and UTF8 encodings.\r
-\r
- * test/unit/codecvt_test.cpp: New test case to check support for\r
- 2 encodings, the Windows specific code page 936 and the UTF8 one.\r
- Those tests are coming from chinese test samples proposed by Victor\r
- Xie.\r
-\r
-2007-12-14 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/_string_base.h, stlport/stl/_string.h, stlport/stl/_string.c:\r
- experimental string buffer---start of buffer in _M_allocated._M_data now,\r
- end of buffer either end of local short buffer, or stored in pointer\r
- within local short buffer; this potentially reduce amount of pointer\r
- arithmetic; prefer Traits::assign to uninitialized fill, it more\r
- optimized for POD types, such as chars [experimental too].\r
-\r
-2007-12-13 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/c_locale.h, c_locale_dummy/c_locale_dummy.c,\r
- c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c,\r
- c_locale_win32/c_locale_win32.c: Remove unused _Locale_wctob and\r
- _Locale_btowc localization API functions.\r
-\r
-2007-12-13 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * build/test/unit/gcc.mak, test/unit/...: allow build unit tests\r
- with libstdc++, without STLport; useful for reference and comparison.\r
-\r
-2007-12-12 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * build/Makefiles/gmake/unix/rules-install-so.mak, build/lib/gcc.mak:\r
- install-headers usable; it use user-defined macro HEADERS_BASE\r
- [catalog and all files, keeping directory structure] and HEADERS\r
- [for single files]; target catalog is INSTALL_HDR_DIR, by default\r
- it is ${BASE_INSTALL_DIR}/include.\r
-\r
-2007-12-07 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/_uninitialized.h: comment unused parameter;\r
-\r
- * stlport/stl/_limits.c: 64-bits systems may has [and really has]\r
- size of long double 16, not 12; but IEEE 854 still in force, and\r
- only 10 bytes of long double taken into account. This should fix\r
- limits<long double> on 64-bits systems. Thanks joebishop\r
- [aka Denis Cheremisov] for granted access to 64-bit linux.\r
-\r
-2007-12-05 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/c_locale_glibc/c_locale_glibc2.c: Fix a one byte memory overrun\r
- when passing a very locale name.\r
-\r
- * src/c_locale_win32/c_locale_win32.c: Simplified Win32 localization\r
- code. Remove useless calls to strcpy. Remove useless call to the\r
- __Extract_locale_name once in the _Locale_*_create functions as\r
- name has already been extracted at this moment.\r
-\r
-2007-12-05 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/c_locale_glibc/c_locale_glibc2.c: Removed many checks useless\r
- as the C functions are called in a well defined and safe context. Also\r
- remove useless strcpy calls when it is safe to return the internal\r
- string.\r
-\r
-2007-12-04 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * Add the _Locale_codecvt localization data structure for 2 purposes:\r
- - in the win32 implementation it simplify _Locale_ctype data structure.\r
- - in the glibc implementation it helps making clear that this\r
- implementation do not support the codecvt facet for the moment.\r
-\r
-2007-12-03 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/fstream_win32io.cpp: Fix management of Ctrl-Z when reading\r
- text file stream thanks Hector Chu patch.\r
-\r
-2007-11-30 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/acquire_release.h, facets_byname.cpp, locale.cpp,\r
- locale_impl.cpp, locale_impl.h, messages.cpp, time_facets.cpp:\r
- Localization code modification, now locale instances will adopt\r
- a normalized name rather than the name used to create them. This\r
- way identical locale instances will compare equals even if created\r
- from name aliases like 'french' and 'fr_FR'. Moreover default\r
- locale built from an empty string won't have an empty name.\r
-\r
- * test/unit/locale_test.cpp, ctype_facets_test.cpp,\r
- money_facets_test.cpp, num_facets_test.cpp, time_facets_test.cpp:\r
- Enhance localization tests, add test of default locale when possible.\r
- Add test for the locale instances built from a mix of the\r
- locale::classic instance and a named category.\r
- \r
-2007-11-27 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_ios_base.h, _ios.c: Add qualification on the cached\r
- ctype and numpunct facets, we can keep them as const pointers.\r
- Moreover, prefer to use the use_facet function rather than _M_get_facet\r
- to access those instances to avoid direct reference to the facet::id\r
- static instance.\r
-\r
- * Some evolution in the localization code:\r
- - Hide _Locale_name_hint in internal implementation, facets *_byname\r
- constructor are now respecting the C++ Standard signature.\r
- - numpunct facet: Remove unused _M_grouping field, move hard coded\r
- values of the "C" facet in the sources. Only the numpunct_byname<wchar_t>\r
- keeps internal wstring representation of true and false names.\r
- - time facets: Use the non template time_base class for initialization\r
- of the _Time_Info instance, it is more coherent with other facets\r
- implementations. Many functions like __acquire_time and __release_time\r
- are now hidden in the library.\r
-\r
-2007-11-26 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/char_traits.h, _stdexcept_base.c: Borland patch\r
- from Eric Sanford, add a missing header and change\r
- __Named_exception implementation because of a Borland compiler\r
- bug.\r
-\r
- * src/c_locale_win32/c_locale_win32.c: Add LANG_INVARIANT\r
- definition when SDK are missing it.\r
-\r
-2007-11-24 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_monetary.h: Add missing explicit keyword on\r
- money_get and money_put constructors.\r
-\r
- * stlport/stl/_numpunct.h: Removed friend relation between\r
- numpunct and num_get, looks like it is useless with current\r
- implementation.\r
-\r
- * stlport/stl/config/stl_mycomp.h, features.h, _watcom.h, _sunprocc.h,\r
- _mwerks.h, _msvc.h, _ibm.h, _dec_vms.h, _dec.h, _as400.h: Removed\r
- _STLP_NO_FRIEND_TEMPLATES, _STLP_FRIEND_TEMPLATES macros unused\r
- since fix above regarding numpunct/num_get friend relation.\r
-\r
- * test/unit/collate_facets_test.cpp: Fix "C" facet by name test,\r
- Standard do not define any special behavior for the "C" transform\r
- method so transformed result should simply follow the normal transform\r
- behavior.\r
-\r
- * src/locale_impl.cpp: Removed useless holes in locale facets table.\r
- Now the table contains 26 non null entries rather than 38 entries with\r
- some begin null.\r
-\r
-2007-11-23 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/locale.cpp, locale_impl.h, locale_impl.cpp: Some small\r
- modifications to limit necessary friend class _Locale_impl\r
- declaration in several facet classes. Moreover, num_get, num_put,\r
- money_get, money_put facets that do not depend on any name are\r
- not allocated anymore in the functions responsible for generating\r
- facets for a given category.\r
-\r
- * stlport/stl/_codecvt.h, _collate.h, _ctype.h, _messages_facets.h,\r
- _monetary.h, _num_get.h, _num_put.h, _numpunct.h, _time_facets.h:\r
- Removed many useless friend class _Locale_impl declarations.\r
-\r
-2007-11-23 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * build/lib/configure: make configuration suitable for installation\r
- procedure and package building.\r
-\r
-2007-11-22 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/c_locale_dummy/c_locale_dummy.c: Now implements the "C" locale\r
- to respect the C++ Standard.\r
-\r
- * test/unit/collate_facets_test.cpp: Fix test checking that collate\r
- facet build from the "C" name behave like the one coming from the\r
- locale::classic() locale.\r
-\r
- * src/c_locale.h, locale.cpp, c_locale_glibc/c_locale_glibc.c,\r
- c_locale_glic2.c, c_locale_win32/c_locale_win32.c, locale.cpp: Removed\r
- _Locale_compose_name from the STLport internal localization API.\r
- Composition of locale names will now be the responsibility of STLport\r
- itself and not of the platform localization implementations one.\r
-\r
-2007-11-20 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_iterator_base.h, _ptrs_specialize.h: Avoid inclusion\r
- of _ptrs_specialize.h while still in stlport namespace scope thanks\r
- Christof Meerwald report.\r
-\r
-2007-11-17 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * _STLP_STATIC_MEMBER_DECLSPEC workaround removed. Thanks to\r
- _GetFacetId other workaround it should now be useless. There\r
- are still some tests to confirm especially testing the\r
- gcc visibility feature.\r
-\r
-2007-11-16 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_fstream.c: Fix implementation of\r
- basic_filebuf<_CharT, _Traits>::_M_underflow_aux() to take\r
- into consideration already read external buffer even if\r
- reading from file failed. Thanks Hector Chu report and patch.\r
-\r
- * test/unit/codecvt_test.cpp: New test for problem above,\r
- CodecvtTest::imbue_while_reading thanks Hector Chu.\r
-\r
- * test/unit/fstream_test.cpp: Remove useless\r
- FstreamTest::special_encoding test replaced by new test in\r
- CodecvtTest. Fix FstreamTest::custom_facet test that is now using\r
- a specialization of codecvt rather than a class inheriting from\r
- codecvt.\r
-\r
-2007-11-14 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/c_locale_win32/c_locale_win32.c: Fix to support creation\r
- of locale facet from the 'C' name.\r
-\r
- * test/unit/collate_facets_test.cpp, locale_test.cpp,\r
- money_facets_test.cpp, num_facets_test.cpp, time_facets_test.cpp:\r
- Add test to check build from names "" or "C", on platform without\r
- real localization support, "" should result in "C". Also check\r
- for some facets that the one build from "C" name is similar to\r
- the one taken from locale::classic() locale.\r
-\r
-2007-11-12 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * test/unit/fstream_test.cpp: testcase for bug #1830513;\r
- __read_unbuffered wrongly process valid streamsize 0;\r
- [was derived from original report of Anton Samokhvalov and Oleg Obolenskiy]\r
-\r
- * stlport/stl/_istream.c: fix for bug #1830513 above;\r
- check boundary condition in the beginning of loop.\r
-\r
-2007-11-09 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * build/Makefiles/gmake: Add missing cygming folder comming\r
- from task branch, required for Cygwin/MinGW builds.\r
-\r
- * stlport/stl/_bvector.h, _deque.h, _hashtable.h, _list.h,\r
- _rope.h, _slist.h, _string_base.h, _tree.h, _vector.h: Removed\r
- useless instantiation of _Alloc_traits to define nested\r
- allocator_type in several containers. STLport users will simply\r
- have to correctly instantiate containers when they specify\r
- the allocator to use.\r
-\r
-2007-10-30 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * etc/autoexp.dat: New file containing description of STLport\r
- data structures in the Visual Studio C++ debugger language.\r
-\r
-2007-10-21 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * Merged with STLPORT_5_1 up to revision 3229.\r
-\r
-2007-10-20 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * _STLP_NO_MBSTATE_T removed, STLport cannot really live without\r
- any mbstate_t definition. Moreover we were already defining our own\r
- definition when _STLP_NO_MBSTATE_T is defined, we now simply generalize\r
- this behavior. So definition of _STLP_NO_MBSTATE_T has been replaced\r
- with _STLP_NO_NATIVE_MBSTATE_T.\r
-\r
-2007-10-14 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/bitset.cpp: Add const qualifier on static arrays used in\r
- bitset implementation. Thanks a Andrey Semachev remark.\r
-\r
-2007-10-12 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_hash_map.h, _hash_set.h, _unordered_set.h,\r
- _unordered_map.h: Because of the hashtable data model, number\r
- of bucket should not be to high compare to the number of\r
- elements. For this reason, default constructor of all hash\r
- containers is now passing 0 as the initial size rather than 100.\r
-\r
- * stlport/stl/_hashtable.h, _hashtable.c: For the same reason exposed\r
- above, the hashtable number of buckets is decrease when removing\r
- elements from the container. All is done in the newly introduce\r
- _M_reduce method that should be called each time elements are\r
- removed.\r
-\r
- * test/unit/unordered_test.cpp: Two new test in UnorderedTest test\r
- fixture, benchmark1 and benchmark2. Those tests are rather, as indicated\r
- by their name, bench to compare performance of hashed containers.\r
- It can be used with the -m unit test console option that display\r
- timing of tests. For instance, thanks to the reduction policy exposed\r
- above, benchmark1 is running 20 times faster while benchmark2 is\r
- almost identical.\r
-\r
- * stlport/stl/_hashtable.h: Container might now be rehash when user\r
- modified max load factor in order to respect\r
- load_factor() <= max_load_factor() rule. hashtable::resize fixed,\r
- according SGI doc it should behave as Standard unordered_*::rehash that\r
- is to say it gives number of buckets and not number of elements.\r
-\r
- * stlport/stl/_hashtable.c: Fix Code warrior workaround that was only\r
- showing a limited number of prime numbers.\r
-\r
-2007-10-10 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * build/Makefiles: merge r2883:3223 from tasks/STLport-Makefiles;\r
- revision of build system, from 'complement' project, adopted for\r
- STLport requirements; support build of static lib and build unit\r
- tests with this lib; gmake-specific files moved into gmake catalog;\r
- top.mak (gmake-specific) moved into gmake catalog; add include\r
- option for boost's headers, if STLP_BUILD_BOOST_PATH defined;\r
- config.mak has make-dependent features, so it moved to gmake or\r
- nmake catalog; settings from gmake/windows/sysid.mak should\r
- be present in common gmake/sysid.mak file; gcc 3.3 has bad or\r
- absent libsupc++, at least in debian; don't use -lstlport, when\r
- build it; removed windows platform support that used to represent\r
- the environment given by the cmd shell with MinGW additional commands\r
- i.e. MinGW require not only gmake, but other POSIX file utils too;\r
- install target by default install to /usr/local/lib on POSIX-like\r
- platforms; added distclean target; added install-headers target;\r
-\r
- * build/test/unit: top.mak (gmake-specific) moved into gmake catalog;\r
-\r
- * build/test/unit/gcc.mak: see just build stlport libs, not\r
- installation path [default install path is /usr/local/lib on POSIX-like\r
- platforms].\r
-\r
-2007-10-07 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * 5.1.4 released, trunk merged with STLPORT_5_1 branch up to\r
- revision 3221.\r
-\r
-2007-10-04 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_codecvt.h, _fstream.c, src/codecvt.cpp: Fix non\r
- Standard conformity in codecvt::length and associated\r
- codecvt::do_length methods. Those methods was taking const reference\r
- to mbstate_t but the Standard specify that it must be a simple\r
- reference.\r
-\r
- * src/facets_byname.cpp: Add a real implementation of\r
- codecvt<wchar_t, char, mbstate_t>::do_length based on the\r
- _Locale_mbtowc locale API function.\r
-\r
- * test/unit/codecvt_test.cpp: Add a test for codecvt::length.\r
-\r
- * test/unit/fstream_test.cpp: Add a test that indirectly test\r
- codecvt facet and integration of it in the basic_filebuf\r
- implementation.\r
- \r
-2007-10-02 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit/deque_test.cpp, hash_test.cpp, list_test.cpp, map_test.cpp,\r
- set_test.cpp, slist_test.cpp, unordered_test.cpp, vector_test.cpp:\r
- Allow test on incomplete types even when pointer specialization is\r
- activated as long as partial template specialization is supported.\r
-\r
- * stlport/stl/_fstream.c, src/facets_byname.cpp,\r
- test/unit/codecvt_test.cpp:\r
- Fixed codecvt_byname<wchar_t, char, mbstate_t>::do_in and do_out\r
- methods. They now both correctly take into account to_end pointer.\r
- Thanks Vistor (finalvistory) report on sourceforge Developer forum.\r
-\r
-2007-09-28 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/num_put_float.cpp: Modification in _Stl_ecvtR and _Stl_fcvtR\r
- long double overloads, if value can be converted to double without\r
- precision loss we can rely on the double overload. Moreover _Stl_fcvtR\r
- has been fixed.\r
-\r
- * stlport/stl/pointer/_tools.h: Use class partial specialization to\r
- enhance usability of the container pointer specialization feature.\r
- Thanks to it, container can be instanciated with incomplete types.\r
- Modification based on bug report 1799048 from Andrey Semashev.\r
-\r
- * trunk merged with STLPORT_5_1 up to revision 3211.\r
-\r
-2007-09-27 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src: Modification in the internal localization API.\r
- _Locale_errno removed, now an int pointer is passed to all\r
- _Locale_*_create and all _Locale_extract_*_name functions so\r
- that they can return an error code. This method avoid multithreaded\r
- issues.\r
-\r
- * src/locale_catalog.cpp: Modification in __acquire_category\r
- function. If create_obj return null, the null pointer is not\r
- stored anymore in cached as creation failure reason might be\r
- temporary like in case of memory starvation.\r
-\r
- * stlport/stl/_locale.h: Error reporting enhancement. In combine\r
- method we use a typeid call to report the unknown facet type. In other\r
- situation we report both the facet category being built and the name\r
- used to build it.\r
-\r
- * test/unit/locale_test.cpp, collate_facets_test.cpp,\r
- messages_facet_test.cpp, money_facets_test.cpp, num_facets_test.cpp,\r
- time_facets_test.cpp: Add checks for construction of facets from\r
- very long facet name.\r
-\r
-2007-09-27 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * test/unit/find_test.cpp: array initialization missed.\r
-\r
-2007-09-19 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * trunk merged with STLPORT_5_1 up to revision 3193.\r
-\r
-2007-09-11 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/_algobase.c: keep check for symmetry in\r
- lexicographical compare---algorithm assume symmetry comparator;\r
- remove check for symmetrical comparator in search and find,\r
- due to double checks not better then single (the same check\r
- done in algorithm, and algorithm not require symmetrical\r
- comparator);\r
-\r
- * stlport/stl/debug/_hashtable.h: idem;\r
-\r
- * stlport/stl/debug/_tree.h: idem;\r
-\r
- * stlport/stl/debug/_debug.h: __symetrical_strict_weak_call\r
- and __symetrical_equal_call not used anyware.\r
-\r
-2007-09-10 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_algo.c: Add check for symetrical functor\r
- in max_element and min_element algo.\r
-\r
- * stlport/stl/_algobase.c: Restore symetrical functor checks.\r
- Sometimes simply because the algo was already considering the\r
- functor as symetrical as in lexicographical_compare. Sometimes\r
- using specific helpers functions (see below).\r
-\r
- * stlport/stl/debug/_debug.h: Add __symetrical_strict_weak_call\r
- and __symetrical_equal_call helper functions to check for\r
- symetric functors only when invocating the symetrical functor\r
- is valid that is to say when both parameters are of the same\r
- type.\r
-\r
- * stlport/stl/debug/_hashtable.h: Make use of \r
- __symetrical_equal_call to check that equivalence functor used\r
- in hashtable instanciation is correctly implemented.\r
-\r
- * stlport/stl/debug/_tree.h: Make use of\r
- __symetrical_strict_weak_call to check that functor predicate\r
- use in tree instanciation is correctly implemented.\r
-\r
-2007-09-10 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/_string.c: fix bugs in string rfind, find_last_of,\r
- find_last_not_of [bug #1788700, position 0 was wrongly excluded];\r
-\r
- * test/unit/string_test.cpp: test for problems above. Thanks\r
- to Bred Bored for bug report and initial test.\r
-\r
-2007-09-09 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * test/unit/rope_test.cpp, stlport/stl/_rope.h: test for\r
- bug #1788615 [bug during copy of rope's iterator] and fix;\r
- suggested by John Maddock.\r
-\r
-2007-09-07 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * test/unit/alg_test.cpp: add #include <string>, required for\r
- comparator symmetry test;\r
-\r
- * test/unit/string_test.cpp: test for bug in find_last_of,\r
- bug #1788700, submitted by Bred Bored.\r
-\r
-2007-09-05 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/_algobase.c: symmetry not required for\r
- comparator in case of two different sequences comparison or\r
- searching; symmetrical comparator just may not exist;\r
-\r
- * stlport/stl/debug/_hashtable.h: symmetry not required for\r
- comparator in hashtable in case of containers extention;\r
- symmetrical comparator just may not exist;\r
-\r
- * test/unit/alg_test.cpp: test for problem above, thanks\r
- Oleg Obolenskiy.\r
-\r
-2007-09-03 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * src/dll_main.cpp, stlport/stl/debug/_debug.c: removed\r
- macro _STLP_STATIC_TEMPLATE_DATA, __PUT_STATIC_DATA_MEMBERS_HERE,\r
- _STLP_NO_STATIC_TEMPLATE_DATA; only few old compilers\r
- require this and are good enough to work with STL;\r
-\r
- * test/eh/test_rope.cpp, stlport/stl/_num_get.c: idem;\r
-\r
- * stlport/stl/_time_facets.c, stlport/stl/_codecvt.h: idem;\r
-\r
- * stlport/stl/_monetary.c, stlport/stl/_num_put.c: idem;\r
-\r
- * stlport/stl/_rope.c, stlport/stl/_rope.h: idem;\r
-\r
- * stlport/stl/config/user_config.h: idem;\r
-\r
- * stlport/stl/config/stl_mycomp.h: idem;\r
-\r
- * stlport/stl/config/_gcc.h: idem;\r
-\r
- * stlport/stl/_threads.c: idem.\r
-\r
-2007-09-02 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_algobase.c: Small optimization, add an\r
- intermediate __eq function to detect when both iterator types\r
- are identicals. Thanks Jim Xochellis idear.\r
-\r
- * stlport/stl/_threads.h, _threads.c: Fully apply modification\r
- of _S_nsec_sleep implementation for Win32 platforms contained\r
- in bug report 1720635 from Taras Overchuck. It is an optimization\r
- of the spin lock mutex specifically targetting the multiprocessor\r
- platforms.\r
-\r
-2007-08-29 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_algobase.c, _string.c: Some modification in\r
- __find_first_of_aux2 implementation to reduce number of iterator\r
- dereferencements.\r
-\r
-2007-08-26 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/user_config.h, host.h: Moved administrative\r
- _STLP_USE_UNIX_IO, _STLP_USE_STDIO_IO, _STLP_USE_WIN32_IO\r
- macros to host.h.\r
-\r
- * Merged with STLPORT_5_1 branch up to revision 3151.\r
-\r
-2007-08-23 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/debug/_vector.h: only random access iterators\r
- allow operations 'less-then' and distance; for bidirectional\r
- iterators removed usage of 'less-then', and for others\r
- [like forward and input iterators] removed as usage of 'less-then'\r
- as distance; thanks Oleg Obolenskiy for bug report;\r
-\r
- * test/unit/ioiter_test.cpp: test for problem above.\r
-\r
-2007-08-18 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/host.h: Removed _STLP_NO_CYGWIN macro\r
- unused since we are using include_next.\r
-\r
-2007-08-16 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/_gcc.h: Avoid conflict in link model, gcc\r
- visibility for many platforms or dllimport/dllexport for\r
- Cygwin/MinGW.\r
-\r
- * build/Makefiles/gmake/gcc.mak: Looks like Cygwin/MinGW won't\r
- support visibility for the moment.\r
-\r
-2007-08-15 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/char_traits.h, src/fstream_unistd.cpp: use 64-bits\r
- file operations calls, if available on system; streamoff is\r
- always off64_t, if _LARGEFILE_SOURCE or _LARGEFILE64_SOURCE\r
- defined, i.e. if 64-bits file operations present;\r
-\r
- * src/fstream_stdio.cpp, src/stdio_streambuf.cpp: ditto;\r
-\r
- * stlport/stl/config/user_config.h: add _STLP_USE_DEFAULT_FILE_OFFSET,\r
- force use off_t for streamoff and appropriate file operations calls;\r
- note, that this may lead to problems, for example if _FILE_OFFSET_BITS\r
- defined as 64 somewhere in user's code;\r
-\r
- * test/unit/fstream_test.cpp: test 64 bits type for filesize and\r
- file offset.\r
-\r
-2007-08-13 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit/memory_test.cpp: MSVC6 do not support this test,\r
- ignored.\r
-\r
- * stlport/stl/_string.h: Internal _String_reserve_t moved to\r
- private namespace.\r
-\r
- * stlport/stl/_algobase.c, _string.c, char_traits.h: Adoption of\r
- the find_first_of trick below in string::find_first_of, find_last_of,\r
- find_first_not_of and find_last_not_of.\r
-\r
-2007-08-12 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_algo.h, _algobase.h, _algobase.c: find_first_of\r
- algorithm enhancement based on the Jim Xochellis analysis that you\r
- can find here:\r
- http://www.codeproject.com/vcpp/stl/find_first_of.asp.\r
-\r
- * test/unit/alg_test.cpp: Add several tests to challenge the above\r
- enhancement.\r
-\r
-2007-08-08 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/feature.h: Removed useless workaround, there\r
- is no more platform using Win32 threading API and missing bool\r
- type.\r
-\r
- * src/num_put_float.cpp, num_get_float.cpp: Fixes for DMC, DMC has\r
- real long double so it now uses ieee854_long_double Glibc type. DMC\r
- do not use anymore the sprintf workaround to write floating point\r
- numbers.\r
-\r
- * stlport/stl/_auto_ptr.h, test/unit/memory_test.cpp: Fix auto_ptr\r
- implementation, removed a useless const_cast and change a reinterpret_cast\r
- in static_cast. Add support for instanciation with the volatile qualifier.\r
- Thanks Ulrich Eckhardt report.\r
-\r
-2007-08-03 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/c_locale_win32/c_locale_win32.c: Fix some static buffer size\r
- to always have a free place for the trailing zero.\r
-\r
- * test/unit/locale_test.cpp: Add a test when passing a very long name\r
- as the LC_CTYPE facet name to the locale constructor.\r
-\r
- * src/system_api.h, system_api.c, build/lib/Makefile.inc,\r
- src/num_put_float.cpp: Removed system_api workaround to access\r
- isinfinite, isnan, isinf C functions used with gcc under Hp unix.\r
- Now __format_nan_or_inf has an implementation entirely based on\r
- numeric_limits values that avoids access to platform functions.\r
-\r
-2007-07-30 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_facets_fwd.h, _num_put.h, _num_get.h, _monetary.h,\r
- _time_facets.h, _locale.h: Fix _GetFacetId workaround for compilers\r
- like gcc since 3.4 that consider only the context at point on template\r
- definition and not at the point of instantiation when resolving\r
- _GetFacetId calls in has_facet or use_facets template functions.\r
-\r
-2007-07-20 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_mbstate_t.h: We have to define mbstate_t ourself\r
- on platforms having mbstate_t in cwchar when we want to only use\r
- C headers.\r
-\r
-2007-07-22 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * src/fstream_unistd.cpp: force use lseek64/mmap64 for HP-UX,\r
- if _LARGEFILE64_SOURCE defined; thanks for Michael Klein.\r
-\r
-2007-07-20 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/_gcc.h, stl_mycomp.h: Removed unused\r
- _STLP_WEAK_ATTRIBUTE macro.\r
-\r
- * stlport/stl/config/_msvc.h, _intel.h, _gcc.h, features.h: Some\r
- cleanup concerning _STLP_STATIC_TEMPLATE_DATA macro.\r
-\r
-2007-07-18 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_num_put.h: Removed __string_to_float declarations only\r
- used in a num_get context.\r
-\r
- * src/num_get_float.cpp:\r
- - Import Glibc ieee854_long_double union for compilers having a real\r
- long double type but no runtime support to correctly generate it. This\r
- union is used by gcc under Cygwin and MinGW and by Borland compiler.\r
- - _Stl_string_to_long_double removed, it was so similar to\r
- _Stl_string_to_double that everything is done with this function now.\r
- - Removed check on exponent value while parsing it from buffer, check is\r
- only done when combining this value with the digits read.\r
-\r
- * src/num_get_float.cpp:\r
- - Generalize synchronization code arround the ecvt/fcvt functions when\r
- the platform do not grant reentrant functions.\r
- - In __format_float_scientific, removed useless rz temporary variable, removed\r
- limitation in the number of appended trailing zeros.\r
- - In __format_float_fixed, removed limitation of number of trailing zeros\r
- added after decimal point, it is only limited by precision.\r
- - __format_float: Code to detect infinity or NaN has been moved before call\r
- to platform specific ecvt/fcvt functions. Thanks to this modification, this\r
- function is not template anymore.\r
- - Add _Stl_ecvt/_Stl_fcvt emulation functions when platform do not grant\r
- the necessary ecvt/fcvt functions for long double. Emulation is based on\r
- sprintf function using 'L' modifier.\r
- - In __write_floatT function, fix size of static buffer used by _Stl_ecvt/fcvt\r
- functions. Fix number of digits in calls to _Stl_fcvt/ecvt in both modes,\r
- fixed or scientific.\r
-\r
- * test/unit/num_put_get_test.cpp: Add some tests, somes with a really high\r
- precision that show problem with static buffer size.\r
-\r
-2007-07-17 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/_algo.c, stlport/stl/_algobase.c: search, the __tmp and\r
- __p1 iterators always point at the same position, hence one of them\r
- is redundant;\r
-\r
- * stlport/stl/_algobase.c: in the main-loop of search there are two\r
- successive while-loops doing exactly the same thing; one of them is\r
- redundant and, since it is inside the main-loop, it slows down\r
- the algorithm significantly;\r
-\r
- * stlport/stl/_algo.c, stlport/stl/_algobase.c: in the search the main-loop \r
- condition "while (__first1 != __last1)" is always true and consequently\r
- redundant; this is because the initial adn in-loop conditions virtually\r
- act as guards and will never let the main-loop condition to fail; since\r
- this condition is evaluated in every main-loop iteration, its removal\r
- will also improve the performance of the algorithm; thanks for\r
- Jim Xochellis for this suggestions.\r
-\r
-2007-07-15 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * src/strstream.cpp: "get end" pointer should be initialized\r
- to the "begin of get + N" in obsolete strstream; bug #1536503,\r
- thanks for Jean-Eric Cuendet;\r
-\r
- * test/unit/strstream_buffer_read_test.cpp, build/test/unit/Makefile.inc:\r
- test for bug above; [submitted by Jean-Eric Cuendet].\r
-\r
-2007-07-05 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * build/Makefiles/nmake/vc8.mak: Removed _CRT_SECURE_NO_DEPRECATE\r
- when building STLport. Not secured version of functions _ecvt and\r
- _fcvt functions used for floating point numbers output are not\r
- reentrant.\r
-\r
-2007-07-04 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * src/num_get_float.cpp: reorder code, one condition go away.\r
-\r
-2007-07-03 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/num_put_float.cpp: _Stl_ecvtR, _Stl_fcvtR, _Stl_qecvtR,\r
- _Stl_qfcvtR functions, pass buffer size as a parameter when the\r
- platform functions need it rather than duplicating the size\r
- definition. This modification has been applied to the DECC platforms\r
- and when the GLibC is in use.\r
- Removed useless islong __format_float_scientific parameter. Removed\r
- useless x __format_float_fixed parameter, islong parameter\r
- replaced with direct specification of the maxfsig value.\r
- In __format_float function, first attempt in detection of NaN or\r
- infinity is done thanks to the std::numeric_limits and compiler\r
- support, _Stl_is_nan_or_inf do not correctly handled long double\r
- values. long double values larger than max double values were always\r
- displayed as Inf.\r
-\r
- * src/num_get_float.cpp: Removed useless null buffer checks in\r
- _Stl_atod functions, we know how this function is called. Replaced\r
- some hard coded constant with numeric_limits values. Add check that\r
- there is less than 64 digits before hiding hidden bits in vv.i64, for\r
- long double it was generating wrong long double value.\r
-\r
- * test/unit/num_put_get_test.cpp: Add numerous tests to check both\r
- long double input and output.\r
-\r
-2007-06-29 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/memory: more forward declarations; fix typo;\r
-\r
- * stlport/functional: more tricks to compile with boost\r
- and tr1;\r
-\r
- * test/unit/boost_check.cpp: problems trace; set 1 in\r
- appropriate places to check presence of problem, but only\r
- use one case at a time.\r
-\r
-2007-06-28 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/locale.cpp, locale_impl.h, stlport/stl/_locale.h,\r
- config/features.h: Runtime check system do not fully use the\r
- MSVC6 workaround anymore, it only use the locale workaround,\r
- not the basic_string one.\r
-\r
- * src/string.cpp: Fix wrong explicit instanciation.\r
-\r
- * test/unit/cppunit/cppunit_mini.h, file_reporter.h: Fix \r
- computation of test failure when both CPPUNIT_CHECK and\r
- CPPUNIT_ASSERT are used.\r
-\r
-2007-06-28 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/boost_type_traits.h: reread boost/config.h\r
- to force usage of stlport in boost and force read essential\r
- macros from boost/config/suffix.hpp; this is because boost\r
- included within stlport from one side, and stlport included\r
- within boost from another side; this make sense with\r
- _STLP_USE_BOOST_SUPPORT defined in user_config.h;\r
- checked for boost 1.34;\r
-\r
- * test/unit/boost_check.cpp, build/test/unit/Makefile.inc:\r
- test for problem above; this simulate problem when boost's\r
- header was included before any stlport's one;\r
-\r
- * stlport/stl/config/features.h: remove definition of\r
- BOOST_STDLIB_CONFIG, due to it unconditionally defined\r
- in boost.\r
-\r
- * stlport/memory: forward declarations for boost required,\r
- by the same reasons as described above.\r
-\r
-2007-06-24 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/_function.h, stlport/functional: fix import\r
- of boost::shared_ptr---moved from _function.h to functional;\r
- import mem_fn, bind, bad_function_call, function, swap from\r
- boost to std::tr1.\r
-\r
-2007-06-23 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_string.h, _string_workaround.h: Some fix for gcc\r
- that is now expose to the VC6 workaround because of the runtime\r
- check mechanism under MinGW.\r
-\r
-2007-06-21 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit/cstring_test.cpp, limits_test.cpp: Small modif to avoid\r
- MSVC compiler warning in release build.\r
-\r
- * stlport/stl/_cwchar.h: Replace a _STLP_MSVC check with a _STLP_MSVC_LIB\r
- check as WCHAR_MIN and WCHAR_MAX macros definition depends on library\r
- and not on compiler.\r
-\r
-2007-06-20 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/memory: import shared_ptr from boost to std::tr1 namespace,\r
- if no _STLP_NO_EXTENSIONS and present _STLP_USE_BOOST_SUPPORT;\r
- see ISO/IEC DTR 19768,\r
- http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf\r
-\r
- * test/unit/shared_ptr_test.cpp: test for shared_ptr.\r
-\r
-2007-06-19 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/debug/_debug.h, _debug.c: Replace __in_range with\r
- stlp_in_range, __in_range is a macro in the Windows Vista PSDK.\r
-\r
- * src/locale.cpp, stlport_prefix.h, warning_disable.h,\r
- stlport/stl/_locale.h, _string.h, config/features.h: Fix some\r
- regression introduce with the improvment of the runtime compatibility\r
- check mecanism.\r
-\r
- * src/c_locale_glibc/c_locale_glibc2.c: Fix implementation of\r
- _Locale_strcmp and _Locale_strwcmp functions.\r
-\r
- * stlport/stl/_limits.c: Change technique used to generate NaN or\r
- infinity floating point numbers. No more reinterpret_cast of a buffer,\r
- we now use an union based technique. gcc prefer this cleaner method\r
- especially in release mode.\r
-\r
- * test/unit/limits_test.cpp: Small test modification as gcc was still\r
- performing some weird optimization in release mode resulting in\r
- unexpected behavior.\r
-\r
-2007-06-19 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/_function.h: import reference_wrapper from boost to\r
- std::tr1 namespace, if no _STLP_NO_EXTENSIONS and present\r
- _STLP_USE_BOOST_SUPPORT; see ISO/IEC DTR 19768,\r
- http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf\r
-\r
- * test/unit/reference_wrapper_test.cpp: test for reference_wrapper.\r
-\r
-2007-06-15 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * build/test/unit/Makefile.inc: macro_checks.cpp instead of cwchar.cpp.\r
-\r
-2007-06-14 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/dll_main.cpp, locale.cpp, locale_impl.h, locale_impl.cpp,\r
- stlport/stl/_locale.h, _rope.h, config/_windows.h, features.h:\r
- Enhance the runtime compatibility mecanism used to detect build\r
- inconsistency under Windows. We now use the locale class with the\r
- VC6 workaround coming with it to force a call to the compatibility\r
- check function. Inconsistency detection is activated if _DEBUG\r
- or _STLP_DEBUG is defined. If an inconsistency is detected it is\r
- reported by the linker thanks to an unresolved symbol\r
- building_for_up_to_windows95_but_library_built_for_at_least_windows98\r
- or\r
- building_for_at_least_windows98_but_library_built_for_up_to_windows95\r
- that are self describing.\r
-\r
- * test/unit/cwchar.cpp: Renamed in macro_checks.cpp, add many tests for\r
- all C Standard macros like CHAR_MIN, CHAR_MAX, INT_MIN, INT_MAX...\r
-\r
- * stlport/stl/_cwchar.h: Add MSVC compilers before Visual Studio 2005\r
- as not defining WCHAR_MAX correctly.\r
-\r
-2007-06-11 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/lock_free_list.h: Fix check of _WIN32_WINNT rather than _WIN32_WINDOWS.\r
-\r
- * stlport/stl/_threads.c: In the Win32 implementation, add a call to\r
- the SwitchToThread function to potentially avoid a costly call to\r
- Sleep(1) that can take more time than expected. If SwitchToThread fail\r
- we call Sleep(1) again. Based on Taras Overchuk bug report 1720635.\r
-\r
-2007-06-11 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * src/fstream.cpp: integration file; code clean, three implementations\r
- sublimated, unix-emulation approach removed; this is reorganization\r
- changeset, functionality was not changed;\r
- \r
- * src/fstream_win32io.cpp: win32io-based implementation of _Filebuf_base,\r
- i.e. based on Windows calls CreateFile/CloseHandle/ReadFile/WriteFile +\r
- CreateFileMapping, MapViewOfFile;\r
-\r
- * src/fstream_unistd.cpp: unistdio-based implementation of _Filebuf_base,\r
- based on unistd open/close/read/write + mmap;\r
-\r
- * src/fstream_stdio.cpp: stdio-based implementation of _Filebuf_base,\r
- based on stdio fopen/flose/fread/fwrite;\r
-\r
- * stlport/stl/_fstream.h: detect of _Filebuf_base implementation moved\r
- into stlport/stl/config files;\r
-\r
- * stlport/stl/config/*.h: iostreams underline technique depends upon\r
- OE or user's preferences;\r
-\r
- * stlport/stl/config/features.h: some system-specific macro moved to\r
- system- or compiler-specific files;\r
-\r
- * stlport/stl/_rope.h: rewritten suspicion code, functionality not changed.\r
-\r
-2007-06-08 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_complex.h: Clean unused _STLP_NO_COMPLEX_SPECIALIZATIONS\r
- macro and code coming with it.\r
-\r
- * build/lib/configure, configure.bat: Removed --windows95 option, it is\r
- useless now that STLport includes windows.h when building the libraries.\r
-\r
- * build/Makefiles/gmake/bcc.mak, dmc.mak, gcc.mak, nmake/vc-common.mak:\r
- Removed references to Windows 95 build, if STLport users want to target\r
- a specific Windows OS they will only have to use --extra-cxxflags to\r
- give WINVER, _WIN32_WINDOWS or _WIN32_WINNT values.\r
-\r
-2007-06-05 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/features.h: Removed unused _STLP_LDOUBLE_* macros giving\r
- real long double size.\r
-\r
- * stlport/stl/_limits.h, _limits.c: Major code upgrade, now computation\r
- of infinity and NaN is done thanks to some code extracted from the boost\r
- library (www.boost.org). This code is more portable as it adapts to compiler\r
- representation of float, double and long double and do not require many\r
- compiler macro checks. Additionaly STLport numeric_limits now handle real\r
- denorm_min values.\r
-\r
- * test/unit/limit_test.cpp: Add many test on dernomalized float and\r
- some other values of numeric_limits.\r
-\r
- * stlport/stl/config/_cray.h, _gcc.h, _msvc.h, stl_mycomp.h: Removed\r
- _STLP_NO_IEC559_SUPPORT macro, meaning was not clear and impact was\r
- localized to the _limits.h file so use of a global macro was rather\r
- useless.\r
-\r
-2007-05-29 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_num_get_.c: Small refactoring, all num_get::do_get for\r
- float, double and long double are now calling the same __do_get_float\r
- function. Moreover, when __read_float failed, __sring_to_float is not\r
- called anymore.\r
-\r
-2007-05-28 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit/limits_test.cpp: Add test checking that numeric_limits\r
- min is really min and max really max.\r
-\r
- * src/allocators.cpp, locales.cpp, stlport/stl/_threads.h,\r
- config/_windows.h: Fix detection of Windows OS having limited\r
- implementation of Interlocked[Increment,Decrement] Win32 API\r
- functions. _STLP_WIN95 macro has been rename _STLP_WIN95_LIKE\r
- as it do not only signal Windows 95 build context but also former\r
- OS versions.\r
-\r
-2007-05-22 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/c_locale_win32/c_locale_win32.c: gcc MinGW has no thread\r
- locale storage intrisinc support so for this compiler, locale\r
- creation failure will always be reported with runtime_error\r
- exception.\r
-\r
- * stlport/stl/config/_msvc.h: Configuration fix, check that _STLP_MSVC\r
- is defined before activating MSVC6 workaround\r
- (_STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND macro).\r
-\r
-2007-05-21 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/c_locale.h, locale.cpp, locale_impl.cpp,\r
- c_locale_dummy/c_locale_dummy.c, c_locale_win32/c_locale_win32.c,\r
- c_locale_glic/c_locale_glibc.c, c_locale_glibc2.c: Add a _Locale_errno\r
- function to the small localization framework in order to report more\r
- accurate locale creation failure. For the moment there are 3 possible\r
- failure reasons, no more memory, unsupported locale, no platform support.\r
- In case of memory starvation, we throw a bad_alloc exception.\r
-\r
-2007-05-19 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_valarray.h, _valarray.c: Add many assertion checks to\r
- track potential undefined behaviors mostly regarding invalid argument\r
- size.\r
-\r
-2007-05-17 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_prolog.h: Hide _debug.h when including C standard\r
- headers. Some platforms (Win32) include C headers in an 'extern "C"'\r
- scope that do not accept templates exposed in _debug.h.\r
-\r
-2007-05-16 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/_auto_link.h, build/Makefiles/gmake/cygming/lib.mak,\r
- build/Makefiles/nmake/lib/macro.mak: Removed version information\r
- from static libs name for consistency among all supported compilers/\r
- platform.\r
-\r
-2007-05-15 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_range_errors.c, _stdexcept_base.c: New files\r
- containing codes that used to be duplicated in dll_main.cpp.\r
-\r
- * src/dll_main.cpp: Include _range_errors.c and _stdexcept_base.c\r
- when necessary.\r
-\r
- * stlport/stl/_stdexcept_base.h, _stdexcept_base.c: __Names_exception\r
- do not truncate anymore exception message when longer than internal\r
- static buffer, a dynamic buffer is allocated through malloc in this\r
- case. I haven't use __iostring class in this case as it would\r
- have introduce a cyclic dependency between classes.\r
-\r
-2007-05-11 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/c_locale.h, c_locale_glibc/c_locale_glibc2.c: Some fixes to\r
- avoid gcc warnings when compiled with -Wall -Wmissing_prototypes.\r
-\r
- * stlport/stl/_num_put.c: Fix a cast to avoid a signed/unsigned\r
- comparison warning.\r
-\r
- * c_locale_glibc/c_locale_glibc2.c: Use __locale_t __names field\r
- rather than __locales to access to category names. Thanks to this\r
- modification we do not need the Glib internal locale_data struct\r
- definition anymore.\r
-\r
- * test/unit/fstream_test.cpp: Port the FstreamTest::null_stream for\r
- unixes platforms that use /dev/null, the test is not ignored anymore.\r
-\r
- * src/fstream.cpp: Under Windows, check that the file we are\r
- opening is a real file before trying to truncate it or move to\r
- the end. Allow use of special file like "NUL" with C++ fstream.\r
-\r
-2007-05-10 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/stdio_streambuf.cpp: Add checks of error codes returned\r
- by ftell and fseek functions in stdio_istreambuf::showmanyc\r
- Windows CE special implementation.\r
-\r
- * test/unit/fstream_test.cpp: Add new test case to check file streams\r
- built from platform dependent null pipe (NUL under Windows, /dev/null\r
- under unixes). Ignored for the moment.\r
-\r
-2007-05-04 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/locale.cpp, allocators.cpp, stlport/stl/_threads.h,\r
- config/_windows.h: Change macro checks to detect Windows 95 platform.\r
- Windows 95 and NT4 has both WINVER == 0x0400 but only Windows 95 has\r
- limitation impacting STLport code. Distinction between both platforms\r
- is done thanks to the _WIN32_WINNT macro only defined for NT4. New\r
- _STLP_WIN95 macro signals Windows 95 platform, it replaces\r
- _STLP_WIN32_VERSION. Thanks Jan Echternach patch 1707963.\r
-\r
- * src/c_locale_win32/c_locale_win32.c: Remove all code concerning the\r
- messages facet, Windows platform do not support it.\r
-\r
- * src/fstream.cpp: Fix use of fseek in _Filebuf_base::_M_seek in\r
- _STLP_USE_STDIO_IO mode. fseek do not return the position in file\r
- but a boolean value indicating if call has succeeded or not, and\r
- call to ftell to get file position. Thanks Marco Jez bug report\r
- 1704843. I have also integrated a number of small fixes to use\r
- _STLP_USE_STDIO_IO mode under MSVC or GCC MinGW, it shouldn't be\r
- really nececarry but it costs nothing and help testing this mode.\r
-\r
-2007-05-03 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_numpunct.h, _time_facets.h, _ctype.h, _monetary.h,\r
- _messages_facets.h: Remove friend _Locale_extract_hint function\r
- declaration replace by the more simple friend class\r
- _Locale_impl expression.\r
-\r
- * src/locale_impl.cpp: Change implementation of\r
- _Locale_impl::insert_*_facets methods. Now only facets used internally\r
- for iostreams implementation are considered as mandatory when\r
- instanciating a locale from a name. Other facets like collate or\r
- messages won't generate a runtime_error exception if the platform is\r
- not able to grant an implementation. This will make STLport more\r
- flexible in regards of platform possibilities.\r
-\r
- * stlport/stl/_messages_facets.h, src/facets_byname.cpp, messages.cpp:\r
- Simplification of the messages facet implementation. _Messages class\r
- has no virtual method anymore, _Messages_Impl has been removed. Now\r
- messages class implementation is a dummy implementation that do not\r
- allow access to platform messages, real messages implementation is\r
- available thanks to the messages_byname class.\r
-\r
- * stlport/stl/_time_facets.h: _Locale_time instance is not kept\r
- anymore in the facet implementation, it is only used on construction\r
- to initiliaze _Time_Info struct instance.\r
-\r
-2007-05-02 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit/codecvt_test.cpp: Fixed comparison with char_traits::eof\r
- to use eq_int_type in order to be compatible with platform having\r
- a default unsigned char built-in type. Thanks Marco Jez report.\r
-\r
-2007-04-19 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_valarray.h: Integrate C++ Standard defect 253\r
- signaling that slice_array, gslice_array, mask_array and\r
- indirect_array copy constructor cannot be private.\r
-\r
- * test/unit/valarray_test.cpp: Add compilation test to check that\r
- valarray operator[] taking a slice, gslice, valarray<bool> and\r
- valarray<size_t> can be called.\r
-\r
-2007-04-16 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/locale.cpp: Simplified locale::_M_throw_runtime_error\r
- implementation using std::string rather than C string functions.\r
- Also change exception message generation to make failure reason\r
- more obvious.\r
-\r
- * src/facets_byname.cpp: As, according Standard, *_byname facet\r
- constructor should behave as locale constructor taking a name\r
- STLport now throws a runtime_error instance when building\r
- a facet from a null name.\r
-\r
- * src/messages.cpp: Now contains all classes implementation involved\r
- in messages facet support.\r
-\r
- * stlport/stl/_messages_facets.h, src/messages_facets.h, messages.cpp:\r
- Simplification of the messages facet implementation. Major modification\r
- is that the C messages facet has now only one representation which is\r
- the one given by the _Message class. There used to be an other one\r
- based on _Messages_impl class using __acquire_messages("C").\r
-\r
- * src/messages_facets.h: Internal classes _Messages and _Messages_impl\r
- are not exported anymore.\r
-\r
- * test/unit/locale_test.cpp: Facet tests has been moved to facet\r
- category test files.\r
-\r
- * test/unit/collate_facets_test.cpp, ctype_facets_test.cpp,\r
- messages_facets_test.cpp, money_facets_test.cpp, num_facets_test.cpp,\r
- time_facets_test.cpp, build/test/unit/Makefile.inc: New test cases for\r
- each facet category.\r
-\r
- * stlport/stl/config/features.h: Define _STLP_NO_TYPEINFO when _STLP_NO_RTTI\r
- is defined.\r
-\r
-2007-04-15 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/dll_main.cpp: Removed useless _Atomic_swap_struct export\r
- that has already been removed from _threads.h and that was generating\r
- compilation error with MSVC 2005.\r
-\r
-2007-04-10 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/pointers/_deque.h, _list.h, _set.h, _slist.h:\r
- Eric Sanford DMC patch to allow pointer specialization feature.\r
-\r
- * test/unit/map_test.cpp, set_test.cpp, slist_test.cpp,\r
- unordered_test.cpp: Remove DMC check hiding pointer specialization\r
- tests.\r
-\r
- * build/Makefiles/gmake/dmc.mak, app/dmc.mak: Additional fixes from\r
- Eric Sanford.\r
-\r
-2007-04-09 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_pair.h, _vector.h, config/_bc.h: Borland patch\r
- from Eric Sanford, remove move semantic for free compiler.\r
-\r
- * test/unit/mvctor_test.h: Eric Sanford patch to restore 2 tests\r
- that has been lost in a previous test modification,\r
- movable_declaration_assoc and movable_declaration_hash.\r
-\r
- * test/unit/mvctor_traits_test.cpp: Add some _STLP_NO_MOVE_SEMANTIC\r
- checks when using __move_traits.\r
-\r
-2007-04-05 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/_gcc.h: Removed undef of _STLP_NEW_PLATFORM_SDK,\r
- under MinGW, MinGW can use a new SDK and not the one coming with\r
- MinGW.\r
-\r
- * Merged with STLPORT_5_1 branch up to revision 2994.\r
-\r
-2007-04-05 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * src/ctype.cpp: move declaration from loop;\r
-\r
- * stlport/stl/debug/_debug.c: stl/_cstdlib.h already included;\r
-\r
- * stlport/stl/_cprolog.h: prolog for C headers can't include\r
- files with C++ constructions;\r
-\r
- * stlport/*.h: C headers use prolog that don't include C++\r
- constructions;\r
-\r
- * test/unit/stldbg_include.cpp, build/test/unit/Makefile.inc:\r
- test for problem with inclusion C++ constructions from\r
- C header.\r
-\r
-2007-04-04 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * build/lib/configure.bat: Change advise command to build\r
- STLport after configuration, it is now 'clean all' rather\r
- than default build command.\r
-\r
-2007-03-22 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/c_locale_dummy/c_locale_dummy.c: Fixed dummy definition\r
- for a number of localization functions that are now type safe.\r
-\r
-2007-03-20 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_prolog.h, config/features.h, debug/_debug.h:\r
- Normalize the way STLport debug mode macros are defined. All\r
- debug macro definition are now coming from _debug.h and not\r
- anymore partially from features.h. _debug.h is now included from\r
- _prolog.h after all configuration has been completed.\r
-\r
- * stlport/stl/_alloc.h, _iterator_base.h, _valarray.h: Removed\r
- _debug.h references now fully integrated in STLport configuration\r
- phase.\r
-\r
- * stlport/stl/config/_windows.h: Add some Windows macro before\r
- inclusion of windows.h when building library to limit Windows\r
- pollution (NOMINMAX, STRICT). Moreover add definition of\r
- _STLP_OUTERMOST_HEADER_ID macro before windows.h inclusion to\r
- avoid indirect include of STLport stuff throught C Standard headers\r
- included in windows.h as at this moment STLport is not yet completely\r
- configured.\r
-\r
- * stlport/stl/config/_evc.h: Removed unjustified macro definition to\r
- limit inclusion from windows.h, it is a user decision not an STLport one.\r
-\r
- * build/Makefiles/nmake/vc8.mak: Fix definition of DEFS in this file\r
- to keep current DEFS value that might exist if configure --extra-cxxflag\r
- option has been used.\r
-\r
- * src/allocators.cpp: Add _STLP_NEW_PLATFORM_SDK macro check to\r
- perform necessary const_cast in _STLP_ATOMIC_ADD macro definition.\r
-\r
-2007-03-17 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * build/Makefiles/gmake/bcc.mak, dmc.mak, gcc.mak, nmake/vc-common.mak:\r
- Add WINVER definition when building libraries to signal required OS\r
- compatibility, per default it is Windows 98 and later ones.\r
-\r
- * build/lib/configure, configure.bat: Add new configuration option\r
- --windows95 to signal that we want Windows 95 compatibility.\r
-\r
- * stlport/stl/_threads.h, config/_windows.h, src/allocators.cpp:\r
- Move _STLP_ATOMIC_ADD macro definition in source files where it is\r
- used.\r
-\r
- * stlport/stl/config/_windows.h:\r
- - When building the libraries we always include windows.h, when using\r
- the library we always use own function declaration to avoid windows.h\r
- inclusion.\r
- - InterlockedExchangeAdd is not declared anymore.\r
- - InterlockedExchangePointer is only used when detecting 64 bits\r
- platform thanks to the _WIN64 macro, otherwise InterlockedExchange\r
- is used.\r
-\r
-2007-03-15 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * build/Makefiles/nmake/vc8.mak: Default MSVC 2005 build is now done\r
- without safe string functions for performance reasons.\r
-\r
- * stlport/stl/_locale.h, _alloc.h, _rope.h: Moved\r
- _STLP_CHECK_RUNTIME_COMPATIBILITY_AT_LINK_TIME invocation where problem\r
- might happen which is in the rope implementation for current use. A future\r
- use will need to guess where this function has to be invoked.\r
-\r
- * stlport/stl/config/feature.h: Fixed _STLP_USE_NO_IOSTREAMS check to undef\r
- _STLP_CHECK_RUNTIME_COMPATIBILITY_AT_LINK_TIME macro.\r
-\r
- * stlport/stl/config/_windows.h: For performance reason\r
- _STLP_CHECK_RUNTIME_COMPATIBILITY_AT_LINK_TIME system is only used in debug\r
- mode (detected thanks to _DEBUG macro).\r
-\r
-2007-03-13 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * Merged with STLPORT_5_1 branch revision 2963.\r
-\r
- * src/locale_catalog.cpp: Use C cast for C struct like _Locale_ctype,\r
- it makes Borland compiler happier.\r
-\r
- * stlport/stl/_string.h: Made inheritance relation between basic_string\r
- and _String_base class public for DMC.\r
-\r
- * src/dll_main.cpp, stlport/stl/config/features.h,\r
- stlport/stl/_locale.h, _alloc.h: Add a new mecanism to detect library\r
- build/use inconsisteny at link time.\r
- _STLP_CHECK_RUNTIME_COMPATIBILITY_AT_LINK_TIME macro contains a\r
- function name declared in features.h and defined in dll_main.cpp.\r
- This function name depends on the build context. If, when using the\r
- library, this macro contains an other function name because of a\r
- different configuration context an unresolved symbol will appear at\r
- link time showing the missing function symbol. Function name should\r
- be chosen carefully to make problem as explicit as possible. For the\r
- moment function is called in arbitrary places, in std::use_facet\r
- function and std::allocator constructor. \r
-\r
- * stlport/stl/config/_windows.h: Use\r
- _STLP_CHECK_RUNTIME_COMPATIBILITY_AT_LINK_TIME macro to detect\r
- inconsistency when building STLport for Windows 95 and using it\r
- in Windows XP or opposite. Depending on targetted platform,\r
- _Refcount_Base has a different sizeof which lead to undefined\r
- behavior at runtime if we do not use this trick.\r
-\r
-2007-03-13 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * test/unit/string_test.cpp: add test for trivial compare with plain\r
- char array;\r
-\r
- * test/unit/exception_test.cpp: add test for what().\r
-\r
-2007-03-10 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/_windows.h: Major modification, when building\r
- STLport libs windows.h or afx.h, when _STLP_USE_MFC is defined, is\r
- systematically included in order to detect the SDK version used to\r
- the libraries. _windows.h is now the only place is the library where\r
- windows.h is included.\r
-\r
- * src/dll_main.cpp, fstream.cpp, lock_free_slist.h,\r
- c_locale_win32/c_locale_win32.c: Removed references to windows.h now\r
- included from _windows.h.\r
-\r
- * stlport/stl/_istream.c: Add parenthesis on a use_facet call to make\r
- VC6 happy when building the library.\r
-\r
- * test/unit: Disable tests checking instanciation and use of\r
- containers with an incomplete type when pointer specialization is\r
- enable.\r
-\r
- * stlport/stl/config/user_config.h: Add comment about limitation\r
- of pointer specialization.\r
-\r
- * stlport/stl/_string.h, _string_workaround.h: Now that _STLP_DEBUG\r
- mode do not use inheritance anymore, use private rather than\r
- protected members in basic_string implementation. Only exception\r
- is when using VC6 workaround, this is what _STLP_PRIVATE macro is\r
- for.\r
-\r
- * src/allocators.cpp, stlport/stl/config/features.h: Removed\r
- unjustified _STLP_PRIVATE macro.\r
-\r
-2007-03-09 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/config/_msvc.h: use MS's safe string functions only\r
- if _CRT_SECURE_NO_DEPRECATE not defined (see bug #1674974).\r
- Thanks Bronek Kozicki.\r
-\r
-2007-03-08 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * src/num_get_float.cpp: experimental support of correct input\r
- of long doubles on Linuxes.\r
-\r
- * test/unit/num_put_get_test.cpp: test for correct input of float,\r
- double and long double, including values out of type range.\r
-\r
- * stlport/stl/config/_linux.h: mark that Alpha, PowerPC,\r
- 32-bit SPARC, 32-bit MIPS, ARM, SH4 has no long double.\r
-\r
-2007-03-05 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * Synchronization with STLPORT_5_1 branch revision 2945.\r
-\r
-2007-02-19 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl: swap workaround review, now when swap implementation\r
- detect that a STLport class is being swapped it calls the\r
- _M_swap_workaround member method. We do not use the swap method\r
- anymore because the way the workaround is implemented would have\r
- forces us to add a swap method to queue, priority_queue and stack\r
- containers that do not have a swap method according the C++ Standard.\r
-\r
-2007-02-15 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * Synchronization with STLPORT_5_1 branch up to revision 2918.\r
-\r
-2007-02-13 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/features.h, _msvc.h, stl_mycomp.h: Removed\r
- _STLP_USING_NAMESPACE_BUG macro config. STLport private namespace\r
- is now always nested in stlport one. Makes namespace management\r
- easier.\r
-\r
- * stlport/stl/_algobase.h: Restore workaround for compilers\r
- not supporting template function partial ordering feature, was\r
- resulting in regression for a number of compilers, VC6, Borlands.\r
- A template class like _SwapImplemented do not have to be specialized\r
- to be useful, this class is used to detect types having a swap\r
- method. Detection is based on the class being flagged as STLport\r
- class thanks to the __stlport_class inheritance.\r
-\r
- * test/unit/swap_test.cpp: Add macro checks to ignore test for\r
- compilers we know not being able to support it.\r
-\r
-2007-02-12 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/features.h: Add necessary macro to work\r
- with tr1 namespace of the C++ technical report.\r
-\r
- * stlport/stl/_unordered_set.h, _unordered_map.h: Put unordered\r
- containers in tr1 namespace.\r
-\r
- * test/unit/unordered_test.cpp, mvctor_test.cpp,\r
- mvctor_declaration_test.cpp: Add necessary using directive\r
- to access tr1 namespace.\r
-\r
-2007-02-12 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * Repository: revert back r2908;\r
-\r
- * test/unit/swap_test.cpp: test that swap( a, b ) has specialization\r
- a.swap( b ), when required;\r
-\r
- * stlport/stl/_algobase.h: _SwapImplemented useless, because it never\r
- specialized elsewhere---remove swap specialization here, use instead\r
- swap specialization from _relops_cont.h, when required.\r
-\r
-2007-02-07 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * locale_impl.cpp, monetary.cpp, num_get.cpp, num_put.cpp,\r
- time_facets.cpp: Moved all _GetFacetId implementations in\r
- the same translation unit as the one where id are initialized.\r
-\r
-2007-02-05 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_alloc.h, allocators.cpp: Moved _ALIGN and\r
- _ALIGN_SHIFT constant definition in source file where it is used\r
- _MAX_BYTES is used in deque implementation. Moreover those\r
- constant value now depends on sizeof(void*) to avoid preprocessor\r
- check like _WIN64.\r
-\r
- * stlport/stl/_vector.h, _vector.c: Moved __type_traits\r
- instanciations in methods that need it in order to be able to\r
- access nested types like iterator even if type used to instanciate\r
- the vector is not yet completely defined.\r
-\r
- * stlport/stl/_deque.h, _deque.c: Removed useless __type_traits\r
- instanciations. For the same reason than above, __buffer_size\r
- constant has been replaced by a function computing deque buffer\r
- size at runtime.\r
-\r
- * stlport/stl/_hashtable.h, _hashtable.c: For the same reason than\r
- above, hashtable do not contains anymore an instance of the _ExK type\r
- which is used to extract the key part from a value instance. This\r
- instance was not returned in any method of the hashtable type. An\r
- unused constructor taking an instance of this type has been removed.\r
-\r
- * test/unit/vector_test.cpp, deque_test.cpp, list_test.cpp,\r
- slist_test.cpp, map_test.cpp, set_test.cpp, hash_test.cpp,\r
- unordered_test.cpp: Add compilation tests to check that the container\r
- iterator nested type is accessible even if type used to instanciate\r
- the container is not yet completely defined.\r
-\r
-2007-02-02 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/c_locale.h: Add type information for the following functions\r
- of the localization support API:\r
- - _Locale_*_create\r
- - _Locale_*_destroy\r
- - _Locale_*_name\r
- Also add some variable name to make associated documentation more\r
- explicit.\r
-\r
- * src/c_locale_win32/c_locale_win32.c,\r
- src/c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c: Adapted to\r
- conform to new localization API functions prototypes. Adaptation\r
- in glibc before 2.2 has been updated but compilation hasn't been\r
- completed because of the lack of the glibc required version.\r
-\r
- * src/locale_catalog.cpp: Now wrapper functions are used to\r
- offer a homogeneous prototype to type safe localization API\r
- functions.\r
-\r
-2007-02-02 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * test/unit/hash_test.cpp: add test for hash_multimap, equivalent\r
- keys problem on some data sets [this is regression test, suggested\r
- by tef for 5.0.2, bug report #1606308].\r
-\r
-2007-01-29 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/debug/_deque.h: typename required.\r
-\r
- * test/unit/sstream_test.cpp: test for seekp added.\r
-\r
-2007-01-28 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * build/Makefiles/gmake: Borland patch from Eric Sanford to install\r
- .tds file for Borland debugger.\r
-\r
- * trunk synchronized with STLPORT_5_1 branch up to revision 2895.\r
-\r
- * stlport/stl/_threads.h: Changed way of including headers for\r
- _STLP_UITHREADS platform. We now include internal STLport headers\r
- rather than Standard ones. It was especially important for Sun\r
- Studio compiler that natively include Standard headers only once.\r
-\r
-2007-01-25 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * src/facets_byname.cpp: we search within scope, specified by mask,\r
- so _Locale_wchar_ctype return can't be beyond of this mask.\r
-\r
- * src/c_locale_glibc/c_locale_glibc2.c: _Locale_wchar_ctype\r
- implemented.\r
-\r
- * test/unit/locale_test.cpp: test for ctype facet for wchar_t added.\r
-\r
-2007-01-23 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_locale.h: Introduction of the _GetFacetId function\r
- to isolate access to facet id instance in one place. It guaranty that\r
- the facet id instances initialized in _Stl_loc_assign_ids function\r
- are the same as the ones used by streams to format output. Many compilers\r
- have problem with template class static variable and duplicate them\r
- arround the different shared library depending on STLport.\r
-\r
- * stlport/stl/_monetary.h, _num_get.h, _num_put.h, _time_facets.h:\r
- Add _GetFacetId overloads for money_get, money_put, num_get, num_put,\r
- time_get, time_put facets that are exposed as template facets. Other\r
- facets are fully specialized template classes whose id should be\r
- correctly handle by compilers like for any static variable in a non\r
- template class.\r
-\r
- * src/monetary.cpp, num_get.cpp, num_put.cpp, time_facets.cpp: Add\r
- _GetFacetId implementation.\r
-\r
- * stlport/stl/_collate.h: Use _GetFacetId in __locale_do_operator_call\r
- implementation, not required but more consistent.\r
-\r
- * stlport/stl/_monetary.c, _num_put.c, _num_get.c, _time_facets.c,\r
- src/locale_impl.cpp: Removed now useless gcc Cygwin or MinGW and\r
- Borland workarounds.\r
-\r
- * test/unit/locale_test.cpp: Removed facet_id test case, facet id\r
- indexes are STLport internal stuff that shouldn't be part of a unit\r
- test. Wrong facet id management will be shown by other tests. Moreover\r
- this test was failing for compilers duplicating template class\r
- static instances.\r
-\r
-2007-01-20 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_cmath.h, _cstdlib.h, config/_watcom.h: Small\r
- evolution for Open Watcom support.\r
-\r
- * Synchronization of trunk from STLPORT_5_1 branch from revision\r
- 2750 to revision 2871.\r
-\r
- * stlport/stl/config/features.h, _gcc.h, _intel.h, _msvc.h, _sgi.h:\r
- Major exception policy modification, _STLP_NOTHROW default value\r
- is now throw() when exception support is activated. Compilers not\r
- supporting is should define this macro as empty. Configuration files\r
- of compilers already managing this feature have been updated.\r
-\r
-2007-01-19 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/config/host.h: define one of __SunOS_5_x macro\r
- for gcc (during installation?) on Solaris; note, that Solaris\r
- system may has patch with MATH_F and MATH_L functions.\r
-\r
- * stlport/stl/config/_solaris.h: reminder for __SunOS_5_x\r
- macro definition for gcc; turn on/off MATH_F/MATH_L functions\r
- present: see beacon that depends upon Solaris version and patch present,\r
- as defined by SunPro compilers or in host.h. Thanks to Graham Reed.\r
-\r
- * stlport/stl/config/_sunprocc.h: if use new-c-headers, SunPro\r
- include iso/stdlib_iso.h instead of stdlib.h; note, that this exclude\r
- usage of long double, long long, etc. functions, even when ones present\r
- in OS. Thanks to Graham Reed. Bugreport 1630943.\r
-\r
-2007-01-18 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_num_put.c: Add cast to avoid gcc warning.\r
-\r
- * stlport/stl/_pair.h, _construct.h: Add _STLP_NO_MOVE_SEMANTIC\r
- before inclusion of _move_construct_fwk.h.\r
-\r
- * stlport/stl/_istream.c: Removed useless cast to num_get facet.\r
-\r
- * src/system_api.c: Move macro check to at least include math.h\r
- in order to avoid an empty translation unit which can generate\r
- compilation warning.\r
-\r
-2007-01-17 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/_cmath.h: move hypot in global namespace for SunSoft;\r
- suggested by Graham Reed.\r
-\r
-2007-01-15 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit/locale_test.cpp: Upgrade Russian currency abbreviation\r
- 'RUR' to 'RUB'. Thanks Tiziano Muller, bug report 1634886.\r
-\r
- * test/unit/cstring_test.cpp: Fix test to avoid some gcc warnings.\r
-\r
- * stlport/stl/config/_gcc.h: Add _STLP_NOTHROW definition for\r
- this compiler for C++ Standard compliancy. It might also help the\r
- compiler not to emit false warning about potential use of\r
- uninitialized variable (-Wall mode).\r
-\r
- * build/lib/Makefile.inc, src/system_api.h, system_api.c: New source\r
- file used for platform exposing some features only to C compiler. for\r
- the moment used under Hp Unix for GNU compiler access to platform\r
- isfinite, isnan and isinf functions.\r
-\r
- * src/num_put_float.cpp: Replace a lot of unofficial Hp Unix specific\r
- code to access functions isfinite, isinf or isnan. Replaced by\r
- system_api.h.\r
-\r
- * build/Makefiles/gmake/hp-ux/sys.mak: Looks like install command\r
- on this platform is rather exotic, use cp instead.\r
-\r
-2007-01-14 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/_system.h: Add __SUNPRO_C macro check to\r
- detect Sun Pro C compiler. Thanks Graham Reed bug report 1630916.\r
-\r
- * stlport/stl/_cstdlib.h: Add __SUNPRO_CC macro check before\r
- defining abs(long) and div(long, long) as Sun pro already\r
- defined them. Thanks Graham Reed bug report 1630972.\r
-\r
-2007-01-07 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl: Add _STLP_NO_MOVE_SEMANTIC macro checks to\r
- completely hide move semantic framework when not necessary.\r
-\r
-2007-01-05 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit/bitset_test.cpp: Check _STLP_NON_TYPE_TMPL_PARAM_BUG\r
- macro before doing tests that depends on it.\r
-\r
- * stlport/stl/_list.h: Add assertion to signal potential stack\r
- overflow in recurssive calls to list::insert and list::splice thanks\r
- Aleksey Sanin idear.\r
-\r
- * build/Makefiles/gmake/lib/gcc.mak: Removed obsolete -C ld option\r
- on Hp Unix platform.\r
-\r
- * stlport/stl/_mbstate_t.h: Attempt to fix STLport config for compilers\r
- coming with a native lib defining mbstate_t only for C++ compilers.\r
- For those compilers native mbstate_t definition won't be used for\r
- the moment, STLport simply grant a dummy definition in C. Test\r
- under Hp Unix has shown that it works.\r
-\r
-2006-12-29 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/iostream.cpp, stlport/stdio.h, stl/_cstdio.h: Eric Sanford\r
- patch to move a Borland workaround from cstdio to stdio.h.\r
-\r
- * stlport/stl/debug: Generalize _STLP_NO_MOVE_SEMANTIC check\r
- to hide move constructors like already done in non debug\r
- implementation.\r
-\r
- * stlport/stl/config/_msvc.h: Restore move semantic for MSVC6. AFAIR\r
- only MSVC .Net 2002 had problem with it.\r
-\r
- * test/unit/strstream_test.cpp: Made the tests for _STLP_LONG_LONG\r
- a little bit more portable.\r
-\r
-2006-12-20 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit/strstream_test.cpp: New test case for sourceforge\r
- bug report 1615554. Not confirm for the moment.\r
-\r
- * test/unit/math_aux.h, mvctor_test.h, string_test.cpp: Fixes\r
- to correctly take into account _STLP_USE_NAMESPACES.\r
-\r
-2006-12-19 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit/bvector_test.cpp: Fix macro check for namespace\r
- support.\r
-\r
- * test/unit/num_put_get_test.cpp: disable warning about float\r
- overflow for MSVC.\r
-\r
-2006-12-17 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit: One more cleanup for compilers not supporting the\r
- namespace feature. This time we avoid namespace specification when\r
- doing template specialisation of Standard functor like less or\r
- allocator.\r
-\r
-2006-12-15 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/_dm.h, test/unit/map_test.cpp: Eric Sanford\r
- patch for DMC.\r
-\r
-2006-12-13 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit/test_main.cpp: Clean up use of namespace feature.\r
-\r
- * test/unit: Clean up use of std namespace or ignore tests if\r
- necessary.\r
-\r
-2006-12-13 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport, src: Orphan code removed [Symantec without maintainance a long time;\r
- gcc prior 2.95 and 2.96 can't work with current code in any case;\r
- NetWare unsupported too]\r
-\r
-2006-12-13 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/feature.h: Fix and generalize the mutable\r
- workaround for compilers missing this feature. Replace\r
- _STLP_ASSIGN_MUTABLE with _STLP_MUTABLE macro that is more flexible\r
- as not limited to assignment.\r
-\r
- * stlport/stl/_istreambuf_iterator.h, _stream_iterator.h, _string_sum.h:\r
- Use _STLP_MUTABLE rather than manually handle _STLP_NEED_MUTABLE macro.\r
-\r
- * stlport/stl/_sstream.h: Removed useless mutable qualifier for\r
- basic_stringbuf _M_str member.\r
-\r
- * test/unit/bind_test.cpp: Use STLport mutable workaround.\r
-\r
- * src/message_facets.h, facets_byname.cpp: Limit use of the mutable\r
- qualified to one member in _Message_Impl class and use _STLP_MUTABLE\r
- in class implementation.\r
-\r
-2006-12-11 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit/mvctor_test.cpp: Split in 2 other translation unit\r
- mvctor_declaration_test.cpp and mvctor_traits_test.cpp without\r
- impacting number of test case. It helps DMC to perform a correct\r
- link.\r
-\r
- * stlport/stl/type_manips.h: Check _STLP_DONT_USE_PRIV_NAMESPACE before\r
- importing __true_type and __false_type in private namespace.\r
-\r
- * stlport/stl/config/_dec.h, _apcc.h: Removed references to unused\r
- _STLP_HAS_NO_NEW_IOSTREAMS macro.\r
-\r
-2006-12-11 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * src/fstream.cpp, stlport/stl/_fstream.h: non-template friend function\r
- of template class isn't good idea. Fixed.\r
-\r
-2006-12-09 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_range_errors.h: To complete 2006-12-04 modification\r
- fix inclusion to access to string definition. In normal mode we include\r
- stlport/stl/_string.h rather than string header. There is a special case\r
- however if cumulating _STLP_NO_IOSTREAMS, _STLP_DONT_REDEFINE_STD and\r
- _STLP_WHOLE_NATIVE_STD then functions defined in _range_errors.h will\r
- throw exception from std namespace rather than from stlport.\r
-\r
- * stlport/stl/config/user_config.h: Documented above modification.\r
-\r
- * stlport/stl/config/features.h: Modify _STLP_VENDOR_STD definition. This\r
- internal macro do not have to use __std_alias, within STLport code std is\r
- not a macro and can be used as the vendor namespace.\r
-\r
-2006-12-07 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_algobase.c, config/features.h: Removed unused\r
- _STLP_MPW_EXTRA_CONST macro.\r
-\r
- * stlport/stl/config/_watcom.h, _dm.h, feature.h: Add new \r
- _STLP_NO_CONST_IN_PAIR macro config to avoid instanciation of\r
- pair with a const qualified type. _STLP_CONST is defined based\r
- on _STLP_NO_CONST_IN_PAIR.\r
-\r
- * stlport/stl/_map.h, _hash_map.h, _unordered_map.h: Add use of\r
- _STLP_CONST.\r
-\r
- * stlport/stl/_num_put.c: Introduce __do_put_bool function containing\r
- all codes to render bool values. We do not use anymore\r
- __copy_integer_and_fill function that was difficult to instanciate for\r
- Open Watcom compiler. Moreover this function was not really adapted for\r
- being use in this context, code duplication is very limitated and\r
- absolute number of lines of code hasn't been modified.\r
-\r
- * stlport/stl/_fstream.h, src/fstream.cpp: Removed useless declaration\r
- of template specialization for _Noconv_input _Noconv_output and _Underflow.\r
- _Underflow template specialization now use a function __Underflow_doit\r
- to avoid the complex syntax of the implementation of a member method of\r
- a template class specialization in fstream.cpp.\r
-\r
- * src/message_facets.h: Add missing allocator parameter in hash_map\r
- instanciation, required for compiler lacking default template parameters\r
- support.\r
-\r
- * src/num_get_float.cpp: Add unsigned 64 bits support for Open Watcom.\r
-\r
- * stlport/stl/_cmath.h, _cstdlib.h: Signal that Open Watcom has already\r
- all math functions C++ overloads in global namespace.\r
- \r
- * Cleanup of all workarounds for MSVC before version 6.\r
-\r
- * build/Makefiles/gmake/gcc.mak: Hide -fvisibility option for windows as\r
- in this context we are not able to correctly detect gcc version in use. \r
-\r
- * stlport/stl/_fstream.h: Reorder member variables in _Filebuf_base\r
- to avoid gcc warning.\r
-\r
-2006-12-06 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * STLport 5.1.0 released based on STLPORT_5_1 branch revision 2750.\r
-\r
- * Merge STLPORT_5_1 branch from revision 2711 to 2749.\r
-\r
- * stlport/stl/config/_hpux.h: Specify that Hp Unix is a unix platform\r
- _STLP_UNIX. This platform was already recognise as a unix platform\r
- but it is more clear to put it in Hp Unix configuration file.\r
-\r
- * src/num_put_float.cpp: Limit Hp Unix workaround to access isfinite\r
- isnan and some other system functions to the gcc compiler, aCC has\r
- natively access to it. Tests done by Boris Gubenko.\r
-\r
-2006-12-04 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/fstream, iomanip, ios, iosfwd, iostream, istream, locale,\r
- ostream, sstream, streambuf, strstream: Allow use of iostream headers\r
- even when _STLP_NO_IOSTREAMS is defined if using _STLP_WHOLE_NATIVE_STD.\r
-\r
-2006-12-02 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_string.c: Use find_end algo rather than internal\r
- __find_end function, find_end contains workaround for limited\r
- compilers.\r
-\r
- * stlport/stl/_algo.c: Avoid a useless default value for last\r
- parameter of __stable_partition_aux_aux function.\r
-\r
- * src/num_put.cpp: In __insert_grouping_aux, use template parameter\r
- Str to get iterator definition rather than getting definition from\r
- basic_string.\r
-\r
- * stlport/stl/_num_get.c, _num_put.c: Complete basic_string\r
- definition for compiler not supporting default template parameters.\r
-\r
- * stlport/cmath, cstdio, typeinfo: Modified to be reentrant once.\r
-\r
- * stlport/stl/_alloc.h, _bvector.h, _construct.h, _deque.h,\r
- _hash_map.h, _hash_set.h, _hashtable.h, _list.h, _map.h, _pair.h,\r
- _queue.h, _rope.h, _set.h, _slist.h, _stack.h, _string.h,\r
- _string_base.h, _string_workaround.h, _tree.h, _unordered_map.h,\r
- _unordered_set.h, _vector.h: Now _STLP_NO_MOVE_SEMANTIC hide all\r
- calls to _AsMoveSource function. \r
-\r
-2006-11-30 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit/stack_allocator.h: Fixed StackAllocator implementation\r
- for Borland and DMC that required a workaround.\r
-\r
- * stlport/stl/config/_gcc.h: Starting with gcc 4, use visibility\r
- feature.\r
-\r
- * build/Makefiles/gmake/gcc.mak: Starting with gcc 4, add\r
- -fvisibility=hidden compilation option.\r
-\r
-2006-11-28 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_alloc.h: Avoid explicit instanciation of template\r
- function _AsMoveSource. Replace internal allocator::allocate function\r
- with _M_allocate to avoid use of overloading.\r
-\r
- * stlport/utility: Fix header reentrancy.\r
-\r
- * stlport/stl/_ptrs_specialize.h: Fixed instanciation of\r
- __type_traits_aux.\r
-\r
-2006-11-25 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/climits, iosfwd, mem.h, string.h, typeinfo.h, wchar.h,\r
- stl/char_traits:\r
- Eric Sanford patch to complete use of include_next with Borland\r
- compilers.\r
-\r
- * stlport/using/cstring: Fix macro check for Borland compiler.\r
-\r
- * test/unit/locale_test.cpp: Add test for Borland _fpclass.\r
-\r
- * src/num_put_float.cpp: Fix potential error in _Stl_is_neg_nan\r
- for Borland compiler after 0x581.\r
-\r
-2006-11-24 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * Eric Sanford patch for DMC compiler, allow access to associative\r
- containers extension.\r
-\r
- * stlport/typeinfo.h, exception: Workaround for DMC that force\r
- inclusion of typeinfo.h at the begining of all translation units.\r
-\r
-2006-11-23 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * test/unit/cstring_test.cpp: New test case to check import of all\r
- C functions from string.h in STLport namespace.\r
-\r
- * stlport/using/cstring: Fix import of strcmp and strcpy for Borland.\r
-\r
-2006-11-20 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/iosfwd, stl/type_manips.h, config/_bc.h, pointers/_tools.h:\r
- Patch from Eric Sanford to remove useless Borland workaround for\r
- pointer specialisation and use include_next feature for versions after\r
- 0x580.\r
-\r
-2006-11-20 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * src/monetary.cpp: template header not allowed in member definition\r
- of explicitly specialized class\r
-\r
-2006-11-19 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_ios_base.h: Replace wrong external utility inclusion\r
- with internal _pair.h header.\r
-\r
-2006-11-17 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/features.h: Modification of the static constant\r
- workaround implementation to use something similar to the boost\r
- workaround. _STLP_STATIC_CONST_INIT_BUG macro change definition of\r
- newly introduce _STLP_STATIC_CONSTANT macro which use an enum or a\r
- real static const variable. Moreover the new\r
- _STLP_NO_STATIC_CONST_DEFINITION will hide static constant definition\r
- when defined.\r
-\r
- * src/ctype.cpp, ios.cpp, locale.cpp: Add check for\r
- _STLP_NO_STATIC_CONST_DEFITION.\r
-\r
- * src/monetary.cpp: Add intl static constant definitions.\r
-\r
- * stlport/stl/_ctype.h, _ios_base.h, _limits.h, _monetary.h: Use\r
- _STLP_STATIC_CONSTANT.\r
-\r
- * stlport/stl/_limits.h: Limits a workaround for long long and unsigned\r
- long long types that used to be applied for gcc after 2.96 up to version\r
- 3.0.\r
-\r
- * stlport/stl/_limits.c: Clean all static constant values duplicated from\r
- _limits.h that was not used in this file. Add static constant definition\r
- necessary for long long and unsigned long long types for gcc between 2.96\r
- and 3.0 (see above).\r
-\r
- * stlport/stl/debug/_string.h: Removed npos static constant definition\r
- that is only necessary in stlport/stl/_string.c.\r
-\r
- * stlport/stl/config/_msvc.h: Use real static constant starting with\r
- VS .Net 2003 (_MSC_VER >= 1310).\r
-\r
- * test/unit/limits_test.cpp: Modified test to reveal potentially missing\r
- static constant definitions.\r
-\r
-2006-11-13 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/stl_confix.h: Add some STLport config options based\r
- on EDG version information using boost common_edg.hpp content.\r
-\r
- * stlport/stl/: Patch from Eric Sanford for Borland compiler. Allow\r
- associative container extension (member methods) and use of pointer\r
- specialization.\r
-\r
-2006-11-07 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/config/_hpacc.h, stl_confix.h: Thanks to additional info\r
- from Boris Gubenko STLport now check __EDG_VERSION__ to detect EDG based\r
- compilers. It use this macro to activate include_next feature. Moreover\r
- a workaround has been added for aCC6 that was not defining __EDG_VERSION__\r
- as expected. _hpacc.h has also been cleaned of obsolete config.\r
-\r
-2006-11-07 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport: All C++ Standard headers are now using the same schema. If\r
- included from outside (_STLP_OUTERMOST_HEADER_ID not defined) it first\r
- included internal header (in stl folder) and then, if _STLP_WHOLE_NATIVE\r
- is defined, include the equivalent native Standard header. If included\r
- from inside, simply forward to native header include. This schema has\r
- several advantages:\r
- - Less dependancy on native library headers interdependancy.\r
- - Less code included as STLport code is only exposed if headers are\r
- included from the outside.\r
- - Restore _STLP_WHOLE_NATIVE_STD configuration (tested with gcc, msvc, bcc)\r
- The condition for this schema to work is that STLport never include Standard\r
- headers internaly when it wants to access some STLport code.\r
-\r
- * stlport/stl/_iomanip.h: New file containing all STLport code that used\r
- to be in stlport/iomanip.\r
-\r
- * stlport/stl/_complex.h, _rope.h, _stream_iterator.h, _string_fwd.h: Use\r
- stl/_iomanip.h rather than iomanip.\r
-\r
- * stlport/stl/_rope.c: Use stl/_ostream.h and stl/_istream.h rather than\r
- iostream.\r
-\r
- * stlport/stl/config/_kai.h, _msvc.h, feature.h: _STLP_MINIMUM_IMPORT_STD\r
- macro removed, it was only used in vector header to avoid include of\r
- native vector header even when _STLP_IMPORT_VENDOR_STD was defined. MSVC6\r
- used to define it but removing it hasn't make compilation failed when\r
- importing all native std stuff. Looks like it was a workaround necessary\r
- when STLport was not as clean as it is now or for the former wrapper mode\r
- that has been removed.\r
-\r
- * stlport/stl/config/features.h: Add a #error to signal that\r
- _STLP_WHOLE_NATIVE_STD and _STLP_NO_OWN_NAMESPACE are incompatible\r
- options.\r
-\r
- * stlport/stl/config/stl_confix.h\r
-\r
-2006-11-05 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_sstream.h, _sstream.c: Add 2 helper functions _S_start and\r
- _S_finish to hide complexity of code required to have read access to the\r
- aggregated string instance internal buffer. Those 2 functions help keeping\r
- basic_stringbuf implementation simple without requiring a friend\r
- declaration in basic_string class and use of inheritance in _STLP_DEBUG\r
- mode between the debug string and the non debug one.\r
-\r
- * stlport/stl/_string.h, debug/_string.h, _string_sum_methods.h: Removed\r
- friend declaration and inheritance (see above). This also avoids to restore\r
- some workarounds that used to be necessary when _STLP_DEBUG mode was using\r
- inheritance in all the debug containers.\r
-\r
-2006-11-04 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * src/num_put_float.cpp: According C Standard number of digits in the\r
- exponent part of scientific output should be at least 2, C99 even says\r
- that we shouldn't add zeros if there are more than 3 significant digits.\r
-\r
- * test/unit/complete_digits.h: Modified according to above rules.\r
-\r
-2006-11-02 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * Repository: Merged STLPORT_5_1_RC3 tag changes up to r2771 into the trunk.\r
- Now trunk is really in sync with STLPORT_5_1 branch.\r
-\r
- * etc/ChangeLog: Now contains only trunk modif, 5.1 changes are in\r
- ChangeLog-5.1.\r
-\r
-2006-11-02 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * Repository: merged from 5.1 branch.\r
-\r
-2006-11-01 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_stdexcept_base.h: Patch from Uli to simplify\r
- __Named_Exception implementation.\r
-\r
-2006-10-31 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * build/test/unit/Makefile.inc: Restore STLport version information that\r
- had mysteriously disappeared in a previous modification.\r
-\r
- * stlport/stl/_num_put.c: Disable warning for MSVC that signal problem in\r
- cast from pointer to unsigned long.\r
-\r
- * src/num_put_float.cpp: Fix buffer overflow introduce by a previous\r
- modification. Now STLport appends '0' so that floating point scientific\r
- output has a constant size. MAXESIZ renamed in MAXEDIGITS to make macro\r
- signification more obvious.\r
-\r
- * test/unit/complete_digits.h: New file containing the function giving\r
- platform dependant number of digits in STLport scientific output of\r
- floating point types.\r
-\r
- * test/unit/num_put_get_test.cpp, locale_test.cpp: Adapt tests to latest\r
- STLport modifications.\r
-\r
-2006-10-30 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport/stl/_stlport_version.h: Upgrade STLport version information\r
- to reflect built libraries.\r
-\r
-2006-10-24 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/config/host.h, _linux.h: force usage malloc_alloc as default\r
- allocator on systems with glibc 2.3.x and later due to better performance.\r
-\r
- * stlport/stl/_alloc.h: remove _STLP_MALLOC_USABLE_SIZE dependant\r
- code---not really used.\r
- \r
- * stlport/stl/_alloc.c: remove recalculation of __n [Francois was right];\r
- remove _STLP_MALLOC_USABLE_SIZE dependant code---not really used.\r
-\r
- * src/allocators.cpp: remove additional __malloc_alloc_impl class---not\r
- required; add mutex lock for custom __malloc_alloc oom handler change/use\r
- [in multi-threaded environment].\r
-\r
-2006-10-16 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/c_locale.h, _mbstate_t.h, src/c_locale.h, c_locale.c:\r
- merge changes from STLPORT_5_1 branch, see 2006-10-12 [Francois Dumont];\r
- may be problems on Solaris, and FreeBSD---more check required.\r
-\r
-2006-10-13 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * Repository: merge changes [not all] 2006-10-12 from STLPORT_5_1 branch\r
-\r
-2006-10-12 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * Repository: merge changes from STLPORT_5_1 branch (records\r
- from 2006-10-06 to 2006-10-04).\r
-\r
- * stlport/stl/_alloc.c: Hmm, looks like deallocation size in\r
- 2006-10-06 is wrong.\r
-\r
- * stlport/stl/_num_put.c: print pointer as in fix width form, and\r
- with base 0x, independent, zero pointer or not.\r
-\r
- * test/unit/num_put_get_test.cpp: test for issue above.\r
-\r
- * test/unit/string_test.cpp: test for overloaded operators\r
- and temporary string; inspired by problems with some compilers.\r
-\r
- * stlport/stl/_mbstate_t.h: revert back changes from STLPORT_5_1 branch;\r
- mbstate_t couple with wchar closely, and sometimes has compex and implicit\r
- dependance; include wchar.h first required! \r
-\r
-2006-09-12 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * test/unit/string_test.cpp: add test for bug report #1541499,\r
- problem not detected; looks like gcc 4.1.1 can compile te_tmp test\r
- correctly [sum operations under class derived from string, with\r
- _STLP_USE_TEMPLATE_EXPRESSION].\r
-\r
-2006-09-08 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * stlport/stl/_sstream.h, _sstream.c: remove double buffering\r
- on write only underlying string as buffer. Use knowlege about\r
- string implementation, this should improve performance, and,\r
- at least simplify code and avoid logic that already present in\r
- string implementation.\r
-\r
- * stlport/stl/_string_base.h: basic_streambuf is friend, to access\r
- to internal function (access to storage pointers).\r
-\r
- * stlport/stl/debug/_string.h, _string_sum_methods.h: change usage\r
- of 'non-debug string', from 'use of' relation to 'inherit' releation.\r
- Useful for access basic_streambuf to string storage in _STLP_DEBUG\r
- mode too.\r
- \r
- * test/unit/sstream_test.cpp: test for tellp call; change test\r
- with inited ostringstream in accordance with another Standard\r
- treatment.\r
- \r
- * stlport/stl/_streambuf.h: remove ancient code, that can't\r
- work with present code in any case.\r
-\r
- * src/c_locale.c: ditto\r
-\r
- * build/lib/Makefile.inc: bump minor version (5.2.0)\r
-\r
-2006-07-27 Francois Dumont <dums@users.sourceforge.net>\r
-\r
- * stlport: Adopt include_next GNU extension for the following reasons:\r
- - Standard headers do not have to be categorised anymore to be\r
- included, we could have a wrong include order if headers are not\r
- correctly categorized.\r
- - Package builder can use any folder structure they want for gcc,\r
- STLport won't have to be customized anymore.\r
- - Make STLport usable with other library that also use the shadow\r
- header trick to modify native headers content.\r
-\r
- * stlport/stl/config/_gcc.h: Add definition of _STLP_HAS_INCLUDE_NEXT\r
- macro to signal that this compiler preprocessor support include_next.\r
- Removed all definition of native headers path that are now useless.\r
-\r
-2006-03-27 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * src/num_put_float.cpp: use buffers that at least longer\r
- than maximal double [or long double] exponent, so avoid\r
- potential vulnerabilities; this allow to read really long\r
- fix-float numbers [with lost of significant digits, of course].\r
-\r
- * test/unit/floatio_test.cpp: add test for issue above\r
-\r
-2006-03-23 Petr Ovtchenkov <complement@users.sourceforge.net>\r
-\r
- * src/cxa.c: remove wrong exclusion of lock for Solaris.\r
+2008-12-10 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * Repository: STLport release 5.2.1
+
+2008-12-03 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * build: HP-UX/ia64 with aC++ compiler; verified on HP-UX 11.23
+ and 11.31 with aC++ A.06.17; [4 of 436 tests, 4 ignored (2 explicit),
+ and 4 of 360 tests, 2 ignored]; submitted by Boris Gubenko.
+
+2008-11-27 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * build: EVC9 (Visual Studio 2008) by Johan Andersson.
+
+2008-11-19 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * Repository: STLport release 5.2.0
+
+2008-08-26 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * Repository: branch for STLport 5.2, r3618
+
+2008-07-21 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/type_traits: decay, conditional, ebable_if added.
+
+2008-07-18 Francois Dumont <dums@users.sourceforge.net>
+
+ * configure.bat: Specifying the compiler is now mandatory and
+ must be first.
+
+2008-07-17 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stdlib.h, cstdlib: Fix errno workaround for gcc MinGW.
+ Latest gcc version (4.3.0) includes stdlib.h in cstdlib using
+ include_next so skipping workaround in STLport stdlib.h. So errno.h
+ must also be included from cstdlib.
+
+2008-07-17 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ src/details/fstream_unistd.cpp: fix bug #2001222, opening with
+ ios_base::app should rewind write pointer to the end of the file;
+ fix treatment of ios_base::ate (it should rewind pointer
+ to the end of the file once) and ios_base::app (offset will be set
+ to the end of the file prior to each write); references ---
+ http://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2008/n2691.pdf
+ 27.8.1.4; http://www.opengroup.org/onlinepubs/7990989775/xsh/fopen.html;
+ http://www.opengroup.org/onlinepubs/7990989775/xsh/open.html
+
+ test/unit/fstream_test.cpp: add sample with fopen as reference point.
+
+2008-07-14 Francois Dumont <dums@users.sourceforge.net>
+
+ * build/Makefiles/gmake: Build system updated for gcc under Cygwin,
+ MinGW. Under Cygwin, with or without -mno-cygwin option, STLport
+ is now a full replacement for libstdc++, building an application
+ with it do not require -lsupc++ anymore as it is completely
+ integrated in STLport. Under MinGW it didn't work resulting in a
+ crash when starting an application using STLport so -lsupc++ is
+ necessary both when linking STLport _and_ when linking the
+ application using it.
+
+2008-07-10 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/num_put_float.cpp: Use an union based technique to find out
+ the sign of floating point values. It will maybe replace use of
+ platform specific functions in a future version.
+
+ * src/stdio_streambuf.cpp, test/unit/iostream_test.cpp: Change
+ behavior of stdio_istreambuf implementation that now always return 0 on
+ showmanyc call. Returning -1 means that reading attempt will
+ necessarily fail which is not the case, 0 is prefered as it means that
+ we don't know. It is also similar to other std implementations like
+ libstdc++.
+
+2008-07-02 Francois Dumont <dums@users.sourceforge.net>
+
+ * configure.bat: After a very interesting debate the consesus
+ is to put configure scripts in root folder.
+
+ * stlport/stl/_string_sum_methods.h: Bug report #2003308,
+ compilation error with _STLP_USE_TEMPLATE_EXPRESSION.
+ Regression due to remove of POD type support in basic_string
+ implementation.
+
+2008-06-26 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_fstream.c: Consider read file failure in
+ _M_underflow_aux method to avoid infinite looping on some
+ platforms. Thanks Pawel Sikora.
+
+2008-06-26 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * build/Makefiles/gmake/unix/rules-install-so.mak: do
+ install-headers tags when make install or install-release-shared.
+
+2008-06-24 Francois Dumont <dums@users.sourceforge.net>
+
+ * build/Makefiles/gmake: Cygwin/MinGW upgrade, now build
+ without referencing libstdc++.
+
+ * stlport/stl/_threads.h: Move definition of __stl_atomic_t next
+ to definition of atomic operations to guaranty coherency.
+
+2008-06-18 Francois Dumont <dums@users.sourceforge.net>
+
+ * build: configure.bat moved to build folder. lib/Makefile,
+ test/unit/Makefile removed from SVN, now generated by configure
+ scripts. Under GNU make use include rather than link to
+ reference the right make file, link seems not supported by
+ Cygwin/MinGW make. Remove default value of STLPORT_DIR,
+ already set in internal make files and moreover the absolute
+ path generated in the script leads to trouble under Cygwin/MinGW.
+
+ * src/num_get_float.cpp: Use an union to generate double value
+ from 64 bits int to avoid gcc type-punned pointer warning.
+
+2008-06-16 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * build/test/unit/gcc.mak: pass runtime pathes as absolute;
+ removed LDSEARCH macro, use LDFLAGS instead;
+
+ * Makefile: clean in test/unit too.
+
+2008-06-13 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_iterator_base.h: Add a funny feature, when
+ using both STLport and native STLs it was not possible
+ to use std iterators in STLport containers because of the
+ missing iterator category that is defined in std:: and
+ not in stlport::. So now STLport map std iterator categories
+ in stlport ones. Now it is possible to write something like
+ that:
+ std::string stdstr("std");
+ stlport::string stlportstr("stlport and ");
+ stlportstr.append(stdstr.begin(), stdstr.end());
+ However the other side is not supported except when STLport
+ iterators are simply pointers.
+
+2008-06-05 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/num_get_float.cpp: Remove useless skip of white
+ space at begining of buffer in _Stl_string_to_double function.
+ __read_float, the function that generate that buffer do not
+ put white space at the first place.
+
+ * stlport/stl/_new.h, _range_errors.c: Remove unused
+ _STLP_RTTI_BUG macro. Moreover __stl_new was not correctly
+ implemented with this macro, there was no check for failed
+ allocation.
+
+ * test/unit/limits_test.cpp: Remove code supposed to hide
+ numeric_limits::max value to MSVC 8 compiler, this code was
+ introducing a test regression. If it is producing a warning
+ a #pragma warning should be use to hide it.
+
+ * test/unit/num_put_get_test.cpp: Add test showing problem
+ with code that used to be in limits test. Those tests will be
+ activated for 5.3 to check that there is really nothing wrong
+ with it.
+
+2008-06-07 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * configure: don't duplicate options in config.mak, that
+ has default values in makefiles.
+
+2008-06-06 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * configure: put it on common place for ./configure;
+
+ * build/Makefiles/gmake/targetdirs.mak: use $(DESTDIR)
+ as in common practice (change root of installation, but
+ don't change run paths);
+
+ * build: by default use make for gcc;
+
+ * Makefile: top makefile for common project task;
+
+ * build/Makefiles/gmake/depend.mak: fix options for ctags
+ and etags;
+
+ * configure, build/Makefiles/gmake/top.mak: take into account
+ extra flags for linker.
+
+2008-06-05 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_function_adaptors.h: Fix instantiation of
+ unary_function and binary_function as base type of _Mem_fun0_ref,
+ _Mem_fun1_ref, _Const_mem_fun0_ref, _Const_mem_fun1_ref,
+ _Void_mem_fun0_ref, _Void_mem_fun1_ref, _Void_const_mem_fun0_ref,
+ _Void_const_mem_fun1_ref. Those classes are use as a workaround for
+ compiler missing class partial template specialization or that don't
+ support return of void. Instantiation is now done without reference
+ qualifier as specified by the Standard and as done in the
+ implementation used when workaround is not necessary.
+
+2008-06-03 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/ios.cpp, stlport/stl/_complex.c, _ios.c, _ios.h, _ios_base.h,
+ _istream.c, _num_get.c, _num_put.c: Remove invalid cached facet
+ pointers in ios_base class. This class can be used in a char or
+ wchar_t instantiation context making cast to ctype<char> or
+ ctype<wchar_t> invalid resulting in an application crashed. The
+ only safe access to facet instances from a ios_base instance is through
+ the use_facet<Facet>(getloc()) function. Only _M_cached_ctype has been
+ kept in basic_ios class even if small bench hasn't show real
+ enhancement compared to using use_facet.
+
+ * stlport/stl/_time_facets.c: In addition to above modifications
+ time_get implementation has been simplified as localized info are
+ now stored as wchar_t for wide char instantiation. We do not need
+ to use ctype.widen method anymore.
+
+ * test/unit/time_facets_test.cpp: Add test for time_get wchar_t
+ instantiation.
+
+ * test/unit/cppunit/cppunit_mini.h: Fix report of ignored/explicit
+ tests.
+
+2008-05-27 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_alloc.h: Code simplification, clean up null
+ pointer checks as allocators should never return it but rather
+ throw a bad_alloc exception.
+
+2008-05-27 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit/cppunit/cppunit_mini.h, file_reporter.h: Fix
+ counting of failed test, won't report more failures than tests
+ anymore. Now also report explicit tests.
+
+2008-05-15 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/allocators.cpp, locale_catalog.cpp, num_put_float.cpp:
+ Use static method returning static instance to mutex rather than
+ direct access to a static mutex instance to control initialization
+ order of static variables thanks Peter Hrenka report.
+
+2008-04-26 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_function.h, type_traits.h: Adoption of Defect Report 109
+ Missing binders for non-const sequence elements.
+
+ * test/unit/bind_test.cpp: Test for DR above.
+
+2008-05-11 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/_string.c: from formal (ISO/IEC 14882:2003) point of view
+ string s; string::size_type p = s.find( "", 0, 0 ); should return 0 in p,
+ i.e. position out-of-bound of string; people near Standard commete has
+ opinion that Standard correct in this point and not require clarification
+ (opposite to my opinion); even if it looks like bogus behavior for me,
+ it fixed to conform standard; see bugreport #1872656;
+
+ * test/unit/string_test.cpp: test for issue above.
+
+2008-05-10 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/_istream.c, stlport/stl/_ostream.h: ISO/IEC 14882:2003
+ (and 1998 too) assume change as get as put positions with
+ seekg and seekp (27.6.1.3, par 38; 27.6.2.4 par 2), but this
+ contradict to common practice and proposed draft N2588
+ (27.6.1.3, par 41; 27.6.2.5, par 4); now STLport implement
+ (i.e. change present behavior) the draft's point of view;
+ this reflect patch #1650657 by Jan Echternach;
+
+ * test/unit/sstream_test.cpp: test for issue above.
+
+2008-04-26 Francois Dumont <dums@users.sourceforge.net>
+
+ * Patches #1940126, #1941267, #1941814 from Johan Andersson for evc8
+ Pocket PC support and build of tests without warnings.
+
+2008-04-24 Francois Dumont <dums@users.sourceforge.net>
+
+ * Patch 1937823 from Johan Andersson to add Microsoft Visual
+ Studio 2008 support.
+
+ * stlport/stl/_algobase.h: Patch 1935497 from Andrey Semashev to
+ apply a common optimization in STLport algos for random access
+ iterators to fill and fill_n algos.
+
+2008-04-23 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * src/num_put.cpp: remove ambiguity of char to int conversion
+ (comparison with integers, check for negative value); remove
+ ambiguity with postfix increment in index in conditional
+ expression.
+
+2008-04-22 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * build/Makefiles/gmake/gcc.mak, build/lib/configure: take
+ into account CFLAGS, EXTRA_CFLAGS, because of C compiler in use too.
+
+2008-04-17 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_string.h: Remove support for non POD type in basic_string
+ implementation.
+
+2008-04-08 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * build/Makefiles/gmake/lib/gcc.mak: try to create $(PRE_OUTPUT_DIR) before
+ run lipo; impact only MacOS;
+
+ * build/Makefiles/gmake/sysid.mak: uname -m on MacOS return
+ power-macintosh, but identify architechture as ppc.
+
+2008-03-28 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/assert.h: Bug #1894882: Apply a technique similar to the
+ one used in errno.h to detect when assert has been defined before
+ including assert.h.
+
+2008-03-21 Francois Dumont <dums@users.sourceforge.net>
+
+ * Patch 1876529 from Johan Andersson to add support for VS 2005
+ bundled Pocket PC 2003 SDK.
+
+2008-03-18 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/_string.c: derived from patch #1914475, wrong
+ replace for selfreferencing string; thanks Farid Zaripov;
+
+ * test/unit/string_test.cpp: test for problem above.
+
+2008-03-17 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_stdexcept_base.h, _stdexcept_base.c,
+ type_manips.h, src/num_put_float.cpp,
+ test/unit/num_put_get_test.cpp: Borland patch from Eric Sanford.
+ No need for a __Named_exception workaround anymore. Force
+ floating point control word when testing special floating point
+ operations. Change implementation _Copyable and add a workaround
+ to correctly render long double max value that is consider as
+ equal to double max value.
+
+2008-03-10 Francois Dumont <dums@users.sourceforge.net>
+
+ * build/Makefiles: Normalization of --with-static-rtl and
+ --with-dynamic-rtl extended to configure script for Borland
+ and DMC compilers.
+
+2008-03-08 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit/cppunit/cppunit_mini.h: New mini cppunit framework
+ feature, the explicit tests that have to be explicitly tested
+ thanks to the -t option to run.
+
+ * test/unit/unordered_test.cpp: benchmark1 and benchmark2 tests
+ are now explicit.
+
+ * stlport/stl/_stdexcept_base.h, _stdexcept_base.c:
+ __Named_exception that contains dynamically allocated memory
+ require a copy constructor and assignment operator. Thanks bug
+ report #1908626 from Ilya Dogadaev.
+
+ * build/Makefiles: Normalized some configure options:
+ --without-thread, --without-rtti, --with-lib-motif.
+
+2008-03-06 Francois Dumont <dums@users.sourceforge.net>
+
+ * Fix rtti management:
+ - no rtti support do not imply no type_info struct definition.
+ - #error message in typeinfo to signal missing rtti support
+ has been removed.
+ - locale implementation do not use typeid anymore to enhance
+ runtime_error message thrown by combine message when we cannot
+ find the combined facet. It was introducing an annoying dependency
+ making use of the lib without rtti support impossible.
+
+2008-03-05 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_range_errors.h: Signal function responsible
+ for throwing excepions as not returning to the DMC compiler.
+
+2008-03-03 Francois Dumont <dums@users.sourceforge.net>
+
+ * build/Makefiles/gmake: Eric Sanford patch to make generation
+ of debug symbols optional when using Borland compiler to build
+ unit tests.
+
+ * stlport/stl/config: Normalization of verbose mode used to get
+ feedback about build context when using STLport.
+ _STLP_VERBOSE_AUTO_LINK has been renamed in _STLP_VERBOSE and
+ report additional information like rtti, exception support,
+ mono/multi threaded, static/dynamic library.
+
+ * stlport/stl/_check_config.h: Unused, removed.
+
+ * stlport/typeinfo: Report use of this header when there is no
+ RTTI support, only when we can detect it of course.
+
+2008-02-29 Francois Dumont <dums@users.sourceforge.net>
+
+ * build/Makefiles/gmake: Several modif for Digital Mars support.
+
+ * stlport/stl/_function_base.h: Hide protected constructor not
+ supported by Borland compiler.
+
+ * stlport/stl/config/_bc.h: Now detect Rtti support.
+
+2008-02-28 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * build/Makefiles/gmake/gcc.mak: use more convenient option
+ -dumpversion to detect compiler's revision; check that
+ -fuse-cxa-atexit really required; remove -fident option;
+
+ * build/Makefiles/gmake/targetdirs.mak: take into account DESTDIR;
+
+ * build/lib/configure: write DESTDIR as prefix for installation pathes;
+
+ * stlport/type_traits: type traits, close to JTC1/SC22/WG21
+ C++ 0x working draft
+ [http://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2008/n2521.pdf]
+
+2008-02-26 Francois Dumont <dums@users.sourceforge.net>
+
+ * Rationalization in detection of real localization implementation.
+ _STLP_REAL_LOCALE_IMPLEMENTED removed, the whole detection mecanism
+ is now in c_locale.h/c_locale.c and is based on API specific macros.
+ For the moment real localization is used for windows platforms
+ (_STLP_WIN32 except Windows CE) and when Glibc 2.2 or newer with
+ GNU extensions (_GNU_SOURCE) is detected.
+
+2008-02-25 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/type_traits.h: Generalize technique used by Borland
+ compiler to detect pointer types const or volatile qualified and
+ avoid trivial copy in this case.
+
+ * Eric Sanford patch for Borland compiler for Linux.
+
+2008-02-22 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/c_locale.h, src/c_locale.h,
+ c_locale_win32/c_locale_win32.c, c_wlocale_win32.c: Major code
+ simplification. Definition of _Locale_UPPER, _Locale_LOWER, etc...
+ used to be platform dependant requiring a lot of macro checks and
+ additionnaly exposing STLport to wrong definitions. When for
+ instance _Locale_PRINT was defined as
+ _Locale_UPPER|_Locale_LOWER|..., marking a character as printable
+ was also making it a upper and lower character!
+ In fact those masks have to be platform specific only when
+ STLport directly expose platform masks which is only the case when
+ using GlibC. So now those mask are hard coded in STLport using
+ values defined in the C++ Standard 22.2.1. Under Windows the
+ localisation implementation has been adapted to map Win32 mask values
+ to the STLport ones. A number of now useless workaround has been
+ removed.
+
+ * src/c_locale_dummy/c_locale_dummy.c, ctype.cpp,
+ test/unit/ctype_facets_test.cpp: Removed the hard coded table of
+ character types that was duplicating the one in src/ctype.cpp. Now
+ a table is build during library initialisation using C functions
+ isspace, isalpha... Doing so and adding a test in
+ LocaleTest::ctype_by_name will show if STLport and the C runtime
+ agree on character classification.
+
+2008-02-20 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/allocators.cpp: Change management of _S_heap_size, now bit
+ translation is done on the value used to increment it rather than
+ when using _S_heap_size. Thanks to this modif, when _S_heap_size is only a 32
+ bits value it won't roll before 16Go has been allocated. Thanks to
+ an additional unsigned cast the effect won't be notice before 32 Go
+ are allocated.
+
+2008-02-19 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/c_locale_dummy/c_locale_dummy.c: Fix implementation of
+ _WLocale_toupper/_WLocale_tolower, call to respectively
+ towupper/towlower was inverted.
+
+ * src/allocators.cpp: __stlp_chunk_malloc/__stlp_chunck_free
+ renamed respectively in __stlp_new_chunk/__stlp_delete_chunck as
+ those functions behavior are closer to the new operator behavior
+ rather than to malloc. __stlp_new_chunk implementation fixed, it
+ was using _STLP_CHECK_NULL_ALLOC reserved to check allocations
+ performed through new operator. Fix code to correctly take into account
+ bad_alloc exceptions.
+
+2008-02-18 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_algobase.h: Removed namespace specification on
+ swap invocation in iter_swap implemenation because it was breaking
+ template function resolution for gcc. Whether this is a gcc bug
+ or simply correct Standard C++ is not clear yet so namespace has
+ been removed independant of compiler in use.
+
+ * stlport/stl/_alloc.h, _new.h, src/locale.cpp, locale_impl.cp:
+ Generalize use of _STLP_THROW_BAD_ALLOC macro to throw the
+ bad_alloc exception. Definition of this macro is now in _new.h
+ header.
+
+ * stlport/stl/_valarray.h: Use __stl_new rather than malloc to get
+ exception management without additional code. It also gives users
+ a Standard way to detect memory starvation through the new handler.
+
+2008-02-16 Francois Dumont <dums@users.sourceforge.net>
+
+ * Removed anachronous and unmaintained raw SGI allocator mode.
+
+2008-02-15 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/details/fstream_win32io.cpp: Fix wrong use of Win32 API.
+ SetFilePointer do not take SEEK_CUR macro but FILE_CURRENT.
+
+ * src/allocators.cpp, stlport/stl/_alloc.h, _alloc_old.h,
+ _construct.h, _new.h, _pthread_alloc.h, _rope.h, config/_evc.h,
+ features.h: Code cleanup; __THROW_BAD_ALLOC normalized in
+ _STLP_THROW_BAD_ALLOC; _STLP_NEW, _STLP_PLACEMENT_NEW and
+ _STLP_BROKEN_BAD_ALLOC_CLASS macros removed.
+
+2008-02-14 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/c_locale_glibc/c_locale_glibc2.c: Manualy handle the "C" locale
+ to guaranty consistency with the default "C" facet implementations in
+ the lib.
+
+ * * test/unit/time_facets_test.cpp, num_facets_test.cpp,
+ monetary_facets_test.cpp, ctype_facets_test.cpp: Enhance tests by using
+ a third way of generating locale instance from names.
+
+2008-02-13 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/fstream_impl.h, details/fstream_win32io.cpp,
+ fstream_unitstd.cpp, fstream_stdio.cpp, stdio_streambuf.cpp: __stdin_size
+ function revomed making fstream_impl.h useless.
+
+2008-02-12 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/type_manips.h, type_traits.h: Borland patch from Eric
+ Sanford to fix regressions introduced with recent modifications of
+ some helper struct used to detect potential optimizations.
+
+ * config/_bc.h, features.h: New configuration, Borland do not support
+ following syntax:
+ typename std::iterator_traits<>::value_type. It breaks on association
+ of typename keyword with namespace specification. As Borland do not
+ require typename keyword in this case it is now possible avoid it
+ thanks to the _STLP_NO_TYPENAME_BEFORE_NAMESPACE macro.
+
+ * stlport/stl/_limits.c: Borland, like gcc 4, prefer additional brackets
+ in initialization of struct associated to computation of numeric limits
+ values.
+
+2008-02-01 Francois Dumont <dums@users.sourceforge.net>
+
+ * General code review to look for Standard or internal functions
+ called with namespace scope in order to avoid ambiguous calls
+ when compiler implement Argument Dependant Lookup. See ListTest::adl
+ test case to see what it means.
+
+ * stlport/stl/config/features.h: _STLP_PRIV now contains full
+ namespace path starting at global namespace that is to say
+ ::stlport::priv:: when private namespace is in use and ::stlport::
+ when it is not. Idem for _STLP_TR1 that now contains ::stlport::tr1::.
+
+ * stlport/stl/debug/_string.h: Call to std::distance removed to avoid
+ reading input iterators before reading their contents. Now all
+ basic_string::assign methods invalidate all iterators like other
+ containers.
+
+ * stlport/stl/_iterator_base.h: Remove implementation of __value_type
+ __distance_type and __iterator_category when compiler support partial
+ template specialization. In this case we directly use iterator_traits,
+ we do not need those functions. Removed special __distance implementations
+ use in an anachronous implementation of distance taking an initial value
+ to start counting. Now this function use __distance functions already
+ used by the std::distance function. The MSVC _Distance function is also
+ considered as anachronous.
+
+2008-01-31 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_string.h, test/unit/string_test.cpp: Add swap
+ implementation when there is no support for template function
+ partial ordering.
+
+2008-01-30 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/fstream_impl.h, details/fstream_stdio.cpp, fstream_unistd.cpp,
+ fstream_win32io.cpp, stdio_streambuf.h, stdio_streambuf.cpp: Hide
+ __is_regular_file only used in fsteam implementation specific files.
+ Rename __file_size in __stdin_size as this function is only used
+ to get stdin FILE* size. Under Win32 this function now always returns
+ 0 as it looks like Windows do not consider FILE* as allowing
+ position operations. Move platform specific code from stdio_streambuf
+ implementation to associated fstream_*.cpp file.
+
+2008-01-29 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * build/test/unit/gcc.mak: option for run-time path to libstlport
+ on HP-UX;
+
+ * build/Makefiles/gmake/hp-ux/targetsys.mak: HP-UX IA64 use so
+ as shared object extention, while PA-RISC use sl;
+
+ * build/Makefiles/gmake/gcc.mak: use -fno-reorder-blocks for PA-RISC;
+
+ * src/cxa.c: use cxa_atexit fix similar to trick on Solaris and FreeBSD;
+
+ * src/num_get_float.cpp: stdint.h on HP-UX;
+
+ * stlport/wctype.h, stlport/stl/_cwctype.h: HP-UX has problems with
+ wchars; changes suggested by KBac.
+
+2008-01-28 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/_cygwin.h: Cygwin do not define _STLP_USE_GLIBC
+ anymore, platform API is closer to a Standard C lib than to the Gnu
+ lib C.
+
+2008-01-26 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/fstream_stdio.cpp, fstream_win32io.cpp, fstream_unistd.cpp:
+ Removed unused uint64.h include and definition of ULL macro.
+
+ * src/uin64.h: Removed, _compound_int class defined in it is simply
+ not used anymore.
+
+ * src/_stdio_file.h: Major cleanup, only _FILE_fd is still in use.
+
+ * src/locale.cpp, locale_impl.cpp, build/lib/Makefile.inc: Restore
+ independency between those 2 translation units, code duplication is
+ very limited. This is a 1st step to make build of STLport easier by
+ having all sources in src folder buildable.
+
+ * src/locale_impl.h, locale_impl.cpp: _copy_Locale_impl removed,
+ only use to create initial global locale that can simply reference
+ classic locale incrementing its reference counter by one.
+
+ * stlport/stl/_locale.h: Fix locale implementation when MSVC6 workaround
+ is used. The base class _NoMem_loc do not have to have a virtual
+ destructor, it only need a protected one. Moreover fix constructor
+ taking an other locale instance and a facet instance, _M_impl was
+ not released before being assigned resulting in a memory leak.
+
+ * src/fstream_stdio.cpp, fstream_unistd.cpp, fstream_win32io.cpp:
+ Moved to details sub-folder. Now building STLport means build all
+ .cpp, .c and optionnaly .rc files from src folder.
+
+2008-01-22 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * build/test/unit/gcc.mak: check confguration and set
+ ALL_TAGS before inclusion top.mak, to correctly set
+ targets for 'all'.
+
+2008-01-21 Francois Dumont <dums@users.sourceforge.net>
+
+ * build/test/unit/icl.mak: Add /fp:strict option to build unit tests
+ as we need strict floating point number operations respect to have
+ numeric limits to work correctly.
+
+ * stlport/stl/config/_intel.h: Looks like ICL since version 9 support
+ static constant correctly.
+
+ * stlport/stl/config/features.h, src/c_locale_win32/c_locale_win32.c:
+ New macro _STLP_MARK_PARAMETER_AS_UNUSED to offer a compiler specific
+ way of marking parameters as unused. Default behavior is to cast the
+ parameter to void*.
+
+ * src/c_locale_win32/c_wlocale_win32.c: Fix _WLocale_strxfrm function
+ implementation thanks Kai Khcyt. Despite taking a pointer to wchar_t*
+ LCMapStringW writes bytes to it.
+
+ * build/Makefiles/gmake/bcc.mak, lib/bcc.mak, app/bcc.mak, stlport/cerrno,
+ errno.h, stl/type_manips.h, type_traits.h: Borland patch from Eric
+ Sanford to build Borland libs with GNU make build system.
+
+2008-01-18 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit/locale_test.cpp, ctype_facets_test.cpp,
+ money_facets_test.cpp, num_facets_test.cpp, time_facets_test.cpp:
+ test_supported_locale function do not have to be template, might
+ avoid ICL wring code generation.
+
+ * stlport/stl/_function_base.h: Based on an idea from Herb Sutter in
+ his excellent book "Exceptional C++ Style", derived class destructor
+ should be protected non virtual or public virtual. unary_function
+ and binary_function struct are intended to be derived but they
+ are not polymorphic so destructor should be protected non virtual.
+ According the book it is even not breaking library Standard conformity
+ in doing so. What is sure is that it will help users detect bad
+ code.
+
+2008-01-17 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/debug/_list.h: Remove use of std::distance in STL
+ safe mode, it is invalid for pure input iterators. Now assign
+ invalidate all iterators which make the code simpler.
+
+ * Remove the difficult to implement and maintain _AreSameUnCVTypes,
+ doing so has a number of impact on the lib:
+ - Remove usage of it in debug/_string.h and debug/_deque.h, we
+ rather use function specialization to detect self reference. In string
+ implementation it is almost impossible to detect self referencing in
+ insert and assign method even with use of _AreSameUnCVTypes, so
+ we systematically creation an intermediate string instance.
+ - Creation of _AreCopyable helper class to detect when it is safe
+ to do a memcpy or memmove between 2 types. This class returns false
+ when any type is volatile qualified or when trying to copy to a const
+ qualified type.
+ - Creation of _AreSameTypes only really implemented thanks to partial
+ template specialization, only used in _IsOkToSwap struct.
+
+ * test/unit/copy_test.cpp: Add test showing bug 1806558.
+
+2008-01-17 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * build/lib/configure: Don't override COMPILER_NAME, if already
+ defined;
+
+ * stlport/stl/config/_prolog.h: remove suspicious comments.
+
+2008-01-15 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/config/_hpux.h: define _POSIX_C_SOURCE 199506;
+ suggested by KBac, patch #1869229.
+
+2008-01-14 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_string.h, _string.c: Restore code to support non-POD
+ types in basic_string implementation as specified in basic_string
+ comments.
+
+ * stlport/stl/_limits.c: Use double numeric limits for long double
+ when sizeof(double) == sizeof(long double).
+
+ * stlport/stl/debug/_debug.h, _deque.h, _list.h, _vector.h: Prefer to
+ use overloading of member method to activate additional check of
+ 23.1.1 table 67 Standard conformity rather than using metaprogrammng
+ technique.
+
+2008-01-12 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * build/Makefiles/gmake/lib/gcc.mak: gcc 3.3 has useful
+ libsupc++, but some builds not; prefer normal situation,
+ not marginal; see record 2007-10-10;
+
+ * build/Makefiles/gmake/gcc.mak: fix reference to _FORCE_CXX macro;
+
+ * build/Makefiles/gmake/CC.mak: ditto;
+
+ * build/Makefiles/gmake/aCC.mak: ditto;
+
+ * build/lib/configure: keep compiler and default compiler --- gcc
+ is most common defualt and plans to switch to default makefile.
+
+2008-01-11 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_limits.c: Adapt long double numeric limits for
+ Intel C++ compiler 9 for Windows.
+
+ * test/unit/cppunit/test_main.cpp: Add command usage output when
+ option is not recognise.
+
+ * build/lib/configure: Remove specification of COMPILER_NAME default
+ value gcc. COMPILER_NAME is already set in all root make scripts like
+ gcc.mak, aCC.mak, dmc.mak ... Doing so forces users to specify their
+ compiler family using configure script which is redundant.
+
+2008-01-10 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_prolog.h: Remove code duplication by including
+ _cprolog.h.
+
+ * stlport/errno.h, cerrno: Move import of errno from errno.h to
+ cerrno.
+
+ * src/ctype.cpp, facets_byname.cpp, time_facets.cpp,
+ test/unit/codecvt_test.cpp: Several small modifications to make
+ Intel C++ compiler happier. Mostly avoid warnings and use
+ unary_function to avoid some typedef.
+
+2008-01-09 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_uninitialized.h: Fix implementation of
+ __uninitialized_copy_copy in order to make the function exception
+ safe. Detected thanks to the EH test suite.
+
+2008-01-08 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_ios_base.h: _S_was_synced renamed in _S_is_synced
+ because it reflects what the sync state is and not what it was.
+
+ * src/iostream.cpp: Use auto_ptr to avoid use of the catch(...)
+ blocks. Changed management of the _STLP_REDIRECT_STDSTREAMS macro.
+ cout, cerr and clog streams are not ofstream anymore but classic
+ ostream instances, only streambuf is a filebuf when the macro is
+ defined. Improve _S_initialize robustness to exceptions, now
+ exceptions like bad_alloc are not silently eaten. _S_initialize
+ guaranty that on exception, Standard streams will be valid, it do
+ not offer however strong guaranty, global state might still have
+ been modified. Idem for sync_with_stdio. Moreover this method is
+ now Standard compliant, it returns the new sync state and not the
+ old one.
+
+2008-01-07 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/c_locale_dummy/c_locale_dummy.c: Upgrade to take into account
+ recent localization Api modifications.
+
+2008-01-04 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/fstream_win32.cpp: Change detection of regular file, only reject
+ handlers identified as folders.
+
+ * stlport/stl/_codecvt.h: Add assertion to check buffer ranges pass to
+ the codecvt facet.
+
+ * src/fstream.cpp, stlport/stl/_fstream.c: Complete bug #1854345 fix,
+ get buffer was not reset at the right place.
+
+ * stlport/stl/_fstream.h, _fstream.c: Several modifications in the
+ seekoff method:
+ - Remove limitation of positioning to binary file stream, setting
+ position in a text file stream is not a problem.
+ - Fix mbstate_t instance returned in the file_pos instance when
+ getting position in a file stream with variable encoding.
+ - Move all the sanity check code to the debug mode.
+
+2008-01-02 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit/fstream_test.cpp: Change FstreamTest::seek test to reveal
+ bug #1854345.
+
+ * src/fstream.cpp: #1854345 bug fixed.
+
+2008-01-01 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_time_facets.h, _time_facets.c, src/time_facet.cpp,
+ c_locale_glibc/c_locale_glibc2.c: Restore GlibC++ support after
+ 2007-12-27 modifications.
+
+2007-12-29 Francois Dumont <dums@users.sourceforge.net>
+
+ * Borland patch from Eric Sanford mainly to enable move constructor.
+
+ * stlport/stl/_string_base.h, _string.h, _string.c,
+ _string_sum_methods.h: Attempt to make string implementation more
+ clear: _M_allocated renamed in _M_start_of_storage,
+ _M_Buffers._M_dynamic_buffer renamed in _M_Buffers._M_end_of_storage,
+ _M_end_block renamed in _M_end_of_storage too. To respect current
+ naming convention _capacity has been renamed in _M_capacity and
+ _rest in _M_rest.
+
+ * stlport/stl/_string_workaround.h: Updated to take into account recent
+ modification in string data model.
+
+ * etc/autoexp.dat: Updated to take into account string data model
+ modifications, new model is really simpler to map to.
+
+2007-12-27 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/c_locale.h, c_locale_dummy/c_locale_dummy.c,
+ c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c,
+ c_locale_win32/c_locale_win32.c, facets_byname.cpp, time_facets.cpp,
+ stlport/stl/_codecvt.h, _ctype.h, _numpunct.h, _time_facets.c,
+ _time_facets.h: Major internal localization API modification. Add
+ several _WLocale_* functions to allow native support of access to
+ wide char representation of localization information. The time facet
+ support has been the most impacted. GlibC based implementation
+ still have to be updated.
+
+2007-12-23 Francois Dumont <dums@users.sourceforge.net>
+
+ * build/Makefiles/nmake/evc8.mak, targets.mak, src/_stdio_file.h,
+ fstream_win32io.cpp, iostream.cpp, locale_catalog.cpp: Patch from
+ Johan Anderson for Evc 3/4/8 to:
+ - fix the opening console issue on this platform.
+ - add EVC8 SH4 support.
+
+ * test/unit: Add CPPUNIT_FAIL macro to force failure without
+ using a constant conditional expression. Many tests updated to
+ use this new macro.
+
+ * stlport/stl/config/_evc.h, debug/_debug.h, _debug.c: Patch
+ from Michael Fink to allow _STLP_DEBUG mode when using WCE ARM
+ platform.
+
+2007-12-20 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_monetary.c: Remove test of existing space at end of
+ stream when last pattern field is none because on ouput stream
+ space are only added optionaly. Small code duplication removed.
+
+ * build/lib/configure.bat, evc.mak, msvc.mak, test/unit/evc.mak,
+ msvc.mak: Config file moved to Makefiles/nmake folder. Add
+ --without-stlport option to build unit tests without STLport.
+
+ * test/unit/money_facets_test.cpp: Add validation that moneypunct
+ "C" facet is identical to the one contained in locale::classic().
+
+ * src/c_locale_dummy/c_locale_dummy.c,
+ c_locale_win32/c_locale_win32.c, facets_byname.cpp: Fix to have
+ moneypunct by name facet build from "C" similar to locale::classic()
+ one. Now default format in _Init_monetary_formats is the C++ default
+ one.
+
+2007-12-20 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * test/unit/fstream_test.cpp: test for seek, inspired by Soren
+ (stsoe, #1854345); report not confirmed.
+
+2007-12-17 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_limits.c: Add brackets on union initialization for gcc
+ starting with version 4.
+
+2007-12-17 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/config/_linux.h: if not explicitly specified another,
+ use threads.
+
+2007-12-14 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/c_locale_win32/c_locale_win32.c: Fix implementation of
+ _Locale_mbtowc and _Locale_wctomb functions. Reveal limitation of
+ the MultiByteToWideChar function that cannot be used to implement
+ more complicated encodings that have a real shift state like the
+ JIS one. Add support for UTF7 and UTF8 encodings.
+
+ * test/unit/codecvt_test.cpp: New test case to check support for
+ 2 encodings, the Windows specific code page 936 and the UTF8 one.
+ Those tests are coming from chinese test samples proposed by Victor
+ Xie.
+
+2007-12-14 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/_string_base.h, stlport/stl/_string.h, stlport/stl/_string.c:
+ experimental string buffer---start of buffer in _M_allocated._M_data now,
+ end of buffer either end of local short buffer, or stored in pointer
+ within local short buffer; this potentially reduce amount of pointer
+ arithmetic; prefer Traits::assign to uninitialized fill, it more
+ optimized for POD types, such as chars [experimental too].
+
+2007-12-13 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/c_locale.h, c_locale_dummy/c_locale_dummy.c,
+ c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c,
+ c_locale_win32/c_locale_win32.c: Remove unused _Locale_wctob and
+ _Locale_btowc localization API functions.
+
+2007-12-13 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * build/test/unit/gcc.mak, test/unit/...: allow build unit tests
+ with libstdc++, without STLport; useful for reference and comparison.
+
+2007-12-12 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * build/Makefiles/gmake/unix/rules-install-so.mak, build/lib/gcc.mak:
+ install-headers usable; it use user-defined macro HEADERS_BASE
+ [catalog and all files, keeping directory structure] and HEADERS
+ [for single files]; target catalog is INSTALL_HDR_DIR, by default
+ it is ${BASE_INSTALL_DIR}/include.
+
+2007-12-07 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/_uninitialized.h: comment unused parameter;
+
+ * stlport/stl/_limits.c: 64-bits systems may has [and really has]
+ size of long double 16, not 12; but IEEE 854 still in force, and
+ only 10 bytes of long double taken into account. This should fix
+ limits<long double> on 64-bits systems. Thanks joebishop
+ [aka Denis Cheremisov] for granted access to 64-bit linux.
+
+2007-12-05 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/c_locale_glibc/c_locale_glibc2.c: Fix a one byte memory overrun
+ when passing a very locale name.
+
+ * src/c_locale_win32/c_locale_win32.c: Simplified Win32 localization
+ code. Remove useless calls to strcpy. Remove useless call to the
+ __Extract_locale_name once in the _Locale_*_create functions as
+ name has already been extracted at this moment.
+
+2007-12-05 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/c_locale_glibc/c_locale_glibc2.c: Removed many checks useless
+ as the C functions are called in a well defined and safe context. Also
+ remove useless strcpy calls when it is safe to return the internal
+ string.
+
+2007-12-04 Francois Dumont <dums@users.sourceforge.net>
+
+ * Add the _Locale_codecvt localization data structure for 2 purposes:
+ - in the win32 implementation it simplify _Locale_ctype data structure.
+ - in the glibc implementation it helps making clear that this
+ implementation do not support the codecvt facet for the moment.
+
+2007-12-03 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/fstream_win32io.cpp: Fix management of Ctrl-Z when reading
+ text file stream thanks Hector Chu patch.
+
+2007-11-30 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/acquire_release.h, facets_byname.cpp, locale.cpp,
+ locale_impl.cpp, locale_impl.h, messages.cpp, time_facets.cpp:
+ Localization code modification, now locale instances will adopt
+ a normalized name rather than the name used to create them. This
+ way identical locale instances will compare equals even if created
+ from name aliases like 'french' and 'fr_FR'. Moreover default
+ locale built from an empty string won't have an empty name.
+
+ * test/unit/locale_test.cpp, ctype_facets_test.cpp,
+ money_facets_test.cpp, num_facets_test.cpp, time_facets_test.cpp:
+ Enhance localization tests, add test of default locale when possible.
+ Add test for the locale instances built from a mix of the
+ locale::classic instance and a named category.
+
+2007-11-27 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_ios_base.h, _ios.c: Add qualification on the cached
+ ctype and numpunct facets, we can keep them as const pointers.
+ Moreover, prefer to use the use_facet function rather than _M_get_facet
+ to access those instances to avoid direct reference to the facet::id
+ static instance.
+
+ * Some evolution in the localization code:
+ - Hide _Locale_name_hint in internal implementation, facets *_byname
+ constructor are now respecting the C++ Standard signature.
+ - numpunct facet: Remove unused _M_grouping field, move hard coded
+ values of the "C" facet in the sources. Only the numpunct_byname<wchar_t>
+ keeps internal wstring representation of true and false names.
+ - time facets: Use the non template time_base class for initialization
+ of the _Time_Info instance, it is more coherent with other facets
+ implementations. Many functions like __acquire_time and __release_time
+ are now hidden in the library.
+
+2007-11-26 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/char_traits.h, _stdexcept_base.c: Borland patch
+ from Eric Sanford, add a missing header and change
+ __Named_exception implementation because of a Borland compiler
+ bug.
+
+ * src/c_locale_win32/c_locale_win32.c: Add LANG_INVARIANT
+ definition when SDK are missing it.
+
+2007-11-24 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_monetary.h: Add missing explicit keyword on
+ money_get and money_put constructors.
+
+ * stlport/stl/_numpunct.h: Removed friend relation between
+ numpunct and num_get, looks like it is useless with current
+ implementation.
+
+ * stlport/stl/config/stl_mycomp.h, features.h, _watcom.h, _sunprocc.h,
+ _mwerks.h, _msvc.h, _ibm.h, _dec_vms.h, _dec.h, _as400.h: Removed
+ _STLP_NO_FRIEND_TEMPLATES, _STLP_FRIEND_TEMPLATES macros unused
+ since fix above regarding numpunct/num_get friend relation.
+
+ * test/unit/collate_facets_test.cpp: Fix "C" facet by name test,
+ Standard do not define any special behavior for the "C" transform
+ method so transformed result should simply follow the normal transform
+ behavior.
+
+ * src/locale_impl.cpp: Removed useless holes in locale facets table.
+ Now the table contains 26 non null entries rather than 38 entries with
+ some begin null.
+
+2007-11-23 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/locale.cpp, locale_impl.h, locale_impl.cpp: Some small
+ modifications to limit necessary friend class _Locale_impl
+ declaration in several facet classes. Moreover, num_get, num_put,
+ money_get, money_put facets that do not depend on any name are
+ not allocated anymore in the functions responsible for generating
+ facets for a given category.
+
+ * stlport/stl/_codecvt.h, _collate.h, _ctype.h, _messages_facets.h,
+ _monetary.h, _num_get.h, _num_put.h, _numpunct.h, _time_facets.h:
+ Removed many useless friend class _Locale_impl declarations.
+
+2007-11-23 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * build/lib/configure: make configuration suitable for installation
+ procedure and package building.
+
+2007-11-22 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/c_locale_dummy/c_locale_dummy.c: Now implements the "C" locale
+ to respect the C++ Standard.
+
+ * test/unit/collate_facets_test.cpp: Fix test checking that collate
+ facet build from the "C" name behave like the one coming from the
+ locale::classic() locale.
+
+ * src/c_locale.h, locale.cpp, c_locale_glibc/c_locale_glibc.c,
+ c_locale_glic2.c, c_locale_win32/c_locale_win32.c, locale.cpp: Removed
+ _Locale_compose_name from the STLport internal localization API.
+ Composition of locale names will now be the responsibility of STLport
+ itself and not of the platform localization implementations one.
+
+2007-11-20 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_iterator_base.h, _ptrs_specialize.h: Avoid inclusion
+ of _ptrs_specialize.h while still in stlport namespace scope thanks
+ Christof Meerwald report.
+
+2007-11-17 Francois Dumont <dums@users.sourceforge.net>
+
+ * _STLP_STATIC_MEMBER_DECLSPEC workaround removed. Thanks to
+ _GetFacetId other workaround it should now be useless. There
+ are still some tests to confirm especially testing the
+ gcc visibility feature.
+
+2007-11-16 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_fstream.c: Fix implementation of
+ basic_filebuf<_CharT, _Traits>::_M_underflow_aux() to take
+ into consideration already read external buffer even if
+ reading from file failed. Thanks Hector Chu report and patch.
+
+ * test/unit/codecvt_test.cpp: New test for problem above,
+ CodecvtTest::imbue_while_reading thanks Hector Chu.
+
+ * test/unit/fstream_test.cpp: Remove useless
+ FstreamTest::special_encoding test replaced by new test in
+ CodecvtTest. Fix FstreamTest::custom_facet test that is now using
+ a specialization of codecvt rather than a class inheriting from
+ codecvt.
+
+2007-11-14 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/c_locale_win32/c_locale_win32.c: Fix to support creation
+ of locale facet from the 'C' name.
+
+ * test/unit/collate_facets_test.cpp, locale_test.cpp,
+ money_facets_test.cpp, num_facets_test.cpp, time_facets_test.cpp:
+ Add test to check build from names "" or "C", on platform without
+ real localization support, "" should result in "C". Also check
+ for some facets that the one build from "C" name is similar to
+ the one taken from locale::classic() locale.
+
+2007-11-12 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * test/unit/fstream_test.cpp: testcase for bug #1830513;
+ __read_unbuffered wrongly process valid streamsize 0;
+ [was derived from original report of Anton Samokhvalov and Oleg Obolenskiy]
+
+ * stlport/stl/_istream.c: fix for bug #1830513 above;
+ check boundary condition in the beginning of loop.
+
+2007-11-09 Francois Dumont <dums@users.sourceforge.net>
+
+ * build/Makefiles/gmake: Add missing cygming folder comming
+ from task branch, required for Cygwin/MinGW builds.
+
+ * stlport/stl/_bvector.h, _deque.h, _hashtable.h, _list.h,
+ _rope.h, _slist.h, _string_base.h, _tree.h, _vector.h: Removed
+ useless instantiation of _Alloc_traits to define nested
+ allocator_type in several containers. STLport users will simply
+ have to correctly instantiate containers when they specify
+ the allocator to use.
+
+2007-10-30 Francois Dumont <dums@users.sourceforge.net>
+
+ * etc/autoexp.dat: New file containing description of STLport
+ data structures in the Visual Studio C++ debugger language.
+
+2007-10-21 Francois Dumont <dums@users.sourceforge.net>
+
+ * Merged with STLPORT_5_1 up to revision 3229.
+
+2007-10-20 Francois Dumont <dums@users.sourceforge.net>
+
+ * _STLP_NO_MBSTATE_T removed, STLport cannot really live without
+ any mbstate_t definition. Moreover we were already defining our own
+ definition when _STLP_NO_MBSTATE_T is defined, we now simply generalize
+ this behavior. So definition of _STLP_NO_MBSTATE_T has been replaced
+ with _STLP_NO_NATIVE_MBSTATE_T.
+
+2007-10-14 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/bitset.cpp: Add const qualifier on static arrays used in
+ bitset implementation. Thanks a Andrey Semachev remark.
+
+2007-10-12 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_hash_map.h, _hash_set.h, _unordered_set.h,
+ _unordered_map.h: Because of the hashtable data model, number
+ of bucket should not be to high compare to the number of
+ elements. For this reason, default constructor of all hash
+ containers is now passing 0 as the initial size rather than 100.
+
+ * stlport/stl/_hashtable.h, _hashtable.c: For the same reason exposed
+ above, the hashtable number of buckets is decrease when removing
+ elements from the container. All is done in the newly introduce
+ _M_reduce method that should be called each time elements are
+ removed.
+
+ * test/unit/unordered_test.cpp: Two new test in UnorderedTest test
+ fixture, benchmark1 and benchmark2. Those tests are rather, as indicated
+ by their name, bench to compare performance of hashed containers.
+ It can be used with the -m unit test console option that display
+ timing of tests. For instance, thanks to the reduction policy exposed
+ above, benchmark1 is running 20 times faster while benchmark2 is
+ almost identical.
+
+ * stlport/stl/_hashtable.h: Container might now be rehash when user
+ modified max load factor in order to respect
+ load_factor() <= max_load_factor() rule. hashtable::resize fixed,
+ according SGI doc it should behave as Standard unordered_*::rehash that
+ is to say it gives number of buckets and not number of elements.
+
+ * stlport/stl/_hashtable.c: Fix Code warrior workaround that was only
+ showing a limited number of prime numbers.
+
+2007-10-10 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * build/Makefiles: merge r2883:3223 from tasks/STLport-Makefiles;
+ revision of build system, from 'complement' project, adopted for
+ STLport requirements; support build of static lib and build unit
+ tests with this lib; gmake-specific files moved into gmake catalog;
+ top.mak (gmake-specific) moved into gmake catalog; add include
+ option for boost's headers, if STLP_BUILD_BOOST_PATH defined;
+ config.mak has make-dependent features, so it moved to gmake or
+ nmake catalog; settings from gmake/windows/sysid.mak should
+ be present in common gmake/sysid.mak file; gcc 3.3 has bad or
+ absent libsupc++, at least in debian; don't use -lstlport, when
+ build it; removed windows platform support that used to represent
+ the environment given by the cmd shell with MinGW additional commands
+ i.e. MinGW require not only gmake, but other POSIX file utils too;
+ install target by default install to /usr/local/lib on POSIX-like
+ platforms; added distclean target; added install-headers target;
+
+ * build/test/unit: top.mak (gmake-specific) moved into gmake catalog;
+
+ * build/test/unit/gcc.mak: see just build stlport libs, not
+ installation path [default install path is /usr/local/lib on POSIX-like
+ platforms].
+
+2007-10-07 Francois Dumont <dums@users.sourceforge.net>
+
+ * 5.1.4 released, trunk merged with STLPORT_5_1 branch up to
+ revision 3221.
+
+2007-10-04 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_codecvt.h, _fstream.c, src/codecvt.cpp: Fix non
+ Standard conformity in codecvt::length and associated
+ codecvt::do_length methods. Those methods was taking const reference
+ to mbstate_t but the Standard specify that it must be a simple
+ reference.
+
+ * src/facets_byname.cpp: Add a real implementation of
+ codecvt<wchar_t, char, mbstate_t>::do_length based on the
+ _Locale_mbtowc locale API function.
+
+ * test/unit/codecvt_test.cpp: Add a test for codecvt::length.
+
+ * test/unit/fstream_test.cpp: Add a test that indirectly test
+ codecvt facet and integration of it in the basic_filebuf
+ implementation.
+
+2007-10-02 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit/deque_test.cpp, hash_test.cpp, list_test.cpp, map_test.cpp,
+ set_test.cpp, slist_test.cpp, unordered_test.cpp, vector_test.cpp:
+ Allow test on incomplete types even when pointer specialization is
+ activated as long as partial template specialization is supported.
+
+ * stlport/stl/_fstream.c, src/facets_byname.cpp,
+ test/unit/codecvt_test.cpp:
+ Fixed codecvt_byname<wchar_t, char, mbstate_t>::do_in and do_out
+ methods. They now both correctly take into account to_end pointer.
+ Thanks Vistor (finalvistory) report on sourceforge Developer forum.
+
+2007-09-28 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/num_put_float.cpp: Modification in _Stl_ecvtR and _Stl_fcvtR
+ long double overloads, if value can be converted to double without
+ precision loss we can rely on the double overload. Moreover _Stl_fcvtR
+ has been fixed.
+
+ * stlport/stl/pointer/_tools.h: Use class partial specialization to
+ enhance usability of the container pointer specialization feature.
+ Thanks to it, container can be instanciated with incomplete types.
+ Modification based on bug report 1799048 from Andrey Semashev.
+
+ * trunk merged with STLPORT_5_1 up to revision 3211.
+
+2007-09-27 Francois Dumont <dums@users.sourceforge.net>
+
+ * src: Modification in the internal localization API.
+ _Locale_errno removed, now an int pointer is passed to all
+ _Locale_*_create and all _Locale_extract_*_name functions so
+ that they can return an error code. This method avoid multithreaded
+ issues.
+
+ * src/locale_catalog.cpp: Modification in __acquire_category
+ function. If create_obj return null, the null pointer is not
+ stored anymore in cached as creation failure reason might be
+ temporary like in case of memory starvation.
+
+ * stlport/stl/_locale.h: Error reporting enhancement. In combine
+ method we use a typeid call to report the unknown facet type. In other
+ situation we report both the facet category being built and the name
+ used to build it.
+
+ * test/unit/locale_test.cpp, collate_facets_test.cpp,
+ messages_facet_test.cpp, money_facets_test.cpp, num_facets_test.cpp,
+ time_facets_test.cpp: Add checks for construction of facets from
+ very long facet name.
+
+2007-09-27 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * test/unit/find_test.cpp: array initialization missed.
+
+2007-09-19 Francois Dumont <dums@users.sourceforge.net>
+
+ * trunk merged with STLPORT_5_1 up to revision 3193.
+
+2007-09-11 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/_algobase.c: keep check for symmetry in
+ lexicographical compare---algorithm assume symmetry comparator;
+ remove check for symmetrical comparator in search and find,
+ due to double checks not better then single (the same check
+ done in algorithm, and algorithm not require symmetrical
+ comparator);
+
+ * stlport/stl/debug/_hashtable.h: idem;
+
+ * stlport/stl/debug/_tree.h: idem;
+
+ * stlport/stl/debug/_debug.h: __symetrical_strict_weak_call
+ and __symetrical_equal_call not used anyware.
+
+2007-09-10 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_algo.c: Add check for symetrical functor
+ in max_element and min_element algo.
+
+ * stlport/stl/_algobase.c: Restore symetrical functor checks.
+ Sometimes simply because the algo was already considering the
+ functor as symetrical as in lexicographical_compare. Sometimes
+ using specific helpers functions (see below).
+
+ * stlport/stl/debug/_debug.h: Add __symetrical_strict_weak_call
+ and __symetrical_equal_call helper functions to check for
+ symetric functors only when invocating the symetrical functor
+ is valid that is to say when both parameters are of the same
+ type.
+
+ * stlport/stl/debug/_hashtable.h: Make use of
+ __symetrical_equal_call to check that equivalence functor used
+ in hashtable instanciation is correctly implemented.
+
+ * stlport/stl/debug/_tree.h: Make use of
+ __symetrical_strict_weak_call to check that functor predicate
+ use in tree instanciation is correctly implemented.
+
+2007-09-10 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/_string.c: fix bugs in string rfind, find_last_of,
+ find_last_not_of [bug #1788700, position 0 was wrongly excluded];
+
+ * test/unit/string_test.cpp: test for problems above. Thanks
+ to Bred Bored for bug report and initial test.
+
+2007-09-09 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * test/unit/rope_test.cpp, stlport/stl/_rope.h: test for
+ bug #1788615 [bug during copy of rope's iterator] and fix;
+ suggested by John Maddock.
+
+2007-09-07 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * test/unit/alg_test.cpp: add #include <string>, required for
+ comparator symmetry test;
+
+ * test/unit/string_test.cpp: test for bug in find_last_of,
+ bug #1788700, submitted by Bred Bored.
+
+2007-09-05 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/_algobase.c: symmetry not required for
+ comparator in case of two different sequences comparison or
+ searching; symmetrical comparator just may not exist;
+
+ * stlport/stl/debug/_hashtable.h: symmetry not required for
+ comparator in hashtable in case of containers extention;
+ symmetrical comparator just may not exist;
+
+ * test/unit/alg_test.cpp: test for problem above, thanks
+ Oleg Obolenskiy.
+
+2007-09-03 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * src/dll_main.cpp, stlport/stl/debug/_debug.c: removed
+ macro _STLP_STATIC_TEMPLATE_DATA, __PUT_STATIC_DATA_MEMBERS_HERE,
+ _STLP_NO_STATIC_TEMPLATE_DATA; only few old compilers
+ require this and are good enough to work with STL;
+
+ * test/eh/test_rope.cpp, stlport/stl/_num_get.c: idem;
+
+ * stlport/stl/_time_facets.c, stlport/stl/_codecvt.h: idem;
+
+ * stlport/stl/_monetary.c, stlport/stl/_num_put.c: idem;
+
+ * stlport/stl/_rope.c, stlport/stl/_rope.h: idem;
+
+ * stlport/stl/config/user_config.h: idem;
+
+ * stlport/stl/config/stl_mycomp.h: idem;
+
+ * stlport/stl/config/_gcc.h: idem;
+
+ * stlport/stl/_threads.c: idem.
+
+2007-09-02 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_algobase.c: Small optimization, add an
+ intermediate __eq function to detect when both iterator types
+ are identicals. Thanks Jim Xochellis idear.
+
+ * stlport/stl/_threads.h, _threads.c: Fully apply modification
+ of _S_nsec_sleep implementation for Win32 platforms contained
+ in bug report 1720635 from Taras Overchuck. It is an optimization
+ of the spin lock mutex specifically targetting the multiprocessor
+ platforms.
+
+2007-08-29 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_algobase.c, _string.c: Some modification in
+ __find_first_of_aux2 implementation to reduce number of iterator
+ dereferencements.
+
+2007-08-26 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/user_config.h, host.h: Moved administrative
+ _STLP_USE_UNIX_IO, _STLP_USE_STDIO_IO, _STLP_USE_WIN32_IO
+ macros to host.h.
+
+ * Merged with STLPORT_5_1 branch up to revision 3151.
+
+2007-08-23 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/debug/_vector.h: only random access iterators
+ allow operations 'less-then' and distance; for bidirectional
+ iterators removed usage of 'less-then', and for others
+ [like forward and input iterators] removed as usage of 'less-then'
+ as distance; thanks Oleg Obolenskiy for bug report;
+
+ * test/unit/ioiter_test.cpp: test for problem above.
+
+2007-08-18 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/host.h: Removed _STLP_NO_CYGWIN macro
+ unused since we are using include_next.
+
+2007-08-16 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/_gcc.h: Avoid conflict in link model, gcc
+ visibility for many platforms or dllimport/dllexport for
+ Cygwin/MinGW.
+
+ * build/Makefiles/gmake/gcc.mak: Looks like Cygwin/MinGW won't
+ support visibility for the moment.
+
+2007-08-15 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/char_traits.h, src/fstream_unistd.cpp: use 64-bits
+ file operations calls, if available on system; streamoff is
+ always off64_t, if _LARGEFILE_SOURCE or _LARGEFILE64_SOURCE
+ defined, i.e. if 64-bits file operations present;
+
+ * src/fstream_stdio.cpp, src/stdio_streambuf.cpp: ditto;
+
+ * stlport/stl/config/user_config.h: add _STLP_USE_DEFAULT_FILE_OFFSET,
+ force use off_t for streamoff and appropriate file operations calls;
+ note, that this may lead to problems, for example if _FILE_OFFSET_BITS
+ defined as 64 somewhere in user's code;
+
+ * test/unit/fstream_test.cpp: test 64 bits type for filesize and
+ file offset.
+
+2007-08-13 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit/memory_test.cpp: MSVC6 do not support this test,
+ ignored.
+
+ * stlport/stl/_string.h: Internal _String_reserve_t moved to
+ private namespace.
+
+ * stlport/stl/_algobase.c, _string.c, char_traits.h: Adoption of
+ the find_first_of trick below in string::find_first_of, find_last_of,
+ find_first_not_of and find_last_not_of.
+
+2007-08-12 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_algo.h, _algobase.h, _algobase.c: find_first_of
+ algorithm enhancement based on the Jim Xochellis analysis that you
+ can find here:
+ http://www.codeproject.com/vcpp/stl/find_first_of.asp.
+
+ * test/unit/alg_test.cpp: Add several tests to challenge the above
+ enhancement.
+
+2007-08-08 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/feature.h: Removed useless workaround, there
+ is no more platform using Win32 threading API and missing bool
+ type.
+
+ * src/num_put_float.cpp, num_get_float.cpp: Fixes for DMC, DMC has
+ real long double so it now uses ieee854_long_double Glibc type. DMC
+ do not use anymore the sprintf workaround to write floating point
+ numbers.
+
+ * stlport/stl/_auto_ptr.h, test/unit/memory_test.cpp: Fix auto_ptr
+ implementation, removed a useless const_cast and change a reinterpret_cast
+ in static_cast. Add support for instanciation with the volatile qualifier.
+ Thanks Ulrich Eckhardt report.
+
+2007-08-03 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/c_locale_win32/c_locale_win32.c: Fix some static buffer size
+ to always have a free place for the trailing zero.
+
+ * test/unit/locale_test.cpp: Add a test when passing a very long name
+ as the LC_CTYPE facet name to the locale constructor.
+
+ * src/system_api.h, system_api.c, build/lib/Makefile.inc,
+ src/num_put_float.cpp: Removed system_api workaround to access
+ isinfinite, isnan, isinf C functions used with gcc under Hp unix.
+ Now __format_nan_or_inf has an implementation entirely based on
+ numeric_limits values that avoids access to platform functions.
+
+2007-07-30 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_facets_fwd.h, _num_put.h, _num_get.h, _monetary.h,
+ _time_facets.h, _locale.h: Fix _GetFacetId workaround for compilers
+ like gcc since 3.4 that consider only the context at point on template
+ definition and not at the point of instantiation when resolving
+ _GetFacetId calls in has_facet or use_facets template functions.
+
+2007-07-20 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_mbstate_t.h: We have to define mbstate_t ourself
+ on platforms having mbstate_t in cwchar when we want to only use
+ C headers.
+
+2007-07-22 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * src/fstream_unistd.cpp: force use lseek64/mmap64 for HP-UX,
+ if _LARGEFILE64_SOURCE defined; thanks for Michael Klein.
+
+2007-07-20 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/_gcc.h, stl_mycomp.h: Removed unused
+ _STLP_WEAK_ATTRIBUTE macro.
+
+ * stlport/stl/config/_msvc.h, _intel.h, _gcc.h, features.h: Some
+ cleanup concerning _STLP_STATIC_TEMPLATE_DATA macro.
+
+2007-07-18 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_num_put.h: Removed __string_to_float declarations only
+ used in a num_get context.
+
+ * src/num_get_float.cpp:
+ - Import Glibc ieee854_long_double union for compilers having a real
+ long double type but no runtime support to correctly generate it. This
+ union is used by gcc under Cygwin and MinGW and by Borland compiler.
+ - _Stl_string_to_long_double removed, it was so similar to
+ _Stl_string_to_double that everything is done with this function now.
+ - Removed check on exponent value while parsing it from buffer, check is
+ only done when combining this value with the digits read.
+
+ * src/num_get_float.cpp:
+ - Generalize synchronization code arround the ecvt/fcvt functions when
+ the platform do not grant reentrant functions.
+ - In __format_float_scientific, removed useless rz temporary variable, removed
+ limitation in the number of appended trailing zeros.
+ - In __format_float_fixed, removed limitation of number of trailing zeros
+ added after decimal point, it is only limited by precision.
+ - __format_float: Code to detect infinity or NaN has been moved before call
+ to platform specific ecvt/fcvt functions. Thanks to this modification, this
+ function is not template anymore.
+ - Add _Stl_ecvt/_Stl_fcvt emulation functions when platform do not grant
+ the necessary ecvt/fcvt functions for long double. Emulation is based on
+ sprintf function using 'L' modifier.
+ - In __write_floatT function, fix size of static buffer used by _Stl_ecvt/fcvt
+ functions. Fix number of digits in calls to _Stl_fcvt/ecvt in both modes,
+ fixed or scientific.
+
+ * test/unit/num_put_get_test.cpp: Add some tests, somes with a really high
+ precision that show problem with static buffer size.
+
+2007-07-17 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/_algo.c, stlport/stl/_algobase.c: search, the __tmp and
+ __p1 iterators always point at the same position, hence one of them
+ is redundant;
+
+ * stlport/stl/_algobase.c: in the main-loop of search there are two
+ successive while-loops doing exactly the same thing; one of them is
+ redundant and, since it is inside the main-loop, it slows down
+ the algorithm significantly;
+
+ * stlport/stl/_algo.c, stlport/stl/_algobase.c: in the search the main-loop
+ condition "while (__first1 != __last1)" is always true and consequently
+ redundant; this is because the initial adn in-loop conditions virtually
+ act as guards and will never let the main-loop condition to fail; since
+ this condition is evaluated in every main-loop iteration, its removal
+ will also improve the performance of the algorithm; thanks for
+ Jim Xochellis for this suggestions.
+
+2007-07-15 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * src/strstream.cpp: "get end" pointer should be initialized
+ to the "begin of get + N" in obsolete strstream; bug #1536503,
+ thanks for Jean-Eric Cuendet;
+
+ * test/unit/strstream_buffer_read_test.cpp, build/test/unit/Makefile.inc:
+ test for bug above; [submitted by Jean-Eric Cuendet].
+
+2007-07-05 Francois Dumont <dums@users.sourceforge.net>
+
+ * build/Makefiles/nmake/vc8.mak: Removed _CRT_SECURE_NO_DEPRECATE
+ when building STLport. Not secured version of functions _ecvt and
+ _fcvt functions used for floating point numbers output are not
+ reentrant.
+
+2007-07-04 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * src/num_get_float.cpp: reorder code, one condition go away.
+
+2007-07-03 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/num_put_float.cpp: _Stl_ecvtR, _Stl_fcvtR, _Stl_qecvtR,
+ _Stl_qfcvtR functions, pass buffer size as a parameter when the
+ platform functions need it rather than duplicating the size
+ definition. This modification has been applied to the DECC platforms
+ and when the GLibC is in use.
+ Removed useless islong __format_float_scientific parameter. Removed
+ useless x __format_float_fixed parameter, islong parameter
+ replaced with direct specification of the maxfsig value.
+ In __format_float function, first attempt in detection of NaN or
+ infinity is done thanks to the std::numeric_limits and compiler
+ support, _Stl_is_nan_or_inf do not correctly handled long double
+ values. long double values larger than max double values were always
+ displayed as Inf.
+
+ * src/num_get_float.cpp: Removed useless null buffer checks in
+ _Stl_atod functions, we know how this function is called. Replaced
+ some hard coded constant with numeric_limits values. Add check that
+ there is less than 64 digits before hiding hidden bits in vv.i64, for
+ long double it was generating wrong long double value.
+
+ * test/unit/num_put_get_test.cpp: Add numerous tests to check both
+ long double input and output.
+
+2007-06-29 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/memory: more forward declarations; fix typo;
+
+ * stlport/functional: more tricks to compile with boost
+ and tr1;
+
+ * test/unit/boost_check.cpp: problems trace; set 1 in
+ appropriate places to check presence of problem, but only
+ use one case at a time.
+
+2007-06-28 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/locale.cpp, locale_impl.h, stlport/stl/_locale.h,
+ config/features.h: Runtime check system do not fully use the
+ MSVC6 workaround anymore, it only use the locale workaround,
+ not the basic_string one.
+
+ * src/string.cpp: Fix wrong explicit instanciation.
+
+ * test/unit/cppunit/cppunit_mini.h, file_reporter.h: Fix
+ computation of test failure when both CPPUNIT_CHECK and
+ CPPUNIT_ASSERT are used.
+
+2007-06-28 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/boost_type_traits.h: reread boost/config.h
+ to force usage of stlport in boost and force read essential
+ macros from boost/config/suffix.hpp; this is because boost
+ included within stlport from one side, and stlport included
+ within boost from another side; this make sense with
+ _STLP_USE_BOOST_SUPPORT defined in user_config.h;
+ checked for boost 1.34;
+
+ * test/unit/boost_check.cpp, build/test/unit/Makefile.inc:
+ test for problem above; this simulate problem when boost's
+ header was included before any stlport's one;
+
+ * stlport/stl/config/features.h: remove definition of
+ BOOST_STDLIB_CONFIG, due to it unconditionally defined
+ in boost.
+
+ * stlport/memory: forward declarations for boost required,
+ by the same reasons as described above.
+
+2007-06-24 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/_function.h, stlport/functional: fix import
+ of boost::shared_ptr---moved from _function.h to functional;
+ import mem_fn, bind, bad_function_call, function, swap from
+ boost to std::tr1.
+
+2007-06-23 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_string.h, _string_workaround.h: Some fix for gcc
+ that is now expose to the VC6 workaround because of the runtime
+ check mechanism under MinGW.
+
+2007-06-21 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit/cstring_test.cpp, limits_test.cpp: Small modif to avoid
+ MSVC compiler warning in release build.
+
+ * stlport/stl/_cwchar.h: Replace a _STLP_MSVC check with a _STLP_MSVC_LIB
+ check as WCHAR_MIN and WCHAR_MAX macros definition depends on library
+ and not on compiler.
+
+2007-06-20 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/memory: import shared_ptr from boost to std::tr1 namespace,
+ if no _STLP_NO_EXTENSIONS and present _STLP_USE_BOOST_SUPPORT;
+ see ISO/IEC DTR 19768,
+ http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf
+
+ * test/unit/shared_ptr_test.cpp: test for shared_ptr.
+
+2007-06-19 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/debug/_debug.h, _debug.c: Replace __in_range with
+ stlp_in_range, __in_range is a macro in the Windows Vista PSDK.
+
+ * src/locale.cpp, stlport_prefix.h, warning_disable.h,
+ stlport/stl/_locale.h, _string.h, config/features.h: Fix some
+ regression introduce with the improvment of the runtime compatibility
+ check mecanism.
+
+ * src/c_locale_glibc/c_locale_glibc2.c: Fix implementation of
+ _Locale_strcmp and _Locale_strwcmp functions.
+
+ * stlport/stl/_limits.c: Change technique used to generate NaN or
+ infinity floating point numbers. No more reinterpret_cast of a buffer,
+ we now use an union based technique. gcc prefer this cleaner method
+ especially in release mode.
+
+ * test/unit/limits_test.cpp: Small test modification as gcc was still
+ performing some weird optimization in release mode resulting in
+ unexpected behavior.
+
+2007-06-19 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/_function.h: import reference_wrapper from boost to
+ std::tr1 namespace, if no _STLP_NO_EXTENSIONS and present
+ _STLP_USE_BOOST_SUPPORT; see ISO/IEC DTR 19768,
+ http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf
+
+ * test/unit/reference_wrapper_test.cpp: test for reference_wrapper.
+
+2007-06-15 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * build/test/unit/Makefile.inc: macro_checks.cpp instead of cwchar.cpp.
+
+2007-06-14 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/dll_main.cpp, locale.cpp, locale_impl.h, locale_impl.cpp,
+ stlport/stl/_locale.h, _rope.h, config/_windows.h, features.h:
+ Enhance the runtime compatibility mecanism used to detect build
+ inconsistency under Windows. We now use the locale class with the
+ VC6 workaround coming with it to force a call to the compatibility
+ check function. Inconsistency detection is activated if _DEBUG
+ or _STLP_DEBUG is defined. If an inconsistency is detected it is
+ reported by the linker thanks to an unresolved symbol
+ building_for_up_to_windows95_but_library_built_for_at_least_windows98
+ or
+ building_for_at_least_windows98_but_library_built_for_up_to_windows95
+ that are self describing.
+
+ * test/unit/cwchar.cpp: Renamed in macro_checks.cpp, add many tests for
+ all C Standard macros like CHAR_MIN, CHAR_MAX, INT_MIN, INT_MAX...
+
+ * stlport/stl/_cwchar.h: Add MSVC compilers before Visual Studio 2005
+ as not defining WCHAR_MAX correctly.
+
+2007-06-11 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/lock_free_list.h: Fix check of _WIN32_WINNT rather than _WIN32_WINDOWS.
+
+ * stlport/stl/_threads.c: In the Win32 implementation, add a call to
+ the SwitchToThread function to potentially avoid a costly call to
+ Sleep(1) that can take more time than expected. If SwitchToThread fail
+ we call Sleep(1) again. Based on Taras Overchuk bug report 1720635.
+
+2007-06-11 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * src/fstream.cpp: integration file; code clean, three implementations
+ sublimated, unix-emulation approach removed; this is reorganization
+ changeset, functionality was not changed;
+
+ * src/fstream_win32io.cpp: win32io-based implementation of _Filebuf_base,
+ i.e. based on Windows calls CreateFile/CloseHandle/ReadFile/WriteFile +
+ CreateFileMapping, MapViewOfFile;
+
+ * src/fstream_unistd.cpp: unistdio-based implementation of _Filebuf_base,
+ based on unistd open/close/read/write + mmap;
+
+ * src/fstream_stdio.cpp: stdio-based implementation of _Filebuf_base,
+ based on stdio fopen/flose/fread/fwrite;
+
+ * stlport/stl/_fstream.h: detect of _Filebuf_base implementation moved
+ into stlport/stl/config files;
+
+ * stlport/stl/config/*.h: iostreams underline technique depends upon
+ OE or user's preferences;
+
+ * stlport/stl/config/features.h: some system-specific macro moved to
+ system- or compiler-specific files;
+
+ * stlport/stl/_rope.h: rewritten suspicion code, functionality not changed.
+
+2007-06-08 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_complex.h: Clean unused _STLP_NO_COMPLEX_SPECIALIZATIONS
+ macro and code coming with it.
+
+ * build/lib/configure, configure.bat: Removed --windows95 option, it is
+ useless now that STLport includes windows.h when building the libraries.
+
+ * build/Makefiles/gmake/bcc.mak, dmc.mak, gcc.mak, nmake/vc-common.mak:
+ Removed references to Windows 95 build, if STLport users want to target
+ a specific Windows OS they will only have to use --extra-cxxflags to
+ give WINVER, _WIN32_WINDOWS or _WIN32_WINNT values.
+
+2007-06-05 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/features.h: Removed unused _STLP_LDOUBLE_* macros giving
+ real long double size.
+
+ * stlport/stl/_limits.h, _limits.c: Major code upgrade, now computation
+ of infinity and NaN is done thanks to some code extracted from the boost
+ library (www.boost.org). This code is more portable as it adapts to compiler
+ representation of float, double and long double and do not require many
+ compiler macro checks. Additionaly STLport numeric_limits now handle real
+ denorm_min values.
+
+ * test/unit/limit_test.cpp: Add many test on dernomalized float and
+ some other values of numeric_limits.
+
+ * stlport/stl/config/_cray.h, _gcc.h, _msvc.h, stl_mycomp.h: Removed
+ _STLP_NO_IEC559_SUPPORT macro, meaning was not clear and impact was
+ localized to the _limits.h file so use of a global macro was rather
+ useless.
+
+2007-05-29 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_num_get_.c: Small refactoring, all num_get::do_get for
+ float, double and long double are now calling the same __do_get_float
+ function. Moreover, when __read_float failed, __sring_to_float is not
+ called anymore.
+
+2007-05-28 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit/limits_test.cpp: Add test checking that numeric_limits
+ min is really min and max really max.
+
+ * src/allocators.cpp, locales.cpp, stlport/stl/_threads.h,
+ config/_windows.h: Fix detection of Windows OS having limited
+ implementation of Interlocked[Increment,Decrement] Win32 API
+ functions. _STLP_WIN95 macro has been rename _STLP_WIN95_LIKE
+ as it do not only signal Windows 95 build context but also former
+ OS versions.
+
+2007-05-22 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/c_locale_win32/c_locale_win32.c: gcc MinGW has no thread
+ locale storage intrisinc support so for this compiler, locale
+ creation failure will always be reported with runtime_error
+ exception.
+
+ * stlport/stl/config/_msvc.h: Configuration fix, check that _STLP_MSVC
+ is defined before activating MSVC6 workaround
+ (_STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND macro).
+
+2007-05-21 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/c_locale.h, locale.cpp, locale_impl.cpp,
+ c_locale_dummy/c_locale_dummy.c, c_locale_win32/c_locale_win32.c,
+ c_locale_glic/c_locale_glibc.c, c_locale_glibc2.c: Add a _Locale_errno
+ function to the small localization framework in order to report more
+ accurate locale creation failure. For the moment there are 3 possible
+ failure reasons, no more memory, unsupported locale, no platform support.
+ In case of memory starvation, we throw a bad_alloc exception.
+
+2007-05-19 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_valarray.h, _valarray.c: Add many assertion checks to
+ track potential undefined behaviors mostly regarding invalid argument
+ size.
+
+2007-05-17 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_prolog.h: Hide _debug.h when including C standard
+ headers. Some platforms (Win32) include C headers in an 'extern "C"'
+ scope that do not accept templates exposed in _debug.h.
+
+2007-05-16 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/_auto_link.h, build/Makefiles/gmake/cygming/lib.mak,
+ build/Makefiles/nmake/lib/macro.mak: Removed version information
+ from static libs name for consistency among all supported compilers/
+ platform.
+
+2007-05-15 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_range_errors.c, _stdexcept_base.c: New files
+ containing codes that used to be duplicated in dll_main.cpp.
+
+ * src/dll_main.cpp: Include _range_errors.c and _stdexcept_base.c
+ when necessary.
+
+ * stlport/stl/_stdexcept_base.h, _stdexcept_base.c: __Names_exception
+ do not truncate anymore exception message when longer than internal
+ static buffer, a dynamic buffer is allocated through malloc in this
+ case. I haven't use __iostring class in this case as it would
+ have introduce a cyclic dependency between classes.
+
+2007-05-11 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/c_locale.h, c_locale_glibc/c_locale_glibc2.c: Some fixes to
+ avoid gcc warnings when compiled with -Wall -Wmissing_prototypes.
+
+ * stlport/stl/_num_put.c: Fix a cast to avoid a signed/unsigned
+ comparison warning.
+
+ * c_locale_glibc/c_locale_glibc2.c: Use __locale_t __names field
+ rather than __locales to access to category names. Thanks to this
+ modification we do not need the Glib internal locale_data struct
+ definition anymore.
+
+ * test/unit/fstream_test.cpp: Port the FstreamTest::null_stream for
+ unixes platforms that use /dev/null, the test is not ignored anymore.
+
+ * src/fstream.cpp: Under Windows, check that the file we are
+ opening is a real file before trying to truncate it or move to
+ the end. Allow use of special file like "NUL" with C++ fstream.
+
+2007-05-10 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/stdio_streambuf.cpp: Add checks of error codes returned
+ by ftell and fseek functions in stdio_istreambuf::showmanyc
+ Windows CE special implementation.
+
+ * test/unit/fstream_test.cpp: Add new test case to check file streams
+ built from platform dependent null pipe (NUL under Windows, /dev/null
+ under unixes). Ignored for the moment.
+
+2007-05-04 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/locale.cpp, allocators.cpp, stlport/stl/_threads.h,
+ config/_windows.h: Change macro checks to detect Windows 95 platform.
+ Windows 95 and NT4 has both WINVER == 0x0400 but only Windows 95 has
+ limitation impacting STLport code. Distinction between both platforms
+ is done thanks to the _WIN32_WINNT macro only defined for NT4. New
+ _STLP_WIN95 macro signals Windows 95 platform, it replaces
+ _STLP_WIN32_VERSION. Thanks Jan Echternach patch 1707963.
+
+ * src/c_locale_win32/c_locale_win32.c: Remove all code concerning the
+ messages facet, Windows platform do not support it.
+
+ * src/fstream.cpp: Fix use of fseek in _Filebuf_base::_M_seek in
+ _STLP_USE_STDIO_IO mode. fseek do not return the position in file
+ but a boolean value indicating if call has succeeded or not, and
+ call to ftell to get file position. Thanks Marco Jez bug report
+ 1704843. I have also integrated a number of small fixes to use
+ _STLP_USE_STDIO_IO mode under MSVC or GCC MinGW, it shouldn't be
+ really nececarry but it costs nothing and help testing this mode.
+
+2007-05-03 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_numpunct.h, _time_facets.h, _ctype.h, _monetary.h,
+ _messages_facets.h: Remove friend _Locale_extract_hint function
+ declaration replace by the more simple friend class
+ _Locale_impl expression.
+
+ * src/locale_impl.cpp: Change implementation of
+ _Locale_impl::insert_*_facets methods. Now only facets used internally
+ for iostreams implementation are considered as mandatory when
+ instanciating a locale from a name. Other facets like collate or
+ messages won't generate a runtime_error exception if the platform is
+ not able to grant an implementation. This will make STLport more
+ flexible in regards of platform possibilities.
+
+ * stlport/stl/_messages_facets.h, src/facets_byname.cpp, messages.cpp:
+ Simplification of the messages facet implementation. _Messages class
+ has no virtual method anymore, _Messages_Impl has been removed. Now
+ messages class implementation is a dummy implementation that do not
+ allow access to platform messages, real messages implementation is
+ available thanks to the messages_byname class.
+
+ * stlport/stl/_time_facets.h: _Locale_time instance is not kept
+ anymore in the facet implementation, it is only used on construction
+ to initiliaze _Time_Info struct instance.
+
+2007-05-02 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit/codecvt_test.cpp: Fixed comparison with char_traits::eof
+ to use eq_int_type in order to be compatible with platform having
+ a default unsigned char built-in type. Thanks Marco Jez report.
+
+2007-04-19 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_valarray.h: Integrate C++ Standard defect 253
+ signaling that slice_array, gslice_array, mask_array and
+ indirect_array copy constructor cannot be private.
+
+ * test/unit/valarray_test.cpp: Add compilation test to check that
+ valarray operator[] taking a slice, gslice, valarray<bool> and
+ valarray<size_t> can be called.
+
+2007-04-16 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/locale.cpp: Simplified locale::_M_throw_runtime_error
+ implementation using std::string rather than C string functions.
+ Also change exception message generation to make failure reason
+ more obvious.
+
+ * src/facets_byname.cpp: As, according Standard, *_byname facet
+ constructor should behave as locale constructor taking a name
+ STLport now throws a runtime_error instance when building
+ a facet from a null name.
+
+ * src/messages.cpp: Now contains all classes implementation involved
+ in messages facet support.
+
+ * stlport/stl/_messages_facets.h, src/messages_facets.h, messages.cpp:
+ Simplification of the messages facet implementation. Major modification
+ is that the C messages facet has now only one representation which is
+ the one given by the _Message class. There used to be an other one
+ based on _Messages_impl class using __acquire_messages("C").
+
+ * src/messages_facets.h: Internal classes _Messages and _Messages_impl
+ are not exported anymore.
+
+ * test/unit/locale_test.cpp: Facet tests has been moved to facet
+ category test files.
+
+ * test/unit/collate_facets_test.cpp, ctype_facets_test.cpp,
+ messages_facets_test.cpp, money_facets_test.cpp, num_facets_test.cpp,
+ time_facets_test.cpp, build/test/unit/Makefile.inc: New test cases for
+ each facet category.
+
+ * stlport/stl/config/features.h: Define _STLP_NO_TYPEINFO when _STLP_NO_RTTI
+ is defined.
+
+2007-04-15 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/dll_main.cpp: Removed useless _Atomic_swap_struct export
+ that has already been removed from _threads.h and that was generating
+ compilation error with MSVC 2005.
+
+2007-04-10 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/pointers/_deque.h, _list.h, _set.h, _slist.h:
+ Eric Sanford DMC patch to allow pointer specialization feature.
+
+ * test/unit/map_test.cpp, set_test.cpp, slist_test.cpp,
+ unordered_test.cpp: Remove DMC check hiding pointer specialization
+ tests.
+
+ * build/Makefiles/gmake/dmc.mak, app/dmc.mak: Additional fixes from
+ Eric Sanford.
+
+2007-04-09 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_pair.h, _vector.h, config/_bc.h: Borland patch
+ from Eric Sanford, remove move semantic for free compiler.
+
+ * test/unit/mvctor_test.h: Eric Sanford patch to restore 2 tests
+ that has been lost in a previous test modification,
+ movable_declaration_assoc and movable_declaration_hash.
+
+ * test/unit/mvctor_traits_test.cpp: Add some _STLP_NO_MOVE_SEMANTIC
+ checks when using __move_traits.
+
+2007-04-05 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/_gcc.h: Removed undef of _STLP_NEW_PLATFORM_SDK,
+ under MinGW, MinGW can use a new SDK and not the one coming with
+ MinGW.
+
+ * Merged with STLPORT_5_1 branch up to revision 2994.
+
+2007-04-05 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * src/ctype.cpp: move declaration from loop;
+
+ * stlport/stl/debug/_debug.c: stl/_cstdlib.h already included;
+
+ * stlport/stl/_cprolog.h: prolog for C headers can't include
+ files with C++ constructions;
+
+ * stlport/*.h: C headers use prolog that don't include C++
+ constructions;
+
+ * test/unit/stldbg_include.cpp, build/test/unit/Makefile.inc:
+ test for problem with inclusion C++ constructions from
+ C header.
+
+2007-04-04 Francois Dumont <dums@users.sourceforge.net>
+
+ * build/lib/configure.bat: Change advise command to build
+ STLport after configuration, it is now 'clean all' rather
+ than default build command.
+
+2007-03-22 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/c_locale_dummy/c_locale_dummy.c: Fixed dummy definition
+ for a number of localization functions that are now type safe.
+
+2007-03-20 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_prolog.h, config/features.h, debug/_debug.h:
+ Normalize the way STLport debug mode macros are defined. All
+ debug macro definition are now coming from _debug.h and not
+ anymore partially from features.h. _debug.h is now included from
+ _prolog.h after all configuration has been completed.
+
+ * stlport/stl/_alloc.h, _iterator_base.h, _valarray.h: Removed
+ _debug.h references now fully integrated in STLport configuration
+ phase.
+
+ * stlport/stl/config/_windows.h: Add some Windows macro before
+ inclusion of windows.h when building library to limit Windows
+ pollution (NOMINMAX, STRICT). Moreover add definition of
+ _STLP_OUTERMOST_HEADER_ID macro before windows.h inclusion to
+ avoid indirect include of STLport stuff throught C Standard headers
+ included in windows.h as at this moment STLport is not yet completely
+ configured.
+
+ * stlport/stl/config/_evc.h: Removed unjustified macro definition to
+ limit inclusion from windows.h, it is a user decision not an STLport one.
+
+ * build/Makefiles/nmake/vc8.mak: Fix definition of DEFS in this file
+ to keep current DEFS value that might exist if configure --extra-cxxflag
+ option has been used.
+
+ * src/allocators.cpp: Add _STLP_NEW_PLATFORM_SDK macro check to
+ perform necessary const_cast in _STLP_ATOMIC_ADD macro definition.
+
+2007-03-17 Francois Dumont <dums@users.sourceforge.net>
+
+ * build/Makefiles/gmake/bcc.mak, dmc.mak, gcc.mak, nmake/vc-common.mak:
+ Add WINVER definition when building libraries to signal required OS
+ compatibility, per default it is Windows 98 and later ones.
+
+ * build/lib/configure, configure.bat: Add new configuration option
+ --windows95 to signal that we want Windows 95 compatibility.
+
+ * stlport/stl/_threads.h, config/_windows.h, src/allocators.cpp:
+ Move _STLP_ATOMIC_ADD macro definition in source files where it is
+ used.
+
+ * stlport/stl/config/_windows.h:
+ - When building the libraries we always include windows.h, when using
+ the library we always use own function declaration to avoid windows.h
+ inclusion.
+ - InterlockedExchangeAdd is not declared anymore.
+ - InterlockedExchangePointer is only used when detecting 64 bits
+ platform thanks to the _WIN64 macro, otherwise InterlockedExchange
+ is used.
+
+2007-03-15 Francois Dumont <dums@users.sourceforge.net>
+
+ * build/Makefiles/nmake/vc8.mak: Default MSVC 2005 build is now done
+ without safe string functions for performance reasons.
+
+ * stlport/stl/_locale.h, _alloc.h, _rope.h: Moved
+ _STLP_CHECK_RUNTIME_COMPATIBILITY_AT_LINK_TIME invocation where problem
+ might happen which is in the rope implementation for current use. A future
+ use will need to guess where this function has to be invoked.
+
+ * stlport/stl/config/feature.h: Fixed _STLP_USE_NO_IOSTREAMS check to undef
+ _STLP_CHECK_RUNTIME_COMPATIBILITY_AT_LINK_TIME macro.
+
+ * stlport/stl/config/_windows.h: For performance reason
+ _STLP_CHECK_RUNTIME_COMPATIBILITY_AT_LINK_TIME system is only used in debug
+ mode (detected thanks to _DEBUG macro).
+
+2007-03-13 Francois Dumont <dums@users.sourceforge.net>
+
+ * Merged with STLPORT_5_1 branch revision 2963.
+
+ * src/locale_catalog.cpp: Use C cast for C struct like _Locale_ctype,
+ it makes Borland compiler happier.
+
+ * stlport/stl/_string.h: Made inheritance relation between basic_string
+ and _String_base class public for DMC.
+
+ * src/dll_main.cpp, stlport/stl/config/features.h,
+ stlport/stl/_locale.h, _alloc.h: Add a new mecanism to detect library
+ build/use inconsisteny at link time.
+ _STLP_CHECK_RUNTIME_COMPATIBILITY_AT_LINK_TIME macro contains a
+ function name declared in features.h and defined in dll_main.cpp.
+ This function name depends on the build context. If, when using the
+ library, this macro contains an other function name because of a
+ different configuration context an unresolved symbol will appear at
+ link time showing the missing function symbol. Function name should
+ be chosen carefully to make problem as explicit as possible. For the
+ moment function is called in arbitrary places, in std::use_facet
+ function and std::allocator constructor.
+
+ * stlport/stl/config/_windows.h: Use
+ _STLP_CHECK_RUNTIME_COMPATIBILITY_AT_LINK_TIME macro to detect
+ inconsistency when building STLport for Windows 95 and using it
+ in Windows XP or opposite. Depending on targetted platform,
+ _Refcount_Base has a different sizeof which lead to undefined
+ behavior at runtime if we do not use this trick.
+
+2007-03-13 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * test/unit/string_test.cpp: add test for trivial compare with plain
+ char array;
+
+ * test/unit/exception_test.cpp: add test for what().
+
+2007-03-10 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/_windows.h: Major modification, when building
+ STLport libs windows.h or afx.h, when _STLP_USE_MFC is defined, is
+ systematically included in order to detect the SDK version used to
+ the libraries. _windows.h is now the only place is the library where
+ windows.h is included.
+
+ * src/dll_main.cpp, fstream.cpp, lock_free_slist.h,
+ c_locale_win32/c_locale_win32.c: Removed references to windows.h now
+ included from _windows.h.
+
+ * stlport/stl/_istream.c: Add parenthesis on a use_facet call to make
+ VC6 happy when building the library.
+
+ * test/unit: Disable tests checking instanciation and use of
+ containers with an incomplete type when pointer specialization is
+ enable.
+
+ * stlport/stl/config/user_config.h: Add comment about limitation
+ of pointer specialization.
+
+ * stlport/stl/_string.h, _string_workaround.h: Now that _STLP_DEBUG
+ mode do not use inheritance anymore, use private rather than
+ protected members in basic_string implementation. Only exception
+ is when using VC6 workaround, this is what _STLP_PRIVATE macro is
+ for.
+
+ * src/allocators.cpp, stlport/stl/config/features.h: Removed
+ unjustified _STLP_PRIVATE macro.
+
+2007-03-09 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/config/_msvc.h: use MS's safe string functions only
+ if _CRT_SECURE_NO_DEPRECATE not defined (see bug #1674974).
+ Thanks Bronek Kozicki.
+
+2007-03-08 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * src/num_get_float.cpp: experimental support of correct input
+ of long doubles on Linuxes.
+
+ * test/unit/num_put_get_test.cpp: test for correct input of float,
+ double and long double, including values out of type range.
+
+ * stlport/stl/config/_linux.h: mark that Alpha, PowerPC,
+ 32-bit SPARC, 32-bit MIPS, ARM, SH4 has no long double.
+
+2007-03-05 Francois Dumont <dums@users.sourceforge.net>
+
+ * Synchronization with STLPORT_5_1 branch revision 2945.
+
+2007-02-19 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl: swap workaround review, now when swap implementation
+ detect that a STLport class is being swapped it calls the
+ _M_swap_workaround member method. We do not use the swap method
+ anymore because the way the workaround is implemented would have
+ forces us to add a swap method to queue, priority_queue and stack
+ containers that do not have a swap method according the C++ Standard.
+
+2007-02-15 Francois Dumont <dums@users.sourceforge.net>
+
+ * Synchronization with STLPORT_5_1 branch up to revision 2918.
+
+2007-02-13 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/features.h, _msvc.h, stl_mycomp.h: Removed
+ _STLP_USING_NAMESPACE_BUG macro config. STLport private namespace
+ is now always nested in stlport one. Makes namespace management
+ easier.
+
+ * stlport/stl/_algobase.h: Restore workaround for compilers
+ not supporting template function partial ordering feature, was
+ resulting in regression for a number of compilers, VC6, Borlands.
+ A template class like _SwapImplemented do not have to be specialized
+ to be useful, this class is used to detect types having a swap
+ method. Detection is based on the class being flagged as STLport
+ class thanks to the __stlport_class inheritance.
+
+ * test/unit/swap_test.cpp: Add macro checks to ignore test for
+ compilers we know not being able to support it.
+
+2007-02-12 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/features.h: Add necessary macro to work
+ with tr1 namespace of the C++ technical report.
+
+ * stlport/stl/_unordered_set.h, _unordered_map.h: Put unordered
+ containers in tr1 namespace.
+
+ * test/unit/unordered_test.cpp, mvctor_test.cpp,
+ mvctor_declaration_test.cpp: Add necessary using directive
+ to access tr1 namespace.
+
+2007-02-12 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * Repository: revert back r2908;
+
+ * test/unit/swap_test.cpp: test that swap( a, b ) has specialization
+ a.swap( b ), when required;
+
+ * stlport/stl/_algobase.h: _SwapImplemented useless, because it never
+ specialized elsewhere---remove swap specialization here, use instead
+ swap specialization from _relops_cont.h, when required.
+
+2007-02-07 Francois Dumont <dums@users.sourceforge.net>
+
+ * locale_impl.cpp, monetary.cpp, num_get.cpp, num_put.cpp,
+ time_facets.cpp: Moved all _GetFacetId implementations in
+ the same translation unit as the one where id are initialized.
+
+2007-02-05 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_alloc.h, allocators.cpp: Moved _ALIGN and
+ _ALIGN_SHIFT constant definition in source file where it is used
+ _MAX_BYTES is used in deque implementation. Moreover those
+ constant value now depends on sizeof(void*) to avoid preprocessor
+ check like _WIN64.
+
+ * stlport/stl/_vector.h, _vector.c: Moved __type_traits
+ instanciations in methods that need it in order to be able to
+ access nested types like iterator even if type used to instanciate
+ the vector is not yet completely defined.
+
+ * stlport/stl/_deque.h, _deque.c: Removed useless __type_traits
+ instanciations. For the same reason than above, __buffer_size
+ constant has been replaced by a function computing deque buffer
+ size at runtime.
+
+ * stlport/stl/_hashtable.h, _hashtable.c: For the same reason than
+ above, hashtable do not contains anymore an instance of the _ExK type
+ which is used to extract the key part from a value instance. This
+ instance was not returned in any method of the hashtable type. An
+ unused constructor taking an instance of this type has been removed.
+
+ * test/unit/vector_test.cpp, deque_test.cpp, list_test.cpp,
+ slist_test.cpp, map_test.cpp, set_test.cpp, hash_test.cpp,
+ unordered_test.cpp: Add compilation tests to check that the container
+ iterator nested type is accessible even if type used to instanciate
+ the container is not yet completely defined.
+
+2007-02-02 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/c_locale.h: Add type information for the following functions
+ of the localization support API:
+ - _Locale_*_create
+ - _Locale_*_destroy
+ - _Locale_*_name
+ Also add some variable name to make associated documentation more
+ explicit.
+
+ * src/c_locale_win32/c_locale_win32.c,
+ src/c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c: Adapted to
+ conform to new localization API functions prototypes. Adaptation
+ in glibc before 2.2 has been updated but compilation hasn't been
+ completed because of the lack of the glibc required version.
+
+ * src/locale_catalog.cpp: Now wrapper functions are used to
+ offer a homogeneous prototype to type safe localization API
+ functions.
+
+2007-02-02 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * test/unit/hash_test.cpp: add test for hash_multimap, equivalent
+ keys problem on some data sets [this is regression test, suggested
+ by tef for 5.0.2, bug report #1606308].
+
+2007-01-29 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/debug/_deque.h: typename required.
+
+ * test/unit/sstream_test.cpp: test for seekp added.
+
+2007-01-28 Francois Dumont <dums@users.sourceforge.net>
+
+ * build/Makefiles/gmake: Borland patch from Eric Sanford to install
+ .tds file for Borland debugger.
+
+ * trunk synchronized with STLPORT_5_1 branch up to revision 2895.
+
+ * stlport/stl/_threads.h: Changed way of including headers for
+ _STLP_UITHREADS platform. We now include internal STLport headers
+ rather than Standard ones. It was especially important for Sun
+ Studio compiler that natively include Standard headers only once.
+
+2007-01-25 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * src/facets_byname.cpp: we search within scope, specified by mask,
+ so _Locale_wchar_ctype return can't be beyond of this mask.
+
+ * src/c_locale_glibc/c_locale_glibc2.c: _Locale_wchar_ctype
+ implemented.
+
+ * test/unit/locale_test.cpp: test for ctype facet for wchar_t added.
+
+2007-01-23 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_locale.h: Introduction of the _GetFacetId function
+ to isolate access to facet id instance in one place. It guaranty that
+ the facet id instances initialized in _Stl_loc_assign_ids function
+ are the same as the ones used by streams to format output. Many compilers
+ have problem with template class static variable and duplicate them
+ arround the different shared library depending on STLport.
+
+ * stlport/stl/_monetary.h, _num_get.h, _num_put.h, _time_facets.h:
+ Add _GetFacetId overloads for money_get, money_put, num_get, num_put,
+ time_get, time_put facets that are exposed as template facets. Other
+ facets are fully specialized template classes whose id should be
+ correctly handle by compilers like for any static variable in a non
+ template class.
+
+ * src/monetary.cpp, num_get.cpp, num_put.cpp, time_facets.cpp: Add
+ _GetFacetId implementation.
+
+ * stlport/stl/_collate.h: Use _GetFacetId in __locale_do_operator_call
+ implementation, not required but more consistent.
+
+ * stlport/stl/_monetary.c, _num_put.c, _num_get.c, _time_facets.c,
+ src/locale_impl.cpp: Removed now useless gcc Cygwin or MinGW and
+ Borland workarounds.
+
+ * test/unit/locale_test.cpp: Removed facet_id test case, facet id
+ indexes are STLport internal stuff that shouldn't be part of a unit
+ test. Wrong facet id management will be shown by other tests. Moreover
+ this test was failing for compilers duplicating template class
+ static instances.
+
+2007-01-20 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_cmath.h, _cstdlib.h, config/_watcom.h: Small
+ evolution for Open Watcom support.
+
+ * Synchronization of trunk from STLPORT_5_1 branch from revision
+ 2750 to revision 2871.
+
+ * stlport/stl/config/features.h, _gcc.h, _intel.h, _msvc.h, _sgi.h:
+ Major exception policy modification, _STLP_NOTHROW default value
+ is now throw() when exception support is activated. Compilers not
+ supporting is should define this macro as empty. Configuration files
+ of compilers already managing this feature have been updated.
+
+2007-01-19 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/config/host.h: define one of __SunOS_5_x macro
+ for gcc (during installation?) on Solaris; note, that Solaris
+ system may has patch with MATH_F and MATH_L functions.
+
+ * stlport/stl/config/_solaris.h: reminder for __SunOS_5_x
+ macro definition for gcc; turn on/off MATH_F/MATH_L functions
+ present: see beacon that depends upon Solaris version and patch present,
+ as defined by SunPro compilers or in host.h. Thanks to Graham Reed.
+
+ * stlport/stl/config/_sunprocc.h: if use new-c-headers, SunPro
+ include iso/stdlib_iso.h instead of stdlib.h; note, that this exclude
+ usage of long double, long long, etc. functions, even when ones present
+ in OS. Thanks to Graham Reed. Bugreport 1630943.
+
+2007-01-18 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_num_put.c: Add cast to avoid gcc warning.
+
+ * stlport/stl/_pair.h, _construct.h: Add _STLP_NO_MOVE_SEMANTIC
+ before inclusion of _move_construct_fwk.h.
+
+ * stlport/stl/_istream.c: Removed useless cast to num_get facet.
+
+ * src/system_api.c: Move macro check to at least include math.h
+ in order to avoid an empty translation unit which can generate
+ compilation warning.
+
+2007-01-17 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/_cmath.h: move hypot in global namespace for SunSoft;
+ suggested by Graham Reed.
+
+2007-01-15 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit/locale_test.cpp: Upgrade Russian currency abbreviation
+ 'RUR' to 'RUB'. Thanks Tiziano Muller, bug report 1634886.
+
+ * test/unit/cstring_test.cpp: Fix test to avoid some gcc warnings.
+
+ * stlport/stl/config/_gcc.h: Add _STLP_NOTHROW definition for
+ this compiler for C++ Standard compliancy. It might also help the
+ compiler not to emit false warning about potential use of
+ uninitialized variable (-Wall mode).
+
+ * build/lib/Makefile.inc, src/system_api.h, system_api.c: New source
+ file used for platform exposing some features only to C compiler. for
+ the moment used under Hp Unix for GNU compiler access to platform
+ isfinite, isnan and isinf functions.
+
+ * src/num_put_float.cpp: Replace a lot of unofficial Hp Unix specific
+ code to access functions isfinite, isinf or isnan. Replaced by
+ system_api.h.
+
+ * build/Makefiles/gmake/hp-ux/sys.mak: Looks like install command
+ on this platform is rather exotic, use cp instead.
+
+2007-01-14 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/_system.h: Add __SUNPRO_C macro check to
+ detect Sun Pro C compiler. Thanks Graham Reed bug report 1630916.
+
+ * stlport/stl/_cstdlib.h: Add __SUNPRO_CC macro check before
+ defining abs(long) and div(long, long) as Sun pro already
+ defined them. Thanks Graham Reed bug report 1630972.
+
+2007-01-07 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl: Add _STLP_NO_MOVE_SEMANTIC macro checks to
+ completely hide move semantic framework when not necessary.
+
+2007-01-05 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit/bitset_test.cpp: Check _STLP_NON_TYPE_TMPL_PARAM_BUG
+ macro before doing tests that depends on it.
+
+ * stlport/stl/_list.h: Add assertion to signal potential stack
+ overflow in recurssive calls to list::insert and list::splice thanks
+ Aleksey Sanin idear.
+
+ * build/Makefiles/gmake/lib/gcc.mak: Removed obsolete -C ld option
+ on Hp Unix platform.
+
+ * stlport/stl/_mbstate_t.h: Attempt to fix STLport config for compilers
+ coming with a native lib defining mbstate_t only for C++ compilers.
+ For those compilers native mbstate_t definition won't be used for
+ the moment, STLport simply grant a dummy definition in C. Test
+ under Hp Unix has shown that it works.
+
+2006-12-29 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/iostream.cpp, stlport/stdio.h, stl/_cstdio.h: Eric Sanford
+ patch to move a Borland workaround from cstdio to stdio.h.
+
+ * stlport/stl/debug: Generalize _STLP_NO_MOVE_SEMANTIC check
+ to hide move constructors like already done in non debug
+ implementation.
+
+ * stlport/stl/config/_msvc.h: Restore move semantic for MSVC6. AFAIR
+ only MSVC .Net 2002 had problem with it.
+
+ * test/unit/strstream_test.cpp: Made the tests for _STLP_LONG_LONG
+ a little bit more portable.
+
+2006-12-20 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit/strstream_test.cpp: New test case for sourceforge
+ bug report 1615554. Not confirm for the moment.
+
+ * test/unit/math_aux.h, mvctor_test.h, string_test.cpp: Fixes
+ to correctly take into account _STLP_USE_NAMESPACES.
+
+2006-12-19 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit/bvector_test.cpp: Fix macro check for namespace
+ support.
+
+ * test/unit/num_put_get_test.cpp: disable warning about float
+ overflow for MSVC.
+
+2006-12-17 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit: One more cleanup for compilers not supporting the
+ namespace feature. This time we avoid namespace specification when
+ doing template specialisation of Standard functor like less or
+ allocator.
+
+2006-12-15 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/_dm.h, test/unit/map_test.cpp: Eric Sanford
+ patch for DMC.
+
+2006-12-13 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit/test_main.cpp: Clean up use of namespace feature.
+
+ * test/unit: Clean up use of std namespace or ignore tests if
+ necessary.
+
+2006-12-13 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport, src: Orphan code removed [Symantec without maintainance a long time;
+ gcc prior 2.95 and 2.96 can't work with current code in any case;
+ NetWare unsupported too]
+
+2006-12-13 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/feature.h: Fix and generalize the mutable
+ workaround for compilers missing this feature. Replace
+ _STLP_ASSIGN_MUTABLE with _STLP_MUTABLE macro that is more flexible
+ as not limited to assignment.
+
+ * stlport/stl/_istreambuf_iterator.h, _stream_iterator.h, _string_sum.h:
+ Use _STLP_MUTABLE rather than manually handle _STLP_NEED_MUTABLE macro.
+
+ * stlport/stl/_sstream.h: Removed useless mutable qualifier for
+ basic_stringbuf _M_str member.
+
+ * test/unit/bind_test.cpp: Use STLport mutable workaround.
+
+ * src/message_facets.h, facets_byname.cpp: Limit use of the mutable
+ qualified to one member in _Message_Impl class and use _STLP_MUTABLE
+ in class implementation.
+
+2006-12-11 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit/mvctor_test.cpp: Split in 2 other translation unit
+ mvctor_declaration_test.cpp and mvctor_traits_test.cpp without
+ impacting number of test case. It helps DMC to perform a correct
+ link.
+
+ * stlport/stl/type_manips.h: Check _STLP_DONT_USE_PRIV_NAMESPACE before
+ importing __true_type and __false_type in private namespace.
+
+ * stlport/stl/config/_dec.h, _apcc.h: Removed references to unused
+ _STLP_HAS_NO_NEW_IOSTREAMS macro.
+
+2006-12-11 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * src/fstream.cpp, stlport/stl/_fstream.h: non-template friend function
+ of template class isn't good idea. Fixed.
+
+2006-12-09 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_range_errors.h: To complete 2006-12-04 modification
+ fix inclusion to access to string definition. In normal mode we include
+ stlport/stl/_string.h rather than string header. There is a special case
+ however if cumulating _STLP_NO_IOSTREAMS, _STLP_DONT_REDEFINE_STD and
+ _STLP_WHOLE_NATIVE_STD then functions defined in _range_errors.h will
+ throw exception from std namespace rather than from stlport.
+
+ * stlport/stl/config/user_config.h: Documented above modification.
+
+ * stlport/stl/config/features.h: Modify _STLP_VENDOR_STD definition. This
+ internal macro do not have to use __std_alias, within STLport code std is
+ not a macro and can be used as the vendor namespace.
+
+2006-12-07 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_algobase.c, config/features.h: Removed unused
+ _STLP_MPW_EXTRA_CONST macro.
+
+ * stlport/stl/config/_watcom.h, _dm.h, feature.h: Add new
+ _STLP_NO_CONST_IN_PAIR macro config to avoid instanciation of
+ pair with a const qualified type. _STLP_CONST is defined based
+ on _STLP_NO_CONST_IN_PAIR.
+
+ * stlport/stl/_map.h, _hash_map.h, _unordered_map.h: Add use of
+ _STLP_CONST.
+
+ * stlport/stl/_num_put.c: Introduce __do_put_bool function containing
+ all codes to render bool values. We do not use anymore
+ __copy_integer_and_fill function that was difficult to instanciate for
+ Open Watcom compiler. Moreover this function was not really adapted for
+ being use in this context, code duplication is very limitated and
+ absolute number of lines of code hasn't been modified.
+
+ * stlport/stl/_fstream.h, src/fstream.cpp: Removed useless declaration
+ of template specialization for _Noconv_input _Noconv_output and _Underflow.
+ _Underflow template specialization now use a function __Underflow_doit
+ to avoid the complex syntax of the implementation of a member method of
+ a template class specialization in fstream.cpp.
+
+ * src/message_facets.h: Add missing allocator parameter in hash_map
+ instanciation, required for compiler lacking default template parameters
+ support.
+
+ * src/num_get_float.cpp: Add unsigned 64 bits support for Open Watcom.
+
+ * stlport/stl/_cmath.h, _cstdlib.h: Signal that Open Watcom has already
+ all math functions C++ overloads in global namespace.
+
+ * Cleanup of all workarounds for MSVC before version 6.
+
+ * build/Makefiles/gmake/gcc.mak: Hide -fvisibility option for windows as
+ in this context we are not able to correctly detect gcc version in use.
+
+ * stlport/stl/_fstream.h: Reorder member variables in _Filebuf_base
+ to avoid gcc warning.
+
+2006-12-06 Francois Dumont <dums@users.sourceforge.net>
+
+ * STLport 5.1.0 released based on STLPORT_5_1 branch revision 2750.
+
+ * Merge STLPORT_5_1 branch from revision 2711 to 2749.
+
+ * stlport/stl/config/_hpux.h: Specify that Hp Unix is a unix platform
+ _STLP_UNIX. This platform was already recognise as a unix platform
+ but it is more clear to put it in Hp Unix configuration file.
+
+ * src/num_put_float.cpp: Limit Hp Unix workaround to access isfinite
+ isnan and some other system functions to the gcc compiler, aCC has
+ natively access to it. Tests done by Boris Gubenko.
+
+2006-12-04 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/fstream, iomanip, ios, iosfwd, iostream, istream, locale,
+ ostream, sstream, streambuf, strstream: Allow use of iostream headers
+ even when _STLP_NO_IOSTREAMS is defined if using _STLP_WHOLE_NATIVE_STD.
+
+2006-12-02 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_string.c: Use find_end algo rather than internal
+ __find_end function, find_end contains workaround for limited
+ compilers.
+
+ * stlport/stl/_algo.c: Avoid a useless default value for last
+ parameter of __stable_partition_aux_aux function.
+
+ * src/num_put.cpp: In __insert_grouping_aux, use template parameter
+ Str to get iterator definition rather than getting definition from
+ basic_string.
+
+ * stlport/stl/_num_get.c, _num_put.c: Complete basic_string
+ definition for compiler not supporting default template parameters.
+
+ * stlport/cmath, cstdio, typeinfo: Modified to be reentrant once.
+
+ * stlport/stl/_alloc.h, _bvector.h, _construct.h, _deque.h,
+ _hash_map.h, _hash_set.h, _hashtable.h, _list.h, _map.h, _pair.h,
+ _queue.h, _rope.h, _set.h, _slist.h, _stack.h, _string.h,
+ _string_base.h, _string_workaround.h, _tree.h, _unordered_map.h,
+ _unordered_set.h, _vector.h: Now _STLP_NO_MOVE_SEMANTIC hide all
+ calls to _AsMoveSource function.
+
+2006-11-30 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit/stack_allocator.h: Fixed StackAllocator implementation
+ for Borland and DMC that required a workaround.
+
+ * stlport/stl/config/_gcc.h: Starting with gcc 4, use visibility
+ feature.
+
+ * build/Makefiles/gmake/gcc.mak: Starting with gcc 4, add
+ -fvisibility=hidden compilation option.
+
+2006-11-28 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_alloc.h: Avoid explicit instanciation of template
+ function _AsMoveSource. Replace internal allocator::allocate function
+ with _M_allocate to avoid use of overloading.
+
+ * stlport/utility: Fix header reentrancy.
+
+ * stlport/stl/_ptrs_specialize.h: Fixed instanciation of
+ __type_traits_aux.
+
+2006-11-25 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/climits, iosfwd, mem.h, string.h, typeinfo.h, wchar.h,
+ stl/char_traits:
+ Eric Sanford patch to complete use of include_next with Borland
+ compilers.
+
+ * stlport/using/cstring: Fix macro check for Borland compiler.
+
+ * test/unit/locale_test.cpp: Add test for Borland _fpclass.
+
+ * src/num_put_float.cpp: Fix potential error in _Stl_is_neg_nan
+ for Borland compiler after 0x581.
+
+2006-11-24 Francois Dumont <dums@users.sourceforge.net>
+
+ * Eric Sanford patch for DMC compiler, allow access to associative
+ containers extension.
+
+ * stlport/typeinfo.h, exception: Workaround for DMC that force
+ inclusion of typeinfo.h at the begining of all translation units.
+
+2006-11-23 Francois Dumont <dums@users.sourceforge.net>
+
+ * test/unit/cstring_test.cpp: New test case to check import of all
+ C functions from string.h in STLport namespace.
+
+ * stlport/using/cstring: Fix import of strcmp and strcpy for Borland.
+
+2006-11-20 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/iosfwd, stl/type_manips.h, config/_bc.h, pointers/_tools.h:
+ Patch from Eric Sanford to remove useless Borland workaround for
+ pointer specialisation and use include_next feature for versions after
+ 0x580.
+
+2006-11-20 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * src/monetary.cpp: template header not allowed in member definition
+ of explicitly specialized class
+
+2006-11-19 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_ios_base.h: Replace wrong external utility inclusion
+ with internal _pair.h header.
+
+2006-11-17 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/features.h: Modification of the static constant
+ workaround implementation to use something similar to the boost
+ workaround. _STLP_STATIC_CONST_INIT_BUG macro change definition of
+ newly introduce _STLP_STATIC_CONSTANT macro which use an enum or a
+ real static const variable. Moreover the new
+ _STLP_NO_STATIC_CONST_DEFINITION will hide static constant definition
+ when defined.
+
+ * src/ctype.cpp, ios.cpp, locale.cpp: Add check for
+ _STLP_NO_STATIC_CONST_DEFITION.
+
+ * src/monetary.cpp: Add intl static constant definitions.
+
+ * stlport/stl/_ctype.h, _ios_base.h, _limits.h, _monetary.h: Use
+ _STLP_STATIC_CONSTANT.
+
+ * stlport/stl/_limits.h: Limits a workaround for long long and unsigned
+ long long types that used to be applied for gcc after 2.96 up to version
+ 3.0.
+
+ * stlport/stl/_limits.c: Clean all static constant values duplicated from
+ _limits.h that was not used in this file. Add static constant definition
+ necessary for long long and unsigned long long types for gcc between 2.96
+ and 3.0 (see above).
+
+ * stlport/stl/debug/_string.h: Removed npos static constant definition
+ that is only necessary in stlport/stl/_string.c.
+
+ * stlport/stl/config/_msvc.h: Use real static constant starting with
+ VS .Net 2003 (_MSC_VER >= 1310).
+
+ * test/unit/limits_test.cpp: Modified test to reveal potentially missing
+ static constant definitions.
+
+2006-11-13 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/stl_confix.h: Add some STLport config options based
+ on EDG version information using boost common_edg.hpp content.
+
+ * stlport/stl/: Patch from Eric Sanford for Borland compiler. Allow
+ associative container extension (member methods) and use of pointer
+ specialization.
+
+2006-11-07 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/config/_hpacc.h, stl_confix.h: Thanks to additional info
+ from Boris Gubenko STLport now check __EDG_VERSION__ to detect EDG based
+ compilers. It use this macro to activate include_next feature. Moreover
+ a workaround has been added for aCC6 that was not defining __EDG_VERSION__
+ as expected. _hpacc.h has also been cleaned of obsolete config.
+
+2006-11-07 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport: All C++ Standard headers are now using the same schema. If
+ included from outside (_STLP_OUTERMOST_HEADER_ID not defined) it first
+ included internal header (in stl folder) and then, if _STLP_WHOLE_NATIVE
+ is defined, include the equivalent native Standard header. If included
+ from inside, simply forward to native header include. This schema has
+ several advantages:
+ - Less dependancy on native library headers interdependancy.
+ - Less code included as STLport code is only exposed if headers are
+ included from the outside.
+ - Restore _STLP_WHOLE_NATIVE_STD configuration (tested with gcc, msvc, bcc)
+ The condition for this schema to work is that STLport never include Standard
+ headers internaly when it wants to access some STLport code.
+
+ * stlport/stl/_iomanip.h: New file containing all STLport code that used
+ to be in stlport/iomanip.
+
+ * stlport/stl/_complex.h, _rope.h, _stream_iterator.h, _string_fwd.h: Use
+ stl/_iomanip.h rather than iomanip.
+
+ * stlport/stl/_rope.c: Use stl/_ostream.h and stl/_istream.h rather than
+ iostream.
+
+ * stlport/stl/config/_kai.h, _msvc.h, feature.h: _STLP_MINIMUM_IMPORT_STD
+ macro removed, it was only used in vector header to avoid include of
+ native vector header even when _STLP_IMPORT_VENDOR_STD was defined. MSVC6
+ used to define it but removing it hasn't make compilation failed when
+ importing all native std stuff. Looks like it was a workaround necessary
+ when STLport was not as clean as it is now or for the former wrapper mode
+ that has been removed.
+
+ * stlport/stl/config/features.h: Add a #error to signal that
+ _STLP_WHOLE_NATIVE_STD and _STLP_NO_OWN_NAMESPACE are incompatible
+ options.
+
+ * stlport/stl/config/stl_confix.h
+
+2006-11-05 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_sstream.h, _sstream.c: Add 2 helper functions _S_start and
+ _S_finish to hide complexity of code required to have read access to the
+ aggregated string instance internal buffer. Those 2 functions help keeping
+ basic_stringbuf implementation simple without requiring a friend
+ declaration in basic_string class and use of inheritance in _STLP_DEBUG
+ mode between the debug string and the non debug one.
+
+ * stlport/stl/_string.h, debug/_string.h, _string_sum_methods.h: Removed
+ friend declaration and inheritance (see above). This also avoids to restore
+ some workarounds that used to be necessary when _STLP_DEBUG mode was using
+ inheritance in all the debug containers.
+
+2006-11-04 Francois Dumont <dums@users.sourceforge.net>
+
+ * src/num_put_float.cpp: According C Standard number of digits in the
+ exponent part of scientific output should be at least 2, C99 even says
+ that we shouldn't add zeros if there are more than 3 significant digits.
+
+ * test/unit/complete_digits.h: Modified according to above rules.
+
+2006-11-02 Francois Dumont <dums@users.sourceforge.net>
+
+ * Repository: Merged STLPORT_5_1_RC3 tag changes up to r2771 into the trunk.
+ Now trunk is really in sync with STLPORT_5_1 branch.
+
+ * etc/ChangeLog: Now contains only trunk modif, 5.1 changes are in
+ ChangeLog-5.1.
+
+2006-11-02 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * Repository: merged from 5.1 branch.
+
+2006-11-01 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_stdexcept_base.h: Patch from Uli to simplify
+ __Named_Exception implementation.
+
+2006-10-31 Francois Dumont <dums@users.sourceforge.net>
+
+ * build/test/unit/Makefile.inc: Restore STLport version information that
+ had mysteriously disappeared in a previous modification.
+
+ * stlport/stl/_num_put.c: Disable warning for MSVC that signal problem in
+ cast from pointer to unsigned long.
+
+ * src/num_put_float.cpp: Fix buffer overflow introduce by a previous
+ modification. Now STLport appends '0' so that floating point scientific
+ output has a constant size. MAXESIZ renamed in MAXEDIGITS to make macro
+ signification more obvious.
+
+ * test/unit/complete_digits.h: New file containing the function giving
+ platform dependant number of digits in STLport scientific output of
+ floating point types.
+
+ * test/unit/num_put_get_test.cpp, locale_test.cpp: Adapt tests to latest
+ STLport modifications.
+
+2006-10-30 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport/stl/_stlport_version.h: Upgrade STLport version information
+ to reflect built libraries.
+
+2006-10-24 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/config/host.h, _linux.h: force usage malloc_alloc as default
+ allocator on systems with glibc 2.3.x and later due to better performance.
+
+ * stlport/stl/_alloc.h: remove _STLP_MALLOC_USABLE_SIZE dependant
+ code---not really used.
+
+ * stlport/stl/_alloc.c: remove recalculation of __n [Francois was right];
+ remove _STLP_MALLOC_USABLE_SIZE dependant code---not really used.
+
+ * src/allocators.cpp: remove additional __malloc_alloc_impl class---not
+ required; add mutex lock for custom __malloc_alloc oom handler change/use
+ [in multi-threaded environment].
+
+2006-10-16 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/c_locale.h, _mbstate_t.h, src/c_locale.h, c_locale.c:
+ merge changes from STLPORT_5_1 branch, see 2006-10-12 [Francois Dumont];
+ may be problems on Solaris, and FreeBSD---more check required.
+
+2006-10-13 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * Repository: merge changes [not all] 2006-10-12 from STLPORT_5_1 branch
+
+2006-10-12 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * Repository: merge changes from STLPORT_5_1 branch (records
+ from 2006-10-06 to 2006-10-04).
+
+ * stlport/stl/_alloc.c: Hmm, looks like deallocation size in
+ 2006-10-06 is wrong.
+
+ * stlport/stl/_num_put.c: print pointer as in fix width form, and
+ with base 0x, independent, zero pointer or not.
+
+ * test/unit/num_put_get_test.cpp: test for issue above.
+
+ * test/unit/string_test.cpp: test for overloaded operators
+ and temporary string; inspired by problems with some compilers.
+
+ * stlport/stl/_mbstate_t.h: revert back changes from STLPORT_5_1 branch;
+ mbstate_t couple with wchar closely, and sometimes has compex and implicit
+ dependance; include wchar.h first required!
+
+2006-09-12 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * test/unit/string_test.cpp: add test for bug report #1541499,
+ problem not detected; looks like gcc 4.1.1 can compile te_tmp test
+ correctly [sum operations under class derived from string, with
+ _STLP_USE_TEMPLATE_EXPRESSION].
+
+2006-09-08 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * stlport/stl/_sstream.h, _sstream.c: remove double buffering
+ on write only underlying string as buffer. Use knowlege about
+ string implementation, this should improve performance, and,
+ at least simplify code and avoid logic that already present in
+ string implementation.
+
+ * stlport/stl/_string_base.h: basic_streambuf is friend, to access
+ to internal function (access to storage pointers).
+
+ * stlport/stl/debug/_string.h, _string_sum_methods.h: change usage
+ of 'non-debug string', from 'use of' relation to 'inherit' releation.
+ Useful for access basic_streambuf to string storage in _STLP_DEBUG
+ mode too.
+
+ * test/unit/sstream_test.cpp: test for tellp call; change test
+ with inited ostringstream in accordance with another Standard
+ treatment.
+
+ * stlport/stl/_streambuf.h: remove ancient code, that can't
+ work with present code in any case.
+
+ * src/c_locale.c: ditto
+
+ * build/lib/Makefile.inc: bump minor version (5.2.0)
+
+2006-07-27 Francois Dumont <dums@users.sourceforge.net>
+
+ * stlport: Adopt include_next GNU extension for the following reasons:
+ - Standard headers do not have to be categorised anymore to be
+ included, we could have a wrong include order if headers are not
+ correctly categorized.
+ - Package builder can use any folder structure they want for gcc,
+ STLport won't have to be customized anymore.
+ - Make STLport usable with other library that also use the shadow
+ header trick to modify native headers content.
+
+ * stlport/stl/config/_gcc.h: Add definition of _STLP_HAS_INCLUDE_NEXT
+ macro to signal that this compiler preprocessor support include_next.
+ Removed all definition of native headers path that are now useless.
+
+2006-03-27 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * src/num_put_float.cpp: use buffers that at least longer
+ than maximal double [or long double] exponent, so avoid
+ potential vulnerabilities; this allow to read really long
+ fix-float numbers [with lost of significant digits, of course].
+
+ * test/unit/floatio_test.cpp: add test for issue above
+
+2006-03-23 Petr Ovtchenkov <complement@users.sourceforge.net>
+
+ * src/cxa.c: remove wrong exclusion of lock for Solaris.