1 The following fix was made in 4.0 since 4.0 Release Candidate : 2 3 * _threads.h/_config.h : for all platforms, static mutexes made non-indirect 4 5 * _iterator_base.h : made possible to choose between iterator_traits approach 6 and old-style iterator queries like iterator_category(), value_type(), etc. 7 (Thanks to John R. Bandela for pointing this out) 8 * _config.h, stl_user_config.h : introduced __STL_OLD_HP_ITERATOR_QUERIES switch to 9 allow old-style and new-style iterator queries (for all compilers). 10 iterator_traits<> made always defined. 11 12 * _ptr_specialize.h - specializations of type_traits<> for compilers w/o partial spec 13 moved into separate file. Added iterator_traits<> specializations for pointer types 14 for __STL_NO_OLD_HP_ITERATOR_QUERIES case. Macro __STL_POINTERS_SPECIALIZE is now available 15 to specialize both type_traits and iterator_traits for a pointer to user-defined 16 type (latter for standard-style iterator queries mode only) 17 18 * vc5.mak : __STL_NO_FORCE_INSTANTIATE flag restored 19 20 * _site_config.h : if __STL_NO_NEW_IOSTREAMS or __STL_NO_IOSTREAMS specified, 21 SGI iostreams are being turned off. __STL_NO_SGI_IOSTREAMS moved into stl_user_config.h 22 (Thanks to Sathish T C for the report) 23 24 * stl_watcom.h : _REENTRANT is being set if _MT is set (thanks to Ricardo E. Gayoso for the input) 25 26 The following fix was made in 4.0 Release Candidate : 27 * _threads.h, _alloc.c : fixed use of _STL_mutex_base instead of _STL_STATIC_MUTEX macro 28 29 The following changes were made in 4.0 Release Candidate since 4.0 beta 8: 30 31 * fstream.cpp : WIN32 fstreambuf::open flag mapping fixed 32 (thanks to Alberto Barbati for the reports) 33 34 * ctype.cpp : fixed classic table regarding ios_base::print/ios_base::space 35 conflict (thanks to Alberto Barbati for the report) 36 37 * cmath : added same workaround for SUN's math exception/std::exception name clash 38 as was there in math.h before 39 40 * _streambuf.c : added "typename" to out-of-line functions (thanks to Michael Tsirkin for the report) 41 42 * README fixed to be consistent about SGI iostreams setting (thanks to Ed Brey for the report) 43 44 * _bitset.h : fixed SUN CC 4.2 crash with -g option (thanks to Alex Vanic for the report), 45 fixed bug in bitset<>::reference base bitset typedef 46 47 * _threads.h/.c - fixed issue with inconsistent system's macro for initialization 48 and warning about partially bracketed initializer 49 50 * debug/_vector.h : fixed _Vector_nonconst_traits specialization for bit_vector 51 (thanks for Dave Abrahams for the fix & reminder) 52 53 * config/msvc.h - addidional level 4 warnings suppressed (thanks to Ed Brey for the report) 54 * _ios.h : fixed DLL export decl for MSVC (thanks to Alberto Barbati for the report) 55 56 * stdio_streambuf.cpp : compatibility fix for glibc 2.2 (thanks to Bill Shanahan for the patch) 57 * _iterator_base.h : added iterator<output_iterator_tag, void,..> specialization; 58 _stream_iterator.h : ostream_iterator changed to inherit from iterator<> 59 (thanks to Raphael Bossek for the report) 60 61 * INSTALL : added some exaples and fixed typos (thanks to Beman Dawes for the report) 62 63 * _site_config.h : more consistency checks for MT (thanks to John Maddock for the input) 64 65 * _messages_facets.h : added DLL export decls (thanks to John Maddock for the report) 66 67 * complex_io_w.cpp : fixed specialization syntax for aCC (thanks to Paul E. Blanchard for the report) 68 69 * complex_exp.cpp : fixed pow() bug for negative arguments (thanks to Anton Sergeev for the report) 70 * _fstream.h/_streambuf.h : MRC/MPW workarounds (thanks for Tsutomu Yoshida for the report) 71 72 * using/fstream.h : added missing end-of-line (thanks to Jean-Francois Panisset for the report) 73 74 * <typeinfo> : workaround for VC++ 6.0 defining type_info in gobal namespace (thanks to Bosko Ivanisevic for pointing that out) 75 76 * _threads.h/_threads.c/pthread_alloc : improved pthreads portability (thatnks to Michael Tsirkin for the patch) 77 78 * _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) 79 80 * _valarray.h : added assert to operator= 81 82 * config/vc_select_lib.h : added _AFXDLL recognition (thanks to Andrew Phipps for input) 83 84 * _rope.h : added default constructors to please gcc-2.7.2 85 86 * _set.h/_hash_set.h : pointer and reference typedefs fixed (thanks to Anton Sergeev for the report) 87 88 * stl/_config.h : stl_user config.h included prior to other parts of configuration 89 (thanks to Frank Samuel for the report) 90 91 The following changes were made in 4.0 beta 8 since 4.0 beta 7: 92 93 * Merged changes for 06/08 SGI library snapshot; mostly in locale 94 95 * Merged series of fixes/workarounds by Tsutomu Yoshida (thanks!): 96 * _rope.c - fixed memory leak bug; 97 * _debug.c/_debug.h - added extra zero-initialization for more robustness; 98 * _list.h - MPW - specific fixes; 99 * _hashtable.h - fixed debug renaming clash for __STL_USE_ABBREVS 100 * EH workarounds to make Apple compilers behave 101 102 * _fstream.c : fixed tellg() bug in text mode 103 104 * <csignal> : added sig_atomic_t import 105 106 * series of fixes for HP aCC 1.23 ( thanks to Michael Tsirkin for the patch ): 107 _bvector.h : all relops are specialized; 108 stl_hpacc.h - fixed config; 109 hpacc.mak : added makefiles for HP aCC in src and test 110 debug/_iterator.h, debug/_vector.h - removed future errors due to baseclass member use 111 112 * <cstdlib> : added import of system() call (thanks to Petr Ovchenkov for the report) 113 114 * _REENTRANT is now set by default to be on for all SGI iostreams compilations. 115 Same is being enforced if SGI iostreams are used. 116 117 * _pair.h : added workaround for make_pair in case of char literals 118 (extension, only works with partial function order) 119 120 * config/stl_gcc.h - fixed configuration problem for "g++-3" directory used in Cygnus and Mingw 121 distributions for gcc-2.95.2, while all other platforms use "g++". Added recognition section. 122 Thanks to Dave Abrahams for the report. 123 124 * config/stl_mlc.h : added support for MLC compiler (thanks to Anton Sergeev for the patch) 125 126 * <memory> : auto_ptr simplified (thanks to Kon Tantos for problem report) 127 128 * num_get.cpp : included <ostream> to get external symbols right. 129 130 * stl_ibm.h : __STL_NO_TYPEINFO added for OS/2 (thanks to Willie Arbuckle for the report) 131 132 * stl_bc.h : fixed enforcement of static library until dynamic made to work (thanks to J. Lambert for the report) 133 * src/stlport.rc : improved version definition to work with mingw32, <winres.h> changed to <windows.h> 134 135 * src/mingw32.mak : Made use of stlport.rc for DLL build (thanks to Danny Smith for the suggestion) 136 * debug/_vector.h : name clash removed for _Base (thanks to Will Fike for the report) 137 138 * _monetary.h - added "static const bool intl" member to meneypunct<> templates 139 (thanks to Anton Sergeev for the report) 140 141 * _bitset.h : added forward friend decraration for reference (thanks to Anton Sergeev for the report) 142 143 * _tree.h : made _Rb_tree_base_iterator::_M_node initialized in default constructor (thanks to Dean Sturtevant for the report) 144 145 * _set.h : reinterpret_cast<> changed to C-style cast (thanks to Dave Abrahams for the suggestion) 146 147 * Use of raw SGI allocators (like __node_alloc) as an allocator parameter deprecated, 148 available only with __STL_USE_RAW_SGI_ALLOCATORS macro. May be removed later. 149 __allocator<T> still available unless __STL_NO_EXTENSIONS is specified 150 151 * _limits.h/_limits.c - alignment fix for Solaris; 152 * Modified __format_float* routines to take long double as parameter; 153 (thatnks to Anthony Williams for the patch) 154 155 * debug/_iterator.h - wrappers for noncompliant compilers moved under 156 #ifdef __SGI_STL_NO_ARROW_OPERATOR (thanks to Dave Abrahams for the input) 157 158 * _numeric_facets.h - num_put<> , num_get<> virtual members made outline to work 159 aroung gcc-2.95 bug. 160 161 * <cstdio> : undefined obsolete C macros : getchar/putchar & the like. 162 163 * ctype.cpp : fixed bug with ctype<char>::is (const char*, const char*, mask) 164 165 * ctype.cpp : fixed is(print) for certain platforms where print is a separate flag 166 167 * ftstream.cpp : fixed corner case bug for Win32 text output (thanks for Dirk Schreib for the report) 168 169 * _streambuf.h, _fstream.h, stdio_strembuf.h : fixed overflow/pbackfail() virtuals definition; 170 * _bitset.h : _M_copy_from_string fixed for non-member-template case (thanks to Alex Vanic for the report) 171 172 * gcc-glibc.mak, common_macros.mak : GLIBC compilation fixes (thanks to Thomas Witt for the report) 173 * WCHAR_MIN, WCHAR_MAX definitions moved from <limits> to <cwchar> 174 175 * char_traits<char>::to_char_type : parameter changed to int 176 177 * <cstddef> included in <new> (for size_t) 178 179 * _codecvt<>::do_length: fixed first parameter to be const mbstate_t &; 180 virtual fns moved into .cpp, to work aroung gcc bugs 181 182 * _complex.h : fixed complex<>::operator= and constructors signature to take const T& 183 184 * _istream.c : fixed formatted input involving binary '0' 185 186 * locale_impl.cpp : insertion of time_put<wchar_t> fixed 187 188 The following changes were made in 4.0 beta 7 since 4.0 beta 6: 189 190 * Merged series of fixes/workarounds by Tsutomu Yoshida (thanks!): 191 * cmath, _complex.h, stl_apple.h, _deque.h - MPW/MRC specific workarounds 192 * _bitset.h - removed the obsolete _WordT template parameters. 193 * _ctype.h, _codecvt.h, _collate.h, _istream.h, _messages_facets.h, _monetary.c 194 _monetary.h, _numeric_facets.h, _time_facets.h - added workaround for locale's nested class. 195 * _ostream.c_ostream.h - added proposed modification against the <ostream> circular inclusion problem. 196 * test/eh/test_deque.cpp - removed the obsolete template argument 197 198 * _bitset.h - removed obsolete adaptor (thanks to Alex Vanic for the report) 199 200 * _[io]stream.h - removed extra DLL specs (thanks to Danny Smith for the report) 201 202 * stl_msvc.h - fixed bug caused static lib to always be selected 203 204 * gcc.mak - fixed AR definition for static link 205 206 * Added workaround for static locale::id member in DLL for mingw32 (thanks for Danny Smith for the report) 207 208 * _string_io.h : added _widen() to get getline() compile with wchar (somewhat missing in b6 , thanks to Mikhail Leonov for reminder) 209 210 * threads.h - fixed guards for DreamSega WinCE (thanks to Ben Nason for the report) 211 212 * fstream.cpp : fixed truncation for WIN32 (thanks to Bruce Alderson for the report) 213 214 * _istream.c/_M_ignore_unbuffered() - fixed count bug 215 216 * _istream.c/ readsome() : fixed extra failbit setting on eof 217 218 * __get_integer - enhanced using a table; input value made unchanged in case of error. 219 220 * __get_base_or_zero - more code factored out 221 222 * stl_wince.h : fixed assert() definition for Win CE (thanks to Andrew Waters for the report) 223 224 * vc_select_lib.h " fixed __declspec selection for Win CE (thanks to Andrew Waters for the report) 225 226 * _rope.c - fixed bug in _S_destr_concat_char_iter (thanks to E.Musser for the fix) 227 228 * debug/_vector.h - fixed DLL export for vector<void*> 229 230 * _vector.h, _deque.h, _bvector.h - obsolete guards around at() methods removed ; 231 * type_traits.h - WinCE compatibility fixes for -> operator definition ; 232 * _vector.h, _deque,h - removed extra casts (thanks to Andrew Waters for the report) 233 234 * _algobase.h - optimized lexicografical_compare() overload for char* 235 236 The following changes were made in 4.0 beta 6 since 4.0 beta 5: 237 238 * Merged changes from SGI STL snapshots 04/03, 04/14, 04/18. 239 240 * Iostreams ported to Apple MPW/MRC (thanks to Tsutomu Yoshida for the contribution) 241 242 * Iostreams ported to OSF1/Tru64 (thanks to Marc W. Mengel for the contribution) 243 244 * Iostreams ported to FreeBSD ( Thanks to Sms for the contribution) 245 246 * <deque> : extra template parameter removed 247 248 * locale::id, locale::facet : reverted to nested classes as standard prescribes 249 250 * _string_io.h : added _widen() to get getline() compile with wchar (thanks to Mikhail Leonov for the patch) 251 252 * collate_byname[_w].cpp : fixes for VC++ 5.0 build w/__STL_DEBUG (thanks to Petr Ovchenkov for the patch) 253 254 * <complex> : __STL_COMPLEX_NAMESPACE defined before inclusion of impl. header 255 (thanks to Matthew Kelly for the patch) 256 257 * makefiles in "src" : improved to get each compiler to put object files in separate directory : 258 ./obj/$(COMP)/Debug, etc. COMP is given some default value for each compiler, but may be also overridden. 259 260 * "src" subdirectory : added stlport_prefix.h file for precompiled header support; 261 VC++ makefiles make use of them 262 263 * stl/_iterator_base.h : provided __STL_NONTEMPL_BASE_MATCH_BUG 264 workaround for new form of distance(). 265 266 * <limits> : added cast to WCHAR_MAX definition (thanks for Dave Abrahams for the report). 267 268 * stl_user_config.h, stl/_config.h - setting splitted and organized more properly. 269 270 * time_facets.cpp - extra instantiations removed (thanks to Matti Rintala for the report). 271 272 * stdio_streambuf.h : added explicit qualifications of C lib functions for gcc-2.91 273 274 * SGI code used for compatibility w/older versions are guarded with #ifndef __STL_NO_ANACHRONISMS 275 276 * SGI extensions are guarded with #ifndef __STL_NO_EXTENSIONS 277 278 * SGI/HP anachronisms are guarded with #ifndef __STL_NO_ANACHRONISMS 279 280 * <typeinfo> : .h file included if __STL_NO_NEW_NEW header is set 281 (thanks to Willie Arbuckle for the report) 282 283 * Suppresed spurious BC55 warnings about iterators 284 285 * complex_io.h - fixed operators declarations for MetroWerks 286 287 * debug/_slist.h - cleaned up use of stl_debug_do obsolete macro (thanks to Matti Rintala) 288 289 * debug/_iterator.h, debug/_vector.h - fixed relaxed iterator constructors (thanks to Dave Abrahams for the patch) 290 291 * stl/_complex.h - fixes for gcc-2.95 on IRIX (thanks to Marc W. Mengel) 292 293 * debug/_iterator.h : fixed relaxed const/non-const iterator construction for debug mode 294 (thanks to Dave Abrahams for the patch) 295 296 * collate : added workaround for SUNpro linker (thanks to Petr Ovchenkov for the fix) 297 298 * _ios.h, _streambuf.h - added obsolete stuff required by the standard 299 300 * _config.h/stdexcept - introduced __STL_NOTHROW_INHERITED to be used when we actually need 301 exception specification due to inheritance (thanks to Joe for the report) 302 303 * _locale.h:104 : fixed ummaned parameters 304 305 * _tempbuf.h - fixed absent inclusion of _tempbuf.c 306 307 * <exception> : relaxed rules for importing vendor symbols 308 309 * _deque.h - added != operator 310 311 * _streambuf.h - fixed snextc() bug for wchar_t 312 313 * <ostream>, _numeric_facets.h - circular dependency resolved 314 315 * stl/_iosfwd.h - added include guard 316 317 * basic_[io]stream::sentry made inner class again (as per standard) 318 for non-DLL compilations. 319 320 * vector<void*> is used in locale implementation to reduce code bloat, 321 vector<void*> exported from DLL 322 323 * <stdexcept> : exported more stuff 324 325 * stl_intel.h : ICL config merged into stl_msvc.h 326 327 * gcc.mak - fixed for shared target 328 329 The following changes were made in 4.0 beta 5 since 4.0 beta 4: 330 331 * _hastable.c:263 : removed inneeded cast (thanks to Will Fike for the report) 332 333 * debug/_string.h : added conversion to non-SGI string (thanks to Todd Richmond for the report) 334 335 * _complex.h : fixed DLL declarations for i/o operators 336 337 * _ostream.h : fixed sentry behavoiur and DLL specs. 338 339 * _istream.h : fixed DLL specs, optimized some try/catch blocks 340 341 * _vector.h : fixed vector::insert body definition for __STL_INLINE_MEMBER_TEMPLATES 342 343 * <exception> : more compilers listed as having full exception header 344 345 * debug/_debug.h : added namespace to __STL_ASSERT for EH test which uses this internal macro. 346 347 * resource info fixed (thanks to Michael Entin for the report) 348 349 * debug/_string.h : fixed _M_start resolution bug (thanks to Rob for the report ) 350 351 * <new> : added import of new_handler stuff from vendor namespace (thanks to Niran Bala for the report). 352 353 * src/c_locale_glibc - missed directory contents restored (thanks to Todd Rider for the report) 354 355 * mwerks_prj - project updated for new file set, target names for x86 changed to conform to common schema 356 357 * _ostream.c/_istream.c : fixed lookup for _S_eof symbol (thanks to Anton Sergeev for the report) 358 359 * _ios.h - fixed VC++ DLL warning for specializations 360 361 * stl_ibm.h - disabled "long long" due to incomplete support on MVS by request (thanks to Tinny Ng) 362 363 * char_traits.h - worked around weird gcc internal bug (__sz identifier changed to _Sz) 364 365 The following changes were made in 4.0 beta 4 since 4.0 beta 3: 366 367 * "src" directory : source divided into smaller parts to be more manageable and to 368 get more cache locality 369 370 * throw specifications removed (macros made void) - thanks to Dave Abrahams for the suggestion 371 372 * stl/_list.c - fixed reverse() "inline", 373 _deque.h - fixed cast bug for xlC (thanks to Alex Vanic for the reports) 374 375 * stl/_strstream.h - fixed DLL specs (thanks to Parcival Willems for the report) 376 377 * stl/_string.h, debug/_string.h - fixed conversion from native string with __STL_DEBUG 378 (thanks to Todd Richmond for the report). 379 380 * stl/_istream.h - fixed clash of "__N" symbol with ctype.h macro for some compilers 381 (thanks to Kees de Bruin for the report) 382 383 * Configuration fixed for Borland C++ 5.02 compiler [ deque still does not work with it ] 384 385 * gcc-2.7.2 configuration fixed 386 387 * SGI iostreams now work for Borland 5.5 with static lib , some problems with 388 locale initialization when DLL is used. 389 390 * __get_c_string exported in DLL (thanks to Ed Ball for the report). 391 392 * ENDIAN fixes for CodeWarrior/DEC (thanks to Kevin Wooten for bringing this up) 393 394 * wrap_std/h/strstream.h - added missing wrapper (Thanks to Laurent for the report) 395 396 * stl_hpacc.h - fixed #endif bug, 397 _limits.h/.c - fixed array initialization, 398 _string_io.h, _locale.h - fixed circular dependancy, 399 _set.[hc], _hashtable.c, _set.h - added __REINTERPRET_CAST need by some compilers; 400 _i[o]stream.c, _rope.[hc] - lookup fixed for dependant symbols 401 (thanks to Alain Miniussi for the reports) 402 403 After-release minor bugfixes for beta3: 404 405 * stl/_list.c - fixed reverse() [ new SGI code, merged unported first ] 406 Thanks for everybody who reported it. 407 408 * stl/_bvector.h : fixed ambiguity problem with relational iterators 409 for __STL_NO_BOOL case (thanks to Alex Vanic for the report). 410 411 * stl/_alloc.c, stl/_threads.c - fixed static member definitions for compilers 412 that lack automatic static data members (gcc-2.7). Thanks to Huang-Ming Huang 413 for the report. 414 415 * standard wide streams initialization bug on Win32 fixed (thanks to Harold Putman for the 416 report) 417 418 The following changes were made in 4.0 beta 3 since 4.0 beta 2: 419 420 * Merged SGI changes from 02/18 snapshot. 421 422 * Ming32W (gcc Win32 port using MS runtime lib) is now fully supported. 423 424 * .dll build schema improved, now builds with mingw32 and Borland C++ 425 (Borland has some problem with numeric i/o) 426 427 * VC++ version bugfixes in <xstring>/<xutility>/<xstring> 428 (thanks to Todd Richmond for the report) 429 430 * _bvector.h - relational operators defined only for "bit_vector", 431 not for "vector" specializations (thanks to Edward Ball for the report) 432 433 * src/locale_impl.h - fixed multiple defined symbol problem with gcc 434 (Thanks to Matti Rintala for the report) 435 436 * config/stl_ibm.h - __STL_NO_TYPEINFO added (thanks for Tinny Ng). 437 438 * <string> : _stl_string_io.h/c introduced to fight inter-dependencies 439 440 * _bvector.h - added fix for -tempinc compilation on AIX (thanks to Alex Vanic for the patch) 441 442 * fstream.cpp - _M_write bug for Win32 text mode fixed (thanks to Mike Pyle) 443 444 * _string.h : debug version included prior to _string.c; 445 446 * debug/_debug.h/.c, debug/_deque.h, debug/_string.h - fixed debug mode bugs; 447 Apple compilers config fixes / iostream wrapping fixes / EH test fixes, 448 (thanks to Tsutomu Youshida for the patch) 449 450 * csetjmp/setjmp.h - guards added against VC++ #defines (thanks to Gavin Wood) 451 452 * stl/_iosfwd.h : __STL_DEFAULT_CONSTRUCTED used instead of __STL_NULL_CHAR_INIT 453 (thanks to Alex Vanic for the report) 454 455 * __stl_get_c_string() - made extern non-template for SGI iostreams mode. 456 457 * __cdecl calling convention fixes - now works for debug & non-debug code. 458 459 * _limits.h/.c : static data moved from inline functions into a class. 460 461 * stlport_msvc.rc resource file added for DLL's (thanks to Michael Entin) 462 463 * stlport/config/stl_wince.h : added abort()/assert() definitions 464 (thanks to Gavin Wood for the report) 465 466 * Initial iostreams port for xlC (thanks to Alexander Vanic for the patch). 467 468 * config files - made safe for C compilers 469 470 * src/c_locale_stub.c - made structure for full platform-dependent 471 locales other than "C". Glibc implementation merged. 472 473 The following changes were made in 4.0 release candidate 2 since 4.0 release candidate 1: 474 475 * Solid approach to __STL_DEFAULT_CONSTRUCTOR_BUG problem implemented, 476 rope.h typo fixed (thanks to Alex Vanic for the report) 477 478 * getline and stream operators moved from _istream.c to _string.c 479 where they belong (thanks for Petr Ovchenkov) 480 481 * <new> fixed to import nothrow and nothrow_t 482 483 * Borland C++ 5.5 (free compiler) supported (iostreams won't compile yet). 484 485 * SUN CC 6.0 EA - new features unabled (most announced features still don't work though) 486 487 * HP ACC configuration updated, some fixes for new aCC beta(thanks to Alain Miniussi). 488 489 * Windows CE compatibility fixed (thanks to Gavin Wood for the report) 490 491 * <sstream> fixed for non-SGI case, ios.cpp bug in __STL_NO_EXCEPTIONS 492 mode fixed, debug iterators fix (thanks to Todd Richmond). 493 494 * VC++ 5.0 and 4.2 compatibility fixed (thanks to Ilya for the report) 495 496 * __cdecl calling convention explicitly specified for VC++ & static/global functions. 497 498 * vc_common.mk : debug type changed to CV (thanks to Mike Pyle for the solution) 499 500 * fstream.cpp : Win32 text mode : bugs fixed, SGI code used. 501 fixed _M_open() creation flags for Win32 (thanks to Mike Pyle for the report) 502 503 * "install" target added for VC++ to install .dll's into Win system directory. 504 505 * __STL_USE_STATIC_LIB switch added to add flexibility to VC++ linking. 506 507 * __stl_debug_message for WIN32/Unicode/MFC improved 508 (thanks to Edward Ball, Chvetsov for the reports) 509 510 * MVS fix for auto_ptr<> (thanks to Tinny Ng) 511 512 * debug/_tree.h, debug/_vector.h "typename" fixes, thanks to Matti Rintala. 513 514 * c_locale.h : fix for Solaris 2.5.x (thanks to B. K. Oxley) 515 516 * _bvector.h : Watcom compatibility fixed (thanks to Ricardo E. Gayoso for the report) 517 518 * __STL_DONT_REDEFINE_STD flag behaviour fixed 519 520 The following changes were made in 4.0 release candidate 1 since 3.2.2 Beta 4 : 521 522 * Merged changes made to SGI standard library snapshot on 01/28. 523 524 * Fixed bug with istream reading numbers in hex mode (thanks to Dave Abrahams 525 for the patch). 526 527 * Debug mode redesigned (again) - no extra namespaces is being used 528 Finally, it works for MSVC and all other platforms. 529 530 * __SGI_STL_OWN_IOSTREAMS made to be the default mode except few platforms 531 not provided with makefiles to build STLport yet. 532 533 * Changed strategy on redefinig std:: namespace. 534 prolog/epilog technology used to get clean namespace wrapping. 535 It also allows for managing stack of pragmas 536 (see stlport/stl/config/_prolog.h,_epilog.h) to get rid of warnings. 537 Note : default namespace changed to _STL:: to satisfy implementation 538 constraints and to allow for more compact symbols. 539 "stlport::" namespace is still defined for backwards compatibility. 540 541 * iostreams library now compiles on HP with aCC (thanks to Steven Serocki for the patch). 542 543 * Configuration for SUN Workshop 6.0 EA provided. 544 545 * For VC++, corresponding [selected by /MT(d) or /MD(d) switch] 546 STLport iostreams library is being linked automatically - all you 547 need is to put library in lib search path or specify additional library path. 548 549 * Ability to turn on all warnings in your own code if you're using 550 a compiler with appropriate support (e.g. MSVC6). 551 552 * Small fixes posted to the forum integrated: 553 554 * config/stl_wince.h : added __STL_HAS_NO_NEW_C_HEADERS switch 555 * wrap_std/strsream : fixed preprocessor bug, strstream.h included 556 when not using new-style headers 557 * other fixes 558 559 The following changes were made in 3.2.2 beta 4 since 3.2.2 Beta 3: 560 561 * Merged changes made to SGI standard library snapshot on 01/10. 562 563 * Major restructuring of header files - for maintainability and 564 8.3 filesystems benefit. 565 566 * Major debug mode improvements - new debug mode now works with 567 VC++, gcc, intel, SUNpro, MetroWerks. 568 569 * Regression test suite changed to new-style headers - thanks to 570 Dima Pasechnik for the initial port. 571 572 * <rope> fixes for Watcom 573 574 * many miscellanous fixes. 575 576 The following changes were made in 3.2.2 beta 3 since 3.2.2 Beta 2: 577 578 * Merged changes made to SGI standard library snapshot in December. 579 580 * std:: is not used for STLport namespace even with SGI iostreams, 581 to avoid possible clashes and facilitate 3rd-party library use. 582 Same macro redefinition technique for stlport:: used to keep clients 583 code with literal std:: happy as in native iostreams mode. 584 585 * C library headers wrapping changed to allow multiple inclusion tricks 586 (needed by gcc-2.95 mostly) 587 588 * gcc-2.95 and CodeWarrior configurations updated. 589 590 * HP aCC fixes applied. 591 592 * Visual C++ - added static library targets, build refined. 593 Fixed memory-mapping bugs. 594 595 * auto_ptr updated, now it passes polymorphic tests with VC++. 596 597 * Many small bugfixes. 598 599 The following changes were made in 3.2.2 beta 2 since 3.2.2 Beta 1: 600 601 * Fixed SUN CC deque<> problem with -g 602 603 * Added configuration and makefiles for DEC VMS, Borland and Win32 gcc. 604 605 * Merged changes made to November SGI standard library snapshot. 606 607 * config changes - "configure" made obsolete and moved into "stlport/config/new_compiler". 608 609 * __STL_TYPENAME_ON_RETURN_TYPE handling changed. 610 611 * Miscellanous fixes. 612 613 The following changes were made in 3.2.2 Beta 1 since 3.2.1 release: 614 615 * SGI iostreams adopted. To use SGI iostreams, user have to set 616 __SGI_STL_OWN_IOSTREAMS flag and to build the library in "src" 617 directory to link with. Please read INSTALL file for detailed 618 instructions. 619 Default setting is NOT to use SGI iostreams (wrappers used as before). 620 621 * Debug mode completely redesigned - debug mode containers are 622 implemented in terms of wrappers around non-debug ones. 623 That provides for more clean and efficient implementation and 624 binary compatibility between debug and non-debug versions. 625 626 * Additional configurations added for platforms : 627 - gcc-2.95 628 - SUNpro CC 5.0 in "compatibility" mode 629 "configure" made obsolete. 630 631 * Bugfixes reported by users since 3.2.1 release merged 632 633 The following changes were made in 3.2.1 since 3.2 release: 634 635 * Now, by default, STLPort renames std:: namespace for user 636 if __STL_USE_OWN_NAMESPACE is used. To make it possible, many new 637 wrapper headers introduced. Internally, STLport uses stlport:: namespace, 638 so no link- or run- time clashes are possible, and you don't have to rebuild 639 the runtime lib (which you don't want to). 640 This feature makes STLport usable out-of-the box, without any modifications 641 for client code, with any compiler. 642 643 * Code bloat reduction : hashtable<T> uses vector<void*> internally. 644 645 * Vector : efficiency/code bloat reduction fixes. 646 647 * Visual C++ : DLL export is supported for allocators and strings. To use it, 648 please define __STL_USE_DECLSPEC in all modules and __STL_DESIGNATED_DLL 649 for the DLL which is supposed to instantiate STLport exports (at least one 650 source of this DLL must include <string>. 651 652 * Visual C++ : for MT synchronization, <windows.h> is not included anymore. 653 654 * For Sunpro C++ 5.0 : all headers are linked into stlport/SC5, so only 655 one include path is needed. Note that SC5.0 has problems with relative 656 search path. It is easy to work around : in your makefiles, instead of 657 "STL_INCL=../.." , write "STL_INCL=${PWD}/../..". 658 659 * Configuration files provided for compilers : 660 KAI C++ 661 DEC C++ (6.x, 5.x) 662 Borland 5.02 is back on the road (finally !) 663 664 * Windows CE config provided for Visual C++. 665 666 * __STL_NO_IOSTREAMS switch introduced for embedded platforms. 667 668 * Lots of minor config fixes and improvements for various platforms. 669