This is bugfix release.
* fix derived from patch #1914475, wrong replace for selfreferencing string;
* build on HP-UX PA-RISC and IA64, build on Solaris;
* fix cxa_atexit problem for HP-UX with gcc, like on Solaris.
See ChangeLog for details.
This patch release contains the following fixes:
- Workaround to the creation of a terminal window under Windows CE.
- Management of Ctrl-Z while reading file under Windows.
- Management of encoding while reading file under Windows.
Enjoy.
Article http://complement.sourceforge.net/compare.pdf present comparison of strings implementations in STLport (trunk) and libstdc++. This tests also can help to answer on questions: COW or non-COW strings implementation better? What allocator is better? Under what conditions? This comparison is done on the base of STLport strings, ropes and libstdc++ strings. I expect that this results will help to make decision between STL implementations as well proper choice of strings implementation. And, of cause, it will help in future development of STLport.... read more
I have just added in SVN trunk a rather complete description of the STLport data structures in the Visual Studio debugger language. You will find those descriptions in etc/autoexp.dat, the content of this file has to be copy/paste in the Visual Studio autoexp.dat file. Those descriptions has been design based on current SVN trunk data structures but it should also work with 5.1 release. Those descriptions has been tested with Visual Studio 2005 Express edition.... read more
This patch release contains following main fixes (see ChangeLog-5.1 for a complete list) :
- collate facet implementation using Glibc and
- string::rfind, find_last_of, find_last_not_of, position 0 was wrongly excluded
- rope::iterator copy constructor fixed.
- large file support enable when _LARGEFILE_SOURCE or _LARGEFILE64_SOURCE defined for Posix platforms.
Bests
Tarballs of STLport 5.1.3 release have been updated to fix the patch version information only used on unix/linuxes platforms.
STLport 5.1.3 available for download.
This release contains fixes for Microsoft Visual Studio compilers suite:
Add support for EVC 2005 thanks Ulrich Echkardt.
Modification of the code use to detect stateless classes to avoid a Visual Studio 2005 warning.
Change configuration for Visual Studio 98, do not support explicit instanciation of class template method like locale::combine or bitset::to_string.
Fix definition of the internal _STLP_WIN32_VERSION macro giving targeted platform version, based on WINVER or _WIN32_VERSION in this order.
Fix a use of strncpy_s that was potentially leading to a crash.
This release contains following bug fixes for Windows platform:
- Potential infinite loop in locale creation depending on the requested locale. Might also block application startup if system locale leads to an infinite loop.
- Fix for compilers having a bug in implementation of the empty base class optimization like VC6 or Borland compilers.
Here is a new release containing following bug fixes:
* Windows platform:
- Race condition when several threads were creation a facet from name at the same time.
- Race condition because of a some static buffer when using time facet.
- Restored Windows 95 support.
* Platform independant:
- locale::combine behavior.
- deque::insert at a given position method, it was returning the wrong iterator in some case.
- Wrong invalidation of iterators in deque::erase method in STL safe mode.
- Computation of system page size, should improve performance if file streams especially on 64 bits systems.
- locale::collate behavior in the Glibc portage.... read more
STLport 5.0.3 available for download.
General changes relative 5.0.2:
- few fixes related to print floats (possible buffer overflow);
- fix bug in list::swap;
- search_n with predicate fail in case when subsequence size is 1;
- fix missing null termination in rope constructor from a character and a buffer overrun;
- fix implementation of __equal_range, __lower_bound, __upper_bound when dealing with a key whom type is different from the value_type of the iterator;
- Modification of the slist::splice_after methods signature; one now have to pass the source slist instance, this is mandatory in order to compare the 2 slists allocator instance before moving an element from a slist instance to an other;
- fix hash_multimap behaviour when deal with same keys
Here is the release notes extract for this version:
5.1:
- Major modifications
* Folder architecture: All configuration files are now in stlport/stl/config folder.
stlport/stl_user_config.h renamed and moved as stlport/stl/config/user_config.h.
stlport/stl/_site_config.h renamed and moved as stlport/stl/config/hosts.h.
STLport configuration now also try to seperate platform configuration from compiler
one.... read more
Since RC2 major modifications has been:
- Use of compiler extensions noreturn attribute to limit some compiler
warnings.
- Smaller bucket counts for hash containers
- Improvment in support of Chinese locale in Windows platform.
- Hp Acc support
http://complement.sourceforge.net/compare.pdf
Article updated.
This article present comparison of strings (and some iostreams features) implementation in STLport (trunk) and libstdc++. This tests also can help to answer on questions: COW or non-COW strings implementation better? What allocator is better? Under what conditions? This comparison is done on the base of STLport strings, ropes and libstdc++ strings. I expect that this results will help to make decision between STL implementations as well proper choice of strings implementation. And, of cause, it will help in future development of STLport.
Due to few advantages of SVN over CVS, STLport migrate to SVN repository.
Important bug fixes from RC1:
- 64 bits issue using gcc
- Memory overrun and memory leak in rope
- list::swap implementation fix
- Major modifications
* Folder architecture: All configuration files are now in stlport/stl/config folder.
stlport/stl_user_config.h renamed and moved as stlport/stl/config/user_config.h.
stlport/stl/_site_config.h renamed and moved as stlport/stl/config/hosts.h.
STLport configuration now also try to seperate platform configuration from compiler
one.
* Allocators implementation is in src folder to enhance encapsulation. Default
allocator when using STLport without building it (_STLP_NO_IOSTREAMS) is the simple
new/delete based allocator, node allocator is the default when building the lib.... read more
STLport 5.0.2 available for download.
General changes relative 5.0.1:
- fix rope::find(char);
- string's const operator [n] should return CharT() in case of n == size();
- few workarounds for ICC 9;
- really implemented getting default locale categories from environment;
replace a few strcpy by strncpy to protect from possible buffer overflow
attack (with glibc);
- add --use-static-gcc option for configure (useful for gcc, if you want
to use static libgcc when compiler builded with --enable-shared
[i.e. default]);... read more
http://complement.sourceforge.net/compare.pdf
This article present comparison of strings (and some iostreams features) implementation in STLport (v. 5.0.1) and libstd++. This tests also can help to answer on questions: is it strings copy algorithm with constant complexity better than algorithm with linear complexity? What allocator is better? This comparison is done on the base of STLport strings, ropes and libstd++ strings. I expect that this results will help to make decision between STL implementations as well proper choice of strings implementation.
STLport 5.0.1 available for download.
General changes relative 5.0.0:
- fix typos/bugs in make subsystem;
- bugfixes to support platforms: FreeBSD, Solaris (including SunPro 5.7 compiler) and eVC---MIPSxx;
- bugfixes in iostreams (formatting money and numbers).
STLport 5.0.0 (release) available!
Great thanks for all authors, contributors, testers!
General changes relative STLport 4.x:
- No more wrapper mode: you can use STLport iostreams or no iostreams at all;
- _STLP_NO_CUSTOM_IO now also hide basic_string implementation
- internal namespace schema has been modified, see doc folder for additional informations;
- Support of many modern C++ compilers and platforms
o gcc 3.4.0 and later;
o MSVC .Net 2002, 2003 and MSVC 2005 Beta;
o Windows CE see build/test/unit/STATUS for a complete list of tested platforms/compilers;
o Novell Netware;
o Linux/uClibc;
- Move semantic: vector or deque of any other STL containers are using move semantic
when resized or modified rather than copy.
- New checks in safe STL mode like null pointer or check of iterator range pass
to container constructors;
- Expression template for string concatenation operations (available through
the _STLP_USE_TEMPLATE_EXPRESSION config option);
- Implementation of the short string optimization trick, basic_string have a small
static buffer in this case;
- STL containers vector, deque, list and slist pointer specialization to limit code bloats
(see _STLP_USE_PTR_SPECIALIZATIONS on config file);
- Use of boost type_traits rather than internal equivalent when requested (see
_STLP_USE_BOOST_SUPPORT in config file);
- set/multiset, or map/multimap iterators cannot be compared anymore;
- unordered_set, unordered_multiset, unordered_map, unordered_multimap hash containers
implementation specified in the TR1 document;
- Thanks to the _STLP_LEAKS_PEDANTIC config option you can ask STLport to clean its
memory pool before being unloaded, useful to only detect real memory leak problems;
- Creation of configuration scripts to make STLport configuration easier;
- Improvement of some algorithm like search_n or stable_sort;
- Ported to 64 bits platforms;
- Large file ( > 4 Gb) stream support on Win32 platform;
- Unit tests provide now good regression with clean interpretation;
- Many bugfixes, code cleaning, etc.
General changes:
- Fix cygwin configuration
- STLport library names more coherent between unixes and windows systems.
- fix gcc 2.95 builds
- fixes for 64-bits Unix platforms (locale)
General changes:
- fix move ctors/dtors implementations;
- time format facet fix;
- use different namespaces for mulithreaded and non-multithreaded
builds to avoid usage of non-multithreaded application with
multithreaded libstlport and vice versa;
- usage of -fuse-cxa-atexit strongly required for correct order
of static objects dtors calls (locale de-initialization).
Old CVS repository on cvs.stlport.com closed up.
CVS master repository was moved to SorceForge CVS. cvs.stlport.com repository is present too, but active development will be at SF. All history of CVS repository from cvs.stlport.com preserved in SF CVS (date of transfer: 2005-08-27).
STLport site at SF established: see http://stlport.sourceforge.net