12007-10-21 Francois Dumont <dums@users.sourceforge.net> 2 3 * src/allocators.cpp: Add missing const_cast in lock free 4 allocator implementation when _STLP_LEAKS_PEDANTIC is defined. 5 Thanks trungantran on forum. 6 72007-10-07 Francois Dumont <dums@users.sourceforge.net> 8 9 * STLport 5.1.4 released based on revision 3219. STLport-5.1.4 10 tag created. 11 12 * stlport/stl/_stlport_version.h, build/lib/Makefile.inc: Patch 13 version bump to 5 to prepare next potential patch release. 14 152007-10-05 Francois Dumont <dums@users.sourceforge.net> 16 17 * stlport/stl/debug/_iterator.h, _string.h, src/string.cpp: 18 Removed useless and even invalid workaround used when 19 _STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND is defined. There is now 20 only one construct check class __construct_checker, 21 __msvc6_construct_checker has been removed. 22 232007-09-28 Petr Ovtchenkov <complement@users.sourceforge.net> 24 25 * Platform tested: gcc 4.1.2 20060928 (prerelease) 26 (Ubuntu 4.1.1-13ubuntu5), i686 GNU/Linux, glibc 2.4; 27 28 * release-shared: fail on list_test.cpp:392 29 [CPPUNIT_ASSERT(lint1.size() == 20)], suspected compiler's bug; 30 1 fail from 395 tests; 31 32 * stldbg-shared: passed 395 tests; 33 34 * Platform tested: gcc 4.1.2, i686 GNU/Linux, glibc 2.4; 35 36 * release-shared: fail on list_test.cpp:392 37 [CPPUNIT_ASSERT(lint1.size() == 20)], suspected compiler's bug; 38 1 fail from 395 tests; 39 40 * stldbg-shared: passed 395 tests; 41 42 * Platform tested: gcc 4.2.1, i686 GNU/Linux, glibc 2.4; 43 44 * release-shared: passed 395 tests; 45 46 * stldbg-shared: passed 395 tests; 47 48 * Platform tested: gcc 4.1.1, i686 athlon-4 i386 GNU/Linux, 49 glibc 2.3.6; 50 51 * release-shared: passed 395 tests; 52 53 * stldbg-shared: passed 395 tests; 54 55 * src/c_locale_glibc/c_locale_glibc2.c: this is a C, so 56 decl allowd only on top of block; 57 58 * Platform tested: gcc 2.95.4 (debian), i686 GNU/Linux, 59 glibc 2.3.2; 60 61 * release-shared: build success, as library as unit tests, 62 but run unit tests fail---stalling on spinlock during library 63 load; looks like problem with correct initialization of 64 statics; 65 66 * stldbg-shared: fail build library, stlport/stl/debug/_hashtable.h:49: 67 declaration of `operator ==' as non-function 68 692007-09-27 Francois Dumont <dums@users.sourceforge.net> 70 71 * src/facets_byname.cpp: In collate::do_transform, consider 72 low == high as a special case, returns empty string in this 73 case. 74 752007-09-27 Petr Ovtchenkov <complement@users.sourceforge.net> 76 77 * test/unit/find_test.cpp: array initialization missed. 78 792007-09-17 Francois Dumont <dums@users.sourceforge.net> 80 81 * stlport/stl/_num_get.h: Add _STLP_DECLSPEC specification to 82 several functions that might be access by external code when 83 num_get facet is instantiated with something else than the 84 Standard required instantiation. 85 862007-09-11 Francois Dumont <dums@users.sourceforge.net> 87 88 * src/c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c: Fix 89 _Locale_strxfrm and _Locale_wcxfrm implementation to take 90 into account strings that are not zero terminated. 91 92 * test/unit/locale_test.cpp: Add check that collate.tranform 93 method build a key only for chars in the range pass to method. 94 952007-09-10 Francois Dumont <dums@users.sourceforge.net> 96 97 * src/facets_byname.cpp: John Maddock bug report 1788618 fix. 98 Moreover remove use of an intermediate buffer to get result 99 of _Locale_strxfrm. 100 101 * test/unit/locale_test.cpp: Add tests for collate::transform 102 facet method. 103 104 * src/c_locale_win32/c_locale_win32.c: Small modification, 105 _Locale_strxfrm is supposed to return the number of chars 106 required to store the generated sorted key without the trailing 107 zero. 108 109 * src/c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c: Fix 110 implementation of _Locale_strxfrm, it should never return -1. 111 1122007-09-10 Petr Ovtchenkov <complement@users.sourceforge.net> 113 114 * stlport/stl/_string.c: fix bugs in string rfind, find_last_of, 115 find_last_not_of [bug #1788700, position 0 was wrongly excluded]; 116 117 * test/unit/string_test.cpp: test for problems above. Thanks 118 to Bred Bored for bug report and initial test. 119 120 * unit tests: Linux 2.6.16.26 (athlon-4), gcc 4.1.1, glibc 2.3.6 121 "OK 395 tests" for release-shared and stldbg-shared targets. 122 1232007-09-09 Petr Ovtchenkov <complement@users.sourceforge.net> 124 125 * test/unit/rope_test.cpp, stlport/stl/_rope.h: test for 126 bug #1788615 [bug during copy of rope's iterator] and fix; 127 suggested by John Maddock. 128 129 * stlport/stl/_algobase.c: symmetry not required for 130 comparator in case of two different sequences comparison or 131 searching; symmetrical comparator just may not exist; 132 133 * stlport/stl/debug/_hashtable.h: symmetry not required for 134 comparator in hashtable in case of containers extention; 135 symmetrical comparator just may not exist; 136 137 * test/unit/alg_test.cpp: test for problem above, thanks 138 Oleg Obolenskiy. 139 1402007-09-06 Francois Dumont <dums@users.sourceforge.net> 141 142 * test/unit/strstream_buffer_read_test.cpp: Remove useless 143 strdup call that was moreover introducing a memory leak. 144 1452007-09-04 Francois Dumont <dums@users.sourceforge.net> 146 147 * src/allocators.cpp: Fix implementation of _S_chunk_dealloc when 148 lock free implementation is not in use. Thanks bug report 1787636 149 from Sergej Zagursky. 150 1512007-08-31 Francois Dumont <dums@users.sourceforge.net> 152 153 * stlport/stl/_cstdio.h, _ctime.h: Add missing macro definition 154 test before using _WIN32_WCE thanks bug report 1784174. 155 156 * stlport/stl/_bitset.h: Change macro tests in order to check 157 macro definition before using it thanks bug report 1785679. 158 159 * test/unit/bitset_test.cpp: Bitset::iostream new test to check 160 correct input/output of bitset class. 161 162 * build/Makefiles/gmake/gcc.mak: Add -Wundef gcc option when building 163 with gcc under Cygwin MinGW, it is an interesting option to detect 164 macro check errors. 165 1662007-08-26 Francois Dumont <dums@users.sourceforge.net> 167 168 * stlport/stl/config/user_config.h, host.h: Moved the administrative 169 _STLP_USE_DEFAULT_FILE_OFFSET macro from user_config.h to host.h. 170 171 * stlport/stl/config/_gcc.h: Under MinGW we now use C symbols in 172 global namespace. Tests with 4.2.1 gcc version shows that C symbols 173 are not necessarily put in std namespace. 174 1752007-08-23 Francois Dumont <dums@users.sourceforge.net> 176 177 * stlport/stl/_complex.h: As in _iosfwd.h, removed useless 178 _STLP_CLASS_DECLSPEC attribute on complex class declaration. 179 1802007-08-23 Petr Ovtchenkov <complement@users.sourceforge.net> 181 182 * stlport/stl/debug/_vector.h: only random access iterators 183 allow operations 'less-than' and distance; for bidirectional 184 iterators removed usage of 'less-than', and for others 185 [like forward and input iterators] removed as usage of 'less-than' 186 as distance; thanks Oleg Obolenskiy for bug report; 187 188 * test/unit/ioiter_test.cpp: test for problem above. 189 1902007-08-18 Francois Dumont <dums@users.sourceforge.net> 191 192 * stlport/stl/_iosfwd.h: Removed useless _STLP_CLASS_DECLSPEC attribute 193 on class declaration. Latest gcc versions are reporting a warning about 194 it. 195 1962007-08-16 Francois Dumont <dums@users.sourceforge.net> 197 198 * src/dll_main.cpp: Removed useless _Atomic_swap_struct explicit 199 instantiation, moreover, MSVC 2005 do not support it. 200 2012007-08-15 Petr Ovtchenkov <complement@users.sourceforge.net> 202 203 * Repository: bump lib version to 5.1.4; 204 205 * stlport/stl/char_traits.h, src/fstream.cpp: use 64-bits 206 file operations calls, if available on system; streamoff is 207 always off64_t, if _LARGEFILE_SOURCE or _LARGEFILE64_SOURCE 208 defined, i.e. if 64-bits file operations present; 209 210 * stlport/stl/config/user_config.h: add _STLP_USE_DEFAULT_FILE_OFFSET, 211 force use off_t for streamoff and appropriate file operations calls; 212 note, that this may lead to problems, for example if _FILE_OFFSET_BITS 213 defined as 64 somewhere in user's code; 214 215 * test/unit/fstream_test.cpp: test 64 bits type for filesize and 216 file offset. 217 2182007-07-22 Petr Ovtchenkov <complement@users.sourceforge.net> 219 220 * src/fstream.cpp: force use lseek64/mmap64 for HP-UX, if _LARGEFILE64_SOURCE 221 defined; thanks for Michael Klein. 222 2232007-07-17 Petr Ovtchenkov <complement@users.sourceforge.net> 224 225 * stlport/stl/_algo.c, stlport/stl/_algobase.c: search, the __tmp and 226 __p1 iterators always point at the same position, hence one of them 227 is redundant; 228 229 * stlport/stl/_algobase.c: in the main-loop of search there are two 230 successive while-loops doing exactly the same thing; one of them is 231 redundant and, since it is inside the main-loop, it slows down 232 the algorithm significantly; 233 234 * stlport/stl/_algo.c, stlport/stl/_algobase.c: in the search the main-loop 235 condition "while (__first1 != __last1)" is always true and consequently 236 redundant; this is because the initial adn in-loop conditions virtually 237 act as guards and will never let the main-loop condition to fail; since 238 this condition is evaluated in every main-loop iteration, its removal 239 will also improve the performance of the algorithm; thanks for 240 Jim Xochellis for this suggestions. 241 2422007-07-15 Petr Ovtchenkov <complement@users.sourceforge.net> 243 244 * src/strstream.cpp: "get end" pointer should be initialized 245 to the "begin of get + N" in obsolete strstream; bug #1536503, 246 thanks for Jean-Eric Cuendet; 247 248 * test/unit/strstream_buffer_read_test.cpp, build/test/unit/Makefile.inc: 249 test for bug above; [submitted by Jean-Eric Cuendet]. 250 2512007-04-02 Francois Dumont <dums@stlport...> 252 253 * 5.1.3 released based on revision 2983. STLport-5.1.3 tag created. 254 2552007-03-30 Francois Dumont <dums@stlport...> 256 257 * build/lib/configure.bat: Restore TARGET_PROC_SUBTYPE definition 258 to distinguish between ARM architectures. 259 2602007-03-22 Francois Dumont <dums@stlport...> 261 262 * stlport/stl/config/_msvc.h, _deque.h, _bvector.h: Portage from 263 Ulrich Echkardt to EVC 8. 264 265 * doc/README.evc8, README.wince: New documentations about Windows 266 CE and EVC 8 from Ulrich Echkardt. 267 268 * doc/evc_workaround.txt, doc/README.evc3, First file merged to the 269 second one. 270 271 * stlport/stl/_stlport_version.h: Bump patch level to 3. 272 2732007-03-07 Francois Dumont <dums@stlport...> 274 275 * src/dll_main.cpp, stlport/stl/_stdexcept_base.h: Change strncpy_s 276 invocation to pass _TRUNCATE parameter rather than number of chars 277 to put in destination string. Default strncpy_s behavior is not to 278 truncate string if necessary but to report the issue throught a handler 279 which lead to an application crash if no handler has been set. Thanks 280 Bronek Kozicki bug report 1674974. 281 282 * stlport/stl/type_traits.h: Add a default constructor declaration 283 in _TpWithState class to make gcc happy when class is instanciated 284 with a class with no default constructor. 285 286 * stlport/stl/config/_windows.h: Change definition of 287 _STLP_WIN32_VERSION macro. We do not report definition inconsistency 288 between WINVER and _WIN32_VERSION anymore, WINVER is prefered. 289 2902007-03-01 Francois Dumont <dums@stlport...> 291 292 * test/unit/bitset_test.cpp: Add test for the to_string member 293 method. 294 295 * stlport/stl/config/_msvc.h, test/unit/locale_test.cpp: Change 296 MSVC6 configuration that now defines _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS. 297 Even if MSVC6 supports explicit specification of function template 298 parameters it do not support the explicit specification for 299 template methods, unit tests are showing this problem. 300 301 * stlport/stl/type_traits.h, _alloc.h: Small change in stateless 302 class detection feature. Introduce _IsStateless helper struct for 303 this purpose even if it can only be used with pure class type and 304 not with build-in types or enum or union. It avoids MSVC8 warnings. 305 3062007-02-25 Francois Dumont <dums@stlport...> 307 308 * 5.1.2 released based on revision 2937, tag STLport-5.1.2 created. 309 310 * stlport/stl/config/_prolog.h, build/Makefiles/gmake/bcc.mak, 311 Patch from Eric Sanford to remove empty base class optimization 312 for Borland compilers. 313 314 * test/unit/vector_test.cpp: Enable VectorTest::ebo test for Borland 315 compilers. 316 3172007-02-22 Francois Dumont <dums@stlport...> 318 319 * stlport/stl/_alloc.h: Add a workaround for compilers with buggy 320 empty base class optimization which is used in _STLP_alloc_proxy 321 class. 322 323 * test/unit/vector_test.cpp: New test case VectorTest::ebo to show 324 problem above. 325 3262007-02-21 Francois Dumont <dums@stlport...> 327 328 * src/c_locale_win32/c_locale_win32.c: Fixed __ConvertDate and 329 __ConvertTime to avoid potential infinite loop (bug report 330 1663604) 331 3322007-02-16 Francois Dumont <dums@stlport...> 333 334 * STLport 5.1.1 released based on revision 2919. STLport-5.1.1 335 tag created. 336 3372007-02-14 Francois Dumont <dums@stlport...> 338 339 * stlport/stl/config/_intel.h: Configuration fix, Intel compiler 340 before 8.1 have problem with template method specialization. Thanks 341 Dragan Tubic. 342 3432007-02-09 Francois Dumont <dums@stlport...> 344 345 * test/unit/locale_test.cpp: Enhance LocaleTest::collate_facet 346 test case to reveal a bug in glibc localization portage. 347 348 * src/c_locale_glibc/c_locale_glibc2.c: Fixed _Locale_strcmp 349 and _Locale_strcmp and _Locale_strwcmp implementation to take 350 into account buffer size, comparison used to always been done on the 351 whole input strings up to the termination character. 352 353 * stlport/stl/type_manips.h, test/unit/mvctor_test.cpp, 354 type_traits_test.cpp: Remove relation between STLport __true_type and 355 __false_type and homonyms ones in libstd++. Add workaround in the 2 356 test suite requiring use of those types. 357 3582007-02-08 Francois Dumont <dums@stlport...> 359 360 * stlport/stl/_threads.h, src/locale.cpp: Add missing parenthesis 361 in some macro checks thanks Jan Echternash bug report 1653966. 362 363 * test/unit/locale_test.cpp: Made LocaleTest::collate_facet test 364 really meaningful even if it requires french locale support for 365 part of it. 366 3672007-02-01 Petr Ovtchenkov <complement@users.sourceforge.net> 368 369 * stlport/stl/config/_solaris.h: __LONG_MAX__ defined on 370 64-bits SPARCs. Thanks Aleksey Sanin. 371 372 * stlport/stl/_sparc_atomic.h, stlport/stl/_threads.h: 373 fixes for modern SPARCs. Thanks Aleksey Sanin. 374 3752007-01-28 Francois Dumont <dums@stlport...> 376 377 * stlport/stl/debug/_deque.h: Fix iterator invalidation in erase 378 of an iterator range thanks to Steve Lobasso indirect report (bug 379 1645657). 380 381 * test/unit/deque_test.cpp: New test case for deque erase methods. 382 3832007-01-19 Francois Dumont <dums@stlport...> 384 385 * stlport/stl/_locale.h, src/locale.cpp: Add throw() specification 386 on locale default constructor. Add const qualifier on locale::combine 387 method. Fixed combine implementation to correctly combine 388 *this with other locale instance. 389 390 * src/locale_impl.h: Removed _get_Locale_impl and 391 _copy_Nameless_Locale_impl already defined in stlport/stl/_locale.h. 392 393 * src/locale_impl.cpp: In _Locale_impl::insert add check that we 394 are working on 2 different facet instances before substitution. 395 396 * test/unit/locale_test.cpp: Add test case for locale::combine 397 method. 398 3992007-01-12 Francois Dumont <dums@stlport...> 400 401 * c_locale.h, c_locale_dummy.c, c_locale_glibc.c, c_locale_glibc2.c, 402 c_locale_win32.c: Creation of 2 new functions in the localization 403 framework _Locale_init and _Locale_final to allow localization 404 implementations to initialize and release any necessary resources. 405 406 * src/iostream.cpp: Call _Locale_init during io streams initialization 407 and _Locale_final at end. 408 409 * c_locale_win32/c_locale_win32.c: Add synchronization for locale 410 lcid look up from name required in multithreaded environment. Two 411 threads instanciating two facet instances from a given name might 412 have collide resulting in an undefined behavior. Critical section 413 used for synchronization is initialized in _Locale_init and freed 414 in _Locale_final. 415 416 * c_locale_win32/c_locale_win32.c: Add several fields in 417 _Locale_time struct to avoid use of static buffers in some locale 418 support functions like _Locale_d_t_fmt _Locale_long_d_t_fmt... 419 Moreover time format cannot be truncated anymore. 420 4212007-01-08 Francois Dumont <dums@stlport...> 422 423 * stlport/stl/_deque.c: Patch from Kevin Lin to fix iterator 424 returned by insert at position method. 425 426 * test/unit/deque_test.cpp: Add test case for the deque::insert 427 methods. 428 4292006-12-06 Francois Dumont <dums@stlport...> 430 431 * STLport 5.1.0 released based on STLPORT_5_1 branch revision 2750. 432 4332006-11-27 Francois Dumont <dums@stlport...> 434 435 * stlport/stl/config/_windows.h: Patch from Michael Fink to check 436 inclusion of winbase.h and windows.h. 437 4382006-11-24 Francois Dumont <dums@stlport...> 439 440 * stlport/stl/_fstream.h, src/fstream.cpp, iostream.cpp: Restore 441 computation of the system dependant page size that was hardcoded 442 to 4096. Initialisation code has been moved to a static method 443 called just after Standard iostream initialisation. This code used 444 to be in the _Filebuf_base constructor that might have been called 445 simultaneously by several threads. 446 4472006-11-17 Francois Dumont <dums@stlport...> 448 449 * stlport/stl/config/_macosx.h: Add endianess configuration. 450 4512006-11-16 Francois Dumont <dums@stlport...> 452 453 * test/unit/resolve_name.cpp: Clean most of MSVC6 workaround, only 454 one has been kept to have the test pass. 455 4562006-11-13 Francois Dumont <dums@stlport...> 457 458 * stlport/stl/_cwchar.h: Patch from Michael Fink to fix EVC3 459 missing mbstate_t definition. 460 4612006-11-07 Francois Dumont <dums@stlport...> 462 463 * stlport/stl/_threads.h: Removed _Atomic_swap_struct export 464 that should be useless as completely inlined. Moreover it was 465 generating a compilation error using MSVC 2005 under Windows 466 64 bits. 467 4682006-10-26 Francois Dumont <dums@stlport...> 469 470 * test/unit/codecvt_test.cpp: Removed try/catch blocks not 471 supported by platform missing exception support and moreover 472 useless as we know the code called in the try and this code 473 do not throw (thanks Michael Fink report). 474 475 * build/Makefiles/nmake/targetdirs.mak, lib/clean.mak, app/clean.mak: 476 Complete clobber and distclean rules to really clean all generated 477 stuffs. 478 479 * build/Makefiles/nmake/top.mak: Patch from Gary Bartlett to make nmake 480 'all' rule the default rule. 481 4822006-10-25 Francois Dumont <dums@stlport...> 483 484 * src/dll_main.cpp: Fix syntax error '>>' rather than '> >' in 485 a _STLP_alloc_proxy explicit instanciation. 486 487 * stlport/stl/_unordered_set.h: Fix template method for the 488 associative container extension, use _KT type rather than key_type. 489 4902006-10-20 Francois Dumont <dums@stlport...> 491 492 * stlport/stl/config: Removed some used macros 493 _STLP_AUTOMATIC_TYPE_TRAITS 494 _STLP_UNINITIALIZABLE_PRIVATE 495 _STLP_STATIC_ARRAY_BUG 496 _STLP_FULL_ADL_IMPLEMENTED 497 498 * test/unit/codecvt_test.cpp: Ignore test when 499 _STLP_NO_MEMBER_TEMPLATES defined. 500 5012006-10-20 Petr Ovtchenkov <complement@users.sourceforge.net> 502 503 * stlport/stl/_cwchar.h: fix HP-UX problem with WCHAR_MIN, WCHAR_MAX 504 [Boris Gubenko]. 505 5062006-10-19 Petr Ovtchenkov <complement@users.sourceforge.net> 507 508 * test/unit/sstream_test.cpp: check bugreport #1580020, not confirmed; 509 [bug in gcc 4.1.2-svn, compiler under development]. 510 5112006-10-17 Francois Dumont <dums@stlport...> 512 513 * stlport/stl/_cwchar.h: Restore code to define potentially missing 514 WCHAR_MIN, WCHAR_MAX macros. It used to be in _mbstate_t.h but was 515 missing some native includes to work, in _cwchar.h everything should 516 be fine. 517 518 * test/unit/codecvt_test.cpp: Fix C cast that was losing const 519 qualifier. 520 521 * stlport/stl/_mbstate_t.h: Avoid definition of _STLP_NO_MBSTATE_T when 522 using own mbstate_t definition in _STLP_USE_NO_IOSTREAMS mode. This macro 523 is not supported anymore and should be fixed or removed in future version. 524 Own mbstate_t will be defined even in no iostreams mode. 525 526 * stlport/stl/config/_evc.h: Now that mbstate_t situation is clear EVC3 527 defines _STLP_NO_NATIVE_MBSTATE_T rather than directly defining it in 528 the config file. 529 530 * test/unit: Several fixes to build with _STLP_NO_EXTENSIONS and 531 _STLP_NO_ANACHRONISMS. 532 5332006-10-16 Petr Ovtchenkov <complement@users.sourceforge.net> 534 535 * stlport/stl/_mbstate_t.h: this header may be included from system 536 stddef.h, without wchar.h---defines of wchar limits isn't good place 537 here [WCHAR_MAX, etc.]. 538 539 * test/unit/cwchar.cpp: correct test to hilight problem above. 540 5412006-10-14 Petr Ovtchenkov <complement@users.sourceforge.net> 542 543 * test/unit/cwchar.cpp, build/test/unit/Makefile.inc: test a few macros 544 related to wchar. Inspired by problems in STLPORT_5_1 and boost::regex. 545 5462006-10-12 Francois Dumont <dums@stlport...> 547 548 * stlport/stl/_numpunct.h, src/numpunct.cpp: numpunct facet _M_truename 549 _M_falsename and _M_grouping are not static anymore. This seems useless 550 and moreover was introducing static initialisation order and threading 551 issues. 552 553 * stlport/stl/c_locale.h, _mbstate_t.h, src/c_locale.h, c_locale.c: 554 New mbstate_t policy. When no mbstate_t in native library STLport defines 555 one for its own need in localisation support. This mbstate_t is simply 556 an int defined in global namespace and imported to STLport namespace. 557 Internal localisation framework is nt anymore in STLport namespace but 558 in the global one as it is normaly a C framework. 559 560 * stlport/stl/config/_bc.h: Defines _STLP_NO_NATIVE_MBSTATE_T rather 561 than internal _STLP_USE_OWN_MBSTATE_T macro. 562 563 * stlport/stl/config/_evc.h: Add comment for EVC3 users, this platform 564 should define _STLP_NO_NATIVE_MBSTATE_T, but I have not the platform 565 to check... 566 567 * build/Makefiles/gmake/bcc.mak: Do not force anymore built of C sources 568 as C++. 569 570 * test/unit/string_test.cpp, istmit_test.cpp: Fixed macro checks to make 571 tests buildable even when _STLP_NO_IOSTREAMS is defined. 572 5732006-10-09 Francois Dumont <dums@stlport...> 574 575 * test/unit/codecvt_test.cpp: Fix use of mbstate_t to make it more 576 portable. 577 5782006-10-06 Francois Dumont <dums@stlport...> 579 580 * stlport/stl/_alloc.h, _alloc.c: Fixed __debug_alloc implementation 581 to avoid unjustified assertion about wrong size of buffer to 582 deallocate, thanks David Deakins and verntx on sourceforge. 583 584 * test/unit/vector_test.cpp: Add test for bug above. 585 586 * stlport/wchar.h, stl/_cwchar.h, _istream.h, _limits.h, _locale.h, 587 _threads.h, char_traits.h, type_traits.h, _mbstate_t.h: Fix regression 588 introduce by inclusion of mbstate_t.h in wchar.h. Now _mbstate_t.h is 589 only included at end of wchar.h and _cwchar.h. All places where _mbstate_t.h 590 was used are now including _cwchar.h. 591 5922006-10-05 Francois Dumont <dums@stlport...> 593 594 * build/Makefiles/gmake/bcc.mak: Use -P compiler to force build of C 595 translation as C++ because of the mbstate_t problem. 596 597 * build/Makefiles/gmake/lib/bcc.mak, rules-a.mak: Fix Borland tlib call 598 syntax thanks mbkenny. 599 600 * stlport/stl/wchar.h: Add include of internal _mbstate_t.h file to 601 know STLport status regarding mbstate_t configuration. 602 603 * stlport/stl/c_locale.h: When building platform localisation support 604 as C++ struct declaration are done in STLport namespace. 605 606 * src/c_locale.h: Removed _mbstate_t.h include that is now included 607 from wchar.h or _cwchar.h depending on C or C++ build. Removed #error 608 done too early (see next comment). 609 610 * src/c_locale.c: Add #error statement when building STLport on a platform 611 having real localisation support but no native mbstate_t definition. In this 612 case c_locale.c must be built as a C++ translation unit. 613 614 * src/c_locale_win32/c_locale_win32.c: Add Borland workaround to avoid 615 compilation error now that it is build as a C++ translation unit. 616 617 * stlport/stl/_mbstate_t.h: Now that this file is not included from outside 618 world we can include internal _cwchar.h rather than cwchar. Removed 619 a wint_t workaround already existing in _cwchar.h. Removed Borland workaround 620 that was defining mbstate_t when using this file in a C context, it was 621 moreover different than the definition in C++ ! Add a pure C declaration of 622 mbstate_t when in C. 623 6242006-10-04 Francois Dumont <dums@stlport...> 625 626 * src/c_locale.h: Add #error to signal issue when building c_locale.c 627 as a C source when STLport uses its own mbstate_t definition. 628 629 * src/num_put_float.cpp: Modification in Cygwin native lib headers 630 revealed that we were missing ieeefp.h include. 631 632 * src/dll_main.cpp, stlport/stl/_threads.h: Fix export of 633 _Atomic_swap_struct for compilers supporting export of templates. 634 635 * stlport/stl/config/_hpacc.h: Some cleanup (unknown _STLP_NO_KOENIG_LOOKUP 636 macro) and formating fixes. 637 638 * stlport/stl/_bvector.h: Use _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS 639 rather than reproducing the workaround hidden by this macro. 640 641 * test/unit/vector_test.cpp: Add test case to check iterators comparisons. 642 6432006-09-26 Francois Dumont <dums@stlport...> 644 645 * src/allocators.cpp: Reorder code blocks to fix build when using 646 _STLP_LEAKS_PEDANTIC. 647 648 * stlport/stl/_num_put.c: Restore __len >= 2 check in 649 __copy_integer_and_fill function. It has been removed on the 650 2006-07-11, at this time STLport always add the base information 651 even for 0 value. This modification has been rollback but not this 652 check. 653 654 * test/unit/num_put_get_test.cpp: Add check for above fix. 655 6562006-09-26 Francois Dumont <dums@stlport...> 657 658 * src/c_locale_win32/c_locale_win32.c: Add check of code page when 659 specified in locale name. 660 661 * src/c_locale_win32/c_locale_win32.c: Add checks in __ConvertDate 662 and _Locale_t_fmt to avoid potential buffer overflow. 663 664 * src/c_locale_win32/c_locale_win32.c: Create __GetLocaleInfoUsingACP 665 function that merge a call to GetLocaleInfoA and a call to 666 __ConvertFromACP in one call, the latter function has been removed. 667 668 * src/c_locale.h: Restore _STLP_BEGIN_NAMESPACE when STLport use 669 its own mbstate_t definition which is only available in STLport 670 namespace. Fix Borland regression. 671 672 * stlport/stl/_mbstate_t.h: Replace stl/_cwchar.h include with 673 a cwchar one as this file is included from the outside world when 674 building STLport lib. 675 6762006-09-25 Francois Dumont <dums@stlport...> 677 678 * test/unit/codecvt_test.cpp: New test case for the codecvt 679 facet. 680 681 * test/unit/unordered_test.cpp: size_t replace by int to avoid 682 64bits issue warning. 683 6842006-09-21 Francois Dumont <dums@stlport...> 685 686 * stlport/stl/c_locale.h: Patch from Boris Gubenko to avoid 687 direct inclusion of internal header from this header that is 688 access from the outside world when building STLport lib. 689 6902006-09-20 Francois Dumont <dums@stlport...> 691 692 * test/unit/allocator_test.cpp: Add new test case for allocation of 693 empty buffer. 694 695 * test/unit/fstream_test.cpp: Use a variable to always point to the same 696 test file and adopt a 'Standard' file name 'test_file.txt'. 697 698 * stlport/stl/_hash_fun.h: Rollback 2006-08-26 Petr modification that 699 was introducing a regression with MSVC compilers. 700 701 * stlport/stl/_fstream.c: First attempt to fix seekoff basic_filebuf 702 implementation when dealing with a codecvt facet having variable 703 encoding. This fix is surely not complete, discussion with Uli is not 704 over. 705 7062006-09-13 Francois Dumont <dums@stlport...> 707 708 * stlport/stl/_exception.h: Made a previously general Windows 64 bits 709 workaround specific to the cross compiler coming with PSDK. Thanks 710 Igor Pavlov. 711 7122006-09-11 Francois Dumont <dums@stlport...> 713 714 * stlport/stl/_num_put.c: Modification in __do_put_integer to avoid 715 a Hp aCC workaround. 716 7172006-09-11 Petr Ovtchenkov <complement@users.sourceforge.net> 718 719 * stlport/stl/_algo.c: search_n with predicate fail in case 720 when subsequence size is 1; thanks Timmie Smith. 721 722 * test/unit/alg_test.cpp: test for problem. 723 7242006-09-08 Francois Dumont <dums@stlport...> 725 726 * src/c_locale_win32/c_locale_win32.c: Modification in __GetLCIDFromName 727 to support the Chinese_Taiwan locale. Add of a __GetLCID call when first 728 call to it using non NLS mapping fails. 729 730 * src/c_locale_win32/c_locale_win32.c: Change __ParseLocaleString 731 implementation to correctly handle locale with a name having '.' in 732 the language or country part like in 'Chinese_Hong Kong S.A.R..950'. 733 7342006-09-05 Francois Dumont <dums@stlport...> 735 736 * build/lib/configure.bat: Fixed comment for --rtl-dynamic and 737 --rtl-static options, impact on macros to uncomment in hosts.h 738 config file was inversed. Thanks Igor Pavlov. 739 740 * build/lib/configure.bat, doc/FAQ, doc/README.msvc, 741 stlport/stl/config/user_config.h, _hpacc.h: Replaced references to 742 _site_config.h by hosts.h. Thanks Igor Pavlov. 743 7442006-08-30 Francois Dumont <dums@stlport...> 745 746 * stlport/stl/_cmath.h, _cstdlib.h: Patch from Boris Gubenko, Hp aCC 747 native Standard lib already define math functions in global namespace. 748 749 * stlport/stl/_num_put.c: Patch from Boris Gubenko, Hp aCC before version 750 60000 do not consider 'const ptrdiff_t' as const enough to be used in a 751 static buffer declaration. 752 7532006-08-26 Petr Ovtchenkov <complement@users.sourceforge.net> 754 755 * stlport/stl/_hashtable.c: allow smaller bucket counts for 756 hashtable. Thanks Herbert Duerr. 757 758 * stlport/stl/_hash_fun.h: use primary types for hasher, not 759 typedefs. 760 761 * stlport/stl/type_manips.h: workaround for __true_type/__false_type 762 for various versions gcc (oh, yes, gcc, it's real pain to detect 763 real version of libstdc++) 764 7652006-08-10 Petr Ovtchenkov <complement@users.sourceforge.net> 766 767 * stlport/stdlib.h: include errno.h for aCC, in case of -mt option in force. 768 This solve errno problem on HP-UX. Thanks Boris Gubenko. 769 7702006-08-09 Francois Dumont <dums@stlport...> 771 772 * stlport/stl/config/_msvc.h: Add _STLP_NORETURN_FUNCTION for MSVC 773 compilers. 774 775 * stlport: Move place of _STLP_FUNCTION_THROWS in function declaration to 776 make msvc compiler happier, gcc do not care about position of this 777 attribute. 778 779 * stlport/stl/_ioserr.h: Fixed specification of STLport configuration file 780 in #error statement. 781 7822006-08-04 Francois Dumont <dums@stlport...> 783 784 * stlport: Create _STLP_FUNCTION_THROWS depending on _STLP_NORETURN_FUNCTION 785 and also taking into account exception handling configuration. 786 787 * test/unit/alg_test.cpp, istmit_test.cpp: Fixes to make test buildable with 788 native compiler Standard library. 789 7902006-08-03 Francois Dumont <dums@stlport...> 791 792 * build/Makefiles/nmake/evc8.mak: Patch from Ulrich Echkardt to activate 793 whole program optimization. 794 7952006-07-31 Francois Dumont <dums@stlport...> 796 797 * Patch from Michael Fink to fix EVC emulator build. 798 7992006-07-26 Francois Dumont <dums@stlport...> 800 801 * src/fstream.cpp: Fixed MMAP_CHUNK definition, an offset type is signed. 802 803 * Creation of the 5.1.0 RC2 package. 804 805 * Creation of STLPORT_5_1_RC2 tag 806 8072006-07-25 Francois Dumont <dums@stlport...> 808 809 * stlport/stl/config/_system.h, _windows.h: Fixed MinGW config that also 810 need _windows.h. 811 812 * stlport/stl/config/_mingw.h: Removed, conflict with platform system 813 header. 814 8152006-07-22 Francois Dumont <dums@stlport...> 816 817 * stlport/stl/config: Add _STLP_PLATFORM and _STLP_COMPILER repectively 818 containing STLport detected platform and compiler names. Some names 819 are surely not accurate and will be fixed but introducing those macros, 820 especially _STLP_COMPILER, help to report detection issue. 821 822 * stlport/stl/config/_system.h: Change macro checks in order to guaranty 823 that only one platform and only one compiler configuration file will be 824 included. 825 826 * stlport/stl/config/_cygwin.h, _mingw.h: Added 827 828 * stlport/stl/config/features.h: Removed _STLP_NO_MEMBER_TEMPLATE_CLASSES 829 check when _STLP_USE_TEMPLATE_EXPRESSION is activated. 830 831 * stlport/stl/config/_gcc.h, features.h: Add _STLP_NORETURN_FUNCTION 832 to signal function not returning, under gcc we use __attribute__((noreturn)). 833 834 * src/locale_impl.h, stlport/stl/_ios_base.h, _locale.h, _range_errors.h, 835 _rope.h, _string_base.h, _vector.h, debug/_debug.h: Add 836 _STLP_NORETURN_FUNCTION to function that encapsulate raising of exceptions. 837 This help to limit warnings about uninitialized variable before use under 838 gcc. 839 8402006-07-18 Francois Dumont <dums@stlport...> 841 842 * test/unit/unordered_test.cpp: Change Key data type from size_t 843 to the more portable int. Fix what seems to be a bad code generation 844 of gcc under Linux 64 bits resulting in a test failure. 845 8462006-07-17 Francois Dumont <dums@stlport...> 847 848 * test/unit/alg_test.cpp: New test for find_first_of algo. 849 850 * stlport/stl/config/user_config.h, features.h: string template 851 expressions is not a transparent feature, some compilers (VC6) 852 are experimenting ICE with it or some other (gcc) do not accept 853 it when extending string class (see mystring in 854 test/unit/string_test.cpp). So default STLport configuration will 855 be without string template expression, _STLP_DONT_USE_TEMPLATE_EXPRESSION 856 has been replaced by _STLP_USE_TEMPLATE_EXPRESSION. 857 8582006-07-16 Francois Dumont <dums@stlport...> 859 860 * test/unit/mvctor_test.cpp: Patch from Michael Fink to avoid a EVC 861 ARM crash. 862 8632006-07-13 Francois Dumont <dums@stlport...> 864 865 * stlport/stl/_num_put.c: Rollback modif above, according C printf doc 866 0 value shouldn't show their base. 867 868 * stlport/stl/type_traits.h: Avoid instanciation of _IsCVConvertible if 869 not dealing with pointers. Systematical instanciation was giving 870 compilation error as soon as type had a special memory alignment, such 871 types cannot be pass by value in function calls. Thanks andy2222 from 872 sourceforge. 873 874 * build/Makefiles/nmake/evc3.mak, evc4.mak, evc8.mak: Patch from Ulrich 875 Eckhardt to remove commctrl.lib dependency, for the moment evc3 and evc4 876 only contains a note about this potentially useless dependency. 877 878 * stlport/stl/debug/_string.h: Add missing copy methods in the debug 879 string implementation thanks Patrick Bennett report. 880 881 * test/unit/string_test.cpp: New copy test case for string::copy. 882 883 * stlport/stl/_algo.h: Add missing _STLP_PRIV namespace scope in calls 884 to __find_first_of thanks Patrick Bennett report. 885 8862006-07-11 Francois Dumont <dums@stlport...> 887 888 * stlport/stl/debug/_deque.h, _list.h, _slist.h, _string.h, _vector.h: 889 Extend use of _Non_Dbg_iter function in all template methods dealing 890 with iterator range. 891 892 * _num_put.c: Fix to show base in octal or hexadecimal mode even for 893 0 value. 894 895 * stlport/stl/_istream.c: Avoid modification of value to extract in 896 formatted input of short and int when value would overflow. 897 898 * test/unit/num_put_get_test.cpp: Add some tests for above fixes. 899 900 * test/unit/iostream_test.cpp: New tests for general stream 901 manipulations. 902 903 * stlport/stl/_istream.h: Fix ws iostream function, it do not set failbit 904 anymore when stream is in eof state. 905 906 * build/lib/msvc.mak: Generation of config.mak is not mandatory anymore 907 as Intel compiler do not need it for the moment. Only a COMPILER_NAME 908 is mandatory which is given by icl.mak for Intel compilers and by 909 config.mak for Microsoft ones. 910 9112006-07-10 Francois Dumont <dums@stlport...> 912 913 * stlport/stl/debug/_iterator.h: Creation of _Non_Dbg_iter function 914 returning native iterator of special debug iterator with 915 compilers supporting partial template function ordering. Fix 916 a MSVC .Net 2003 issue that seems to be related to a too important 917 template depth. 918 919 * stlport/stl/debug/_deque.h, _list.h, _slist.h, _string.h, _vector.h: 920 Use new _Non_Dbg_iter function in constructors from iterator 921 range. 922 9232006-07-07 Petr Ovtchenkov <complement@users.sourceforge.net> 924 925 * build/lib/configure: rollback changes 4 Jul 2006 19:42:55, 926 it's definitely wrong (phrase with quotes ['] requires double 927 quotes ["]). 928 9292006-07-06 Francois Dumont <dums@stlport...> 930 931 * stlport/stl/_num_put.c: Small refactoring with introduction 932 of the __do_put_integer function for integer types output. Moreover 933 static buffer size used for formating is now based on output 934 type sizeof. 935 936 * stlport/stl/_ostream.c: Add some assertion before cast to check that 937 no significant digit is lost. Add cast to long in int and short output 938 in order to make type of expression more explicit and correct. This 939 fix the bug report from Geoffrey Bache on sourceforge about output of 940 -1 ont value on 64bits linux. 941 942 * test/unit/floatio_test.cpp: Removed, all code moved to NumPutGetTest 943 test fixture. 944 945 * test/unit/num_put_get_test.cpp: New, contains all tests regarding 946 input/output of numeric values (locale independant). 947 948 * test/unit/locale_test.cpp: locale independant tests of numeric input/ 949 output moved to NumPutGetTest test fixture. 950 9512006-07-04 Francois Dumont <dums@stlport...> 952 953 * stlport/stl/_rope.h, _rope.c: Patch from Peter Hercek to fix a 954 missing null termination in rope constructor from a character 955 and a buffer overrun. 956 957 * stlport/stl/_rope.h: Removed special _S_rounded_up implementation 958 for other types than char and wchar_t. rope implementation is 959 expecting this method to always return a size > to the given size in 960 order to store the terminating null character. 961 962 * stlport/stl/_rope.c: Fix reference counter management to avoid memory 963 leak in _S_destr_concat_char_iter. 964 9652006-06-30 Francois Dumont <dums@stlport...> 966 967 * src/num_put.cpp, num_put_float.cpp: Patch from Glen Summers 968 to fix float output using locale with grouping and float value 969 has no decimal. 970 971 * test/unit/locale_test.cpp: Add some tests showing above bug. 972 9732006-06-29 Francois Dumont <dums@stlport...> 974 975 * stlport/stl/_algo.h, _algo.c, _algobase.h, _algobase.c, 976 _hashtable.c: Patch from Andriy Syrovenko to fix implementation 977 of __equal_range, __lower_bound, __upper_bound when dealing with 978 a key whom type is different from the value_type of the iterator. 979 980 * test/unit/equal_test.cpp: Add some tests to show above bug. 981 9822006-06-28 Francois Dumont <dums@stlport...> 983 984 * stlport/stl/_string_sum_methods.h, debug/_string_sum_methods.h: 985 Small refactoring and simplification of code to avoid a parameter 986 with default value. This fixing an ICE using MSVC6. 987 988 * test/unit/string_test.cpp: Ignore the newly introduce te_tmp 989 test using MSVC6. 990 9912006-06-27 Petr Ovtchenkov <complement@users.sourceforge.net> 992 993 * stlport/stl/_list.h: fix bug in list.swap, thanks Viktor Govako. 994 995 * test/unit/list_test.cpp: test for bug above. 996 9972006-06-27 Francois Dumont <dums@stlport...> 998 999 * build/lib/configure: Add --with-lib_motif option to grant STLport 1000 users the possibility of tweaking the generated libraries name. 1001 1002 * build/Makefiles/gmake/unix/lib.mak: Add code to take into account 1003 configured lib motif in generated library name. 1004 1005 * build/Makefiles/gmake/netware/lib.mak: Looks like it needs same 1006 defines as the ones in cygming/lib.mak so we simply include this 1007 file. 1008 1009 * stlport/stl/config/_evc.h: Patch from Michael Fink to fix a 1010 compilation error. 1011 1012 * test/unit/cppunit/cppunit_mini.h: Patch from Michael Fink to 1013 avoid unused parameter warning. 1014 10152006-06-23 Francois Dumont <dums@stlport...> 1016 1017 * stlport/stl/_pair.h, _bvector.h, config/_evc.h: Patch from 1018 Ulrich Eckhardt to extend an evc4 MIPS workaround for eVC8 1019 and to generalize little endian configuration. 1020 1021 * DMC patch from Eric Sanford. Define _STLP_NO_FUNTION_TMPL_PARTIAL_ORDER 1022 so that many ignored unit test could be now passed. Also specify 1023 Intel 386 instruction set during compilation to limit link errors. 1024 10252006-06-22 Francois Dumont <dums@stlport...> 1026 1027 * stlport/stl/_algobase.c: Removed check of equivalent predicate 1028 commutativity in find algorithm. In this case, equivalence relation 1029 might have been implemented using a member operator == which is 1030 not commutative thanks Grisha Spivak report. Other checks that are 1031 using an explicit predicate parameter has been kept even if it forces 1032 STLport users to implement commutative functor. 1033 1034 * test/unit/find_test.cpp: Add test to show above issue. 1035 1036 * stlport/stl/_hashtable.c: Removed equivalent predicate checks 1037 that are useless as in _STLP_DEBUG mode the debug wrapping add this 1038 check in the functor used to instanciate the non debug hashtable 1039 implementation. 1040 10412006-06-19 Francois Dumont <dums@stlport...> 1042 1043 * STLport 5.1.0 candidate released. STLPORT_5_1 branch created in 1044 CVS. Version tagged STLPORT_5_1_RC1. 1045 10462006-06-17 Francois Dumont <dums@stlport...> 1047 1048 * test/unit/type_traits_test.cpp, uninitialized_test.cpp: Add 1049 explicit public inheritance relation to avoid an ICL warning. 1050 1051 * stlport/stl/config/features.h: Add definition of 1052 _STLP_DEBUG_LEVEL to _STLP_STLPORT_DBG_LEVEL when _STLP_DEBUG 1053 is defined but _STLP_DEBUG_LEVEL hasn't been set. 1054 (thanks an ICL warning report) 1055 1056 * stlport/stl/config/_intel.h: Remove undef of 1057 _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT, even if the linker complains 1058 about not finding unexpected_exception it looks like it finally do 1059 not use it. 1060 1061 * test/unit/cppunit/test_main.cpp: Filter definition of 1062 unexpected_exception when building unit test with static STLport 1063 lib. 1064 10652006-06-15 Francois Dumont <dums@stlport...> 1066 1067 * stlport/stl/config/features.h: Several macro renamed: 1068 - _STLP_LONG_DOUBLE -> _STLP_LONGEST_FLOAT_TYPE 1069 - __DFL_TMPL_PARAM -> _STLP_DFL_TMPL_PARAM 1070 - __DFL_TYPE_PARAM -> _STLP_DFL_TYPE_PARAM 1071 - __DFL_NON_TYPE_PARAM -> _STLP_DFL_NON_TYPE_PARAM 1072 __DFL_TYPE_ARG removed. 1073 1074 * stlport/stl: Add char_traits template parameter in all 1075 istreambuf_iterator and ostreambuf_iterator instanciation where it 1076 was missing as some compiler might not have supported it. 1077 1078 * stlport/stl/_time_facets.h, src/locale_impl.cpp: Finaly adopt a 1079 specific gcc workaround for definition of _Locale_time_extract_hint 1080 as friend of time_get_byname facet. Gcc 2.95 prefers to see a template 1081 method otherwise it emits a warning, we want to avoid STLport users 1082 to have to disable this warning. Other compilers will use a simple 1083 function which seems to be more portable. 1084 1085 * stlport/stl/_vector.h, _pair.h: Patch from Eric Sanford for a 1086 really weird Borland compiler workaround that consists in adding 1087 a _Ret typedef in __move_traits or __type_traits traits struct 1088 that do not normally contain it. 1089 1090 * stlport/stl/config/_bc.h: Borland free compiler do not support 1091 STLport container extension of template methods. 1092 10932006-06-14 Francois Dumont <dums@stlport...> 1094 1095 * test/unit: Patch from Ulrich Eckhardt to fix storage of string 1096 literals to const char* rather than simple char*. 1097 1098 * build/Makefiles/nmake: Ulrich Eckhardt patch: 1099 - /MACHINE:IX86 is obsolete and only supported for backward 1100 compatibility as alias for X86. Replaced all cases of IX86 1101 with X86. 1102 - /NODEFAULTLIB:OLDNAMES.lib seems to also be universal so I 1103 moved it to the base, too. 1104 - In order to use main() as entry point under CE, use linker 1105 option /ENTRY:mainACRTStartup. This was already done for 1106 evc3,4,8 but I moved it to app/evc-common.mak and documented 1107 it. 1108 1109 * stlport/stl/_cmath.h, config/_evc.h: Uli patch to activate long 1110 double support for EVC and use _hypot to implement STLport 1111 overload. 1112 1113 * src/complex.cpp: Remove internal __stlp_hypot that is not necessary 1114 anymore now that STLport always define a hypot function (thanks Uli 1115 remark). 1116 1117 * stlport/stl/config: Ulrich Eckhardt VC8/CE patch: 1118 - Adapt the code to construct the paths to the native includes 1119 so that it matches the changed structure. This is currently 1120 only for ARM and might need more work for other targets (x86 1121 works though). 1122 - Make a distinction between the desktop and CE variants concerning 1123 the exception support functions. These now use the same compiler 1124 versions so that can't be used anymore. 1125 - MS' safe string functions are not available under CE - I think, 1126 need to take a closer look at Platform Builder. 1127 1128 * stlport/stl: Ulrich Eckhardt to adapt STLport to VC8/CE limited 1129 native C library. 1130 11312006-06-13 Francois Dumont <dums@stlport...> 1132 1133 * stlport/stl/pointers/_tools.h: Add partial specialization for 1134 _IteWrapper helper struct so that when type to store and stored 1135 type are identical input iterators are not wrapped. Otherwise input 1136 iterators are wrapped to perform necessary casts between pointer type 1137 and void*. 1138 1139 * stlport/stl/_cmath.h: Fixed macros definition used to define all 1140 math functions for compilers supporting long double but not having 1141 float nor long double C math functions. Thanks Ulrich Eckhardt report. 1142 11432006-06-12 Francois Dumont <dums@stlport...> 1144 1145 * test/unit/set_test.cpp, map_test.cpp: Replace size_t with the 1146 more portable int type when possible. 1147 1148 * stlport/stl/pointers/_tools.h: Check that type to store is a 1149 pointer type before modifying predicate type for set container. 1150 Wrapping less functor in all cases was making move semantic tests 1151 to fail as predicate is not then detected as being the STLport 1152 less predicate. 1153 1154 * stlport/stl: DMC patch from Eric Sanford. DMC do not like __ss 1155 variable that is a reserved keyword. 1156 11572006-06-11 Francois Dumont <dums@stlport...> 1158 1159 * build/Makefiles/nmake: Patch from Ulrich Eckhardt to use 1160 main rather than WinMain for EVC platform. 1161 1162 * build/test/unit/gcc.mak: Removed redondant macro definition 1163 _STLP_USE_STATIC_LIB under cygwin/mingw as those definition 1164 are part of base make files. 1165 1166 * stlport/stl/type_manips.h, _hashtable.h: Eric Sanford workaround 1167 for Borland. 1168 11692006-06-09 Francois Dumont <dums@stlport...> 1170 1171 * test/unit/cppunit: Patch from Ulrich Eckhardt to 1172 - Removed a few superfluous semicolons. 1173 - Made some constructors explicit. 1174 - Documented the meaning of FileReporter::_myStream. 1175 - Reformatted some things to not exceed 100 chars per 1176 line or use several expressions/statements in one line. 1177 1178 * build/Makefiles/nmake: Patch from Ulrich Eckhardt to 1179 - adds support for x86 (running on e.g. a PC, so-called CEPC). 1180 - adds support for MIPS or more specifically MIPSII, other MIPS 1181 subtypes can easily be added. 1182 - removes a line "DEFS_COMMON = /D%TARGETCPU%" from the config.mak 1183 file generated for MIPS, the same functionality was moved to the 1184 CPU-specific setups where it is done for other CPUs. 1185 - adds an additional compiler flag so that diagnostics better 1186 match what the VC8 IDE expects. 1187 1188 * stlport/stl: Patch from Ulrich Eckhardt to 1189 - removes several unnecessary semicolons (typically, when 1190 inlining functions like "void foo() {};" where it in fact doesn't 1191 hurt (due to something I consider an oversight in the standard) 1192 but also doesn't make sense. 1193 - fixes inconsistent indentation in three cases, one with the 1194 preprocessor and two with memberfunction bodies. 1195 1196 * stlport/stl/pointers/_tools.h: Add missing template method 1197 in _CastTraits helper struct used on compiler with no partial 1198 template specialization support. 1199 12002006-06-08 Francois Dumont <dums@stlport...> 1201 1202 * stlport/stl/pointers/_tools.h, _set.h: Fix problems reported by 1203 gcc that seems to do more check that MSVC on explicit 1204 instanciation of templates. Especially fixed problem introduce 1205 by STLport extension of set template methods. 1206 1207 * build/Makefiles/gmake/aCC.mak, lib/aCC.mak: Patch from Boris 1208 Gubenko for Hp aCC build. 1209 12102006-06-07 Francois Dumont <dums@stlport...> 1211 1212 * stlport/stl/pointers: Restore pointer specialization feature. 1213 Major modifications are: 1214 1215 - vector specialization is done using a qualified void pointer 1216 in order to keep optimization oportunities when working on 1217 pointers. Using a strict void* was forcing wrapping of iterators 1218 in template method making _BothPtrTypes struct helper failing to 1219 detect both pointer types. 1220 1221 - Fixed set specialization thanks to explicit instanciation added 1222 in ptrspec_test.cpp. 1223 1224 - Refactoring of algorithm to find storage type from value type. 1225 12262006-06-02 Francois Dumont <dums@stlport...> 1227 1228 * build/Makefiles/nmake: Patch from Ulrich Eckhardt for 1229 cleanup. Some script refactoring, wrong OPT_STLDBG_STATIC references 1230 replaced by OPT_STATIC_STLDBG. 1231 1232 * src: Patch from Ulrich Eckhardt to cleanup locale implementation 1233 and fix time facet creation when using dummy locale implementation. 1234 1235 * stlport/stl/config/_evc.h: Patch from Ulrich Eckhardt to fix 1236 endianess definition. 1237 1238 * stlport/stl/debug/_hashtable.h: Create a _DbgEqual functor to 1239 check correct equivalent predicate implementation. Add also 1240 missing hash_func and key_eq methods in this mode. 1241 1242 * stlport/stl/debug/_tree.h: Small refactoring in _DbgCompare 1243 functor. 1244 1245 * stlport/stl/type_traits.h, boost_type_traits.h: Restore boost 1246 support. 1247 12482006-06-01 Francois Dumont <dums@stlport...> 1249 1250 * stlport/stl/_tree.h, _set.h, _map.h, debug/_tree.h: Removed 1251 erase template method extension, might conflict with erase 1252 overload taking an iterator. User workaround will be to use 1253 erase(find(key)). 1254 1255 * stlport/stl/_hashtable.h, _map.h, _set.h, _unordered_set.h, 1256 _unordered_map.h, debug/_hastable.h: Add template methods extension. 1257 1258 * stlport/stl/config/features.h: Add management of containers template 1259 method extension. 1260 1261 * stlport/stl/config/_apple.h, _symantec.h: Config update based on 1262 config that used to be in _tree.h and _hashtable.h to remove 1263 container template methods extensions. 1264 12652006-05-31 Francois Dumont <dums@stlport...> 1266 1267 * stlport/stl/config/_evc.h: Patch from Michael Fink to add ptrdiff_t 1268 definition and forbid use of _STLP_DEBUG mode for evc 3/4 on ARM. 1269 1270 * build: Ulrich Eckhardt patch for Microsoft Visual Studio 2005 for 1271 Embedded C++ portage. 1272 12732006-05-30 Francois Dumont <dums@stlport...> 1274 1275 * stlport/stl/type_traits.h: Rename _Is_Integer<_Tp>::_Integral and 1276 _Is_Rational<_Tp>::_Rational in respectively _IsIntegral<_Tp>::_Ret 1277 and _IsRational<_Tp>::_Ret for naming convention coherency. 1278 1279 * stlport/stl/type_traits.h: Add _TrivialNativeTypeCopy helper to 1280 handle a number of oportunities to use memcpy/memmove in 1281 uninitialized_* or copy algorithms that was not cover by simply 1282 checking type_traits has_trivial* features. 1283 1284 * stlport/stl/type_traits.h, boost_type_traits.h: Refactor _BothPtrType 1285 implementation, only one version is necessary as it uses _IsPtr that 1286 has a variable implementation depending on config. 1287 1288 * stlport/stl/_vector.h: Add _DefaultZeroValue specialization for 1289 vector container so that a vector of vector is simply initialized 1290 using a memset to set everything to 0. 1291 1292 * test/unit/vector_test.cpp: Add check that previous optimization 1293 works as expected. 1294 1295 * stlport/typeinfo.h: Borland patch from Eric Sanford. 1296 1297 * DMC patch from Eric Sanford 1298 1299 * stlport/stl/debug/_tree.h: Patch from Ulrich Eckhardt to add missing 1300 count template method. 1301 1302 * src/dll_main.cpp: Patch from Ulrich Eckhardt to fix strncpy 1303 usage. 1304 13052006-05-23 Francois Dumont <dums@stlport...> 1306 1307 * stlport/stl/_deque.h, _deque.c: Change implementation to use 1308 _TrivialInit new feature. 1309 1310 * stlport/stl/boost_type_traits.h: Add _TrivialInit implementation 1311 using boost type traits. 1312 13132006-05-22 Francois Dumont <dums@stlport...> 1314 1315 * stlport/stl/type_traits.h: Add _TrivialInit helper struct to 1316 report if a type is trivial to initialize or not that is to say 1317 if the type has a trivial default constructor. Handle native types 1318 exception that are consider as having a trivial default constructor 1319 but that required a 0 initialization on explicit constructor 1320 call. 1321 1322 * stlport/stl/_uninitialize.h: Add a helper function 1323 __uninitialize_init that result in a no-op if _TrivialInit returns 1324 __true_type. 1325 1326 * stlport/stl/_vector.h: Modification of vector constructor to 1327 destect when it is called without an explicit default value so 1328 that we can call __uninitialized_init. 1329 1330 * test/unit/uninitialized_test.cpp: Add test to check correct 1331 detection of useless initialization. 1332 13332006-05-19 Francois Dumont <dums@stlport...> 1334 1335 * test/unit/uninitialized_test.cpp: Patch from Ulrich Eckhardt 1336 to replace vector instance in uninitialized_copy_test by static 1337 array so that we are always working on pointers iterator. 1338 1339 * stlport/stl/_string_operators.h: Patch from Ulrich Eckhardt to 1340 add missing != operators when using string template expression. 1341 1342 * stlport/stl/ctype.h, config/_evc.h, _msvc.h, _windows.h, 1343 features.h: Patch from Michael Fink for evc3/4 platform. 1344 1345 * test/unit/mvctor_test.cpp: Add of a specific Borland test case 1346 to report what seems to be a compiler bug but that is only 1347 revealed when using STLport. 1348 1349 * stlport/stl/_tree.h, _set.h, _map.h, debug/_tree.h, 1350 pointer/_set.h: Generalized already existing extension of template 1351 find method on associative containers to all look up methods: 1352 count, erase, lower_bound, upper_bound, equal_range. 1353 1354 * test/unit/set_test.cpp: Add test case for set template methods 1355 extension. 1356 1357 * stlport/stl/_tree.c, debug/_tree.h: Removed debug check from 1358 non debug implementation, now debug check is injected in tree 1359 implementation from the tree debug implementation thanks to 1360 a wrapping of the predicate. 1361 13622006-05-18 Francois Dumont <dums@stlport...> 1363 1364 * stlport/stl/c_locale.h: Fix declaration of _Locale_name_hint 1365 struct so that compilers do not think that this struct is in 1366 the STLport namespace because of friend declaration. 1367 13682006-05-17 Francois Dumont <dums@stlport...> 1369 1370 * stlport/stl/_abbrevs.h: Update list of abbreviations. 1371 1372 * stlport/stl/_hashtable.c: Removed _Node macro and fixed 1373 macros defined when _STLP_NESTED_TYPE_PARAM_BUG is defined. 1374 13752006-05-16 Francois Dumont <dums@stlport...> 1376 1377 * test/unit/type_traits_test.cpp: Add test case to check 1378 _TrivialUCopy helper metaprogramming class behavior. 1379 1380 * stlport/stl/_vector.h, _vector.c: Replaced _TrivialAss by 1381 _TrivialCopy and _TrivialUCpy by _TrivialUCopy for coherency 1382 with type_traits.h names. 1383 1384 * test/unit/type_traits_test.cpp: Add small test for correct 1385 impact of trivial_destructor meta info in vector implementation. 1386 1387 * build/lib/configure.bat: Add comment to explain weird TARGETCPU 1388 check. 1389 13902006-05-15 Francois Dumont <dums@stlport...> 1391 1392 * stlport/stl/_hashtable.h, _list.h, _deque.h, _slist.h, 1393 _string.h, _vector.h, _move_construct_fwk.h, _rope.h: 1394 Fix impact of _STLP_NO_MOVE_SEMANTIC macro on library. Now, 1395 if defined, no move will ever happen. 1396 1397 * stlport/stl/_uninitialized.h: Simplified __uninitialized_copy_fill 1398 prototype, only one type of iterator is allowed. It also fix 1399 implementation as this one was not taking into account both 1400 iterator value_type to consider if the operation was trivial 1401 or not. 1402 1403 * stlport/stl/_uninitialized.h: Major code review. Remove use of 1404 _OKToMemcpy, remove dependency on std::copy of std::fill, all 1405 implementation is now similar to the one of std::copy algorithms 1406 except that uninitialized algo are using 1407 __type_traits::has_trivial_copy_constructor meta information and 1408 copy __type_traits::has_trivial_assign_operator. 1409 1410 * test/unit/deque_test.cpp, vector_test.cpp: New test case for 1411 over optimization problem. 1412 1413 * test/unit/map_test.cpp, locale_test.cpp, list_test.cpp, slist_test.cpp, 1414 unordered_test.cpp, fstream_test.cpp, stack_allocator.h: Fixed 1415 implementation to build with _STLP_NO_MEMBER_TEMPLATES. 1416 1417 * stlport/stl/debug/_vector.h, _list.h: Add non template assign 1418 methods used when _STLP_NO_MEMBER_TEMPLATES is defined. 1419 1420 * stlport/stl/_slist.c: Fixed sort _Slist_sort implementation, now 1421 call _Slist_merge template function rather than slist::merge method 1422 as this method do not take any predicate when _STLP_NO_MEMBER_TEMPLATES 1423 is defined. 1424 1425 * build/test/unit/Makefile.inc, test/unit/uninitialized_test.cpp: 1426 New test for uninitialized_copy algo. 1427 1428 * stlport/stl/type_traits.h: OKToMemCpy rename in _TrivialCopy for 1429 coherency with _TrivialUCopy. Moreover, thanks to refactoring in 1430 uninitialized_* algorithms, _TrivialUCopy now only takes into account 1431 __type_traits::has_trivial_copy_constructor meta information and 1432 not has_trivial_assign_operator. 1433 1434 * stlport/stl/boost_type_traits.h: Fixed to reflect STLport 1435 __type_traits modifications. 1436 1437 * stlport/stl/_uninitialized.h: Major code review proposed by 1438 Ulrich Eckhardt 1439 1440 * stlport/stl/_algobase.h, _deque.h, _deque.c, _vector.h, _vector.c, 1441 _rope.h, _rope.c, _string.h, _string.c: Impact of previous point. 1442 14432006-05-05 Francois Dumont <dums@stlport...> 1444 1445 * test/unit/iter_test.cpp: Removed unreachable code. 1446 1447 * Introduction of a new configuration macro _STLP_MSVC_LIB 1448 1449 This macro is set to _MSC_VER value but can be overloaded to 1450 an other value. First intension was to make STLport more flexible 1451 for Intel C++ compiler. This compiler comes without any native 1452 lib and you have to bind it to a MSVC install, Intel compiler 1453 generate MSVC compatible code so that MSVC linker can correctly 1454 generate final exe or dll. To mimic MSVC compiler ICL also defines 1455 _MSC_VER. The problem is that definition of this macro is based 1456 on a compiler option and do not necessarily reflect the MSVC lib 1457 version ICL is binded to. Fortunately the compiler options 1458 responsible of _MSC_VER definition (/Qvc6, /Qvc7...) is also 1459 responsible of name mangling so asking for a MSVC compiler 1460 compatibility different than the library ICL is binded to is 1461 not easy. But _STLP_MSVC_LIB has been kept as it makes STLport 1462 configuration more clean. Now MSVC compiler version is given 1463 by _STLP_MSVC macro and library version by _STLP_MSVC_LIB. 1464 All occurences of _MSC_VER in STLport code has been replaced 1465 by those macros. 1466 1467 * _STLP_USE_SECURIZED_BUF_FUNCTIONS replaced by the more 1468 intuitive _STLP_USE_SAFE_STRING_FUNCTIONS. 1469 1470 * stlport/stl/config/_msvc.h: Major refactoring to isolate 1471 MSVC compiler config and MSVC native library config. 1472 14732006-05-04 Francois Dumont <dums@stlport...> 1474 1475 * build/lib/configure.bat: And information to the --lib-motif 1476 option as advised by Ulrich Eckhardt. Add option parameter and 1477 relation with _STLP_LIB_NAME_MOTIF. 1478 1479 * src/messsage_facets.h: Removed implementation of private copy 1480 constructor and assignment operator. 1481 1482 * src/c_locale_win32/c_locale_win32.c: Made 1483 _Locale_extract_category_name locale function static. 1484 1485 * src/vc_warning_disable.h renamed in warning_disable.h as it is 1486 used by other compilers too (ICL) 1487 1488 * build/lib/msvc.mak, evc.mak: Removed forced inclusion of 1489 vc_warning_disable.h file. Now this file is included from 1490 stlport_prefix.h. 1491 1492 * build/test/unit/msvc.mak, evc.mak: Replace vc_warning_disable.h 1493 reference by warning_disable.h. 1494 1495 * src/stlport_prefix.h: Add inclusion of warning_disable.h. 1496 14972006-05-01 Francois Dumont <dums@stlport...> 1498 1499 * test/unit/vector_test.cpp, deque_test.cpp, string_test.cpp: 1500 Removed unreachable code, reported by ICL 9.0. 1501 1502 * test/unit/mvctor_test.cpp: Removed variable declaration hiding 1503 previous one + made local functions static. 1504 1505 * stlport/stl/config/_msvc.h: Only use abbreviate symbols for 1506 MSVC compiler and not for all compilers defining _MSC_VER. Also 1507 removed some ICL specific configuration. 1508 1509 * src/lock_free_slist.h: Removed 'no return statement' warning 1510 for ICL too. 1511 1512 * src/message_facets.h: Made _Message_impl copy constructor and 1513 assignment operator private to avoid warning as _M_cat member 1514 data has private copy constructor and assignment operator too. 1515 1516 * stlport/stl/_cstdlib.h: Made additional definition of 1517 div(long, long) based on native library (_MSC_VER) rather than on 1518 compiler used (_STLP_MSVC). 1519 1520 * stlport/stl/config/_intel.h: Fix Intel C++ 9.0 compiler 1521 configuration with and without /Qvc6 option. 1522 1523 * src/dll_main.cpp: Add std::unexpected implementation that ICL 1524 need but that is not part of MSVC6 native lib library. 1525 1526 * test/unit/test_main.cpp: Add std::unexpected implementation that 1527 ICL need but that is not part of MSVC6 native lib library. 1528 15292006-04-30 Francois Dumont <dums@stlport...> 1530 1531 * stlport/stl/_alloc.h: Moved __type_traits specialization for 1532 std::allocator class before use in _STLP_alloc_proxy 1533 instanciation. 1534 1535 * test/unit/istmit_test.cpp: Fixed macro checks to correctly 1536 report ignored test. 1537 15382006-04-27 Francois Dumont <dums@stlport...> 1539 1540 * test/unit/full_streambuf.h, deque_test.cpp, vector_test.cpp: 1541 Add STLPORT macro check when checking _STLP_USE_EXCEPTION macro. 1542 1543 * test/unit/string_test.cpp: Fix some macro checks to correctly 1544 report ignored tests. 1545 1546 * test/unit/mvctor_test.cpp: Fix tests to build it with native 1547 MSVC 2005 Standard library. Looks like this implementation do 1548 not follow atmortized constant time vector::push_back complexity. 1549 1550 * stlport/stl/config/_msvc.h: Clearly report status regarding build 1551 of STLport using the MSVC /clr option. 1552 1553 * stlport/stl/_threads.h: Remove MSVC .Net 2002 annoying warning. 1554 15552006-04-26 Francois Dumont <dums@stlport...> 1556 1557 * src/ctype.cpp: Fix ctype::scan_is and scan_not method behavior as 1558 required by C++ Standard 22.2.1.1.2. 1559 1560 * test/unit/locale_test.cpp: Fix ctype facet test according 1561 modifications above. 1562 15632006-04-25 Francois Dumont <dums@stlport...> 1564 1565 * stlport/stl/_istream.c: Small refactoring to avoid a uninitialized 1566 warning for __do_handle_exceptions local variable. 1567 1568 * stlport/stl/_deque.h: Ditto with __cur_node variable in 1569 _M_range_initialize method. 1570 1571 * stlport/stl/_deque.c: Ditto with __cur in _M_fill_initialize. 1572 1573 * stlport/stl/config/_auto_link.h: Removed auto link feature when 1574 building a C translation unit thanks Michael Fink. 1575 1576 * src/time_facets.cpp: Add missing calling convention on 1577 __write_formatted_time internal function. 1578 15792006-04-24 Francois Dumont <dums@stlport...> 1580 1581 * test/unit/cppunit/cppunit_mini.h: Limit scope of try/catch block to 1582 the test case call so that CppUnit function methods are correctly 1583 called. 1584 1585 * test/unit/type_traits_test.cpp: Fix use of 1586 CPPUNIT_IGNORE/CPPUNIT_STOP_IGNORE macros so that ignored tests are 1587 correctly reported as ignored. 1588 15892006-04-20 Francois Dumont <dums@stlport...> 1590 1591 * stlport/stl/config/_solaris.h: Replace C++ style comment 1592 in C style. 1593 1594 * stlport/stl/_cmath.h: Add macro definition for environment 1595 having long double but no float neither long double math functions 1596 This is a Solaris configuration. 1597 1598 * src/acquire_release.h, c_locale.h, locale.cpp, 1599 locale_catalog.cpp, locale_impl.cpp, locale_impl.h, 1600 message_facets.h, facets_byname.cpp: Add a locale hint feature 1601 to improve locale construction from name. This is used by 1602 Win32 locale implementation that broadcast the locale lcid 1603 thanks to this hint. With this modification, LocaleTest fixture 1604 runs 5 times faster. 1605 1606 * stlport/stl/_collate.h, _ctype.h, _monetary.h, _numpunct.h, 1607 _time_facets.h: Add _Locale_extract_hint function as friend 1608 to some locale facet in order to access locale implementation 1609 specific structure and potentially extract the hint. 1610 1611 * stlport/stl/_codecvt.h, _collate.h, _ctype.h, _messages_facets.h, 1612 _monetary.h, _numpunct.h, _time_facets.h: Add _Locale_name_hint pointer 1613 parameter to facet by name constructor. 1614 1615 * build/Makefiles/nmake/lib/clean.mak, rules-so.mak, rules-install-so.mak: 1616 Based on Dr Dobb's Richard Grimes article, change management of 1617 manifest file for STLport shared library. According this article 1618 .manifest file is not taken into account for a library, only .exe one is. 1619 Solution is to integrate .manifest file into the .dll as an unmanaged 1620 ressource with id 2. We now do so thanks to the mt manifest tool. 1621 1622 * stlport/stl/_pair.h: Remove __move_traits partial specialization for 1623 Borland free compiler, it was introducing weird compilation error. 1624 1625 * stlport/stl/_move_construct_fwk.h: Add a helper struct for __move_traits 1626 feature. 1627 1628 * build/test/unit/msvc.mak: Prepare makefile to easily build unit tests 1629 without STLport. 1630 16312006-04-15 Francois Dumont <dums@stlport...> 1632 1633 * stlport/stl/config/host.h, compat.h, debug/_debug.c: Removed 1634 _STLP_NO_DEBUG_EXCEPTIONS configuration macro that is similar 1635 to the new _STLP_DEBUG_MODE_THROWS except that new thrown macro 1636 is catchable (std::runtime_error exception) and contained message 1637 is more explicit. 1638 1639 * stlport/stl/debug/_tree.h: Add find template method STLport 1640 extension to the debug version of binary tree thanks Mike Flamming. 1641 16422006-04-11 Francois Dumont <dums@stlport...> 1643 1644 * src/complex_io_w.cpp: Removed, content moved to src/complex_io.cpp 1645 to avoid build of an empty translation unit that can generate linker 1646 warning (noticed with MSVC 2005 express) 1647 1648 * build/lib/Makefile.inc: Updated before of above modification. 1649 1650 * test/unit: Ignore many tests rather than hide it depending on 1651 build configuration. 1652 1653 * test/unit/cppunit/file_reporter.h: Restored output existing before 1654 introduction of monitoring feature. 1655 16562006-04-10 Francois Dumont <dums@stlport...> 1657 1658 * test/unit/cppunit/cppunit_timer.h, test_main.cpp, file_reporter.h: 1659 Add -m option to activate monitoring of unit tests. This option add 1660 timing for each test and a global timing information. Timer class has 1661 been created for Win32 API. 1662 1663 * stlport/stl/_bitset.h: Hide STLport bitset extensions _Find_first 1664 and _Find_next. 1665 1666 * test/unit/bitset_test.cpp: Adapt tests to previous modification. 1667 1668 * stlport/stl/_string.h: Replace memory include with stl/_alloc.h 1669 to limit header dependencies. Also add include of stl/_uninitialized.h. 1670 1671 * test/unit/fstream_test.cpp: Add missing memory include. 1672 1673 * test/unit/locale_test.cpp: Ditto. 1674 1675 * stlport/stl/_queue.h, _string.h, _rope.h, debug/_tree.h: Replace 1676 stl/_function.h include with the smaller _function_base.h include. 1677 16782006-04-07 Francois Dumont <dums@stlport...> 1679 1680 * stlport/stl/_new.h: Fixed management of _STLP_NO_BAD_ALLOC 1681 and _STLP_NEW_DONT_THROW_BAD_ALLOC macros. 1682 1683 * stlport/stl/config/_dm.h: Change DMC configuration, use STLport 1684 own namespace rather than std so that STLport can check config. 1685 1686 * stlport/typeinfo.h: Fix DMC configuration now that it uses own 1687 STLport namespace. 1688 16892006-04-05 Francois Dumont <dums@stlport...> 1690 1691 * stlport/stl/_tree.h, _list.h: Fixed swap implementation to 1692 correctly swap allocators instance. Moreover list swap implementation 1693 was wrong since list splice has been modified to correctly handled 1694 allocators with state. 1695 1696 * test/unit/slist_test.cpp, list_test.cpp, set_test.cpp: Add tests for 1697 above fix. 1698 1699 * stlport/stl/_deque.h: Fix swap method as deque has 2 allocator 1700 instances, this should perhaps be modified one day to only keep 1... 1701 1702 * stlport/stl/_rope.h: Fix swap method and removed assertion for 1703 equivalent allocator instances even if there are still other assertions 1704 in the implementation. 1705 1706 * stlport/stl/_function_base.h: Add swap method for less functor if 1707 partial template workaround is activated. This is for surprising 1708 compilers supporting partial template specialization but no template 1709 function partial ordering. 1710 1711 * stlport/stl/_algobase.h: Add Borland workaround for swap function 1712 thanks Eric Sanford. 1713 1714 * test/unit/type_traits_test.cpp: Borland workaround for is_convertible 1715 function thanks Eric Sanford. 1716 1717 * stlport/stl/config/_bc.h: Borland compilers do not support template 1718 function partial ordering thanks Eric Sanford. 1719 1720 * test/unit/stack_allocator.h: Add Borland workaround to correctly 1721 call StackAllocator::swap method when swaping STL containers in 1722 allocator_with_state tests. 1723 1724 * test/unit/config_test.cpp: New test 1725 ConfigTest::template_function_partial_ordering. 1726 1727 * test/unit/slist_test.cpp, list_test.cpp, set_test.cpp: Add swap tests 1728 with empty containers. 1729 1730 * src/vc_warning_disable.h: Remove deprecated comments. 1731 1732 * stlport/stl/_pair.h: Removed Borland checks thanks Eric Sanford. 1733 1734 * Patch from Michael Fink to remove Windows CE support that is 1735 no more supported by Microsoft. 1736 1737 * stlport/stl/config/_native_headers.h: New, contains all macros 1738 relative to native headers access that used to be in features.h. 1739 1740 * stlport/stl/config/_evc.h, _como.h: Add include of _native_headers.h 1741 as those compilers need to include native headers for correct 1742 configuration. 1743 1744 * stlport/stl/config/features.h: Use _native_headers.h. 1745 1746 * test/unit/locale_test.cpp: Made LocaleTest::facet_id test STLport 1747 specific rather than Borland specific. Moreover, without STLport, test 1748 is ignored rather than hidden. 1749 1750 * stlport/stl/_num_put.h, _num_put.c: Removed useless export of 1751 num_put<char, char*>, num_put<wchar_t, wchar_t*> not required by 1752 the Standard. 1753 1754 * stlport/stl/_num_get.h, _num_get.c: Ditto for 1755 num_get<char, const char*>, num_get<wchar_t, const wchar_t*> 1756 1757 * stlport/stl/_moneytary.h, _moneytary.c: Ditto for 1758 money_get<char, const char*>, money_get<wchar_t, const wchar_t*>, 1759 money_put<char, char*>, money_put<wchar_t, wchar_t*> 1760 1761 * stlport/stl/_time_facets.h, _time_facets.c: Ditto for 1762 time_get<char, const char*>, time_get<wchar_t, const wchar_t*>, 1763 time_put<char, char*>, time_put<wchar_t, wchar_t*> 1764 1765 * src/locale_impl.cpp: Removed id initialization of useless facets 1766 no more exported. 1767 1768 * stlport/new, stl/_new.h: Moved all STLport code in _new.h and 1769 modified new header so that it forwards include to native new 1770 when include comes from inside STLport. 1771 1772 * cppunit/file_reporter.h, cppunit_mini.h: Change support of 1773 CPPUNIT_CHECK macro, only report error once for all failures 1774 in a single test case. 1775 17762006-03-28 Francois Dumont <dums@stlport...> 1777 1778 * stlport/stl/_prolog.h: Fix macro check before inclusion of 1779 features.h. 1780 1781 * stlport/stl/char_traits.h: Fixed include of cstddef, in STLport 1782 code, Standard headers should never be included directly, their 1783 stlport/stl/_xxx.h counterpart should be used. 1784 1785 * stlport/stl/type_traits.h, type_manip.h: Patch from Eric Sanford 1786 for Borland compiler to fix _OKToMemCpy feature. 1787 1788 * stlport/stl/_alloc.h: Replace swap function for _STLP_alloc_proxy 1789 by a member method, it is more portable. 1790 1791 * stlport/stl/_bvector.h, _deque.h, _list.h, _slist.h, _string_base.h 1792 _tree.h: Replaced called to std::swap for _STLP_alloc_proxy instances 1793 by calls to member swap method. 1794 1795 * test/unit/hash_test.cpp: Ignore test rather than hide it. 1796 1797 * test/unit/map_test.cpp: Fixed StackAllocator instanciation. 1798 1799 * test/unit/stack_allocator.h: Add std::swap overload for 1800 StackAllocator<pair<const int, int>>. 1801 1802 * test/unit/string_test.cpp: Ignore tests rather than hide it. 1803 1804 * test/unit/unordered_test.cpp: Ditto. 1805 18062006-03-27 Francois Dumont <dums@stlport...> 1807 1808 * stlport/stl/_stdexcept_base.h: New internal header with 1809 __Named_exception implementation, improve segregation between 1810 <locale> and <stdexcept> Standard headers. 1811 1812 * test/unit/locale_test.cpp: Add missing <stdexcept> header include. 1813 1814 * stlport/stl/_function_base.h, _function.h: Move as many functor as 1815 possible from _function_base.h to _function.h to improve 1816 segregation between <functional> and <algorithm> Standard headers. 1817 1818 * test/unit: Add many missing references to <functional> header. 1819 1820 * test/unit: Made unit tests available for build without STLport, this 1821 will be a good way to compare Standard library implementations. 1822 1823 * stlport/stl/_string_base.h: Remove additional space for terminating 1824 null character, it was actually already reserved in the return 1825 expression. 1826 1827 * stlport/stl/_string.h: Restored basic_string capacity implementation 1828 that do not depend on use of the short string optimization or not. It 1829 might be hiding a real issue somewhere else in code even if unit tests 1830 are not showing any problem. 1831 1832 * stlport/stl/_alloc.h: Add swap overload for _STLP_alloc_proxy class 1833 in order to correctly call swap on the maybe rebound allocator as user 1834 that implement an allocator with a state might have implement a 1835 special swap function for it to correctly handle STL containers swap 1836 operation. 1837 18382006-03-24 Francois Dumont <dums@stlport...> 1839 1840 * build/lib/configure.bat: Removed script for defining INCLUDE 1841 environment variable for Borland ressource compiler as it depends 1842 on where STLport is install. 1843 1844 * build/lib/bcc.mak: Add check for INCLUDE environment variable 1845 definition. 1846 1847 * test/unit/string_test.cpp: Change basic_string::reserve test to 1848 check length_error exception rather than bad_alloc. 1849 18502006-03-22 Petr Ovtchenkov <complement@users.sourceforge.net> 1851 1852 * stlport/stl/_string.c: a bit code clean 1853 1854 * stlport/stl/_string_base.h: max_size should keep space for 1855 allocation of terminating null. 1856 18572006-03-19 Francois Dumont <dums@stlport...> 1858 1859 * stlport/stl/_alloc.h, _function_base.h, type_manips.h, 1860 type_traits.h, test/unit/type_traits_test.cpp: Patch for 1861 Eric Sanford for __bool2type Borland use. 1862 1863 * build/Makefiles/gmake/lib/clean.mak: Patch from Eric Sanford 1864 to fix files generated by dbg-shared and stldbg-shared rules. 1865 1866 * build/Makefiles/gmake/lib/bcc.mak: Patch from Eric Sanford to 1867 increase Borland page size to 64. 1868 18692006-03-16 Francois Dumont <dums@stlport...> 1870 1871 * stlport/stl/config/_evc.h, _msvc.h: Add some condition for 1872 definition of _STLP_MSVC macro which should only be defined for 1873 real Microsoft compilers and not for compiler emulating it. 1874 1875 * src/allocators.cpp: Use _STLP_STATIC_MUTEX macro in place 1876 of _STLP_mutex_base for mutex definition in per_thread_allocator 1877 implementation. 1878 1879 * stlport/stl/_pthread_alloc.h: Modified deallocate methods of 1880 pthread_allocator and per_thread_allocator implementation to accept 1881 null pointers. 1882 18832006-03-15 Francois Dumont <dums@stlport...> 1884 1885 * stlport/stl/_string_base.h, _string.c: Force call to 1886 _M_allocate_block even in short string optim mode in order 1887 to detect lenght error. Based basic_string max size implementation 1888 on allocator max_size. 1889 18902006-03-15 Petr Ovtchenkov <complement@users.sourceforge.net> 1891 1892 * stlport/stl/config/_system.h, _msvc.h, _evc.h: move _STLP_MSVC 1893 definition in proper place. 1894 18952006-03-14 Francois Dumont <dums@stlport...> 1896 1897 * src/allocators.cpp: Fixed thread safety issue in 1898 per_thread_allocator implementation thanks a very old William 1899 Power report. 1900 1901 * test/unit/allocator_test.cpp: Attempt to write a test case for 1902 previous bug but not yet complete as I need a better debugging 1903 environment than gdb under cygwin... 1904 1905 * stlport/stl/config/_system.h: Patch from Michael Fink to add 1906 missing _STLP_MSVC define for evc++ compilers. 1907 19082006-03-13 Francois Dumont <dums@stlport...> 1909 1910 * stlport/stl/_alloc.h, src/allocators.cpp: Hide declaration of 1911 malloc based allocator handler in library. Also limit scope of 1912 declspec to expose static members rather than the whole class. 1913 1914 * stlport/stl/_cstdlib.h: For Borland compiler add include of 1915 native process.h header, for reason see comment next to include 1916 in file. 1917 1918 * stlport/stl/_alloc.h: Add a new STLport extension to the 1919 std::allocator class: allocate(size_type, size_type&). This new 1920 overload of allocate returns in an output parameter, the real 1921 size of the allocated buffer that can be larger than the requested 1922 one. _STLP_alloc_proxy expose this new overload only for the 1923 STLport allocator and not for user defined allocators. 1924 1925 * stlport/stl/_vector.h, _vector.c, _string.h, _string.c: Use of the 1926 allocate overload extension method to set end of storage reference 1927 to the real memory block end rather than to the requested one. 1928 1929 * stlport/stl/_alloc.c: Adapt __debug_alloc::allocate method in order 1930 to return the real allocated memory block. Also add check on computed 1931 __real_n to allocate as it might roll on size_t and hide a case that 1932 should result in a bad_alloc exception. 1933 1934 * stlport/stl/_threads.h, src/allocators.cpp: Add WINVER macro 1935 check in addition to _WIN32_VERSION, according PSDK documentation 1936 WINVER is more generaly used accross different Windows platforms. 1937 1938 * test/unit/string_test.cpp: Add constructor test case to correctly 1939 handle build of a string with string::max_size elements which should 1940 result in a bad_alloc exception. Idem for reserve method. 1941 1942 * stlport/stl/_alloc.h, src/allocators.cpp: Add check of malloc 1943 result in __malloc_alloc implementation to throw an exception when 1944 result is NULL. 1945 1946 * src/locale_impl.cpp: Patch from Eric Sanford for Borland BDS 2006 1947 support. Mostly fix locale facet index issues. 1948 19492006-02-28 Petr Ovtchenkov <complement@users.sourceforge.net> 1950 1951 * stlport/stl/_string.h: capacity may return wrong value in case 1952 of no _STLP_USE_SHORT_STRING_OPTIM in use; thanks Rusty Koonce 1953 for report. 1954 1955 * test/unit/string_test.cpp: test for capacity issue. 1956 1957 * src/cxa.c: don't use cxa workaround for FreeBSD 6.0---it fine; 1958 this is rollback of changes 2006-01-24 [bad compiler was in use]. 1959 19602006-02-15 Petr Ovtchenkov <complement@users.sourceforge.net> 1961 1962 * stlport/stl/_string.h: _STLP_FORCE_STRING_TERMINATION mode become 1963 default and only mode due to performance issue. 1964 1965 * stlport/stl/config/user_config.h: ditto. 1966 1967 * stlport/stl/config/features.h: ditto. 1968 19692006-02-14 Francois Dumont <dums@stlport...> 1970 1971 * stlport/stl/_hashtable.h, _hashtable.c: Add check in _STLP_DEBUG 1972 that equivalent key have same hash code. Fix _M_rehash method 1973 implementation that used to change elements order thanks Big Muscle 1974 effort to report this issue. 1975 1976 * build/lib/configure: Fix reference to STLport configuration file 1977 in --no-cygwin option description. 1978 19792006-02-13 Francois Dumont <dums@stlport...> 1980 1981 * stlport: Patch from Eric Sanford to remove many now useless 1982 Borland workaround. 1983 1984 * src/fstream.cpp: ditto 1985 1986 * stlport/stl/_monetary.h, _cwchar.h, _algobase.h: ditto 1987 19882006-02-10 Francois Dumont <dums@stlport...> 1989 1990 * stlport/stl/_iosfwd.h, _locale.h: Removed type attributes on type 1991 declaration, only useful on type definition. 1992 1993 * src/message_facets.h: Removed unused parameter in _Catalog_nl_catd_map 1994 erase method to avoid warning. 1995 1996 * src/num_put_float.cpp: Use more macro technique to avoid unused parameters 1997 in *_cvt functions. 1998 1999 * test/unit/cppunit/cppunit_mini.h: Comment unused parameter. 2000 2001 * test/unit/cppunit/file_reporter.h: Add base class initialization 2002 in FileReporter copy constructor definition. 2003 20042006-02-10 Petr Ovtchenkov <complement@users.sourceforge.net> 2005 2006 * src/num_put_float.cpp: remove usage of static buffers 2007 [potential vulnerabilities]; directly use __iostring instead. 2008 2009 * test/unit/floatio_test.cpp: test for fixed float output; 2010 cases when fixed float fail on Linux and Solaris, related 2011 with fcvt_r and fconvert calls respectivly commented. 2012 2013 * build/Makefiles/gmake/gcc.mak: workaround for bug in make 3.79.1 2014 on Solaris [not pass -D_STLP_DEBUG to CPPFLAGS]. 2015 2016 * stlport/stl/_string.h: rollback 2006-01-25. 2017 20182006-02-08 Francois Dumont <dums@stlport...> 2019 2020 * build/Makefiles: Removed all references to BUILD=r in parameters 2021 to ressource compiler in release as there is no more 'r' appended 2022 to the library name in this mode. 2023 2024 * src/stlport.rc: Fix support for Borland and add check for BUILD 2025 definition before injecting it in original library file name. 2026 2027 * doc/README.borland: Update doc to signal new prerequisite for 2028 Borland ressource compiler. 2029 2030 * test/unit/unordered_test.cpp: Add test for unordered_multiset 2031 equal_range method. 2032 2033 * test/unit/partial_test.cpp: Add test for strict weak ordering 2034 predicate good behavior check. 2035 20362006-02-07 Francois Dumont <dums@stlport...> 2037 2038 * src/allocators.cpp: New simplification for _Node_Alloc_Lock, 2039 it do not have to be a template class anymore. 2040 2041 * stlport/stl/debug/_debug.c: Implement 2042 __stl_debug_engine<_Dummy>::_Message even when specifying 2043 _STLP_DEBUG_MESSAGE in order to have explicit instanciation correctly 2044 generated. 2045 2046 * stlport/stl/_heap.c, _tree.c, _list.c, _slist.c: Add strict 2047 weak ordering checks. 2048 2049 * stlport/stl/_debug.h, _debug.c: Add new error type: bad equivalent 2050 functor that has to be used in hash container implementation or in 2051 algorithm like find. Check for this functor is: 2052 if (pred(a, b)) assert(pred(b, a) 2053 2054 * stlport/stl/_hashtable.c: Add equivalent functor checks. 2055 2056 * stlport/stl/_debug.h, _debug.c: Check _STLP_DEBUG_MODE_THROW in 2057 __debug_engine::_Message method. Now thrown exception will contain 2058 description of the assertion rather than a generic message. 2059 2060 * build/Makefiles/gmake/bcc.mak: Fix Borland ressource compiler name, 2061 brcc32 not brc32. 2062 2063 * stlport/stl/_range_errors.h, src/dll_main.cpp: Add 2064 __stl_throw_runtime_error function used to throw exception in 2065 _STLP_DEBUG_MODE_THROW. 2066 20672006-02-06 Francois Dumont <dums@stlport...> 2068 2069 * build/Makefiles/nmake: Fixed regression generated by a side 2070 effect of Uli patch below. 2071 20722006-02-02 Francois Dumont <dums@stlport...> 2073 2074 * stlport/config/_stl_evc.h, stl/_config.h: Patch from Ulrich 2075 Eckhardt to signal endianess detection problem and set EVC 2076 endianess for MIPS SDK. 2077 2078 * src/allocators.cpp: Clean up _Node_Alloc_Lock definition, only 2079 specialization are now available for thread safe and not thread 2080 safe builds. Make easier definition of internal static mutex. 2081 2082 * stlport/float.h: Patch from Eric Sanford for Borland NaN management 2083 2084 * stlport/cfloat: Include STLport float.h rather than native one in 2085 order to use potential internal workaround. 2086 2087 * stlport/stl/config/_ibm.h: Replace all C++ comment by C comments. 2088 2089 * stlport/errno.h: For Borland, when building for a single threaded 2090 contex, errno is not a macro and is defined in std namespace so using 2091 have to get the symbol in this namespace. 2092 20932006-01-31 Francois Dumont <dums@stlport...> 2094 2095 * src/allocators.cpp: Reinforce move of allocators implementation 2096 2097 * stlport/stl/_alloc.h: Removed include of internal _thread.h no 2098 more necessary now that allocator implementation is in allocators.cpp. 2099 2100 * stlport/stl/_pthread_alloc.h: Removed pthread.h include. 2101 2102 * stlport/stl/_rope.h: Adopt classic macro check before inclusion 2103 of _threads.h. 2104 2105 * build/Makefiles/gmake/gcc.mak: Add -fno-inline option for debug 2106 builds. 2107 2108 * stlport/stl/_threads.h: Remove lock free singly linked list, avoid 2109 include of windows.h when using Win32 API lock free slist 2110 implementation. 2111 2112 * src/lock_free_slist.h: New place for the lock free singly linked 2113 list implementation. 2114 2115 * test/unit/mvctor_test.cpp, type_traits_test.cpp: Small workaround 2116 for gcc 4.0.1 build, looks like there is a conflict between glibc++ 2117 __true_type and STLport one. 2118 21192006-01-30 Francois Dumont <dums@stlport...> 2120 2121 * Patch from Ulrich Eckhardt for EVC4 ICE + some documentation 2122 updates and fixes. 2123 21242006-01-29 Francois Dumont <dums@stlport...> 2125 2126 * stlport/stl/_hashtable.h, _limits.h: Add missing calling 2127 convention to static methods thanks Petr Supina 2128 21292006-01-28 Francois Dumont <dums@stlport...> 2130 2131 * stlport/stl/debug/_iterator.h: Fix Hp Acc configuration thanks 2132 Boris Gubenko. 2133 21342006-01-27 Francois Dumont <dums@stlport...> 2135 2136 * stlport/stl/_alloc.h, _old_alloc.h, _pthread_alloc.h, 2137 test/unit/rope_test.cpp: Fixed reference to _STLP_NO_IOSTREAMS, 2138 replaced by _STLP_USE_NO_IOSTREAMS. 2139 2140 * stlport/stl/_alloc.h: Move _MAX_BYTES definition out of 2141 _STLP_USE_NO_IOSTREAMS check scope as it is also used in deque 2142 implementation. 2143 2144 * stlport/stl/_algo.c, debug/_debug.h, _debug.c: Add check for 2145 bad predicate in safe STL mode (_STLP_DEBUG). 2146 2147 * test/unit/sort_test.cpp: Add test for correct invalid strict weak 2148 ordering predicate detection. Active only when STL safe mode throws 2149 exception rather than terminating application. 2150 2151 * test/unit/sort_test.cpp: Add a check that stable_sort is really 2152 stable. 2153 21542006-01-26 Francois Dumont <dums@stlport...> 2155 2156 * stlport/stl/_alloc.h, _alloc.c, _pthread_alloc.h: Many code moved 2157 to allocators.cpp. 2158 2159 * stlport/stl/_pthread_alloc.c: Removed, content moved to 2160 allocators.cpp. 2161 2162 * src/allocators.cpp: New, contains STLport node and per thread 2163 allocator implementation. 2164 2165 * src/dll_main.cpp: Remove references to former __node_alloc 2166 class. 2167 2168 * build/lib/Makefile.inc: Add allocators.cpp translation unit. 2169 2170 * stlport/stl/_alloc_old.h: Modified based on allocator classes new 2171 interface. 2172 2173 * stlport/stl/config/feature.h: Default allocator in _STLP_NO_IOSTREAMS 2174 mode is now the new/delete allocator, user can still use malloc/free 2175 one using config swtich in host.h. 2176 2177 * stlport/stl/config/_gcc.h: Cygwin/MinGW can now use default node 2178 allocator implementation without memory leak. 2179 21802006-01-25 Francois Dumont <dums@stlport...> 2181 2182 * test/unit/stream_test.cpp: Add check for ptrdiff_t output 2183 in streams operator when 64 bits portability issue detection 2184 feature is activated with MSVC compilers. 2185 21862006-01-25 Eric Sanford <...@comp...> 2187 2188 * stlport/stl/_exception.h: Delete obsolete workaround for 2189 legacy Borland compilers. 2190 2191 * stlport/stl/_string.h: Use an other implementation for the 2192 const_reference operator[](size_type _n) const 2193 2194 * stlport/stl/config/_bc.h: Restore unexpected exception handler 2195 (static and dynamic) and uncaught_exception handler (static only) 2196 2197 * build/Makefiles/gmake/lib/bcc.mak: Typo fix in linker flags. 2198 21992006-01-24 Petr Ovtchenkov <complement@users.sourceforge.net> 2200 2201 * test/unit/bind_test.cpp: add test for member function 2202 binding that show workaround for const function call. 2203 2204 * src/cxa.c: __cxa_finalize and __cxa_atexit present in libc 2205 in FreeBSD 5.3, but again absent in 6.0 2206 2207 * build/Makefiles/gmake/app/gcc.mak, 2208 build/Makefiles/gmake/lib/gcc.mak: detect whether gcc 2209 was builded with --disable-shared and use correct libgcc. 2210 2211 * build/lib/configure: add --use-static-gcc option to show 2212 that STLport should use static language support libraries from 2213 gcc if it was build with --enable-shared. 2214 22152006-01-23 Francois Dumont <dums@stlport...> 2216 2217 * build/Makefiles/gmake/app/clean.mak: Fix distclean rule for 2218 windows thanks Eric Sanford. 2219 2220 * stlport/stl/_cstddef.h, _cstdlib.h: When no new header support, 2221 include STLport C header rather than native one to use errno 2222 workaround. 2223 2224 * stlport/stddef.h: DMC also define errno in native stddef.h file. 2225 22262006-01-22 Francois Dumont <dums@stlport...> 2227 2228 * src/locale_impl.cpp, stlport/stl/_codecvt.h, _monetary.c, 2229 _num_get.c, _num_put.c, _time_facets.c: Borland workaround for 2230 locale facet id instanciation that were duplicated. Now static 2231 instances are no more defined from .c files but only from the 2232 .cpp and only for facets that are implemented by STLport. Users 2233 implementing facet inheriting from the STLport one will have to 2234 defined the static instance themself in their translation units. 2235 2236 * stlport/stl/type_manips.h: Fixed _UnCVType wrong implementation 2237 reported by Digital Mars compiler. 2238 2239 * stlport/stl/boost_type_traits.h: Fixed _OKMemCpy implementation 2240 remove_pointer call was wrong. 2241 2242 * src/dll_main.cpp: Hide force_link definition to MSVC compilers, 2243 was useless and producing a warning. 2244 2245 * build/Makefiles/gmake/cygming/rules-so.mak: Workaround for DMC 2246 linker weird behavior. Linker create the dll file even if link 2247 fail which confuse make dependency feature. As lib file is not 2248 generated, dll now depends on lib that depends on build files. 2249 2250 * stlport/stl/config/_warning_off.h: Disabled this used in initialization 2251 list warning, used in rope implementation. 2252 2253 * build/lib/configure: Fix --with-boost interpretation. 2254 2255 * build/Makefiles/gmake/dmc.mak: Use dm_link command for linker rather 2256 than link that is rather the MSVC like wrapper. 2257 2258 * build/Makefiles/gmake/cygming/targetsys.mak: Ditto for dm_lib rather 2259 than lib command. 2260 2261 * build/Makefiles/gmake/app/rules.mak: Use same linker command invocation 2262 for DMC and Borland. 2263 2264 * doc/README.borland: Documentation update about limitation on locale 2265 facets id instanciation. 2266 2267 * stlport/stdlib.h: DMC, like Borland and EVC, defines errno macro 2268 in stdlib.h 2269 2270 * stlport/stl/config/user_config.h, features.h: Inverse 2271 _STLP_FORCE_STRING_TERMINATION macro switch in 2272 _STLP_DONT_FORCE_STRING_TERMINATION. This is less dangerous for 2273 existing code. 2274 2275 * stlport/stl/_string.h: When _STLP_FORCE_STRING_TERMINATION 2276 is defined operator[] implementation is simpler. 2277 2278 * stlport/stl/debug/_string.h: Based implementation of [] 2279 operator on the non STL safe internal instance, avoid duplication 2280 of check for access to the element of index size(). 2281 2282 * test/unit/fstream_test.cpp: Add custom facet id definition for 2283 Borland. 2284 2285 * test/unit/hash_test.cpp: Now Borland support correctly hash container 2286 implementation. 2287 2288 * test/unit/rope_test.cpp: Fixed test implementation to build in 2289 _STLP_NO_IOSTREAMS mode. 2290 22912006-01-18 Francois Dumont <dums@stlport...> 2292 2293 * stlport/stl/_ostream.h, _ostream.c: Use size_t rather than 2294 unsigned int for MSVC compilers after VC6 in IO output operator 2295 to avoid 64 bits warning when trying to display a size_t type. 2296 2297 * test/unit/sstream_test.cpp: Add test that reveal the 64 bits 2298 warning. 2299 2300 * test/unit/string_test.cpp: Fixed unused variable warning. 2301 23022006-01-17 Petr Ovtchenkov <complement@users.sourceforge.net> 2303 2304 * src/c_locale_glibc/c_locale_glibc2.c: really implemented 2305 getting default locale categories from environment; replace 2306 a few strcpy by strncpy to protect from possible buffer overflow 2307 attack. 2308 2309 * stlport/new.h, stlport/stl/_typeinfo.h: few workarounds for ICC 9 2310 [suggested by Lim Hwan Cheol]. 2311 23122006-01-14 Eric Sanford <...@comp...> 2313 2314 * build/test/eh/bcc.mak: Copied from build/test/unit/bcc.mak. 2315 2316 * stlport/stl/_rope.c: Restore Borland support for _Rope_rotate. 2317 2318 * stlport/stl/_rope.h: Fix Borland 5.5.1 internal compiler errors 2319 in _M_path_end and _M_tmp_buf structs. Restore Borland support for 2320 _Rope_rotate. 2321 2322 * test/eh/test_rope.cpp: Restore Borland exception test for rope. 2323 2324 * test/unit/rope_test.cpp: Restore Borland unit test for rope. 2325 23262006-01-13 Petr Ovtchenkov <complement@users.sourceforge.net> 2327 2328 * stlport/stl/_string.h, stlport/stl/debug/_string.h: 2329 const operator [n] should return CharT() in case of 2330 n == size(), ISO/IEC 14882:2003(E), 21.3.4; thanks Russ Miller. 2331 2332 * test/unit/string_test.cpp: test for fixed bug above. 2333 2334 * build/lib/configure: change --use-boost= onto --with-boost= 2335 23362006-01-13 Francois Dumont <dums@stlport...> 2337 2338 * test/unit/type_traits_test.cpp: Add boost specialization for 2339 any_pod_type in order to reproduce STLport behavior when using 2340 boost type traits. 2341 2342 * src/dll_main.cpp: Remove now invalid template explicit 2343 instanciation of _Bs_G that is no more a template. 2344 2345 * stlport/stl/config/_detect_dll_or_lib.h: When no iostreams mode, 2346 consider that we are in a static lib mode. 2347 2348 * stlport/stl/_limits.c, _hashtable.c: Add _STLP_CALL specification 2349 to _LimG and _Stl_prime methods implementation. 2350 2351 * stlport/stl/_limits.c: Put _Stl_prime methods implementation in 2352 a _STLP_EXPOSE_GLOBALS_IMPLEMENTATION macro check block. Those 2353 methods are supposed to come from libs when using iostreams. 2354 2355 * stlport/stl/_num_put.h, _num_get.h, _time_facets.h, _ios.h, 2356 _ios_base.h: Cleanup Borland workaround now useless. 2357 2358 * stlport/stl/boost_type_traits.h: Fixed _OKToMemCpy implementation 2359 using boost type traits to be closer to the STLport behavior. 2360 2361 * build/lib/configure.bat: Fixed reference to STLport user 2362 configuration file. 2363 2364 * build/lib/configure: Add --use-boost option to inject boost 2365 path during build process. 2366 23672006-01-12 Petr Ovtchenkov <complement@users.sourceforge.net> 2368 2369 * stlport/stl/_rope.h, stlport/stl/_rope.c: pass CharConsumer 2370 via reference, to take into account CharConsumer modifications. 2371 This has relation to find(char) in rope. Thanks Cristian Vlasceanu. 2372 2373 * test/unit/rope_test.cpp: test for fixed bug above. 2374 23752006-01-11 Francois Dumont <dums@stlport...> 2376 2377 * src/bitset.cpp: Add stlport_prefix.h include. 2378 2379 * stlport/stl/_bitset.h: Add an inline implementation for _S_count 2380 and _S_first_one static methods for _STLP_NO_IOSTREAMS mode. Should 2381 be slower than version coming with library but avoid link trouble. 2382 23832006-01-11 Petr Ovtchenkov <complement@users.sourceforge.net> 2384 2385 * stlport/stl/_bitset.h, stlport/stl/_bitset.c, src/bitset.cpp: 2386 make helper structure _Bs_G non-template [it used only as instance 2387 with unused bool argument only], and put static tables into library 2388 to avoid possible static instances duplication. 2389 2390 * build/lib/Makefile.inc: idem. 2391 23922006-01-10 Francois Dumont <dums@stlport...> 2393 2394 * stlport/stl/type_traits.h, config/_msvc.h, _mwerks.h: Integrate 2395 intrinsic type traits support for Visual 2005 and Metrowerk. Code 2396 based on boost library information and not tested for Metrowerk. 2397 2398 * test/unit/bind_test.cpp: Fix BindTest::bind2nd3 test case, had 2399 never been used. 2400 2401 * stlport/stl/boost_type_traits.h: Change boost type traits wrapping 2402 implementation to use meta programming operation on types rather 2403 than on numerical constant, MSVC6 prefer it. 2404 2405 * build/test/unit/msvc.mak: Systematically add /Zm800 for MSVC 2406 compilers, useful in a number of case and transparent in others. 2407 2408 * test/unit/type_traits_test.cpp: Add is_POD test case. Add dummy 2409 constructors, assignment operator and destructor to any_type struct 2410 to make the tests pass even with compilers having intrinsic type 2411 traits support. 2412 24132006-01-09 Francois Dumont <dums@stlport...> 2414 2415 * stlport/stl/debug: Fix move constructor to keep the container 2416 move constructor complete. When STLport user do no require no 2417 extension or Standard debug safe mode, iterators are also move 2418 with the container contents. 2419 2420 * stlport/stl/_list.h, _slist.h, _tree.h: Made iterator struct 2421 constructor from base class pointer explicit to forbid expression 2422 like: list.begin() == 0. 2423 2424 * stlport/stl/pointers/_slist.h, _list.h, _set.h: Fix implementation 2425 that was using former implicit contructor from pointer to base class. 2426 2427 * src/c_locale_win32/c_locale_win32.c: Fix implementation for 2428 compilers coming with a native lib implementing secure C functions 2429 like strncpy_s. 2430 2431 * src/iostream.cpp: Hide I/O streams declaration when defining 2432 them when compiler has no support for removing I/O streams 2433 from static global variable initialization segment. Avoid the 2434 stdio_istreambuf using directive when we do not use STLport 2435 private namespace. 2436 2437 * stlport/stl/_rope.h, _rope.c: Use internal, not _STLP_NO_EXTENSIONS 2438 dependant functions for implementation. 2439 2440 * stlport/rope, hash_map, hash_set: Add _STLP_NO_EXTENSIONS check 2441 that generate a #error if defined as those headers are STLport 2442 extensions. 2443 2444 * stlport/_uninitialized.h: Add __uninitialized_copy_n no dependant 2445 against _STLP_NO_EXTENSIONS for rope implementation. 2446 2447 * test/unit: Made tests ok to build even when _STLP_NO_EXTENSIONS or 2448 _STLP_NO_ANACHONISM or _STLP_NO_CUSTOM_IO is defined. 2449 2450 * stlport/stl/_num_put.h, _num_get.h: Fix definition scope of 2451 _STLP_MOVE_TO_STD_NAMESPACE that was wrong when _STLP_NO_CUSTOM_IO 2452 is defined. 2453 2454 * stlport/stl/boost_type_traits.h: Fixed _IsRef implementation based 2455 on boost type traits feature. 2456 2457 * build/nmake/extern.mak, lib/msvc.mak, test/unit/msvc.mak, 2458 test/eh/msvc.mak: Moved injection of boost include path for all targets 2459 in extern.mak. Also removed a useless double quote as make variable already 2460 contains it. 2461 2462 * stlport/stl/config/_bc.h, test/unit/floatio_test.cpp, cmath_test.cpp, 2463 limit_test.cpp: Borland patch from Eric Sanford. 2464 2465 * test/unit/string_test.cpp: Add template_wexpression test to check 2466 wstring template expression. 2467 24682006-01-05 Francois Dumont <dums@stlport...> 2469 2470 * stlport/stl/_stdexcept.h: Fix __Named_exception destructor 2471 implementation when _STLP_NO_IOSTREAMS is defined or when 2472 securized C function strcpy_s exists. 2473 2474 * stlport/stl/pointers/_set.h: Fixed implementation as _Identity 2475 is now in private namespace and const_reverse_* functions must 2476 return const_reverse_* iterators and not simply reverse_*. 2477 2478 * test/unit/bcompos_test.cpp, bind_test.cpp: Made the tests usable 2479 when _STLP_NO_EXTENSIONS is defined. 2480 2481 * build/lib/configure.bat: Fix name of msvc8 compiler. 2482 2483 * test/unit/mfunptr_test.cpp: Ignore find test when no class 2484 partial template specialization rather than commenting it. 2485 2486 * test/unit/type_traits_test.cpp: Ditto for reference_type test. 2487 2488 * build/Makefiles/nmake/top.mak: Fixed install-shared definition. 2489 2490 * build/Makefiles/gmake/gcc.mak: Add _STLP_USE_STATIC_LIB when 2491 building and using STLport static lib under MinGW/Cygwin. 2492 24932006-01-04 Francois Dumont <dums@stlport...> 2494 2495 * src/acquire_release.h: New file, expose __acquire_* 2496 functions used in different translation unit. 2497 2498 * src/num_put.h: Removed, content moved to num_put.cpp that 2499 was the only translation unit using exposed functions. 2500 2501 * src/*: Build with Intel C++ 9 compiler reveal that many 2502 static specification was missing. 2503 2504 * src/ctype.cpp: Filter out _WCharIndexT specialization for 2505 Intel compiler that consider wchar_t as unsigned, fixed a 2506 warning. 2507 2508 * _STLP_STATIC_ASSERT is now called without trailing ';' that 2509 is already in the macro definition. 2510 2511 * src/*: Removed reference to _SgI namespace replaced by the 2512 STLport private namespace. 2513 2514 * src/iostream.cpp: Add iostream include to expose cout, cin, cerr 2515 definition to declaration. 2516 25172006-01-03 Francois Dumont <dums@stlport...> 2518 2519 * stlport/stl/config/_gcc.h: Force use of new/delete based 2520 allocator under Cygwin/MinGW, default node allocator has 2521 problem because __node_allocator static datas are sometimes 2522 duplicated in a dll context. 2523 25242006-01-01 Francois Dumont <dums@stlport...> 2525 2526 * build/Makefiles/gmake/lib/gcc.mak, stlport/stl/config/_gcc.h: 2527 Change way of building dll with Cygwin/MinGW. No more export of 2528 all symbols, we use dllexport specification, makes import lib 2529 really shorter and dll too. Moreover use of the 2530 enable-auto-image-base linker option to make load of dll faster. 2531 2532 * stlport/stl/_time_facets.c, _num_put.c, _num_get.c, _monetary.c, 2533 debug/_debug.c: Adapt existing Cygwin/MinGW workaround for new 2534 way of generating dlls. 2535 25362005-12-31 Francois Dumont <dums@stlport...> 2537 2538 * doc: Add Borland doc and update cygwin, mingw and msvc. 2539 2540 * build/lib/README.options: Removed, replaced by configrure 2541 script. 2542 2543 * build/test/eh/bcc.mak: Added to build EH tests for Borland. 2544 25452005-12-29 Francois Dumont <dums@stlport...> 2546 2547 * src/c_locale_win32/c_locale_win32.c: Hide _Locale_mbtowc and 2548 _Locale_wctomb when no wchar_t support is detected thanks Eric 2549 Sanford. 2550 2551 * src/c_locale_win32/c_locale_win32.c: Add mapping from Borland 2552 facet macros to STLport associated string representation array index 2553 thanks Eric Sanford. 2554 2555 * stlport/stl/config/_evc.h: Patch from Michael Fink to generalized 2556 use of OutputDebugString for Windows CE when we need to trace 2557 information. 2558 2559 * build/Makefiles/gmake/bcc.mak, lib/bcc.mak, app/bcc.mak: Fix 2560 definition of START_OBJ thanks armpit33 2561 2562 * build/Makefiles/*: Generalize use of install-shared rather than 2563 list of all shared rules, idem for install-static. 2564 25652005-12-27 Francois Dumont <dums@stlport...> 2566 2567 * stlport/stl/_string_io.c: Generalized use of _STLP_STATIC_ASSERT 2568 macro rather that hand writen static assertion. 2569 2570 * stlport/stl/_fstream.c, _istream.c, src/fstream.cpp, strstream.cpp: 2571 Add some cast to avoid Borland suspicious pointer arithmetic warnings 2572 thanks Eric Sanford. 2573 2574 * stlport/stl/_limits.c: Fix Borland definition of NaNs and infinity 2575 for long double thanks Eric Sanford. 2576 2577 * stlport/stl/config/_system.h, _gcc.h: Fix config for Windows, MinGW 2578 and Cygwin platforms. 2579 2580 * stlport/stl/config/_windows.h: Can now be included by a pure C 2581 compiler. 2582 2583 * stlport/stl/config/_warning_off.h: Removed suspicious pointer 2584 arithmetic warning for Borland thanks Eric Sanford. 2585 2586 * stlport/stl/_construct.h: Removed now useless Borland workaround. 2587 2588 * src/stdio_streambuf.cpp: Ditto. 2589 2590 * stlport/stl/_alloc.h: Now allocator is tagged as an STLport class 2591 even without partial template specialization support. This is 2592 necessary because type_traits is specialized for allocator<char>, 2593 allocator<wchar_t> and allocator<void*> when partial template 2594 specialization is not available. 2595 2596 * test/unit/bitset_test.cpp: Add tests for the STLport 2597 bitset::_Find_first extension. 2598 25992005-12-27 Petr Ovtchenkov <complement@users.sourceforge.net> 2600 2601 * src/initial_mak: obsolete makes removed (sync with STLPORT_5_0 2602 branch). 2603 26042005-12-24 Petr Ovtchenkov <complement@users.sourceforge.net> 2605 2606 * stlport/stl/config/_gcc.h: gcc, builded by Apple is differ 2607 in behavior from original; in particular, in path to includes; 2608 2609 * build/Makefiles/gmake/app/gcc.mak: fix gcc options on MacOS X; 2610 STLport is free from libstdc++ on MacOS now; 2611 2612 * build/Makefiles/gmake/gcc.mak: fix gcc options on MacOS X; gcc, 2613 builded by Apple is differ in behavior from original; 2614 detect this; 2615 2616 * build/Makefiles/gmake/lib/gcc.mak: fix gcc on MacOS X; 2617 differentiate gcc from Apple and original; 2618 STLport is free from libstdc++ on MacOS X now; 2619 2620 * build/Makefiles/gmake/darwin/rules-so.mak: use 2621 gcc instead of c++ for linkage, if only C sources present. 2622 2623 * build/lib/gcc.mak, build/test/unit/gcc.mak: remove duplication 2624 of stlport includes. 2625 26262005-12-22 Petr Ovtchenkov <complement@users.sourceforge.net> 2627 2628 * stlport/stl/config/_windows.h: all system specific configuration 2629 in one place [moved from stlport/stl/_windows.h] 2630 2631 * stlport/stl/_windows.h: deleted; all system specific configuration 2632 in one place [moved to stlport/stl/config/_windows.h] 2633 2634 * stlport/stl/debug/_debug.c, stlport/stl/_threads.h: 2635 _windows.h included via _prolog.h [i.e. via stl/config/_system.h], 2636 see changes above. 2637 2638 * stlport/stl/config/_sunprocc.h: remove include of _solaris.h---it 2639 already included from _system.h 2640 2641 * stlport/stl/config/_kai.h: remove include of os configuration files, 2642 it should be included from _system.h 2643 2644 * stlport/stl/config/_intel.h: fix path after config headers 2645 reorganization. 2646 2647 * stlport/stl/config/_evc.h: idem 2648 2649 * stlport/stl/_exception.h: idem 2650 2651 * stlport/stl/config/_prolog.h: idem 2652 2653 * test/unit/fstream_header_test.cpp: idem 2654 2655 * test/unit/iomanip_header_test.cpp: idem 2656 2657 * test/unit/ios_header_test.cpp: idem 2658 2659 * test/unit/iostream_header_test.cpp: idem 2660 2661 * test/unit/istream_header_test.cpp: ditto 2662 2663 * test/unit/locale_header_test.cpp: idem 2664 2665 * test/unit/ostream_header_test.cpp: idem 2666 2667 * test/unit/sstream_header_test.cpp: idem 2668 2669 * test/unit/strstream_header_test.cpp: idem 2670 26712005-12-21 Francois Dumont <dums@stlport...> 2672 2673 * stlport/stl/debug/_debug.h, _debug.c, _string_sum_methods.h: 2674 Removed some unused parameters reported by Borland compiler. 2675 2676 * stlport/stl/config/_warnings_off.h: Disable unused parameters 2677 warning for Borland compiler. 2678 2679 * build/Makefiles/gmake/targetdirs.mak: Change config in order to 2680 have each generated application in a different bin folder. 2681 2682 * stlport/stl/_threads.h: Used _STLP_STATIC_ASSERT macro for a 2683 static assertion. 2684 26852005-12-19 Petr Ovtchenkov <complement@users.sourceforge.net> 2686 2687 * build/Makefiles/gmake/lib/gcc.mak: move LDSEARCH flags after 2688 possible -nostdlib 2689 2690 * build/lib/gcc.mak: don't add include path, it already included. 2691 2692 * src/c_locale.h: include stlport_prefix.h to add STLport's 2693 definitions that used below. 2694 2695 * stlport/stl_user_config.h, stlport/stl/_config.h: moved 2696 to stlport/stl/config catalog and renamed. 2697 2698 * stlport/stl/_config_compat.h, stlport/stl/_site_config.h: ditto. 2699 2700 * stlport/config: headers moved to stlport/stl/config catalog, 2701 renamed and reorganized. 2702 2703 * stlport/stl/_prolog.h, stlport/stl/_epilog.h, src/stlport_prefix.h: 2704 reflect changes in configuration files. 2705 27062005-12-17 Francois Dumont <dums@stlport...> 2707 2708 * stlport/stl/_config.h: Removed ';' in _STLP_STATIC_ASSERT 2709 definition. 2710 2711 * stlport/stl/_cwctype.h: Fix native namespace of wide char functions 2712 for MinGW runtime <= 3.0. Also fix a typo for FreeBDS. 2713 2714 * src/stdio_streambuf.cpp: Add missing 'defined' when checking 2715 __OS400__ macro existance. 2716 2717 * test/unit/resolve_name.cpp, set_test.cpp: Removed useless ';' 2718 reported by remarks from Intel C++ compiler. 2719 27202005-12-16 Francois Dumont <dums@stlport...> 2721 2722 * stlport/stl/_rope.h: Moved overload of __identity_element for 2723 _Rope_Concat_fn in STLport private namespace where orginal function 2724 declaration is. Also moved _Rope_Concat_fn at the same time, much more 2725 many elements of _rope.h should be moved to this namespace... 2726 2727 * stlport/stl/_monetary.c: Change implementation of __money_do_put for 2728 Borland compiler, looks like this compiler do not like ternary operator. 2729 2730 * src/c_locale_win32/c_locale_win32.c: Replace check of category in 2731 __Extract_locale_name from > LC_ALL by != LC_ALL, there is no reason 2732 for LC_ALL to be upper or lower to all other categories. 2733 2734 * build/Makefiles/gmake/cygming/rules-so.mak: Segregate different 2735 compilers linker calls and add reference to START_OBJ in Borland 2736 linker invocation. 2737 2738 * build/Makefiles/gmake/lib/rules-a.mak, cygming/targetsys.mak: Borland 2739 archiver add option is now '+', before being invocated archive is always 2740 deleted to avoid warnings because the Borland archiver do not have a 2741 real add or replace module option. 2742 2743 * stlport/stl/type_traits.h: Fix for compiler simulating partial 2744 template specialization (VC6) 2745 2746 * test/eh/test_rope.cpp: Removed rope test for Borland. 2747 2748 * test/unit/exception_test.cpp: Commented tests are now ignored. 2749 2750 * test/unit/locale_test.cpp, string_test.cpp: No more ignored test 2751 for Borland. 2752 27532005-12-14 Petr Ovtchenkov <complement@users.sourceforge.net> 2754 2755 * build/Makefiles/gmake/sysid.mak: parse two-token target 2756 system identification string along with three-token one 2757 [useful when vendor is omitted]; thanks Jonathan Sprinkle. 2758 2759 * stlport/cwctype, stlport/stl/_cwctype.h: wctype_t and 2760 others are in global namespace on FreeBSD. 2761 2762 * build/Makefiles/gmake/app/gcc.mak, lib/gcc.mak: use build 2763 with -nostdlib on Solaris. 2764 2765 * src/cxa.c: fix for Solaris 2766 2767 * stlport/config/stl_solaris.h, stlport/stl/_cmath.h: 2768 hmm, strange... sometimes MATH_L and MATH_F present on Solaris, 2769 sometimes not... 2770 27712005-12-14 Francois Dumont <dums@stlport...> 2772 2773 * test/unit/cppunit/cppunit_mini.h, file_reporter.h: Add ignore 2774 test feature, now tests should be ignored rather than commented. 2775 2 new macros for that CPPUNIT_IGNORE to add in tests declaration, 2776 all test following this macro won't be run; CPPUNIT_STOP_IGNORE 2777 optional macro to stop ignoring tests. 2778 2779 * test/unit/fstream_test.cpp: Ignore custom_facet test when not 2780 supported rather than comment it. 2781 2782 * test/unit/hash_test.cpp: Ignore hmap1 test for Borland and Digital 2783 Mars compilers, looks like rope class is too complicated for those 2784 compilers. 2785 2786 * test/unit/locale_test.cpp: Ignore locale_by_name test for compiler 2787 without exceptions support. Ignore money facet tests for Borland. 2788 2789 * test/unit/mvctor_test.cpp, rope_test.cpp: Some tests ignored 2790 depending on various configuration settings. 2791 2792 * test/unit/type_traits.cpp: Add test for _IsSTLportClass metaprogramming 2793 tool. Ignored for Borland. 2794 2795 * test/unit/unordered_test.cpp: Fix test for Digital Mars, unordered 2796 containers value_type are not necessarily with an immutable key, it is 2797 more portable to use value type rather than redefining it in the test. 2798 2799 * test/unit/string_test.cpp: Removed Windows CE macro check replaced 2800 by WaitForMultipleObjects returned code check, more portable and 2801 maintenable. Ignore a test for Digital Mars compiler. 2802 2803 * stlport/stl/type_manips.h, type_traits.h: Simplified metaprograming 2804 tools implementation; now avoid compilation constant replaced by 2805 type, Borland compiler has problem with constants. 2806 2807 * stlport/config/stl_bc.h: Made supported compiler check more accurate 2808 free compiler is 5.5.1 so it is the oldest supported version. Borland 2809 compiler do not support IEC559 specifications. 2810 2811 * build/Makefiles/gmake/bcc.mak: Put startup .obj to link with in 2812 START_OBJ rather than LDLIBS, thanks Eric Sanford. 2813 2814 * src/c_locale_win32/c_locale_win32.c: Temporarily removed category 2815 check in __Extract_locale_name function for Borland, looks like LC_ALL 2816 or LC_MAX has not the right value. 2817 28182005-12-13 Francois Dumont <dums@stlport...> 2819 2820 * src/cxa.c: Add include of stlport_prefix.h first, this file 2821 should be always included first in STLport translation units, 2822 it prepares some compilers config and define important for Wins 2823 __BUILDING_STLPORT macro. 2824 28252005-12-13 Petr Ovtchenkov <complement@users.sourceforge.net> 2826 2827 * build/Makefiles/gmake/targetdirs.mak: built-in 2828 test in /bin/sh on Solaris has no -e, use external instead. 2829 28302005-12-11 Francois Dumont <dums@stlport...> 2831 2832 * build/Makefiles/gmake/bcc.mak : Add -w-eff to disable 'useless' 2833 code warning, we had to chose between this warning and the 'used 2834 parameter' one. 2835 2836 * build/Makefiles/gmake/targetdirs.mak: Removed comment about folder 2837 creation action under windows platform. The action is identical to 2838 the one used in the nmake build system and no one complains about it 2839 so current situation is not so bad. Only users of Windows before Windows 2840 98 should eperiment troubles, this is a known limitation. 2841 2842 * build/Makefiles/gmake/dmc.mak, cygming/rules-so.mak: Change config, 2843 now we directly invoke the linker, we do not use a compiler call for it. 2844 2845 * build/Makefiles/gmake/app/bcc.mak: Fix linker option in order to generate 2846 a windows executable and not a dll, thanks Eric Sanford. 2847 2848 * build/Makefiles/gmake/app/rules-install.mak: Add install dir dependency 2849 rather than doing a folder existence check in rules actions. 2850 2851 * build/Makefiles/gmake/app/rules.mak: Restore slash rotation for Borland 2852 linker invocation and fix static rules dependencies to guaranty folder 2853 creations. 2854 2855 * build/Makefiles/gmake/lib/bcc.mak: Add missing archiver page size parameters. 2856 2857 * build/test/unit/bcc.mak: Add _STLP_DEBUG_UNINITIALIZED for static 2858 debug rules. 2859 2860 * build/Makefiles/gmake/lib/rules-a.mak: Segregate each archiver invocation. 2861 28622005-12-09 Francois Dumont <dums@stlport...> 2863 2864 * build/lib/configure.bat: Add Borland compiler to compilers 2865 able to mix a dll build with a static native runtime. 2866 2867 * build/Makefiles/gmake/bcc.mak, dmc.mak: Complete libs to link 2868 depending on STLport configuration. 2869 2870 * build/Makefiles/gmake/targetdirs.mak: roll back modif from Petr 2871 2005-12-08 2872 2873 * build/Makefiles/gmake/targets.mak: ditto 2874 2875 * build/Makefiles/gmake/cygming/lib.mak: Fix for static libs build 2876 with compiler different than gcc. 2877 2878 * build/Makefiles/gmake/cygming/targetsys.mak: Add missing info for 2879 static libs build with Borland and Digital Mars compilers. 2880 2881 * build/Makefiles/gmake/lib/rules-a.mak: Fix static builds commands 2882 to use info of above point. 2883 2884 * build/Makefiles/gmake/lib/rules-install-a.mak: Add install rule 2885 for windows and missing catalog in dependency tree. 2886 2887 * build/Makefiles/gmake/windows/rules-install-so.mak: Add missing 2888 catalog dependency. 2889 28902005-12-09 Petr Ovtchenkov <complement@users.sourceforge.net> 2891 2892 * build/lib/Makefile.inc: add cxa.c into compilation; this 2893 is useful for FreeBSD 4.11 C++ ABI workaround. 2894 2895 * src/cxa.c: use _cxa_atexit and related functions on 2896 FreeBSD 4.11 [workaround for missed C++ ABI functions]. 2897 28982005-12-08 Francois Dumont <dums@stlport...> 2899 2900 * stlport/stl/_auto_ptr.h: Add missing Standard throw() specification 2901 on all auto_ptr members. 2902 2903 * stlport/config/stl_mycomp.h: Removed recently introduce macro 2904 _STLP_DFLT_PARAM_INSTANCIATION_BUG, already existing _STLP_DONT_SUP_DFLT_PARAM 2905 is enough for the moment. 2906 2907 * stlport/stl/_stream_iterator.h: Small implementation change to make 2908 Digital Mars compiler happy. 2909 2910 * stlport/stl/_unordered_map.h: Digital Mars compiler do not like 2911 immutable keys in associative containers. 2912 29132005-12-08 Petr Ovtchenkov <complement@users.sourceforge.net> 2914 2915 * stlport/ctype.h: forward-declaration for _exception struct 2916 for WinCE/eVC3; prevents warning message 2917 ../include/stdlib.h(817) : warning C4115: 2918 '_exception' : named type definition in parentheses 2919 [Michael Fink's suggestion] 2920 2921 * stlport/float.h, stlport/limits.h, stlport/setjmp.h: idem. 2922 2923 * stlport/stdarg.h, stlport/string.h, stlport/stdio.h: idem. 2924 2925 * build/Makefiles/gmake/gcc.mak: check configuration macro 2926 WITHOUT_STLPORT [useful for tests]; force usage of stlport 2927 headers first otherwise. 2928 2929 * build/Makefiles/gmake/targetdirs.mak: fix catalogs creation 2930 procedure [loop through catalogs required]; comment problematic 2931 code when we have no good tools. 2932 2933 * build/Makefiles/gmake/lib/gcc.mak: fix typo [FreeBSD]; fix 2934 set of libraries when link for FreeBSD; fix typo in macro name 2935 [FreeBSD again]. 2936 2937 * build/Makefiles/gmake/app/gcc.mak: fix set of libraries when 2938 link for FreeBSD; insert stlport lib in STDLIB set [when STLPORT 2939 in force], to avoid set one in application's makefile. 2940 2941 * build/test/unit/gcc.mak: explicit refrence to libstlport in 2942 this makefile not required more [see message above]. 2943 2944 * build/Makefiles/gmake/lib/gcc.mak: remove names inherited from 2945 Complement project. 2946 2947 * build/Makefiles/gmake/*/rules-install-so.mak: installation 2948 catalog was missed in dependency tree; ident string removed 2949 to simplify merge/diff 2950 2951 * Build: building library and unit tests with cross [gcc 3.4.5] 2952 on Linux for FreeBSD 5.3 (except cwctype_test). 2953 2954 * build/Makefiles/gmake/targets.mak: rotate slashes for BCC. 2955 2956 * build/Makefiles/gmake/app/macro.mak: remove name contruction 2957 for program; rotate slashes for wins. 2958 2959 * build/Makefiles/gmake/app/rules-install.mak: remove name 2960 contruction for program. 2961 2962 * build/Makefiles/gmake/app/rules.mak: remove name contruction 2963 for program; objects for static and for dynamic are the same. 2964 29652005-12-04 Francois Dumont <dums@stlport...> 2966 2967 * src/num_put_float.cpp: Filter inclusion of stdint.h, required for 2968 Digital Mars compiler, forbidden for Sun platform. 2969 2970 * stlport/stl/_cwctype.h: wide types and function are in global 2971 namespace. 2972 2973 * build/test/unit/gcc.mak: Modify cygwin/mingw config now that 2974 default settings for those platform is shared library. 2975 2976 * build/Makefiles/gmake: Add support of static targets, used 2977 especially for Borland C++ Compiler and Digital Mars Compiler. 2978 2979 * build/Makefiles/gmake/app/gcc.mak: Fix typo in FreeBSD 2980 configuration. 2981 29822005-12-02 Francois Dumont <dums@stlport...> 2983 2984 * stlport/config/stl_msvc.h: Fixed configuration detection when building 2985 STLport dll based on a static native runtime. 2986 2987 * stlport/stl/_locale.h: Fix warning convertion from size_t to 2988 __stl_atomic_t that can be of lower size. 2989 2990 * stlport/config/stl_gcc.h, doc/README.mingw, README.cygwin: Made dll 2991 default settings under cygwin/mingw. 2992 29932005-12-01 Francois Dumont <dums@stlport...> 2994 2995 * stlport/stl/_mbstate_t.h: Add workaround for alpha bad WCHAR_MIN and 2996 WCHAR_MAX definition. 2997 2998 * stlport/config/stl_gcc.h: Configure STLport for alpha platform as not 2999 supporting iec559 specification as quiet nan is not correct. If someone 3000 find the right value then this config will have to be rollbacked. 3001 3002 * build/Makefiles/gmake/gcc.mak: Restored Sun OS support that use the 3003 -pthreads option and not -pthread 3004 3005 * build/Makefiles/nmake/lib/macro.mak: Fixed library name generation 3006 when using cross runtime version thanks Alexey Ivanov report. 3007 30082005-11-29 Francois Dumont <dums@stlport...> 3009 3010 * stlport/stl_user_config.h: Add _STLP_LIB_NAME_MOTIF macro to give 3011 users a point of customization of the automatic linking feature. 3012 3013 * build/Makefiles/nmake/lib/macro.mak, gmake/cygming/lib.mak: Use 3014 STLP_BUILD_LIB_MOTIF in library name generation algorithm. Also take 3015 into account cross builds in library name generation. 3016 3017 * build/lib/configure.bat: Add --lib-motif option to give users a 3018 way to customize the generated library names. 3019 3020 * test/eh: Generalized use of msvc.mak rather than all the nmake-vc??.mak 3021 files. Idem for evc.mak instead of nmake-evc?.mak and icl.mak instead of 3022 nmake-icl.mak. 3023 3024 * stlport/stl/_exception.h: Change _msvc_warnings_off.h include in 3025 _warnings_off.h as this file now also turn off Borland warnings. 3026 3027 * stlport/config/_detect_dll_or_lib.h: Mutualization of code used to 3028 detect current STLport type of build or usage (dll or static lib). 3029 3030 * stlport/config/stl_msvc.h, stl_bc.h, stl_dmc.h: Integration of 3031 _detect_dll_or_lib.h 3032 3033 * stlport/config/_auto_link.h: Change auto link algo when we detect 3034 cross STLport usage that is to say use of STLport as a dll link with 3035 static native runtime or opposite. 3036 30372005-11-29 Petr Ovtchenkov <complement@users.sourceforge.net> 3038 3039 * src/cxa.c: mutex should be recursive-safe, due to __cxa_finalize 3040 may be called recursive. 3041 30422005-11-28 Francois Dumont <dums@stlport...> 3043 3044 * stlport/stl/_threads.h: Simplified expression used to instanciate 3045 _Atomic_swap_struct, gcc 2.95 had trouble with the one line expression. 3046 3047 * src/dll_main.cpp: Fix instanciation of _Swap_lock_struct that has been 3048 changed and renamed in _Atomic_swap_struct. 3049 3050 * test/unit/map_test.cpp, set_test.cpp: Simplified call to map constructor 3051 taking a functor and allocator instance, split it in a creation of a les<int> 3052 instance then passed to the constructor; gcc 2.95 had trouble with previous 3053 version. 3054 3055 * stlport/stl/_cmath.h, _cstdlib.h: Now those files includes each other to 3056 make sure that all abs overloads are defined when it is imported in STLport 3057 namespace. gcc 2.95 is very strict on this point and only consider the abs 3058 overloads existing at the first import calls, all overloads added after that 3059 are discarded silently. 3060 3061 * stlport/stl/_cmath.h: Removed unjustified abs function overloads done 3062 directly in STLport namespace for gcc 2.95 and before. Those overloads 3063 clashed on a Linux with gcc 2.95 from the sourceforge compiler farm. 3064 3065 * build/Makefiles/gmake/gcc.mak: Generalized definition of _REENTRANT under 3066 Linux to make detection of a multithreaded build from STLport code easier. 3067 Problem meet on an alpha linux platform from the sourceforge compiler farm. 3068 3069 * stlport/stl/_locale.h: Removed _M_delete locale::facet member variable, 3070 useless if facet instance reference counter is right. 3071 3072 * src/locale_impl.cpp, message.cpp: Change classic facets initialization code 3073 to simply set initial counter to 1 rather than incrementing it after construction. 3074 3075 * test/unit/evc.mak fix path to config file in existance check. 3076 3077 * stlport/stl/_move_construct_fwk.h, type_manips.h: Add workaround to use 3078 move constructor with Borland compiler. 3079 30802005-11-28 Petr Ovtchenkov <complement@users.sourceforge.net> 3081 3082 * build/Makefiles/gmake/targetdirs.mak: change names of .o output dirs 3083 to make bcc happy (bug with passing name that contain '-' from 3084 compiler to linker). Replacement: 'shared' -> 'so', 'static' -> 'ar', 3085 '-' -> '_' (i.e. obj/gcc/shared-stlg -> obj/gcc/so_stlg, a bit shorter) 3086 [Suggested by Francois Dumont]. 3087 30882005-11-27 Petr Ovtchenkov <complement@users.sourceforge.net> 3089 3090 * build/Makefiles/gmake/targets.mak, app/rules.mak, linux/rules-so.mak: 3091 use gcc instead of c++ as linker if there are no C++ objects. 3092 3093 * src/cxa.c, build/misc/cxa_atexit/Makefile.inc, build/misc/cxa_atexit/gcc.mak: 3094 workaround for bugged __cxa_finalize; use builded libcxa.so in LD_PRELOAD or 3095 /etc/ld.so.preload in Linux system with bugged glibc. See also 3096 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24189 3097 30982005-11-27 Francois Dumont <dums@stlport...> 3099 3100 * stlport/stl/type_manips.h: Add import of __true_type and 3101 __false_type in STLport private namespace as the using namespace 3102 directive do not seems to be enough for latest gcc version. 3103 3104 * src/time_facets.cpp: Fix buffer size decrementation in __write_formatted_time 3105 function thanks Petr Ovtchenkov 3106 31072005-11-26 Francois Dumont <dums@stlport...> 3108 3109 * stlport/stl/_complex.h: Move implementation of generic abs, arg and polar 3110 after definition of double overload used in implementation. Thanks Kees de 3111 Bruin 3112 3113 * stlport/stl/_threads.h, _alloc.h, _alloc.c: Fix lock free node allocator 3114 implementation thanks Weis. 3115 3116 * stlport/stl/wrappers: Removed, no more maintained and complicated to fix 3117 with the debug and pointer specialization implementations. 3118 3119 * test/unit/stack_allocator.h: Creation of an allocator using a stack buffer. 3120 This allocator specificity is to not be stateless and not default constructible. 3121 3122 * test/unit/list_test.cpp, stlport/stl/_list.h, _list.c: Add of a test with the 3123 StackAllocator. Fix list implementation to correctly handle allocator state 3124 in the methods moving elements from a list instance to an other. 3125 3126 * stlport/stl/_carray.h: Creation of a new internal struct _CArray that mimic a C 3127 array with the additionnal feature of being able to be instanciated with a type 3128 without default constructor. 3129 3130 * stlport/stl/debug/_list.h: Adapt iterator invalidation according allocators 3131 compare result. 3132 3133 * test/unit/slist_test.cpp, stlport/stl/_slist.h, _slist.c: idem list. 3134 3135 * stlport/stl/_slist.h: Modification of the splice_after methods signature. Users 3136 now have to pass the source slist instance, this is mandatory in order to compare 3137 the 2 slists allocator instance before moving an element from a slist instance to 3138 an other. 3139 3140 * stlport/stl/_string_base.h: Fix _M_swap implementation for basic_string instanciation 3141 with allocator having a state. 3142 3143 * stlport/stl/_list.c, _slist.c: sort methods now throw an overflow exception when lists 3144 are too long to be sorted with the current algorithm. This is preferable to a buffer 3145 overrun. 3146 3147 * stlport/stl/_alogobase.c: Small equal_range optimization, upper_bound is not called 3148 anymore when lower_bound returned value is already not equivalent to the search value. 3149 3150 * build/Makefiles/gmake: Add build system for Digital Mars and Borland C++ compilers 3151 3152 * build/lib/configure.bat: Add following options 3153 --use-boost 3154 --not-thread-safe 3155 --no-rtti 3156 see script for explanation. --mingw removed, detected with --compiler option, if 3157 gcc, dmc or bcc then we are using MinGW tools. 3158 3159 * build/lib/configure: Add --not-thread-safe option 3160 3161 * build/Makefiles: Add build options to generate not thread safe libs and no rtti libs, 3162 all compilers option has not been updated. 3163 3164 * stlport/c*: Modification of C++ headers wrapping C ones. All code moved to internal 3165 headers in stlport/stl folder. Internal headers are only included if include comes from 3166 user code otherwise only native header is included. Limit dependency between STLport 3167 headers relations and native library once. Reported by problem building with Borland 3168 compiler. 3169 3170 * test/unit/cppunit/cppunit_mini.h: Replace cstring include with string.h to avoid 3171 references to std namespace in headers, should be more portable. Add typedef Base 3172 definition in CPPUNIT_TEST_SUITE macro, used in calls to base class methods, help 3173 Borland. 3174 3175 * Generalize use of secure string functions (strcpy_s for instance) for MSVC compilers 3176 supporting it and tagging former versions like deprecated. The pragma warning that used 3177 to disable this warning has been removed. 3178 3179 * stlport/BC50: Removed, no necassry anymore for supported Borland compiler versions. 3180 3181 * stlport/stl/debug: Implementation modification, now debug wrapper agregate a non debug 3182 instance rather than inheriting from it. Makes debug implementation clearer as we are now 3183 forced to implement the complete containers interfaces. 3184 3185 * stlport/stl/pointers: Fix implementation in order to support Standard compilers 3186 not accepting cast from function pointer to void*. 3187 3188 * *: Reinforce use of STLport private namespace (stlp_priv or stlport::priv) for all 3189 internals algorithms. 3190 31912005-11-21 Francois Dumont <dums@stlport...> 3192 3193 * Fix classic locale facet initial reference counter thanks 3194 Cabal 3195 31962005-11-20 Petr Ovtchenkov <complement@users.sourceforge.net> 3197 3198 * src/num_put.h: check that incoming string has enough 3199 digits for fractional part processing. This check includes 3200 check for empty incoming string. (Thanks Leonardo [leoapsilva] 3201 for the bug report). 3202 3203 * stlport/stl/_monetary.c: fix processing the case when 3204 number of digits in value less then number of digits in fraction. 3205 3206 * src/facets_byname.cpp: international currency symbol should 3207 be the first (not depends upon where currency symbol situated in 3208 the national format). 3209 3210 * test/unit/locale_test.cpp: tests for reproducing this problems. 3211 32122005-11-20 Gail Baker <baker88@users.sourceforge.net> 3213 3214 * build/Makefiles/gmake/CC.mak: Updated compiler option 3215 to compile larger inline functions inline. 3216 3217 * build/Makefiles/gmake/lib/CC.mak: Changed how the header 3218 file linking is done to only do it once instead of with 3219 every compile. 3220 3221 * build/lib/README: include instructions for SunPro compiler. 3222 3223 * build/test/unit/CC.mak: allow the STLP_DEBUG version to compile. 3224 32252005-11-19 Petr Ovtchenkov <complement@users.sourceforge.net> 3226 3227 * stlport/stdlib.h: replace C++ comments by C, to satisfy -ansi 3228 option of compiler. 3229 32302005-11-18 Francois Dumont <dums@stlport...> 3231 3232 * build/Makefiles/nmake/lib/rules-install-so.mak, 3233 app/rules-install-so.mak: Add copy of manifest file when exist 3234 rather than when compiler is Visual Studio 2005. 3235 3236 * src/stdio_streambuf.cpp: Removed warning for EVC 3 and 4 thanks 3237 Michael Fink patch. 3238 3239 * stlport/stl/math.h, stdlib.h: Fix EVC3 warning thanks Michael Fink 3240 patch. 3241 3242 * doc/README.evc3: doc update from Michael Fink. 3243 3244 * stlport/*, stlport/*, tests/*: Clean up of trailing blank charaters 3245 in all source files. 3246 32472005-11-17 Gail Baker <baker88@users.sourceforge.net> 3248 3249 * build/Makefiles/gmake/CC.mak, depend.mak, app/CC.mak, lib/CC.mak: 3250 support of SunPro 5.7 compiler. 3251 3252 * build/lib/CC.mak: ditto 3253 3254 * stlport/stl/_rope.c: Removed extra semi-colons. 3255 3256 * stlport/stl/_rope.h: Sunpro compiler had a problem with 3257 the __ROPE_DEPTH_SIZE macro doing an addition. Changed to 3258 a fixed value instead. 3259 3260 * stlport/cstdlib: Updated to allow the compiler to find abs and div 3261 3262 * stlport/config/stl_sunpro.h: Disabled _STLP_LINK_TIME_INSTANTIATION 3263 since this nolonger works with current files. The issue here is that 3264 a number of defines that are required in the C versions of the files 3265 use defines that are undefed at the end of the include. So, when 3266 the compiler finally compiles the C version at link time the defines 3267 are lost and the files don't compile. Also added a minor change 3268 to allow files that are compiled with cc to include stl_sunpro.h 3269 without bailing out. 3270 3271 * stlport/stl/_bvector.h: Added stl/_range_errors.h required by 3272 an exception that can be called. 3273 3274 * stlport/stl/_cmath.h: Changed to pull all math functions from std 3275 namespace for SunPro compiles only. 3276 3277 * test/unit/fstream_test.cpp: Added SunPro compile to the list 3278 of compilers that don't use the DO_CUSTOM_FACET_TEST. 3279 3280 * test/unit/string_test.cpp: Added Sun UI Threads to the list 3281 of supported thread types in the test. 3282 3283 * test/unit/valarray_test.cpp: The compiler was having trouble 3284 finding abs(). Added a "using std::abs" for the SunPro compiler 3285 which solved the problem. 3286 3287 * test/unit/cppunit/cppunit_mini.h: Added additional using statements 3288 for the str* commands. 3289 3290 * test/unit/cppunit/test_main.cpp: Added "using namespace std;" 3291 for the SunPro compiler. 3292 3293 * build/test/unit/CC.mak: support of SunPro 5.7 compiler 3294 32952005-11-17 Francois Dumont <dums@stlport...> 3296 3297 * stlport/stl/_messages_facets.h, src/messages.cpp: Move message facet 3298 constructor private to guaranty that it is only called from the _Locale_impl 3299 class for classic locale facets creation. Change constructor implementation 3300 as now passed _Message instance is dynamically instanciated so needs to be 3301 destroy on facet destruction; moreover the facet is also dynamically allocated 3302 and has to be destroyed when reference counter reach 0. 3303 3304 * src/locale_impl.cpp: Removed call to now useless free_classic_locale function. 3305 Change make_classic_locale implementation, now classic locale facets are 3306 allocated on the heap and have to be destroyed like any ordinary facets 3307 when reference counter reach 0. 3308 33092005-11-15 Petr Ovtchenkov <complement@users.sourceforge.net> 3310 3311 * stlport/stl/_tree.h: check iterator returned from lower_bound 3312 in equal_range_unique for end, to avoid increment [useful when 3313 key not available]. 3314 3315 * test/unit/map_test.cpp: test for problem above. 3316 33172005-11-09 Francois Dumont <dums@stlport...> 3318 3319 * build/test/eh/gcc.mak: Fix build system for Cygwin/MinGW systems that 3320 was broken since library naming convention modification. 3321 33222005-11-07 Michael Fink <vividos@users.sourceforge...> 3323 3324 * build/lib/configure.bat: Fixed configuring for Visual Studio .NET 2003. 3325 Fixed jump target names for Win9x OSes: they must be 8 characters or 3326 shorter. 3327 33282005-11-07 Michael Fink <vividos@users.sourceforge...> 3329 3330 * build/Makefiles/nmake/evc3.mak, build/Makefiles/nmake/evc4.mak, 3331 build/lib/configure.bat, stlport/config/stl_evc.h: Added check if 3332 using x86 emulator configuration; using of proper include paths in 3333 case. 3334 3335 * doc/README.evc4: Documentation update 3336 33372005-11-01 Petr Ovtchenkov <complement@users.sourceforge.net> 3338 3339 * Repository: STLport 5.0, tag STLPORT_5_0_RELEASE 3340 3341 * Repository: merge HEAD and STLPORT_5_0 branch. 3342 3343 * build/Makefiles/gmake/app/rules-install.mak: install-shared rule 3344 added (patch by Michael Fink). 3345 3346 * build/Makefiles/gmake/lib/rules-install-a.mak: install-static rule 3347 added (patch by Michael Fink). 3348 33492005-10-12 Francois Dumont <dums@stlport...> 3350 3351 * stlport/stl/_threads.h, _threads.c: Fix regression for some platforms 3352 introduce by modification of _Atomic_swap_ptr implementation thanks 3353 Albrecht Fritzche. 3354 33552005-10-09 Petr Ovtchenkov <complement@users.sourceforge.net> 3356 3357 * repository: RC6, tag STLPORT_5_0_RC6 3358 33592005-10-09 Francois Dumont <dums@stlport...> 3360 3361 * stlport/config/stl_gcc.h: DEC alpha has not *l math functions 3362 33632005-10-08 Francois Dumont <dums@stlport...> 3364 3365 * stlport/stl/_config.h: Add endianess specification for DEC alpha thanks 3366 sourceforge compiler farm. 3367 3368 * stlport/config/stl_intel.h: Remove reference to _STLP_GLOBAL_NEW_HANDLER 3369 in this file as this macro depends on native Standard library which is 3370 the back end MSVC compiler one so macro set in stl_msvc.h. 3371 33722005-10-07 Francois Dumont <dums@stlport...> 3373 3374 * build/Makefiles/gmake/darwin/sys.mak, freebsd/sys.mak: Fix EXT_TEST 3375 definition to test rather than /usr/bin/test thanks sourceforge 3376 compiler farm. 3377 33782005-10-05 Francois Dumont <dums@stlport...> 3379 3380 * build/Makefiles/nmake/vc-common.mak: Remove /Fd option for the icl 3381 compiler that do not know it. 3382 33832005-10-04 Francois Dumont <dums@stlport...> 3384 3385 * stlport/stl/debug/_list.h: Fix resize method implementation in safe 3386 STL mode thanks Ethan Fenn report. 3387 3388 * test/unit/list_test.cpp: Add test case for list::resize method. 3389 3390 * build/Makefiles/nmake/lib/rules-install-a.mak, app/rules-install-a.mak: 3391 Install .pdb files only if exist, Intel C++ compiler do not generate them 3392 when building static libraries. Thanks Albrecht Fritzsche 3393 3394 * stlport/stl/_ostream.h, _ostream.c: Move _M_init function implementation 3395 from .c to .h as .c is not included when _STLP_NO_CUSTOM_IO is defined 3396 but _M_init might not be exported if compiler fully inline it. 3397 33982005-10-03 Francois Dumont <dums@stlport...> 3399 3400 * stlport/stl/_tree.h: Fix _S_value method definition that returns 3401 a value_type& rather than the reference typedef as reference might be, 3402 depending on the traits used to instanciate _Rb_tree, equivalent to 3403 a const_reference. 3404 34052005-09-30 Francois Dumont <dums@stlport...> 3406 3407 * INSTALL, README, doc/FAQ, doc/README.msvc: Documentation updates. 3408 3409 * doc/stlport_namespaces.txt: Small doc about STLport namespaces and how 3410 STLport replace native Standard library. 3411 34122005-09-26 Francois Dumont <dums@stlport...> 3413 3414 * build/*: Finished _STLP_LEAKS_PEDANTIC clean up from all make files. 3415 34162005-09-25 Francois Dumont <dums@stlport...> 3417 3418 * build/test/unit/gcc.mak: Remove _STLP_LEAKS_PEDANTIC option when building 3419 unit tests as this option is not defined when building the libs. 3420 34212005-09-22 Petr Ovtchenkov <complement@users.sourceforge.net> 3422 3423 * build/Makefiles/gmake/sysid.mak: add underscore in architecture recognition, 3424 to parse targets like x86_64-unknown-linux-gnu. 3425 34262005-09-21 Francois Dumont <dums@stlport...> 3427 3428 * src/locale.cpp, facets_byname.cpp: Use of _STLP_ATOMIC_INCREMENT rather than 3429 a lock on a mutex when the macro is available. 3430 34312005-09-21 Petr Ovtchenkov <complement@users.sourceforge.net> 3432 3433 * src/locale_impl.cpp: some internal functions used before declared. 3434 Thanks Thomas Kho for report. 3435 34362005-09-20 Francois Dumont <dums@stlport...> 3437 3438 * stlport/stl/_string.h, _string_workaround.h: code refactoring, substr method 3439 now use string constructor taking same parameters rather than the range 3440 constructor, thanks Felix Wyss report. Also add missing allocator parameter 3441 for non stateless allocators. 3442 3443 * build/Makefiles/gmake: Restore resource build for Cygwin and MinGW, add 3444 it for Windows. 3445 3446 * build/lib/configure.bat: Add --extra-cxxflag to inject additional compilation 3447 option in the nmake build system. 3448 34492005-09-20 Petr Ovtchenkov <complement@users.sourceforge.net> 3450 3451 * test/unit/ptrspec_test.cpp: gcc 2.95 fail to roll out template instantiation 3452 for pointers to member function, skip this test for gcc 2.95. 3453 3454 * build/Makefiles/gmake/gcc.mak: gcc 2.95 has no -fuse-cxa-atexit option. 3455 3456 * build/lib/gcc.mak: don't use LEAK_PEDANTIC with gcc 2.95 [but this not help, 3457 segfault at program termination still happens]. 3458 3459 * stlport/config/stl_gcc.h: gcc 2.95 has problem with llabs, so force to use 3460 _STLP_NO_VENDOR_STDLIB_L; 2.95 fails to initialize builtin types. 3461 3462 * stlport/stl/_cmath.h: workaround for gcc 2.95---it has problem with 'using' 3463 directive [problem with 'abs' with float types as argument]. 3464 3465 * stlport/stl/type_traits.h: workaround for gcc 2.95 [parentheses around 3466 template argument]. Thanks Thomas Kho. 3467 3468 * test/unit/fstream_test.cpp: custom facet test compilation fail for gcc 2.95 3469 3470 * build/Makefiles/gmake/icc.mak, build/test/unit/icc.mak: support icc 9.0, 3471 thanks John Fisher-Ogden and Thomas Kho. 3472 3473 * src/c_locale_glibc/c_locale_glibc2.c: use newlocale/freelocale for 3474 glibc 2.3.x, and __newlocale/__freelocale for glibc 2.2.x. Thanks Gail Baker. 3475 34762005-09-19 Francois Dumont <dums@stlport...> 3477 3478 * build/Makefiles/nmake/clean.mak, lib/clean.mak, app/clean.mak: Add check 3479 for file or folder existance before calling del or rd to avoid error 3480 messages that give a bad feed back to STLport users. 3481 3482 * build/Makefiles/gmake: Add support to use the GNU make tool in a Windows 3483 cmd console. For the moment it is used to build STLport using a simple 3484 MinGW distrib. 3485 3486 * stlport/stl/type_traits.h: Simplified code removing the _IsConvertibleIfNot 3487 that has never proved of being useful, it only introduces problem with some 3488 limited compilers. 3489 3490 * stlport/stl/_string_workaround.h, _string.h, debug/_string.h: Fix string 3491 range constructor bug in the VC6 specific workaround implementation that was 3492 resulting in a memory leak. Thanks Felix Wyss report. 3493 34942005-09-18 Petr Ovtchenkov <complement@users.sourceforge.net> 3495 3496 * stlport/stl/_hash_fun.h: add hash function for void *. 3497 3498 * src/facets_byname.cpp, src/message_facets.h: introduce map between 3499 nl_catd type [that is void * on Linux] and messages_base::catalog 3500 [that is int by Standard]; this should remove problems on platforms 3501 where sizeof(int) < sizeof(void *). 3502 35032005-09-16 Francois Dumont <dums@stlport...> 3504 3505 * stlport/cwchar: Add MinGW 3.8 runtime wide-char to multi-byte functions 3506 import within STLport namespace thanks Rene Riviera. 3507 35082005-09-14 Francois Dumont <dums@stlport...> 3509 3510 * stlport/config/stl_gcc.h: Mingw support string wide functions thanks 3511 Rene Riviera report. 3512 35132005-09-13 Petr Ovtchenkov <complement@users.sourceforge.net> 3514 3515 * stlport/stl/_thread.h: fix return type specification 3516 [volatile void * -> void *]. 3517 35182005-09-12 Francois Dumont <dums@stlport...> 3519 3520 * stlport/stl/_thread.h: Fix _Atomic_swap_ptr implementation in single 3521 threaded mode and when there is no pointer atomic swap operation. 3522 3523 * stlport/stl/_site_config.h: Add _STLP_NO_CYGWIN macro to signal use 3524 of the -mno-cygwin cygwin option. 3525 3526 * build/lib/configure: Remove automatic generation of stlport/script_config.h. 3527 35282005-09-11 Petr Ovtchenkov <complement@users.sourceforge.net> 3529 3530 * build/Makefiles/gmake/sysid.mak: provide identification hosted platform. 3531 3532 * build/Makefiles/gmake/targetdirs.mak: CygWin/MinGW has no /usr/bin/test, 3533 but built-in test support -e; see record 2005-09-04. 3534 3535 * build/Makefiles/top.mak: separate hosted platform and target platform 3536 file extentions, tools, utilites. 3537 3538 * build/Makefiles/gmake/?/sys.mak, build/Makefiles/gmake/?/targetsys.mak: 3539 ditto. 3540 35412005-09-09 Francois Dumont <dums@stlport...> 3542 3543 * src/c_locale_win32.c: Fix _Locale_wchar_[tolower,toupper] implementation 3544 which was wrong when wint_t was not the same typedef as wchar_t. 3545 3546 * build/lib/configure: Removed obsolete configure options --with-msvc and 3547 --with-mssdk. And --no-cygwin option to make build of STLport using -mno-cygwin 3548 option easier. 3549 3550 * stlport/script_config.h: New header used to put additionnal macros defined 3551 by the configure script. 3552 3553 * stlport/stl/_config.h: Add script_config.h include. 3554 3555 * stlport/config/stl_gcc.h: Use of the new _STLP_NO_CYGWIN macro to set 3556 the right _STLP_NATIVE_INCLUDE_PATH macro value. 3557 3558 * build/Makefiles/gmake/gcc.mak: Change CC and CXX assignment from := to 3559 ?= to take into account an already existing definition. 3560 35612005-09-07 Francois Dumont <dums@stlport...> 3562 3563 * build/Makefiles/gmake: Adopt a more traditionnal unixes naming 3564 convention for cygwin and mingw. 3565 3566 * build/Makefiles/nmake: Attempt to make STLport library names more 3567 coherent between unixes and windows systems. Now windows use the 5.0 3568 extension like under unixes even if under unixes the file extension 3569 is before the 5.0 and under windows it will be after. The other 3570 difference is that the debug suffix is 'g' when using gcc and 'd' for 3571 the other compilers. This modification comes from a work to improve 3572 STLport integration within boost build system, bjam. 3573 3574 * stlport/config/stl_msvc.h: Modify MSVC auto link feature to reflect 3575 above modifications. 3576 35772005-09-06 Francois Dumont <dums@stlport...> 3578 3579 * stlport/config/stl_gcc.h: Fix cygwin config that do have native 3580 mbstate_t definition. 3581 35822005-09-05 Petr Ovtchenkov <complement@users.sourceforge.net> 3583 3584 * repository: RC5, tag STLPORT_5_0_RC5 3585 35862005-09-04 Petr Ovtchenkov <complement@users.sourceforge.net> 3587 3588 * build/Makefiles/gmake/targetdirs.mak: in sh's built-in 'test' no -e 3589 option on Solaris, use external 'test' instead. 3590 3591 * build/test/unit/gcc.mak: Fix LDSEARCH recursive problem; fix 3592 options for ld search path for some platforms. 3593 3594 * stlport/cstdlib, stlport/stl/_cmath.h: fix usage of native 3595 ?f and ?l math functions on Solaris; hypot for long double should't 3596 loose precision, if no native C function present. 3597 35982005-09-02 Francois Dumont <dums@stlport...> 3599 3600 * stlport/config/stl_msvc.h, stl/_move_construct_fwk.h: Add the 3601 _STLP_NO_MOVE_SEMANTIC configuration macro to remove move semantic 3602 support for MSVC .Net 2002 that seems to be unable to support it. 3603 Maybe we should rather remove this compiler version support... 3604 3605 * test/unit/mvctor_test.cpp: Add _STLP_NO_MOVE_SEMANTIC check. 3606 36072005-08-31 Francois Dumont <dums@stlport...> 3608 3609 * build/Makefiles/nmake: Enhance nmake build system to correctly take 3610 into account the .manifest files generated by VS 2005 Beta. 3611 36122005-08-29 Petr Ovtchenkov <complement@users.sourceforge.net> 3613 3614 * CVS repository: CVS repository master copied from cvs.stlport.com to SourceForge. 3615 All history preserved! 3616 36172005-08-27 Francois Dumont <dums@stlport...> 3618 3619 * stlport/stl/_hashtable.h: Fix move feature integration for the hash_multimap 3620 container. 3621 3622 * stlport/stl/_deque.h: Fix _Deque_base move constructor implementation. 3623 3624 * test/unit/mvctor_test.cpp: Change move constructor tests to use dynamically 3625 allocated string rather than static ones. 3626 3627 * build/test/unit/nmake-vc6.mak: Increase compiler maximum heap size to allow 3628 compilation with stldbg rules. 3629 3630 * build/test/unit/nmake-evc4.mak: Fix macro typo OPT_STLDBG_STATIC -> 3631 OPT_STATIC_STLDBG 3632 3633 * build/Makefiles/gmake/gcc.mak: Filter out the newly added -fuse-cxa-atexit 3634 compilation option for Cygwin and Mingw, the granted libc is not compatible 3635 with it. 3636 36372005-08-26 Petr Ovtchenkov <ptr@island...> 3638 3639 * stlport/config/stl_solaris.h: C++ comments replaced by C ones, 3640 this file may be included by C sources. Thanks Matti Rintala. 3641 36422005-08-25 Francois Dumont <dums@stlport...> 3643 3644 * stlport/stl/_config.h, _epilog.h: Move of stlport namespace alias 3645 definition from _epilog.h to _config.h to avoid redefinition as _epilog.h 3646 is reentrant. This is a workaround for a HPUX aCC compiler bug reported 3647 by Baker. 3648 36492005-08-25 Petr Ovtchenkov <ptr@island...> 3650 3651 * build/Makefiles/gmake/gcc.mak: usage of -fuse-cxa-atexit strongly 3652 required for correct order of static objects dtors calls. This is 3653 used in deinitialization of locale-related objects. Thanks Matti Rintala. 3654 3655 * stlport/stl/_config.h: use different namespaces for mulithreaded 3656 and non-multithreaded builds to avoid usage of non-multithreaded 3657 application with multithreaded libstlport and vice versa; 3658 [combination non-mt & mt lead to crash due to different instances 3659 and sizes of allocators for non-mt and mt cases]. 3660 36612005-08-23 Francois Dumont <dums@stlport...> 3662 3663 * stlport/stl/_config_compat.h: Add check of _STLP_NO_OWN_IOSTREAMS 3664 macro to make remove of its support more explicit thanks to a #error 3665 directive. 3666 3667 * stlport/stl/_tree.h, _hashtable.h: Now reference and pointer types 3668 are taken from the _Traits template parameter used to instanciate 3669 the class. Doing so now set::reference and hash_set::reference are 3670 const_reference which is coherent with respective iterators that are 3671 immutable. Moreover it fixes a VC6 bug in reverse_iterator implementation 3672 that was trying to transform a const reference to a simple reference 3673 thanks Russell Miller report. 3674 3675 * test/unit/set_test.cpp: New test case for set reverse_iterator. 3676 36772005-08-23 Petr Ovtchenkov <ptr@island...> 3678 3679 * stlport/config/stl_gcc.h: seems HP-UX has no *f variants of math 3680 functions [ceilf, fabsf, etc.] 3681 36822005-08-21 Francois Dumont <dums@stlport...> 3683 3684 * stlport/stl/_string.h, _rope.h: Removed __move_traits specialization 3685 for string wstring crope and wrope. There is no reason to believe that 3686 its move construtor will be complete as an STLport user has the right 3687 to specialized the std::allocator<> with char or wchar_t. 3688 3689 * stlport/stl/_function_base.h, _alloc.h: Generalized use of the 3690 __stlport_class struct rather than introducing a new helper type 3691 (__stlport_less or __stlport_alloc) when we need to recognize STLport 3692 implementation from a user one. 3693 36942005-08-20 Francois Dumont <dums@stlport...> 3695 3696 * stlport/stl/_list.h, _slist.h: Fix move constructor implementation 3697 thanks Henrik Goldman (www.x-formation.com) report. 3698 3699 * stlport/stl/_alloc.h: Fix type_traits specialization for allocator 3700 type. Now specialization is only apply for the default STLport allocator 3701 implementation and not for potential user specialization. 3702 3703 * stlport/stl/_deque.h, _hashtable.h, _string.h, _tree.h, _vector.h: 3704 Simplification of the move framework application especially in the 3705 definition of the containers __move_traits specialization. Many 3706 _AsMoveSource call replaced by explicit call to the move constructor 3707 when we are sure that there is one. 3708 3709 * test/unit/mvctor_test.cpp: Add many tests to check move contructor 3710 implementations. 3711 3712 * stlport/stl/_function_base.h: Add type_traits specialization for the 3713 less functor to help the move framework when dealing with associative 3714 containers. 3715 3716 * test/unit/mvctor_test.cpp: Add a new test case checking correct move 3717 semantic support for all STL containers. 3718 3719 * stlport/stl/_rope.h: Add move semantic support to the rope class. 3720 37212005-08-19 Petr Ovtchenkov <ptr@island...> 3722 3723 * build/Makefiles/gmake/gcc.mak: fix extraction of gcc version. 3724 Thanks Thomas Kho. 3725 37262005-08-18 Francois Dumont <dums@stlport...> 3727 3728 * stlport/stl/_deque.c: Fix _M_erase range for movable types method 3729 implementation, same bug as below in vector. 3730 3731 * test/unit/mvctor.cpp: Improve test case on vector to reveal bug 3732 below and add same tests for deque which is the other container that 3733 use the move contructor feature. 3734 37352005-08-18 Petr Ovtchenkov <ptr@island...> 3736 3737 * INSTALL: add some words about multithread options and libraries. 3738 3739 * stlport/stl/_fstream.c: some code clean to reduce bogus compiler 3740 warnings with -Wall. 3741 3742 * stlport/config/stl_gcc.h: seems HP-UX has no llabs and lldiv. 3743 37442005-08-17 Francois Dumont <dums@stlport...> 3745 3746 * stlport/stl/_vector.h: Fix _M_erase range for movable types 3747 implementation thanks Sergej Zagursky. 3748 3749 * build/Makefiles/nmake/vc8.mak: removed /RTC1 compiler option, the platform 3750 SDK compiler do not support it. STLport users will just have to activate it 3751 by themself if they want to. 3752 3753 * stlport/stl/_complex.h: Fix some floating point literals thanks 3754 Ulrich Eckhardt report. 3755 3756 * stlport/stl/_time_facets.c: Complete integration of the '#' MS extension 3757 in the date/time format string, reported thanks to the recent locale time_get 3758 new test case. 3759 37602005-08-14 Francois Dumont <dums@stlport...> 3761 3762 * stlport/config/stl_msvc.h: Fix platform SDK compiler config, even latest 3763 version that announce to be similar to .Net 2005 beta do not throw bad_alloc 3764 from the new operator. 3765 3766 * stlport/cstdio, cstdlib: Replaced some _WIN64 checks by a 3767 _STLP_USING_PLATFORM_SDK_COMPILER check. 3768 3769 * test/unit/cmath_test.cpp: Complete test filtering for Microsoft platform SDK 3770 compiler. 3771 37722005-08-14 Petr Ovtchenkov <ptr@island...> 3773 3774 * test/unit/locale_test.cpp: tests for time_get facet. 3775 3776 * stlport/stl/_time_facets.c: fix processing of %p format 3777 [12:00 PM ~ 12:00, 12:00 AM ~ 00:00]. 3778 3779 * src/time_facets.cpp: substitute expanded equivalent format strings 3780 instead of %T, %R, %r. 3781 3782 * stlport/pthread.h: Fix C++ comment in a potentially C header. Thanks Ali 3783 37842005-08-11 Francois Dumont <dums@stlport...> 3785 3786 * stlport/stl_user_config.h: Add _STLP_USING_PLATFORM_SDK_COMPILER so that 3787 STLport user can signal they are using platform SDK compiler. 3788 3789 * stlport/config/stl_msvc.h: Add use of _STLP_USING_PLATFORM_SDK_COMPILER. 3790 3791 * test/unit/cmath_test.cpp, valarray_test.cpp: Removed tanh calls when using 3792 AMD 64 platform SDK compiler, looks like they miss something... 3793 37942005-08-09 Francois Dumont <dums@stlport...> 3795 3796 * src/fstream.cpp: Final fix of basic_filebuf::open method. Now when open 3797 from a Win32 handle the file will be considered as in binary access with no 3798 append action. 3799 38002005-08-08 Francois Dumont <dums@stlport...> 3801 3802 * src/fstream.cpp: Fix annoying 64 warning and basic_filebuf::open method 3803 from a low level file descriptor or from an HANDLE (not yet complete). 3804 Thanks Yves Maliet report. 3805 38062005-08-07 Francois Dumont <dums@stlport...> 3807 3808 * test/unit/inner_product.cpp: Fix 64 bits portability warning. 3809 3810 * test/unit/cmath_test.cpp: Removed modf tests for Windows 64 platform 3811 as the SDK is missing the underlying modff implementation. 3812 3813 * stlport/cstdlib: Add a div function definition which is missing in the 3814 Windows 64 SDK. 3815 3816 * stlport/cstdio: Add vsnprintf definition which is missing in Windows 3817 64 SDK. 3818 3819 * stlport/exception: Add flexibility for definition of vendor terminate 3820 and uncaught_exception function namespace. Can now be defined independantly 3821 of the unexpected_exception namespace. 3822 3823 * src/dll_main.cpp: Removed explicit turn off of optimization for Microsoft 3824 compilers after .Net 2003. There were no comment to explain why optimizations 3825 were turned off so I guess it was a compiler bug. .Net 2003 being a major 3826 new version I hope this bug has vanish with this version. 3827 3828 * src/fstream.cpp: Removed static assertion for windows file handle to be 32 3829 bits. Under Windows 64, even if the API is still 32 bits handles are still 3830 defined as void*. We will see when code will run under a real Windows 64 platform 3831 if it is a problem. 3832 3833 * stlport/config/stl_msvc.h: Add configuration for Windows 64 Platform SDK. 3834 Expecially add automatic link to bufferoverflowU.lib to avoid modification 3835 of STLport build system and STLport users projects. 3836 38372005-08-06 Petr Ovtchenkov <ptr@island...> 3838 3839 * src/c_locale_glibc/c_locale_glibc2.c: add explicit type conversion 3840 to avoid warnings on 64-bits platforms; thanks Thomas Kho and 3841 Karol Szkudlarek for report. 3842 38432005-08-05 Francois Dumont <dums@stlport...> 3844 3845 * stlport/stl/_valarray.h: Add missing _debug.h header inclusion for 3846 _STLP_ASSERT macro definition. 3847 3848 * stlport/stl/debug/_hashtable.h: Fix typo in hashtable move constructor. 3849 Thanks arabesc report. 3850 38512005-08-05 Petr Ovtchenkov <ptr@island...> 3852 3853 * doc/FAQ: some words about cross-compilation. 3854 38552005-08-04 Francois Dumont <dums@stlport...> 3856 3857 * stlport/stl/_hashtable.c: Fix erase(range) implementation thanks 3858 arabesc. 3859 3860 * test/unit/hash_test.cpp: Add new test for previous fix. 3861 38622005-08-04 Petr Ovtchenkov <ptr@island...> 3863 3864 * stlport/csetjmp: sometimes, if native setjmp.h was included first, 3865 the setjmp functions situated in global namespace, not in vendor's 3866 std. This may confuse following csetjmp. 3867 3868 * test/unit/setjmp_header_test2.cpp: test for this. 3869 3870 * build/test/unit/Makefile.inc: ditto. 3871 38722005-08-03 Francois Dumont <dums@stlport...> 3873 3874 * INSTALL document updated to signal no longer support of the 3875 'wrapper' mode. 3876 38772005-08-02 Petr Ovtchenkov <ptr@island...> 3878 3879 * stlport/stl_user_config.h, stlport/stl/_site_config.h: 3880 fix some obsolete comments. 3881 38822005-07-31 Petr Ovtchenkov <ptr@island...> 3883 3884 * test/unit/math_aux.h, cmath_test.cpp: are_equals moved into 3885 math_aux.h to reuse in other tests. 3886 3887 * test/unit/sstream_test.cpp: check input to float, inspired by 3888 Jeff Williams. 3889 38902005-07-27 Francois Dumont <dums@stlport...> 3891 3892 * stlport/iomanip, stl/_algo.h: Removed some persistent occurences 3893 of __in and __out keywords reserved by Microsoft. 3894 3895 * stlport/stl/_pthread_alloc.c: Fix annoying warning reported by gcc. 3896 3897 * stlport/config/stl_msvc.h: Fix _STLP_VENDOR_UNEXPECTED_STD macro 3898 definition to empty rather than '1'. Could have produce a compilation 3899 error with compilers like Intel C++ used with the VC6 native Standard 3900 library. 3901 3902 * stlport/queue, stl/_ctraits_fns.h, _hashtable.h, _numeric.h, _string.h 3903 _tree.h: Fix macro guards used to avoid inclusion of _function.h or 3904 _function_base.h or functional thanks Dinesh Monga report. 3905 39062005-07-26 Petr Ovtchenkov <ptr@island...> 3907 3908 * doc/FAQ: description of pseudo-leaks, thanks Michael Fink. 3909 3910 * STLport (repository): STLport 5.0 RC4 3911 39122005-07-25 Francois Dumont <dums@stlport...> 3913 3914 * stlport/config/stl_evc.h: Move _DEBUG definition fix up before 3915 stl_msvc.h inclusion to have correct library link automatically. 3916 Thanks Michael Fink. 3917 39182005-07-24 Francois Dumont <dums@stlport...> 3919 3920 * stlport/stl/_string.c, _rope.c: Add instanciation of npos for all 3921 compilers thanks Simon. 3922 3923 * test/unit/string_test.cpp: Add creation of a reference to string::npos 3924 to force compiler to generate memory for it. Used to reveal a link error. 3925 3926 * test/unit/cppunit/cppunit_mini.h: Removed redondant semi column in 3927 CPPUNIT_TEST_SUITE_REGISTRATION macro definition. 3928 3929 * stlport/config/stl_msvc.h, stl_intel.h: Concidering that compilers 3930 emulating MSVC compilers use the same native Standard Library headers 3931 macros _STLP_NEW_PLATFORM_SDK and _STLP_NO_VENDOR_STDLIB_L has been moved 3932 outside the _STLP_MSVC scope. _STLP_GLOBAL_NEW_HANDLER is now defined 3933 only for Intel compiler versions before 9.0. 3934 3935 * stlport/cstdlib, stl/_cmath.h: Because of the previous remark about 3936 emulators of MSVC using MSVC headers, macro checks for global definition 3937 of C math functions has been changed from _STLP_MSVC to _MSC_VER. 3938 39392005-07-23 Michael Fink <vividos@users.sourceforge...> 3940 3941 * test/unit/locale_test.cpp: Added creating locale pointer in 3942 test_supported_locale() when no exception handling is available. 3943 3944 * src/stlport.rc: Added version info defines when not available through 3945 windows.h. Happens on evc3 MIPS and evc3 SH3. 3946 39472005-07-23 Francois Dumont <dums@stlport...> 3948 3949 * stlport/stl/_string_sum.h: Fix missing return statement in a compare 3950 method. 3951 39522005-07-22 Francois Dumont <dums@stlport...> 3953 3954 * stlport/stl/_algo.c: Fix search_n implementation for random access 3955 iterator thanks Jim Xochellis 3956 3957 * test/unit/algo_test.cpp: Add test case for the previous bug thanks 3958 Michael Fink. 3959 3960 * src/num_get_float.cpp: Fix gcc Mingwin and Cygwin special version with 3961 building with -O2 option. 3962 3963 * build/Makefiles/gmake/gcc.mak: Add -D_REENTRANT definition for cygwin and 3964 -mthreads for mingwin platform to make STLport thread safe like under the 3965 other supported platforms. 3966 39672005-06-30 Petr Ovtchenkov <ptr@island...> 3968 3969 * stlport/wchar.h, src/c_locale.c, stlport/stl/_threads.h: fix Netware 3970 wcs... functions. 3971 39722005-06-30 Francois Dumont <dums@stlport...> 3973 3974 * stlport/stl/_rope.h, _rope.c: Duplicate basic_string::npos definition code 3975 in rope implementation to use a "Standard" static const npos definition when 3976 possible depending on the compiler features. Thanks caldwed report. 3977 39782005-06-30 Michael Fink <vividos@users.sourceforge...> 3979 3980 * stlport/cstdlib, stdlib.h: Fixed issue with including stdlib.h after 3981 setjmp.h; fix from 2005-06-23 wasn't solving the problem. 3982 39832005-06-28 Francois Dumont <dums@stlport...> 3984 3985 * stlport/stl/_hash_func.h: For MSVC .Net compiler we grant the hash<size_t> 3986 specialization rather than the hash<unsigned int> one to avoid 64 bits 3987 warnings when instanciating a hashed container with the size_t key. 3988 3989 * stlport/stl/_istream_iterator.h: Modify istream_iterator implementation 3990 to avoid the default read from the istream even if the istream_iterator 3991 instance is not used. 3992 3993 * test/unit/istmit_test.cpp: Add many tests for the copy_n/istream_iterator 3994 combination. Those tests are no active for the moment as they are failing, 3995 will be fixed after 5.0 release. 3996 3997 * build/test/unit/nmake-vc-common.mak: Tests are no more built with the 3998 _STLP_NO_CUSTOM_IO option, see reason below. 3999 4000 * test/unit/fstream_test.cpp: Add custom_facet test to check that STLport 4001 support instanciation of basic_fstream with something else that the std::char_traits 4002 For the moment the test fail when we try to use the stream for I/O operations 4003 should be fixed after 5.0 release. 4004 40052005-06-27 Francois Dumont <dums@stlport...> 4006 4007 * src/locale_impl.cpp: Fix locale implementation to avoid to call facet 4008 destructor when user explicitely required not to do so. 4009 4010 * stlport/stl/_fstream.c: Fix _M_setup_codecvt method implementation to avoid 4011 a bad_cast exception on basic_filebuf construction. At this point the locale 4012 used to instanciate it is the classic locale that might not have the necessary 4013 codecvt facet. The user is then force to call imbue after basic_filebuf 4014 construction otherwise I/O operations will fail. When imbue is invoked, if 4015 the locale still do not have the necesary facet, the stream is put in the fail 4016 state. Thanks Alexander Pototskiy 4017 40182005-06-26 Francois Dumont <dums@stlport...> 4019 4020 * stlport/stl/_config_compat.h: Add _STLP_OWN_IOSTREAMS macro for backward 4021 compatibility with library checking it. 4022 40232005-06-23 Francois Dumont <dums@stlport...> 4024 4025 * src/complex.cpp, complex_trig.cpp, complex_exp.cpp: Removed code 4026 duplication between float, double and long double version thanks to 4027 some template functions. Thanks an Ulrich Eckhardt idear. 4028 4029 * stlport/cstdlib, stl/stdlib.h: Michael Fink patch to avoid setjmp.h 4030 inclusion problem as stdlib.h contains a setjmp macro definition. 4031 4032 * test/eh/main.cpp: Redirection of std::cout and std::cerr for WinCE 4033 thanks Michael Fink 4034 4035 * stlport/config/stl_evc.h: Restore long double support for WinCE, there 4036 is just no *l math functions. Only define _STLP_NATIVE_INCLUDE_PATH 4037 if not already defined, giving the user a chance to override the defaults 4038 for yet unknown SDKs. Thanks Michael Fink and Ulrich Eckhardt. 4039 4040 * build/Makefiles/nmake/evc3.mak, evc4.mak: removed unneeded set of CC 4041 for SHx; already done by setup batch. Thanks Michael Fink. 4042 40432005-06-21 Francois Dumont <dums@stlport...> 4044 4045 * stlport/stl/_ios.h, _ios_base.h, _num_get.c, _num_put.c, _complex.c, 4046 _istream.c, _time_facets.c: Fix cast expression for the cached facets, 4047 C casts replaced by static_cast and const added when missing. 4048 Thanks Oliver Stoeneberg report. 4049 4050 * test/unit/unary.h: Replaced old STLport with new style ones. Get sqrt 4051 function in global namespace rather than forcing use of the one in std 4052 namespace, avoids ambiguity with VC6. 4053 4054 * test/unit/resolve_name.cpp: Add _STLP_DO_IMPORT_CSTD_FUNCTIONS definition 4055 at the top of it to force import of C symbols in std even for limited 4056 compilers like VC6. 4057 4058 * stlport/stl/_valarray.h: Add global namespace scope to C function calls 4059 to avoid VC6 ambiguity problem. 4060 40612005-06-20 Francois Dumont <dums@stlport...> 4062 4063 * stlport/config/stl_gcc.h: Fix gcc 3.4.4 detection under cygwin thanks 4064 Ulrich Eckhardt report. 4065 4066 * stlport/stl/c_locale.h: Fix _Locale_mask_t definition for Mingwin. 4067 4068 * src/c_locale_win32/c_locale_win32.c: Add static assertion to check 4069 _Locale_mask_t size. 4070 4071 * src/complex_exp.cpp: Replaced complex log10 function static variables 4072 with global constant, avoid multithreaded init problem. Thanks Ulrich 4073 Eckhardt report. 4074 40752005-06-17 Francois Dumont <dums@stlport...> 4076 4077 * stlport/stl/_alloc.h: Add initialization of the memory buffer in 4078 allocator::allocate function and reset in allocator::deallocate to 4079 the _STLP_SHRED_BYTE motif when _STLP_DEBUG_UNINITIALIZED is defined 4080 to help track missing initialization issue. 4081 4082 * src/dll_main.cpp: Removed now useless _Node_alloc_helper class. 4083 4084 * stlport/stl/_alloc.c: Add complete cleanup of the __node_alloc static 4085 datas in the _S_chunk_dealloc method, this is important if the clean up 4086 occur before STLport shared lib is unloaded. 4087 4088 * stlport/stl/_alloc.c: Add a static instance of __node_alloc_cleaner in the 4089 _S_alloc_call method and change init number of allocation to 1 to force 4090 release of memory pool only on shared library unload. 4091 40922005-06-11 Francois Dumont <dums@stlport...> 4093 4094 * stlport/cstdlib, stl/_cmath.h: Add _STLP_NO_CSTD_FUNCTION_IMPORTS macro 4095 check before import of global C functions in STLport namespace. Required 4096 for VC6 compiler to avoid ambiguity issue. 4097 4098 * src/complex.cpp, complex_epx.cpp, complex_trig.cpp: Scope math function 4099 call with the global namespace to avoid VC6 ambiguity issue. It is safe 4100 for the other compilers as STLport do define those function in global 4101 namespace. 4102 41032005-06-10 Francois Dumont <dums@stlport...> 4104 4105 * stlport/stl/c_locale.h: Fix Cygwin configuration, separate alpha mask 4106 from lower and upper one to avoid all lower character to also be upper 4107 and opposite. 4108 4109 * src/ctype.cpp: Add static assertion to detect platform where 4110 alpha = lower | upper which is wrong for STLport use. 4111 41122005-06-10 Francois Dumont <dums@stlport...> 4113 4114 * stlport/stl/_hashtable.c: Fix max_load_factor management, Standard says 4115 that load_factor <= max_load_factor and not <; the function detecting need 4116 for rehash used to launch one even if the number of bucket do not change which 4117 was counter performant. Fix the _M_insert_noresize method that was breaking 4118 element order inserting elements in the middle of 2 equal elements. 4119 Thanks Dieter Freismuth report. 4120 4121 * stlport/config/stl_gcc.h: Fix relative include path for latest gcc cygwin 4122 package. 4123 41242005-06-10 Petr Ovtchenkov <ptr@island...> 4125 4126 * build/Makefiles/gmake/mwccnlm.mak: fix compiler version collection. 4127 4128 * build/Makefiles/gmake/netware/extern.mak: fix useful paths. 4129 4130 * src/c_locale.c: put here wrappers for some wfuncs, due to bogus 4131 system libs in Netware. 4132 4133 * stlport/cwchar: use STLport's wchar.h to take wchar_t/wint_t for 4134 Netware. 4135 4136 * stlport/wchar.h: use correct C declaration of some wfuncs, thanks 4137 again to ugly Netware libs. 4138 4139 * stlport/ciso646, stlport/iso646.h, stlport/wctype.h: headers absent 4140 for Novell Netware. 4141 4142 * stlport/cwctype: Metrowerks define __MSL__, but we don't use MSL libs 4143 if we have STLport for Netware. 4144 4145 * stlport/cstdlib: div function from Novell Netware clib and libc lead to 4146 system crash. 4147 41482005-06-08 Francois Dumont <dums@stlport...> 4149 4150 * build/test/unit: Removed references to the now useless CPPUNIT_MINI 4151 macro. 4152 4153 * test/unit/type_traits_test.cpp: Add new test case for trivial destructor 4154 detection. 4155 4156 * stlport/stl/_fstream.h: Add missing basic_fstream construction from a 4157 Win32 file handle, was already done for basic_ifstream and basic_ofstream, 4158 thanks Alex Cosealin report. 4159 41602005-06-07 Francois Dumont <dums@stlport...> 4161 4162 * build/test/unit/Makefile.inc: Fix syntax error at last line. 4163 41642005-06-06 Petr Ovtchenkov <ptr@island...> 4165 4166 * build/lib/configure: add config options for Metrowerks compiler for 4167 Novell NetWare platform [references to root of MW headers/libs and to Novell's 4168 SDK headers/libs]. 4169 4170 * build/Makefiles/gmake/mwccnlm.mak: fixes for Metrowerk/NetWare. 4171 4172 * build/Makefiles/gmake/app/mwccnlm.mak: idem. 4173 4174 * build/Makefiles/gmake/netware/extern.mak: idem. 4175 4176 * build/lib/mwccnlm.mak: idem. 4177 4178 * build/test/unit/mwccnlm.mak: idem. 4179 41802005-06-03 Francois Dumont <dums@stlport...> 4181 4182 * test/unit/locale_test.cpp: Remove the very platform dependent LColl 4183 class that was listing supported locales. STLport already do so and 4184 report it using a runtime_error exception when not supported. When 4185 compiler do not support exception only the C locale is checked. 4186 4187 * build/Makefiles/nmake: Patches from Michael Fink to 4188 - check platform before linking to crtrtti.lib 4189 - check right configuration when using a nmake-evc?.mak file 4190 - update STATUS file. 4191 41922005-06-02 Francois Dumont <dums@stlport...> 4193 4194 * src/c_locale_win32/c_locale_win32.c: Add workaround for a Windows PSDK bug 4195 concerning currency international symbol, the separation character is missing. 4196 4197 * src/locale_impl.h, locale_impl.cpp: Fix implementation to make classic locale 4198 implementation a normal instance that is released when the counter reach 0, the 4199 only difference is that no delete is performed on this instance. Idem for classic 4200 locale implementation facets. 4201 4202 * stlport/cwctype: And _GLIBCPP_USE_WCHAR_T check when using GLibC as in this 4203 case wide char functions are not imported in std and must be imported from the 4204 global namespace. 4205 42062005-06-01 Francois Dumont <dums@stlport...> 4207 4208 * src/locale_impl.h, locale_impl.cpp: Change classic locale initialization 4209 implementation for limited compiler like MSVC6. 4210 42112005-06-01 Petr Ovtchenkov <ptr@island...> 4212 4213 * stlport/stl/c_locale.h: check gcc on MacOS X. Patch by Zdenek Nemec 4214 4215 * build/Makefiles/nmake/evc3.mak, evc4.mak, targets.mak: 4216 support SH3/SH4 platform. Patch by Michael Fink. 4217 4218 * build/Makefiles/nmake/app/evc3.mak, evc4.mak: ditto. 4219 4220 * build/Makefiles/nmake/lib/evc3.mak, evc4.mak: ditto. 4221 4222 * build/lib/configure.bat, src/stlport.rc: ditto. 4223 42242005-05-30 Francois Dumont <dums@stlport...> 4225 4226 * src/locale_impl.h, locale_impl.cpp, stlport/stl/_locale.h: An other pass 4227 throught the classic locale initialization. Now all needed static variables 4228 are in _Locale_impl::make_classic_locale method. Removed useless _Stl_aligned_buffer 4229 union use in this locale initialization. Removed now useless _Locale_impl::free_classic_locale 4230 method. 4231 42322005-05-30 Petr Ovtchenkov <ptr@island...> 4233 4234 * stlport/stl/_windows.h: worry about Windows CE when check Interlocked 4235 API for MIPS. Patch by Michael Fink. 4236 4237 * build/lib/configure.bat: remove the -p option by autodetecting platform. 4238 Patch by Michael Fink. 4239 4240 * build/Makefiles/nmake/evc3.mak, evc4.mak: corrects the evc4 makefiles 4241 to always use the /GF switch [string pooling]. Patch by Michael Fink. 4242 4243 * doc/README.evc3, doc/README.evc4: reflect changes above. 4244 Patch by Michael Fink. 4245 4246 * stlport/errno.h, stlport/time.h: when building for evc, including 4247 errno.h and time.h often outputs the message in the #pragma statement 4248 that including this file won't include the native one, since there is no 4249 native include file. Now the text is only output when not building the library 4250 and when the file is included directly, not via another STLport header file. 4251 [Patch by Michael Fink.] 4252 42532005-05-29 Francois Dumont <dums@stlport...> 4254 4255 * test/unit/locale_test.cpp: Add opendir returned value when listing 4256 installed locale under linux. 4257 4258 * build/Makefiles/gmake: Patch from Zdenek Nemec for Mac OS X support. 4259 42602005-05-27 Francois Dumont <dums@stlport...> 4261 4262 * src/locale_impl.cpp: Add an initialization segment specification to make 4263 global static variable ios_base::Init instance initialization prioritized 4264 compare to STLport static global variable. iostreams like cout can be used 4265 in global static variable initialization. 4266 42672005-05-26 Francois Dumont <dums@stlport...> 4268 4269 * build/Makefiles/nmake/evc4.mak: Patch from Ulrich Eckhardt to use CC 4270 environment variable defined by WCE*.bat script rather than redefining 4271 it. 4272 4273 * src/locale.cpp, locale_impl.cpp, locale_catalog.cpp: New pass to move 4274 static global variable in function to make initialization order clear. 4275 42762005-05-25 Francois Dumont <dums@stlport...> 4277 4278 * stlport/ciso646: Creation of this missing C++ standard header STLport 4279 wrapper. 4280 4281 * stlport/stl/_istream.h, _num_get.c, _algo.c, _monetary.c, _time_facets.h, 4282 _time_facets.c: Replaced occurences of __in and __out reserved by Microsoft. 4283 42842005-05-24 Francois Dumont <dums@stlport...> 4285 4286 * stlport/headers: Patch from Michael Fink to avoid inclusion of headers 4287 not available under evc3. 4288 4289 * test/unit/*_header_test.cpp: Fix tests for no iostreams mode. 4290 4291 * src/locale_impl.cpp, locale_impl.cpp: Modify implementation to force 4292 correct initialization order of static instances. 4293 4294 * stlport/strstream: Add _ioserr.h file to avoid inclusion in no iostreams 4295 mode. 4296 42972005-05-23 Petr Ovtchenkov <ptr@island...> 4298 4299 * stlport/stl/_config.h: detect endianness for Intel's 64bit Pentium and 4300 Itanium processors. Thanks Albrecht Fritzsche for contribution. 4301 43022005-05-20 Francois Dumont <dums@stlport...> 4303 4304 * build/test/eh: Patch from Michael Fink to add EVC4 support for this test 4305 suite. 4306 4307 * src/fstream.cpp: Use of Wlodek Szafran implementation for the _Filebuf_base::_M_read 4308 method which is more performant than the previous one. 4309 4310 * test/unit/fstream_test.cpp: Add of a test for the special Win32 file format. 4311 4312 * test/unit: Add of many test to check Standard C/C++ headers independancy 4313 and correct C header implementation. 4314 43152005-05-18 Francois Dumont <dums@stlport...> 4316 4317 * src/fstream.cpp: Fix buffer overflow in _Filebuf_base::_M_read method 4318 for the Win32 platform implementation thanks Wlodek Szafran report. 4319 4320 * src/c_locale_dummy/c_locale_dummy.c: Patch from Michael Fink for wrong C 4321 prototype. 4322 43232005-05-17 Petr Ovtchenkov <ptr@island...> 4324 4325 * test/unit/locale_test.cpp: some fixes in moneypunct test, related 4326 to international currency format; some problems still remains, due to 4327 unclear specifications---if international currency 3-chars abbreviation 4328 used in suffix form, additional space will be appended 4329 ['1 234.56 RUR ']. This is due to intl_fmp.curr_symbol() == "RUR ", 4330 and the last is conform to OpenGroup spec. 4331 43322005-05-16 Petr Ovtchenkov <ptr@island...> 4333 4334 * src/c_locale_stub.cpp: "stub" implemntation moved into 4335 c_locale_dummy/c_locale_dummy.c, this file removed 4336 4337 * src/c_locale.c: include c_locale_dummy/c_locale_dummy.c, in case of 4338 no real locale implementation. 4339 4340 * src/c_locale_dummy/c_locale_dummy.c: This is a "stub" implementation 4341 of the "c_locale.h" interface, intended for operating systems where 4342 we have not yet written a real implementation. A C++ library using 4343 this stub implementation is still standard-conforming, since 4344 the C++ standard does not require that any locales other 4345 than "C" be supported. 4346 4347 * build/lib/Makefile.inc: src/c_locale_stub.cpp removed. 4348 4349 * src/facets_by_name.cpp: add comments in the _Init_monetary_formats. 4350 4351 * src/c_locale_glibc/c_locale_glibc2.c: annotate some monetary-related 4352 functions. 4353 43542005-05-14 Petr Ovtchenkov <ptr@island...> 4355 4356 * build/Makefiles/gmake/aCC.mak: HP's aCC compiler and HP-UX os support. 4357 This isn't really checked and should be fixed on real system. 4358 4359 * build/Makefiles/gmake/app/aCC.mak, gmake/lib/aCC.mak: ditto. 4360 4361 * build/Makefiles/gmake/hp-ux/extern.mak, lib.mak: ditto. 4362 4363 * build/Makefiles/gmake/hp-ux/rules-install-so.mak, rules-so.mak: ditto. 4364 4365 * build/Makefiles/gmake/hp-ux/gmake/hp-ux/sys.mak: ditto. 4366 4367 * build/lib/aCC.mak: ditto. 4368 4369 * build/test/unit/aCC.mak: ditto. 4370 4371 * build/test/unit/gcc.mak: remove dbg-shared tag from default build; 4372 if you need unit tests with debug info and without _STLP_DEBUG, make this 4373 tag explicitly. 4374 43752005-05-14 Francois Dumont <dums@stlport...> 4376 4377 * stlport/stl/_config.h, _config_compat_post.h, _cwchar.h, _epilog.h: 4378 Patch from Albrecht Fritzsche to remove C++ comment from files accessible 4379 by a pure C compiler. 4380 4381 * stlport/stl/c_locale.h: idem. 4382 4383 * src/c_locale.h, c_locale_glibc/c_locale_glibc2.h: idem. 4384 4385 * src/gcc_localeinfo.h, c_locale_win32/c_locale_win32.c: idem. 4386 4387 * build/Makefiles/gmake/gcc.mak: Add the -ansi option to the C compiler 4388 command to know if any regression occur concerning use of C++ comment 4389 in C files. 4390 43912005-05-13 Francois Dumont <dums@stlport...> 4392 4393 * src/c_locale_win32/c_locale_win32.c: Improve the locale name recognition 4394 system to be more unix compliant. Now you can pass locale name like 4395 lang_country[.codepage] with lang being one of the ISO 639 values and 4396 country one of the ISO 3166 ones. 4397 4398 * test/unit/locale_test.cpp: Add a test case for the ctype facet. 4399 4400 * test/unit/locale_test.cpp: Now list all the installed locales under 4401 Win32 to test more locale than the simple french one. 4402 4403 * stlport/config/stl_msvc.h: Removed _WINDLL macro check when trying 4404 to guess what type of library (dynamic/static) the STLport user want 4405 to link with. _WINDLL is defined when generating a dll but it do not 4406 imply anything on the user wish. 4407 4408 * src/ctype.cpp: Improve the ctype::scan_is method, you can now scan 4409 for a character conforming to several ctype_base::mask and not only to one. 4410 4411 * src/ctype.cpp: Idem previous for ctype::scan_not which returns the first 4412 character that do not conform to any of the passed mask. 4413 4414 * test/eh: Restore exception handling test suite. Removed some equality 4415 tests that is no more valid for hash containers, this kind of test 4416 is better in the unit tests. Add makefiles for MSVC compilers. 4417 4418 * stlport/stl/_tree.c: Fix _M_insert method that was leaking in case of 4419 exception thrown by the comparison operator, reported by eh tests. 4420 44212005-05-09 Francois Dumont <dums@stlport...> 4422 4423 * stlport/stl/_ctype.h, src/ctype.cpp: Reenforce data encapsulation of the 4424 ctype<char> template specialization class. class static arrays 4425 _S_upper, _S_lower, _S_classic_table removed from the definition and hiden 4426 in the .cpp file. 4427 4428 * src/dll_main.cpp: Change _STLP_UNIX macro check in _STLP_PTHREADS check 4429 as per thread allocator is only supported if the Posix pthread API is used, 4430 thanks a Albrecht Fritzsche remarked. 4431 44322005-05-07 Francois Dumont <dums@stlport...> 4433 4434 * stlport/config/stl_gcc.h: Patch from John Smith for Mac OS X support. 4435 4436 * test/unit/locale_test.cpp: Idem previous. 4437 4438 * build/Makefiles/gmake/cygming/lib.mak, sys.mak: Import lib extension 4439 change from .lib to .dll.a for Mingw like under Cygwin. ld linker 4440 looks for .dll.a before .lib, avoid conflict with Cygwin lib. 4441 44422005-05-07 Petr Ovtchenkov <ptr@island...> 4443 4444 * stlport/errno.h: use C++ 'using' construction only for C++. Thanks Gary. 4445 4446 * build/Makefiles/gmake/lib/gcc.mak: option for libname for Darwin. 4447 4448 * build/Makefiles/gmake/app/mwccnlm.mak: build for Novell NetWare 5 4449 with MetroWerks 7 and 8 compilers. 4450 4451 * build/Makefiles/gmake/lib/mwccnlm.mak: ditto 4452 4453 * build/lib/mwccnlm.mak: ditto 4454 4455 * build/Makefiles/gmake/mwccnlm.mak: ditto 4456 4457 * build/Makefiles/gmake/netware/extern.mak: ditto 4458 4459 * build/Makefiles/gmake/netware/lib.mak, sys.mak: ditto 4460 4461 * src/_stdio_file.h, num_get_float.cpp, num_put_float.cpp: ditto 4462 4463 * stlport/cstdio, cwchar, cwctype, stdio.h, wchar.h: ditto 4464 4465 * stlport/config/stl_mwerks.h: ditto 4466 4467 * stlport/stl/_config.h, _fstream.h, _hashtable.c, _sstream.c: ditto 4468 4469 * stlport/stl/_threads.h, c_locale.h, char_traits.h: ditto 4470 4471 * build/Makefiles/gmake/sysid.mak: treat mwccnlm as cross-compiler, 4472 set correct TARGET_OS and OS-related macros. 4473 4474 * stlport/stl/_valarray.h: remove exhaustive this->. 4475 44762005-05-04 Francois Dumont <dums@stlport...> 4477 4478 * stlport/config/stl_msvc.h: Change configuration for MSVC .Net 2003 and 4479 2005 that seems to have a bug in the namespace management. 4480 4481 * stlport/stdlib.h: Add errno.h inclusion from this file for gcc mingw 4482 as this compiler version do define errno macro in stdlib.h as MSVC do. 4483 44842005-05-03 Francois Dumont <dums@stlport...> 4485 4486 * stlport/stl_user_config.h, stl/_site_config.h, config/stl_gcc.h, _prolog.h, 4487 _epilog.h: Use strict Ansi C comments (/**/) for headers accessible thought 4488 the STLport C headers. 4489 4490 * stlport/C headers: Cleaned from C++ style comments. 4491 44922005-05-02 Francois Dumont <dums@stlport...> 4493 4494 * build/Makefiles/nmake/vc-common.mak: Restore of LDFLAGS_A_REL introduce 4495 the 2004-10-30 and lost the 2005-04-16, it avoids warning due to use 4496 of the whole program optimization with VC.Net 2003 and 2005. 4497 4498 * stlport/stl/_string_io.c: Modification of the basic_string i/o operators 4499 in the way it deals with the size_type and streamsize difference; it is 4500 equivalent with the former one but do not generate warning with gcc 4501 (mingwin). 4502 4503 * stlport/stddef.h, stdlib.h, errno.h: Fix issue under MSVC compilers where 4504 native stdlib.h and stddef.h are defining errno macro without including 4505 errno.h forbiding STLport to do so. Now errno.h will report this problem with 4506 an explicit #error. 4507 4508 * test/unit/test_errno.cpp: Improvement of the test to reveal the previous 4509 issue. 4510 45112005-05-02 Petr Ovtchenkov <ptr@island...> 4512 4513 * makesystem (repository): restore experimental support of MetroWerks 4514 compiler for NetWare, with help of GNU make and Cygwin environment. 4515 45162005-04-29 Francois Dumont <dums@stlport...> 4517 4518 * stlport/stl/_time_facets.c: gcc warnings reveal that we were missing some 4519 ctype::widen method call to compare things like month or day names. 4520 Also simplified implementation of the __match and __get_formatted_time that 4521 do not really need all the template parameters passed to it. 4522 4523 * stlport/stl/_num_put.c: Add a cast to make call to the function min more 4524 clear, it will perhaps help EVC++ builds correctly. 4525 4526 * src/strstream.cpp, stlport/stl/_sstream.c: Removed static assertion 4527 replaced by modified implementation that takes into account the difference 4528 between size_t and streamsize. 4529 45302005-04-28 Francois Dumont <dums@stlport...> 4531 4532 * test/unit/limits_test.cpp: Improve integral types limit test for type 4533 of unknown sign. In this case we check the min value of this integral type, 4534 if 0 the type is unsigned. Moreover we check, except for the bool type, 4535 the sign of -1 cast to the integral type, bool is a special type that 4536 generate warning when built from -1 (MSVC). 4537 4538 * src/ctype.cpp: Creation of a small helper structure to check the validity 4539 of a wchar_t value used as an index. This helper struct takes into account 4540 the compiler representation of the wchar_t type, is it a sign type or not. 4541 This helper avoids warning when wchar_t is unsigned. 4542 4543 * src/num_get.cpp: Removed unused _Initialize_get_digit function and 4544 associated narrow_digits and narrow_xdigits arrays. 4545 45462005-04-28 Petr Ovtchenkov <ptr@island...> 4547 4548 * stlport/stl/_sstream.h, _num_put.c: __in replaced by __imode, __out 4549 by __omode or __oi due to MS privatize __in and __out. Thanks Michael Fink. 4550 45512005-04-27 Francois Dumont <dums@stlport...> 4552 4553 * src/fstream.cpp: Fix Win32-64 file stream implementation. _M_read and 4554 _M_write can now correctly handle respectively read and write of really 4555 big buffers ( > 2Go) 4556 4557 * using/iosfwd.h, stlport/strstream.h, stl/_rope.h, _rope.c, _complex.h: Removed 4558 references to the _STLP_USE_NEW_IOSTREAMS macro, STLport only support "new" 4559 iostreams. 4560 4561 * test/unit/max_test.cpp, min_test.cpp: Add tests to check that min and 4562 max are not defined as macros. 4563 4564 * test/fstream_test.cpp: Add check in creation of test_file.txt 4565 as following tests depends on its content. 4566 4567 * src/strstream.cpp, stdio_streambuf.cpp: Fix potential issue because of 4568 the difference between streamsize and size_t of ptrdiff_t. 4569 Add static assertion to clearly specify how streamsize must be to have 4570 a correct behavior. 4571 4572 * stlport/stl/_num_put.c, _num_get.c, _fstream.c, _moneraty.c: ditto. 4573 4574 * src/ctype.cpp: Restore check on wchar_t positivity as according 4575 2005-02-22 Petr Ovtchenkov reports wchar_t can be signed. 4576 45772005-04-26 Francois Dumont <dums@stlport...> 4578 4579 * src/num_get_float.cpp: Fix mingwin support for 64bits integer type 4580 thanks Wlodek Szafran 4581 45822005-04-25 Francois Dumont <dums@stlport...> 4583 4584 * stlport/stl/_time_facets.c: Fix __pos type in __match function and removed 4585 unused __max_pos definition and initialisation. 4586 4587 * src/c_locale_win32/c_locale_win32.c: Add some cast to remove warnings. 4588 4589 * stlport/stl/_moneraty.c: Fix __witdh definition to use streamsize rather 4590 than size_t to avoid warnings. 4591 45922005-04-25 Petr Ovtchenkov <ptr@island...> 4593 4594 * build/test/gcc.mak: workaround for [bug?] gmake, that sometimes lose 4595 increment of target-specific macro and, may be, under condition. 4596 Thanks Jeff Williams. 4597 4598 * build/Makefiles/gmake/icc.mak: add icc 8.1 compiler-specific libs 4599 4600 * build/Makefiles/gmake/icc.mak: detect icc version; add includes 4601 from compiler to include path 4602 4603 * test/unit/cppunit/test_main.cpp, cppunit_mini.h: add option -x, run all 4604 except specified CLASS::TEST. 4605 46062005-04-23 Francois Dumont <dums@stlport...> 4607 4608 * stlport/stl/_ioerr.h: #error message modification thanks Michael Fink. 4609 46102005-04-22 Francois Dumont <dums@stlport...> 4611 4612 * stlport/stl/_istream.c: Fix _M_read_buffered function implementation, 4613 there used to be a wrong implicit conversion from streamsize to ptrdiff_t, 4614 which fail when sizeof(streamsize) > sizeof(ptrdiff_t). 4615 See 2005-04-21 Petr report. 4616 4617 * test/unit/: Replaced all _STLP_NO_IOSTREAMS occurences with the STLport 4618 internal equivalent _STLP_USE_NO_IOSTREAMS. The first one is defined 4619 by the client while the second depends on the first and on the compiler 4620 abilities, makes the unit tests more portable. 4621 4622 * stlport/stl/_cmath.h: Fix for Intel C++ compiler that also have all 4623 C math functions in global namespace. 4624 46252005-04-21 Francois Dumont <dums@stlport...> 4626 4627 * stlport/stl/_hashtable.h: Extend the hashtable template methods extension 4628 to the method computing the bucket from the key thanks Dominik Siatkowski. 4629 4630 * stlport/stl/_threads.h: Disable 64 bits portability warning for 4631 MSVC compilers. MSVC do not see that the called function comes from 4632 a macro that is different under Win32 and Win64. 4633 46342005-04-21 Petr Ovtchenkov <ptr@island...> 4635 4636 * test/unit/sstream_test.cpp, fstream_test.cpp: integral type for 4637 ptrdiff_t shorter than for streamsize; this cause problem on 4638 Win32 platform, that support files larger than 4GB. 4639 Thanks Timothy Tenebekov for report. 4640 46412005-04-20 Francois Dumont <dums@stlport...> 4642 4643 * stlport/stl/debug/_debug.c: Small Borland compiler fix to avoid call to 4644 vsnprintf before version 0x550 thanks esanfo. 4645 4646 * src/dll_main.cpp: Fix bug reported by Intel C++ (icl) compiler. 4647 46482005-04-20 Petr Ovtchenkov <ptr@island...> 4649 4650 * src/num_get_float.c: use uint64_t for 64-bit, but unsigned long long 4651 for constants. This fix problem on linux x86_64 [amd64]. 4652 46532005-04-16 Francois Dumont <dums@stlport...> 4654 4655 * test/unit/cppunit/test_main.cpp: Patch from Michael Fink to improve 4656 the macro filter for including windows.h (UNDER_CE rather than WIN32). 4657 4658 * build/test/unit/STATUS: Update from Michael Fink and myself. 4659 4660 * build/Makefiles/nmake: Apply Michael Fink patch to generate .pdb file 4661 even in release mode and to install them in bin and lib folders next to 4662 the .dll and .lib files. 4663 4664 * stlport/stl/_algobase.c: Add missing const in return type of the const 4665 version of find specialized for const char*. 4666 46672005-04-16 Petr Ovtchenkov <ptr@island...> 4668 4669 * stlport/stl/_algobase.c: memchr return NULL if value not found, 4670 while find() [specialization for char *] should return last 4671 [see record 2005-02-27 below]. Thanks Joshua Berne for report. 4672 4673 * test/unit/find_test.cpp: if char not found, char specialization of 4674 find() should return last, not NULL. 4675 46762005-04-14 Petr Ovtchenkov <ptr@island...> 4677 4678 * stlport/stl/_list.h, _slist.h: add this-> resolution to get_allocator 4679 [required in the member templates to resolve possible ambiguity] 4680 46812005-04-13 Francois Dumont <dums@stlport...> 4682 4683 * stlport/stl/_list.h, _slist.h: Add missing get_allocator() call when 4684 building temporary list or slist instances in insert methods. 4685 46862005-04-12 Petr Ovtchenkov <ptr@island...> 4687 4688 * stlport/errno.h: solution 2005-04-12 not useful. Simplified schema, 4689 semantically equivalent to Francois', but without extra function definition 4690 [see records 2005-03-31 and 2005-04-01] 4691 46922005-04-12 Petr Ovtchenkov <ptr@island...> 4693 4694 * stlport/errno.h: check if we undefine previously defined errno 4695 46962005-04-11 Petr Ovtchenkov <ptr@island...> 4697 4698 * stlport/errno.h: save original errno definition 4699 47002005-04-10 Petr Ovtchenkov <ptr@island...> 4701 4702 * STLport (repository): STLport 5.0 RC3 4703 47042005-04-08 Francois Dumont <dums@stlport...> 4705 4706 * test/unit/locale_test.cpp: Add __FreeBSD__ macro check for the workaround 4707 announced as Free BSD specific by the comment next to it. 4708 4709 * stlport/stl/_config.h: Add undef of _STLP_USE_DYNAMIC_LIB when in 4710 NO_IOSTREAMS mode, this macro was generating buggy code in this case 4711 for some commpilers (gcc mingwin). 4712 47132005-04-07 Francois Dumont <dums@stlport...> 4714 4715 * build/lib/nmake-vc-common.mak: Removed useless add of STLport/lib to 4716 library paths when building STLport lib. 4717 4718 * build/Makefiles/nmake/*: Removed useless specification of the MSVC default 4719 install directory, all the job is done by the vcvcars32.bat script that sets 4720 the LIB env variable to the real MSVC install directory. 4721 4722 * test/unit/unordered_test.cpp, locale_test.cpp: Removed gcc mingw warnings. 4723 4724 * build/Makefiles/nmake/icl.mak, app/icl.mak, lib/icl.mak: Removed the 4725 whole program optimization option, looks like it is confusing icl. 4726 4727 * stlport/stl/debug/*.h: Removed useless _Get_base non-const overload. 4728 In addition to being useless Intel compiler emit compilation error about it. 4729 47302005-04-06 Petr Ovtchenkov <ptr@island...> 4731 4732 * test/unit/cppunit/test_main.cpp: windows.h required here 4733 [see 2005-04-04; patch by Michael Fink]. 4734 4735 * stlport/stl/_istream.h: __is replaced by __istr, due 4736 to MS privatize __is. 4737 4738 * stlport/stl/_num_get.h: __in replaced by __ii, due to MS 4739 privatize __in too. 4740 4741 * stlport/stl/_config.h: Visual C++ 8 uses _M_AMD64 to identify 4742 EM64T and AMD64 platforms [thanks Mike Roberts]. 4743 47442005-04-05 Francois Dumont <dums@stlport...> 4745 4746 * stlport/config/stl_evc.h: apply patch from Michael Fink to add support for 4747 various EVC SDK. 4748 4749 * stlport/stl/_cmath.h: An other adaptation to the Intel C++ compiler. 4750 4751 * build/lib/nmake-vc-common.mak, test/unit/nmake-vc-common.mak: Removed check 4752 of STLP_BUILD_FORCE_[STATIC,DYNAMIC]_RUNTIME environment variables, 4753 moved in a common build system file. 4754 4755 * build/Makefiles/nmake/vc-common.mak: Add checks of 4756 STLP_BUILD_FORCE_[STATIC,DYNAMIC]_RUNTIME variables. 4757 4758 * build/lib/configure.bat: Add a clean option to remove the hidden 4759 Makefiles/config.mak file. 4760 4761 * stlport/stdexcept: Disable 'non dll-interface class used as base' warning 4762 when building STLport dll linked with the static runtime. 4763 47642005-04-04 Francois Dumont <dums@stlport...> 4765 4766 * test/unit/mfunptr_test.cpp: Add necessary macro checks for a test 4767 that require partial template specialization compiler support. 4768 47692005-04-04 Petr Ovtchenkov <ptr@island...> 4770 4771 * errno.h, time.h, test_errno.cpp: evc3 and evc4 has no errno.h 4772 and time.h headers [patch by Michael Fink]. 4773 4774 * stl_evc.h, _windows.h, test_main.cpp: workaround to not include 4775 <windows.h> in STLport headers (it is still needed for building 4776 the lib and the unit tests, but that should be no problem). 4777 Occurences of GetCurrentProcess() used in _STLP_ABORT were replaced 4778 with the result of the inline function, which returns a pseudo- 4779 HANDLE value. [patch by Michael Fink] 4780 4781 * cwchar, wchar.h, stl/_cwchar.h: fix access to mbstate and wint_t 4782 for FreeBSD. 4783 4784 * build/Makefiles/gmake/sysid.mak, app/gcc.mak, lib/gcc.mak: 4785 FreeBSD before 5.3 require linkage with libc_r, while 5.3 and 4786 later use libpthread. 4787 4788 * test/unit/locale_test.cpp: add std:: namespace qualifier for 4789 gcc 3.3.2 and/or FreeBSD. 4790 4791 * libstlport, test/unit: library build and most tests pass for 4792 FreeBSD 5.3 and FreeBSD 4.10. 4793 47942005-04-02 Francois Dumont <dums@stlport...> 4795 4796 * stlport/cstdlib: Fix missing div taking long definition for VC71. 4797 47982005-04-01 Francois Dumont <dums@stlport...> 4799 4800 * stlport/errno.h: Add comments to explain the file code. 4801 4802 * stlport/stl/_string_io.h: Yet an other fix to the i/o basic_string 4803 operators that was not right under cygwin/mingwin. 4804 4805 * build/Makefiles/gmake/gcc.mak: Merge the 2 distinct cygmin blocks 4806 in one and add -Wall and -Wsign-promo warnings. 4807 48082005-04-01 Petr Ovtchenkov <ptr@island...> 4809 4810 * test/unit/test_errno.cpp: fix test, errno may be non-zero without 4811 any error, but it reflect error code after some function fail. 4812 This not the same. 4813 4814 * test/unit/mfunptr_test.cpp: add step-by-step test how compiler 4815 recognize bind of member function for find_if. Not all compilers may 4816 understand this. Thanks Markus for test idea. 4817 48182005-03-31 Francois Dumont <dums@stlport...> 4819 4820 * stlport/errno.h: Fixed for MSVC compilers, should still be fine for 4821 others. 4822 4823 * test/unit/test_errno.cpp: Modified to be a real unit test. Also test 4824 errno assignment. 4825 48262005-03-30 Francois Dumont <dums@stlport...> 4827 4828 * stlport/stl/_fstream.c: Try to fix ambiguous type deduction in a max 4829 call under WinCE. 4830 4831 * stlport/stl/_cmath.h: Fix missing non Standard hypot function under 4832 WinCE thanks Michael Fink. 4833 4834 * stlport/stl/_cmath.h: Attempt to fix the WinCE math function support 4835 where neither *f nor *l functions are present even if the compiler 4836 support the long double type. 4837 48382005-03-30 Petr Ovtchenkov <ptr@island...> 4839 4840 * stlport/assert.h, float.h, iso646.h, limits.h, errno.h: 4841 added in accordance with Standard D.5 [compatibility with standard 4842 C library] to prevent wrong std interpretation in ill-formed native 4843 headers [definition of namespace std in C headers]. 4844 4845 * test/unit/test_errno.cpp: check correct processing of errno.h 4846 header. 4847 4848 * build/test/eh: build eh tests again. 4849 4850 * test/eh/LeakCheck.h, TestClass.cpp, TestClass.h: fix and clear. 4851 4852 * test/eh/test_hash_map.cpp, test_hash_set.cpp: hash_set/hash_map 4853 has no == operator [no container equality]; this fix is quick-and-dirty 4854 48552005-03-29 Petr Ovtchenkov <ptr@island...> 4856 4857 * build/Makefiles/gmake/app/rules.mak, freebsd/rules-so.mak, 4858 linux/rules-so.mak, openbsd/rules-so.mak, sunos/rules-so.mak: 4859 fix link sequence---the end objects should be really last, i.e. after libs. 4860 This affected by linkage without libstdc++. 4861 4862 * stlport/stl/_cwchar.h, stlport/wchar.h: workarounds for FreeBSD. 4863 4864 * due to change in link sequence most tests [including exceptions] pass 4865 for uClibc. 4866 4867 * stlport/mmemory.h: garbage, removed. 4868 4869 * stlport/export: ditto. 4870 48712005-03-28 Francois Dumont <dums@stlport...> 4872 4873 * stlport/stl/_istream.h, _ostream.h: Fix assignment operators prototypes 4874 for the sentry struct. Thanks -Weffc++ feature of gcc. 4875 4876 * build/Makefiles/gmake/cygmin/rules-install-so.mak: Add missing folder 4877 creation in the install process thanks Charlemagne report. 4878 4879 * build/Makefiles/nmake/icl.mak: Fix Intel compiler build system under 4880 Windows. 4881 48822005-03-28 Petr Ovtchenkov <ptr@island...> 4883 4884 * src/num_put_float.cpp: in FreeBSD no *cvt* functions now, use sprintf; 4885 4886 * stlport/config/stl_gcc.h: in FreeBSD no math *l functions and llabs. 4887 4888 * test/unit/string_test.cpp: more test with assignment. 4889 48902005-03-25 Petr Ovtchenkov <ptr@island...> 4891 4892 * stlport/stddef.h: fix typo in header id---this mistake prevent 4893 inclusion _epilog.h. 4894 4895 * test/unit/epilog_test.cpp: regression test for bug above. 4896 4897 * stlport/cstdio: fix header id to avoid possible errors. 4898 48992005-03-24 Petr Ovtchenkov <ptr@island...> 4900 4901 * build/Makefiles/gmake/lib/gcc.mak, build/Makefiles/gmake/app/gcc.mak: 4902 code reorganization to simplify platform configuration with or without 4903 -nostdlib [avoid link with libstdc++ or libestdc++]; now link without 4904 libstdc++/libestdc++ supported on Linux and OpenBSD. 4905 4906 * build/Makefiles/gmake/openbsd/rules-so.mak: idem. 4907 4908 * build/Makefiles/gmake/freebsd/rules-so.mak: idem. 4909 4910 * src/num_put_float.cpp: clean float convertions for OpenBSD and FreeBSD; 4911 OpenBSD and FreeBSD use STLport code instead of sprintf now. 4912 4913 * stlport/stl/_cwchar.h: allow masquarade to use mbstate_t from native 4914 cwchar header on OpenBSD. 4915 4916 * stlport/config/slt_gcc.h: llabs and *l math functions absent in OpenBSD; 4917 define __unix, that missed in OpenBSD. 4918 49192005-03-23 Petr Ovtchenkov <ptr@island...> 4920 4921 * build/Makefiles/gmake/app/gcc.mak, build/Makefiles/gmake/lib/gcc.mak: 4922 incorporate gcc language support library into libstlport.so 4923 [add ~100k to library], but libsupc++ don't required more in link stage 4924 for applications and libraries that use stlport, as in case with 4925 libstdc++. 4926 49272005-03-22 Francois Dumont <dums@stlport...> 4928 4929 * stlport/stl/_string_io.c: Fix basic_string stream output operator 4930 implementation for cygwin. 4931 4932 * stlport/stl/_cmath.h: Add fixes for cygwin support that handle long double 4933 but do not have *l maths function per default. 4934 4935 * src/complex_exp.cpp: Fix call to logl, replaced by call to log. 4936 4937 * src/complex_trig.cpp: Fix mingw support by checking M_LN2l existence 4938 before using it. 4939 4940 * test/unit/copy_test.cpp: Change test cases to avoid use of iostreams. 4941 4942 * test/unit/string_test.cpp: Add a small check to test use of istream width 4943 in the input operator. 4944 4945 * stlport/cstdlib, stlport/config/stl_msvc.h, stl_gcc.h: Creation of the 4946 _STLP_NO_VENDOR_STDLIB_L macro to report support of the llabs and lldiv 4947 function. 4948 49492005-03-21 Petr Ovtchenkov <ptr@island...> 4950 4951 * stlport/stl/_cmath.h: removed logf, expf, sinf, cosf; option 4952 -fno-builtin passed to gcc compiler solve the problem with uClibc; 4953 this imply same option in building uClibc, as it is in normal uClibc build. 4954 This is partial rollback of changes 2005-03-16. 4955 4956 * build/lib/configure, build/Makefiles/gmake/gcc.mak: add ability to pass 4957 extra flags to C++ compiler 4958 49592005-03-18 Francois Dumont <dums@stlport...> 4960 4961 * test/unit: Modified some test in order to check the _STLP_NO_IOSTREAMS 4962 mode. This new mode of tests reveals the following bugs: 4963 4964 * stlport/stl/_rope.c: Add check of _STLP_USE_NO_IOSTREAMS macro before 4965 include of iostream header. 4966 4967 * src/dll_main.cpp, stlport/stl/_string_fwd.h: Removed implementation 4968 of __get_c_string, moved to _string.h header, once string has been defined, 4969 as an inline function. 4970 49712005-03-18 Petr Ovtchenkov <ptr@island...> 4972 4973 * src/complex_trig.cpp: avoid call log functions during static 4974 initialization, if possible. 4975 49762005-03-17 Francois Dumont <dums@stlport...> 4977 4978 * stlport/stl/_string_io.h: Fix implementation that used to think that 4979 size_t and streamsize was simply aliases. Thanks Jay Amin report. 4980 4981 * stlport/config/_prolog.h: Add comment about the reason of alignment 4982 specification when using MSVC compilers. Fix alignment for Win64 platform. 4983 4984 * stlport/stl/_alloc.h: Fix _ALIGN enum definition for _Win64 platform. 4985 4986 * src/string_w.cpp: Fix wrong class export under debug mode thanks 4987 Charlemagne report. 4988 4989 * build/Makefiles/nmake: Preparation of the build system for icl (Intel cl 4990 compiler (mimic cl compiler from Microsoft). 4991 49922005-03-16 Petr Ovtchenkov <ptr@island...> 4993 4994 * stlport/stl/_cmath.h: added logf, expf, sinf, cosf---this fix 4995 uClibc 0.9.27/gcc problem. Fix one macro for declaration math 4996 functions in case of absent *f functions. 4997 49982005-03-16 Francois Dumont <dums@stlport...> 4999 5000 * stlport/config/*: Clean native header include path macro definition. 5001 Removed many useless definition simply recreating the default behavior. 5002 Removed the unreferenced _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH macro. 5003 5004 * stlport/stl/_site_config.h: Update relative path headers macros 5005 documentation to reflect more accurately default behavior and add 5006 the unreference _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH macro. 5007 50082005-03-15 Francois Dumont <dums@stlport...> 5009 5010 * stlport/stl/_fstream.h: Fix _Noconv_input helper class default implementation. 5011 Returns traits::eof() rather than 0. 5012 50132005-03-15 Petr Ovtchenkov <ptr@island...> 5014 5015 * src/complex.cpp, complex_exp.cpp, complex_io.cpp, complex_trig.cpp: 5016 use achievements in _cmath.h---use overloaded funcs; mascarade from 5017 complex_impl.h not required more. 5018 5019 * src/complex_impl.h: deleted. 5020 5021 * test/unit/cmath_test.cpp: check nested sqrt(sqrt)---possible problem with macro 5022 50232005-03-14 Francois Dumont <dums@stlport...> 5024 5025 * stlport/config/stl_msvc.h: _STLP_SAME_FUNCTION_NAME_RESOLUTION_BUG notion 5026 removed, impossible to reproduce, maybe fixed by the #pragma intrinsic/function 5027 directives. 5028 5029 * stlport/stl/_cmath.h, cstdlib: Fix .Net 2003 and .Net 2005 beta support. 5030 5031 * stlport/stl/_cmath.h: Removed _STLP_SAME_FUNCTION_NAME_RESOLUTION_BUG notion, 5032 no more _STLP_DO_* macros. 5033 5034 * test/unit/valarray_test.cpp: New tests to check right compilation of 5035 transcendentals valarray functions. 5036 5037 * stlport/stl/_valarray.h: Replaced all the _STLP_DO_* macros by real 5038 function calls. 5039 5040 * src/fstream.cpp: Add INVALID_SET_FILE_POINTER definition when missing for 5041 Win32 IO implementation thanks Michael Fink report. Add compilation check 5042 of right STLport file descriptor definition. 5043 50442005-03-12 Francois Dumont <dums@stlport...> 5045 5046 * stlport/stl/_tree.h: Fix equal_range_unique bug thanks Gunter. 5047 5048 * test/unit/map_test.cpp: Add of the test to reproduce the bug 5049 above. 5050 50512005-03-11 Petr Ovtchenkov <ptr@island...> 5052 5053 * build/test/unit/gcc.mak: don't write runtime path to libstlport 5054 in case of crosscompilation. 5055 5056 * stlport/stl/_cmath.h: exclude *f and *l variants of math functions 5057 if ones absent in system; add missed hypot function; few workarounds 5058 for uClibc and for VC. 5059 5060 * src/complex.cpp, complex_exp.cpp, complex_trig.cpp: workaround 5061 for systems without *f and *l variants of math functions. 5062 5063 * test/unit/resolve_name.cpp: exclude test line that confuse VC. 5064 5065 * stlport/cstdlib: div isn't intrinsic for VC. 5066 5067 * stlport/config/stl_gcc.h: don't use *f and *l math functions in 5068 case of uClibc. 5069 50702005-03-09 Petr Ovtchenkov <ptr@island...> 5071 5072 * doc/FAQ: FAQ was established. 5073 50742005-03-07 Francois Dumont <dums@stlport...> 5075 5076 * stlport/stl/_bitset.h, _bitset.c: Avoid include of istream when 5077 NO_IOSTREAMS mode thanks Bruno report. 5078 5079 * stlport/stl/char_traits.h: Modification of the streamoff and streamsize 5080 definition to take into account the 64 bits file access support. 5081 5082 * test/unit/fstream.cpp: New test for big files ( > 2Go) unactivated by 5083 default. 5084 50852005-03-06 Petr Ovtchenkov <ptr@island...> 5086 5087 * stlport/cstdlib, stlport/cmath, stlport/stl/_cmath.h: define 5088 overloaded functions in the scope of global namespace and then import 5089 all in stlp_std with 'using' directive. This is better than 5090 solution from 2005-03-04 below. 5091 5092 * stlport/cmath: include cstdlib, due to declarations of abs 5093 with integer types required in overload and when 'using'. 5094 5095 * src/complex.cpp, src/complex_exp.cpp, src/complex_trig.cpp: replace 5096 macros that possibly will be removed. 5097 50982005-03-05 Francois Dumont <dums@stlport...> 5099 5100 * stlport/stl/_construct.h: Simplification of the _Copy_Construct 5101 function, now only takes a single template parameter and only call 5102 the strict copy constructor. Creation of the _Param_Construct function 5103 that replace the former _Copy_Construct implementation. 5104 5105 * cstdlib: Fix abs definition for MSVC compilers. 5106 5107 * test/unit: Fixing 64 bits warnings in many tests. 5108 5109 * src/c_locale_win32/c_locale_win32.c: Fixing 64 bits warnings. 5110 5111 * src/fstream.cpp: Creation of the INVALID_STLP_FD constant to represent 5112 a portable invalid file descriptor. 5113 5114 * stlport/stl/_streambuf.c: Explicit instanciation of basic_streambuf 5115 for wchar_t removed, already exists in _streambuf.h thanks 5116 Charlemagne report. 5117 5118 * stlport/stl/char_traits.h: Setup modification, Windows platform now 5119 use ptrdiff_t to define streamoff, make the code more portable. 5120 51212005-03-04 Petr Ovtchenkov <ptr@island...> 5122 5123 * stlport/stl/_cmath.h: removed recursive include of cmath header 5124 5125 * src/complex_impl.h: include cmath instead of stl/_cmath.h 5126 5127 * stlport/stl/_complex.h: idem. 5128 5129 * stlport/stl/_valarray.h: idem. 5130 5131 * test/unit/unary.h: workaround for namespace resolution. 5132 5133 * test/unit/resolve_name.cpp: test to show problem with namespace resolution. 5134 5135 * stlport/cmath, stlport/stl/_cmath.h: standard require overloaded math 5136 functions for double and float arguments. Import with 'using' directive 5137 can't provide such overload. Removed import with 'using', used direct 5138 inline wrappers in namespace stlp_std instead. Cleaning code. 5139 5140 * stlport/cstdlib: complement to cmath---the same as above for abs. 5141 5142 * stlport/stl/_config.h: uClibc declare pthread_spin... but ones absent 5143 in the library indeed. 5144 51452005-03-02 Petr Ovtchenkov <ptr@island...> 5146 5147 * build/Makefiles/top.mak: move .PHONY target to the bottom, it work here 5148 as expected 5149 5150 * build/Makefiles/gmake/depend.mak, targetdirs.mak: reduce amount of dummy 5151 targets; fix creation of directories for install. 5152 5153 * build/Makefiles/gmake/linux/rules-install-so.mak: ditto. 5154 5155 * stlport/stl/_config.h, stlport/config/stl_gcc.h: support of gcc/linux/uClibc 5156 5157 * src/_stdio_file.h, num_put_float.cpp, stdio_streambuf.cpp: uClibc support 5158 5159 * stlport/cwchar: ditto. 5160 51612005-03-01 Francois Dumont <dums@stlport...> 5162 5163 * stlport/stl/_threads.h, _windows.h, _rope.c: Fix of a 64 bits portage issue 5164 in the rope implementation under Win64 thanks Patrick Bergeron report. 5165 51662005-02-28 Francois Dumont <dums@stlport...> 5167 5168 * stlport/stl/_hashtable.c: hashtable::erase fix thanks Patrick Bergeron. 5169 51702005-02-27 Francois Dumont <dums@stlport...> 5171 5172 * stlport/stl/_algobase.h, _algobase.c: Fix find algo overload for 5173 char* and const char*. Now the overload is on the __find underlying 5174 function. 5175 5176 * test/unit/alg_test.cpp: Add a test case for the search_n algo. 5177 5178 * stlport/stl/_algo.c: Integration of the search_n algo implementation 5179 for the random access iterator from Jim Xochellis. 5180 51812005-02-25 Francois Dumont <dums@stlport...> 5182 5183 * stlport/stl/_slist.h: Fix _M_splice_after method. 5184 5185 * stlport/stl/debug/_slist.h: Add of many missing checks for the special 5186 slist before_begin iterator which returns true to the _Dereferenceable 5187 function call but is not dereferenceable in reality. Passing this 5188 iterator to method like erase or insert was invalid but was not detected 5189 by the _Dereferenceable function. 5190 5191 * test/unit/slist_test.cpp: Add checks for insert, insert_after, splice 5192 splice_after methods. 5193 5194 * Patch from Ulrich Eckhardt: 5195 - Fix macro _MSC_VER macro checks, VC6 should be found using _MSC_VER < 1300 5196 check rather than _MSC_VER == 1200 to take into account compilers like 5197 EVC4 that is a VC6 based compiler with _MSC_VER == 1202. 5198 51992005-02-25 Petr Ovtchenkov <ptr@island...> 5200 5201 * stlport/stl/_algobase.h: wrong parameters order in call to memchr, 5202 thanks Patrick Bergeron. 5203 52042005-02-24 Francois Dumont <dums@stlport...> 5205 5206 * stlport/stl/char_traits.h: Patch from Ulrich Eckhardt fixing a wrong 5207 _STLP_CALL specification on member operators and some cosmetic changes. 5208 52092005-02-22 Petr Ovtchenkov <ptr@island...> 5210 5211 * test/unit/limits_test.cpp: wchar_t is treated as signed, except when it 5212 equiv to unsigned short on Wins systems. 5213 5214 * Repository: STLport 5.0 RC2 5215 52162005-02-20 Francois Dumont <dums@stlport...> 5217 5218 * Add many private definition of copy constructor and assignment operators 5219 to avoid very anoying warnings under some compilers (MSVC 7.0 7.1). 5220 5221 * build/Makefiles/gmake/cygmin/sys.mak, test/unit/string_test.cpp: 5222 Mingw fixes thanks Shura Zam. 5223 52242005-02-19 Francois Dumont <dums@stlport...> 5225 5226 * stlport/stdexcept: Removal of a MSVC 7.0 and 7.1 workaround. Those compilers 5227 have a bug resulting in the generation of very long compiler message as 5228 soon as a simple compiler warning or error occur. Those messages are 5229 template instanciation context of previous disabled warning. Warning message 5230 are correctly disable but template instanciation context is kept until 5231 an enable warning or an error happen. There is nothing to do against that 5232 at STLport level except fixing or disabling warnings for unit tests build. 5233 5234 * build/Makefiles/nmake/vc70.mak: Add missing file. 5235 52362005-02-18 Francois Dumont <dums@stlport...> 5237 5238 * stlport/stl/_hashtable.h, _unordered_set.h, _unordered_map.h: Code review 5239 based on the 12 April 2004 Technical Report document. Add missing hash policy 5240 and bucket_size methods. Fix of the rehash method behavior. erase method 5241 bug fix. 5242 52432005-02-14 Francois Dumont <dums@stlport...> 5244 5245 * stlport/string, /stl/_string.h: Modification of the include schema. 5246 _string_io.h no more included from _string.h to avoid circular headers 5247 dependencies as basic_string class is used in iostream implementation. 5248 This headers is now included from the Standard string header. Useless 5249 cctype include removed from _string.h. _string_hash.h also moved from 5250 _string.h to string for consistency. 5251 5252 * stlport/stl/_complex.c: Add of the _string_io.h header include that 5253 was missing after string include schema modification. 5254 5255 * stlport/stl/_string_base.h, _string.h: basic_string move traits STLport 5256 struct definition do not depends anymore on the _String_base struct to 5257 make definition more clear. 5258 52592005-02-08 Francois Dumont <dums@stlport...> 5260 5261 * stlport/stl/_config.h: Fix endianness for AMD 64 thanks Karol 5262 Szkudlarek. 5263 52642005-02-07 Boris Fomitchev <boris@stlport...> 5265 5266 * stlport/stl/_config_compat_post.h, stlport/stl/_relops_hash_cont.h 5267 stlport/stl/_list.h, stlport/stl/_slist.h, stlport/stl/_map.h, 5268 stlport/stl/_set.h: 4.6 compatibility fix 5269 52702005-02-04 Francois Dumont <dums@stlport...> 5271 5272 * stlport/stl/_alloc.c: Fix of the _S_refill method in the lock free 5273 implementation thanks Felix Wyss. 5274 5275 * stlport/stl/_hashtable.h: _M_get_elem_ite set as static when possible 5276 to fix a MSVC6 problem thanks Michael Fink report. 5277 5278 * stlport/new, config/stl_evc.h: EVC patch for MFC support from Michael Fink. 5279 5280 * build/Makefiles/nmake/evc3.mak, evc4.mak: Warning level raised to 4 5281 by Michael Fink. 5282 5283 * doc/README.evc3, README.evc4 doc update from Michael Fink. 5284 5285 * src/vc_warning_disable.h: Add warning 4201 and 4214 disabling for EVC. 5286 52872005-01-31 Francois Dumont <dums@stlport...> 5288 5289 * Mac OS X portage thanks Zdenek Nemec. 5290 5291 * stlport/stl/_hashtable.c: Fix of the _M_copy_from method thanks Jay. 5292 5293 * stlport/stl/_vector.c: Fix of the _M_insert_fill_aux method thanks 5294 Mike Roberts report. 5295 5296 * test/unit/unordered_test.cpp: Add of a test for the hashtable fix above. 5297 5298 * src/vc_warning_disable.h: Add of the missing 4503 warning disable for MSVC6. 5299 5300 * test/unit/nmake-vc-common.mak: Add of the _STLP_DEBUG_UNINITIALIZED macro 5301 definition for the debug and stldebug rules. 5302 53032005-01-28 Francois Dumont <dums@stlport...> 5304 5305 * Application of a patch from Michael Fink for EVC MIPS. 5306 53072005-01-27 Francois Dumont <dums@stlport...> 5308 5309 * stlport/deque, list, map, set, slist, stack, valarray: _STLP_WHOLE_VENDOR_STD 5310 replaced by the official _STLP_IMPORT_VENDOR_STD macro. 5311 5312 * stlport/stl/_algobase.h: Add find algo overload for char* and const char* 5313 forwarding the call to the memchr C function thanks Jim Xochellis report. 5314 5315 * test/unit/find_test.cpp: Add check for the new find overload. 5316 5317 * test/unit/cmath_test.cpp: Fix of the atan and atan2 tests to avoid precision 5318 problems. 5319 5320 * test/unit/ptrspec_test.cpp: Add check for containers of function pointers and 5321 member function pointers. 5322 5323 * test/unit/set_test.cpp: Add check for equal_range method when the search value 5324 is not in the set. 5325 5326 * stlport/stl/_tree.h: Fix equal_range implementation thanks Grisha Spivak report. 5327 5328 * stlport/stl/_vector.h, _vector.c: Fix of the movable types implementation thanks 5329 Mike Roberts report. 5330 5331 * test/unit/mvctor_test.cpp: Add of a test case for vector class. 5332 53332005-01-25 Francois Dumont <dums@stlport...> 5334 5335 * stlport/stl_user_config.h: Pointer specialization feature is now off 5336 by default as it do not handle pointer to function and pointer to member 5337 methods correctly yet. Feature documentation has been updated to report 5338 this limitation. 5339 5340 * src/ctype.h: removal of the '>= 0' check for wchar_t variables reported 5341 as a always true condition by gcc. 5342 5343 * stlport/stl/_hashtable.c: Removal of an unused variable in hashtable::resize 5344 method thanks Jeff Grills report. 5345 5346 * stlport/stl/_algo.c: Fix of the search_n algo thanks Jim Xochellis report. 5347 53482005-01-24 Francois Dumont <dums@stlport...> 5349 5350 * Some more warning fixes. Mostly add of missing char_traits::to_char_type calls. 5351 53522005-01-22 Francois Dumont <dums@stlport...> 5353 5354 * stlport/stl/_string_workaround.h, debug/_string_workaround.h: Fix of the 5355 call broadcast to the base class. Non debug workaround always call non debug 5356 base class methods, debug workaround always calls debug base class methods. 5357 5358 * Many fixes to avoid warnings using MSVC in level 4 warnings: 5359 - while (true) replaced by for(;;) which do not produce the conditional 5360 expression is constant warning 5361 - removal of unused parameters 5362 - modification of some template function signature to keep the character type 5363 information and avoid the wchar_t to char type warning which was surely an 5364 important warning for the wide streams support. 5365 5366 * stlport/stl/_monetary.c: removal of the call to the ctype::widen method 5367 on the result of the moneypunct<_CharT, false>::decimal_point call as this 5368 method is already supposed to return a wide character. 5369 53702005-01-19 Francois Dumont <dums@stlport...> 5371 5372 * src/msvc_warning_disablers.h: unused file, removed. 5373 5374 * test/unit/logic_test.cpp: Fix of the tests to avoid warning regarding int 5375 to bool cast. 5376 5377 * stlport/stl/pointers/_deque.h, _list.h: Fix of the exported class under MSVC 5378 compiler thanks Timothy Tenebekov report. 5379 5380 * build/test/unit/nmake-vc-common.mak, nmake-vc6.mak, nmake-vc70.mak: Modification 5381 of the make files to avoid useless inclusion of vc_warning_disable.h file for 5382 MSVC.Net 2003 and MSVC 8 compilers. 5383 5384 * src/locale_impl.h: Export of the locale facets container for MSVC compilers. 5385 5386 * src/vc_warning_disable.h: Modification to limit the number of disables depending 5387 on the compiler. 5388 53892005-01-18 Francois Dumont <dums@stlport...> 5390 5391 * stlport/stl/_algo.c: Modification of the stable_partition implementation 5392 to limit the size of the allocated temporary buffer of the begin and end 5393 of the range are already at the right place thanks a Stephen Howe idear. 5394 5395 * build/test/unit/nmake-vc-common.mak, nmake-evc-common.mak: Removal of the 5396 _STLP_USE_AUTO_LINK macro which is now the default. 5397 53982005-01-14 Francois Dumont <dums@stlport...> 5399 5400 * stlport/stl/_windows.h, char_traits.h, src/c_locale_win32/c_locale_win32.c: 5401 Patch from Patrick Bergeron to support 64 bits compilation under Windows using 5402 VC8. 5403 5404 * stlport/stl/boost_type_traits.h: boost support check and fixing. 5405 54062005-01-13 Francois Dumont <dums@stlport...> 5407 5408 * stlport/stl/_algobase.h: Improvment of the iter_swap algo to use the swap 5409 method when possible thanks David Abrahams and Aleksey Gurtovoy great book 5410 introduction. 5411 5412 * stlport/stl/_alloc.h: Deactivation of the lock free allocator implementation 5413 not mature enough to be release yet. 5414 5415 * stlport/stl/_uninitialized.h: Fix of non Standard algo signature: 5416 - uninitialized_fill_n 5417 5418 * stlport/stl/_iterator_base.h: Fix of non Standard algo signature: 5419 - distance 5420 5421 * stlport/stl/_algobase.h: Fix of non Standard algo signature: 5422 - fill_n 5423 5424 * stlport/stl/_algo.h: Fix of non Standard algo signature: 5425 - rotate 5426 - generate_n 5427 5428 * stlport/stl/_string.h, debug/_string.h: Fix of the non Standard basic_string 5429 default constructor. 5430 5431 * stlport/stl/_algobase.h, _function.h, _iterator_base.h, _move_construct_fwk.h, 5432 _ptr_specialize.h, char_traits.h, debug/_debug.h: Fix of the macro name check 5433 before including type_traits.h. 5434 54352005-01-08 Francois Dumont <dums@stlport...> 5436 5437 * stlport/stl/_codecvt.h: Add of a missing export declaration for the wchar_t 5438 specialization of the codecvt_byname class. 5439 5440 * src/stlport.rc: improvement of the information included in the ressource file. 5441 Especially add of the compiler options. 5442 5443 * stlport/stl/_stlport_version.h: Creation of a special file containing all the 5444 version informations; very useful to avoid problem with the ressource compiler. 5445 5446 * stlport/stl/_config.h: Removal of the unused _STLP_USING_VENDOR_STD macro. 5447 Inclusion of the _stlport_version.h file. Update of the comment explaining why 5448 _STLP_USE_DECLSPEC is undefined when user do not use iostreams. 5449 5450 * build/Makefiles/nmake/vc-common.mak, evc-common.mak, gmake/gcc.mak: Improvement 5451 of the ressource compiler options. 5452 54532005-01-06 Francois Dumont <dums@stlport...> 5454 5455 * stlport/config/stl_msvc.h: Move the _STLP_DONT_RETURN_VOID configuration 5456 macro to the specific MSVC6 compiler as it is the only one that has ever 5457 reveal this bug. 5458 54592005-01-05 Francois Dumont <dums@stlport...> 5460 5461 * stlport/stl/_string_sum_methods.h: Fixes reported by gcc. 5462 54632005-01-04 Francois Dumont <dums@stlport...> 5464 5465 * doc/README.evc3: patched by Michael Fink 5466 5467 * build/lib/configure.bat: warning fix thanks Michael Fink. 5468 5469 * build/test/unit/nmake-src-prefix.mak: fixed thanks Michael Fink. 5470 54712005-01-02 Francois Dumont <dums@stlport...> 5472 5473 * stlport/stl/_string_sum.h, _string_operators.h: Fix of an assignment bug 5474 in the append method taking a C string wrapper. Modification of the __bstr_sum 5475 get_allocator method to avoid a useless allocation. 5476 5477 * build/lib/nmake-src-prefix.mak: Add of missing rules for .c and .rc file type. 5478 54792004-12-29 Francois Dumont <dums@stlport...> 5480 5481 * stlport/stl/_hashtable.c: Fix missing allocator argument in new slist 5482 construction and bad number of buckets thanks See Wong report. 5483 5484 * test/unit/unordered_test.cpp: Add of a test to report the previous 5485 problem. 5486 5487 * build/Makefiles/nmake/vc-common.mak, evc-common.mak: Generalization of the 5488 /DMACRO compiler command rather than /D "MACRO". 5489 5490 * test/unit/string_test.cpp: Creation of a new test case for string template 5491 expression. 5492 5493 * stlport/stl/_string_sum.h, _string_sum_methods.h: Fixing of many bugs in the 5494 string template expressions implementation. 5495 5496 * stlport/stl/_tree.c: Add of a comment in the _M_increment method explaining 5497 a surprising checks thanks Ulrich Eckhardt. 5498 54992004-12-24 Petr Ovtchenkov <ptr@island...> 5500 5501 * build/Makefiles: makesystem moved here from src/Makefiles 5502 5503 * build/lib: makefiles moved here from src catalog. 5504 5505 * build/test/unit: makefiles moved here from test/unit catalog. 5506 5507 * INSTALL: updated. 5508 5509 * README: updated. 5510 55112004-12-23 Francois Dumont <dums@stlport...> 5512 5513 * stlport/stl/_vector.h, _vector.c: Fix of the code for movable types 5514 in call to push_back or insert of a value in case of auto referencing 5515 thanks Benjamin Redelings. 5516 5517 * stlport/stl/_hashtable.c: Fix of the _M_copy method thanks Timothy 5518 Tenebekov. 5519 55202004-12-22 Francois Dumont <dums@stlport...> 5521 5522 * stlport/stl/debug/_string.h: Fix of missing scopes thanks arabesc and 5523 Benjamin Redelings 5524 5525 *stlport/config/stl_gcc.h: include schema fix for gcc >= 4.0.0 thanks 5526 Oliver Stoeneberg 5527 55282004-12-21 Francois Dumont <dums@stlport...> 5529 5530 * stlport/stl/_hashtable.c: Fix copy method thanks KL report. 5531 5532 * stlport/stl/_vector.h, _deque.h: Fix implementation for vector of 5533 movable objects when calling erase of a null range thanks to arabesc report. 5534 5535 * stlport/stl/_string.h, _string_workaround.h, debug/_string.h, 5536 debug/_string_workaround.h: Implementation of the MSVC6 template method bug 5537 workaround exclusively for MSVC6 and not anymore for all compilers. 5538 55392004-12-21 Petr Ovtchenkov <ptr@island...> 5540 5541 * src: untested (lost support) .mak and installation files moved into 5542 initial_mak catalog. 5543 5544 * explore, src: explore catalog moved into src catalog. Makefiles from 5545 explore catalog become main makesystem of STLport. 5546 55472004-12-20 Francois Dumont <dums@stlport...> 5548 5549 * stlport/stl/_hashtable.h: Fix of the const begin and end methods of the 5550 new implementation thanks Timothy Tenebekov report. 5551 55522004-12-17 Francois Dumont <dums@stlport...> 5553 5554 * stlport/cmath, cstdlib, stl/_cmath.h, config/stl_msvc.h: Configuration 5555 fixes for .Net 2002. 5556 55572004-12-17 Boris Fomitchev <boris@stlport...> 5558 5559 * char_traits.h: fixed _STLP_NO_WCHAR_T case 5560 5561 * src/common_macros.mak: deleted locale.cpp 5562 55632004-12-17 Francois Dumont <dums@stlport...> 5564 5565 * src/explore/Makefiles/nmake/app/rules-install-a.mak, rules-install-so.mak 5566 lib/rules-install-so.mak: Creation of the install-shared and install-static 5567 from Michael Fink. 5568 55692004-12-16 Francois Dumont <dums@stlport...> 5570 5571 * stlport/stl/debug/_debug.h, _debug.c: Creation of functions to change iterators 5572 list owner. 5573 5574 * stlport/stl/debug/_list.h, _slist.h: Modification of the iterator owners in the 5575 splice, splice_after and merge method which do not invalidate iterators but only 5576 move them from a [s]list to an other. 5577 5578 * stlport/stl/_relops_hash_cont.h: removal of the == operator on hashed containers 5579 This operator is just impossible, or at least very complicated, to implement 5580 for this container which do not require any ordering operation on the type used 5581 to instanciate the container. 5582 5583 * test/unit/hash_test.cpp: Addition of a commented test showing why the == operator 5584 is invalid on hashed constainers. 5585 5586 * stlport/stl/_hashtable.h: Modification of the hashtable implementation based 5587 on a slist and a vector. Compared to the previous one the advantages are: 5588 - lighter hashtable::iterator 5589 - iterator increment operation do no require call to the hash function. 5590 - no more special implementation for the debug mode, once validated debug/_hashtable.h 5591 will be removed. 5592 The drawback is a small overhead on the insert/erase methods. 5593 5594 * stlport/unordered_set, unordered_map: Introduction of the almost Standard hash containers. 5595 The major difference with hash_set or hash_map containers from SGI is the load factor 5596 that gives the user the ability to change the container ratio of the number of elements per 5597 bucket. 5598 55992004-12-13 Francois Dumont <dums@stlport...> 5600 5601 * stlport/stdio.h: patch from Michael Fink to avoid warning on the EVC platform. 5602 5603 * doc/evc_workaround.txt: Documentation file from Ulrich Eckhardt about the EVC 5604 workaround to avoid annoying warnings. 5605 5606 * stlport/typeinfo: Patch from Ulrich Eckhardt to fix missing type_info struct 5607 under MSVC6 and EVC and also identation. 5608 56092004-12-10 Francois Dumont <dums@stlport...> 5610 5611 * stlport/stl/_collate.h, _locale.h: fix of the __locale_do_operator_call internal 5612 function to make traits and allocator also template parameters. 5613 5614 * stlport/stl/_locale.h, _collate.h, stlport/config/stl_msvc.h, src/locale.cpp, 5615 src/locale_impl.h: restoration of the MSVC6 workaround for the locale class to 5616 correctly handle the member template methods. 5617 56182004-12-09 Francois Dumont <dums@stlport...> 5619 5620 * stlport/stl/_messages_facets.h: fixed messages_base::catalog from long typedef 5621 to int thanks Ulrich Eckhardt report. 5622 5623 * stlport/stl_user_config.h, config/stl_msvc.h: addition of the _STLP_VERBOSE_AUTO_LINK 5624 config macro to make the automatic linking feature more verbose thanks Ulrich Eckhardt 5625 patch. 5626 5627 * stlport/exception: Add check of the _STLP_HAS_SPECIFIC_PROLOG_EPILOG macro before 5628 including _msvc_warning_off.h to avoid bad resulting warning status when the _epilog.h 5629 header is not included thanks Gail (baker88) report. 5630 5631 * stlport/cassert, cerrno, csignal, ctype.h, cwctype, stdarg.h, stdlib.h, string.h, 5632 config/stl_evc.h: Patch from Michael Fink to fix compilation problem using ressource 5633 compiler for evc3 and evc4 and problems with cerrno and cassert inclusions reported 5634 by Ulrich Eckhardt. 5635 56362004-12-01 Petr Ovtchenkov <ptr@island...> 5637 5638 * stlport/stdexcept: removes some warnings regarding the exception class being derived 5639 from a non-dll interface class on evc4. Michael Fink contribution. 5640 5641 * stlport/stl/_cmath.h: push/pop warning level for VCs. Michael Fink contribution. 5642 5643 * src/_stdio_file.h: Evc4 uses an ugly hack to implement file IO using a FILECE structure 5644 representing the internal FILE structure. For evc3 Michael Fink implemented a much simpler 5645 way that also works for evc4. 5646 5647 * stlport/config/stl_evc.h, stl_msvc.h, stlcomp.h: separate config stuff for stl_evc.h 5648 and stl_msvc.h. Now all Windows CE specific defines are in stl_evc.h only. 5649 Michael Fink contribution. 5650 5651 * stlport/stl/_codecvt.h, _ctype.h, _messages_facets.h, _monetary.h: add friend class 5652 _Locale_impl. 5653 5654 * stlport/stl/_num_get.h, _num_put.h, _numpunct.h, _time_facets.h: ditto. 5655 56562004-11-30 Petr Ovtchenkov <ptr@island...> 5657 5658 * src/explore/configure.bat: added quotes. Thanks Ulrich Eckhardt and Michael Fink. 5659 5660 * stlport/stl/_locale.h, src/locale_impl.h, src/locale_impl.cpp: added _STLP_DECLSPEC 5661 and _STLP_CALL for some functions. Thanks Ulrich Eckhardt. 5662 5663 * stlport/stl/_collate.h, _numpunct.h, _monetary.h, _codecvt.h, _time_facets.h: 5664 _Locale_imp made friend without relation to _STLP_LEAKS_PEDANTIC. Thanks Ulrich Eckhardt. 5665 5666 * stlport/stl/_locale.h: remove body of protected constructor to avoid warnings. 5667 Thanks Kidman and Ulrich Eckhardt. 5668 5669 * src/locale_impl.cpp: use simple resize of facets_vec; reserve space for facets_vec to be 5670 sure that allocation don't throw exception during vector resize in insert_*_facets functions. 5671 Thanks Ulrich Eckhardt. 5672 56732004-11-29 Petr Ovtchenkov <ptr@island...> 5674 5675 * stlport/stl/_cmath.h: patch from Michael Fink applied. 5676 5677 * stlport/stl/_locale.h: remove enclose class spec to avoid VC confuse. 5678 Thanks Ulrich Eckhardt. 5679 5680 * src/locale_impl.cpp, src/locale_impl.h: remove bogus _STLP_CALL decls. 5681 Thanks Ulrich Eckhardt. 5682 56832004-11-27 Petr Ovtchenkov <ptr@island...> 5684 5685 * stlport/stl/_threads.h: direct access to _M_ref_count isn't MT-safe; 5686 counter value returned by _M_incr and _M_decr methods only. 5687 5688 * stlport/stl/_rope.h, stlport/stl/_rope.c: adaptation to changes above; 5689 removed __GC macro dependent code, that was never defined in present 5690 sources. 5691 5692 * src/locale.cpp, locale_impl.cpp, locale_impl.h: general revision of locale 5693 implementation; code clean, corrected, concepts fixed, errors fixed, 5694 new bugs added. 5695 5696 * src/ctype.cpp, facets_byname.cpp, locale_catalog.cpp, messages.cpp, monetary.cpp: 5697 ditto. 5698 5699 * stlport/stl/_codecvt.h, _collate.h, _ctype.h, _locale.h, _messages_facets.h: 5700 ditto. 5701 5702 * _monetary.h, _num_get.h, _num_put.h, _numpunct.h, _time_facets.h: ditto. 5703 5704 * src/locale_nonclassic.h: removed due to code revision. 5705 5706 * src/explore/Makefile.inc: locale.cpp is directly included into locale_impl.cpp. 5707 5708 * src/explore/gcc.mak, test/unit/gcc.mak: use _STLP_LEAKS_PEDANTIC before release 5709 by default. 5710 57112004-11-24 Francois Dumont <dums@stlport...> 5712 5713 * stlport/stl/_cmath.h: Fix of the abs definition for the EVC platform 5714 thanks Michael Fink. 5715 5716 * stlport/stl/_cmath.h: Fix of the Internal Compiler Error from MSVC6 5717 when defining math functions in the STLport namespace thanks Ulrich 5718 Eckhardt and I. 5719 5720 * stlport/stl/debug: Creation of a debug iterator traits used to make 5721 an additional test when checking iterator deferencing status, on slist 5722 before_begin iterators are not dereferenceable but were not detected 5723 as so. 5724 5725 * stlport/math.h, stdexcept: patches from Michael Fink to avoid warning 5726 on the EVC platform. 5727 57282004-11-22 Francois Dumont <dums@stlport...> 5729 5730 * src/explore/Makefiles/nmake/evc3.mak, evc4.mak: removal of the useless 5731 /DPLATFORM macro definition thanks Ulrich Eckhardt report and Michael Fink 5732 patch. 5733 5734 * stlport/cstdlib: extension of the div overload for long input up to MSVC7.1 5735 thanks Michael Fink report. 5736 5737 * test/unit/string_test.cpp: patch from Michael Fink for EVC which has limited 5738 support of the WaitForMultipleObjects API function. 5739 5740 * stlport/cstdlib, cwchar, using/cstring: patch from Michael Fink to remove 5741 imports of missing native C functions. 5742 57432004-11-16 Francois Dumont <dums@stlport...> 5744 5745 * src/explore/configure.bat: Add of the --rtl-static and --rtl-dynamic 5746 configuration options to force use of static or dynamic C runtime thanks 5747 Michael Fink. 5748 5749 * stlport/config/stl_msvc.h: undef of the _STLP_USING_CROSS_NATIVE_RUNTIME_LIB 5750 for the evc platform that only have the static C runtime version thanks 5751 Michael Fink. 5752 5753 * stlport/config/stl_bc.h, stl_dmc.h, stl_solaris.h: Removal of all references 5754 to the deprecated _STLP_NO_OWN_IOSTREAMS and _STLP_NO_NEW_IOSTREAMS macros. 5755 5756 * stlport/cmath, stl/_cmath.h: Modification of the import of the pow function 5757 for MSVC6 that has a bugged overload thanks Michael Fink report. 5758 57592004-11-09 Francois Dumont <dums@stlport...> 5760 5761 * test/unit/config_test.cpp: Creation of a test case to check correct 5762 platform/compiler configuration. 5763 5764 * stlport/config/stl_msvc.h: Definition of the _STLP_HAS_NATIVE_FLOAT_ABS 5765 now start with MSVC6. 5766 5767 * stlport/cstdlib, stl/_cmath.h: Addition of some missing math function 5768 overloads for MSVC6. 5769 57702004-11-05 Francois Dumont <dums@stlport...> 5771 5772 * stlport/config/stl_msvc.h: Definition of the _STLP_HAS_NATIVE_FLOAT_ABS 5773 starting with MSVC .Net 2002 thanks Kevin Bluck report. 5774 5775 * test/unit/cmath_test.cpp: Creation of a test case to check correct import 5776 and extensions of C functions. 5777 57782004-11-04 Petr Ovtchenkov <ptr@island...> 5779 5780 * src/explore/Makefiles: added templates CC.mak for SunPro's CC compilers; 5781 ones should be checked and fixed with real compiler. 5782 57832004-11-04 Francois Dumont <dums@stlport...> 5784 5785 * stlport/stl/_function.h, _queue.h, _stack.h, _map.h, _iterator.h: 5786 restoration of the Standard names of the protected datas. 5787 5788 * stlport/stl/_alloc.h, _alloc.c: implementation of a lock free version 5789 of the default STLport node_allocator. Supported by the Win32 platform 5790 for the moment. 5791 5792 * src/ios.cpp, locale.cpp, locale_impl.cpp: use of atomic operations 5793 under Win32 platform rather than using synchronisation primitives. 5794 5795 * stlport/stl/_tree.h, _map.h, _set.h: creation of the erase_unique and 5796 equal_range_unique methods to use the unicity information of the map and 5797 set containers in binary tree searches. 5798 5799 * stlport/stl/_string.h: Add _STLP_USE_NO_IOSTREAMS check beforing deciding 5800 not to include _string.c thanks KL 5801 58022004-11-02 Francois Dumont <dums@stlport...> 5803 5804 * stlport/stl/pointers/_deque.h: Fix for the problem of the deque<void*> 5805 instanciation thanks Alex Cosealin report 5806 5807 * test/unit/ptrspec_test.cpp: Add of a test for the previous problem. 5808 58092004-10-31 Francois Dumont <dums@stlport...> 5810 5811 * stlport/stl/_rope.h: Fix of the apply_to_pieces qualification thanks Leeya. 5812 5813 * test/unit/rope_test.cpp: New test case for the previous fix. 5814 58152004-10-30 Francois Dumont <dums@stlport...> 5816 5817 * src/explore/Makefiles/nmake/vc-common.mak: introductions of the LDFLAGS_A_REL 5818 macro to fix config problem under VC71 and VC8 beta. 5819 58202004-10-29 Petr Ovtchenkov <ptr@island...> 5821 5822 * src/explore/Makefiles/gmake/app/gcc.mak: use -fPIC for gcc 2.95.x when build 5823 application---this is a workaround for bug with running code in static constructors. 5824 5825 * stlport/config/stl_gcc.h, stlport/stl/_config.h: force usage of mutex instead 5826 of spinlock for gcc 2.95.x, due to problems with initialization of statics. 5827 Initialization of mutex has variant with structure filling, while for spinlock 5828 initialization function call required. 5829 5830 * test/unit/locale_test.cpp: avoid static object for gcc 2.95.x, due to problems 5831 with initialization of statics. 5832 58332004-10-27 Francois Dumont <dums@stlport...> 5834 5835 * stlport/stl/_config.h, _fstream.h, _ios.h, _istream.h, _monetary.h, _num_get.h, 5836 _num_put.h, _ostream.h, _sstream.h, _streambuf.h, _string.h, _time_facets.h: 5837 Restoration of the _STLP_NO_CUSTOM_IO feature removed after cleanup reported 5838 in 2004-09-28 post from Petr. 5839 5840 * stlport/stl/stl_user_config.h, _config.h, stl_msvc.h: reactivation of the 5841 auto link feature for MSVC but only if activated by the client. Moreover the 5842 new implementation of this feature is more maintenable, stl_msvc.h won't have 5843 to be edited at each STLport release. 5844 5845 * test/unit/nmake-vc-common.mak, nmake-evc-common.mak: Adoption of the auto link 5846 process. 5847 58482004-10-25 Francois Dumont <dums@stlport...> 5849 5850 * stlport/stl/_config.h: Introduction of the _STLP_DONT_USE_EXCEPTIONS which 5851 means that the client do not want to use the C++ exception feature. It is 5852 different from the _STLP_NO_EXCEPTIONS which means that the compiler do not 5853 support exceptions at all. The distinction is important for some macros definition. 5854 5855 * test/unit: Modification of the _STLP_NO_EXCEPTIONS test to the more general 5856 _STLP_USE_EXCEPTION macro. 5857 5858 * stlport/stl/_ios_base.h, src/ios.cpp: rollback of the modifications of the 5859 2004-10-24. 5860 5861 * stlport/config/stl_msvc.h, stl_gcc.h: Those 2 compilers have a exception 5862 support switch, when exceptions are unactivated they now define 5863 _STLP_DONT_USE_EXCEPTIONS rather than _STLP_NO_EXCEPTIONS. 5864 58652004-10-25 Petr Ovtchenkov <ptr@island...> 5866 5867 * stlport/stl/_sstream.c: cur direction missed in seekoff. Thanks David Obermann. 5868 5869 * sstream_test.cpp: test for problem above. 5870 58712004-10-24 Francois Dumont <dums@stlport...> 5872 5873 * stlport/stl/_ios_base.h, src/ios.cpp: definition of the ios_base::failure 5874 nested class only when exception support is activated. 5875 5876 * stlport/stl/_deque.h, _deque.c: Modification of the deque implementation 5877 to use the internal move framework. 5878 5879 * test/unit/mvctor_test.cpp: New test case for the use of the move 5880 framework within the deque container. 5881 58822004-10-21 Francois Dumont <dums@stlport...> 5883 5884 * stlport/stl/_iostring_stream.h: Simplification of the __stl_alloc_rebind 5885 overload to make it less ambiguous for the compilers using it. 5886 58872004-10-18 Francois Dumont <dums@stlport...> 5888 5889 * stlport/stl/_vector.h, _vector.c: Add of checks to know if a reference 5890 is in *this before making a systematical copy of it. 5891 58922004-10-18 Petr Ovtchenkov <ptr@island...> 5893 5894 * stlport/stl/type_manips.h: replace template <> by macro. 5895 5896 * stlport/stl/debug/_debug.h, _debug.c: __check_if_not_owner should return true 5897 in case of incompatible types and do check different from __check_if_owner; 5898 added message for check __check_if_not_owner. 5899 5900 * test/unit/mvctor_test.cpp, test/unit/ptrspec_test.cpp: fix tests to satisfy 5901 changes related to 23.1.1 Table 67 in stlport/stl/debug/_vector.h, _deque.h---see 5902 record 2004-10-14 below. 5903 59042004-10-14 Francois Dumont <dums@stlport...> 5905 5906 * stlport/stl/debug/_iterator.h: Move of some _DBG_iter_base and _DBG_iter 5907 methods implementation outside struct definition to fix call on incomplete 5908 type compile error generated by the call to the _Incrementable or _Dereferenceable 5909 functions passing *this as input parameter thanks Alexey Sarytchev 5910 5911 * test/unit/sstream_test.cpp, fstream_test.cpp: Fix of the tests on streambuf 5912 throwing exception for platform with no exception support. 5913 5914 * stl/_string.h: Add of the missing compare methods on the basic_string 5915 implementation used by compilers supporting template methods thanks Patrick 5916 Bennett report. 5917 5918 * stlport/stl/debug/_vector.h, _deque.h: Add check on the insert range method, 5919 the inserted can not be pointing to the this instance where the insertion occur. 5920 59212004-10-13 Petr Ovtchenkov <ptr@island...> 5922 5923 * src/explore/Makefiles/gmake: a bit correction of compiled and installed names 5924 of executables on *nix systems, see record 2004-09-29 by Francois. 5925 59262004-10-12 Francois Dumont <dums@stlport...> 5927 5928 * stlport/stl/_config.h: typo fix thanks KL 5929 5930 * stlport/stl/_move_construct_fwk.h, _set.h, _map.h, _hash_set.h, _hash_map.h: 5931 Extra semicolons removal thanks Wlodek Szafran reports. 5932 59332004-10-11 Petr Ovtchenkov <ptr@island...> 5934 5935 * stlport/stl/_rope.h: add typename. 5936 59372004-10-08 Francois Dumont <dums@stlport...> 5938 5939 * stlport/stl/_deque.h, _hashtable.h, _tree.h, _bvector.h: Specialization of the 5940 __type_traits struct for the iterator types. 5941 5942 * stlport/stl/_uninitialized.h, _vector.h: Relax of the rules to perform some 5943 optimizations, no more POD check, rather use of the trivial copy constructor, 5944 trivial assignment operator informations. 5945 5946 * stlport/stl/_config.h, _epilog.h: Adoption of stlport as the official STLport 5947 namespace when users cannot use the std namespace. 5948 59492004-10-07 Francois Dumont <dums@stlport...> 5950 5951 * stlport/stl/_list.h: Specialization of the __type_traits struct for list iterators. 5952 Move of the == and != operators from the base iterator class to the iterator class 5953 to make iterator of different list instanciation not comparable anymore. 5954 5955 * stlport/stl/_slist.h: ditto. 5956 59572004-10-06 Francois Dumont <dums@stlport...> 5958 5959 * stlport/stl/_rope.h, _rope.c: Code review, use of general STLport tools rather 5960 than specific rope ones. Use of compile time checks rather than runtime. 5961 5962 * stlport/stl/_bvector.h: fix to make the vector<bool> specialization movable 5963 thanks a Kelly Thompson report. 5964 59652004-10-05 Francois Dumont <dums@stlport...> 5966 5967 * src/explore/Makefiles/nmake: Application of a patch from Michael Fink to simplify 5968 the evc make system. 5969 5970 * doc/README.evc4: New version from Zdenek Nemec. 5971 59722004-10-04 Francois Dumont <dums@stlport...> 5973 5974 * test/unit/type_traits_test.cpp: A new test case to check behavior of 5975 the numerous helper functions from type_traits.h and type_manips.h. 5976 5977 * stlport/stl/type_traits.h: Fix of some bugs and addition of the __type_traits 5978 specializations of const, volatile and const volatile native types. 5979 5980 * stlport/stl/type_manips.h: Modification of the __bool2type default value 5981 so that it consider any value as true and only the 0 value false. 5982 5983 * stlport/config/stl_msvc.h, stlport/stl/_config.h: Modification of the STLport 5984 std equivalent namespace to be sure that the user rebuild correctly the STLport 5985 library when he forces the use of the dynamic or static library. 5986 5987 * src/explore/Makefiles/nmake/lib/vc-common.mak, app/vc-common.mak: Creation 5988 of the STLP_BUILD_FORCE_STATIC_RUNTIME that forces use of the static version 5989 of the native runtime. 5990 5991 * test/unit: fix of some tests that failed to compile using the 5992 _STLP_NO_ANACHRONISMS macro. 5993 59942004-09-30 Petr Ovtchenkov <ptr@island...> 5995 5996 * test/regression: catalog removed---it obsolete and unsupported; use 5997 test/unit tests instead; all tests from test/regression was moved in test/unit, 5998 sometimes in redesigned form. 5999 60002004-09-29 Francois Dumont <dums@stlport...> 6001 6002 * stlport/stl/_string_io.c: Removal of the native library specific calls of 6003 use_facet, only the STLport standard one is used. 6004 6005 * stlport/stl/_alloc.h, _alloc.c, src/dll_main.cpp: Implementation of a clean 6006 process for the node_alloc allocator. This clean is active only when 6007 _STLP_LEAKS_PEDANTIC is defined and you are using STLport as a dynamic 6008 library under Win32. 6009 6010 * src/explore: Updates of several makefiles to conform to the new library 6011 and binary naming convention. 6012 6013 * src/c_locale_win32/c_locale_win32.c: fix of the message facet name management 6014 that was generating a memory leak. 6015 60162004-09-29 Petr Ovtchenkov <ptr@island...> 6017 6018 * stlport/stl/char_traits.h: WinCE seems don't declare off_t; thanks Michael Fink. 6019 60202004-09-28 Petr Ovtchenkov <ptr@island...> 6021 6022 * Repository: iostreams and string wrapper mode removed, due to ones has 6023 a lot of restrictions in usage and frequently lead to hard recognized problems. 6024 Tonns of *_STREAMS macro replaced by _STLP_USE_NO_IOSTREAMS or _STLP_NO_IOSTREAMS 6025 as configuration macro; *NATIVE_STRING macro removed by the same reasons. 6026 60272004-09-27 Petr Ovtchenkov <ptr@island...> 6028 6029 * test/unit/gcc.mak: fix stlport library name for STLP_DEBUG mode for Solaris, 6030 thanks for separate namespaces in normal and STLP_DEBUG mode, see record 6031 2004-09-10 below. 6032 60332004-09-24 Francois Dumont <dums@...> 6034 6035 * stlport/config/stl_gcc.h: Fix of the relative include path used to access the 6036 native gcc headers. Before version 3.4.0 the 0 patch level was not part of the 6037 include path. 6038 6039 * stlport/stl/type_traits.h, _vector.h, _algobase.h, _construct.h: Removal 6040 of the __action_on_move type traits replaced by a generalization of the 6041 already existing __move_traits. 6042 6043 * test/unit/mvctor_test.cpp: New test case for the __move_traits feature. 6044 60452004-09-24 Petr Ovtchenkov <ptr@island...> 6046 6047 * src/explore/Makefiles/gmake/sunos: 'explore' makesystem adopted to work 6048 under Solaris with GNU make. 6049 6050 * test/unit/gcc.mak: ditto. 6051 6052 * src/explore/Makefiles/gmake/app/gcc.mak: ditto. 6053 6054 * src/explore/Makefiles/gmake/lib/gcc.mak: ditto. 6055 6056 * stlport/cmath: fix some math calls for Solaris. 6057 6058 * test/unit/list_test.cpp: add illustration for list iterator/reverse_iterator questions. 6059 6060 * src/explore/Makefiles/gmake/unix/lib.mak: moved from linux/lib.mak, as 6061 common rules for all *nixes. 6062 6063 * src/explore/Makefiles/gmake/linux/lib.mak: use common for all *nixes rules 6064 in unix/lib.mak. 6065 6066 * src/explore/Makefiles/gmake/freebsd/lib.mak: ditto. 6067 6068 * src/explore/Makefiles/gmake/openbsd/lib.mak: ditto. 6069 6070 * src/explore/Makefiles/gmake/sunos/lib.mak: ditto. 6071 6072 * src/explore/Makefiles/gmake/unix/lib.mak, test/unit/gcc.mak: changed library name; 6073 libraries now named as libstlport, libstlportg, libstlportstlg for optimized, with 6074 debug symbols, and with debug symbols and _STLP_DEBUG mode libraries respectivly. 6075 60762004-09-21 Francois Dumont <dums@...> 6077 6078 * stlport/stl/debug: Modification of the __check_range class in the more general 6079 __check_construct. Now it also checks for null pointers in the string interface. 6080 6081 * src/explore: Adoption of the new library naming convention for all Microsoft 6082 compilers thanks Michael Fink 6083 60842004-09-20 Francois Dumont <dums@...> 6085 6086 * src/explore/Makefiles/gmake/cygwin, mingw: Build configuration files merges 6087 within a single build system: cygming. Future portage of STLport for compilers 6088 using the GNU tools will be available from both systems. Removal of the vc6 build 6089 under cygwin, for mono-platform compilers we support only one build system. 6090 6091 * stlport/stl/_vector.h: Modification of the destructor implementation to destroyed 6092 object instances in a reverse order taking advantage of the way elements are 6093 normaly added to this container. 6094 60952004-09-16 Francois Dumont <dums@...> 6096 6097 * test/unit/cppunit/cppunit_mini.h, cppunit_proxy.h: Adaptation of the CPPUNIT 6098 framework to take care of the exception as failures thanks Zdenek Nemec 6099 6100 * stlport/config/stl_msvc.h, stl_bc.h, stl_mwerks.h, stlport/stl_user_config.h: 6101 Removal of the non intuitive and difficult to maintain automatic linking feature. 6102 6103 * Fixing of the locale implementation mecanism. Classic locale implementation is 6104 also managed by a reference counter to be sure when it is possible to release 6105 the associated ressources. Fix of a missing locale impl ref counter decrement 6106 in the template locale constructor taking a facet, it was a possible source of 6107 memory leak . Addition of a static object within locale_impl.cpp in 6108 _STLP_LEAKS_PEDANTIC mode to decrement the global locale impl ref counter when 6109 STLport library is unloaded. Addition of all the missing classic locale facets 6110 destructor in free_classic_locale. 6111 6112 * src/locale_catalog.cpp: The locale by name constructor checks the "C" name 6113 to simply copy (increment the ref counter) the classic locale implementation 6114 rather than instanciating a new one. 6115 61162004-09-15 Francois Dumont <dums@...> 6117 6118 * stlport/stl/_list.c: Modification of the _S_sort implementation, the __carry 6119 list instance is created using the __that allocator instance copy to be more 6120 allocator friendly. 6121 61222004-09-11 Francois Dumont <dums@...> 6123 6124 * stlport/config/stl_intel.h: Configuration update for Win32 Intel 8.0 6125 compiler thanks Charlemagne. 6126 61272004-09-10 Francois Dumont <dums@...> 6128 6129 * stlport/stl/_config.h: The new official namespace is now stlp_std. _STL is 6130 just an alias. STLPORT macro still contains the STLport std namespace equivalent. 6131 Moreover in _STLP_DEBUG mode, which is not binary compatible with the release 6132 or debug mode, the namespace is stlpd_std to generate link error rather 6133 than runtime crash. 6134 61352004-09-09 Francois Dumont <dums@...> 6136 6137 * stlport/stl/_config.h: _STLP_DONT_USE_NESTED_TCLASS_THROUGHT_TPARAM 6138 renamed to the more intuitive _STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE. 6139 6140 * stlport/stl/_config.h: Introduction of a new namespace stlp_private 6141 defined in the global namespace. Everything that is STLport implementation 6142 details should be in this namespace to avoid polution of the std namespace. 6143 6144 * stlport/stl/_iterator_base.h: Modification of the macro used to create 6145 iterator traits for all tree and hashtable based containers to move it in 6146 the stlp_private namespace rather than defining it as nested struct, limits 6147 the symbol size. 6148 61492004-09-08 Francois Dumont <dums@...> 6150 6151 * test/unit/fstream_test.cpp: restauration of the test added by Petr 6152 the 2004-09-03, it is finaly a different test from the one in sstream_test.cpp. 6153 Some more checks have also been integrated. 6154 6155 * stlport/stl/_ostream.c: New fix of the _M_unbuffured_copy method that was 6156 still bugged in case of a throwing output streambuf, detected thanks to the 6157 test case. 6158 61592004-09-07 Francois Dumont <dums@...> 6160 6161 * stlport/config/stl_msvc.h: Add defines of the _STLP_USE_STATIC_LIB 6162 or _STLP_USE_DYNAMIC_LIB depending on the current kind of build. 6163 6164 * stlport/stl/_streambuf.h, _streambug.c: Fix an unresolved symbol 6165 problem for MSVC6 (and before?) when STLport is used as a static library. 6166 61672004-09-06 Francois Dumont <dums@...> 6168 6169 * test/unit/nmake-evc-common.mak: Use of the dynamic runtime for the 6170 *-shared rules rather than the previous static thanks Michael Fink. 6171 6172 * test/unit/nmake-evc*.mak: end of build code factorisation, use of 6173 nmake-evc-common.mak within all makefiles thanks Michael Fink. 6174 6175 * test/unit/locale_test.cpp: Application of a patch from Michael Fink 6176 to check the "C" locale on all platforms. Fix of the money_get_put test 6177 case for the "C" locale. 6178 6179 * test/unit/allocator_test.cpp: new test case for std::allocator checks. 6180 61812004-09-05 Francois Dumont <dums@...> 6182 6183 * stlport/stl/_string_hash.h: Performance improvement, multiplication 6184 replaced by shift operations thanks Greg S. 6185 6186 * stlport/config/stl_wince_4.h: removed, never used, stl_evc.h has been 6187 prefered. 6188 6189 * test/unit/string_test.cpp: addition of a new test short_string_optim_bug 6190 to check for a compiler bugs making the short string optim invalid thanks 6191 Michael Fink. 6192 6193 * stlport/config/stl_evc.h: Deactivation of the short string optimization 6194 because of a compiler bug thanks Michael Fink. 6195 6196 * src/explore: factorisation of the evc build makefiles thanks Michael Fink. 6197 6198 * src/explore/Makefiles/nmake/lib/clean.mak, macro.mak: Addition of some 6199 file clean up for the clobber rule thanks Michael Fink. 6200 62012004-09-03 Francois Dumont <dums@...> 6202 6203 * test/unit/fstream_test.cpp, sstream_test.cpp: Move of the test for the 6204 infinite loop from FstreamTest test case to SstreamTest, addition of some 6205 checks. 6206 6207 * test/unit/full_streambuf.h: streambuf implementation simulating full 6208 output. 6209 6210 * stlport/exception: restauration of some modification removed after the 6211 rollback of the 2004-09-01. 6212 6213 * stlport/config/stl_gcc.h: homogeneification of the coding standard used 6214 within STLport, 2 spaces indentations even for preprocessor directives. 6215 Doing so, discovered a weird configuration for Mac OS platform (__APPLE__) 6216 concerning the _STLP_NATIVE_INCLUDE_PATH macro definition, fixed. 6217 6218 * stlport/stl/config/stl_*.mak: removal of all references to the 6219 _STLP_REDEFINED_STD macro as it is now the default and only way STLport 6220 use to replace native Standard library. 6221 6222 * test/unit/nmake-vc-common.mak: add inclusion of the vc_warning_disable.h 6223 file to avoid warnings during build process thanks Michael Fink. 6224 62252004-09-03 Petr Ovtchenkov <ptr@Island...> 6226 6227 * stlport/stl/_ostream.c: removed infinite loop in case when outgoing stream 6228 can't accept more chars. Thanks Daniel White, Ulrich Eckhardt, Francois Dumont. 6229 6230 * test/unit/fstream_test.cpp: test for problem above. Thanks Ulrich Eckhardt. 6231 62322004-09-02 Francois Dumont <dums@...> 6233 6234 * stlport/exception, stlport/stl/_site_config.h, test/unit/exception_test.cpp: 6235 Creation of the _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT macro to signal support of 6236 the unexpected exception mecanism. Related type/function are only brought to the 6237 STLport namespace if correctly supported, exception_test.cpp check that. 6238 6239 * New modification of the _Rb_tree and _Hashtable associated iterator structs. 6240 Removal of the container_type pass through the iterator traits; iterator traits 6241 is the type that will make each derived container iterator type real different 6242 type making them uncomparable. 6243 6244 * stlport/ctype.h: rollback of the above rollback ;-) only of course for the 6245 Win CE code fix that was part of the previous commitment. 6246 62472004-09-01 Petr Ovtchenkov <ptr@Island...> 6248 6249 * Rollback include schema: code is broken. 6250 62512004-08-31 Francois Dumont <dums@...> 6252 6253 * _STLP_INCOMPLETE_EXCEPTION_HEADER replace by the more intuitive 6254 _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT macro. 6255 6256 * Modification of the include schema of all public headers in stlport folder 6257 that need to be reentrant. Now those files are fully guarded and the specific 6258 STLport code is only included once at the end of the inclusion, the reentrancy 6259 only concern inclusion of the native headers. 6260 62612004-08-30 Francois Dumont <dums@...> 6262 6263 * stlport/stl/_deque.c: Fix of a pseudo 'uninitialized variable used' thanks 6264 Oliver Stoeneberg. 6265 62662004-08-27 Francois Dumont <dums@...> 6267 6268 * .Net 2002 (VC70) portage. 6269 62702004-08-27 Petr Ovtchenkov <ptr@Island...> 6271 6272 * src/explore/Makefiles/gmake/gcc.mak, app/gcc.mak, lib/gcc.mak: buggy C++ 6273 language support in libsupc++ in gcc before 3.3 not allow to use it; 6274 link with libstdc++ instead. 6275 6276 * stlport/config/stl_icc.h: fix features for icc 7.1; fix features for Linux 6277 platforms. 6278 62792004-08-24 Francois Dumont <dums@...> 6280 6281 * stlport/config/stl_gcc.h, stl_msvc.h: fixing of configuration concerning 6282 uncaught_exception and exception handling in general thanks John Roberts. 6283 6284 * stlport/stl/_tree.h, _tree.c: Modification of the _Rb_tree_iterator struct 6285 to be able to distiguish iterator types from different tree based containers 6286 Removal of the == and != member operators of the _Rb_tree_base_iterator struct 6287 replaced by global operators taking _Rb_tree_iterator as parameters and checking 6288 that the iterators are of the same container type thanks Haroon Nassiry report. 6289 6290 * stlport/stl/_map.h, _set.h: Modification of the iterator traits used to 6291 instanciate the _Rb_tree class. 6292 6293 * stlport/stl/_hashtable.h, _hashtable.c, _hash_set.h, _hash_map.h: Similar 6294 modifications to the previous one in order to make for instance the iterator 6295 from hash_map and hash_multimap not comparable anymore. 6296 6297 * stlport/config/stl_wince.h, stlport/ctype.h: Move of the isspace C function 6298 Windows CE specific code from the config file to the ctype.h file. This fix 6299 will also apply to Embedded C++ .Net thanks Dirk report. 6300 63012004-08-23 Petr Ovtchenkov <ptr@Island...> 6302 6303 * test/unit/cppunit/cppunit_proxy.h, test/init/gcc.mak: CPPUNIT_MINI removed. 6304 6305 * src/num_get_float.cpp: suggestion to fix problem with float input for gcc 3.4.x 6306 with optimization flag. 6307 6308 * test/unit/floatio_test.cpp: test for infinity and near 6309 6310 * src/explore/Makefiles/gmake/gcc.mak, app/gcc.mak, lib/gcc.mak: fix detection of 6311 gcc version; gcc before 3.x had libgcc.a that contains some language support, 6312 so link with it in case when we avoid link with libstd++. This has relation only 6313 for linux systems. 6314 63152004-08-19 Petr Ovtchenkov <ptr@Island...> 6316 6317 * src/explore/configure.bat: setting up compiling STLport under Windows. 6318 Contribution by Michael Fink. 6319 63202004-08-13 Francois Dumont <dums@...> 6321 6322 * test/unit/gcc.mak: Addition of the _STLP_NO_CUSTOM_IO define to make test 6323 build faster. 6324 6325 * stlport/stl/_limits.h, _limits.c: Modification of the _LimG class definition. 6326 Removal of the static variables, replaced by static method having the same role 6327 but more portable. Fix link problem with MSVC compilers family when using STLport 6328 static library. 6329 6330 * stlport/stl/_bitset.h, _bitset.c: Ditto for the _Bs_G class. 6331 6332 * stlport/stl/_hashtable.h, _hashtable.c: Ditto for the _Stl_prime class. 6333 6334 * src/dll_main.cpp: thanks to the previous modification, removal of the 6335 concerned code within force_link. 6336 63372004-08-13 Petr Ovtchenkov <ptr@Island...> 6338 6339 * test/unit/cppunit/cppunit_mini.h, file_reporter.h, test_main.cpp: 6340 add function to print mess; remove def of CPPUNIT_MINI, not required; add const 6341 qualifiers. 6342 6343 * test/unit/locale_test.cpp: print checked locale name; restore table with format 6344 symbols--partially rollback changes 2004-07-29; add test for possible locale 6345 init/deinit problem---I don't see problem. Test inspired by Alex Kosilin. 6346 63472004-08-11 Francois Dumont <dums@...> 6348 6349 * src/explore/Makefiles/nmake: extension of the new build system for VC.Net 6350 2005 (VC8). 6351 6352 * src/explore/Makefiles/nmake/app: restauration of the default behavior shared 6353 rules generates executable using the STLport dynamic library and static rules 6354 use the static libraries. 6355 6356 * stlport/stl/_string.h: Add check of _STLP_NO_IOSTREAMS to force inclusion of 6357 _string.c in this case. 6358 6359 * stlport/stl/_string.c: removal of the _STLP_LINK_TIME_INSTANTIATION macro check 6360 before inclusion as the check is already done to include _string.c from _string.h. 6361 6362 * stlport/stl/_istream.h _istream.c: removal of the _M_put_num function definition 6363 from the .h and removal of all the inline implementation of the >> operators. 6364 _M_put_num is now hidden in the .c to avoid to have to deal with export of this 6365 symbol. Fix errors while using the _STLP_NO_CUSTOM_IO macro. 6366 6367 * stlport/stl/_ostream.h _ostream.c, src/ostream.cpp: ditto but for the _M_get_num 6368 function. 6369 6370 * stlport/stl/_istream.h _istream.c: _M_init_skip and _M_init_noskip are now inline 6371 functions defined within the .h to fix link errors when using the _STLP_NO_CUSTOM_IO 6372 macro. 6373 63742004-08-10 Francois Dumont <dums@...> 6375 6376 * stlport/stl/_string.h: add check of the _STLP_EXPOSE_STREAM_IMPLEMENTATION 6377 macro to include the _string.c file. Improve compile time when _STLP_NO_CUSTOM_IO 6378 is defined. 6379 6380 * stlport/stl/_string.h, stlport/stl/debug/_string.h, _string_mem_t.h: restoration 6381 of the template method specialization for backward compatibility between compilers 6382 implementating template method and the most recent one. It is considered as an 6383 STLport extension. 6384 63852004-08-09 Petr Ovtchenkov <ptr@Island...> 6386 6387 * test/compiler: tests to check whether compiler understand or not some 6388 language construction. It is NOT tests for language support libraries, 6389 only tests for compiler. The main purposes of this tests is to help 6390 for developers to find correct workarounds, if compiler don't understand 6391 some language constructions. 6392 63932004-08-09 Francois Dumont <dums@...> 6394 6395 * stlport/stl/_limits.h, stlport/config/stl_mycomp.h: introduction of a new macro 6396 configuration to signal no support of the IEC 559 specification for floating point 6397 numbers. 6398 6399 * stlport/config/stl_msvc.h: fix of the config to signal no IEC 559 support before 6400 Visual C++ .Net even if the infinity value is fine. 6401 6402 * test/unit/limits_test.cpp: New test case to check the right numeric_limits class 6403 configuration. Do not check the signaling_NaN yet... 6404 6405 * stlport/config/stl_msvc.h: Visual .Net Beta 2005 portage. 6406 6407 * stlport/stl/_ios.h: Move of the basic_ios::narrow and widen member method 6408 specialization before the explicit instanciation of the basic_ios class for 6409 the char type. 6410 6411 * stlport/stl/_construct.h, _num_put.c: fix of some unused parameter warning 6412 thanks Oliver Stoeneberg report. 6413 64142004-08-05 Francois Dumont <dums@...> 6415 6416 * Fixes of the internal move framework for compilers not supporting partial 6417 template specialization. The problem was detected thanks to the boost regression 6418 test suite. 6419 64202004-08-04 Francois Dumont <dums@...> 6421 6422 * stlport/stl/debug/_list.h, _slist.h: small review of the stlport debug code. 6423 Removal of any Standard reference in the slist class debug implementation. Removal 6424 of some unjustified iterator invalidation. 6425 6426 * stlport/stl/_locale.h, _collate.h, src/locale.cpp, locale_catalog.cpp, locale_impl.cpp: 6427 Split of the locale class implementation into _LocaleBase base class with no member 6428 template methods which is exported and the locale class which is not exported. This 6429 is a workaround for the MSVC6 compiler. 6430 64312004-08-03 Francois Dumont <dums@...> 6432 6433 * stlport/stl/_iterator.h: Fix of the back_insert_iterator, front_insert_iterator 6434 and insert_iterator to make them assignable like specify in the Standard requirements 6435 of the output iterators. 6436 6437 * test/unit/insert_test.cpp, finsert_test.cpp, binsert_test.cpp: Addition of tests for 6438 the assignment operators on the output iterators. 6439 64402004-08-02 Francois Dumont <dums@...> 6441 6442 * stlport/stl/_string.h, _string.c, debug/_string.h: split of the basic_string 6443 implementation into a class with no member templates and one with the member 6444 templates. Only the one with no member templates is exported. This is a MSVC6 6445 bug workaround as this compiler try to look for the class method symbols within 6446 the dynamic library even if this symbol is the one of template method which is 6447 not exported. That also make the basic_string implementation more clean so it 6448 has been adopted for all compilers. 6449 64502004-07-29 Francois Dumont <dums@...> 6451 6452 * test/unit/locale_test.cpp: Fix bad macro _STLP_NO_EXCEPTIONS spelling 6453 and add of a check for real locale implementation. Patch done by 6454 Michael Fink. 6455 6456 * stlport/stl/debug/_debug.h, _debug.c, _iterator.h: Modification of the 6457 __check_same_owner_or_null function name to the more intuitive 6458 __check_same_or_null_owner thanks a Aleksey Sanin remark. 6459 64602004-07-26 Petr Ovtchenkov <ptr@Island...> 6461 6462 * src/explore/Makefiles/gmake/lib/gcc.mak: avoid linkage with libstd++ 6463 for gcc compilers. 6464 6465 * src/explore/Makefiles/gmake/linux/rules-so.mak: ditto 6466 6467 * src/explore/Makefiles/gmake/lib/rules-a.mak: ditto 6468 6469 * src/explore/Makefiles/gmake/app/top.mak: ditto 6470 64712004-07-21 Francois Dumont <dums@...> 6472 6473 * stlport/config/stl_gcc.h: Fix of a gcc 3.3.0 test that did not handle 6474 the gcc 2.95.x correctly thanks Jordan Breeding. 6475 6476 * src/common_rules.mak: Addition of the stlport/stl/pointers folder within 6477 the folder to be install. Add of a call to ranlib under linux mandatory under 6478 Mac OS X and without impact under the other Unixes systems. 6479 64802004-07-17 Francois Dumont <dums@...> 6481 6482 * Application of a Mac OSX patch from John Daniel (www.etresoft.com) 6483 64842004-07-15 Francois Dumont <dums@...> 6485 6486 * stlport/stl/_epilog.h: systematical use of the redefined std namespace 6487 rather than using the namespace inclusion schema. 6488 6489 * test/unit/set_test.cpp: addition of a test case to show the problem of 6490 the namespace injection schema. 6491 64922004-07-13 Francois Dumont <dums@...> 6493 6494 * stlport/numeric: removal of the _function.h header include. 6495 6496 * test/unit/divide_test.cpp: add the missing functionnal header 6497 inclusion. 6498 6499 * doc/README.msvc: new doc specific to the MSVC++ family compiler. 6500 65012004-07-12 Petr Ovtchenkov <ptr@Island...> 6502 6503 * test/unit/fstream_test.cpp: tests for unformatted extraction bug. 6504 6505 * stlport/stl/_istream.c: _M_read_unbuffered should leave delimiter 6506 in the stream in case of unformatted input. Thanks Joerg Becker. 6507 65082004-07-09 Francois Dumont <dums@...> 6509 6510 * src/sgi_mipspro.mak: add the -LANG:libc_in_namespace_std:OFF 6511 thanks Jack Perdue. 6512 65132004-07-08 Francois Dumont <dums@...> 6514 6515 * doc/README.evc3: additionnal doc thanks Michael Fink 6516 65172004-07-08 Petr Ovtchenkov <ptr@Island...> 6518 6519 * test/unit/sstream_test.cpp: added two test for unformatted extraction 6520 and newline character. Inspired by Joerg Becker. 6521 65222004-07-07 Francois Dumont <dums@...> 6523 6524 * stlport/stl/_hashtable.h, stlport/stl/_hashtable.c, 6525 stlport/stl/_hash_set.h, stlport/stl/_hash_map.h: generalization 6526 of the iterator traits adopted on the tree class. Now iterator and 6527 const_iterator on hash_set and hash_multiset are different types 6528 even if iterator is still immutable. 6529 6530 * stlport/stl/_deque.h, stlport/stl/_list.h, stlport/stl/_slist.h: 6531 Modification of the iterator classes to only use the template 6532 parameter _Traits rather than using an external type traits. It is 6533 the way hash containers and sorted containers have their iterator 6534 struct working. 6535 6536 * stlport/stl/_iterator_base.h: Addition of the immutable traits 6537 struct _Const_Const_traits and _Nonconst_Const_traits for 6538 implementation of the set, multiset, hash_set, hash_multiset 6539 iterators. 6540 6541 * stlport/stl/c_locale.h, stlport/stl/debug/_debug.h: removal of 6542 unjustified _config.h inclusions 6543 6544 * stlport/stl/_iterator_base.h: inclusion of type_traits.h only 6545 for compilers that need it. 6546 6547 * stlport/stl/_algobase.h, stlport/stl/debug/_debug.h: add inclusion 6548 of type_traits.h. 6549 6550 * stlport/stl/_algo.h, stlport/stl/_algo.c: move of the _tempbuf.h 6551 inclusion from the .h to the .c that is the only one that need it. 6552 6553 * stlport/stl/_config.h: addition of the boost support section. 6554 65552004-07-07 Petr Ovtchenkov <ptr@Island...> 6556 6557 * stlport/stl/_monetary.c: iterator __str_first out of range, 6558 i.e. outside __str_last in 'mismatch' call in __get_string, if 6559 size of interval [__first, __last) is larger than size of interval 6560 [__str_first, __str_last). 6561 6562 * test/unit/fstream_test.cpp: test for correct report by tellg added. 6563 65642004-07-05 Francois Dumont <dums@...> 6565 6566 * stlport/stl/_map.h: internal type _Rep_type set as public for use 6567 in the __move_traits specialization thanks Oliver Stoeneberg. 6568 6569 * stlport/stl/_set.h: specialization of the __move_traits to make the 6570 set and multiset movable thanks Oliver Stoeneberg. 6571 6572 * stlport/stl/_function_base.h, stlport/stl/_heaps.h: removal of the 6573 unjustified _config.h inclusion that should only be included from the 6574 _prolog.h header. 6575 65762004-07-05 Petr Ovtchenkov <ptr@Island...> 6577 6578 * src/facets_byname.cpp: avoid pass address to member of derived class into 6579 base class via constructor. 6580 6581 * src/facets_byname.cpp: remove first member---EOF---of _M_byname_table---one 6582 not required and lead to wrong reference; this a fix for test in 6583 locale_test.cpp. 6584 6585 * src/ctype.cpp: ditto. 6586 6587 * src/c_locale_win32/c_locale_win32.c: ditto. 6588 6589 * stlport/stl/_ctype.h: ditto. 6590 65912004-07-02 Petr Ovtchenkov <ptr@Island...> 6592 6593 * src/c_locale_glibc/c_locale_glibc2.c: message catalog functions dealing 6594 with message catalog descriptor; but this descriptor not necessary to be 6595 int; Linux use here void *, i.e. pointer to mmap segment. 6596 6597 * stlport/stl/_messages_facets.h: ditto. 6598 6599 * src/messages.cpp: ditto. 6600 6601 * src/message_facets.h: ditto. 6602 6603 * src/facets_byname.cpp: ditto. 6604 6605 * src/c_locale_stub.cpp: ditto. 6606 6607 * src/c_locale.h: ditto. 6608 6609 * src/c_locale_glibc/c_locale_glibc2.c: fix _Locale_extract_*_name 6610 functions. 6611 66122004-07-01 Francois Dumont <dums@...> 6613 6614 * src/explore/Makefiles/nmake/lib/vc-common.mak: creation of the 6615 STLP_BUILD_FORCE_DYNAMIC_RUNTIME option to create STLport statix 6616 versions more easily. 6617 66182004-06-30 Francois Dumont <dums@...> 6619 6620 * stlport/stl/_function.h: Use a call_traits to avoid the reference 6621 to reference problem in struct like binder1st or binder2nd. 6622 66232004-06-26 Francois Dumont <dums@...> 6624 6625 * src/explore/: portage of the explore build system for the 6626 MSVC .Net 2003 compiler. 6627 66282004-06-24 Francois Dumont <dums@...> 6629 6630 * stlport/stl/_site_config.h: Addition of an entry for the per thread 6631 allocator configuration. 6632 6633 * stlport/stl/_config.h: Avoid use of the import/export technique 6634 when not using own iostreams. This way you can use the STLport debug 6635 mode without building the libraries. 6636 66372004-06-23 Francois Dumont <dums@...> 6638 6639 * extension of the cygwin link problem workaround for mingw32. 6640 6641 * src/locale_catalog.cpp: Move of the _STLP_lock object instance 6642 declaration to limit the critical section and improve performace. 6643 6644 * stlport/stl/_pthread_alloc.h: fix of the pthread_allocator and 6645 per_thread_allocator allocate method to check for the required 6646 number of element before multiplication with the size of the objects 6647 to instanciate. 6648 66492004-06-22 Francois Dumont <dums@...> 6650 6651 * src/locale_catalog.cpp: fix of the locale facets registration system. 6652 The hash container use string as key rather than char const* so that 6653 a copy of the facet name is stored rather than a copy of the string 6654 pointer that might be freed. We also extract the complete facet name 6655 before storing it to avoid store of facet aliases that cannot be retrieved 6656 at release. 6657 66582004-06-21 Francois Dumont <dums@s...> 6659 6660 * Restauration of the cygwin support (using gcc 3.3.1). Extension of the 6661 explore build system, workaround of a link problem when using shared 6662 libraries. 6663 66642004-06-13 Petr Ovtchenkov <ptr@Island...> 6665 6666 * src/c_locale_glibc/c_locale_glibc2.c: locale_data for glibc 2.3 is differ 6667 from one for glibc 2.2. 6668 66692004-06-11 Francois Dumont <dums@...> 6670 6671 * test/unit: Modification of some tests to make the assertion 6672 clearer. Mainly add of check of the streams state before check 6673 of the stream content. 6674 6675 * test/unit/locale_test.cpp: fix of the thousands separator which is 6676 0xa0 under Win32 and not a simple ' ' for the french locale. 6677 66782004-06-07 Francois Dumont <dums@...> 6679 6680 * stlport/stl/_algo.c: rollback of the sort algo implementation 6681 to the 4.5.3 version. 6682 66832004-06-03 Francois Dumont <dums@...> 6684 6685 * stlport/stl/pointers/README, doc/pointer_specialization.txt: move and 6686 rename of the doc about pointer partial template specialization feature. 6687 6688 * doc/README.ecv4: Creation of a documentation about the install and use 6689 of STLport within Embedded Visual C++ 4 thanks Zdenek Nemec. 6690 6691 * doc/README.ecv3: Creation of a documentation about the process installment 6692 with the Embedded Visual C++ 3 thanks Michael Fink. 6693 6694 * stlport/stl/_slist.h: fix of an invalid reference to a _M_node member data 6695 on a _Slist_node_base struct (thanks gcc 3.4.0). 6696 6697 * stlport/stl/_string.c, stlport/stl/_string.h: fix of missing scopes to 6698 access the base template class _String_base _DEFAULT_SIZE enum member. 6699 (thanks gcc 3.4.0) 6700 6701 * stlport/stl/_string_base.h: fix of the anonymous union used as a parameter 6702 of the template function swap. (thanks gcc 3.4.0) 6703 6704 * stlport/stl/_ostream.h: fixes of the missing scopes to access the basefield enum 6705 within the base template class basic_ios from the basic_ostream. (thanks gcc 3.4.0) 6706 6707 * stlport/stl/_debug.c: clean up of a no more use template function. 6708 (thanks gcc 3.4.0) 6709 6710 * stlport/stl/_rope.h: fix of the missing scope to access base template class 6711 data member. (thanks gcc 3.4.0) 6712 67132004-06-02 Petr Ovtchenkov <ptr@island...> 6714 6715 * src/num_put_float.cpp: some fixes for systems that use snprintf for 6716 output, i.e. for FreeBSD and OpenBSD 6717 6718 * test/unit/floatio_test.cpp: less precise request, this should work 6719 with static buffer for systems that use snprintf 6720 6721 * stlport/stl/_config.h: detect MT for OpenBSD 6722 6723 * stlport/stl/_threads.h: use original spinlock for OpenBSD 6724 67252004-05-28 Francois Dumont <dums@...> 6726 6727 * stlport/config/stl_gcc.h: fix for the gcc3.4.0 compiler. Modification 6728 of the include path macro to generate 3.4.0 rather than 3.4 . Need 6729 template keyword to reveal use of a nested template class. 6730 6731 * stlport/stl/_config.h: creation of the _STLP_LONG_DOUBLE macro that 6732 extend to long double on compiler supporting it and double on the other 6733 as a workaround. 6734 6735 * stlport/stl/_num_put.h, stlport/stl/_num_put.c, src/num_put_float.cpp: 6736 Addition of functions to get the digits from a long double for the monetary 6737 facet. 6738 6739 * stlport/stl/_monetary.h, stlport/stl/_monetary.c, src/monetary.cpp: 6740 Implementation of the missing money_put::put method taking a long double. 6741 Fixing of the grouping application. 6742 6743 * test/unit/Makefile.inc, test/unit/locale_test.cpp: Creation of a unit test 6744 for the locale support. At creation it tests the num_put, num_get, money_put, 6745 money_get facets. 6746 6747 * src/facets_byname.cpp: fix of the monetary format determination from 6748 the locale platform API informations. 6749 67502004-05-28 Petr Ovtchenkov <ptr@Island...> 6751 6752 * src/explore/Makefiles/gmake/sysid.mak: correctly detect Mingw 6753 6754 * src/explore/Makefiles/gmake/mingw: compilation under Mingw 6755 67562004-05-27 Petr Ovtchenkov <ptr@Island...> 6757 6758 * Makefiles/gmake/linux/extern.mak: fix lib catalog name in case of cross-compilation 6759 6760 * Makefiles/gmake/freebsd/extern.mak: ditto 6761 6762 * Makefiles/gmake/openbsd/extern.mak: ditto 6763 67642004-05-26 Petr Ovtchenkov <ptr@Island...> 6765 6766 * Repository: STLport 5.0 RC1 6767 67682004-05-24 Francois Dumont <dums@...> 6769 6770 * stlport/stl/_iostream_string.h: 6771 Fix of the iostring_allocator rebind embedded struct and implementation 6772 of the missing __stl_alloc_rebind and __stl_alloc_create useful for compiler 6773 not supporting or buggy on the member template feature (VC6 for instance). 6774 67752004-05-22 Francois Dumont <dums@...> 6776 6777 * src/num_put_float.cpp, stlport/stl/_num_put.h, stlport/stl/_num_put.c: 6778 Correction of the locale grouping schema application in case of the scientific 6779 output when there is no decimal point. 6780 67812004-05-19 Petr Ovtchenkov <ptr@Island...> 6782 6783 * stlport/stl/_tree.h, stlport/stl/debug/_tree.h: fix template parameters, see rec 6784 2004-05-14 below. 6785 67862004-05-16 Petr Ovtchenkov <ptr@Island...> 6787 6788 * Repository: STLport 5.0 branch 6789 67902004-05-14 Francois Dumont <dums@...> 6791 6792 * stlport/stl/_tree.h, stlport/stl/_tree.c, stlport/stl/_set.h, stlport/stl/_map.h: 6793 Modification of the _Rb_tree implementation to restore the non mutability of the set 6794 iterators but to keep distinct type between it and the const_iterator. 6795 67962004-05-13 Francois Dumont <dums@...> 6797 6798 * stlport/config/stl_evc.h, test/unit/nmake-evc3.mak: Portage to the WinCE 3 platform. 6799 Thanks Michael Fink. 6800 68012004-05-13 Francois Dumont <dums@s...> 6802 6803 * stlport/stl/_set.h: Addition of the const/non-const methods for many methods now that 6804 iterator are not const_iterator anymore. Correction of the multiset interface to be 6805 homogeneous with the set interface. 6806 68072004-05-09 Francois Dumont <dums@...> 6808 6809 * stlport/stl/char_traits.h: Addition of the specific wchar_t static methods similar 6810 to the one of the char specialization calling the wide functions. 6811 68122004-05-08 Petr Ovtchenkov <ptr@Island...> 6813 6814 * stlport/stl/_set.h: fix definition of const/non-const for find and *_bound 6815 methods. Thanks KL for report. 6816 68172004-05-07 Petr Ovtchenkov <ptr@Island...> 6818 6819 * stlport/stl/_set.h: fix definition of const/non-const iterators. 6820 Thanks Ilya Chvetsov for report. 6821 6822 * test/unit/set_test.cpp: test that detect bug above. 6823 68242004-04-27 Francois Dumont <dums@s...> 6825 6826 * stlport/stl/_complex.h: removal of a macro guard on the template != operator. 6827 6828 * test/unit/complex_test.cpp: creation of a test case for the complex class. 6829 68302004-04-26 Francois Dumont <dums@s...> 6831 6832 * stlport/stl/_fstream.h, src/fstream.cpp: extension of the fstream interface to accept Win32 6833 HANDLE on construction and in the open method. 6834 68352004-04-26 Petr Ovtchenkov <ptr@Island...> 6836 6837 * stlport/stl/_istream.h: don't change value while input error happens. 6838 Thanks Nix. 6839 6840 * test/unit/sstream_test.cpp, test/unit/fstream_test.cpp: added test for error 6841 flags and unchanged value when input error occur. 6842 68432004-04-23 Petr Ovtchenkov <ptr@Island...> 6844 6845 * stlport/stl/_rope.h: allow search of rope, like done in string 6846 68472004-04-21 Francois Dumont <dums@...> 6848 6849 * stlport/stl/pointers/README: Creation of a documentation on the new 6850 pointer partial specialization feature. 6851 68522004-04-20 Francois Dumont <dums@s...> 6853 6854 * stlport/stl/_pair.h: modification of the make_pair signature. After the latest 6855 Standard revision it takes params per value and not reference to const. 6856 68572004-04-20 Petr Ovtchenkov <ptr@Island...> 6858 6859 * stlport/stl/pointers/_list.h: 'clear' method was forgot. 6860 6861 * test/unit/list_test.cpp: check presence of 'clear' 6862 68632004-04-15 Petr Ovtchenkov <ptr@Island...> 6864 6865 * test/unit/partial_test.cpp: wrong comparison during test 6866 6867 * test/unit/sort_test.cpp: ditto 6868 6869 * test/unit/rm_cp_test.cpp: #ifndef not required---should work 6870 6871 * test/unit/unique_test.cpp: ditto 6872 68732004-04-14 Petr Ovtchenkov <ptr@Island...> 6874 6875 * stlport/typeinfo, stlport/config/stl_wince_4.h, stlport/stl/debug/_debug.c: adaptation for Win CE .NET; 6876 Thanks Zdenek Nemec. 6877 6878 * stlport/stl/_algobase.h: calculate difference once 6879 6880 * stlport/stl/pointers/_vector.h: missed returns. Thanks KL. 6881 6882 * stlport/stl/pointers/_list.h: idem. 6883 6884 * stlport/stl/pointers/_deque.h: idem. 6885 6886 * stlport/stl/pointers/_slist.h: idem. 6887 6888 * stlport/stl/_vector.c, stlport/stl/_vector.h: big enough functions moved to non-inline section 6889 6890 * stlport/stl/_iterator.h: use reference instead of pointer for stored container 6891 68922004-04-06 Petr Ovtchenkov <ptr@Island...> 6893 6894 * stlport/stl/_prolog.h: when we in _STLP_REDEFINE_STD mode, we really 6895 need to #undef std, see mistake 2004-02-19 below. 6896 6897 * stlport/config/stl_msvc.h: partially undo workaround 2004-03-30, 6898 not required; problem was solved by #undef std in _prolog.h 6899 6900 * stlport/stl/_abbrevs.h: add new abbrevs---VC6 has problems in debug mode 6901 69022004-04-03 Petr Ovtchenkov <ptr@Island...> 6903 6904 * stlport/stl_user_config.h: expose _STLP_DONT_FORCE_MSVC_LIB_NAME for 6905 configuration. 6906 6907 * stlport/config/stl_msvc.h: incorporate content of stl_select_lib.h and 6908 vc_select_lib.h; a bit cleaned. 6909 6910 * stlport/config/stl_select_lib.h: removed. 6911 6912 * stlport/config/vc_select_lib.h: removed. 6913 69142004-04-02 Petr Ovtchenkov <ptr@Island...> 6915 6916 * src/time_facets.cpp: add #include <cstdio> for sprintf; remove 6917 c_copy_string function. 6918 6919 * stlport/stl/_time_facets.h: fix for _STLP_LEAKS_PEDANTIC. 6920 69212004-04-01 Petr Ovtchenkov <ptr@Island...> 6922 6923 * stlport/stl/_string.h: reorder of in-class template and 6924 quazi-specialization function make VC happy, ref. 2004-03-29 6925 6926 * stlport/stl/debug/_string.h: fix insert and replace for 6927 iterators that refer to same string in _STLP_DEBUG mode. 6928 69292004-03-31 Petr Ovtchenkov <ptr@Island...> 6930 6931 * src/explore/nmake-evc4-arm.mak, src/explore/nmake-evc4-x86.mak, etc.: 6932 rules for eVC4 compilers---ARM and ix86 target architectures. 6933 Contribution by Zdenek Nemec. 6934 69352004-03-30 Petr Ovtchenkov <ptr@Island...> 6936 6937 * stlport/stl/_algo.c: workaround for VC compilers---ones pass reference 6938 to parent object directly, pay no regard for temporary object 6939 6940 * stlport/new, stlport/stl/_new.h, stlport/typeinfo, stlport/config/stl_msvc.h: 6941 workaround for VC6's problem with 'using' directive, while import native 6942 bad_alloc and some other classes into STLport's namespace 6943 6944 * stlport/stl/_streambuf.h: export template class, to make VCs to be happy. 6945 6946 * stlport/stl/_valarray.h: use <new>, not <stl/_new.h> 6947 6948 * src/explore/Makefiles/nmake/lib/macro.mak, test/unit/nmake-vc6.mak: 6949 fix static library names 6950 69512004-03-29 Petr Ovtchenkov <ptr@Island...> 6952 6953 * stlport/stl/_set.h: fix problems with erase functions. 6954 6955 * stlport/stl/_string.h: VC compiler expect only one variant---template 6956 or not---of replace function with four iterators in parameters. 6957 6958 * test/unit/nmake-src-prefix.mak: really know what do with sources 6959 in cppunit. 6960 69612004-03-25 Petr Ovtchenkov <ptr@Island...> 6962 6963 * stlport/stl/_string_base.h: enlarge default string static buffer size 6964 6965 * stlport/stl/debug/_string.h: avoid attempt to invalidate iterators beyond 6966 string size range. 6967 6968 * stlport/config/stl_gcc.h: instantiation scheme that idefault used---witout 6969 --repo option---in gcc 3 made void of sense explicit instantiation within 6970 library---nothing except increased library size. 6971 Define _STLP_NO_FORCE_INSTANTIATE is default now for gcc 3.x. 6972 6973 * stlport/stl/_streambuf.h: remove specialization of 6974 basic_streambuf<char, char_traits<char> >---reference to FILE struct here 6975 isn't required and really not used anyware. Functionality of standard io 6976 streams, including synchronization with C std io streams provided in 6977 src/stdio_streambuf.cpp 6978 6979 * stlport/stl/_iosfwd.h: same. 6980 6981 * src/fstream_impl.h, src/iostream.cpp, src/stdio_streambuf.cpp: same. 6982 6983 * src/streambuf.cpp: removed. 6984 6985 * stlport/stl/_stdio_file.h: moved... 6986 * src/_stdio_file.h: ...here 6987 6988 * stlport/stdio_streambuf: moved... 6989 * src/_stdio_file.h: ...here 6990 6991 * src/explore/Makefile.inc: remove streambuf.cpp 6992 69932004-03-24 Petr Ovtchenkov <ptr@Island...> 6994 6995 * c_locale_glibc2.c: real locale implementation for glibc 2.3.x. 6996 69972004-03-15 Petr Ovtchenkov <ptr@Island...> 6998 6999 * test/unit: unit test suite intended for test/regression replacement. 7000 Zdenek Nemec contribution. 7001 70022004-03-01 Francois Dumont <dums@s...> 7003 7004 * _hash_fun.h: Correction of the hash struct specialization for the _STLP_LONG_LONG 7005 type. Thanks Vianney Lecroard 7006 7007 * type_traits.h: Integration of the boost (www.boost.org) type traits within STLport. 7008 70092004-02-21 Francois Dumont <dums@s...> 7010 7011 * _tree.h: Modification of the base class implementtion to avoid the systematical 7012 dynamic allocation of a node as the root note of the RB tree. 7013 7014 * Addition of many missing macro guards in the stlport public headers to avoid to break 7015 the stlport prolog/epilog include framework. 7016 70172004-02-19 Petr Ovtchenkov <ptr@Island...> 7018 7019 * _slist.h, debug/_slist.h,, dll_main.cpp: remove excess slist redefinitions 7020 7021 * debug/_slist.h: comment explicit usage of namespace with functions---under 7022 some conditions this hangs gcc compilers. 7023 7024 * _config.h, _cwchar.h, _epilog.h, _iterator_base.h, debug/_debug.c: multiple import 7025 of _STL namespace into std, as multiple import VENDOR_CSTD namespace into _STL 7026 namespace lead to crash of gcc compilers. Import of _STL namespace into std 7027 namespace done once in the _config.h, not in _epilog.h. 7028 7029 * _prolog.h: undef std not required in all cases; instead this is useful only 7030 for redefinition of std namespace, and should be done in the _config.h. 7031 7032 * _epilog.h: include of _config.h has no sense here. 7033 7034 * _threads.h: wrong import of _STL namespace into global namespace 7035 70362004-02-18 Francois Dumont <dums@s...> 7037 7038 * _list.h: Modification of the base list class based on the slist implementation. 7039 The list do not allocate a node systematically anymore even for the empty list. 7040 70412004-02-14 Petr Ovtchenkov <ptr@Island...> 7042 7043 * debug/_relops_cont.h, debug/_string.h: fix typos in template specializations. 7044 70452004-02-12 Petr Ovtchenkov <ptr@Island...> 7046 7047 * explore/icc.mak: experimental make system support Intel's icc compiler 7048 on Linux. 7049 70502004-02-05 Petr Ovtchenkov <ptr@Island...> 7051 7052 * iostream.cpp, _ios_base.h, iostream, locale_impl.h, locale_impl.cpp: 7053 revise standard iostream and locale initialization, remove worrits about 7054 order of static objects initialization as soon as possible; all real 7055 initialization situated in the locale_impl.cpp; locale initialization 7056 moved to _Locale_impl constructor---locale will be correctly initialized 7057 either via direct locale usage, or during standard iostream initialization, 7058 as ios_base member. This changes may lead to problems with Digital Mars 7059 and Borland compilers---should be checked and fixed. 7060 70612004-02-03 Francois Dumont <dums@s...> 7062 7063 * integration of a portage to the Windows CE .NET (eMebedded Visual 7064 C++ 4) compiler thanks Zdenek Nemek 7065 70662004-02-02 Petr Ovtchenkov <ptr@Island...> 7067 7068 * _iostream_string.h: avoid usage of iostring in the _STLP_DEBUG mode, 7069 due to iostring::iterator not convertable into string::iterator in this 7070 mode. 7071 70722004-01-29 Petr Ovtchenkov <ptr@Island...> 7073 7074 * _string.c: avoid 'insert( iterator, const_iterator, const_iterator )' 7075 instantiation in the 'replace'---VC6 has problem here. 7076 70772004-01-29 Francois Dumont <dums@s...> 7078 7079 * facets_byname.cpp: correction of the typeid use thanks to Ulrich Eckhardt. 7080 7081 * _iostream_string.h: creation and integration of a special string used within 7082 the iostream implementation to display floating point numbers. It mixes a static 7083 buffer with a dynamic one to improve performance. 7084 70852004-01-22 Francois Dumont <dums@s...> 7086 7087 * _new.h: check of the _STLP_USE_EXCEPTIONS before correction of the new 7088 operator behavior and bad_alloc exception definition. 7089 7090 * _ios_base.h: removal of the _M_get_facet function not fully implemented 7091 and unused thanks Ulrich Eckhardt. 7092 7093 * _algo.h: correction of the __less_2 helper struct to remove 7094 copy thanks Sergey Volk 7095 70962004-01-19 Petr Ovtchenkov <ptr@Island...> 7097 7098 * _debug.c: avoid recursive locks in __owner_list's mutex---equivalent 7099 code use underlie iterators, not debug wrapper iterators. By the way this 7100 approach faster---no excessive checks; solved by Boris Fomitchev. 7101 7102 * _thread.h, _debug.h: recursive-safe mutex structure removed---not 7103 required more; see reason just above. 7104 71052004-01-09 Francois Dumont <dums@s...> 7106 7107 * type_manip.h: Correction of the _IsSame struct to have both partial template 7108 specialization version and the other behaving similarly. 7109 71102004-01-07 Francois Dumont <dums@s...> 7111 7112 * _deque.c: Mysterious copies of instance to store in the containers 7113 has been removed. 7114 71152004-01-05 Francois Dumont <dums@s...> 7116 7117 * _list.h, _slist.h: Implementation of the pointer specialization for list 7118 and slist. 7119 71202003-12-31 Petr Ovtchenkov <ptr@Island...> 7121 7122 * _vector.h, _vector.c, _hashtable.h: remove excess vector redefinitions 7123 7124 * debug/_vector.h: pointer specialization for vector not derived 7125 from _Vector_base, so we should avoid references on _Vector_base 7126 class members in debug wrapper. 7127 71282003-12-22 Francois Dumont <dums@s...> 7129 7130 * _string.h: use _STLP_FORCE_STRING_TERMINATION flag to enforce 7131 null-termination of data associated with string. 7132 71332003-12-20 Francois Dumont <dums@s...> 7134 7135 * _vector.h: Implementation of the pointer specialization for vector to 7136 avoid code bloat. 7137 71382003-11-29 Francois Dumont <dums@s...> 7139 7140 * _string.h: Implementation of the short string optimization. 7141 basic_string have now a short static buffer to avoid call 7142 to the allocator when the string is short. 7143 71442003-11-29 Petr Ovtchenkov <ptr@Island...> 7145 7146 * cwchar, _config.h, _cwchar.h, _stdio_file.h, c_locale.h: 7147 support for OpenBSD, gcc 3.3.1 7148 7149 * src/explore/Makefiles/gmake/...: support for OpenBSD, gcc 3.3.1 7150 71512003-11-17 Francois Dumont <dums@s...> 7152 7153 * _alloc.h: Move of the definition of _Alloc_Traits before inclusion 7154 of _pthread_alloc.h; thanks Diego Klabjan 7155 71562003-11-16 Petr Ovtchenkov <ptr@Island...> 7157 7158 * _algobase.h, _algo.c: iter_swap and __insertion_sort don't 7159 properly deduce value type of iterator, instead uses dereference's 7160 return type; this occur when dereference return some proxy object, 7161 convertible into value type. 7162 Thanks Przemek Kuczmierczyk <przemekk834@tlen.pl> for report, test 7163 and solution. 7164 7165 * iterswp0.cpp, iterswp1.cpp, iterswp.cpp, stl_test.cpp, 7166 stl_test.h, Makefile.inc (test/regression): move iterswp0_test, 7167 iterswp1_test into iterswp.cpp, add new tests for properly deduce 7168 value type of iterator, when dereference return some proxy object. 7169 71702003-11-15 Francois Dumont <dums@s...> 7171 7172 * _string.h: implementation of the expression template for string 7173 addition with other string or C string or char. 7174 7175 * _ostream.h: adoption of the classic (even if not clear in 7176 the standard) ouput for short and int negative values in hexa 7177 or octo bases that is display according its size for the compiler. 7178 thanks Tanaka. 7179 71802003-11-14 Petr Ovtchenkov <ptr@Island...> 7181 7182 * src/c_locale.c, src/c_locale_glibc/c_locale_glibc2.c: step to 7183 real locales support with glibc >= 2.2.x 7184 7185 * src/c_locale_glibc/c_locale_glibc.c: bit fixes for locales 7186 support with glibc < 1.90, and, possible, 1.90 <= glibc < 2.1; 7187 we can't support this old code, so file 7188 src/c_locale_glibc/c_locale_glibc.c is obsolete, and will be 7189 removed. 7190 7191 * src/explore, test/regression/explore: exprimental make system. 7192 71932003-11-13 Petr Ovtchenkov <ptr@island...> 7194 7195 * STLport (repository): current development moved to CVS HEAD stream. 7196 7197 * STLport (repository): current development stream marked as STLport 5.0. 7198 71992003-11-02 Francois Dumont <dums@s...> 7200 7201 * _limits.c: Correction of the quiet and signaling NaN that was inverted 7202 for several platform; thanks Alexey Sarytchev. 7203 72042003-11-01 Francois Dumont <dums@s...> 7205 7206 * _string.c: judicious correction for string::find_first_not_of to 7207 improve performance; thanks Stephen Cleary. 7208 7209 * _bitset.h: integration of a workaround for up to MSVC6 compilers 7210 for the bitset input and output operators; thanks Jesse Booher. 7211 7212 * _ostream.h, _istream.h: fix of a non-standard behavior of the seekp 7213 and seekg calls and conformance to the latest 2003 standard; thanks Tanaka. 7214 72152003-10-26 Francois Dumont <dums@s...> 7216 7217 * _monetary.c: fix an other memory overrun on monetary display; 7218 thanks Tanaka. 7219 72202003-10-26 Petr Ovtchenkov <ptr@island...> 7221 7222 * ioiter.cpp, gcc.mak, stl_test.h, stl_test.cpp, stl_test.exp 7223 (test/regression): tests for postfix increment operator and 7224 indirection of istreambuf_iterator. 7225 72262003-10-25 Petr Ovtchenkov <ptr@island...> 7227 7228 * _istreambuf_iterator.h: fix postfix increment operator 7229 of istreambuf_iterator to provide conformance with 7230 ISO/IEC 14882:1998(E), 24.1.1, p.511, i.e. 7231 *r++ equivalent to { T tmp = *r; ++r; return tmp; }. 7232 Thanks Tanaka for the report. 7233 72342003-10-23 Francois Dumont <dums@s...> 7235 7236 * debug/: modification of the invalidation of iterators to avoid 7237 invalidation of the end iterator for the associative containers, 7238 hashed containers and list on calls to clear/assign/assignment 7239 operator. (thanks Alexey Sarytchev) 7240 7241 * _rope.h: Correction of the rope::iterator and rope::const_iterator 7242 copy constructor and assignment operator (thanks Bradley Grainger) 7243 72442003-10-16 Francois Dumont <dums@s...> 7245 7246 * _alloc.h: Add of the throw() specification on allocator comparision. 7247 7248 * _iterator.h: Correction of the operator++(int) signature to conform 7249 to the standard. 7250 7251 * _ctype.h: tolower and toupper for wchar_t types. 7252 7253 * _valarray.h: gslice_array::operator = (const value_type&) not 7254 const anymore 7255 7256 * _valarray.h: slice_array idem 7257 7258 * _valarray.h: valarray<T> operator [](const gslice&) former version 7259 was taking a copy of gslice 7260 7261 * _codecvt.h: correction of the default codecvt class definition and 7262 correction of the out method 7263 7264 (all thanks Richard Peng) 7265 72662003-10-16 Francois Dumont <dums@s...> 7267 7268 * debug/: add of the iterator range check on all container constructors. 7269 7270 * _string.h: correction of a bug on string auto referencing throught 7271 some method like insert and replace. (thanks Tanaka) 7272 7273 * _valarray.h: correction of the missing slice_array copy constructor 7274 and assignment operator in the private section (thanks Tanaka) 7275 72762003-10-11 Petr Ovtchenkov <ptr@island...> 7277 7278 * _sstream.c: [io]?stringstream must do equivalent of seek at end, 7279 after opened with ios_base::ate; this behaviour useful only when buffer 7280 initialized by string; thanks Tanaka for the report. 7281 72822003-10-06 Francois Dumont <dums@s...> 7283 7284 * _istreambuf_iterator.h, _ostreambuf_iterator.h: correction 7285 of the missing iterator base class (Thanks Tanaka) 7286 72872003-10-05 Francois Dumont <dums@s...> 7288 7289 * _string.h: correction of the replace implementation badling form 7290 for self referencing 7291 7292 * _string.h, _string.c: Modification of the _M_copy method 7293 to _M_move as basic_string do not correctly handled self referecing; 7294 thanks Tanaka 7295 72962003-09-25 Francois Dumont <dums@s...> 7297 7298 * como 4.3.0 on linux support (thanks Synge Todo and Karel Gardas) 7299 7300 * Quazy-leak patch: make memory detection tools happier, 7301 option _STLP_LEAKS_PEDANTIC in _site_config.h. (thanks Petr Ovtchenkov) 7302 73032003-09-19 Francois Dumont <dums@s...> 7304 7305 * Support of the Linux Intel C++ support (thanks Blaine Kubesh) 7306 7307 * FreeBSD support update (thanks Guy Middleton). 7308 7309 ---- 7310 7311 * codecvt.cpp: charcode correction in the do_in method (thanks J Hamilton report) 7312 7313 ---- 7314 7315 * _valarray.h: Correction of the missing explicit keyword in front of one of the valarray constructors 7316 (thanks Stephen Clamage) 7317 7318 ---- 73192003-08-10 Francois Dumont <dums@s...> 7320 7321 * stdexcept: Correction of the mysterious 50 messages from VC7.Net (thanks Krish S) 7322 7323 ---- 7324 7325 * _vector.h: implementation of the max_size method based on the allocator::max_size method 7326 (thanks Gennaro Prota from the boost forum). 7327 7328 ---- 7329 7330 * _vector.c: add of the standard length_error exception to the reserve method (thanks Steven Youngs). 7331 7332 ---- 7333 7334 * _alloc.h: add of a check of the number of element require to allocator::allocate to avoid a possible 7335 size_type overflow (thanks Steven Youngs). 7336 7337 ---- 7338 7339 * _istream.h: move of the ws implementation within the header to avoid undefined symbol 7340 under NO_CUSTOM_IO mode (thanks Ulrich Eckhardt) 7341 7342 ---- 7343 7344 * ctype.cpp : charcode correction (thanks Markus Stier reports and Alberto Barbati correction) 7345 7346 ---- 7347 7348 * _function.h : all function can now be used in a non-const world (thanks Alexey Kirjushkin) 7349 7350 ---- 7351 7352 * move constructor framework integration (thanks Francois Dumont) 7353 7354 ---- 7355 7356 * containers interface correction for standard compliance when using explicit 7357 intanciation of not default constructible type. (thanks Alexei Agafonov report) 7358 7359 ---- 7360 7361 * iostream.cpp, locale_impl.cpp : static initialization made robust for case of 7362 dynamic loader circular dependancies (Thanks Alexey Sarytchev for the report) 7363 7364 ---- 7365 7366 * _function.h : integration of a new workaround for mem_fun_* family 7367 for compiler having return void bug (Thanks Pavel Kuznetsov). 7368 7369 * stl_solaris.h : v8plus compilation fix (Thanks Mukesh Kapoor) 7370 7371 * num_put_float.cpp : FreeBSD fix 7372 7373 * _construct.h : fixed case for compilers with default integer 7374 constructor bug 7375 7376 --- 7377 7378 * fstream.cpp : text file stream position bug correction (thanks Christopher Kohlert) 7379 7380 --- 7381 7382 * _num_put.c : Correction of the display of the min 64 bits signed integer values 7383 like numeric_limits<__int64>::min() on WIN32 for instance (thanks Anders Dalvander) 7384 7385 --- 7386 * _num_put.c : Add of the '+' sign when requested for the unsigned integer display 7387 (thanks Francois Dumont) 7388 7389 --- 7390 7391 * debug : many missing iterator invalidation corrected (thanks Detlev V.Davidson and Francois Dumont) 7392 7393 --- 7394 7395 * _new.h : introduction of a new config compiler switch for those which do define 7396 bad_alloc but that do not throw it! (thanks ?) 7397 --- 7398 * _new.h : class nothrow_t changed to struct nothrow_t (Thanks Francois Dumont) 7399 --- 7400 * _bvector.h : Addition of the |= and &= operator on the _Bit_reference struct (thanks Ed Rice) 7401 --- 7402 * Performance bug in type_traits.h fixed (Thanks Francois Dumont) 7403 --- 7404 * Added Linux spin lock code () 7405 --- 7406 * Added GCC-3.x configurations 7407 7408 * Fixed HP aCC support 7409 7410 * Added OpenWatcom support 7411 7412 * version numbers bumped 7413 7414 * iostreams ported to EMX (gcc on OS/2) (Thanks Martin Schaffoener) 7415 7416 * iostreams ported to CRAY Unicos C90, T90, and J90 (Thanks Geir Johansen) 7417 7418 * stl_sunpro.h : fixed mbstate definition for SUN 4.2 (thanks lengzq) 7419 7420 * complex.cpp, _complex.h : template<> used for specializations 7421 7422 * _num_put.c : unused locale variable removed (thanks Petr Ovtchenkov) 7423 7424 * _algo.h : __reverse beautified (thanks Kabanov) 7425 7426 * dll_main.cpp : force_link() forced to be linked in 7427 7428 * stl_msvc.h : config changes for .NET 7429 7430 * _auto_ptr.h : "struct" changed to "class" 7431 7432 * _istream.c : M_read_unbuffered fixed (thanks Stefan Schwarzer ) 7433 7434 * stl_gcc.h : added missing inclusion for SCO platform (thanks Emmanuel Soden) 7435 7436 * _tree.c : optimized insert_unique (thanks Timothy) 7437 7438 * _algo.c : relaxed type requirements for lower_bound, upper_bound, binary_search 7439 7440 * _algo.h : adjacent_find() expressed with compare-function flavour 7441 7442 * cpp_runtime/typeinfo : made adjustments for .NET (Thanks Daniel) 7443 7444 * cstd/cassert : guard removed (thanks Evan Cheng) 7445 7446The following changes were made in 4.5.3 since 4.5.1 release: 7447 7448 * iostreams ported to Windows CE (thanks Andrew Waters) 7449 7450 * iostreams ported to AmigaOS (thanks Steven Solie) 7451 7452 * iostreams ported to NCR 3.x (thanks Emmanuel Soden) 7453 7454 * _hash_map::operator[] : enhanced to avoid calling default object constructor 7455 (Thanks Yuri Taranenko for the report) 7456 7457 * Identifier "__value" changed everywhere to "__val" to avoid clashes with Microsoft's "managed C++" keyword (thanks Crow for the report) 7458 7459 * Most containers : swap() fixed to swap non-stateless allocators correctly (thanks Scott Meyers) 7460 7461 * _sstream : fix to account for ios_base::app flag properly 7462 7463 * type_traits.h : _IsOKToMemCpy() fixed to only allow memcpy() for same type arguments (thanks Ed Brey for the report) 7464 7465 * stl/_num_put.c, stl/_list.c : workarounds for Debian gcc (thanks Levente Farkas) 7466 7467 * <typeinfo> : fixed MS workaround (thanks Wil Evers, Andrew Ushakov) 7468 7469 * _pthread_alloc.h : added per_thread_allocator class; returns memory to the same thread it's been allocated in. 7470 7471 * _iterator_old.h : restored ->() operator for MSVC (thanks Daniel Anderson) 7472 7473 * a bunch of MPW fixes (thanks Tsutomu Yoshida) 7474 7475 * _config_compat.h : fixed compatibility definition for _STLP_NO_EXCEPTIONS (thanks Nicolas) 7476 7477 * _fstream.c : fixed bug in _M_seek_init (thanks Pavel Kuznetsov) 7478 7479 * _rope.h : rope<>::swap() methods fixed for non-partial ordering case (thanks Eric Musser) 7480 7481 * comlex_trig.cpp : fixed bug on SGI (thanks Mortis) 7482 7483 * A bunch of fixes for HP aCC compilation with -AA option (thanks John Bossom) 7484 7485 * *.c files : added conditional inclusion of corresponding *.h file to fix xlC issues with -tempinc option (thanks Alla Bogolyubov for the report) 7486 7487 * _auto_ptr.h : "struct" changed to "class" (thanks Alex Pinsker for the report) 7488 7489 * _config.h/stl_user_config.h : handling of macro _STLP_WHOLE_VENDOR_STD rectified 7490 7491 * _num_put.c : do_put(const void*) changed to output pointers in hex format (thanks Alex Rosenberg) 7492 7493 * test/eh/test_algobase.cpp : fixed alignment to work on 64-bit architectures 7494 7495The following changes were made in 4.5.1 beta 1 since 4.5 release: 7496 7497 * _config.h, _epilog.h : new namespace inclusion schema implemented for own iostreams mode 7498 (no std:: redefinition; _STL:: namespace imported into std::, instead of std:: imported to _STL. 7499 C library header files wrappers become obsolete if this mode is used and no own namespace is selected. 7500 They will be moved out to distinct directory in the next release, and default is going to be no own namespace 7501 with own iostreams.) 7502 For some compilers (VC6), this only works with _STLP_NO_OWN_NAMESPACE and _STLP_OWN_IOSTREAMS settings. 7503 7504 * iostreams ported to SCO OpenServer (thanks Emmanuel Soden) 7505 7506 * sparc_atomic.s : added "stbar" to fix multiprocessor crashes on SPARC 7507 7508 * dll_main.cpp : forced link of Bs_G static data members (thanks Sandy Martel). Function wrapped in STLport namespace. 7509 7510 * _alloc.c : fixed _STLP_CHUNK_MALLOC for debug malloc configuration (thanks Markus Sch pflin) 7511 7512 * _config_compat.h : fixed compatibility section for _STLP_NO_OWN_IOSTREAMS 7513 7514 * fstram.cpp , vc6.unicode.mak : fixed bug in wide streams handling for VC6 (thanks Jim Dolter) 7515 7516 * etc/*.txt : files list broken up into several categories for future reorganization 7517 7518 * stl_msvc.h : fixed library selection for .NET (Thanks Franz Zetting) 7519 7520 * _ftsream.h, iostream.cpp : fixed compilation for _STLP_NO_EXTENSIONS case (thanks Ben Dorman for the report) 7521 7522 * char_traits.h : fpos<> operators == made members (thanks Thomas Witt) 7523 7524 * _threads.h : added using directive for Solaris x86 compile (thanks Mukesh Kapoor) 7525 7526 * _threads.h : fixed InterlockedXXX definitions for VC++ 6.0 SP5 (thanks AndreasM) 7527 7528 * gcc-install-apple-macosx.mak : INSTALL_STEP set to install_unix (Thanks Tron Thomas) 7529 7530 * common.mak : default install directory for Unix set to /usr/local 7531 7532 * _string.h : _M_null expressed via _STLP_DEFAULT_CONSTRUCTED (Thanks Anthony) 7533 7534 * _site_config.h : made sure _STLP_NO_THREADS are set if _NOTHREADS is on (Thanks Jeppe Madsen) 7535 7536 * _config.h : _STLP_WIN32THREADS is set (bugfix) ( thanks to Andreas Malzahn ) 7537 7538 * _num_put.c, common_rules.mak : patches by Levente Farkas 7539 7540 * etc/STLport-4.5.1.spec : spec file to build STLport-4.5.1 RPM added (thanks Levente Farkas) 7541 7542 * _auto_ptr.h , _debug.c, _debug.h : debug check for auto_ptr pointer added (thanks Gerd Hoeren for the idea) 7543 7544 * debug/_vector.h : invalidation for erase() corrected not to invalidate current iterator (Thanks ALberto Barbati) 7545 7546 * stl_bc.h : restored automatic library link directive for cases when STLport is not a native library 7547 7548 7549 * _auto_ptr.h : template constructor conversion bug fixed (thanks mbergal) 7550 7551 * MIngw32 patches integrated (thanks Wu Yongwei) 7552 7553 * src/complex_impl.h : case for DEC CXX changed to general, instead of extension functions for float and long double, to get it compliled with CC 6.1 (thanks Tony McConnell) 7554 7555 * dll_main.cpp : added __malloc_alloc instantiation (thanks Michael Ehrig) 7556 7557 * _debug.c : fixed race condition in _M_detach (thanks Achim Stremplat) 7558 7559 * test/*/hpacc.mak : fixed flags and libs (thanks Michael Ehrig) 7560 7561 * typeinfo : added fix for MS VC ::bad_cast confusion (thanks Alberto Barbati) 7562 7563 * debug/_vector.h : removed extra guard for MSCV around member template constructor (thanks Alberto Barbati) 7564 7565 * _fstream.h : added extension basic_fstream<> constructors taking protection parameter (thanks Mukesh Kapoor for the idea) 7566 7567 * stl_sunpro.h : added additional C include directory choice for Solaris 6&7 (thanks John E. Bossom) 7568 7569 * _vector.c : added _vector.h inclusion for _STLP_LINK_TIME_INSTANTIATION case (thanks Alex Vanic) 7570 7571 7572 * _num_put.c : fixed overflow case with grouping (thanks Will Evers) 7573 7574 * _istreambuf_iterator.h : fixed distance_type return type (thanks Anthony Williams) 7575 7576 * debug/_vector.h : debug version of push_back() added (thanks) 7577 7578 * Iostreams ported to LynxOS 3.0 (thanks Dmitry Azovtsev) 7579 7580 * wrappers/*.h : added inclusions of the master header to fix xlC 3.x compile (Thanks Dmitry Azovtsev) 7581 7582 * Changes for BCB6 integration (thanks Nathan York) 7583 7584 * Removed all dead code blocks marked by #if OBSOLETE and #if 0 7585 7586 * Updates build spec file for Linux rpm (thanks Levene Farkas, Harold van Oostrom) 7587 7588 * complex_trig.cpp : limits changed to be static, for performance optimization (thanks Sergei Nikolaev) 7589 7590 * _algo.c : eliminated default-constructed iterators, to lift unnecessary restriction (thanks Tonci Tomic ) 7591 7592 * _vector.h : fixed bug in assign() : copy used instead of __copy_aux (Thanks Tim Finer) 7593 7594 * stl_sunpro.h : restored _STLP_HAS_NO_NEW_C_HEADERS switch for SUN CC 4.2 7595 7596 * <new> : __stl_new definition put into the namespace (thanks Satoshi Nakamura) 7597 7598 * bcb*.mak : fixed md command and DYN_LINK (thanks Kirby Zhou) 7599 7600 * stl_user_config.h : added _STLP_USE_CUSTOM_CHAR_TYPES_IO switch to optimize iostreams for default case 7601 7602 * debug/_vector.h : fixed debug check bug (thanks Gerd Hoeren) 7603 7604 * _alloc.h : allocator::construct uses std::_Construct (thanks Gert Grossmann) 7605 7606 * stl/_alloc_old.h : restored (thanks Gert Grossmann) 7607 7608 * stl/_threads.h : fixed _STLP_ATOMIC_xxx macros for DEC (thanks Gert Grossman) 7609 7610 * src/_locale_impl.cpp : added missing guards for codecvt<> in _STLP_NO_MBSTATE_T case 7611 7612 7613The following changes were made in 4.5 release since 4.5 beta 8 : 7614 7615 * _threads.h, debug/_debug.h etc : STLport iostreams library made binary compatible with user code compiler w/o multithreaded switch, for some platforms 7616 7617 * config/stl_msvc.h, <cmath> : corrected _STLP_NO_USING_FOR_GLOBAL_FUNCTIONS for VC++ 6.0 SP5 7618 (Thanks Alberto Barbati) 7619 7620 * src/vc6.mak : RC macro definition restored (Thanks Graham) 7621 7622 * stl/_cmath.h, <cmath> : parts of code moved to <cmath> as <valarray> uses it (Thanks Synge Todo) 7623 7624 * stl/_tree.c : fixed insert_unique() with a hint bug (Thanks Serge Pashkov) 7625 7626 * src/gcc-*.mak : removed -nostdinc++ option 7627 7628 * stl_solaris.h : definition of _STLP_SUNPRO_EXCLUDE made dependant on _XOPEN macro instead of SUN CC macros (Thanks ecohen for the report) 7629 7630 * fstream.cpp : mmap_chunk made to be 1M instead of 16M as was originally intended (thanks Alexey Starikovskiy) 7631 * stl_sunpro.h : _STLP_LIMITED_DEFAULT_TEMPLATES not defined for compat mode anymore ( thanks Michael Kopp) 7632 * dll_main.cpp : added instantiation for _Swap_lock_struct<> (thanks simonb) 7633 7634 * _ostream.c : fixed formatting bug for width()==1 7635 7636 * config/_epilog.h : added option pop section for Borland. 7637 7638 * stl/_threads.h : fixed InterlockedXXX declarations for MS .NET (thanks Piers Haken) 7639 7640 * vc7.mak makefile added for MS VC++ 7.0 (.NET) 7641 7642 * fixed _STLP_ITERATOR_CATEGORY, etc. for Mwerks CodeWarrior 5.0 7643 7644 * stl/_num_put.c : fixed operator<<(void*) to use _STLP_LONG_LONG where available. 7645 7646 * _STLP_WHOLE_VENDOR_STD option is back supported (Thanks anton ephanov for the input) 7647 7648 * _cmath.h : added guard to mask additional overloads (thanks Tim Smith) 7649 7650 * stl_solaris.h : mbstate_t stuff defined here, old-style C headers used (Thanks Mukesh Kapoor) 7651 7652 * type_traits.h : __default_constructed() inlined (Thanks Matt Davies) 7653 7654 * new.h : fix for gcc-3.0 to look in backward directory (Thanks Ken) 7655 7656 * stlport/using/h/streambuf.h added (Thanks Gennadiy) 7657 7658 * A bunch of changes for Borland static and DLL compile (Thanks Nathan York) 7659 7660 * stl/_algo.c : fixed find_end() bug (Thanks Alberto Barbati) 7661 7662 * stl/_queue.h : priority_queue<>::_comp renamed to "comp" as standard states (thanks Todd Greer) 7663 7664 * _limits.c : added correct data member representations for AS400 and Alpha machines (thanks Holger Stash) 7665 7666 * _vector.h : added check to avoid calling allocator<>::deallocate(0) (thanks Stephen Cleary) 7667 7668 * config/_prolog.h, config/_epilog.h : added push/pop pack(8) pragmas for MSVC (thanks Todd Greer, Alberto Barbati) 7669 7670 * gcc.mak's : default spelling for "-pthreads" option changed to "-pthread" as more platforms use that. 7671 7672 7673The following changes were made in 4.5 beta 8 since 4.5 beta 7 : 7674 7675 * stl/_fstream.c : _M_underflow bug fix for custom codecvt facets (thanks Alberto Barbati) 7676 7677 * bcc55.mak : c_locale.c added to the link command (thanks Steve Loves) 7678 7679 * _iterator_base.h & many other places : iterator tags are being accepted by const reference 7680 instead of value, to fix segmentation faults experienced on certain platforms with beta7. 7681 That also should improve efficiency on same platforms (apparently, empty unreferenced 7682 objects with no constructors/destructors were copied on the stack when passed by value). 7683 Accompanied change eliminates hardcoded deference hack used in previous beta. 7684 Thanks everybody who reported this. 7685 7686 * stl_user_config.h : added _STLP_GCC_USES_GNU_LD switch. This is for those platforms 7687 where native linker does not let gcc to implement automatic instantiation of static 7688 template data members (Tru64, AIX, HP-UX). 7689 It is being put in this file as there is no automatic way to check if we are using GNU ld or not. 7690 7691 * _range_erors.h : depandancy on <stdexcept> and <string> removed for own iostreams mode 7692 (thanks Doug Gilbert) 7693 7694 * debug/_list.h : "typename" added in new methods (thanks Doug Gilbert) 7695 7696 * _config.h, src/common_macros.mak : beta version number bumped 7697 7698 * src/ftream.cpp, c_locale_win32.c : fixes for UNICODE compilation (thanks Valo) 7699 7700 * stl_gcc.h, etc : changes for GCC support on Tru64 (thanks Tobias Ernst) 7701 7702 * _alloc.c : for MS VC, malloc_dbg only used when _STLP_DEBUG_ALLOC is set, not for all debug configs 7703 (Thanks Anton Ephanov) 7704 7705 * test/eh/gcc.mak : directories stuff fixed (Thanks Brodie) 7706 7707 * stl/_complex.h : fixed declarations for long double specializations (Thanks Tsutomu Yoshida) 7708 7709 * locale_byname.cpp, etc. : fixes for Apple compilers by Tsutomu Yoshida. 7710 7711 * _ios_base.h : __evenk id changed not to clash with MS VC++ 7 (thanks Paul Ghezzi) 7712 7713 * _fstream.c : added basic_filebuf constructor workaround for compiler which do not initialize builtins 7714 to zero when default constructed (thanks Alberto Barbati) 7715 7716 * _locale.h : relaxed guerd around templated locale constructor (thanks Alberto Barbati) 7717 7718 * stl_mwerks.h : changes to accomodate CodeWarrior 6.2 (thanks cprosser) 7719 7720 * stl/_cmath.h : extracted from <cmath> for better decoupling 7721 7722 * stl/_std_prolog.h, stl/_std_epilog.h : hooks for future alternative namespace inclusion style. 7723 7724 * config/stl_gcc.h : gcc-3.0 now supported 7725 7726 * src/gcc-beos.h : only static library is being built (dynamic stil don't work) (thanks John Maddock) 7727 7728 * using/iostream : included using/istream and using/ostream 7729 7730 * dll_main.cpp : force_link() fix to prevent numeric_limits static members and 7731 _M_increment/decrement from _tree.c from being optimized out by VC++ 7732 (thanks Sofus Mortensen, Alberto Barbati ) 7733 7734 * _alloc.c : added CHECK_NULL_ALLOC for _STLP_CHUNK_ALLOC with malloc, to throw exception if malloc returns 0 (thanks ghunt) 7735 7736 * stl_bc.h, <exception> : fixed Borland C++ import of unexpected handler stuff 7737 7738 * stl_ibm.h, etc. : fixes for IBM VisualAge 5.02 to compile 7739 7740 * type_traits.h : bool2type<> changed to be parameterized on int, to work around SUN CC bugs (probably others, too) 7741 7742The following changes were made in 4.5 beta 7 since 4.1 beta 6 : 7743 7744 * sparc_atomic.s : file missing from the distribution restored 7745 7746 * etc/ subdirectory created; miscellanous files moved there 7747 7748 * STLport ported to BeOs, complete with iostreams (thanks John Maddock) 7749 7750 * Macro _STLP_NO_SGI_IOSTREAMS renamed to _STLP_NO_OWN_IOSTREAMS, old references to SGI removed; 7751 7752 * "prepare" target added to all makefiles in src/; should be run before using STLport; 7753 on most platforms it's empty, on some of them it creates necessary symbolic links, etc. 7754 7755 * stl/_deque.h : deque<>::erase bug (introduced in 4.1b4) fixed (thanks to BruceFlorman) 7756 : default parameter in constructor bug fixed (Thanks to Alex Vanic) 7757 7758 * stl_msvc.h : explicit template function agruments enabled for VC++; 7759 7760 * stl_wince.h : added <windows.h> inclusion 7761 7762 * stl/_limits.h : numeric_limits<bool>::digits changed from 0 to 1 (Thanks Mukesh Kapoor) 7763 7764 * stl/_function_base.h : added __identity_element() (extension name), _numeric.h : this one used instead of identity_element() (Thanks Hafeez) 7765 7766 * stl_msvc.h : explicit template function agruments enabled for VC++; 7767 7768 use_facet<> now fully conforms to the standard with VC++. (Thanks Jeff Kohn for the input) 7769 7770 * fstream.cpp : LARGE_INTEGER used to work around Intel shift instruction bug (thanks Thomas Meischner) 7771 * fstream.cpp : ULL macro fixed for Win32 7772 * fstream.cpp : Added test for for INVALID_HANDLE_VALUE and NULL base and _M_view_id, 7773 for _M_close on Win32 (Thanks Stephen Baker) 7774 * fstream.cpp : Fixed corner case with mmap() on EOF (Thanks Jens Maurer) 7775 7776 * _istream.c : fixed _M_read_buffered sssso that it does not skip delimiters (Thanks Gerd Hoeren) 7777 7778 * stl/_string.h : operator __std_string() uses constructor with a size to correctly initialize string containing null chars (Thanks Armin) 7779 7780 * iomanip : added operator for setfill object and istream (was ostream only) (Thanks Mukesh Kapoor) 7781 7782 * stl/_locale.h , stl_intel.h : fixes for Intel 5.0 compiler (Thanks Anton and Marcello Pietrobon) 7783 7784 * stl_solaris.h : added _STLP_NO_NATIVE_WIDE_FUNCTIONS 7785 7786 * New makefiles added for Intel C++ 5.0 and VC++ 6.0 in src/, test/eh, test/regression (Thanks to Marcello Pietrobon) 7787 7788 * _STLP_NO_LONG_DOUBLE case handled for STLport iostreams as well (thanks John Daniel) 7789 7790 * SUN CC compiler template cache is being properly cleaned up (Thanks Whitney Kew) 7791 7792 * dll_main.cpp : added extern "C" around DllMain() (Thanks Danny Smith) 7793 7794 * type_traits.h : added bool parameter to shut up warnings on some compilers (Thanks glassman) 7795 7796 * stl/_rope.h/.c, src/mrcpp.mak, src/mrc.mak, stl/_tree.h : MPW & MRC fixes by Tsutomu Yoshida 7797 7798 * stl_gcc.h : added path for <exceptions> et al for gcc-2.95.3 on FreeBSD (Thanks to 7799 7800 * _tree.h /_tree.c : pointers used as return values instead of iterators for implementation 7801 functions, for efficiency. 7802 7803 * _algo.h/.c : added leading underscrore to some symbols (Thanks to Ed James-Beckerman for the report) 7804 7805 * dll_main.cpp : fixed nothrow object initialization (Thanks to Dan Ingold) 7806 7807 * beta suffix in common_macros.mak updated (thanks to Whitney Kew) 7808 7809 * c_locale_win32.c : incomple fix for locale completed (thanks to Alberto Barbati) 7810 7811 * c_locale.h : _Locale_ALPHA definition for VC++ and mingw32 fixed (thanks Danny Smith) 7812 7813 * _threads.h : fixed _DECTHREADS block to work on both DEC and HP 7814 7815 * _hash_set.h : fixed typo in MSVC++ bug workaround ( Thanks to Jon_Hanson for the report) 7816 7817 * stlport/strstream.h : fixed inclusion for MSVC 6 (Thanks Joachim Achtzehnter) 7818 7819 * _config.h : _STLP_RETHROW changed to avoid warnings with NO_EXCEPTIONS (thanks Richmond) 7820 7821 * _hashtable.c : prime list definition made consistent (thanks Rainer Schnitker) 7822 7823 * stl_hpacc.h : _STLP_FORCE_ALLOCATORS workaround used for Version 3.15 also (thanks Rainer Schnitker) 7824 7825 * stl/_string_io.c : fixed using directive in operator >>() (thanks Rainer Schnitker) 7826 7827 * debug/_deque.h : a check in erase() fixed (thanks Andreas Malzahn) 7828 7829 * debug/_list.h : added remove() to do iterator invalidation; range erase() fixed to do invalidation 7830 7831 * stl_watcom.h : added switches; disabled own iosterams by default; 7832 enabled ->() operator for iterators (thanks Steven Green) 7833 7834 * <exception> : added throw spec for what(); stl_sgi.h : made _STLP_NO_EXCEPTIONS depend on __EXCEPTIONS macro (Thanks Anton Ephanov) 7835 7836 * _string_io.c : operator << : fixed width() interpretation bug 7837 7838 * stl_hpacc.h/cmath : fixed HP aCC settings for -AA option (thanks Doug Gilbert) 7839 7840 7841 7842The following changes were made in 4.1 beta 6 since 4.1 beta 5 : 7843 7844 * _istream.h, _ostream.h, _ios.h, _fstream.h : guard macros fixed to not clash with .h files in "stlport" directory 7845 Also all uses of those macros fixed. (thanks to Gerd Hoeren for the report) 7846 7847 * _debug.c/_debug.h : fixed swap() for rb_tree and list (thanks to Gerd Hoeren for the report) 7848 swap() changed not to invalidate any iterators, as prescribed by the standard 7849 7850 * forced _REENTRANT to be defined when compiling with STLport iostreams and _STLP_DEBUG 7851 (without _STLP_DEBUG it seems to be binary compatible even without that) 7852 7853 * facets_byname.cpp source introduced to replace all xx_byname.cpp files; 7854 restored separate facets .cpp complilation (they used to be included in locale_impl.cpp) 7855 7856 * introduced _STLP_USE_PERTHREAD_ALLOC to optionally use per-thread allocator 7857 (_Pthread_alloc from _pthread_alloc.h) as the deafult node allocator. Only works with pthreads for now. 7858 7859 * Switches _STLP_DONT_REDEFINE_STD and _STLP_WHOLE_VENOR_STD are back (thanks to Anton Ephanov for the report) 7860 7861 * _vector.h : fixed bug in template version of insert (Thanks to Yotam Medini for the report) 7862 7863 * monetary.cpp : unneded hack for cygwin removed (thanks to Dean Sturtevant) 7864 7865 * <iostream> : fixed _STLP_OUTERMOST_HEADER_ID macro 7866 7867 * cin/cout/cerr redefined if no namespaces and SGI iostreams are used, for all compilers, just in case. 7868 * _sparc_atomic.h : fixed and improved atomic ops for gcc 7869 7870 * test/regression : non-backward-compatible old-style __STL_xx macros use changed to _STLP_xx 7871 7872 * config/st_gcc.h : disabled non-standard "extern" use for non-DLL templates 7873 7874 * mingw32 - used 'windows.h replacement' section in _threads.h (thanks to Danny Smith) 7875 7876 * locale Win32 bug fixed (thanks to Alberto Balbarti) 7877 7878 * mingw32 : _STLP_CONST_INIT_BUG defined for dll (thanks to Danny Smith) 7879 7880 * "make clean" glitches fixed (thanks to Whitney Kew for the report) 7881 7882 * _fstream.c : fixed codecvt bug for variable width encoding 7883 7884 * _STLP_ABORT macro introduced to avoid clashes with third-party sw redefining abort() (thanks to Jerry) 7885 7886 * c_locale_win32 : fixed parse bug in __ParseLocaleString (thanks to Danny Smith) 7887 7888 * extra declspecs removed from templates to fix VC++ 7.0 ; only concrete classes have specifiers (thanks to Holger Stasch for the report) 7889 7890 * stl_msvc.h, _hashtable.h/.c : fixes for IA64 compilation (thanks to Rainer Schnitker ) 7891 7892 * fixed bugs in "make install" on Unix (thanks to Carlos Paniago) 7893 7894 * dll_main.cpp : DisableThreadLibraryCalls used for optimization (thanks to Alberto Barbati) 7895 7896 * dll_main.cpp : a dummy function added to force <limits> guts for static VC++ link (thanks to Alberto Barbati) 7897 7898 * gcc-linux.mak : flags fixed (thanks to Levente Farkas ) 7899 7900 * stl_msvc.h, stl_intel.h : fixed __ICL version test (thanks to Serge Pashkov) 7901 7902 * versioning schema changed on Windows to have .dll extension (thanks everybody for the feedback) 7903 7904 * NetBSD makefiles fixed 7905 7906 * A bunch of fixes by Tsutomu Yoshida : MPW fixes plus : 7907 * stl/_config.h : I believe the definition for _STLP_STD under debug/non-debug configurations swapped. 7908 7909 * typeinfo.h : added check for _STLP_NO_NEW_HEADER for using declaration. 7910 Otherwise three classes will not be included in the namespace std when #include <typeinfo>. 7911 7912 * _istream.c : use of bind2nd (which required _function.h inclusion) changed to use alternate functor (thanks to Sergei Nikolaev) 7913 7914 * stl_msvc.h : removed erroneous _STLP_USE_TEMPLATE_EXPORT setting which caused major code bloat for native streams builds on VC++ (Thanks to Johannes Brunen for the report) 7915 7916 * _string_io.c : fixed Intel C++ compilation bug in native streams mode 7917 7918 * fstream.cpp : added write-sharing for fstream file handle (Thanks to Leland Best) 7919 7920 * stl_gcc.h : disabled wide function imports for linux (some xx_POSIX macro should be really used; disabled for all linuxes for now). Thanks everybody for the reports. 7921 7922 * KAI C++ 4.0 is now supported on SUN 7923 7924 * MAC OS X compilation fixed (thanks Patrick Luby for the patch) 7925 7926 * HP aCC fixes by Michael Tsirkin 7927 7928 * "INF/NAN" string representation for uppercase changed to "Inf/NaN" to behave like printf() on most systems. 7929 7930 * debug/_iterator.c : fixed SUN 6.0 compiler internal error 7931 7932 * typeinfo.h : global scope used to import bad_cast, etc. (thanks to Val Melamed) 7933 7934 * debug/_list.h : missing template versions of remove_if(), merge() added. Missing regular sort() added. 7935 (Thanks to dgehri) 7936 7937 * debug/_slist.h : missing sort() (template and regular) interface added 7938 7939 * _istream.h : eliminated warning about comparison with unsigned (Thanks to Gerd Hoeren for the report) 7940 7941 * template constructors for containers changed to be one version with default allocator agrument, where possible. 7942 7943 * remaining _STL_ prefixes changed to _STLP_ 7944 7945 * Solaris 7 compilation fixed 7946 7947 * fstream.cpp : seek() allowed to seek past the end of the stream (Thanks to Phillip Toland for the input) 7948The following changes were made in 4.1 beta 5 since 4.1 beta 4 : 7949 7950 * All internal macros changed to have prefix _STLP_ instead of __STL or __STLPORT or __SGI_STL. 7951 That is to allow seamless wrapping on platforms that use SGI STL as native STL/iostreams. 7952 For backward compatibility, most of user-settable __STL_xxx macros are accepted. 7953 7954 * Versioning of shared libraries made UNIX-compliant 7955 7956 7957 * Some temporary lifetime problems in SGI iostreams which may introduce memory corruption, fixed. 7958 7959 * <new> : fixed memory leak bug due to unclever macro expansion in __stl_new (thanks to Joachim Achtzehnter) 7960 7961 * stl/_tree.h : fixed several bugs in new code for corner cases in insert_equal()/insert_unique() with a hint 7962 (thanks to Micheal Tsirkin for the report and patch) 7963 7964 * _vector.h:284 : __copy call fixed to be __copy_aux (thanks to Alex Vanic) 7965 7966 * _config.h : fixed static build bug due to __STL_EXPOSE_GLOBALS_IMPLEMENTATION typo (thanks to Serge Pashkov) 7967 7968 * fstream.cpp: __pioinfo definition for mingw32 fixed (Thanks to Danny Smith) 7969 7970 * *.SUNWCCh files changed to regular files; moved to "stlport" directory 7971 7972 * pthread_alloc : split into <pthread_alloc>/<stl/_pthread_alloc.h> 7973 7974 * lightweight atomic ops used on SPARC v8plus and v9 (gcc and SUN CC) 7975 7976 * Mac OS X support introduced (thanks to Patrick Luby) 7977 7978 * SGI iostreams ported to DJGPP (thanks to Tanes Sriviroolchai) 7979 7980 * SGI iostreams ported to NetBSD (thanks to Michael Rauch) 7981 7982 * FreeBSD build fixed, now builds for wchar_t too 7983 7984 * DEC CXX build fixed; restricted to dynamic lib only 7985 7986 * SGI MIPSpro build fixed; GNU make has to be used 7987 7988 * Set of HP fixes by Michael Tsirkin 7989 7990 * Set of Watcom fixes by Ricardo Gayozo 7991 7992 * Bunch of Apple MRC/MPW fixes by Tsutomu Yoshida integrated 7993 7994 * Bunch of iostream fixes for Cygwin, Borland and Intel 4.5, by Serge Pashkov 7995 7996 * debug/_list.h : added checking versions of pop_back/pop_front (thanks to Per Liboriussen) 7997 7998 * src/c_locale_win32.c : fix for VC5sp3 (thanks to Petr Ovtchenkov), fix for day of week order (thanks to Danny Smith), 7999 fix for null-termination in my_ltoa (thanks to Serge Pashkov) 8000 8001 * Some warnings in debug mode fixed (thanks to Marco) 8002 8003 * type_traits.h : IsP functions return types changed to be more portable (thanks to Serge Pashkov for the suggestion), 8004 __cdecl added for Win (thanks to Todd Wilson) 8005 8006 * debug/_tree.h : added owner check for erase() (thanks to Alberto Barbati) 8007 8008 * stl/_ostream.h : << operator specializations added for compilers w/o partial ordering 8009 (thanks to Alberto Barbati for pointing this out). 8010 8011 * "make install" on UNIX : fixed the target not to remove lib directory; 8012 default installdir restored to be /usr/local (thanks to Jeff de Vries for the input) 8013 8014 * _construct.h : extra cast for __STL_SHRED_BYTE removed (thanks to khesin) 8015 8016 * _relops.h header obsoleted; some extra includes removed 8017 8018 * __STL_STATIC_CONST_INIT_BUG use normalized; now it's used for all compilers not able 8019 to treat const members as coplile-time constants; enum used for them (e.g VC++). 8020 Thanks to Dean Sturtevant and Gavin Collins for the ideas. 8021 8022 * stlport/cmath : fixed SUN CC 5.0 compatibility mode bug (thanks to ade for the report) 8023 8024 * debug/_hashtable.h : fixed equal_range() bug (thanks to decraft for the report) 8025 8026 * streambuf.cpp/_streambuf.h : fixes xsgetn() bug (thanks to Vadim Egorov) 8027 8028 * istreambuf_iterator<> : nonconforming behaviour fixed (thanks to Tom Widmer) 8029 8030 * _num_put.c : fixed corner case for 0x8000000 output. 8031 8032 * num_get<> : extra get() and do_get() members for "int" and "short" removed; istream operators changed accordingly 8033 8034 * _itreambuf_iterator.h/_ostreambuf_iterator.h introduced to decouple those from num_get/num_put 8035 8036 * gcc makefiles in src : "-fno-implement-inlines" removed 8037 8038 * Added workaround for gcc's limits.h and SUN Ultra with -mcpu=ultrasparc in 32-bit mode. 8039 8040 * ios_base:: type for constants made "int" for all compilers, as it more efficient and perfectly compliant. 8041 8042 * debug/_hashtable.h : fixed typo in swap() ( thanks to Gerd Hoeren for the report) 8043 8044 * debug/_string.h : +() operators defined unconditionally ( thanks to Gerd Hoeren for the report) 8045 8046 * _istream.c : removed dependancy on _function.h (thanks to Kenny Simpson for the report) 8047 8048 * _limits.c : fixed little-endian representation of infinity & NaN (thanks to Rene van Oostrum) 8049 8050 * _stdio_file.h : fixed postdecr macro for 64-bit Solaris (thanks to Jim Cole) 8051 8052 8053The following changes were made in 4.1 beta 4 since 4.1 beta 3 : 8054 8055 * Simulation of class partial specialization (thanks to Mat Marcus and Jesse Jones of Adobe) 8056 used to provide following enhancements : 8057 8058 - type_traits are automatically specialized for all pointer types for all compilers, 8059 which makes them able to utilize type_traits-based optimizations when dealing with pointer types, 8060 automatically. 8061 8062 - all functions specialized for pointers and optimized via __type_traits 8063 ( like copy()/copy_backward(), _uninitialized_xx) now enjoy this optimization for all compilers! 8064 8065 - generic __value_type()/__difference_type()/__iterator_category() are written so user does not have 8066 to supply any of its own even when partial specialization is not available. 8067 (Note : gcc-2.7 and VC++ 5.x, 6.x have bugs which prevents them from using this enhancement, still) 8068 8069 * <iterator> : by default, non-standard iterator query names like 8070 value_type()/difference_type()/iterator_category() are not used 8071 8072 * <algo> : major revision: 8073 - algorithms without explicit Compare() function expressed via the one that has it where possible. 8074 This considerably reduces header size and reduces code bloat for programs which use both flavours of 8075 those algorithms. 8076 - some function bodies moved between .c and .h 8077 - all functions used internally moved out to _algobase.h, so no other header includes <_algo.h> anymore 8078 - find() specialized for random access iterators regardless of partial spec. 8079 8080 * Dynamic libraries (.DLL and .so) : name versioning used to prevent clashes between STLport versions 8081 8082 * src/ : code regrouped between .cpp files to provide for less executable size with dumb linkers; 8083 8084 * locale subsystem initialization : startup changed to use statically allocated structures as much as possible; 8085 8086 * <stl/_function.h> : basic stuff moved to _function_base.h ; 8087 other STL headers now include _function_base.h instead 8088 8089 * _threads.h : MT support for OS/2 added (only tested with VAC++) 8090 8091 * _stdio_file.h : added support for Solaris in ELF64 mode (thanks to Holger Stasch) 8092 8093 * stl/_hashtable.h : [] operator for hash_map optimized to take no more than find() when element is present 8094 (Thanks to Thomas Witt et al.) 8095 8096 * _ostream.h : fix for default unsigned char (thanks to Holger Stasch) 8097 8098 * all __STL_ABBREVS abbreviations moved aside in _abbrevs.h header. 8099 8100 * Fujitsu C++ Compiler support added (thanks to Holger Stasch) 8101 8102 * Initial SGI iostreams port to OS/390 introduced (thanks to Holger Stasch). 8103 8104 * More on SGI iostreams port to xlC 5.0 (thanks to Holger Stasch). 8105 8106 * Fixes for SGI MIPSpro compilers (Thanks to Ralph) 8107 8108 * Fixes for HP aCC compiler (Thanks to Michael Tsirkin) 8109 8110 * stlport/SC5 directory : removed C library .h files to fix circular inclusion problem with WS6.0 + C programs. 8111 8112 * hash_map::swap() in debug mode fixed (thanks to Anton) 8113 8114 * __STL_COMPILE_INSTANTIATE hack for DEC removed (thanks to Ralph) 8115 8116 * __STL_INLINE_STRING_LITERAL_BUG defined for HP aCC ( thanks to Jason Taylor) 8117 8118 * _bitset.h - member workaround operators made const (thanks to dzwick) 8119 8120 * _bitset.h/.c, hashtable.h -- small bugfixes (thanks to Levente Farkas) 8121 8122 * <exception> - now includes exception.h if only that is available. 8123 8124 * vector::assign() inplemented for vector::iterator when member templates are not available (Thanks to dzwick) 8125 8126 * fstream.cpp : __pioinfo used for MinGW32 (thanks to Danny Smith) 8127 8128The following changes were made in 4.1 beta 3 since 4.1 beta 2 : 8129 8130 * list<>::clear() : protected access bug fixed 8131 8132 * __STL_MUTEX_INITIALIZER set back to PTHREAD_MUTEX_INITIALIZER for pthreads case, 8133 as some platforms (eg AIX) do not treat zero-initialized mutex as valid one (thanks to Alex Vanic, Jack Andrews for help) 8134 8135 * stl/_limits.c : fixed typo preventing numeric limits constants to be defined for __STL_LITTLE_ENDIAN, 8136 constants initialization fixed (thanks to Ingo Donasch) 8137 8138 * real implementation of locales for Win32 contributed by Anton Lapach (thanks !) merged in. 8139 8140 * stl_user_config.h, _config.h : changed default to not define relops:: operators 8141 in __STL_NO_NAMESPACES mode. 8142 8143 * _numeric_facets.c/num_put.cpp : printing of integer do not use sprintf() anymore 8144 8145 * "install" target implemented for UNIX & VC++ Makefiles. It now installs headers and libraries. 8146 8147 * "src" : files merged to get less compilation time and less space overhead for imperfect compilers 8148 8149 * "debug" flavour of STLport excluded from default build and auto-select ; 8150 please use __STL_USE_DEBUG_LIB and build debug STLport lib explicitly with "make debug_dynamic" 8151 if you really need it). "all" now builds 2 kinds : "release" and "STLdebug", for static and dynamic builds. 8152 8153 * stlport_prefix.h : WIN32_LEAN_AND_MEAN set for Win32 build of STLport library, for speed. 8154 8155 * FreeBSD compile fixed; makefiles added. 8156 8157 * All "__init" changed to "_Init" to fix clashes with DEC conventions (thanks to Holger Stasch) 8158 8159 * _range_errors.h -- fixed to always set __STL_EXTERN_RANGE_ERRORS for SGI iostreams (thanks to Serge Pashkov) 8160 8161 * *gcc* mak : some files renamed to gcc-platform mak 8162 8163 * "extern template" extension used for gcc & standard i/o classes, to reduce code bloat in application's .o 8164 8165 * "extern template" extension used for VC++ & standard i/o classes (was for DLL only) 8166 8167 * _iterator.h : added template(and non-template) assignment operator for reverse_iterator<> (thanks to psw). Obsolete HP-style code moved to _iterator_old.h 8168 8169 * _alloc.h : obsolete code for raw SGI allocators support moved to separate header, for compile-time improvement 8170 8171 * More iostreams code conditionally moved out for clients who only use standard i/o and can set __STL_NO_CUSTOM_IO flag 8172 8173 * <iostream>, <locale> : initialization of locale subsystem made independent of standard streams. 8174 sync_with_stdio call before iostream initialization now works. 8175 8176 * <fstream>, <fstream.h> : added initialization code for locale , same as in <locale> 8177 (thanks to George Trojan for the report) 8178 8179 * fstream.cpp : fixed resource leak in case memory map fails on Win32 (thanks to Mark Laffoon) 8180 8181 * <cmath>, <cstdlib> : added additonal overload signatures required by chapter 26.5 of ANSI (thanks to Levente Farkas for 8182 the suggestion), plus "long long" flavour where applicable. 8183 8184 * __STL_LONG_LONG generalized to support __int64 on Win32 (thanks to Adam Gates for the suggestion) 8185 8186 * _fstream.h : added constructor from file descriptor, as extension (thanks to eric_a_benson) 8187 8188 * _fstream.h : added basic_filebuf<>::fd() file descriptor accessor, as extension (thanks to George Trojan) 8189 8190 * stl_sunpro.h : strstream masked for CC 4.2 to avoid virtual table clash (thanks to Ken) 8191 8192 * stl_msvc.h : member templates allowed for VC5, it's capable of hadling most of them (same restrictions as VC6 -- inline). 8193 8194 * debug/_debug.c : slightly changed format of debug message to please VC++ IDE (thanks for Bruce Dawson for the suggestion) 8195 8196 * src/sgi_mipspro.mak added, for SGI MIPSPro compilation 8197 8198 * merged series of HP/SUN minor fixes by Petr Ovtchenkov 8199 8200 * merged series of Intel 4.5 fixes by Serge 8201 8202 * vc_common.mak : -Yd dropped, as obsolete (thanks to psw) 8203 8204 * _range_errors.h:95 : unused argument removed (thanks to George Trojan) 8205 8206 * _string_io.h : refined _WRTLING workaround for Watcom (thanks to Serge Pashkov) 8207 8208 * _threads.h : fixed SGI threads dafines for gcc on IRIX (thanks to Brett Denner for the report) 8209 8210 * <typeinfo.h>, <typeinfo> : mutually-exclusive machanism added to allow including both in same unit. 8211 8212 * Inclusion of SGI iostreams headers put to some order; _streambuf_iterator.h file introduced to resolve circular dependancies 8213 8214The following changes were made in 4.1 beta 2 since 4.1 beta 1 : 8215 8216 * _algobase.h : fixed __STL_DECLARE_COPY_TRIVIAL definition 8217 (thanks to Charles Burfoot for the report) 8218 8219 * _algobase.h : added copy_backward specializations for builtin types for compilers w/o partial spec. 8220 8221 * _char_traits.h : fixed zero-length check for copy (thanks to Michael Tsirkin) 8222 8223 * msvc_warnings_off.h : fixed "and" typo 8224 (thanks to Charles Burfoot for the report) 8225 8226 * num_put_float.cpp : fixed rounding for "g" format (thanks to Bernd Mohr for the report) 8227 8228 * Initial port of iostreams to xlC 5.0 added (thanks to Jack Andrews) 8229 8230 * stl_sunpro.h : a fix for Forte config (Thanks to Alex Vanic for the report) 8231 8232 * old_hp/iterator.h : fixed iterator_category()/etc. import 8233 8234 * _threads.h : __stl_atomic_t used instead of "unsigned long" (thanks to Alex Vanic for the report) 8235 * using/iomanip : old-streams path used for native iomanip.h (thanks to Michael Tsirkin for the report). 8236 8237 * _bitset.h , _bitset.c : direct STL_THROW replaced with __stl_throw_xxx calls (thanks to Michael Tsirkin for the report) 8238 8239 * range_errors.h/cpp : added functions to support throwing of overflow_error and invalid_argument 8240 8241 * _threads.h : enganced HP-specific guards for HP-UX 11 (thanks to Matthew Collins for the report) 8242 8243 * _string.h : compare() bugfix (thanks to Anton Sergeev) 8244 8245 * moneypunct_byname_w.cpp : rolled back wrong bugfix (thanks to Ken) 8246 8247 * _vector.h, _deque.h, _list.h : nonstandard versions of push_back()/push_front() 8248 moved under __STL_NO_ANACHRONISMS guard (thanks to Ed Brey) 8249 8250 * _tree.c, _list.c, _slist.c, _debug.c : compile-time improvements 8251 8252 * _tree.h/c, _list.h/c, _slist.h/c, _vector.h/c, _string.h/c : using directive for data members 8253 changed to explicit "this->". 8254 8255 * _complex.h : signatures of some methods changed to take value_type instead of const value_type&, 8256 for better conformance (thanks to Petr Ovtchenkov) 8257 8258 * Bunch of fixes to compile with gcc on HP-UX 10, 11 (thanks to Petr Ovtchenkov) 8259 8260 * Code duplication for __STL_INLINE_MEMBER_TEMPLATES removed -- corresponding methods are always inlined 8261 8262 * stl_sunpro.h : fix for "-compat" mode (thanks to Vijay Ramachandran) 8263 8264 * pthread.h : new wrapper added 8265 8266 * Added custom prolog/epilog for HP aCC to select kthreads on HP-UX 11 (Thanks to Michael Tsirkin) 8267 8268 * <new> : fixed throw specification for bad_alloc (has to be inherited) 8269 8270 * Macro __STL_NATIVE_CPP_RUNTIME_INCLUDE_PATH introduced to specify separate path for <exception>, <typeinfo>, <new>. 8271 (thanks to Bryan Byrnes) 8272 8273 * <stdio_streambuf> : moved from stlport/stl to stlport directory, for SGI compatibility 8274 8275The following changes were made in 4.1 beta 1 since 4.0 : 8276 8277 * Sun Forte 6.0 C++ configuration provided (thanks to Alexander Vanic for the input) 8278 8279 * _threads.h/_config.h : added efficient support for atomic operations for 8280 DEC CXX and Watcom (thanks to Ricardo Gayoso for the input). 8281 Macros __STL_ATOMIC_xxx introduced to facilitate this. 8282 8283 * _tree.h : optimizations to lower number of comparisons (thanks to Craig Powers for the patch) 8284 8285 * _tree.h, _hashtable.h and clients : added templated find() as an extension (thanks to Michael Tsirkin for the suggestion) 8286 8287 * _tree.h : changed some inlining for performance optimization 8288 8289 * __node_alloc:: allocate broken into two functions for better inlining 8290 8291 * _threads.h : added PTHREAD_MUTEX_INITIALIZER guard for HP workaround 8292 8293 * stl_bc.h : option set to control alignment and virtual table behaviour to be consistent; 8294 library name adjusted to stlport_bcc55_xxx 8295 8296 * _algobase.h, _uninitialized.h, char_traits.h -- optimized out empty memcpy() calls 8297 (thanks to Michael Tsirkin for the report). 8298 8299 * _iterator.h : fixed reverse_iterator::operator+(int, reverse_iterator) resolution 8300 (thanks to Anton Sergeev for the input) 8301 8302 * _bitset.h : bitset<>::test bugfix (thanks to Anton Sergeev for the patch) 8303 8304 * complex_trig.cpp : use of __STL_NO_LONG_DOUBLE made consistent, fixes for Borland on Linux 8305 (thanks to John Wiegley for the input) 8306 8307 * moneypunct_byname_w.cpp : bugfixes for string copying (thanks to Anton Sergeev for the input) 8308 8309 * Watcom-specific fixes (thanks to Ricardo Gayoso for the input) 8310 8311 * src/common_macros.mak : some intermediate targets added (thanks to Jeremy for the suggestion) 8312 8313 * _debug.c : fixes for Win CE (thanks to John Hynes for the patch) 8314 8315 * Intel CC 4.0-specific fixes (thanks to Sean Cavanaugh for the input) 8316 8317 * _list.c : workaround for Watcom C++ (thanks to Mike Steed for the report) 8318 8319 * __STL_NO_NATIVE_WIDE_STREAMS definition fixed (thanks to Glen Summers for the patch) 8320 8321 * cast macros fixed to be more robust (thanks to Geoff Oakham for the report) 8322 8323 * "strstream.h" native inclusion for VC 6.0 fixed (thanks to Sathish T C for the report) 8324 8325 * debug/_string.h : improvement to string with __STL_DEBUG w/o member templates 8326 (thanks to Paul Furnanz for the report) 8327 8328 * debug/_string.h : fixed internal compiler error for VC++ 5.x (thanks to chvetsov for the report) 8329 8330 * cstdio, stl/_streambuf.h : fixes to allow gcc compilation with -ansi flag 8331 8332 * workaround for cin/cout renaming on HPUX11 for -D_REENTRANT (thankf to Jeff Sparkes for the report) 8333 8334 * cin/cout/cerr/clog renaming in STLport for CC 4.0 and SGI iostreams, 8335 to avoid symbol clashes with native ones (thanks to Dirk Schreib for the report) 8336 8337 * type_info scope fixes for VC++ 6.0 (thanks to Sathish T C for the report) 8338 8339 * typeinfo.h using fixes (thanks to Glen Summers for the input) 8340 8341 * stlcomp.h : fixes to allow compilation of .c modules with VAC++, Sun CC, DEC CC, Watcom CC 8342 (thanks to Dmitry A.Steklenev, Jonathan Richardson for the report) 8343 8344 * debug/_tree.h : fixed insert_unique() bug (thanks to Ben Liblit for the report) 8345 8346 * regression/gcc.mak made non-dependant on "." in the path 8347 (thanks to Thomas Matelich for the report) 8348 8349 * hmset1.cpp fixed to compile under OS390 ( thanks to Andrey Khovanskiy for the report) 8350 8351