ns/releases/3.04/source/stlport/etc/ChangeLog-4.0

669 lines
28 KiB
Text
Raw Normal View History

The following fix was made in 4.0 since 4.0 Release Candidate :
* _threads.h/_config.h : for all platforms, static mutexes made non-indirect
* _iterator_base.h : made possible to choose between iterator_traits approach
and old-style iterator queries like iterator_category(), value_type(), etc.
(Thanks to John R. Bandela for pointing this out)
* _config.h, stl_user_config.h : introduced __STL_OLD_HP_ITERATOR_QUERIES switch to
allow old-style and new-style iterator queries (for all compilers).
iterator_traits<> made always defined.
* _ptr_specialize.h - specializations of type_traits<> for compilers w/o partial spec
moved into separate file. Added iterator_traits<> specializations for pointer types
for __STL_NO_OLD_HP_ITERATOR_QUERIES case. Macro __STL_POINTERS_SPECIALIZE is now available
to specialize both type_traits and iterator_traits for a pointer to user-defined
type (latter for standard-style iterator queries mode only)
* vc5.mak : __STL_NO_FORCE_INSTANTIATE flag restored
* _site_config.h : if __STL_NO_NEW_IOSTREAMS or __STL_NO_IOSTREAMS specified,
SGI iostreams are being turned off. __STL_NO_SGI_IOSTREAMS moved into stl_user_config.h
(Thanks to Sathish T C for the report)
* stl_watcom.h : _REENTRANT is being set if _MT is set (thanks to Ricardo E. Gayoso for the input)
The following fix was made in 4.0 Release Candidate :
* _threads.h, _alloc.c : fixed use of _STL_mutex_base instead of _STL_STATIC_MUTEX macro
The following changes were made in 4.0 Release Candidate since 4.0 beta 8:
* fstream.cpp : WIN32 fstreambuf::open flag mapping fixed
(thanks to Alberto Barbati for the reports)
* ctype.cpp : fixed classic table regarding ios_base::print/ios_base::space
conflict (thanks to Alberto Barbati for the report)
* cmath : added same workaround for SUN's math exception/std::exception name clash
as was there in math.h before
* _streambuf.c : added "typename" to out-of-line functions (thanks to Michael Tsirkin for the report)
* README fixed to be consistent about SGI iostreams setting (thanks to Ed Brey for the report)
* _bitset.h : fixed SUN CC 4.2 crash with -g option (thanks to Alex Vanic for the report),
fixed bug in bitset<>::reference base bitset typedef
* _threads.h/.c - fixed issue with inconsistent system's macro for initialization
and warning about partially bracketed initializer
* debug/_vector.h : fixed _Vector_nonconst_traits specialization for bit_vector
(thanks for Dave Abrahams for the fix & reminder)
* config/msvc.h - addidional level 4 warnings suppressed (thanks to Ed Brey for the report)
* _ios.h : fixed DLL export decl for MSVC (thanks to Alberto Barbati for the report)
* stdio_streambuf.cpp : compatibility fix for glibc 2.2 (thanks to Bill Shanahan for the patch)
* _iterator_base.h : added iterator<output_iterator_tag, void,..> specialization;
_stream_iterator.h : ostream_iterator changed to inherit from iterator<>
(thanks to Raphael Bossek for the report)
* INSTALL : added some exaples and fixed typos (thanks to Beman Dawes for the report)
* _site_config.h : more consistency checks for MT (thanks to John Maddock for the input)
* _messages_facets.h : added DLL export decls (thanks to John Maddock for the report)
* complex_io_w.cpp : fixed specialization syntax for aCC (thanks to Paul E. Blanchard for the report)
* complex_exp.cpp : fixed pow() bug for negative arguments (thanks to Anton Sergeev for the report)
* _fstream.h/_streambuf.h : MRC/MPW workarounds (thanks for Tsutomu Yoshida for the report)
* using/fstream.h : added missing end-of-line (thanks to Jean-Francois Panisset for the report)
* <typeinfo> : workaround for VC++ 6.0 defining type_info in gobal namespace (thanks to Bosko Ivanisevic for pointing that out)
* _threads.h/_threads.c/pthread_alloc : improved pthreads portability (thatnks to Michael Tsirkin for the patch)
* _debug.h/_debug.c : __STL_ASSERT/__STL_VERBOSE_ASSERT/__STL_VERBOSE_RETUN macros guarded to be overridable by user (thanks to Tony Gould for the input)
* _valarray.h : added assert to operator=
* config/vc_select_lib.h : added _AFXDLL recognition (thanks to Andrew Phipps for input)
* _rope.h : added default constructors to please gcc-2.7.2
* _set.h/_hash_set.h : pointer and reference typedefs fixed (thanks to Anton Sergeev for the report)
* stl/_config.h : stl_user config.h included prior to other parts of configuration
(thanks to Frank Samuel for the report)
The following changes were made in 4.0 beta 8 since 4.0 beta 7:
* Merged changes for 06/08 SGI library snapshot; mostly in locale
* Merged series of fixes/workarounds by Tsutomu Yoshida (thanks!):
* _rope.c - fixed memory leak bug;
* _debug.c/_debug.h - added extra zero-initialization for more robustness;
* _list.h - MPW - specific fixes;
* _hashtable.h - fixed debug renaming clash for __STL_USE_ABBREVS
* EH workarounds to make Apple compilers behave
* _fstream.c : fixed tellg() bug in text mode
* <csignal> : added sig_atomic_t import
* series of fixes for HP aCC 1.23 ( thanks to Michael Tsirkin for the patch ):
_bvector.h : all relops are specialized;
stl_hpacc.h - fixed config;
hpacc.mak : added makefiles for HP aCC in src and test
debug/_iterator.h, debug/_vector.h - removed future errors due to baseclass member use
* <cstdlib> : added import of system() call (thanks to Petr Ovchenkov for the report)
* _REENTRANT is now set by default to be on for all SGI iostreams compilations.
Same is being enforced if SGI iostreams are used.
* _pair.h : added workaround for make_pair in case of char literals
(extension, only works with partial function order)
* config/stl_gcc.h - fixed configuration problem for "g++-3" directory used in Cygnus and Mingw
distributions for gcc-2.95.2, while all other platforms use "g++". Added recognition section.
Thanks to Dave Abrahams for the report.
* config/stl_mlc.h : added support for MLC compiler (thanks to Anton Sergeev for the patch)
* <memory> : auto_ptr simplified (thanks to Kon Tantos for problem report)
* num_get.cpp : included <ostream> to get external symbols right.
* stl_ibm.h : __STL_NO_TYPEINFO added for OS/2 (thanks to Willie Arbuckle for the report)
* stl_bc.h : fixed enforcement of static library until dynamic made to work (thanks to J. Lambert for the report)
* src/stlport.rc : improved version definition to work with mingw32, <winres.h> changed to <windows.h>
* src/mingw32.mak : Made use of stlport.rc for DLL build (thanks to Danny Smith for the suggestion)
* debug/_vector.h : name clash removed for _Base (thanks to Will Fike for the report)
* _monetary.h - added "static const bool intl" member to meneypunct<> templates
(thanks to Anton Sergeev for the report)
* _bitset.h : added forward friend decraration for reference (thanks to Anton Sergeev for the report)
* _tree.h : made _Rb_tree_base_iterator::_M_node initialized in default constructor (thanks to Dean Sturtevant for the report)
* _set.h : reinterpret_cast<> changed to C-style cast (thanks to Dave Abrahams for the suggestion)
* Use of raw SGI allocators (like __node_alloc) as an allocator parameter deprecated,
available only with __STL_USE_RAW_SGI_ALLOCATORS macro. May be removed later.
__allocator<T> still available unless __STL_NO_EXTENSIONS is specified
* _limits.h/_limits.c - alignment fix for Solaris;
* Modified __format_float* routines to take long double as parameter;
(thatnks to Anthony Williams for the patch)
* debug/_iterator.h - wrappers for noncompliant compilers moved under
#ifdef __SGI_STL_NO_ARROW_OPERATOR (thanks to Dave Abrahams for the input)
* _numeric_facets.h - num_put<> , num_get<> virtual members made outline to work
aroung gcc-2.95 bug.
* <cstdio> : undefined obsolete C macros : getchar/putchar & the like.
* ctype.cpp : fixed bug with ctype<char>::is (const char*, const char*, mask)
* ctype.cpp : fixed is(print) for certain platforms where print is a separate flag
* ftstream.cpp : fixed corner case bug for Win32 text output (thanks for Dirk Schreib for the report)
* _streambuf.h, _fstream.h, stdio_strembuf.h : fixed overflow/pbackfail() virtuals definition;
* _bitset.h : _M_copy_from_string fixed for non-member-template case (thanks to Alex Vanic for the report)
* gcc-glibc.mak, common_macros.mak : GLIBC compilation fixes (thanks to Thomas Witt for the report)
* WCHAR_MIN, WCHAR_MAX definitions moved from <limits> to <cwchar>
* char_traits<char>::to_char_type : parameter changed to int
* <cstddef> included in <new> (for size_t)
* _codecvt<>::do_length: fixed first parameter to be const mbstate_t &;
virtual fns moved into .cpp, to work aroung gcc bugs
* _complex.h : fixed complex<>::operator= and constructors signature to take const T&
* _istream.c : fixed formatted input involving binary '0'
* locale_impl.cpp : insertion of time_put<wchar_t> fixed
The following changes were made in 4.0 beta 7 since 4.0 beta 6:
* Merged series of fixes/workarounds by Tsutomu Yoshida (thanks!):
* cmath, _complex.h, stl_apple.h, _deque.h - MPW/MRC specific workarounds
* _bitset.h - removed the obsolete _WordT template parameters.
* _ctype.h, _codecvt.h, _collate.h, _istream.h, _messages_facets.h, _monetary.c
_monetary.h, _numeric_facets.h, _time_facets.h - added workaround for locale's nested class.
* _ostream.c_ostream.h - added proposed modification against the <ostream> circular inclusion problem.
* test/eh/test_deque.cpp - removed the obsolete template argument
* _bitset.h - removed obsolete adaptor (thanks to Alex Vanic for the report)
* _[io]stream.h - removed extra DLL specs (thanks to Danny Smith for the report)
* stl_msvc.h - fixed bug caused static lib to always be selected
* gcc.mak - fixed AR definition for static link
* Added workaround for static locale::id member in DLL for mingw32 (thanks for Danny Smith for the report)
* _string_io.h : added _widen() to get getline() compile with wchar (somewhat missing in b6 , thanks to Mikhail Leonov for reminder)
* threads.h - fixed guards for DreamSega WinCE (thanks to Ben Nason for the report)
* fstream.cpp : fixed truncation for WIN32 (thanks to Bruce Alderson for the report)
* _istream.c/_M_ignore_unbuffered() - fixed count bug
* _istream.c/ readsome() : fixed extra failbit setting on eof
* __get_integer - enhanced using a table; input value made unchanged in case of error.
* __get_base_or_zero - more code factored out
* stl_wince.h : fixed assert() definition for Win CE (thanks to Andrew Waters for the report)
* vc_select_lib.h " fixed __declspec selection for Win CE (thanks to Andrew Waters for the report)
* _rope.c - fixed bug in _S_destr_concat_char_iter (thanks to E.Musser for the fix)
* debug/_vector.h - fixed DLL export for vector<void*>
* _vector.h, _deque.h, _bvector.h - obsolete guards around at() methods removed ;
* type_traits.h - WinCE compatibility fixes for -> operator definition ;
* _vector.h, _deque,h - removed extra casts (thanks to Andrew Waters for the report)
* _algobase.h - optimized lexicografical_compare() overload for char*
The following changes were made in 4.0 beta 6 since 4.0 beta 5:
* Merged changes from SGI STL snapshots 04/03, 04/14, 04/18.
* Iostreams ported to Apple MPW/MRC (thanks to Tsutomu Yoshida for the contribution)
* Iostreams ported to OSF1/Tru64 (thanks to Marc W. Mengel for the contribution)
* Iostreams ported to FreeBSD ( Thanks to Sms for the contribution)
* <deque> : extra template parameter removed
* locale::id, locale::facet : reverted to nested classes as standard prescribes
* _string_io.h : added _widen() to get getline() compile with wchar (thanks to Mikhail Leonov for the patch)
* collate_byname[_w].cpp : fixes for VC++ 5.0 build w/__STL_DEBUG (thanks to Petr Ovchenkov for the patch)
* <complex> : __STL_COMPLEX_NAMESPACE defined before inclusion of impl. header
(thanks to Matthew Kelly for the patch)
* makefiles in "src" : improved to get each compiler to put object files in separate directory :
./obj/$(COMP)/Debug, etc. COMP is given some default value for each compiler, but may be also overridden.
* "src" subdirectory : added stlport_prefix.h file for precompiled header support;
VC++ makefiles make use of them
* stl/_iterator_base.h : provided __STL_NONTEMPL_BASE_MATCH_BUG
workaround for new form of distance().
* <limits> : added cast to WCHAR_MAX definition (thanks for Dave Abrahams for the report).
* stl_user_config.h, stl/_config.h - setting splitted and organized more properly.
* time_facets.cpp - extra instantiations removed (thanks to Matti Rintala for the report).
* stdio_streambuf.h : added explicit qualifications of C lib functions for gcc-2.91
* SGI code used for compatibility w/older versions are guarded with #ifndef __STL_NO_ANACHRONISMS
* SGI extensions are guarded with #ifndef __STL_NO_EXTENSIONS
* SGI/HP anachronisms are guarded with #ifndef __STL_NO_ANACHRONISMS
* <typeinfo> : .h file included if __STL_NO_NEW_NEW header is set
(thanks to Willie Arbuckle for the report)
* Suppresed spurious BC55 warnings about iterators
* complex_io.h - fixed operators declarations for MetroWerks
* debug/_slist.h - cleaned up use of stl_debug_do obsolete macro (thanks to Matti Rintala)
* debug/_iterator.h, debug/_vector.h - fixed relaxed iterator constructors (thanks to Dave Abrahams for the patch)
* stl/_complex.h - fixes for gcc-2.95 on IRIX (thanks to Marc W. Mengel)
* debug/_iterator.h : fixed relaxed const/non-const iterator construction for debug mode
(thanks to Dave Abrahams for the patch)
* collate : added workaround for SUNpro linker (thanks to Petr Ovchenkov for the fix)
* _ios.h, _streambuf.h - added obsolete stuff required by the standard
* _config.h/stdexcept - introduced __STL_NOTHROW_INHERITED to be used when we actually need
exception specification due to inheritance (thanks to Joe for the report)
* _locale.h:104 : fixed ummaned parameters
* _tempbuf.h - fixed absent inclusion of _tempbuf.c
* <exception> : relaxed rules for importing vendor symbols
* _deque.h - added != operator
* _streambuf.h - fixed snextc() bug for wchar_t
* <ostream>, _numeric_facets.h - circular dependency resolved
* stl/_iosfwd.h - added include guard
* basic_[io]stream::sentry made inner class again (as per standard)
for non-DLL compilations.
* vector<void*> is used in locale implementation to reduce code bloat,
vector<void*> exported from DLL
* <stdexcept> : exported more stuff
* stl_intel.h : ICL config merged into stl_msvc.h
* gcc.mak - fixed for shared target
The following changes were made in 4.0 beta 5 since 4.0 beta 4:
* _hastable.c:263 : removed inneeded cast (thanks to Will Fike for the report)
* debug/_string.h : added conversion to non-SGI string (thanks to Todd Richmond for the report)
* _complex.h : fixed DLL declarations for i/o operators
* _ostream.h : fixed sentry behavoiur and DLL specs.
* _istream.h : fixed DLL specs, optimized some try/catch blocks
* _vector.h : fixed vector::insert body definition for __STL_INLINE_MEMBER_TEMPLATES
* <exception> : more compilers listed as having full exception header
* debug/_debug.h : added namespace to __STL_ASSERT for EH test which uses this internal macro.
* resource info fixed (thanks to Michael Entin for the report)
* debug/_string.h : fixed _M_start resolution bug (thanks to Rob for the report )
* <new> : added import of new_handler stuff from vendor namespace (thanks to Niran Bala for the report).
* src/c_locale_glibc - missed directory contents restored (thanks to Todd Rider for the report)
* mwerks_prj - project updated for new file set, target names for x86 changed to conform to common schema
* _ostream.c/_istream.c : fixed lookup for _S_eof symbol (thanks to Anton Sergeev for the report)
* _ios.h - fixed VC++ DLL warning for specializations
* stl_ibm.h - disabled "long long" due to incomplete support on MVS by request (thanks to Tinny Ng)
* char_traits.h - worked around weird gcc internal bug (__sz identifier changed to _Sz)
The following changes were made in 4.0 beta 4 since 4.0 beta 3:
* "src" directory : source divided into smaller parts to be more manageable and to
get more cache locality
* throw specifications removed (macros made void) - thanks to Dave Abrahams for the suggestion
* stl/_list.c - fixed reverse() "inline",
_deque.h - fixed cast bug for xlC (thanks to Alex Vanic for the reports)
* stl/_strstream.h - fixed DLL specs (thanks to Parcival Willems for the report)
* stl/_string.h, debug/_string.h - fixed conversion from native string with __STL_DEBUG
(thanks to Todd Richmond for the report).
* stl/_istream.h - fixed clash of "__N" symbol with ctype.h macro for some compilers
(thanks to Kees de Bruin for the report)
* Configuration fixed for Borland C++ 5.02 compiler [ deque still does not work with it ]
* gcc-2.7.2 configuration fixed
* SGI iostreams now work for Borland 5.5 with static lib , some problems with
locale initialization when DLL is used.
* __get_c_string exported in DLL (thanks to Ed Ball for the report).
* ENDIAN fixes for CodeWarrior/DEC (thanks to Kevin Wooten for bringing this up)
* wrap_std/h/strstream.h - added missing wrapper (Thanks to Laurent for the report)
* stl_hpacc.h - fixed #endif bug,
_limits.h/.c - fixed array initialization,
_string_io.h, _locale.h - fixed circular dependancy,
_set.[hc], _hashtable.c, _set.h - added __REINTERPRET_CAST need by some compilers;
_i[o]stream.c, _rope.[hc] - lookup fixed for dependant symbols
(thanks to Alain Miniussi for the reports)
After-release minor bugfixes for beta3:
* stl/_list.c - fixed reverse() [ new SGI code, merged unported first ]
Thanks for everybody who reported it.
* stl/_bvector.h : fixed ambiguity problem with relational iterators
for __STL_NO_BOOL case (thanks to Alex Vanic for the report).
* stl/_alloc.c, stl/_threads.c - fixed static member definitions for compilers
that lack automatic static data members (gcc-2.7). Thanks to Huang-Ming Huang
for the report.
* standard wide streams initialization bug on Win32 fixed (thanks to Harold Putman for the
report)
The following changes were made in 4.0 beta 3 since 4.0 beta 2:
* Merged SGI changes from 02/18 snapshot.
* Ming32W (gcc Win32 port using MS runtime lib) is now fully supported.
* .dll build schema improved, now builds with mingw32 and Borland C++
(Borland has some problem with numeric i/o)
* VC++ version bugfixes in <xstring>/<xutility>/<xstring>
(thanks to Todd Richmond for the report)
* _bvector.h - relational operators defined only for "bit_vector",
not for "vector" specializations (thanks to Edward Ball for the report)
* src/locale_impl.h - fixed multiple defined symbol problem with gcc
(Thanks to Matti Rintala for the report)
* config/stl_ibm.h - __STL_NO_TYPEINFO added (thanks for Tinny Ng).
* <string> : _stl_string_io.h/c introduced to fight inter-dependencies
* _bvector.h - added fix for -tempinc compilation on AIX (thanks to Alex Vanic for the patch)
* fstream.cpp - _M_write bug for Win32 text mode fixed (thanks to Mike Pyle)
* _string.h : debug version included prior to _string.c;
* debug/_debug.h/.c, debug/_deque.h, debug/_string.h - fixed debug mode bugs;
Apple compilers config fixes / iostream wrapping fixes / EH test fixes,
(thanks to Tsutomu Youshida for the patch)
* csetjmp/setjmp.h - guards added against VC++ #defines (thanks to Gavin Wood)
* stl/_iosfwd.h : __STL_DEFAULT_CONSTRUCTED used instead of __STL_NULL_CHAR_INIT
(thanks to Alex Vanic for the report)
* __stl_get_c_string() - made extern non-template for SGI iostreams mode.
* __cdecl calling convention fixes - now works for debug & non-debug code.
* _limits.h/.c : static data moved from inline functions into a class.
* stlport_msvc.rc resource file added for DLL's (thanks to Michael Entin)
* stlport/config/stl_wince.h : added abort()/assert() definitions
(thanks to Gavin Wood for the report)
* Initial iostreams port for xlC (thanks to Alexander Vanic for the patch).
* config files - made safe for C compilers
* src/c_locale_stub.c - made structure for full platform-dependent
locales other than "C". Glibc implementation merged.
The following changes were made in 4.0 release candidate 2 since 4.0 release candidate 1:
* Solid approach to __STL_DEFAULT_CONSTRUCTOR_BUG problem implemented,
rope.h typo fixed (thanks to Alex Vanic for the report)
* getline and stream operators moved from _istream.c to _string.c
where they belong (thanks for Petr Ovchenkov)
* <new> fixed to import nothrow and nothrow_t
* Borland C++ 5.5 (free compiler) supported (iostreams won't compile yet).
* SUN CC 6.0 EA - new features unabled (most announced features still don't work though)
* HP ACC configuration updated, some fixes for new aCC beta(thanks to Alain Miniussi).
* Windows CE compatibility fixed (thanks to Gavin Wood for the report)
* <sstream> fixed for non-SGI case, ios.cpp bug in __STL_NO_EXCEPTIONS
mode fixed, debug iterators fix (thanks to Todd Richmond).
* VC++ 5.0 and 4.2 compatibility fixed (thanks to Ilya for the report)
* __cdecl calling convention explicitly specified for VC++ & static/global functions.
* vc_common.mk : debug type changed to CV (thanks to Mike Pyle for the solution)
* fstream.cpp : Win32 text mode : bugs fixed, SGI code used.
fixed _M_open() creation flags for Win32 (thanks to Mike Pyle for the report)
* "install" target added for VC++ to install .dll's into Win system directory.
* __STL_USE_STATIC_LIB switch added to add flexibility to VC++ linking.
* __stl_debug_message for WIN32/Unicode/MFC improved
(thanks to Edward Ball, Chvetsov for the reports)
* MVS fix for auto_ptr<> (thanks to Tinny Ng)
* debug/_tree.h, debug/_vector.h "typename" fixes, thanks to Matti Rintala.
* c_locale.h : fix for Solaris 2.5.x (thanks to B. K. Oxley)
* _bvector.h : Watcom compatibility fixed (thanks to Ricardo E. Gayoso for the report)
* __STL_DONT_REDEFINE_STD flag behaviour fixed
The following changes were made in 4.0 release candidate 1 since 3.2.2 Beta 4 :
* Merged changes made to SGI standard library snapshot on 01/28.
* Fixed bug with istream reading numbers in hex mode (thanks to Dave Abrahams
for the patch).
* Debug mode redesigned (again) - no extra namespaces is being used
Finally, it works for MSVC and all other platforms.
* __SGI_STL_OWN_IOSTREAMS made to be the default mode except few platforms
not provided with makefiles to build STLport yet.
* Changed strategy on redefinig std:: namespace.
prolog/epilog technology used to get clean namespace wrapping.
It also allows for managing stack of pragmas
(see stlport/stl/config/_prolog.h,_epilog.h) to get rid of warnings.
Note : default namespace changed to _STL:: to satisfy implementation
constraints and to allow for more compact symbols.
"stlport::" namespace is still defined for backwards compatibility.
* iostreams library now compiles on HP with aCC (thanks to Steven Serocki for the patch).
* Configuration for SUN Workshop 6.0 EA provided.
* For VC++, corresponding [selected by /MT(d) or /MD(d) switch]
STLport iostreams library is being linked automatically - all you
need is to put library in lib search path or specify additional library path.
* Ability to turn on all warnings in your own code if you're using
a compiler with appropriate support (e.g. MSVC6).
* Small fixes posted to the forum integrated:
* config/stl_wince.h : added __STL_HAS_NO_NEW_C_HEADERS switch
* wrap_std/strsream : fixed preprocessor bug, strstream.h included
when not using new-style headers
* other fixes
The following changes were made in 3.2.2 beta 4 since 3.2.2 Beta 3:
* Merged changes made to SGI standard library snapshot on 01/10.
* Major restructuring of header files - for maintainability and
8.3 filesystems benefit.
* Major debug mode improvements - new debug mode now works with
VC++, gcc, intel, SUNpro, MetroWerks.
* Regression test suite changed to new-style headers - thanks to
Dima Pasechnik for the initial port.
* <rope> fixes for Watcom
* many miscellanous fixes.
The following changes were made in 3.2.2 beta 3 since 3.2.2 Beta 2:
* Merged changes made to SGI standard library snapshot in December.
* std:: is not used for STLport namespace even with SGI iostreams,
to avoid possible clashes and facilitate 3rd-party library use.
Same macro redefinition technique for stlport:: used to keep clients
code with literal std:: happy as in native iostreams mode.
* C library headers wrapping changed to allow multiple inclusion tricks
(needed by gcc-2.95 mostly)
* gcc-2.95 and CodeWarrior configurations updated.
* HP aCC fixes applied.
* Visual C++ - added static library targets, build refined.
Fixed memory-mapping bugs.
* auto_ptr updated, now it passes polymorphic tests with VC++.
* Many small bugfixes.
The following changes were made in 3.2.2 beta 2 since 3.2.2 Beta 1:
* Fixed SUN CC deque<> problem with -g
* Added configuration and makefiles for DEC VMS, Borland and Win32 gcc.
* Merged changes made to November SGI standard library snapshot.
* config changes - "configure" made obsolete and moved into "stlport/config/new_compiler".
* __STL_TYPENAME_ON_RETURN_TYPE handling changed.
* Miscellanous fixes.
The following changes were made in 3.2.2 Beta 1 since 3.2.1 release:
* SGI iostreams adopted. To use SGI iostreams, user have to set
__SGI_STL_OWN_IOSTREAMS flag and to build the library in "src"
directory to link with. Please read INSTALL file for detailed
instructions.
Default setting is NOT to use SGI iostreams (wrappers used as before).
* Debug mode completely redesigned - debug mode containers are
implemented in terms of wrappers around non-debug ones.
That provides for more clean and efficient implementation and
binary compatibility between debug and non-debug versions.
* Additional configurations added for platforms :
- gcc-2.95
- SUNpro CC 5.0 in "compatibility" mode
"configure" made obsolete.
* Bugfixes reported by users since 3.2.1 release merged
The following changes were made in 3.2.1 since 3.2 release:
* Now, by default, STLPort renames std:: namespace for user
if __STL_USE_OWN_NAMESPACE is used. To make it possible, many new
wrapper headers introduced. Internally, STLport uses stlport:: namespace,
so no link- or run- time clashes are possible, and you don't have to rebuild
the runtime lib (which you don't want to).
This feature makes STLport usable out-of-the box, without any modifications
for client code, with any compiler.
* Code bloat reduction : hashtable<T> uses vector<void*> internally.
* Vector : efficiency/code bloat reduction fixes.
* Visual C++ : DLL export is supported for allocators and strings. To use it,
please define __STL_USE_DECLSPEC in all modules and __STL_DESIGNATED_DLL
for the DLL which is supposed to instantiate STLport exports (at least one
source of this DLL must include <string>.
* Visual C++ : for MT synchronization, <windows.h> is not included anymore.
* For Sunpro C++ 5.0 : all headers are linked into stlport/SC5, so only
one include path is needed. Note that SC5.0 has problems with relative
search path. It is easy to work around : in your makefiles, instead of
"STL_INCL=../.." , write "STL_INCL=${PWD}/../..".
* Configuration files provided for compilers :
KAI C++
DEC C++ (6.x, 5.x)
Borland 5.02 is back on the road (finally !)
* Windows CE config provided for Visual C++.
* __STL_NO_IOSTREAMS switch introduced for embedded platforms.
* Lots of minor config fixes and improvements for various platforms.