| 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. |