Update contrib.
1 2007-10-05 Francois Dumont <dums@users.sourceforge.net>
3 * stlport/stl/debug/_iterator.h, _string.h, src/string.cpp:
4 Removed useless and even invalid workaround used when
5 _STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND is defined. There is now
6 only one construct check class __construct_checker,
7 __msvc6_construct_checker has been removed.
9 2007-09-28 Petr Ovtchenkov <complement@users.sourceforge.net>
11 * Platform tested: gcc 4.1.2 20060928 (prerelease)
12 (Ubuntu 4.1.1-13ubuntu5), i686 GNU/Linux, glibc 2.4;
14 * release-shared: fail on list_test.cpp:392
15 [CPPUNIT_ASSERT(lint1.size() == 20)], suspected compiler's bug;
16 1 fail from 395 tests;
18 * stldbg-shared: passed 395 tests;
20 * Platform tested: gcc 4.1.2, i686 GNU/Linux, glibc 2.4;
22 * release-shared: fail on list_test.cpp:392
23 [CPPUNIT_ASSERT(lint1.size() == 20)], suspected compiler's bug;
24 1 fail from 395 tests;
26 * stldbg-shared: passed 395 tests;
28 * Platform tested: gcc 4.2.1, i686 GNU/Linux, glibc 2.4;
30 * release-shared: passed 395 tests;
32 * stldbg-shared: passed 395 tests;
34 * Platform tested: gcc 4.1.1, i686 athlon-4 i386 GNU/Linux,
37 * release-shared: passed 395 tests;
39 * stldbg-shared: passed 395 tests;
41 * src/c_locale_glibc/c_locale_glibc2.c: this is a C, so
42 decl allowd only on top of block;
44 * Platform tested: gcc 2.95.4 (debian), i686 GNU/Linux,
47 * release-shared: build success, as library as unit tests,
48 but run unit tests fail---stalling on spinlock during library
49 load; looks like problem with correct initialization of
52 * stldbg-shared: fail build library, stlport/stl/debug/_hashtable.h:49:
53 declaration of `operator ==' as non-function
55 2007-09-27 Francois Dumont <dums@users.sourceforge.net>
57 * src/facets_byname.cpp: In collate::do_transform, consider
58 low == high as a special case, returns empty string in this
61 2007-09-27 Petr Ovtchenkov <complement@users.sourceforge.net>
63 * test/unit/find_test.cpp: array initialization missed.
65 2007-09-17 Francois Dumont <dums@users.sourceforge.net>
67 * stlport/stl/_num_get.h: Add _STLP_DECLSPEC specification to
68 several functions that might be access by external code when
69 num_get facet is instantiated with something else than the
70 Standard required instantiation.
72 2007-09-11 Francois Dumont <dums@users.sourceforge.net>
74 * src/c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c: Fix
75 _Locale_strxfrm and _Locale_wcxfrm implementation to take
76 into account strings that are not zero terminated.
78 * test/unit/locale_test.cpp: Add check that collate.tranform
79 method build a key only for chars in the range pass to method.
81 2007-09-10 Francois Dumont <dums@users.sourceforge.net>
83 * src/facets_byname.cpp: John Maddock bug report 1788618 fix.
84 Moreover remove use of an intermediate buffer to get result
87 * test/unit/locale_test.cpp: Add tests for collate::transform
90 * src/c_locale_win32/c_locale_win32.c: Small modification,
91 _Locale_strxfrm is supposed to return the number of chars
92 required to store the generated sorted key without the trailing
95 * src/c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c: Fix
96 implementation of _Locale_strxfrm, it should never return -1.
98 2007-09-10 Petr Ovtchenkov <complement@users.sourceforge.net>
100 * stlport/stl/_string.c: fix bugs in string rfind, find_last_of,
101 find_last_not_of [bug #1788700, position 0 was wrongly excluded];
103 * test/unit/string_test.cpp: test for problems above. Thanks
104 to Bred Bored for bug report and initial test.
106 * unit tests: Linux 2.6.16.26 (athlon-4), gcc 4.1.1, glibc 2.3.6
107 "OK 395 tests" for release-shared and stldbg-shared targets.
109 2007-09-09 Petr Ovtchenkov <complement@users.sourceforge.net>
111 * test/unit/rope_test.cpp, stlport/stl/_rope.h: test for
112 bug #1788615 [bug during copy of rope's iterator] and fix;
113 suggested by John Maddock.
115 * stlport/stl/_algobase.c: symmetry not required for
116 comparator in case of two different sequences comparison or
117 searching; symmetrical comparator just may not exist;
119 * stlport/stl/debug/_hashtable.h: symmetry not required for
120 comparator in hashtable in case of containers extention;
121 symmetrical comparator just may not exist;
123 * test/unit/alg_test.cpp: test for problem above, thanks
126 2007-09-06 Francois Dumont <dums@users.sourceforge.net>
128 * test/unit/strstream_buffer_read_test.cpp: Remove useless
129 strdup call that was moreover introducing a memory leak.
131 2007-09-04 Francois Dumont <dums@users.sourceforge.net>
133 * src/allocators.cpp: Fix implementation of _S_chunk_dealloc when
134 lock free implementation is not in use. Thanks bug report 1787636
135 from Sergej Zagursky.
137 2007-08-31 Francois Dumont <dums@users.sourceforge.net>
139 * stlport/stl/_cstdio.h, _ctime.h: Add missing macro definition
140 test before using _WIN32_WCE thanks bug report 1784174.
142 * stlport/stl/_bitset.h: Change macro tests in order to check
143 macro definition before using it thanks bug report 1785679.
145 * test/unit/bitset_test.cpp: Bitset::iostream new test to check
146 correct input/output of bitset class.
148 * build/Makefiles/gmake/gcc.mak: Add -Wundef gcc option when building
149 with gcc under Cygwin MinGW, it is an interesting option to detect
152 2007-08-26 Francois Dumont <dums@users.sourceforge.net>
154 * stlport/stl/config/user_config.h, host.h: Moved the administrative
155 _STLP_USE_DEFAULT_FILE_OFFSET macro from user_config.h to host.h.
157 * stlport/stl/config/_gcc.h: Under MinGW we now use C symbols in
158 global namespace. Tests with 4.2.1 gcc version shows that C symbols
159 are not necessarily put in std namespace.
161 2007-08-23 Francois Dumont <dums@users.sourceforge.net>
163 * stlport/stl/_complex.h: As in _iosfwd.h, removed useless
164 _STLP_CLASS_DECLSPEC attribute on complex class declaration.
166 2007-08-23 Petr Ovtchenkov <complement@users.sourceforge.net>
168 * stlport/stl/debug/_vector.h: only random access iterators
169 allow operations 'less-than' and distance; for bidirectional
170 iterators removed usage of 'less-than', and for others
171 [like forward and input iterators] removed as usage of 'less-than'
172 as distance; thanks Oleg Obolenskiy for bug report;
174 * test/unit/ioiter_test.cpp: test for problem above.
176 2007-08-18 Francois Dumont <dums@users.sourceforge.net>
178 * stlport/stl/_iosfwd.h: Removed useless _STLP_CLASS_DECLSPEC attribute
179 on class declaration. Latest gcc versions are reporting a warning about
182 2007-08-16 Francois Dumont <dums@users.sourceforge.net>
184 * src/dll_main.cpp: Removed useless _Atomic_swap_struct explicit
185 instantiation, moreover, MSVC 2005 do not support it.
187 2007-08-15 Petr Ovtchenkov <complement@users.sourceforge.net>
189 * Repository: bump lib version to 5.1.4;
191 * stlport/stl/char_traits.h, src/fstream.cpp: use 64-bits
192 file operations calls, if available on system; streamoff is
193 always off64_t, if _LARGEFILE_SOURCE or _LARGEFILE64_SOURCE
194 defined, i.e. if 64-bits file operations present;
196 * stlport/stl/config/user_config.h: add _STLP_USE_DEFAULT_FILE_OFFSET,
197 force use off_t for streamoff and appropriate file operations calls;
198 note, that this may lead to problems, for example if _FILE_OFFSET_BITS
199 defined as 64 somewhere in user's code;
201 * test/unit/fstream_test.cpp: test 64 bits type for filesize and
204 2007-07-22 Petr Ovtchenkov <complement@users.sourceforge.net>
206 * src/fstream.cpp: force use lseek64/mmap64 for HP-UX, if _LARGEFILE64_SOURCE
207 defined; thanks for Michael Klein.
209 2007-07-17 Petr Ovtchenkov <complement@users.sourceforge.net>
211 * stlport/stl/_algo.c, stlport/stl/_algobase.c: search, the __tmp and
212 __p1 iterators always point at the same position, hence one of them
215 * stlport/stl/_algobase.c: in the main-loop of search there are two
216 successive while-loops doing exactly the same thing; one of them is
217 redundant and, since it is inside the main-loop, it slows down
218 the algorithm significantly;
220 * stlport/stl/_algo.c, stlport/stl/_algobase.c: in the search the main-loop
221 condition "while (__first1 != __last1)" is always true and consequently
222 redundant; this is because the initial adn in-loop conditions virtually
223 act as guards and will never let the main-loop condition to fail; since
224 this condition is evaluated in every main-loop iteration, its removal
225 will also improve the performance of the algorithm; thanks for
226 Jim Xochellis for this suggestions.
228 2007-07-15 Petr Ovtchenkov <complement@users.sourceforge.net>
230 * src/strstream.cpp: "get end" pointer should be initialized
231 to the "begin of get + N" in obsolete strstream; bug #1536503,
232 thanks for Jean-Eric Cuendet;
234 * test/unit/strstream_buffer_read_test.cpp, build/test/unit/Makefile.inc:
235 test for bug above; [submitted by Jean-Eric Cuendet].
237 2007-04-02 Francois Dumont <dums@stlport...>
239 * 5.1.3 released based on revision 2983. STLport-5.1.3 tag created.
241 2007-03-30 Francois Dumont <dums@stlport...>
243 * build/lib/configure.bat: Restore TARGET_PROC_SUBTYPE definition
244 to distinguish between ARM architectures.
246 2007-03-22 Francois Dumont <dums@stlport...>
248 * stlport/stl/config/_msvc.h, _deque.h, _bvector.h: Portage from
249 Ulrich Echkardt to EVC 8.
251 * doc/README.evc8, README.wince: New documentations about Windows
252 CE and EVC 8 from Ulrich Echkardt.
254 * doc/evc_workaround.txt, doc/README.evc3, First file merged to the
257 * stlport/stl/_stlport_version.h: Bump patch level to 3.
259 2007-03-07 Francois Dumont <dums@stlport...>
261 * src/dll_main.cpp, stlport/stl/_stdexcept_base.h: Change strncpy_s
262 invocation to pass _TRUNCATE parameter rather than number of chars
263 to put in destination string. Default strncpy_s behavior is not to
264 truncate string if necessary but to report the issue throught a handler
265 which lead to an application crash if no handler has been set. Thanks
266 Bronek Kozicki bug report 1674974.
268 * stlport/stl/type_traits.h: Add a default constructor declaration
269 in _TpWithState class to make gcc happy when class is instanciated
270 with a class with no default constructor.
272 * stlport/stl/config/_windows.h: Change definition of
273 _STLP_WIN32_VERSION macro. We do not report definition inconsistency
274 between WINVER and _WIN32_VERSION anymore, WINVER is prefered.
276 2007-03-01 Francois Dumont <dums@stlport...>
278 * test/unit/bitset_test.cpp: Add test for the to_string member
281 * stlport/stl/config/_msvc.h, test/unit/locale_test.cpp: Change
282 MSVC6 configuration that now defines _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS.
283 Even if MSVC6 supports explicit specification of function template
284 parameters it do not support the explicit specification for
285 template methods, unit tests are showing this problem.
287 * stlport/stl/type_traits.h, _alloc.h: Small change in stateless
288 class detection feature. Introduce _IsStateless helper struct for
289 this purpose even if it can only be used with pure class type and
290 not with build-in types or enum or union. It avoids MSVC8 warnings.
292 2007-02-25 Francois Dumont <dums@stlport...>
294 * 5.1.2 released based on revision 2937, tag STLport-5.1.2 created.
296 * stlport/stl/config/_prolog.h, build/Makefiles/gmake/bcc.mak,
297 Patch from Eric Sanford to remove empty base class optimization
298 for Borland compilers.
300 * test/unit/vector_test.cpp: Enable VectorTest::ebo test for Borland
303 2007-02-22 Francois Dumont <dums@stlport...>
305 * stlport/stl/_alloc.h: Add a workaround for compilers with buggy
306 empty base class optimization which is used in _STLP_alloc_proxy
309 * test/unit/vector_test.cpp: New test case VectorTest::ebo to show
312 2007-02-21 Francois Dumont <dums@stlport...>
314 * src/c_locale_win32/c_locale_win32.c: Fixed __ConvertDate and
315 __ConvertTime to avoid potential infinite loop (bug report
318 2007-02-16 Francois Dumont <dums@stlport...>
320 * STLport 5.1.1 released based on revision 2919. STLport-5.1.1
323 2007-02-14 Francois Dumont <dums@stlport...>
325 * stlport/stl/config/_intel.h: Configuration fix, Intel compiler
326 before 8.1 have problem with template method specialization. Thanks
329 2007-02-09 Francois Dumont <dums@stlport...>
331 * test/unit/locale_test.cpp: Enhance LocaleTest::collate_facet
332 test case to reveal a bug in glibc localization portage.
334 * src/c_locale_glibc/c_locale_glibc2.c: Fixed _Locale_strcmp
335 and _Locale_strcmp and _Locale_strwcmp implementation to take
336 into account buffer size, comparison used to always been done on the
337 whole input strings up to the termination character.
339 * stlport/stl/type_manips.h, test/unit/mvctor_test.cpp,
340 type_traits_test.cpp: Remove relation between STLport __true_type and
341 __false_type and homonyms ones in libstd++. Add workaround in the 2
342 test suite requiring use of those types.
344 2007-02-08 Francois Dumont <dums@stlport...>
346 * stlport/stl/_threads.h, src/locale.cpp: Add missing parenthesis
347 in some macro checks thanks Jan Echternash bug report 1653966.
349 * test/unit/locale_test.cpp: Made LocaleTest::collate_facet test
350 really meaningful even if it requires french locale support for
353 2007-02-01 Petr Ovtchenkov <complement@users.sourceforge.net>
355 * stlport/stl/config/_solaris.h: __LONG_MAX__ defined on
356 64-bits SPARCs. Thanks Aleksey Sanin.
358 * stlport/stl/_sparc_atomic.h, stlport/stl/_threads.h: fixes
359 for modern SPARCs. Thanks Aleksey Sanin.
361 2007-01-28 Francois Dumont <dums@stlport...>
363 * stlport/stl/debug/_deque.h: Fix iterator invalidation in erase
364 of an iterator range thanks to Steve Lobasso indirect report (bug
367 * test/unit/deque_test.cpp: New test case for deque erase methods.
369 2007-01-19 Francois Dumont <dums@stlport...>
371 * stlport/stl/_locale.h, src/locale.cpp: Add throw() specification
372 on locale default constructor. Add const qualifier on locale::combine
373 method. Fixed combine implementation to correctly combine
374 *this with other locale instance.
376 * src/locale_impl.h: Removed _get_Locale_impl and
377 _copy_Nameless_Locale_impl already defined in stlport/stl/_locale.h.
379 * src/locale_impl.cpp: In _Locale_impl::insert add check that we
380 are working on 2 different facet instances before substitution.
382 * test/unit/locale_test.cpp: Add test case for locale::combine
385 2007-01-12 Francois Dumont <dums@stlport...>
387 * c_locale.h, c_locale_dummy.c, c_locale_glibc.c, c_locale_glibc2.c,
388 c_locale_win32.c: Creation of 2 new functions in the localization
389 framework _Locale_init and _Locale_final to allow localization
390 implementations to initialize and release any necessary resources.
392 * src/iostream.cpp: Call _Locale_init during io streams initialization
393 and _Locale_final at end.
395 * c_locale_win32/c_locale_win32.c: Add synchronization for locale
396 lcid look up from name required in multithreaded environment. Two
397 threads instanciating two facet instances from a given name might
398 have collide resulting in an undefined behavior. Critical section
399 used for synchronization is initialized in _Locale_init and freed
402 * c_locale_win32/c_locale_win32.c: Add several fields in
403 _Locale_time struct to avoid use of static buffers in some locale
404 support functions like _Locale_d_t_fmt _Locale_long_d_t_fmt...
405 Moreover time format cannot be truncated anymore.
407 * stlport/stl/config/_windows.h: Introduce _STLP_WIN32_VERSION
408 macro set to WINVER or _WIN32_WINDOWS value depending on what
411 * stlport/stl/_threads.h, src/locale.cpp: Add _STLP_WIN32_VERSION
412 checks to detect Windows 95 platform having a special
413 _STLP_ATOMIC_INCREMENT and _STLP_ATOMIC_DECREMENT behavior.
415 2007-01-08 Francois Dumont <dums@stlport...>
417 * stlport/stl/_deque.c: Patch from Kevin Lin to fix iterator
418 returned by insert at position method.
420 * test/unit/deque_test.cpp: Add test case for the deque::insert
423 2006-11-27 Francois Dumont <dums@stlport...>
425 * stlport/stl/config/_windows.h: Patch from Michael Fink to check
426 inclusion of winbase.h and windows.h.
428 2006-11-24 Francois Dumont <dums@stlport...>
430 * stlport/stl/_fstream.h, src/fstream.cpp, iostream.cpp: Restore
431 computation of the system dependant page size that was hardcoded
432 to 4096. Initialisation code has been moved to a static method
433 called just after Standard iostream initialisation. This code used
434 to be in the _Filebuf_base constructor that might have been called
435 simultaneously by several threads.
437 2006-11-17 Francois Dumont <dums@stlport...>
439 * stlport/stl/config/_macosx.h: Add endianess configuration.
441 2006-11-16 Francois Dumont <dums@stlport...>
443 * test/unit/resolve_name.cpp: Clean most of MSVC6 workaround, only
444 one has been kept to have the test pass.
446 2006-11-13 Francois Dumont <dums@stlport...>
448 * stlport/stl/_cwchar.h: Patch from Michael Fink to fix EVC3
449 missing mbstate_t definition.
451 2006-11-07 Francois Dumont <dums@stlport...>
453 * stlport/stl/_threads.h: Removed _Atomic_swap_struct export
454 that should be useless as completely inlined. Moreover it was
455 generating a compilation error using MSVC 2005 under Windows
458 2006-10-26 Francois Dumont <dums@stlport...>
460 * test/unit/codecvt_test.cpp: Removed try/catch blocks not
461 supported by platform missing exception support and moreover
462 useless as we know the code called in the try and this code
463 do not throw (thanks Michael Fink report).
465 * build/Makefiles/nmake/targetdirs.mak, lib/clean.mak, app/clean.mak:
466 Complete clobber and distclean rules to really clean all generated
469 * build/Makefiles/nmake/top.mak: Patch from Gary Bartlett to make nmake
470 'all' rule the default rule.
472 2006-10-25 Francois Dumont <dums@stlport...>
474 * src/dll_main.cpp: Fix syntax error '>>' rather than '> >' in
475 a _STLP_alloc_proxy explicit instanciation.
477 * stlport/stl/_unordered_set.h: Fix template method for the
478 associative container extension, use _KT type rather than key_type.
480 2006-10-20 Francois Dumont <dums@stlport...>
482 * stlport/stl/config: Removed some used macros
483 _STLP_AUTOMATIC_TYPE_TRAITS
484 _STLP_UNINITIALIZABLE_PRIVATE
485 _STLP_STATIC_ARRAY_BUG
486 _STLP_FULL_ADL_IMPLEMENTED
488 * test/unit/codecvt_test.cpp: Ignore test when
489 _STLP_NO_MEMBER_TEMPLATES defined.
491 2006-10-20 Petr Ovtchenkov <complement@users.sourceforge.net>
493 * stlport/stl/_cwchar.h: fix HP-UX problem with WCHAR_MIN, WCHAR_MAX
496 2006-10-19 Petr Ovtchenkov <complement@users.sourceforge.net>
498 * test/unit/sstream_test.cpp: check bugreport #1580020, not confirmed.
500 2006-10-17 Francois Dumont <dums@stlport...>
502 * stlport/stl/_cwchar.h: Restore code to define potentially missing
503 WCHAR_MIN, WCHAR_MAX macros. It used to be in _mbstate_t.h but was
504 missing some native includes to work, in _cwchar.h everything should
507 * test/unit/codecvt_test.cpp: Fix C cast that was losing const
510 * stlport/stl/_mbstate_t.h: Avoid definition of _STLP_NO_MBSTATE_T when
511 using own mbstate_t definition in _STLP_USE_NO_IOSTREAMS mode. This macro
512 is not supported anymore and should be fixed or removed in future version.
513 Own mbstate_t will be defined even in no iostreams mode.
515 * stlport/stl/config/_evc.h: Now that mbstate_t situation is clear EVC3
516 defines _STLP_NO_NATIVE_MBSTATE_T rather than directly defining it in
519 * test/unit: Several fixes to build with _STLP_NO_EXTENSIONS and
520 _STLP_NO_ANACHRONISMS.
522 2006-10-16 Petr Ovtchenkov <complement@users.sourceforge.net>
524 * stlport/stl/_mbstate_t.h: this header may be included from system
525 stddef.h, without wchar.h---defines of wchar limits isn't good place
526 here [WCHAR_MAX, etc.].
528 * test/unit/cwchar.cpp: correct test to hilight problem above.
530 2006-10-14 Petr Ovtchenkov <complement@users.sourceforge.net>
532 * test/unit/cwchar.cpp, build/test/unit/Makefile.inc: test a few macros
533 related to wchar. Inspired by problems in STLPORT_5_1 and boost::regex.
535 2006-10-12 Francois Dumont <dums@stlport...>
537 * stlport/stl/_numpunct.h, src/numpunct.cpp: numpunct facet _M_truename
538 _M_falsename and _M_grouping are not static anymore. This seems useless
539 and moreover was introducing static initialisation order and threading
542 * stlport/stl/c_locale.h, _mbstate_t.h, src/c_locale.h, c_locale.c:
543 New mbstate_t policy. When no mbstate_t in native library STLport defines
544 one for its own need in localisation support. This mbstate_t is simply
545 an int defined in global namespace and imported to STLport namespace.
546 Internal localisation framework is nt anymore in STLport namespace but
547 in the global one as it is normaly a C framework.
549 * stlport/stl/config/_bc.h: Defines _STLP_NO_NATIVE_MBSTATE_T rather
550 than internal _STLP_USE_OWN_MBSTATE_T macro.
552 * stlport/stl/config/_evc.h: Add comment for EVC3 users, this platform
553 should define _STLP_NO_NATIVE_MBSTATE_T, but I have not the platform
556 * build/Makefiles/gmake/bcc.mak: Do not force anymore built of C sources
559 * test/unit/string_test.cpp, istmit_test.cpp: Fixed macro checks to make
560 tests buildable even when _STLP_NO_IOSTREAMS is defined.
562 2006-10-09 Francois Dumont <dums@stlport...>
564 * test/unit/codecvt_test.cpp: Fix use of mbstate_t to make it more
567 2006-10-06 Francois Dumont <dums@stlport...>
569 * stlport/stl/_alloc.h, _alloc.c: Fixed __debug_alloc implementation
570 to avoid unjustified assertion about wrong size of buffer to
571 deallocate, thanks David Deakins and verntx on sourceforge.
573 * test/unit/vector_test.cpp: Add test for bug above.
575 * stlport/wchar.h, stl/_cwchar.h, _istream.h, _limits.h, _locale.h,
576 _threads.h, char_traits.h, type_traits.h, _mbstate_t.h: Fix regression
577 introduce by inclusion of mbstate_t.h in wchar.h. Now _mbstate_t.h is
578 only included at end of wchar.h and _cwchar.h. All places where _mbstate_t.h
579 was used are now including _cwchar.h.
581 2006-10-05 Francois Dumont <dums@stlport...>
583 * build/Makefiles/gmake/bcc.mak: Use -P compiler to force build of C
584 translation as C++ because of the mbstate_t problem.
586 * build/Makefiles/gmake/lib/bcc.mak, rules-a.mak: Fix Borland tlib call
587 syntax thanks mbkenny.
589 * stlport/stl/wchar.h: Add include of internal _mbstate_t.h file to
590 know STLport status regarding mbstate_t configuration.
592 * stlport/stl/c_locale.h: When building platform localisation support
593 as C++ struct declaration are done in STLport namespace.
595 * src/c_locale.h: Removed _mbstate_t.h include that is now included
596 from wchar.h or _cwchar.h depending on C or C++ build. Removed #error
597 done too early (see next comment).
599 * src/c_locale.c: Add #error statement when building STLport on a platform
600 having real localisation support but no native mbstate_t definition. In this
601 case c_locale.c must be built as a C++ translation unit.
603 * src/c_locale_win32/c_locale_win32.c: Add Borland workaround to avoid
604 compilation error now that it is build as a C++ translation unit.
606 * stlport/stl/_mbstate_t.h: Now that this file is not included from outside
607 world we can include internal _cwchar.h rather than cwchar. Removed
608 a wint_t workaround already existing in _cwchar.h. Removed Borland workaround
609 that was defining mbstate_t when using this file in a C context, it was
610 moreover different than the definition in C++ ! Ad a pure C declaration of
613 2006-10-04 Francois Dumont <dums@stlport...>
615 * src/c_locale.h: Add #error to signal issue when building c_locale.c
616 as a C source when STLport uses its own mbstate_t definition.
618 * src/num_put_float.cpp: Modification in Cygwin native lib headers
619 revealed that we were missing ieeefp.h include.
621 * src/dll_main.cpp, stlport/stl/_threads.h: Fix export of
622 _Atomic_swap_struct for compilers supporting export of templates.
624 * stlport/stl/config/_hpacc.h: Some cleanup (unknown _STLP_NO_KOENIG_LOOKUP
625 macro) and formating fixes.
627 * stlport/stl/_bvector.h: Use _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS
628 rather than reproducing the workaround hidden by this macro.
630 * test/unit/vector_test.cpp: Add test case to check iterators comparisons.
632 2006-09-26 Francois Dumont <dums@stlport...>
634 * src/allocators.cpp: Reorder code blocks to fix build when using
635 _STLP_LEAKS_PEDANTIC.
637 * stlport/stl/_num_put.c: Restore __len >= 2 check in
638 __copy_integer_and_fill function. It has been removed on the
639 2006-07-11, at this time STLport always add the base information
640 even for 0 value. This modification has been rollback but not this
643 * test/unit/num_put_get_test.cpp: Add check for above fix.
645 2006-09-26 Francois Dumont <dums@stlport...>
647 * src/c_locale_win32/c_locale_win32.c: Add check of code page when
648 specified in locale name.
650 * src/c_locale_win32/c_locale_win32.c: Add checks in __ConvertDate
651 and _Locale_t_fmt to avoid potential buffer overflow.
653 * src/c_locale_win32/c_locale_win32.c: Create __GetLocaleInfoUsingACP
654 function that merge a call to GetLocaleInfoA and a call to
655 __ConvertFromACP in one call, the latter function has been removed.
657 * src/c_locale.h: Restore _STLP_BEGIN_NAMESPACE when STLport use
658 its own mbstate_t definition which is only available in STLport
659 namespace. Fix Borland regression.
661 * stlport/stl/_mbstate_t.h: Replace stl/_cwchar.h include with
662 a cwchar one as this file is included from the outside world when
663 building STLport lib.
665 2006-09-25 Francois Dumont <dums@stlport...>
667 * test/unit/codecvt_test.cpp: New test case for the codecvt
670 * test/unit/unordered_test.cpp: size_t replace by int to avoid
671 64bits issue warning.
673 2006-09-21 Francois Dumont <dums@stlport...>
675 * stlport/stl/c_locale.h: Patch from Boris Gubenko to avoid
676 direct inclusion of internal header from this header that is
677 access from the outside world when building STLport lib.
679 2006-09-20 Francois Dumont <dums@stlport...>
681 * test/unit/allocator_test.cpp: Add new test case for allocation of
684 * test/unit/fstream_test.cpp: Use a variable to always point to the same
685 test file and adopt a 'Standard' file name 'test_file.txt'.
687 * stlport/stl/_hash_fun.h: Rollback 2006-08-26 Petr modification that
688 was introducing a regression with MSVC compilers.
690 * stlport/stl/_fstream.c: First attempt to fix seekoff basic_filebuf
691 implementation when dealing with a codecvt facet having variable
692 encoding. This fix is surely not complete, discussion with Uli is not
695 2006-09-13 Francois Dumont <dums@stlport...>
697 * stlport/stl/_exception.h: Made a previously general Windows 64 bits
698 workaround specific to the cross compiler coming with PSDK. Thanks
701 2006-09-11 Francois Dumont <dums@stlport...>
703 * stlport/stl/_num_put.c: Modification in __do_put_integer to avoid
706 2006-09-11 Petr Ovtchenkov <complement@users.sourceforge.net>
708 * stlport/stl/_algo.c: search_n with predicate fail in case
709 when subsequence size is 1; thanks Timmie Smith.
711 * test/unit/alg_test.cpp: test for problem.
713 2006-09-08 Francois Dumont <dums@stlport...>
715 * src/c_locale_win32/c_locale_win32.c: Modification in __GetLCIDFromName
716 to support the Chinese_Taiwan locale. Add of a __GetLCID call when first
717 call to it using non NLS mapping fails.
719 * src/c_locale_win32/c_locale_win32.c: Change __ParseLocaleString
720 implementation to correctly handle locale with a name having '.' in
721 the language or country part like in 'Chinese_Hong Kong S.A.R..950'.
723 2006-09-05 Francois Dumont <dums@stlport...>
725 * build/lib/configure.bat: Fixed comment for --rtl-dynamic and
726 --rtl-static options, impact on macros to uncomment in hosts.h
727 config file was inversed. Thanks Igor Pavlov.
729 * build/lib/configure.bat, doc/FAQ, doc/README.msvc,
730 stlport/stl/config/user_config.h, _hpacc.h: Replaced references to
731 _site_config.h by hosts.h. Thanks Igor Pavlov.
733 2006-08-30 Francois Dumont <dums@stlport...>
735 * stlport/stl/_cmath.h, _cstdlib.h: Patch from Boris Gubenko, Hp aCC
736 native Standard lib already define math functions in global namespace.
738 * stlport/stl/_num_put.c: Patch from Boris Gubenko, Hp aCC before version
739 60000 do not consider 'const ptrdiff_t' as const enough to be used in a
740 static buffer declaration.
742 2006-08-26 Petr Ovtchenkov <complement@users.sourceforge.net>
744 * stlport/stl/_hashtable.c: allow smaller bucket counts for
745 hashtable. Thanks Herbert Duerr.
747 * stlport/stl/_hash_fun.h: use primary types for hasher, not
750 * stlport/stl/type_manips.h: workaround for __true_type/__false_type
751 for various versions gcc (oh, yes, gcc, it's real pain to detect
752 real version of libstdc++)
754 2006-08-10 Petr Ovtchenkov <complement@users.sourceforge.net>
756 * stlport/stdlib.h: include errno.h for aCC, in case of -mt option in force.
757 This solve errno problem on HP-UX. Thanks Boris Gubenko.
759 2006-08-09 Francois Dumont <dums@stlport...>
761 * stlport/stl/config/_msvc.h: Add _STLP_NORETURN_FUNCTION for MSVC
764 * stlport: Move place of _STLP_FUNCTION_THROWS in function declaration to
765 make msvc compiler happier, gcc do not care about position of this
768 * stlport/stl/_ioserr.h: Fixed specification of STLport configuration file
771 2006-08-04 Francois Dumont <dums@stlport...>
773 * stlport: Create _STLP_FUNCTION_THROWS depending on _STLP_NORETURN_FUNCTION
774 and also taking into account exception handling configuration.
776 * test/unit/alg_test.cpp, istmit_test.cpp: Fixes to make test buildable with
777 native compiler Standard library.
779 2006-08-03 Francois Dumont <dums@stlport...>
781 * build/Makefiles/nmake/evc8.mak: Patch from Ulrich Echkardt to activate
782 whole program optimization.
784 2006-07-31 Francois Dumont <dums@stlport...>
786 * Patch from Michael Fink to fix EVC emulator build.
788 2006-07-26 Francois Dumont <dums@stlport...>
790 * src/fstream.cpp: Fixed MMAP_CHUNK definition, an offset type is signed.
792 * Creation of the 5.1.0 RC2 package.
794 * Creation of STLPORT_5_1_RC2 tag
796 2006-07-25 Francois Dumont <dums@stlport...>
798 * stlport/stl/config/_system.h, _windows.h: Fixed MinGW config that also
801 * stlport/stl/config/_mingw.h: Removed, conflict with platform system
804 2006-07-22 Francois Dumont <dums@stlport...>
806 * stlport/stl/config: Add _STLP_PLATFORM and _STLP_COMPILER repectively
807 containing STLport detected platform and compiler names. Some names
808 are surely not accurate and will be fixed but introducing those macros,
809 especially _STLP_COMPILER, help to report detection issue.
811 * stlport/stl/config/_system.h: Change macro checks in order to guaranty
812 that only one platform and only one compiler configuration file will be
815 * stlport/stl/config/_cygwin.h, _mingw.h: Added
817 * stlport/stl/config/features.h: Removed _STLP_NO_MEMBER_TEMPLATE_CLASSES
818 check when _STLP_USE_TEMPLATE_EXPRESSION is activated.
820 * stlport/stl/config/_gcc.h, features.h: Add _STLP_NORETURN_FUNCTION
821 to signal function not returning, under gcc we use __attribute__((noreturn)).
823 * src/locale_impl.h, stlport/stl/_ios_base.h, _locale.h, _range_errors.h,
824 _rope.h, _string_base.h, _vector.h, debug/_debug.h: Add
825 _STLP_NORETURN_FUNCTION to function that encapsulate raising of exceptions.
826 This help to limit warnings about uninitialized variable before use under
829 2006-07-18 Francois Dumont <dums@stlport...>
831 * test/unit/unordered_test.cpp: Change Key data type from size_t
832 to the more portable int. Fix what seems to be a bad code generation
833 of gcc under Linux 64 bits resulting in a test failure.
835 2006-07-17 Francois Dumont <dums@stlport...>
837 * test/unit/alg_test.cpp: New test for find_first_of algo.
839 * stlport/stl/config/user_config.h, features.h: string template
840 expressions is not a transparent feature, some compilers (VC6)
841 are experimenting ICE with it or some other (gcc) do not accept
842 it when extending string class (see mystring in
843 test/unit/string_test.cpp). So default STLport configuration will
844 be without string template expression, _STLP_DONT_USE_TEMPLATE_EXPRESSION
845 has been replaced by _STLP_USE_TEMPLATE_EXPRESSION.
847 2006-07-16 Francois Dumont <dums@stlport...>
849 * test/unit/mvctor_test.cpp: Patch from Michael Fink to avoid a EVC
852 2006-07-13 Francois Dumont <dums@stlport...>
854 * stlport/stl/_num_put.c: Rollback modif above, according C printf doc
855 0 value shouldn't show their base.
857 * stlport/stl/type_traits.h: Avoid instanciation of _IsCVConvertible if
858 not dealing with pointers. Systematical instanciation was giving
859 compilation error as soon as type had a special memory alignment, such
860 types cannot be pass by value in function calls. Thanks andy2222 from
863 * build/Makefiles/nmake/evc3.mak, evc4.mak, evc8.mak: Patch from Ulrich
864 Eckhardt to remove commctrl.lib dependency, for the moment evc3 and evc4
865 only contains a note about this potentially useless dependency.
867 * stlport/stl/debug/_string.h: Add missing copy methods in the debug
868 string implementation thanks Patrick Bennett report.
870 * test/unit/string_test.cpp: New copy test case for string::copy.
872 * stlport/stl/_algo.h: Add missing _STLP_PRIV namespace scope in calls
873 to __find_first_of thanks Patrick Bennett report.
875 2006-07-11 Francois Dumont <dums@stlport...>
877 * stlport/stl/debug/_deque.h, _list.h, _slist.h, _string.h, _vector.h:
878 Extend use of _Non_Dbg_iter function in all template methods dealing
881 * _num_put.c: Fix to show base in octal or hexadecimal mode even for
884 * stlport/stl/_istream.c: Avoid modification of value to extract in
885 formatted input of short and int when value would overflow.
887 * test/unit/num_put_get_test.cpp: Add some tests for above fixes.
889 * test/unit/iostream_test.cpp: New tests for general stream
892 * stlport/stl/_istream.h: Fix ws iostream function, it do not set failbit
893 anymore when stream is in eof state.
895 * build/lib/msvc.mak: Generation of config.mak is not mandatory anymore
896 as Intel compiler do not need it for the moment. Only a COMPILER_NAME
897 is mandatory which is given by icl.mak for Intel compilers and by
898 config.mak for Microsoft ones.
900 2006-07-10 Francois Dumont <dums@stlport...>
902 * stlport/stl/debug/_iterator.h: Creation of _Non_Dbg_iter function
903 returning native iterator of special debug iterator with
904 compilers supporting partial template function ordering. Fix
905 a MSVC .Net 2003 issue that seems to be related to a too important
908 * stlport/stl/debug/_deque.h, _list.h, _slist.h, _string.h, _vector.h:
909 Use new _Non_Dbg_iter function in constructors from iterator
912 2006-07-07 Petr Ovtchenkov <complement@users.sourceforge.net>
914 * build/lib/configure: rollback changes 4 Jul 2006 19:42:55,
915 it's definitely wrong (phrase with quotes ['] requires double
918 2006-07-06 Francois Dumont <dums@stlport...>
920 * stlport/stl/_num_put.c: Small refactoring with introduction
921 of the __do_put_integer function for integer types output. Moreover
922 static buffer size used for formating is now based on output
925 * stlport/stl/_ostream.c: Add some assertion before cast to check that
926 no significant digit is lost. Add cast to long in int and short output
927 in order to make type of expression more explicit and correct. This
928 fix the bug report from Geoffrey Bache on sourceforge about output of
929 -1 ont value on 64bits linux.
931 * test/unit/floatio_test.cpp: Removed, all code moved to NumPutGetTest
934 * test/unit/num_put_get_test.cpp: New, contains all tests regarding
935 input/output of numeric values (locale independant).
937 * test/unit/locale_test.cpp: locale independant tests of numeric input/
938 output moved to NumPutGetTest test fixture.
940 2006-07-04 Francois Dumont <dums@stlport...>
942 * stlport/stl/_rope.h, _rope.c: Patch from Peter Hercek to fix a
943 missing null termination in rope constructor from a character
944 and a buffer overrun.
946 * stlport/stl/_rope.h: Removed special _S_rounded_up implementation
947 for other types than char and wchar_t. rope implementation is
948 expecting this method to always return a size > to the given size in
949 order to store the terminating null character.
951 * stlport/stl/_rope.c: Fix reference counter management to avoid memory
952 leak in _S_destr_concat_char_iter.
954 2006-06-30 Francois Dumont <dums@stlport...>
956 * src/num_put.cpp, num_put_float.cpp: Patch from Glen Summers
957 to fix float output using locale with grouping and float value
960 * test/unit/locale_test.cpp: Add some tests showing above bug.
962 2006-06-29 Francois Dumont <dums@stlport...>
964 * stlport/stl/_algo.h, _algo.c, _algobase.h, _algobase.c,
965 _hashtable.c: Patch from Andriy Syrovenko to fix implementation
966 of __equal_range, __lower_bound, __upper_bound when dealing with
967 a key whom type is different from the value_type of the iterator.
969 * test/unit/equal_test.cpp: Add some tests to show above bug.
971 2006-06-28 Francois Dumont <dums@stlport...>
973 * stlport/stl/_string_sum_methods.h, debug/_string_sum_methods.h:
974 Small refactoring and simplification of code to avoid a parameter
975 with default value. This fixing an ICE using MSVC6.
977 * test/unit/string_test.cpp: Ignore the newly introduce te_tmp
980 2006-06-27 Petr Ovtchenkov <complement@users.sourceforge.net>
982 * stlport/stl/_list.h: fix bug in list.swap, thanks Viktor Govako.
984 * test/unit/list_test.cpp: test for bug above.
986 2006-06-27 Francois Dumont <dums@stlport...>
988 * build/lib/configure: Add --with-lib_motif option to grant STLport
989 users the possibility of tweaking the generated libraries name.
991 * build/Makefiles/gmake/unix/lib.mak: Add code to take into account
992 configured lib motif in generated library name.
994 * build/Makefiles/gmake/netware/lib.mak: Looks like it needs same
995 defines as the ones in cygming/lib.mak so we simply include this
998 * stlport/stl/config/_evc.h: Patch from Michael Fink to fix a
1001 * test/unit/cppunit/cppunit_mini.h: Patch from Michael Fink to
1002 avoid unused parameter warning.
1004 2006-06-23 Francois Dumont <dums@stlport...>
1006 * stlport/stl/_pair.h, _bvector.h, config/_evc.h: Patch from
1007 Ulrich Eckhardt to extend an evc4 MIPS workaround for eVC8
1008 and to generalize little endian configuration.
1010 * DMC patch from Eric Sanford. Define _STLP_NO_FUNTION_TMPL_PARTIAL_ORDER
1011 so that many ignored unit test could be now passed. Also specify
1012 Intel 386 instruction set during compilation to limit link errors.
1014 2006-06-22 Francois Dumont <dums@stlport...>
1016 * stlport/stl/_algobase.c: Removed check of equivalent predicate
1017 commutativity in find algorithm. In this case, equivalence relation
1018 might have been implemented using a member operator == which is
1019 not commutative thanks Grisha Spivak report. Other checks that are
1020 using an explicit predicate parameter has been kept even if it forces
1021 STLport users to implement commutative functor.
1023 * test/unit/find_test.cpp: Add test to show above issue.
1025 * stlport/stl/_hashtable.c: Removed equivalent predicate checks
1026 that are useless as in _STLP_DEBUG mode the debug wrapping add this
1027 check in the functor used to instanciate the non debug hashtable
1030 2006-06-19 Francois Dumont <dums@stlport...>
1032 * STLport 5.1.0 candidate released. STLPORT_5_1 branch created in
1033 CVS. Version tagged STLPORT_5_1_RC1.
1035 2006-06-17 Francois Dumont <dums@stlport...>
1037 * test/unit/type_traits_test.cpp, uninitialized_test.cpp: Add
1038 explicit public inheritance relation to avoid an ICL warning.
1040 * stlport/stl/config/features.h: Add definition of
1041 _STLP_DEBUG_LEVEL to _STLP_STLPORT_DBG_LEVEL when _STLP_DEBUG
1042 is defined but _STLP_DEBUG_LEVEL hasn't been set.
1043 (thanks an ICL warning report)
1045 * stlport/stl/config/_intel.h: Remove undef of
1046 _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT, even if the linker complains
1047 about not finding unexpected_exception it looks like it finally do
1050 * test/unit/cppunit/test_main.cpp: Filter definition of
1051 unexpected_exception when building unit test with static STLport
1054 2006-06-15 Francois Dumont <dums@stlport...>
1056 * stlport/stl/config/features.h: Several macro renamed:
1057 - _STLP_LONG_DOUBLE -> _STLP_LONGEST_FLOAT_TYPE
1058 - __DFL_TMPL_PARAM -> _STLP_DFL_TMPL_PARAM
1059 - __DFL_TYPE_PARAM -> _STLP_DFL_TYPE_PARAM
1060 - __DFL_NON_TYPE_PARAM -> _STLP_DFL_NON_TYPE_PARAM
1061 __DFL_TYPE_ARG removed.
1063 * stlport/stl: Add char_traits template parameter in all
1064 istreambuf_iterator and ostreambuf_iterator instanciation where it
1065 was missing as some compiler might not have supported it.
1067 * stlport/stl/_time_facets.h, src/locale_impl.cpp: Finaly adopt a
1068 specific gcc workaround for definition of _Locale_time_extract_hint
1069 as friend of time_get_byname facet. Gcc 2.95 prefers to see a template
1070 method otherwise it emits a warning, we want to avoid STLport users
1071 to have to disable this warning. Other compilers will use a simple
1072 function which seems to be more portable.
1074 * stlport/stl/_vector.h, _pair.h: Patch from Eric Sanford for a
1075 really weird Borland compiler workaround that consists in adding
1076 a _Ret typedef in __move_traits or __type_traits traits struct
1077 that do not normally contain it.
1079 * stlport/stl/config/_bc.h: Borland free compiler do not support
1080 STLport container extension of template methods.
1082 2006-06-14 Francois Dumont <dums@stlport...>
1084 * test/unit: Patch from Ulrich Eckhardt to fix storage of string
1085 literals to const char* rather than simple char*.
1087 * build/Makefiles/nmake: Ulrich Eckhardt patch:
1088 - /MACHINE:IX86 is obsolete and only supported for backward
1089 compatibility as alias for X86. Replaced all cases of IX86
1091 - /NODEFAULTLIB:OLDNAMES.lib seems to also be universal so I
1092 moved it to the base, too.
1093 - In order to use main() as entry point under CE, use linker
1094 option /ENTRY:mainACRTStartup. This was already done for
1095 evc3,4,8 but I moved it to app/evc-common.mak and documented
1098 * stlport/stl/_cmath.h, config/_evc.h: Uli patch to activate long
1099 double support for EVC and use _hypot to implement STLport
1102 * src/complex.cpp: Remove internal __stlp_hypot that is not necessary
1103 anymore now that STLport always define a hypot function (thanks Uli
1106 * stlport/stl/config: Ulrich Eckhardt VC8/CE patch:
1107 - Adapt the code to construct the paths to the native includes
1108 so that it matches the changed structure. This is currently
1109 only for ARM and might need more work for other targets (x86
1111 - Make a distinction between the desktop and CE variants concerning
1112 the exception support functions. These now use the same compiler
1113 versions so that can't be used anymore.
1114 - MS' safe string functions are not available under CE - I think,
1115 need to take a closer look at Platform Builder.
1117 * stlport/stl: Ulrich Eckhardt to adapt STLport to VC8/CE limited
1120 2006-06-13 Francois Dumont <dums@stlport...>
1122 * stlport/stl/pointers/_tools.h: Add partial specialization for
1123 _IteWrapper helper struct so that when type to store and stored
1124 type are identical input iterators are not wrapped. Otherwise input
1125 iterators are wrapped to perform necessary casts between pointer type
1128 * stlport/stl/_cmath.h: Fixed macros definition used to define all
1129 math functions for compilers supporting long double but not having
1130 float nor long double C math functions. Thanks Ulrich Eckhardt report.
1132 2006-06-12 Francois Dumont <dums@stlport...>
1134 * test/unit/set_test.cpp, map_test.cpp: Replace size_t with the
1135 more portable int type when possible.
1137 * stlport/stl/pointers/_tools.h: Check that type to store is a
1138 pointer type before modifying predicate type for set container.
1139 Wrapping less functor in all cases was making move semantic tests
1140 to fail as predicate is not then detected as being the STLport
1143 * stlport/stl: DMC patch from Eric Sanford. DMC do not like __ss
1144 variable that is a reserved keyword.
1146 2006-06-11 Francois Dumont <dums@stlport...>
1148 * build/Makefiles/nmake: Patch from Ulrich Eckhardt to use
1149 main rather than WinMain for EVC platform.
1151 * build/test/unit/gcc.mak: Removed redondant macro definition
1152 _STLP_USE_STATIC_LIB under cygwin/mingw as those definition
1153 are part of base make files.
1155 * stlport/stl/type_manips.h, _hashtable.h: Eric Sanford workaround
1158 2006-06-09 Francois Dumont <dums@stlport...>
1160 * test/unit/cppunit: Patch from Ulrich Eckhardt to
1161 - Removed a few superfluous semicolons.
1162 - Made some constructors explicit.
1163 - Documented the meaning of FileReporter::_myStream.
1164 - Reformatted some things to not exceed 100 chars per
1165 line or use several expressions/statements in one line.
1167 * build/Makefiles/nmake: Patch from Ulrich Eckhardt to
1168 - adds support for x86 (running on e.g. a PC, so-called CEPC).
1169 - adds support for MIPS or more specifically MIPSII, other MIPS
1170 subtypes can easily be added.
1171 - removes a line "DEFS_COMMON = /D%TARGETCPU%" from the config.mak
1172 file generated for MIPS, the same functionality was moved to the
1173 CPU-specific setups where it is done for other CPUs.
1174 - adds an additional compiler flag so that diagnostics better
1175 match what the VC8 IDE expects.
1177 * stlport/stl: Patch from Ulrich Eckhardt to
1178 - removes several unnecessary semicolons (typically, when
1179 inlining functions like "void foo() {};" where it in fact doesn't
1180 hurt (due to something I consider an oversight in the standard)
1181 but also doesn't make sense.
1182 - fixes inconsistent indentation in three cases, one with the
1183 preprocessor and two with memberfunction bodies.
1185 * stlport/stl/pointers/_tools.h: Add missing template method
1186 in _CastTraits helper struct used on compiler with no partial
1187 template specialization support.
1189 2006-06-08 Francois Dumont <dums@stlport...>
1191 * stlport/stl/pointers/_tools.h, _set.h: Fix problems reported by
1192 gcc that seems to do more check that MSVC on explicit
1193 instanciation of templates. Especially fixed problem introduce
1194 by STLport extension of set template methods.
1196 * build/Makefiles/gmake/aCC.mak, lib/aCC.mak: Patch from Boris
1197 Gubenko for Hp aCC build.
1199 2006-06-07 Francois Dumont <dums@stlport...>
1201 * stlport/stl/pointers: Restore pointer specialization feature.
1202 Major modifications are:
1204 - vector specialization is done using a qualified void pointer
1205 in order to keep optimization oportunities when working on
1206 pointers. Using a strict void* was forcing wrapping of iterators
1207 in template method making _BothPtrTypes struct helper failing to
1208 detect both pointer types.
1210 - Fixed set specialization thanks to explicit instanciation added
1211 in ptrspec_test.cpp.
1213 - Refactoring of algorithm to find storage type from value type.
1215 2006-06-02 Francois Dumont <dums@stlport...>
1217 * build/Makefiles/nmake: Patch from Ulrich Eckhardt for
1218 cleanup. Some script refactoring, wrong OPT_STLDBG_STATIC references
1219 replaced by OPT_STATIC_STLDBG.
1221 * src: Patch from Ulrich Eckhardt to cleanup locale implementation
1222 and fix time facet creation when using dummy locale implementation.
1224 * stlport/stl/config/_evc.h: Patch from Ulrich Eckhardt to fix
1225 endianess definition.
1227 * stlport/stl/debug/_hashtable.h: Create a _DbgEqual functor to
1228 check correct equivalent predicate implementation. Add also
1229 missing hash_func and key_eq methods in this mode.
1231 * stlport/stl/debug/_tree.h: Small refactoring in _DbgCompare
1234 * stlport/stl/type_traits.h, boost_type_traits.h: Restore boost
1237 2006-06-01 Francois Dumont <dums@stlport...>
1239 * stlport/stl/_tree.h, _set.h, _map.h, debug/_tree.h: Removed
1240 erase template method extension, might conflict with erase
1241 overload taking an iterator. User workaround will be to use
1244 * stlport/stl/_hashtable.h, _map.h, _set.h, _unordered_set.h,
1245 _unordered_map.h, debug/_hastable.h: Add template methods extension.
1247 * stlport/stl/config/features.h: Add management of containers template
1250 * stlport/stl/config/_apple.h, _symantec.h: Config update based on
1251 config that used to be in _tree.h and _hashtable.h to remove
1252 container template methods extensions.
1254 2006-05-31 Francois Dumont <dums@stlport...>
1256 * stlport/stl/config/_evc.h: Patch from Michael Fink to add ptrdiff_t
1257 definition and forbid use of _STLP_DEBUG mode for evc 3/4 on ARM.
1259 * build: Ulrich Eckhardt patch for Microsoft Visual Studio 2005 for
1260 Embedded C++ portage.
1262 2006-05-30 Francois Dumont <dums@stlport...>
1264 * stlport/stl/type_traits.h: Rename _Is_Integer<_Tp>::_Integral and
1265 _Is_Rational<_Tp>::_Rational in respectively _IsIntegral<_Tp>::_Ret
1266 and _IsRational<_Tp>::_Ret for naming convention coherency.
1268 * stlport/stl/type_traits.h: Add _TrivialNativeTypeCopy helper to
1269 handle a number of oportunities to use memcpy/memmove in
1270 uninitialized_* or copy algorithms that was not cover by simply
1271 checking type_traits has_trivial* features.
1273 * stlport/stl/type_traits.h, boost_type_traits.h: Refactor _BothPtrType
1274 implementation, only one version is necessary as it uses _IsPtr that
1275 has a variable implementation depending on config.
1277 * stlport/stl/_vector.h: Add _DefaultZeroValue specialization for
1278 vector container so that a vector of vector is simply initialized
1279 using a memset to set everything to 0.
1281 * test/unit/vector_test.cpp: Add check that previous optimization
1284 * stlport/typeinfo.h: Borland patch from Eric Sanford.
1286 * DMC patch from Eric Sanford
1288 * stlport/stl/debug/_tree.h: Patch from Ulrich Eckhardt to add missing
1289 count template method.
1291 * src/dll_main.cpp: Patch from Ulrich Eckhardt to fix strncpy
1294 2006-05-23 Francois Dumont <dums@stlport...>
1296 * stlport/stl/_deque.h, _deque.c: Change implementation to use
1297 _TrivialInit new feature.
1299 * stlport/stl/boost_type_traits.h: Add _TrivialInit implementation
1300 using boost type traits.
1302 2006-05-22 Francois Dumont <dums@stlport...>
1304 * stlport/stl/type_traits.h: Add _TrivialInit helper struct to
1305 report if a type is trivial to initialize or not that is to say
1306 if the type has a trivial default constructor. Handle native types
1307 exception that are consider as having a trivial default constructor
1308 but that required a 0 initialization on explicit constructor
1311 * stlport/stl/_uninitialize.h: Add a helper function
1312 __uninitialize_init that result in a no-op if _TrivialInit returns
1315 * stlport/stl/_vector.h: Modification of vector constructor to
1316 destect when it is called without an explicit default value so
1317 that we can call __uninitialized_init.
1319 * test/unit/uninitialized_test.cpp: Add test to check correct
1320 detection of useless initialization.
1322 2006-05-19 Francois Dumont <dums@stlport...>
1324 * test/unit/uninitialized_test.cpp: Patch from Ulrich Eckhardt
1325 to replace vector instance in uninitialized_copy_test by static
1326 array so that we are always working on pointers iterator.
1328 * stlport/stl/_string_operators.h: Patch from Ulrich Eckhardt to
1329 add missing != operators when using string template expression.
1331 * stlport/stl/ctype.h, config/_evc.h, _msvc.h, _windows.h,
1332 features.h: Patch from Michael Fink for evc3/4 platform.
1334 * test/unit/mvctor_test.cpp: Add of a specific Borland test case
1335 to report what seems to be a compiler bug but that is only
1336 revealed when using STLport.
1338 * stlport/stl/_tree.h, _set.h, _map.h, debug/_tree.h,
1339 pointer/_set.h: Generalized already existing extension of template
1340 find method on associative containers to all look up methods:
1341 count, erase, lower_bound, upper_bound, equal_range.
1343 * test/unit/set_test.cpp: Add test case for set template methods
1346 * stlport/stl/_tree.c, debug/_tree.h: Removed debug check from
1347 non debug implementation, now debug check is injected in tree
1348 implementation from the tree debug implementation thanks to
1349 a wrapping of the predicate.
1351 2006-05-18 Francois Dumont <dums@stlport...>
1353 * stlport/stl/c_locale.h: Fix declaration of _Locale_name_hint
1354 struct so that compilers do not think that this struct is in
1355 the STLport namespace because of friend declaration.
1357 2006-05-17 Francois Dumont <dums@stlport...>
1359 * stlport/stl/_abbrevs.h: Update list of abbreviations.
1361 * stlport/stl/_hashtable.c: Removed _Node macro and fixed
1362 macros defined when _STLP_NESTED_TYPE_PARAM_BUG is defined.
1364 2006-05-16 Francois Dumont <dums@stlport...>
1366 * test/unit/type_traits_test.cpp: Add test case to check
1367 _TrivialUCopy helper metaprogramming class behavior.
1369 * stlport/stl/_vector.h, _vector.c: Replaced _TrivialAss by
1370 _TrivialCopy and _TrivialUCpy by _TrivialUCopy for coherency
1371 with type_traits.h names.
1373 * test/unit/type_traits_test.cpp: Add small test for correct
1374 impact of trivial_destructor meta info in vector implementation.
1376 * build/lib/configure.bat: Add comment to explain weird TARGETCPU
1379 2006-05-15 Francois Dumont <dums@stlport...>
1381 * stlport/stl/_hashtable.h, _list.h, _deque.h, _slist.h,
1382 _string.h, _vector.h, _move_construct_fwk.h, _rope.h:
1383 Fix impact of _STLP_NO_MOVE_SEMANTIC macro on library. Now,
1384 if defined, no move will ever happen.
1386 * stlport/stl/_uninitialized.h: Simplified __uninitialized_copy_fill
1387 prototype, only one type of iterator is allowed. It also fix
1388 implementation as this one was not taking into account both
1389 iterator value_type to consider if the operation was trivial
1392 * stlport/stl/_uninitialized.h: Major code review. Remove use of
1393 _OKToMemcpy, remove dependency on std::copy of std::fill, all
1394 implementation is now similar to the one of std::copy algorithms
1395 except that uninitialized algo are using
1396 __type_traits::has_trivial_copy_constructor meta information and
1397 copy __type_traits::has_trivial_assign_operator.
1399 * test/unit/deque_test.cpp, vector_test.cpp: New test case for
1400 over optimization problem.
1402 * test/unit/map_test.cpp, locale_test.cpp, list_test.cpp, slist_test.cpp,
1403 unordered_test.cpp, fstream_test.cpp, stack_allocator.h: Fixed
1404 implementation to build with _STLP_NO_MEMBER_TEMPLATES.
1406 * stlport/stl/debug/_vector.h, _list.h: Add non template assign
1407 methods used when _STLP_NO_MEMBER_TEMPLATES is defined.
1409 * stlport/stl/_slist.c: Fixed sort _Slist_sort implementation, now
1410 call _Slist_merge template function rather than slist::merge method
1411 as this method do not take any predicate when _STLP_NO_MEMBER_TEMPLATES
1414 * build/test/unit/Makefile.inc, test/unit/uninitialized_test.cpp:
1415 New test for uninitialized_copy algo.
1417 * stlport/stl/type_traits.h: OKToMemCpy rename in _TrivialCopy for
1418 coherency with _TrivialUCopy. Moreover, thanks to refactoring in
1419 uninitialized_* algorithms, _TrivialUCopy now only takes into account
1420 __type_traits::has_trivial_copy_constructor meta information and
1421 not has_trivial_assign_operator.
1423 * stlport/stl/boost_type_traits.h: Fixed to reflect STLport
1424 __type_traits modifications.
1426 * stlport/stl/_uninitialized.h: Major code review proposed by
1429 * stlport/stl/_algobase.h, _deque.h, _deque.c, _vector.h, _vector.c,
1430 _rope.h, _rope.c, _string.h, _string.c: Impact of previous point.
1432 2006-05-05 Francois Dumont <dums@stlport...>
1434 * test/unit/iter_test.cpp: Removed unreachable code.
1436 * Introduction of a new configuration macro _STLP_MSVC_LIB
1438 This macro is set to _MSC_VER value but can be overloaded to
1439 an other value. First intension was to make STLport more flexible
1440 for Intel C++ compiler. This compiler comes without any native
1441 lib and you have to bind it to a MSVC install, Intel compiler
1442 generate MSVC compatible code so that MSVC linker can correctly
1443 generate final exe or dll. To mimic MSVC compiler ICL also defines
1444 _MSC_VER. The problem is that definition of this macro is based
1445 on a compiler option and do not necessarily reflect the MSVC lib
1446 version ICL is binded to. Fortunately the compiler options
1447 responsible of _MSC_VER definition (/Qvc6, /Qvc7...) is also
1448 responsible of name mangling so asking for a MSVC compiler
1449 compatibility different than the library ICL is binded to is
1450 not easy. But _STLP_MSVC_LIB has been kept as it makes STLport
1451 configuration more clean. Now MSVC compiler version is given
1452 by _STLP_MSVC macro and library version by _STLP_MSVC_LIB.
1453 All occurences of _MSC_VER in STLport code has been replaced
1456 * _STLP_USE_SECURIZED_BUF_FUNCTIONS replaced by the more
1457 intuitive _STLP_USE_SAFE_STRING_FUNCTIONS.
1459 * stlport/stl/config/_msvc.h: Major refactoring to isolate
1460 MSVC compiler config and MSVC native library config.
1462 2006-05-04 Francois Dumont <dums@stlport...>
1464 * build/lib/configure.bat: And information to the --lib-motif
1465 option as advised by Ulrich Eckhardt. Add option parameter and
1466 relation with _STLP_LIB_NAME_MOTIF.
1468 * src/messsage_facets.h: Removed implementation of private copy
1469 constructor and assignment operator.
1471 * src/c_locale_win32/c_locale_win32.c: Made
1472 _Locale_extract_category_name locale function static.
1474 * src/vc_warning_disable.h renamed in warning_disable.h as it is
1475 used by other compilers too (ICL)
1477 * build/lib/msvc.mak, evc.mak: Removed forced inclusion of
1478 vc_warning_disable.h file. Now this file is included from
1481 * build/test/unit/msvc.mak, evc.mak: Replace vc_warning_disable.h
1482 reference by warning_disable.h.
1484 * src/stlport_prefix.h: Add inclusion of warning_disable.h.
1486 2006-05-01 Francois Dumont <dums@stlport...>
1488 * test/unit/vector_test.cpp, deque_test.cpp, string_test.cpp:
1489 Removed unreachable code, reported by ICL 9.0.
1491 * test/unit/mvctor_test.cpp: Removed variable declaration hiding
1492 previous one + made local functions static.
1494 * stlport/stl/config/_msvc.h: Only use abbreviate symbols for
1495 MSVC compiler and not for all compilers defining _MSC_VER. Also
1496 removed some ICL specific configuration.
1498 * src/lock_free_slist.h: Removed 'no return statement' warning
1501 * src/message_facets.h: Made _Message_impl copy constructor and
1502 assignment operator private to avoid warning as _M_cat member
1503 data has private copy constructor and assignment operator too.
1505 * stlport/stl/_cstdlib.h: Made additional definition of
1506 div(long, long) based on native library (_MSC_VER) rather than on
1507 compiler used (_STLP_MSVC).
1509 * stlport/stl/config/_intel.h: Fix Intel C++ 9.0 compiler
1510 configuration with and without /Qvc6 option.
1512 * src/dll_main.cpp: Add std::unexpected implementation that ICL
1513 need but that is not part of MSVC6 native lib library.
1515 * test/unit/test_main.cpp: Add std::unexpected implementation that
1516 ICL need but that is not part of MSVC6 native lib library.
1518 2006-04-30 Francois Dumont <dums@stlport...>
1520 * stlport/stl/_alloc.h: Moved __type_traits specialization for
1521 std::allocator class before use in _STLP_alloc_proxy
1524 * test/unit/istmit_test.cpp: Fixed macro checks to correctly
1525 report ignored test.
1527 2006-04-27 Francois Dumont <dums@stlport...>
1529 * test/unit/full_streambuf.h, deque_test.cpp, vector_test.cpp:
1530 Add STLPORT macro check when checking _STLP_USE_EXCEPTION macro.
1532 * test/unit/string_test.cpp: Fix some macro checks to correctly
1533 report ignored tests.
1535 * test/unit/mvctor_test.cpp: Fix tests to build it with native
1536 MSVC 2005 Standard library. Looks like this implementation do
1537 not follow atmortized constant time vector::push_back complexity.
1539 * stlport/stl/config/_msvc.h: Clearly report status regarding build
1540 of STLport using the MSVC /clr option.
1542 * stlport/stl/_threads.h: Remove MSVC .Net 2002 annoying warning.
1544 2006-04-26 Francois Dumont <dums@stlport...>
1546 * src/ctype.cpp: Fix ctype::scan_is and scan_not method behavior as
1547 required by C++ Standard 22.2.1.1.2.
1549 * test/unit/locale_test.cpp: Fix ctype facet test according
1550 modifications above.
1552 2006-04-25 Francois Dumont <dums@stlport...>
1554 * stlport/stl/_istream.c: Small refactoring to avoid a uninitialized
1555 warning for __do_handle_exceptions local variable.
1557 * stlport/stl/_deque.h: Ditto with __cur_node variable in
1558 _M_range_initialize method.
1560 * stlport/stl/_deque.c: Ditto with __cur in _M_fill_initialize.
1562 * stlport/stl/config/_auto_link.h: Removed auto link feature when
1563 building a C translation unit thanks Michael Fink.
1565 * src/time_facets.cpp: Add missing calling convention on
1566 __write_formatted_time internal function.
1568 2006-04-24 Francois Dumont <dums@stlport...>
1570 * test/unit/cppunit/cppunit_mini.h: Limit scope of try/catch block to
1571 the test case call so that CppUnit function methods are correctly
1574 * test/unit/type_traits_test.cpp: Fix use of
1575 CPPUNIT_IGNORE/CPPUNIT_STOP_IGNORE macros so that ignored tests are
1576 correctly reported as ignored.
1578 2006-04-20 Francois Dumont <dums@stlport...>
1580 * stlport/stl/config/_solaris.h: Replace C++ style comment
1583 * stlport/stl/_cmath.h: Add macro definition for environment
1584 having long double but no float neither long double math functions
1585 This is a Solaris configuration.
1587 * src/acquire_release.h, c_locale.h, locale.cpp,
1588 locale_catalog.cpp, locale_impl.cpp, locale_impl.h,
1589 message_facets.h, facets_byname.cpp: Add a locale hint feature
1590 to improve locale construction from name. This is used by
1591 Win32 locale implementation that broadcast the locale lcid
1592 thanks to this hint. With this modification, LocaleTest fixture
1593 runs 5 times faster.
1595 * stlport/stl/_collate.h, _ctype.h, _monetary.h, _numpunct.h,
1596 _time_facets.h: Add _Locale_extract_hint function as friend
1597 to some locale facet in order to access locale implementation
1598 specific structure and potentially extract the hint.
1600 * stlport/stl/_codecvt.h, _collate.h, _ctype.h, _messages_facets.h,
1601 _monetary.h, _numpunct.h, _time_facets.h: Add _Locale_name_hint pointer
1602 parameter to facet by name constructor.
1604 * build/Makefiles/nmake/lib/clean.mak, rules-so.mak, rules-install-so.mak:
1605 Based on Dr Dobb's Richard Grimes article, change management of
1606 manifest file for STLport shared library. According this article
1607 .manifest file is not taken into account for a library, only .exe one is.
1608 Solution is to integrate .manifest file into the .dll as an unmanaged
1609 ressource with id 2. We now do so thanks to the mt manifest tool.
1611 * stlport/stl/_pair.h: Remove __move_traits partial specialization for
1612 Borland free compiler, it was introducing weird compilation error.
1614 * stlport/stl/_move_construct_fwk.h: Add a helper struct for __move_traits
1617 * build/test/unit/msvc.mak: Prepare makefile to easily build unit tests
1620 2006-04-15 Francois Dumont <dums@stlport...>
1622 * stlport/stl/config/host.h, compat.h, debug/_debug.c: Removed
1623 _STLP_NO_DEBUG_EXCEPTIONS configuration macro that is similar
1624 to the new _STLP_DEBUG_MODE_THROWS except that new thrown macro
1625 is catchable (std::runtime_error exception) and contained message
1628 * stlport/stl/debug/_tree.h: Add find template method STLport
1629 extension to the debug version of binary tree thanks Mike Flamming.
1631 2006-04-11 Francois Dumont <dums@stlport...>
1633 * src/complex_io_w.cpp: Removed, content moved to src/complex_io.cpp
1634 to avoid build of an empty translation unit that can generate linker
1635 warning (noticed with MSVC 2005 express)
1637 * build/lib/Makefile.inc: Updated before of above modification.
1639 * test/unit: Ignore many tests rather than hide it depending on
1640 build configuration.
1642 * test/unit/cppunit/file_reporter.h: Restored output existing before
1643 introduction of monitoring feature.
1645 2006-04-10 Francois Dumont <dums@stlport...>
1647 * test/unit/cppunit/cppunit_timer.h, test_main.cpp, file_reporter.h:
1648 Add -m option to activate monitoring of unit tests. This option add
1649 timing for each test and a global timing information. Timer class has
1650 been created for Win32 API.
1652 * stlport/stl/_bitset.h: Hide STLport bitset extensions _Find_first
1655 * test/unit/bitset_test.cpp: Adapt tests to previous modification.
1657 * stlport/stl/_string.h: Replace memory include with stl/_alloc.h
1658 to limit header dependencies. Also add include of stl/_uninitialized.h.
1660 * test/unit/fstream_test.cpp: Add missing memory include.
1662 * test/unit/locale_test.cpp: Ditto.
1664 * stlport/stl/_queue.h, _string.h, _rope.h, debug/_tree.h: Replace
1665 stl/_function.h include with the smaller _function_base.h include.
1667 2006-04-07 Francois Dumont <dums@stlport...>
1669 * stlport/stl/_new.h: Fixed management of _STLP_NO_BAD_ALLOC
1670 and _STLP_NEW_DONT_THROW_BAD_ALLOC macros.
1672 * stlport/stl/config/_dm.h: Change DMC configuration, use STLport
1673 own namespace rather than std so that STLport can check config.
1675 * stlport/typeinfo.h: Fix DMC configuration now that it uses own
1678 2006-04-05 Francois Dumont <dums@stlport...>
1680 * stlport/stl/_tree.h, _list.h: Fixed swap implementation to
1681 correctly swap allocators instance. Moreover list swap implementation
1682 was wrong since list splice has been modified to correctly handled
1683 allocators with state.
1685 * test/unit/slist_test.cpp, list_test.cpp, set_test.cpp: Add tests for
1688 * stlport/stl/_deque.h: Fix swap method as deque has 2 allocator
1689 instances, this should perhaps be modified one day to only keep 1...
1691 * stlport/stl/_rope.h: Fix swap method and removed assertion for
1692 equivalent allocator instances even if there are still other assertions
1693 in the implementation.
1695 * stlport/stl/_function_base.h: Add swap method for less functor if
1696 partial template workaround is activated. This is for surprising
1697 compilers supporting partial template specialization but no template
1698 function partial ordering.
1700 * stlport/stl/_algobase.h: Add Borland workaround for swap function
1701 thanks Eric Sanford.
1703 * test/unit/type_traits_test.cpp: Borland workaround for is_convertible
1704 function thanks Eric Sanford.
1706 * stlport/stl/config/_bc.h: Borland compilers do not support template
1707 function partial ordering thanks Eric Sanford.
1709 * test/unit/stack_allocator.h: Add Borland workaround to correctly
1710 call StackAllocator::swap method when swaping STL containers in
1711 allocator_with_state tests.
1713 * test/unit/config_test.cpp: New test
1714 ConfigTest::template_function_partial_ordering.
1716 * test/unit/slist_test.cpp, list_test.cpp, set_test.cpp: Add swap tests
1717 with empty containers.
1719 * src/vc_warning_disable.h: Remove deprecated comments.
1721 * stlport/stl/_pair.h: Removed Borland checks thanks Eric Sanford.
1723 * Patch from Michael Fink to remove Windows CE support that is
1724 no more supported by Microsoft.
1726 * stlport/stl/config/_native_headers.h: New, contains all macros
1727 relative to native headers access that used to be in features.h.
1729 * stlport/stl/config/_evc.h, _como.h: Add include of _native_headers.h
1730 as those compilers need to include native headers for correct
1733 * stlport/stl/config/features.h: Use _native_headers.h.
1735 * test/unit/locale_test.cpp: Made LocaleTest::facet_id test STLport
1736 specific rather than Borland specific. Moreover, without STLport, test
1737 is ignored rather than hidden.
1739 * stlport/stl/_num_put.h, _num_put.c: Removed useless export of
1740 num_put<char, char*>, num_put<wchar_t, wchar_t*> not required by
1743 * stlport/stl/_num_get.h, _num_get.c: Ditto for
1744 num_get<char, const char*>, num_get<wchar_t, const wchar_t*>
1746 * stlport/stl/_moneytary.h, _moneytary.c: Ditto for
1747 money_get<char, const char*>, money_get<wchar_t, const wchar_t*>,
1748 money_put<char, char*>, money_put<wchar_t, wchar_t*>
1750 * stlport/stl/_time_facets.h, _time_facets.c: Ditto for
1751 time_get<char, const char*>, time_get<wchar_t, const wchar_t*>,
1752 time_put<char, char*>, time_put<wchar_t, wchar_t*>
1754 * src/locale_impl.cpp: Removed id initialization of useless facets
1757 * stlport/new, stl/_new.h: Moved all STLport code in _new.h and
1758 modified new header so that it forwards include to native new
1759 when include comes from inside STLport.
1761 * cppunit/file_reporter.h, cppunit_mini.h: Change support of
1762 CPPUNIT_CHECK macro, only report error once for all failures
1763 in a single test case.
1765 2006-03-28 Francois Dumont <dums@stlport...>
1767 * stlport/stl/_prolog.h: Fix macro check before inclusion of
1770 * stlport/stl/char_traits.h: Fixed include of cstddef, in STLport
1771 code, Standard headers should never be included directly, their
1772 stlport/stl/_xxx.h counterpart should be used.
1774 * stlport/stl/type_traits.h, type_manip.h: Patch from Eric Sanford
1775 for Borland compiler to fix _OKToMemCpy feature.
1777 * stlport/stl/_alloc.h: Replace swap function for _STLP_alloc_proxy
1778 by a member method, it is more portable.
1780 * stlport/stl/_bvector.h, _deque.h, _list.h, _slist.h, _string_base.h
1781 _tree.h: Replaced called to std::swap for _STLP_alloc_proxy instances
1782 by calls to member swap method.
1784 * test/unit/hash_test.cpp: Ignore test rather than hide it.
1786 * test/unit/map_test.cpp: Fixed StackAllocator instanciation.
1788 * test/unit/stack_allocator.h: Add std::swap overload for
1789 StackAllocator<pair<const int, int>>.
1791 * test/unit/string_test.cpp: Ignore tests rather than hide it.
1793 * test/unit/unordered_test.cpp: Ditto.
1795 2006-03-27 Francois Dumont <dums@stlport...>
1797 * stlport/stl/_stdexcept_base.h: New internal header with
1798 __Named_exception implementation, improve segregation between
1799 <locale> and <stdexcept> Standard headers.
1801 * test/unit/locale_test.cpp: Add missing <stdexcept> header include.
1803 * stlport/stl/_function_base.h, _function.h: Move as many functor as
1804 possible from _function_base.h to _function.h to improve
1805 segregation between <functional> and <algorithm> Standard headers.
1807 * test/unit: Add many missing references to <functional> header.
1809 * test/unit: Made unit tests available for build without STLport, this
1810 will be a good way to compare Standard library implementations.
1812 * stlport/stl/_string_base.h: Remove additional space for terminating
1813 null character, it was actually already reserved in the return
1816 * stlport/stl/_string.h: Restored basic_string capacity implementation
1817 that do not depend on use of the short string optimization or not. It
1818 might be hiding a real issue somewhere else in code even if unit tests
1819 are not showing any problem.
1821 * stlport/stl/_alloc.h: Add swap overload for _STLP_alloc_proxy class
1822 in order to correctly call swap on the maybe rebound allocator as user
1823 that implement an allocator with a state might have implement a
1824 special swap function for it to correctly handle STL containers swap
1827 2006-03-24 Francois Dumont <dums@stlport...>
1829 * build/lib/configure.bat: Removed script for defining INCLUDE
1830 environment variable for Borland ressource compiler as it depends
1831 on where STLport is install.
1833 * build/lib/bcc.mak: Add check for INCLUDE environment variable
1836 * test/unit/string_test.cpp: Change basic_string::reserve test to
1837 check length_error exception rather than bad_alloc.
1839 2006-03-22 Petr Ovtchenkov <complement@users.sourceforge.net>
1841 * stlport/stl/_string.c: a bit code clean
1843 * stlport/stl/_string_base.h: max_size should keep space for
1844 allocation of terminating null.
1846 2006-03-19 Francois Dumont <dums@stlport...>
1848 * stlport/stl/_alloc.h, _function_base.h, type_manips.h,
1849 type_traits.h, test/unit/type_traits_test.cpp: Patch for
1850 Eric Sanford for __bool2type Borland use.
1852 * build/Makefiles/gmake/lib/clean.mak: Patch from Eric Sanford
1853 to fix files generated by dbg-shared and stldbg-shared rules.
1855 * build/Makefiles/gmake/lib/bcc.mak: Patch from Eric Sanford to
1856 increase Borland page size to 64.
1858 2006-03-16 Francois Dumont <dums@stlport...>
1860 * stlport/stl/config/_evc.h, _msvc.h: Add some condition for
1861 definition of _STLP_MSVC macro which should only be defined for
1862 real Microsoft compilers and not for compiler emulating it.
1864 * src/allocators.cpp: Use _STLP_STATIC_MUTEX macro in place
1865 of _STLP_mutex_base for mutex definition in per_thread_allocator
1868 * stlport/stl/_pthread_alloc.h: Modified deallocate methods of
1869 pthread_allocator and per_thread_allocator implementation to accept
1872 2006-03-15 Francois Dumont <dums@stlport...>
1874 * stlport/stl/_string_base.h, _string.c: Force call to
1875 _M_allocate_block even in short string optim mode in order
1876 to detect lenght error. Based basic_string max size implementation
1877 on allocator max_size.
1879 2006-03-15 Petr Ovtchenkov <complement@users.sourceforge.net>
1881 * stlport/stl/config/_system.h, _msvc.h, _evc.h: move _STLP_MSVC
1882 definition in proper place.
1884 2006-03-14 Francois Dumont <dums@stlport...>
1886 * src/allocators.cpp: Fixed thread safety issue in
1887 per_thread_allocator implementation thanks a very old William
1890 * test/unit/allocator_test.cpp: Attempt to write a test case for
1891 previous bug but not yet complete as I need a better debugging
1892 environment than gdb under cygwin...
1894 * stlport/stl/config/_system.h: Patch from Michael Fink to add
1895 missing _STLP_MSVC define for evc++ compilers.
1897 2006-03-13 Francois Dumont <dums@stlport...>
1899 * stlport/stl/_alloc.h, src/allocators.cpp: Hide declaration of
1900 malloc based allocator handler in library. Also limit scope of
1901 declspec to expose static members rather than the whole class.
1903 * stlport/stl/_cstdlib.h: For Borland compiler add include of
1904 native process.h header, for reason see comment next to include
1907 * stlport/stl/_alloc.h: Add a new STLport extension to the
1908 std::allocator class: allocate(size_type, size_type&). This new
1909 overload of allocate returns in an output parameter, the real
1910 size of the allocated buffer that can be larger than the requested
1911 one. _STLP_alloc_proxy expose this new overload only for the
1912 STLport allocator and not for user defined allocators.
1914 * stlport/stl/_vector.h, _vector.c, _string.h, _string.c: Use of the
1915 allocate overload extension method to set end of storage reference
1916 to the real memory block end rather than to the requested one.
1918 * stlport/stl/_alloc.c: Adapt __debug_alloc::allocate method in order
1919 to return the real allocated memory block. Also add check on computed
1920 __real_n to allocate as it might roll on size_t and hide a case that
1921 should result in a bad_alloc exception.
1923 * stlport/stl/_threads.h, src/allocators.cpp: Add WINVER macro
1924 check in addition to _WIN32_VERSION, according PSDK documentation
1925 WINVER is more generaly used accross different Windows platforms.
1927 * test/unit/string_test.cpp: Add constructor test case to correctly
1928 handle build of a string with string::max_size elements which should
1929 result in a bad_alloc exception. Idem for reserve method.
1931 * stlport/stl/_alloc.h, src/allocators.cpp: Add check of malloc
1932 result in __malloc_alloc implementation to throw an exception when
1935 * src/locale_impl.cpp: Patch from Eric Sanford for Borland BDS 2006
1936 support. Mostly fix locale facet index issues.
1938 2006-02-28 Petr Ovtchenkov <complement@users.sourceforge.net>
1940 * stlport/stl/_string.h: capacity may return wrong value in case
1941 of no _STLP_USE_SHORT_STRING_OPTIM in use; thanks Rusty Koonce
1944 * test/unit/string_test.cpp: test for capacity issue.
1946 * src/cxa.c: don't use cxa workaround for FreeBSD 6.0---it fine;
1947 this is rollback of changes 2006-01-24 [bad compiler was in use].
1949 2006-02-15 Petr Ovtchenkov <complement@users.sourceforge.net>
1951 * stlport/stl/_string.h: _STLP_FORCE_STRING_TERMINATION mode become
1952 default and only mode due to performance issue.
1954 * stlport/stl/config/user_config.h: ditto.
1956 * stlport/stl/config/features.h: ditto.
1958 2006-02-14 Francois Dumont <dums@stlport...>
1960 * stlport/stl/_hashtable.h, _hashtable.c: Add check in _STLP_DEBUG
1961 that equivalent key have same hash code. Fix _M_rehash method
1962 implementation that used to change elements order thanks Big Muscle
1963 effort to report this issue.
1965 * build/lib/configure: Fix reference to STLport configuration file
1966 in --no-cygwin option description.
1968 2006-02-13 Francois Dumont <dums@stlport...>
1970 * stlport: Patch from Eric Sanford to remove many now useless
1973 * src/fstream.cpp: ditto
1975 * stlport/stl/_monetary.h, _cwchar.h, _algobase.h: ditto
1977 2006-02-10 Francois Dumont <dums@stlport...>
1979 * stlport/stl/_iosfwd.h, _locale.h: Removed type attributes on type
1980 declaration, only useful on type definition.
1982 * src/message_facets.h: Removed unused parameter in _Catalog_nl_catd_map
1983 erase method to avoid warning.
1985 * src/num_put_float.cpp: Use more macro technique to avoid unused parameters
1988 * test/unit/cppunit/cppunit_mini.h: Comment unused parameter.
1990 * test/unit/cppunit/file_reporter.h: Add base class initialization
1991 in FileReporter copy constructor definition.
1993 2006-02-10 Petr Ovtchenkov <complement@users.sourceforge.net>
1995 * src/num_put_float.cpp: remove usage of static buffers
1996 [potential vulnerabilities]; directly use __iostring instead.
1998 * test/unit/floatio_test.cpp: test for fixed float output;
1999 cases when fixed float fail on Linux and Solaris, related
2000 with fcvt_r and fconvert calls respectivly commented.
2002 * build/Makefiles/gmake/gcc.mak: workaround for bug in make 3.79.1
2003 on Solaris [not pass -D_STLP_DEBUG to CPPFLAGS].
2005 * stlport/stl/_string.h: rollback 2006-01-25.
2007 2006-02-08 Francois Dumont <dums@stlport...>
2009 * build/Makefiles: Removed all references to BUILD=r in parameters
2010 to ressource compiler in release as there is no more 'r' appended
2011 to the library name in this mode.
2013 * src/stlport.rc: Fix support for Borland and add check for BUILD
2014 definition before injecting it in original library file name.
2016 * doc/README.borland: Update doc to signal new prerequisite for
2017 Borland ressource compiler.
2019 * test/unit/unordered_test.cpp: Add test for unordered_multiset
2022 * test/unit/partial_test.cpp: Add test for strict weak ordering
2023 predicate good behavior check.
2025 2006-02-07 Francois Dumont <dums@stlport...>
2027 * src/allocators.cpp: New simplification for _Node_Alloc_Lock,
2028 it do not have to be a template class anymore.
2030 * stlport/stl/debug/_debug.c: Implement
2031 __stl_debug_engine<_Dummy>::_Message even when specifying
2032 _STLP_DEBUG_MESSAGE in order to have explicit instanciation correctly
2035 * stlport/stl/_heap.c, _tree.c, _list.c, _slist.c: Add strict
2036 weak ordering checks.
2038 * stlport/stl/_debug.h, _debug.c: Add new error type: bad equivalent
2039 functor that has to be used in hash container implementation or in
2040 algorithm like find. Check for this functor is:
2041 if (pred(a, b)) assert(pred(b, a)
2043 * stlport/stl/_hashtable.c: Add equivalent functor checks.
2045 * stlport/stl/_debug.h, _debug.c: Check _STLP_DEBUG_MODE_THROW in
2046 __debug_engine::_Message method. Now thrown exception will contain
2047 description of the assertion rather than a generic message.
2049 * build/Makefiles/gmake/bcc.mak: Fix Borland ressource compiler name,
2052 * stlport/stl/_range_errors.h, src/dll_main.cpp: Add
2053 __stl_throw_runtime_error function used to throw exception in
2054 _STLP_DEBUG_MODE_THROW.
2056 2006-02-06 Francois Dumont <dums@stlport...>
2058 * build/Makefiles/nmake: Fixed regression generated by a side
2059 effect of Uli patch below.
2061 2006-02-02 Francois Dumont <dums@stlport...>
2063 * stlport/config/_stl_evc.h, stl/_config.h: Patch from Ulrich
2064 Eckhardt to signal endianess detection problem and set EVC
2065 endianess for MIPS SDK.
2067 * src/allocators.cpp: Clean up _Node_Alloc_Lock definition, only
2068 specialization are now available for thread safe and not thread
2069 safe builds. Make easier definition of internal static mutex.
2071 * stlport/float.h: Patch from Eric Sanford for Borland NaN management
2073 * stlport/cfloat: Include STLport float.h rather than native one in
2074 order to use potential internal workaround.
2076 * stlport/stl/config/_ibm.h: Replace all C++ comment by C comments.
2078 * stlport/errno.h: For Borland, when building for a single threaded
2079 contex, errno is not a macro and is defined in std namespace so using
2080 have to get the symbol in this namespace.
2082 2006-01-31 Francois Dumont <dums@stlport...>
2084 * src/allocators.cpp: Reinforce move of allocators implementation
2086 * stlport/stl/_alloc.h: Removed include of internal _thread.h no
2087 more necessary now that allocator implementation is in allocators.cpp.
2089 * stlport/stl/_pthread_alloc.h: Removed pthread.h include.
2091 * stlport/stl/_rope.h: Adopt classic macro check before inclusion
2094 * build/Makefiles/gmake/gcc.mak: Add -fno-inline option for debug
2097 * stlport/stl/_threads.h: Remove lock free singly linked list, avoid
2098 include of windows.h when using Win32 API lock free slist
2101 * src/lock_free_slist.h: New place for the lock free singly linked
2102 list implementation.
2104 * test/unit/mvctor_test.cpp, type_traits_test.cpp: Small workaround
2105 for gcc 4.0.1 build, looks like there is a conflict between glibc++
2106 __true_type and STLport one.
2108 2006-01-30 Francois Dumont <dums@stlport...>
2110 * Patch from Ulrich Eckhardt for EVC4 ICE + some documentation
2113 2006-01-29 Francois Dumont <dums@stlport...>
2115 * stlport/stl/_hashtable.h, _limits.h: Add missing calling
2116 convention to static methods thanks Petr Supina
2118 2006-01-28 Francois Dumont <dums@stlport...>
2120 * stlport/stl/debug/_iterator.h: Fix Hp Acc configuration thanks
2123 2006-01-27 Francois Dumont <dums@stlport...>
2125 * stlport/stl/_alloc.h, _old_alloc.h, _pthread_alloc.h,
2126 test/unit/rope_test.cpp: Fixed reference to _STLP_NO_IOSTREAMS,
2127 replaced by _STLP_USE_NO_IOSTREAMS.
2129 * stlport/stl/_alloc.h: Move _MAX_BYTES definition out of
2130 _STLP_USE_NO_IOSTREAMS check scope as it is also used in deque
2133 * stlport/stl/_algo.c, debug/_debug.h, _debug.c: Add check for
2134 bad predicate in safe STL mode (_STLP_DEBUG).
2136 * test/unit/sort_test.cpp: Add test for correct invalid strict weak
2137 ordering predicate detection. Active only when STL safe mode throws
2138 exception rather than terminating application.
2140 * test/unit/sort_test.cpp: Add a check that stable_sort is really
2143 2006-01-26 Francois Dumont <dums@stlport...>
2145 * stlport/stl/_alloc.h, _alloc.c, _pthread_alloc.h: Many code moved
2148 * stlport/stl/_pthread_alloc.c: Removed, content moved to
2151 * src/allocators.cpp: New, contains STLport node and per thread
2152 allocator implementation.
2154 * src/dll_main.cpp: Remove references to former __node_alloc
2157 * build/lib/Makefile.inc: Add allocators.cpp translation unit.
2159 * stlport/stl/_alloc_old.h: Modified based on allocator classes new
2162 * stlport/stl/config/feature.h: Default allocator in _STLP_NO_IOSTREAMS
2163 mode is now the new/delete allocator, user can still use malloc/free
2164 one using config swtich in host.h.
2166 * stlport/stl/config/_gcc.h: Cygwin/MinGW can now use default node
2167 allocator implementation without memory leak.
2169 2006-01-25 Francois Dumont <dums@stlport...>
2171 * test/unit/stream_test.cpp: Add check for ptrdiff_t output
2172 in streams operator when 64 bits portability issue detection
2173 feature is activated with MSVC compilers.
2175 2006-01-25 Eric Sanford <...@comp...>
2177 * stlport/stl/_exception.h: Delete obsolete workaround for
2178 legacy Borland compilers.
2180 * stlport/stl/_string.h: Use an other implementation for the
2181 const_reference operator[](size_type _n) const
2183 * stlport/stl/config/_bc.h: Restore unexpected exception handler
2184 (static and dynamic) and uncaught_exception handler (static only)
2186 * build/Makefiles/gmake/lib/bcc.mak: Typo fix in linker flags.
2188 2006-01-24 Petr Ovtchenkov <complement@users.sourceforge.net>
2190 * test/unit/bind_test.cpp: add test for member function
2191 binding that show workaround for const function call.
2193 * src/cxa.c: __cxa_finalize and __cxa_atexit present in libc
2194 in FreeBSD 5.3, but again absent in 6.0
2196 * build/Makefiles/gmake/app/gcc.mak,
2197 build/Makefiles/gmake/lib/gcc.mak: detect whether gcc
2198 was builded with --disable-shared and use correct libgcc.
2200 * build/lib/configure: add --use-static-gcc option to show
2201 that STLport should use static language support libraries from
2202 gcc if it was build with --enable-shared.
2204 2006-01-23 Francois Dumont <dums@stlport...>
2206 * build/Makefiles/gmake/app/clean.mak: Fix distclean rule for
2207 windows thanks Eric Sanford.
2209 * stlport/stl/_cstddef.h, _cstdlib.h: When no new header support,
2210 include STLport C header rather than native one to use errno
2213 * stlport/stddef.h: DMC also define errno in native stddef.h file.
2215 2006-01-22 Francois Dumont <dums@stlport...>
2217 * src/locale_impl.cpp, stlport/stl/_codecvt.h, _monetary.c,
2218 _num_get.c, _num_put.c, _time_facets.c: Borland workaround for
2219 locale facet id instanciation that were duplicated. Now static
2220 instances are no more defined from .c files but only from the
2221 .cpp and only for facets that are implemented by STLport. Users
2222 implementing facet inheriting from the STLport one will have to
2223 defined the static instance themself in their translation units.
2225 * stlport/stl/type_manips.h: Fixed _UnCVType wrong implementation
2226 reported by Digital Mars compiler.
2228 * stlport/stl/boost_type_traits.h: Fixed _OKMemCpy implementation
2229 remove_pointer call was wrong.
2231 * src/dll_main.cpp: Hide force_link definition to MSVC compilers,
2232 was useless and producing a warning.
2234 * build/Makefiles/gmake/cygming/rules-so.mak: Workaround for DMC
2235 linker weird behavior. Linker create the dll file even if link
2236 fail which confuse make dependency feature. As lib file is not
2237 generated, dll now depends on lib that depends on build files.
2239 * stlport/stl/config/_warning_off.h: Disabled this used in initialization
2240 list warning, used in rope implementation.
2242 * build/lib/configure: Fix --with-boost interpretation.
2244 * build/Makefiles/gmake/dmc.mak: Use dm_link command for linker rather
2245 than link that is rather the MSVC like wrapper.
2247 * build/Makefiles/gmake/cygming/targetsys.mak: Ditto for dm_lib rather
2250 * build/Makefiles/gmake/app/rules.mak: Use same linker command invocation
2251 for DMC and Borland.
2253 * doc/README.borland: Documentation update about limitation on locale
2254 facets id instanciation.
2256 * stlport/stdlib.h: DMC, like Borland and EVC, defines errno macro
2259 * stlport/stl/config/user_config.h, features.h: Inverse
2260 _STLP_FORCE_STRING_TERMINATION macro switch in
2261 _STLP_DONT_FORCE_STRING_TERMINATION. This is less dangerous for
2264 * stlport/stl/_string.h: When _STLP_FORCE_STRING_TERMINATION
2265 is defined operator[] implementation is simpler.
2267 * stlport/stl/debug/_string.h: Based implementation of []
2268 operator on the non STL safe internal instance, avoid duplication
2269 of check for access to the element of index size().
2271 * test/unit/fstream_test.cpp: Add custom facet id definition for
2274 * test/unit/hash_test.cpp: Now Borland support correctly hash container
2277 * test/unit/rope_test.cpp: Fixed test implementation to build in
2278 _STLP_NO_IOSTREAMS mode.
2280 2006-01-18 Francois Dumont <dums@stlport...>
2282 * stlport/stl/_ostream.h, _ostream.c: Use size_t rather than
2283 unsigned int for MSVC compilers after VC6 in IO output operator
2284 to avoid 64 bits warning when trying to display a size_t type.
2286 * test/unit/sstream_test.cpp: Add test that reveal the 64 bits
2289 * test/unit/string_test.cpp: Fixed unused variable warning.
2291 2006-01-17 Petr Ovtchenkov <complement@users.sourceforge.net>
2293 * src/c_locale_glibc/c_locale_glibc2.c: really implemented
2294 getting default locale categories from environment; replace
2295 a few strcpy by strncpy to protect from possible buffer overflow
2298 * stlport/new.h, stlport/stl/_typeinfo.h: few workarounds for ICC 9
2299 [suggested by Lim Hwan Cheol].
2301 2006-01-14 Eric Sanford <...@comp...>
2303 * build/test/eh/bcc.mak: Copied from build/test/unit/bcc.mak.
2305 * stlport/stl/_rope.c: Restore Borland support for _Rope_rotate.
2307 * stlport/stl/_rope.h: Fix Borland 5.5.1 internal compiler errors
2308 in _M_path_end and _M_tmp_buf structs. Restore Borland support for
2311 * test/eh/test_rope.cpp: Restore Borland exception test for rope.
2313 * test/unit/rope_test.cpp: Restore Borland unit test for rope.
2315 2006-01-13 Petr Ovtchenkov <complement@users.sourceforge.net>
2317 * stlport/stl/_string.h, stlport/stl/debug/_string.h:
2318 const operator [n] should return CharT() in case of
2319 n == size(), ISO/IEC 14882:2003(E), 21.3.4; thanks Russ Miller.
2321 * test/unit/string_test.cpp: test for fixed bug above.
2323 * build/lib/configure: change --use-boost= onto --with-boost=
2325 2006-01-13 Francois Dumont <dums@stlport...>
2327 * test/unit/type_traits_test.cpp: Add boost specialization for
2328 any_pod_type in order to reproduce STLport behavior when using
2331 * src/dll_main.cpp: Remove now invalid template explicit
2332 instanciation of _Bs_G that is no more a template.
2334 * stlport/stl/config/_detect_dll_or_lib.h: When no iostreams mode,
2335 consider that we are in a static lib mode.
2337 * stlport/stl/_limits.c, _hashtable.c: Add _STLP_CALL specification
2338 to _LimG and _Stl_prime methods implementation.
2340 * stlport/stl/_limits.c: Put _Stl_prime methods implementation in
2341 a _STLP_EXPOSE_GLOBALS_IMPLEMENTATION macro check block. Those
2342 methods are supposed to come from libs when using iostreams.
2344 * stlport/stl/_num_put.h, _num_get.h, _time_facets.h, _ios.h,
2345 _ios_base.h: Cleanup Borland workaround now useless.
2347 * stlport/stl/boost_type_traits.h: Fixed _OKToMemCpy implementation
2348 using boost type traits to be closer to the STLport behavior.
2350 * build/lib/configure.bat: Fixed reference to STLport user
2353 * build/lib/configure: Add --use-boost option to inject boost
2354 path during build process.
2356 2006-01-12 Petr Ovtchenkov <complement@users.sourceforge.net>
2358 * stlport/stl/_rope.h, stlport/stl/_rope.c: pass CharConsumer
2359 via reference, to take into account CharConsumer modifications.
2360 This has relation to find(char) in rope. Thanks Cristian Vlasceanu.
2362 * test/unit/rope_test.cpp: test for fixed bug above.
2364 2006-01-11 Francois Dumont <dums@stlport...>
2366 * src/bitset.cpp: Add stlport_prefix.h include.
2368 * stlport/stl/_bitset.h: Add an inline implementation for _S_count
2369 and _S_first_one static methods for _STLP_NO_IOSTREAMS mode. Should
2370 be slower than version coming with library but avoid link trouble.
2372 2006-01-11 Petr Ovtchenkov <complement@users.sourceforge.net>
2374 * stlport/stl/_bitset.h, stlport/stl/_bitset.c, src/bitset.cpp:
2375 make helper structure _Bs_G non-template [it used only as instance
2376 with unused bool argument only], and put static tables into library
2377 to avoid possible static instances duplication.
2379 * build/lib/Makefile.inc: idem.
2381 2006-01-10 Francois Dumont <dums@stlport...>
2383 * stlport/stl/type_traits.h, config/_msvc.h, _mwerks.h: Integrate
2384 intrinsic type traits support for Visual 2005 and Metrowerk. Code
2385 based on boost library information and not tested for Metrowerk.
2387 * test/unit/bind_test.cpp: Fix BindTest::bind2nd3 test case, had
2390 * stlport/stl/boost_type_traits.h: Change boost type traits wrapping
2391 implementation to use meta programming operation on types rather
2392 than on numerical constant, MSVC6 prefer it.
2394 * build/test/unit/msvc.mak: Systematically add /Zm800 for MSVC
2395 compilers, useful in a number of case and transparent in others.
2397 * test/unit/type_traits_test.cpp: Add is_POD test case. Add dummy
2398 constructors, assignment operator and destructor to any_type struct
2399 to make the tests pass even with compilers having intrinsic type
2402 2006-01-09 Francois Dumont <dums@stlport...>
2404 * stlport/stl/debug: Fix move constructor to keep the container
2405 move constructor complete. When STLport user do no require no
2406 extension or Standard debug safe mode, iterators are also move
2407 with the container contents.
2409 * stlport/stl/_list.h, _slist.h, _tree.h: Made iterator struct
2410 constructor from base class pointer explicit to forbid expression
2411 like: list.begin() == 0.
2413 * stlport/stl/pointers/_slist.h, _list.h, _set.h: Fix implementation
2414 that was using former implicit contructor from pointer to base class.
2416 * src/c_locale_win32/c_locale_win32.c: Fix implementation for
2417 compilers coming with a native lib implementing secure C functions
2420 * src/iostream.cpp: Hide I/O streams declaration when defining
2421 them when compiler has no support for removing I/O streams
2422 from static global variable initialization segment. Avoid the
2423 stdio_istreambuf using directive when we do not use STLport
2426 * stlport/stl/_rope.h, _rope.c: Use internal, not _STLP_NO_EXTENSIONS
2427 dependant functions for implementation.
2429 * stlport/rope, hash_map, hash_set: Add _STLP_NO_EXTENSIONS check
2430 that generate a #error if defined as those headers are STLport
2433 * stlport/_uninitialized.h: Add __uninitialized_copy_n no dependant
2434 against _STLP_NO_EXTENSIONS for rope implementation.
2436 * test/unit: Made tests ok to build even when _STLP_NO_EXTENSIONS or
2437 _STLP_NO_ANACHONISM or _STLP_NO_CUSTOM_IO is defined.
2439 * stlport/stl/_num_put.h, _num_get.h: Fix definition scope of
2440 _STLP_MOVE_TO_STD_NAMESPACE that was wrong when _STLP_NO_CUSTOM_IO
2443 * stlport/stl/boost_type_traits.h: Fixed _IsRef implementation based
2444 on boost type traits feature.
2446 * build/nmake/extern.mak, lib/msvc.mak, test/unit/msvc.mak,
2447 test/eh/msvc.mak: Moved injection of boost include path for all targets
2448 in extern.mak. Also removed a useless double quote as make variable already
2451 * stlport/stl/config/_bc.h, test/unit/floatio_test.cpp, cmath_test.cpp,
2452 limit_test.cpp: Borland patch from Eric Sanford.
2454 * test/unit/string_test.cpp: Add template_wexpression test to check
2455 wstring template expression.
2457 2006-01-05 Francois Dumont <dums@stlport...>
2459 * stlport/stl/_stdexcept.h: Fix __Named_exception destructor
2460 implementation when _STLP_NO_IOSTREAMS is defined or when
2461 securized C function strcpy_s exists.
2463 * stlport/stl/pointers/_set.h: Fixed implementation as _Identity
2464 is now in private namespace and const_reverse_* functions must
2465 return const_reverse_* iterators and not simply reverse_*.
2467 * test/unit/bcompos_test.cpp, bind_test.cpp: Made the tests usable
2468 when _STLP_NO_EXTENSIONS is defined.
2470 * build/lib/configure.bat: Fix name of msvc8 compiler.
2472 * test/unit/mfunptr_test.cpp: Ignore find test when no class
2473 partial template specialization rather than commenting it.
2475 * test/unit/type_traits_test.cpp: Ditto for reference_type test.
2477 * build/Makefiles/nmake/top.mak: Fixed install-shared definition.
2479 * build/Makefiles/gmake/gcc.mak: Add _STLP_USE_STATIC_LIB when
2480 building and using STLport static lib under MinGW/Cygwin.
2482 2006-01-04 Francois Dumont <dums@stlport...>
2484 * src/acquire_release.h: New file, expose __acquire_*
2485 functions used in different translation unit.
2487 * src/num_put.h: Removed, content moved to num_put.cpp that
2488 was the only translation unit using exposed functions.
2490 * src/*: Build with Intel C++ 9 compiler reveal that many
2491 static specification was missing.
2493 * src/ctype.cpp: Filter out _WCharIndexT specialization for
2494 Intel compiler that consider wchar_t as unsigned, fixed a
2497 * _STLP_STATIC_ASSERT is now called without trailing ';' that
2498 is already in the macro definition.
2500 * src/*: Removed reference to _SgI namespace replaced by the
2501 STLport private namespace.
2503 * src/iostream.cpp: Add iostream include to expose cout, cin, cerr
2504 definition to declaration.
2506 2006-01-03 Francois Dumont <dums@stlport...>
2508 * stlport/stl/config/_gcc.h: Force use of new/delete based
2509 allocator under Cygwin/MinGW, default node allocator has
2510 problem because __node_allocator static datas are sometimes
2511 duplicated in a dll context.
2513 2006-01-01 Francois Dumont <dums@stlport...>
2515 * build/Makefiles/gmake/lib/gcc.mak, stlport/stl/config/_gcc.h:
2516 Change way of building dll with Cygwin/MinGW. No more export of
2517 all symbols, we use dllexport specification, makes import lib
2518 really shorter and dll too. Moreover use of the
2519 enable-auto-image-base linker option to make load of dll faster.
2521 * stlport/stl/_time_facets.c, _num_put.c, _num_get.c, _monetary.c,
2522 debug/_debug.c: Adapt existing Cygwin/MinGW workaround for new
2523 way of generating dlls.
2525 2005-12-31 Francois Dumont <dums@stlport...>
2527 * doc: Add Borland doc and update cygwin, mingw and msvc.
2529 * build/lib/README.options: Removed, replaced by configrure
2532 * build/test/eh/bcc.mak: Added to build EH tests for Borland.
2534 2005-12-29 Francois Dumont <dums@stlport...>
2536 * src/c_locale_win32/c_locale_win32.c: Hide _Locale_mbtowc and
2537 _Locale_wctomb when no wchar_t support is detected thanks Eric
2540 * src/c_locale_win32/c_locale_win32.c: Add mapping from Borland
2541 facet macros to STLport associated string representation array index
2542 thanks Eric Sanford.
2544 * stlport/stl/config/_evc.h: Patch from Michael Fink to generalized
2545 use of OutputDebugString for Windows CE when we need to trace
2548 * build/Makefiles/gmake/bcc.mak, lib/bcc.mak, app/bcc.mak: Fix
2549 definition of START_OBJ thanks armpit33
2551 * build/Makefiles/*: Generalize use of install-shared rather than
2552 list of all shared rules, idem for install-static.
2554 2005-12-27 Francois Dumont <dums@stlport...>
2556 * stlport/stl/_string_io.c: Generalized use of _STLP_STATIC_ASSERT
2557 macro rather that hand writen static assertion.
2559 * stlport/stl/_fstream.c, _istream.c, src/fstream.cpp, strstream.cpp:
2560 Add some cast to avoid Borland suspicious pointer arithmetic warnings
2561 thanks Eric Sanford.
2563 * stlport/stl/_limits.c: Fix Borland definition of NaNs and infinity
2564 for long double thanks Eric Sanford.
2566 * stlport/stl/config/_system.h, _gcc.h: Fix config for Windows, MinGW
2567 and Cygwin platforms.
2569 * stlport/stl/config/_windows.h: Can now be included by a pure C
2572 * stlport/stl/config/_warning_off.h: Removed suspicious pointer
2573 arithmetic warning for Borland thanks Eric Sanford.
2575 * stlport/stl/_construct.h: Removed now useless Borland workaround.
2577 * src/stdio_streambuf.cpp: Ditto.
2579 * stlport/stl/_alloc.h: Now allocator is tagged as an STLport class
2580 even without partial template specialization support. This is
2581 necessary because type_traits is specialized for allocator<char>,
2582 allocator<wchar_t> and allocator<void*> when partial template
2583 specialization is not available.
2585 * test/unit/bitset_test.cpp: Add tests for the STLport
2586 bitset::_Find_first extension.
2588 2005-12-27 Petr Ovtchenkov <complement@users.sourceforge.net>
2590 * src/initial_mak: obsolete makes removed (sync with STLPORT_5_0
2593 2005-12-24 Petr Ovtchenkov <complement@users.sourceforge.net>
2595 * stlport/stl/config/_gcc.h: gcc, builded by Apple is differ
2596 in behavior from original; in particular, in path to includes;
2598 * build/Makefiles/gmake/app/gcc.mak: fix gcc options on MacOS X;
2599 STLport is free from libstdc++ on MacOS now;
2601 * build/Makefiles/gmake/gcc.mak: fix gcc options on MacOS X; gcc,
2602 builded by Apple is differ in behavior from original;
2605 * build/Makefiles/gmake/lib/gcc.mak: fix gcc on MacOS X;
2606 differentiate gcc from Apple and original;
2607 STLport is free from libstdc++ on MacOS X now;
2609 * build/Makefiles/gmake/darwin/rules-so.mak: use
2610 gcc instead of c++ for linkage, if only C sources present.
2612 * build/lib/gcc.mak, build/test/unit/gcc.mak: remove duplication
2613 of stlport includes.
2615 2005-12-22 Petr Ovtchenkov <complement@users.sourceforge.net>
2617 * stlport/stl/config/_windows.h: all system specific configuration
2618 in one place [moved from stlport/stl/_windows.h]
2620 * stlport/stl/_windows.h: deleted; all system specific configuration
2621 in one place [moved to stlport/stl/config/_windows.h]
2623 * stlport/stl/debug/_debug.c, stlport/stl/_threads.h:
2624 _windows.h included via _prolog.h [i.e. via stl/config/_system.h],
2627 * stlport/stl/config/_sunprocc.h: remove include of _solaris.h---it
2628 already included from _system.h
2630 * stlport/stl/config/_kai.h: remove include of os configuration files,
2631 it should be included from _system.h
2633 * stlport/stl/config/_intel.h: fix path after config headers
2636 * stlport/stl/config/_evc.h: idem
2638 * stlport/stl/_exception.h: idem
2640 * stlport/stl/config/_prolog.h: idem
2642 * test/unit/fstream_header_test.cpp: idem
2644 * test/unit/iomanip_header_test.cpp: idem
2646 * test/unit/ios_header_test.cpp: idem
2648 * test/unit/iostream_header_test.cpp: idem
2650 * test/unit/istream_header_test.cpp: ditto
2652 * test/unit/locale_header_test.cpp: idem
2654 * test/unit/ostream_header_test.cpp: idem
2656 * test/unit/sstream_header_test.cpp: idem
2658 * test/unit/strstream_header_test.cpp: idem
2660 2005-12-21 Francois Dumont <dums@stlport...>
2662 * stlport/stl/debug/_debug.h, _debug.c, _string_sum_methods.h:
2663 Removed some unused parameters reported by Borland compiler.
2665 * stlport/stl/config/_warnings_off.h: Disable unused parameters
2666 warning for Borland compiler.
2668 * build/Makefiles/gmake/targetdirs.mak: Change config in order to
2669 have each generated application in a different bin folder.
2671 * stlport/stl/_threads.h: Used _STLP_STATIC_ASSERT macro for a
2674 2005-12-19 Petr Ovtchenkov <complement@users.sourceforge.net>
2676 * build/Makefiles/gmake/lib/gcc.mak: move LDSEARCH flags after
2679 * build/lib/gcc.mak: don't add include path, it already included.
2681 * src/c_locale.h: include stlport_prefix.h to add STLport's
2682 definitions that used below.
2684 * stlport/stl_user_config.h, stlport/stl/_config.h: moved
2685 to stlport/stl/config catalog and renamed.
2687 * stlport/stl/_config_compat.h, stlport/stl/_site_config.h: ditto.
2689 * stlport/config: headers moved to stlport/stl/config catalog,
2690 renamed and reorganized.
2692 * stlport/stl/_prolog.h, stlport/stl/_epilog.h, src/stlport_prefix.h:
2693 reflect changes in configuration files.
2695 2005-12-17 Francois Dumont <dums@stlport...>
2697 * stlport/stl/_config.h: Removed ';' in _STLP_STATIC_ASSERT
2700 * stlport/stl/_cwctype.h: Fix native namespace of wide char functions
2701 for MinGW runtime <= 3.0. Also fix a typo for FreeBDS.
2703 * src/stdio_streambuf.cpp: Add missing 'defined' when checking
2704 __OS400__ macro existance.
2706 * test/unit/resolve_name.cpp, set_test.cpp: Removed useless ';'
2707 reported by remarks from Intel C++ compiler.
2709 2005-12-16 Francois Dumont <dums@stlport...>
2711 * stlport/stl/_rope.h: Moved overload of __identity_element for
2712 _Rope_Concat_fn in STLport private namespace where orginal function
2713 declaration is. Also moved _Rope_Concat_fn at the same time, much more
2714 many elements of _rope.h should be moved to this namespace...
2716 * stlport/stl/_monetary.c: Change implementation of __money_do_put for
2717 Borland compiler, looks like this compiler do not like ternary operator.
2719 * src/c_locale_win32/c_locale_win32.c: Replace check of category in
2720 __Extract_locale_name from > LC_ALL by != LC_ALL, there is no reason
2721 for LC_ALL to be upper or lower to all other categories.
2723 * build/Makefiles/gmake/cygming/rules-so.mak: Segregate different
2724 compilers linker calls and add reference to START_OBJ in Borland
2727 * build/Makefiles/gmake/lib/rules-a.mak, cygming/targetsys.mak: Borland
2728 archiver add option is now '+', before being invocated archive is always
2729 deleted to avoid warnings because the Borland archiver do not have a
2730 real add or replace module option.
2732 * stlport/stl/type_traits.h: Fix for compiler simulating partial
2733 template specialization (VC6)
2735 * test/eh/test_rope.cpp: Removed rope test for Borland.
2737 * test/unit/exception_test.cpp: Commented tests are now ignored.
2739 * test/unit/locale_test.cpp, string_test.cpp: No more ignored test
2742 2005-12-14 Petr Ovtchenkov <complement@users.sourceforge.net>
2744 * build/Makefiles/gmake/sysid.mak: parse two-token target
2745 system identification string along with three-token one
2746 [useful when vendor is omitted]; thanks Jonathan Sprinkle.
2748 * stlport/cwctype, stlport/stl/_cwctype.h: wctype_t and
2749 others are in global namespace on FreeBSD.
2751 * build/Makefiles/gmake/app/gcc.mak, lib/gcc.mak: use build
2752 with -nostdlib on Solaris.
2754 * src/cxa.c: fix for Solaris
2756 * stlport/config/stl_solaris.h, stlport/stl/_cmath.h:
2757 hmm, strange... sometimes MATH_L and MATH_F present on Solaris,
2760 2005-12-14 Francois Dumont <dums@stlport...>
2762 * test/unit/cppunit/cppunit_mini.h, file_reporter.h: Add ignore
2763 test feature, now tests should be ignored rather than commented.
2764 2 new macros for that CPPUNIT_IGNORE to add in tests declaration,
2765 all test following this macro won't be run; CPPUNIT_STOP_IGNORE
2766 optional macro to stop ignoring tests.
2768 * test/unit/fstream_test.cpp: Ignore custom_facet test when not
2769 supported rather than comment it.
2771 * test/unit/hash_test.cpp: Ignore hmap1 test for Borland and Digital
2772 Mars compilers, looks like rope class is too complicated for those
2775 * test/unit/locale_test.cpp: Ignore locale_by_name test for compiler
2776 without exceptions support. Ignore money facet tests for Borland.
2778 * test/unit/mvctor_test.cpp, rope_test.cpp: Some tests ignored
2779 depending on various configuration settings.
2781 * test/unit/type_traits.cpp: Add test for _IsSTLportClass metaprogramming
2782 tool. Ignored for Borland.
2784 * test/unit/unordered_test.cpp: Fix test for Digital Mars, unordered
2785 containers value_type are not necessarily with an immutable key, it is
2786 more portable to use value type rather than redefining it in the test.
2788 * test/unit/string_test.cpp: Removed Windows CE macro check replaced
2789 by WaitForMultipleObjects returned code check, more portable and
2790 maintenable. Ignore a test for Digital Mars compiler.
2792 * stlport/stl/type_manips.h, type_traits.h: Simplified metaprograming
2793 tools implementation; now avoid compilation constant replaced by
2794 type, Borland compiler has problem with constants.
2796 * stlport/config/stl_bc.h: Made supported compiler check more accurate
2797 free compiler is 5.5.1 so it is the oldest supported version. Borland
2798 compiler do not support IEC559 specifications.
2800 * build/Makefiles/gmake/bcc.mak: Put startup .obj to link with in
2801 START_OBJ rather than LDLIBS, thanks Eric Sanford.
2803 * src/c_locale_win32/c_locale_win32.c: Temporarily removed category
2804 check in __Extract_locale_name function for Borland, looks like LC_ALL
2805 or LC_MAX has not the right value.
2807 2005-12-13 Francois Dumont <dums@stlport...>
2809 * src/cxa.c: Add include of stlport_prefix.h first, this file
2810 should be always included first in STLport translation units,
2811 it prepares some compilers config and define important for Wins
2812 __BUILDING_STLPORT macro.
2814 2005-12-13 Petr Ovtchenkov <complement@users.sourceforge.net>
2816 * build/Makefiles/gmake/targetdirs.mak: built-in
2817 test in /bin/sh on Solaris has no -e, use external instead.
2819 2005-12-11 Francois Dumont <dums@stlport...>
2821 * build/Makefiles/gmake/bcc.mak : Add -w-eff to disable 'useless'
2822 code warning, we had to chose between this warning and the 'used
2825 * build/Makefiles/gmake/targetdirs.mak: Removed comment about folder
2826 creation action under windows platform. The action is identical to
2827 the one used in the nmake build system and no one complains about it
2828 so current situation is not so bad. Only users of Windows before Windows
2829 98 should eperiment troubles, this is a known limitation.
2831 * build/Makefiles/gmake/dmc.mak, cygming/rules-so.mak: Change config,
2832 now we directly invoke the linker, we do not use a compiler call for it.
2834 * build/Makefiles/gmake/app/bcc.mak: Fix linker option in order to generate
2835 a windows executable and not a dll, thanks Eric Sanford.
2837 * build/Makefiles/gmake/app/rules-install.mak: Add install dir dependency
2838 rather than doing a folder existence check in rules actions.
2840 * build/Makefiles/gmake/app/rules.mak: Restore slash rotation for Borland
2841 linker invocation and fix static rules dependencies to guaranty folder
2844 * build/Makefiles/gmake/lib/bcc.mak: Add missing archiver page size parameters.
2846 * build/test/unit/bcc.mak: Add _STLP_DEBUG_UNINITIALIZED for static
2849 * build/Makefiles/gmake/lib/rules-a.mak: Segregate each archiver invocation.
2851 2005-12-09 Francois Dumont <dums@stlport...>
2853 * build/lib/configure.bat: Add Borland compiler to compilers
2854 able to mix a dll build with a static native runtime.
2856 * build/Makefiles/gmake/bcc.mak, dmc.mak: Complete libs to link
2857 depending on STLport configuration.
2859 * build/Makefiles/gmake/targetdirs.mak: roll back modif from Petr
2862 * build/Makefiles/gmake/targets.mak: ditto
2864 * build/Makefiles/gmake/cygming/lib.mak: Fix for static libs build
2865 with compiler different than gcc.
2867 * build/Makefiles/gmake/cygming/targetsys.mak: Add missing info for
2868 static libs build with Borland and Digital Mars compilers.
2870 * build/Makefiles/gmake/lib/rules-a.mak: Fix static builds commands
2871 to use info of above point.
2873 * build/Makefiles/gmake/lib/rules-install-a.mak: Add install rule
2874 for windows and missing catalog in dependency tree.
2876 * build/Makefiles/gmake/windows/rules-install-so.mak: Add missing
2879 2005-12-09 Petr Ovtchenkov <complement@users.sourceforge.net>
2881 * build/lib/Makefile.inc: add cxa.c into compilation; this
2882 is useful for FreeBSD 4.11 C++ ABI workaround.
2884 * src/cxa.c: use _cxa_atexit and related functions on
2885 FreeBSD 4.11 [workaround for missed C++ ABI functions].
2887 2005-12-08 Francois Dumont <dums@stlport...>
2889 * stlport/stl/_auto_ptr.h: Add missing Standard throw() specification
2890 on all auto_ptr members.
2892 * stlport/config/stl_mycomp.h: Removed recently introduce macro
2893 _STLP_DFLT_PARAM_INSTANCIATION_BUG, already existing _STLP_DONT_SUP_DFLT_PARAM
2894 is enough for the moment.
2896 * stlport/stl/_stream_iterator.h: Small implementation change to make
2897 Digital Mars compiler happy.
2899 * stlport/stl/_unordered_map.h: Digital Mars compiler do not like
2900 immutable keys in associative containers.
2902 2005-12-08 Petr Ovtchenkov <complement@users.sourceforge.net>
2904 * stlport/ctype.h: forward-declaration for _exception struct
2905 for WinCE/eVC3; prevents warning message
2906 ../include/stdlib.h(817) : warning C4115:
2907 '_exception' : named type definition in parentheses
2908 [Michael Fink's suggestion]
2910 * stlport/float.h, stlport/limits.h, stlport/setjmp.h: idem.
2912 * stlport/stdarg.h, stlport/string.h, stlport/stdio.h: idem.
2914 * build/Makefiles/gmake/gcc.mak: check configuration macro
2915 WITHOUT_STLPORT [useful for tests]; force usage of stlport
2916 headers first otherwise.
2918 * build/Makefiles/gmake/targetdirs.mak: fix catalogs creation
2919 procedure [loop through catalogs required]; comment problematic
2920 code when we have no good tools.
2922 * build/Makefiles/gmake/lib/gcc.mak: fix typo [FreeBSD]; fix
2923 set of libraries when link for FreeBSD; fix typo in macro name
2926 * build/Makefiles/gmake/app/gcc.mak: fix set of libraries when
2927 link for FreeBSD; insert stlport lib in STDLIB set [when STLPORT
2928 in force], to avoid set one in application's makefile.
2930 * build/test/unit/gcc.mak: explicit refrence to libstlport in
2931 this makefile not required more [see message above].
2933 * build/Makefiles/gmake/lib/gcc.mak: remove names inherited from
2936 * build/Makefiles/gmake/*/rules-install-so.mak: installation
2937 catalog was missed in dependency tree; ident string removed
2938 to simplify merge/diff
2940 * Build: building library and unit tests with cross [gcc 3.4.5]
2941 on Linux for FreeBSD 5.3 (except cwctype_test).
2943 * build/Makefiles/gmake/targets.mak: rotate slashes for BCC.
2945 * build/Makefiles/gmake/app/macro.mak: remove name contruction
2946 for program; rotate slashes for wins.
2948 * build/Makefiles/gmake/app/rules-install.mak: remove name
2949 contruction for program.
2951 * build/Makefiles/gmake/app/rules.mak: remove name contruction
2952 for program; objects for static and for dynamic are the same.
2954 2005-12-04 Francois Dumont <dums@stlport...>
2956 * src/num_put_float.cpp: Filter inclusion of stdint.h, required for
2957 Digital Mars compiler, forbidden for Sun platform.
2959 * stlport/stl/_cwctype.h: wide types and function are in global
2962 * build/test/unit/gcc.mak: Modify cygwin/mingw config now that
2963 default settings for those platform is shared library.
2965 * build/Makefiles/gmake: Add support of static targets, used
2966 especially for Borland C++ Compiler and Digital Mars Compiler.
2968 * build/Makefiles/gmake/app/gcc.mak: Fix typo in FreeBSD
2971 2005-12-02 Francois Dumont <dums@stlport...>
2973 * stlport/config/stl_msvc.h: Fixed configuration detection when building
2974 STLport dll based on a static native runtime.
2976 * stlport/stl/_locale.h: Fix warning convertion from size_t to
2977 __stl_atomic_t that can be of lower size.
2979 * stlport/config/stl_gcc.h, doc/README.mingw, README.cygwin: Made dll
2980 default settings under cygwin/mingw.
2982 2005-12-01 Francois Dumont <dums@stlport...>
2984 * stlport/stl/_mbstate_t.h: Add workaround for alpha bad WCHAR_MIN and
2985 WCHAR_MAX definition.
2987 * stlport/config/stl_gcc.h: Configure STLport for alpha platform as not
2988 supporting iec559 specification as quiet nan is not correct. If someone
2989 find the right value then this config will have to be rollbacked.
2991 * build/Makefiles/gmake/gcc.mak: Restored Sun OS support that use the
2992 -pthreads option and not -pthread
2994 * build/Makefiles/nmake/lib/macro.mak: Fixed library name generation
2995 when using cross runtime version thanks Alexey Ivanov report.
2997 2005-11-29 Francois Dumont <dums@stlport...>
2999 * stlport/stl_user_config.h: Add _STLP_LIB_NAME_MOTIF macro to give
3000 users a point of customization of the automatic linking feature.
3002 * build/Makefiles/nmake/lib/macro.mak, gmake/cygming/lib.mak: Use
3003 STLP_BUILD_LIB_MOTIF in library name generation algorithm. Also take
3004 into account cross builds in library name generation.
3006 * build/lib/configure.bat: Add --lib-motif option to give users a
3007 way to customize the generated library names.
3009 * test/eh: Generalized use of msvc.mak rather than all the nmake-vc??.mak
3010 files. Idem for evc.mak instead of nmake-evc?.mak and icl.mak instead of
3013 * stlport/stl/_exception.h: Change _msvc_warnings_off.h include in
3014 _warnings_off.h as this file now also turn off Borland warnings.
3016 * stlport/config/_detect_dll_or_lib.h: Mutualization of code used to
3017 detect current STLport type of build or usage (dll or static lib).
3019 * stlport/config/stl_msvc.h, stl_bc.h, stl_dmc.h: Integration of
3020 _detect_dll_or_lib.h
3022 * stlport/config/_auto_link.h: Change auto link algo when we detect
3023 cross STLport usage that is to say use of STLport as a dll link with
3024 static native runtime or opposite.
3026 2005-11-29 Petr Ovtchenkov <complement@users.sourceforge.net>
3028 * src/cxa.c: mutex should be recursive-safe, due to __cxa_finalize
3029 may be called recursive.
3031 2005-11-28 Francois Dumont <dums@stlport...>
3033 * stlport/stl/_threads.h: Simplified expression used to instanciate
3034 _Atomic_swap_struct, gcc 2.95 had trouble with the one line expression.
3036 * src/dll_main.cpp: Fix instanciation of _Swap_lock_struct that has been
3037 changed and renamed in _Atomic_swap_struct.
3039 * test/unit/map_test.cpp, set_test.cpp: Simplified call to map constructor
3040 taking a functor and allocator instance, split it in a creation of a les<int>
3041 instance then passed to the constructor; gcc 2.95 had trouble with previous
3044 * stlport/stl/_cmath.h, _cstdlib.h: Now those files includes each other to
3045 make sure that all abs overloads are defined when it is imported in STLport
3046 namespace. gcc 2.95 is very strict on this point and only consider the abs
3047 overloads existing at the first import calls, all overloads added after that
3048 are discarded silently.
3050 * stlport/stl/_cmath.h: Removed unjustified abs function overloads done
3051 directly in STLport namespace for gcc 2.95 and before. Those overloads
3052 clashed on a Linux with gcc 2.95 from the sourceforge compiler farm.
3054 * build/Makefiles/gmake/gcc.mak: Generalized definition of _REENTRANT under
3055 Linux to make detection of a multithreaded build from STLport code easier.
3056 Problem meet on an alpha linux platform from the sourceforge compiler farm.
3058 * stlport/stl/_locale.h: Removed _M_delete locale::facet member variable,
3059 useless if facet instance reference counter is right.
3061 * src/locale_impl.cpp, message.cpp: Change classic facets initialization code
3062 to simply set initial counter to 1 rather than incrementing it after construction.
3064 * test/unit/evc.mak fix path to config file in existance check.
3066 * stlport/stl/_move_construct_fwk.h, type_manips.h: Add workaround to use
3067 move constructor with Borland compiler.
3069 2005-11-28 Petr Ovtchenkov <complement@users.sourceforge.net>
3071 * build/Makefiles/gmake/targetdirs.mak: change names of .o output dirs
3072 to make bcc happy (bug with passing name that contain '-' from
3073 compiler to linker). Replacement: 'shared' -> 'so', 'static' -> 'ar',
3074 '-' -> '_' (i.e. obj/gcc/shared-stlg -> obj/gcc/so_stlg, a bit shorter)
3075 [Suggested by Francois Dumont].
3077 2005-11-27 Petr Ovtchenkov <complement@users.sourceforge.net>
3079 * build/Makefiles/gmake/targets.mak, app/rules.mak, linux/rules-so.mak:
3080 use gcc instead of c++ as linker if there are no C++ objects.
3082 * src/cxa.c, build/misc/cxa_atexit/Makefile.inc, build/misc/cxa_atexit/gcc.mak:
3083 workaround for bugged __cxa_finalize; use builded libcxa.so in LD_PRELOAD or
3084 /etc/ld.so.preload in Linux system with bugged glibc. See also
3085 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24189
3087 2005-11-27 Francois Dumont <dums@stlport...>
3089 * stlport/stl/type_manips.h: Add import of __true_type and
3090 __false_type in STLport private namespace as the using namespace
3091 directive do not seems to be enough for latest gcc version.
3093 * src/time_facets.cpp: Fix buffer size decrementation in __write_formatted_time
3094 function thanks Petr Ovtchenkov
3096 2005-11-26 Francois Dumont <dums@stlport...>
3098 * stlport/stl/_complex.h: Move implementation of generic abs, arg and polar
3099 after definition of double overload used in implementation. Thanks Kees de
3102 * stlport/stl/_threads.h, _alloc.h, _alloc.c: Fix lock free node allocator
3103 implementation thanks Weis.
3105 * stlport/stl/wrappers: Removed, no more maintained and complicated to fix
3106 with the debug and pointer specialization implementations.
3108 * test/unit/stack_allocator.h: Creation of an allocator using a stack buffer.
3109 This allocator specificity is to not be stateless and not default constructible.
3111 * test/unit/list_test.cpp, stlport/stl/_list.h, _list.c: Add of a test with the
3112 StackAllocator. Fix list implementation to correctly handle allocator state
3113 in the methods moving elements from a list instance to an other.
3115 * stlport/stl/_carray.h: Creation of a new internal struct _CArray that mimic a C
3116 array with the additionnal feature of being able to be instanciated with a type
3117 without default constructor.
3119 * stlport/stl/debug/_list.h: Adapt iterator invalidation according allocators
3122 * test/unit/slist_test.cpp, stlport/stl/_slist.h, _slist.c: idem list.
3124 * stlport/stl/_slist.h: Modification of the splice_after methods signature. Users
3125 now have to pass the source slist instance, this is mandatory in order to compare
3126 the 2 slists allocator instance before moving an element from a slist instance to
3129 * stlport/stl/_string_base.h: Fix _M_swap implementation for basic_string instanciation
3130 with allocator having a state.
3132 * stlport/stl/_list.c, _slist.c: sort methods now throw an overflow exception when lists
3133 are too long to be sorted with the current algorithm. This is preferable to a buffer
3136 * stlport/stl/_alogobase.c: Small equal_range optimization, upper_bound is not called
3137 anymore when lower_bound returned value is already not equivalent to the search value.
3139 * build/Makefiles/gmake: Add build system for Digital Mars and Borland C++ compilers
3141 * build/lib/configure.bat: Add following options
3145 see script for explanation. --mingw removed, detected with --compiler option, if
3146 gcc, dmc or bcc then we are using MinGW tools.
3148 * build/lib/configure: Add --not-thread-safe option
3150 * build/Makefiles: Add build options to generate not thread safe libs and no rtti libs,
3151 all compilers option has not been updated.
3153 * stlport/c*: Modification of C++ headers wrapping C ones. All code moved to internal
3154 headers in stlport/stl folder. Internal headers are only included if include comes from
3155 user code otherwise only native header is included. Limit dependency between STLport
3156 headers relations and native library once. Reported by problem building with Borland
3159 * test/unit/cppunit/cppunit_mini.h: Replace cstring include with string.h to avoid
3160 references to std namespace in headers, should be more portable. Add typedef Base
3161 definition in CPPUNIT_TEST_SUITE macro, used in calls to base class methods, help
3164 * Generalize use of secure string functions (strcpy_s for instance) for MSVC compilers
3165 supporting it and tagging former versions like deprecated. The pragma warning that used
3166 to disable this warning has been removed.
3168 * stlport/BC50: Removed, no necassry anymore for supported Borland compiler versions.
3170 * stlport/stl/debug: Implementation modification, now debug wrapper agregate a non debug
3171 instance rather than inheriting from it. Makes debug implementation clearer as we are now
3172 forced to implement the complete containers interfaces.
3174 * stlport/stl/pointers: Fix implementation in order to support Standard compilers
3175 not accepting cast from function pointer to void*.
3177 * *: Reinforce use of STLport private namespace (stlp_priv or stlport::priv) for all
3178 internals algorithms.
3180 2005-11-21 Francois Dumont <dums@stlport...>
3182 * Fix classic locale facet initial reference counter thanks
3185 2005-11-20 Petr Ovtchenkov <complement@users.sourceforge.net>
3187 * src/num_put.h: check that incoming string has enough
3188 digits for fractional part processing. This check includes
3189 check for empty incoming string. (Thanks Leonardo [leoapsilva]
3190 for the bug report).
3192 * stlport/stl/_monetary.c: fix processing the case when
3193 number of digits in value less then number of digits in fraction.
3195 * src/facets_byname.cpp: international currency symbol should
3196 be the first (not depends upon where currency symbol situated in
3197 the national format).
3199 * test/unit/locale_test.cpp: tests for reproducing this problems.
3201 2005-11-20 Gail Baker <baker88@users.sourceforge.net>
3203 * build/Makefiles/gmake/CC.mak: Updated compiler option
3204 to compile larger inline functions inline.
3206 * build/Makefiles/gmake/lib/CC.mak: Changed how the header
3207 file linking is done to only do it once instead of with
3210 * build/lib/README: include instructions for SunPro compiler.
3212 * build/test/unit/CC.mak: allow the STLP_DEBUG version to compile.
3214 2005-11-19 Petr Ovtchenkov <complement@users.sourceforge.net>
3216 * stlport/stdlib.h: replace C++ comments by C, to satisfy -ansi
3219 2005-11-18 Francois Dumont <dums@stlport...>
3221 * build/Makefiles/nmake/lib/rules-install-so.mak,
3222 app/rules-install-so.mak: Add copy of manifest file when exist
3223 rather than when compiler is Visual Studio 2005.
3225 * src/stdio_streambuf.cpp: Removed warning for EVC 3 and 4 thanks
3228 * stlport/stl/math.h, stdlib.h: Fix EVC3 warning thanks Michael Fink
3231 * doc/README.evc3: doc update from Michael Fink.
3233 * stlport/*, stlport/*, tests/*: Clean up of trailing blank charaters
3234 in all source files.
3236 2005-11-17 Gail Baker <baker88@users.sourceforge.net>
3238 * build/Makefiles/gmake/CC.mak, depend.mak, app/CC.mak, lib/CC.mak:
3239 support of SunPro 5.7 compiler.
3241 * build/lib/CC.mak: ditto
3243 * stlport/stl/_rope.c: Removed extra semi-colons.
3245 * stlport/stl/_rope.h: Sunpro compiler had a problem with
3246 the __ROPE_DEPTH_SIZE macro doing an addition. Changed to
3247 a fixed value instead.
3249 * stlport/cstdlib: Updated to allow the compiler to find abs and div
3251 * stlport/config/stl_sunpro.h: Disabled _STLP_LINK_TIME_INSTANTIATION
3252 since this nolonger works with current files. The issue here is that
3253 a number of defines that are required in the C versions of the files
3254 use defines that are undefed at the end of the include. So, when
3255 the compiler finally compiles the C version at link time the defines
3256 are lost and the files don't compile. Also added a minor change
3257 to allow files that are compiled with cc to include stl_sunpro.h
3258 without bailing out.
3260 * stlport/stl/_bvector.h: Added stl/_range_errors.h required by
3261 an exception that can be called.
3263 * stlport/stl/_cmath.h: Changed to pull all math functions from std
3264 namespace for SunPro compiles only.
3266 * test/unit/fstream_test.cpp: Added SunPro compile to the list
3267 of compilers that don't use the DO_CUSTOM_FACET_TEST.
3269 * test/unit/string_test.cpp: Added Sun UI Threads to the list
3270 of supported thread types in the test.
3272 * test/unit/valarray_test.cpp: The compiler was having trouble
3273 finding abs(). Added a "using std::abs" for the SunPro compiler
3274 which solved the problem.
3276 * test/unit/cppunit/cppunit_mini.h: Added additional using statements
3277 for the str* commands.
3279 * test/unit/cppunit/test_main.cpp: Added "using namespace std;"
3280 for the SunPro compiler.
3282 * build/test/unit/CC.mak: support of SunPro 5.7 compiler
3284 2005-11-17 Francois Dumont <dums@stlport...>
3286 * stlport/stl/_messages_facets.h, src/messages.cpp: Move message facet
3287 constructor private to guaranty that it is only called from the _Locale_impl
3288 class for classic locale facets creation. Change constructor implementation
3289 as now passed _Message instance is dynamically instanciated so needs to be
3290 destroy on facet destruction; moreover the facet is also dynamically allocated
3291 and has to be destroyed when reference counter reach 0.
3293 * src/locale_impl.cpp: Removed call to now useless free_classic_locale function.
3294 Change make_classic_locale implementation, now classic locale facets are
3295 allocated on the heap and have to be destroyed like any ordinary facets
3296 when reference counter reach 0.
3298 2005-11-15 Petr Ovtchenkov <complement@users.sourceforge.net>
3300 * stlport/stl/_tree.h: check iterator returned from lower_bound
3301 in equal_range_unique for end, to avoid increment [useful when
3304 * test/unit/map_test.cpp: test for problem above.
3306 2005-11-09 Francois Dumont <dums@stlport...>
3308 * build/test/eh/gcc.mak: Fix build system for Cygwin/MinGW systems that
3309 was broken since library naming convention modification.
3311 2005-11-07 Michael Fink <vividos@users.sourceforge...>
3313 * build/lib/configure.bat: Fixed configuring for Visual Studio .NET 2003.
3314 Fixed jump target names for Win9x OSes: they must be 8 characters or
3317 2005-11-07 Michael Fink <vividos@users.sourceforge...>
3319 * build/Makefiles/nmake/evc3.mak, build/Makefiles/nmake/evc4.mak,
3320 build/lib/configure.bat, stlport/config/stl_evc.h: Added check if
3321 using x86 emulator configuration; using of proper include paths in
3324 * doc/README.evc4: Documentation update
3326 2005-11-01 Petr Ovtchenkov <complement@users.sourceforge.net>
3328 * Repository: STLport 5.0, tag STLPORT_5_0_RELEASE
3330 * Repository: merge HEAD and STLPORT_5_0 branch.
3332 * build/Makefiles/gmake/app/rules-install.mak: install-shared rule
3333 added (patch by Michael Fink).
3335 * build/Makefiles/gmake/lib/rules-install-a.mak: install-static rule
3336 added (patch by Michael Fink).
3338 2005-10-12 Francois Dumont <dums@stlport...>
3340 * stlport/stl/_threads.h, _threads.c: Fix regression for some platforms
3341 introduce by modification of _Atomic_swap_ptr implementation thanks
3344 2005-10-09 Petr Ovtchenkov <complement@users.sourceforge.net>
3346 * repository: RC6, tag STLPORT_5_0_RC6
3348 2005-10-09 Francois Dumont <dums@stlport...>
3350 * stlport/config/stl_gcc.h: DEC alpha has not *l math functions
3352 2005-10-08 Francois Dumont <dums@stlport...>
3354 * stlport/stl/_config.h: Add endianess specification for DEC alpha thanks
3355 sourceforge compiler farm.
3357 * stlport/config/stl_intel.h: Remove reference to _STLP_GLOBAL_NEW_HANDLER
3358 in this file as this macro depends on native Standard library which is
3359 the back end MSVC compiler one so macro set in stl_msvc.h.
3361 2005-10-07 Francois Dumont <dums@stlport...>
3363 * build/Makefiles/gmake/darwin/sys.mak, freebsd/sys.mak: Fix EXT_TEST
3364 definition to test rather than /usr/bin/test thanks sourceforge
3367 2005-10-05 Francois Dumont <dums@stlport...>
3369 * build/Makefiles/nmake/vc-common.mak: Remove /Fd option for the icl
3370 compiler that do not know it.
3372 2005-10-04 Francois Dumont <dums@stlport...>
3374 * stlport/stl/debug/_list.h: Fix resize method implementation in safe
3375 STL mode thanks Ethan Fenn report.
3377 * test/unit/list_test.cpp: Add test case for list::resize method.
3379 * build/Makefiles/nmake/lib/rules-install-a.mak, app/rules-install-a.mak:
3380 Install .pdb files only if exist, Intel C++ compiler do not generate them
3381 when building static libraries. Thanks Albrecht Fritzsche
3383 * stlport/stl/_ostream.h, _ostream.c: Move _M_init function implementation
3384 from .c to .h as .c is not included when _STLP_NO_CUSTOM_IO is defined
3385 but _M_init might not be exported if compiler fully inline it.
3387 2005-10-03 Francois Dumont <dums@stlport...>
3389 * stlport/stl/_tree.h: Fix _S_value method definition that returns
3390 a value_type& rather than the reference typedef as reference might be,
3391 depending on the traits used to instanciate _Rb_tree, equivalent to
3394 2005-09-30 Francois Dumont <dums@stlport...>
3396 * INSTALL, README, doc/FAQ, doc/README.msvc: Documentation updates.
3398 * doc/stlport_namespaces.txt: Small doc about STLport namespaces and how
3399 STLport replace native Standard library.
3401 2005-09-26 Francois Dumont <dums@stlport...>
3403 * build/*: Finished _STLP_LEAKS_PEDANTIC clean up from all make files.
3405 2005-09-25 Francois Dumont <dums@stlport...>
3407 * build/test/unit/gcc.mak: Remove _STLP_LEAKS_PEDANTIC option when building
3408 unit tests as this option is not defined when building the libs.
3410 2005-09-22 Petr Ovtchenkov <complement@users.sourceforge.net>
3412 * build/Makefiles/gmake/sysid.mak: add underscore in architecture recognition,
3413 to parse targets like x86_64-unknown-linux-gnu.
3415 2005-09-21 Francois Dumont <dums@stlport...>
3417 * src/locale.cpp, facets_byname.cpp: Use of _STLP_ATOMIC_INCREMENT rather than
3418 a lock on a mutex when the macro is available.
3420 2005-09-21 Petr Ovtchenkov <complement@users.sourceforge.net>
3422 * src/locale_impl.cpp: some internal functions used before declared.
3423 Thanks Thomas Kho for report.
3425 2005-09-20 Francois Dumont <dums@stlport...>
3427 * stlport/stl/_string.h, _string_workaround.h: code refactoring, substr method
3428 now use string constructor taking same parameters rather than the range
3429 constructor, thanks Felix Wyss report. Also add missing allocator parameter
3430 for non stateless allocators.
3432 * build/Makefiles/gmake: Restore resource build for Cygwin and MinGW, add
3435 * build/lib/configure.bat: Add --extra-cxxflag to inject additional compilation
3436 option in the nmake build system.
3438 2005-09-20 Petr Ovtchenkov <complement@users.sourceforge.net>
3440 * test/unit/ptrspec_test.cpp: gcc 2.95 fail to roll out template instantiation
3441 for pointers to member function, skip this test for gcc 2.95.
3443 * build/Makefiles/gmake/gcc.mak: gcc 2.95 has no -fuse-cxa-atexit option.
3445 * build/lib/gcc.mak: don't use LEAK_PEDANTIC with gcc 2.95 [but this not help,
3446 segfault at program termination still happens].
3448 * stlport/config/stl_gcc.h: gcc 2.95 has problem with llabs, so force to use
3449 _STLP_NO_VENDOR_STDLIB_L; 2.95 fails to initialize builtin types.
3451 * stlport/stl/_cmath.h: workaround for gcc 2.95---it has problem with 'using'
3452 directive [problem with 'abs' with float types as argument].
3454 * stlport/stl/type_traits.h: workaround for gcc 2.95 [parentheses around
3455 template argument]. Thanks Thomas Kho.
3457 * test/unit/fstream_test.cpp: custom facet test compilation fail for gcc 2.95
3459 * build/Makefiles/gmake/icc.mak, build/test/unit/icc.mak: support icc 9.0,
3460 thanks John Fisher-Ogden and Thomas Kho.
3462 * src/c_locale_glibc/c_locale_glibc2.c: use newlocale/freelocale for
3463 glibc 2.3.x, and __newlocale/__freelocale for glibc 2.2.x. Thanks Gail Baker.
3465 2005-09-19 Francois Dumont <dums@stlport...>
3467 * build/Makefiles/nmake/clean.mak, lib/clean.mak, app/clean.mak: Add check
3468 for file or folder existance before calling del or rd to avoid error
3469 messages that give a bad feed back to STLport users.
3471 * build/Makefiles/gmake: Add support to use the GNU make tool in a Windows
3472 cmd console. For the moment it is used to build STLport using a simple
3475 * stlport/stl/type_traits.h: Simplified code removing the _IsConvertibleIfNot
3476 that has never proved of being useful, it only introduces problem with some
3479 * stlport/stl/_string_workaround.h, _string.h, debug/_string.h: Fix string
3480 range constructor bug in the VC6 specific workaround implementation that was
3481 resulting in a memory leak. Thanks Felix Wyss report.
3483 2005-09-18 Petr Ovtchenkov <complement@users.sourceforge.net>
3485 * stlport/stl/_hash_fun.h: add hash function for void *.
3487 * src/facets_byname.cpp, src/message_facets.h: introduce map between
3488 nl_catd type [that is void * on Linux] and messages_base::catalog
3489 [that is int by Standard]; this should remove problems on platforms
3490 where sizeof(int) < sizeof(void *).
3492 2005-09-16 Francois Dumont <dums@stlport...>
3494 * stlport/cwchar: Add MinGW 3.8 runtime wide-char to multi-byte functions
3495 import within STLport namespace thanks Rene Riviera.
3497 2005-09-14 Francois Dumont <dums@stlport...>
3499 * stlport/config/stl_gcc.h: Mingw support string wide functions thanks
3500 Rene Riviera report.
3502 2005-09-13 Petr Ovtchenkov <complement@users.sourceforge.net>
3504 * stlport/stl/_thread.h: fix return type specification
3505 [volatile void * -> void *].
3507 2005-09-12 Francois Dumont <dums@stlport...>
3509 * stlport/stl/_thread.h: Fix _Atomic_swap_ptr implementation in single
3510 threaded mode and when there is no pointer atomic swap operation.
3512 * stlport/stl/_site_config.h: Add _STLP_NO_CYGWIN macro to signal use
3513 of the -mno-cygwin cygwin option.
3515 * build/lib/configure: Remove automatic generation of stlport/script_config.h.
3517 2005-09-11 Petr Ovtchenkov <complement@users.sourceforge.net>
3519 * build/Makefiles/gmake/sysid.mak: provide identification hosted platform.
3521 * build/Makefiles/gmake/targetdirs.mak: CygWin/MinGW has no /usr/bin/test,
3522 but built-in test support -e; see record 2005-09-04.
3524 * build/Makefiles/top.mak: separate hosted platform and target platform
3525 file extentions, tools, utilites.
3527 * build/Makefiles/gmake/?/sys.mak, build/Makefiles/gmake/?/targetsys.mak:
3530 2005-09-09 Francois Dumont <dums@stlport...>
3532 * src/c_locale_win32.c: Fix _Locale_wchar_[tolower,toupper] implementation
3533 which was wrong when wint_t was not the same typedef as wchar_t.
3535 * build/lib/configure: Removed obsolete configure options --with-msvc and
3536 --with-mssdk. And --no-cygwin option to make build of STLport using -mno-cygwin
3539 * stlport/script_config.h: New header used to put additionnal macros defined
3540 by the configure script.
3542 * stlport/stl/_config.h: Add script_config.h include.
3544 * stlport/config/stl_gcc.h: Use of the new _STLP_NO_CYGWIN macro to set
3545 the right _STLP_NATIVE_INCLUDE_PATH macro value.
3547 * build/Makefiles/gmake/gcc.mak: Change CC and CXX assignment from := to
3548 ?= to take into account an already existing definition.
3550 2005-09-07 Francois Dumont <dums@stlport...>
3552 * build/Makefiles/gmake: Adopt a more traditionnal unixes naming
3553 convention for cygwin and mingw.
3555 * build/Makefiles/nmake: Attempt to make STLport library names more
3556 coherent between unixes and windows systems. Now windows use the 5.0
3557 extension like under unixes even if under unixes the file extension
3558 is before the 5.0 and under windows it will be after. The other
3559 difference is that the debug suffix is 'g' when using gcc and 'd' for
3560 the other compilers. This modification comes from a work to improve
3561 STLport integration within boost build system, bjam.
3563 * stlport/config/stl_msvc.h: Modify MSVC auto link feature to reflect
3564 above modifications.
3566 2005-09-06 Francois Dumont <dums@stlport...>
3568 * stlport/config/stl_gcc.h: Fix cygwin config that do have native
3569 mbstate_t definition.
3571 2005-09-05 Petr Ovtchenkov <complement@users.sourceforge.net>
3573 * repository: RC5, tag STLPORT_5_0_RC5
3575 2005-09-04 Petr Ovtchenkov <complement@users.sourceforge.net>
3577 * build/Makefiles/gmake/targetdirs.mak: in sh's built-in 'test' no -e
3578 option on Solaris, use external 'test' instead.
3580 * build/test/unit/gcc.mak: Fix LDSEARCH recursive problem; fix
3581 options for ld search path for some platforms.
3583 * stlport/cstdlib, stlport/stl/_cmath.h: fix usage of native
3584 ?f and ?l math functions on Solaris; hypot for long double should't
3585 loose precision, if no native C function present.
3587 2005-09-02 Francois Dumont <dums@stlport...>
3589 * stlport/config/stl_msvc.h, stl/_move_construct_fwk.h: Add the
3590 _STLP_NO_MOVE_SEMANTIC configuration macro to remove move semantic
3591 support for MSVC .Net 2002 that seems to be unable to support it.
3592 Maybe we should rather remove this compiler version support...
3594 * test/unit/mvctor_test.cpp: Add _STLP_NO_MOVE_SEMANTIC check.
3596 2005-08-31 Francois Dumont <dums@stlport...>
3598 * build/Makefiles/nmake: Enhance nmake build system to correctly take
3599 into account the .manifest files generated by VS 2005 Beta.
3601 2005-08-29 Petr Ovtchenkov <complement@users.sourceforge.net>
3603 * CVS repository: CVS repository master copied from cvs.stlport.com to SourceForge.
3604 All history preserved!
3606 2005-08-27 Francois Dumont <dums@stlport...>
3608 * stlport/stl/_hashtable.h: Fix move feature integration for the hash_multimap
3611 * stlport/stl/_deque.h: Fix _Deque_base move constructor implementation.
3613 * test/unit/mvctor_test.cpp: Change move constructor tests to use dynamically
3614 allocated string rather than static ones.
3616 * build/test/unit/nmake-vc6.mak: Increase compiler maximum heap size to allow
3617 compilation with stldbg rules.
3619 * build/test/unit/nmake-evc4.mak: Fix macro typo OPT_STLDBG_STATIC ->
3622 * build/Makefiles/gmake/gcc.mak: Filter out the newly added -fuse-cxa-atexit
3623 compilation option for Cygwin and Mingw, the granted libc is not compatible
3626 2005-08-26 Petr Ovtchenkov <ptr@island...>
3628 * stlport/config/stl_solaris.h: C++ comments replaced by C ones,
3629 this file may be included by C sources. Thanks Matti Rintala.
3631 2005-08-25 Francois Dumont <dums@stlport...>
3633 * stlport/stl/_config.h, _epilog.h: Move of stlport namespace alias
3634 definition from _epilog.h to _config.h to avoid redefinition as _epilog.h
3635 is reentrant. This is a workaround for a HPUX aCC compiler bug reported
3638 2005-08-25 Petr Ovtchenkov <ptr@island...>
3640 * build/Makefiles/gmake/gcc.mak: usage of -fuse-cxa-atexit strongly
3641 required for correct order of static objects dtors calls. This is
3642 used in deinitialization of locale-related objects. Thanks Matti Rintala.
3644 * stlport/stl/_config.h: use different namespaces for mulithreaded
3645 and non-multithreaded builds to avoid usage of non-multithreaded
3646 application with multithreaded libstlport and vice versa;
3647 [combination non-mt & mt lead to crash due to different instances
3648 and sizes of allocators for non-mt and mt cases].
3650 2005-08-23 Francois Dumont <dums@stlport...>
3652 * stlport/stl/_config_compat.h: Add check of _STLP_NO_OWN_IOSTREAMS
3653 macro to make remove of its support more explicit thanks to a #error
3656 * stlport/stl/_tree.h, _hashtable.h: Now reference and pointer types
3657 are taken from the _Traits template parameter used to instanciate
3658 the class. Doing so now set::reference and hash_set::reference are
3659 const_reference which is coherent with respective iterators that are
3660 immutable. Moreover it fixes a VC6 bug in reverse_iterator implementation
3661 that was trying to transform a const reference to a simple reference
3662 thanks Russell Miller report.
3664 * test/unit/set_test.cpp: New test case for set reverse_iterator.
3666 2005-08-23 Petr Ovtchenkov <ptr@island...>
3668 * stlport/config/stl_gcc.h: seems HP-UX has no *f variants of math
3669 functions [ceilf, fabsf, etc.]
3671 2005-08-21 Francois Dumont <dums@stlport...>
3673 * stlport/stl/_string.h, _rope.h: Removed __move_traits specialization
3674 for string wstring crope and wrope. There is no reason to believe that
3675 its move construtor will be complete as an STLport user has the right
3676 to specialized the std::allocator<> with char or wchar_t.
3678 * stlport/stl/_function_base.h, _alloc.h: Generalized use of the
3679 __stlport_class struct rather than introducing a new helper type
3680 (__stlport_less or __stlport_alloc) when we need to recognize STLport
3681 implementation from a user one.
3683 2005-08-20 Francois Dumont <dums@stlport...>
3685 * stlport/stl/_list.h, _slist.h: Fix move constructor implementation
3686 thanks Henrik Goldman (www.x-formation.com) report.
3688 * stlport/stl/_alloc.h: Fix type_traits specialization for allocator
3689 type. Now specialization is only apply for the default STLport allocator
3690 implementation and not for potential user specialization.
3692 * stlport/stl/_deque.h, _hashtable.h, _string.h, _tree.h, _vector.h:
3693 Simplification of the move framework application especially in the
3694 definition of the containers __move_traits specialization. Many
3695 _AsMoveSource call replaced by explicit call to the move constructor
3696 when we are sure that there is one.
3698 * test/unit/mvctor_test.cpp: Add many tests to check move contructor
3701 * stlport/stl/_function_base.h: Add type_traits specialization for the
3702 less functor to help the move framework when dealing with associative
3705 * test/unit/mvctor_test.cpp: Add a new test case checking correct move
3706 semantic support for all STL containers.
3708 * stlport/stl/_rope.h: Add move semantic support to the rope class.
3710 2005-08-19 Petr Ovtchenkov <ptr@island...>
3712 * build/Makefiles/gmake/gcc.mak: fix extraction of gcc version.
3715 2005-08-18 Francois Dumont <dums@stlport...>
3717 * stlport/stl/_deque.c: Fix _M_erase range for movable types method
3718 implementation, same bug as below in vector.
3720 * test/unit/mvctor.cpp: Improve test case on vector to reveal bug
3721 below and add same tests for deque which is the other container that
3722 use the move contructor feature.
3724 2005-08-18 Petr Ovtchenkov <ptr@island...>
3726 * INSTALL: add some words about multithread options and libraries.
3728 * stlport/stl/_fstream.c: some code clean to reduce bogus compiler
3729 warnings with -Wall.
3731 * stlport/config/stl_gcc.h: seems HP-UX has no llabs and lldiv.
3733 2005-08-17 Francois Dumont <dums@stlport...>
3735 * stlport/stl/_vector.h: Fix _M_erase range for movable types
3736 implementation thanks Sergej Zagursky.
3738 * build/Makefiles/nmake/vc8.mak: removed /RTC1 compiler option, the platform
3739 SDK compiler do not support it. STLport users will just have to activate it
3740 by themself if they want to.
3742 * stlport/stl/_complex.h: Fix some floating point literals thanks
3743 Ulrich Eckhardt report.
3745 * stlport/stl/_time_facets.c: Complete integration of the '#' MS extension
3746 in the date/time format string, reported thanks to the recent locale time_get
3749 2005-08-14 Francois Dumont <dums@stlport...>
3751 * stlport/config/stl_msvc.h: Fix platform SDK compiler config, even latest
3752 version that announce to be similar to .Net 2005 beta do not throw bad_alloc
3753 from the new operator.
3755 * stlport/cstdio, cstdlib: Replaced some _WIN64 checks by a
3756 _STLP_USING_PLATFORM_SDK_COMPILER check.
3758 * test/unit/cmath_test.cpp: Complete test filtering for Microsoft platform SDK
3761 2005-08-14 Petr Ovtchenkov <ptr@island...>
3763 * test/unit/locale_test.cpp: tests for time_get facet.
3765 * stlport/stl/_time_facets.c: fix processing of %p format
3766 [12:00 PM ~ 12:00, 12:00 AM ~ 00:00].
3768 * src/time_facets.cpp: substitute expanded equivalent format strings
3769 instead of %T, %R, %r.
3771 * stlport/pthread.h: Fix C++ comment in a potentially C header. Thanks Ali
3773 2005-08-11 Francois Dumont <dums@stlport...>
3775 * stlport/stl_user_config.h: Add _STLP_USING_PLATFORM_SDK_COMPILER so that
3776 STLport user can signal they are using platform SDK compiler.
3778 * stlport/config/stl_msvc.h: Add use of _STLP_USING_PLATFORM_SDK_COMPILER.
3780 * test/unit/cmath_test.cpp, valarray_test.cpp: Removed tanh calls when using
3781 AMD 64 platform SDK compiler, looks like they miss something...
3783 2005-08-09 Francois Dumont <dums@stlport...>
3785 * src/fstream.cpp: Final fix of basic_filebuf::open method. Now when open
3786 from a Win32 handle the file will be considered as in binary access with no
3789 2005-08-08 Francois Dumont <dums@stlport...>
3791 * src/fstream.cpp: Fix annoying 64 warning and basic_filebuf::open method
3792 from a low level file descriptor or from an HANDLE (not yet complete).
3793 Thanks Yves Maliet report.
3795 2005-08-07 Francois Dumont <dums@stlport...>
3797 * test/unit/inner_product.cpp: Fix 64 bits portability warning.
3799 * test/unit/cmath_test.cpp: Removed modf tests for Windows 64 platform
3800 as the SDK is missing the underlying modff implementation.
3802 * stlport/cstdlib: Add a div function definition which is missing in the
3805 * stlport/cstdio: Add vsnprintf definition which is missing in Windows
3808 * stlport/exception: Add flexibility for definition of vendor terminate
3809 and uncaught_exception function namespace. Can now be defined independantly
3810 of the unexpected_exception namespace.
3812 * src/dll_main.cpp: Removed explicit turn off of optimization for Microsoft
3813 compilers after .Net 2003. There were no comment to explain why optimizations
3814 were turned off so I guess it was a compiler bug. .Net 2003 being a major
3815 new version I hope this bug has vanish with this version.
3817 * src/fstream.cpp: Removed static assertion for windows file handle to be 32
3818 bits. Under Windows 64, even if the API is still 32 bits handles are still
3819 defined as void*. We will see when code will run under a real Windows 64 platform
3822 * stlport/config/stl_msvc.h: Add configuration for Windows 64 Platform SDK.
3823 Expecially add automatic link to bufferoverflowU.lib to avoid modification
3824 of STLport build system and STLport users projects.
3826 2005-08-06 Petr Ovtchenkov <ptr@island...>
3828 * src/c_locale_glibc/c_locale_glibc2.c: add explicit type conversion
3829 to avoid warnings on 64-bits platforms; thanks Thomas Kho and
3830 Karol Szkudlarek for report.
3832 2005-08-05 Francois Dumont <dums@stlport...>
3834 * stlport/stl/_valarray.h: Add missing _debug.h header inclusion for
3835 _STLP_ASSERT macro definition.
3837 * stlport/stl/debug/_hashtable.h: Fix typo in hashtable move constructor.
3838 Thanks arabesc report.
3840 2005-08-05 Petr Ovtchenkov <ptr@island...>
3842 * doc/FAQ: some words about cross-compilation.
3844 2005-08-04 Francois Dumont <dums@stlport...>
3846 * stlport/stl/_hashtable.c: Fix erase(range) implementation thanks
3849 * test/unit/hash_test.cpp: Add new test for previous fix.
3851 2005-08-04 Petr Ovtchenkov <ptr@island...>
3853 * stlport/csetjmp: sometimes, if native setjmp.h was included first,
3854 the setjmp functions situated in global namespace, not in vendor's
3855 std. This may confuse following csetjmp.
3857 * test/unit/setjmp_header_test2.cpp: test for this.
3859 * build/test/unit/Makefile.inc: ditto.
3861 2005-08-03 Francois Dumont <dums@stlport...>
3863 * INSTALL document updated to signal no longer support of the
3866 2005-08-02 Petr Ovtchenkov <ptr@island...>
3868 * stlport/stl_user_config.h, stlport/stl/_site_config.h:
3869 fix some obsolete comments.
3871 2005-07-31 Petr Ovtchenkov <ptr@island...>
3873 * test/unit/math_aux.h, cmath_test.cpp: are_equals moved into
3874 math_aux.h to reuse in other tests.
3876 * test/unit/sstream_test.cpp: check input to float, inspired by
3879 2005-07-27 Francois Dumont <dums@stlport...>
3881 * stlport/iomanip, stl/_algo.h: Removed some persistent occurences
3882 of __in and __out keywords reserved by Microsoft.
3884 * stlport/stl/_pthread_alloc.c: Fix annoying warning reported by gcc.
3886 * stlport/config/stl_msvc.h: Fix _STLP_VENDOR_UNEXPECTED_STD macro
3887 definition to empty rather than '1'. Could have produce a compilation
3888 error with compilers like Intel C++ used with the VC6 native Standard
3891 * stlport/queue, stl/_ctraits_fns.h, _hashtable.h, _numeric.h, _string.h
3892 _tree.h: Fix macro guards used to avoid inclusion of _function.h or
3893 _function_base.h or functional thanks Dinesh Monga report.
3895 2005-07-26 Petr Ovtchenkov <ptr@island...>
3897 * doc/FAQ: description of pseudo-leaks, thanks Michael Fink.
3899 * STLport (repository): STLport 5.0 RC4
3901 2005-07-25 Francois Dumont <dums@stlport...>
3903 * stlport/config/stl_evc.h: Move _DEBUG definition fix up before
3904 stl_msvc.h inclusion to have correct library link automatically.
3905 Thanks Michael Fink.
3907 2005-07-24 Francois Dumont <dums@stlport...>
3909 * stlport/stl/_string.c, _rope.c: Add instanciation of npos for all
3910 compilers thanks Simon.
3912 * test/unit/string_test.cpp: Add creation of a reference to string::npos
3913 to force compiler to generate memory for it. Used to reveal a link error.
3915 * test/unit/cppunit/cppunit_mini.h: Removed redondant semi column in
3916 CPPUNIT_TEST_SUITE_REGISTRATION macro definition.
3918 * stlport/config/stl_msvc.h, stl_intel.h: Concidering that compilers
3919 emulating MSVC compilers use the same native Standard Library headers
3920 macros _STLP_NEW_PLATFORM_SDK and _STLP_NO_VENDOR_STDLIB_L has been moved
3921 outside the _STLP_MSVC scope. _STLP_GLOBAL_NEW_HANDLER is now defined
3922 only for Intel compiler versions before 9.0.
3924 * stlport/cstdlib, stl/_cmath.h: Because of the previous remark about
3925 emulators of MSVC using MSVC headers, macro checks for global definition
3926 of C math functions has been changed from _STLP_MSVC to _MSC_VER.
3928 2005-07-23 Michael Fink <vividos@users.sourceforge...>
3930 * test/unit/locale_test.cpp: Added creating locale pointer in
3931 test_supported_locale() when no exception handling is available.
3933 * src/stlport.rc: Added version info defines when not available through
3934 windows.h. Happens on evc3 MIPS and evc3 SH3.
3936 2005-07-23 Francois Dumont <dums@stlport...>
3938 * stlport/stl/_string_sum.h: Fix missing return statement in a compare
3941 2005-07-22 Francois Dumont <dums@stlport...>
3943 * stlport/stl/_algo.c: Fix search_n implementation for random access
3944 iterator thanks Jim Xochellis
3946 * test/unit/algo_test.cpp: Add test case for the previous bug thanks
3949 * src/num_get_float.cpp: Fix gcc Mingwin and Cygwin special version with
3950 building with -O2 option.
3952 * build/Makefiles/gmake/gcc.mak: Add -D_REENTRANT definition for cygwin and
3953 -mthreads for mingwin platform to make STLport thread safe like under the
3954 other supported platforms.
3956 2005-06-30 Petr Ovtchenkov <ptr@island...>
3958 * stlport/wchar.h, src/c_locale.c, stlport/stl/_threads.h: fix Netware
3961 2005-06-30 Francois Dumont <dums@stlport...>
3963 * stlport/stl/_rope.h, _rope.c: Duplicate basic_string::npos definition code
3964 in rope implementation to use a "Standard" static const npos definition when
3965 possible depending on the compiler features. Thanks caldwed report.
3967 2005-06-30 Michael Fink <vividos@users.sourceforge...>
3969 * stlport/cstdlib, stdlib.h: Fixed issue with including stdlib.h after
3970 setjmp.h; fix from 2005-06-23 wasn't solving the problem.
3972 2005-06-28 Francois Dumont <dums@stlport...>
3974 * stlport/stl/_hash_func.h: For MSVC .Net compiler we grant the hash<size_t>
3975 specialization rather than the hash<unsigned int> one to avoid 64 bits
3976 warnings when instanciating a hashed container with the size_t key.
3978 * stlport/stl/_istream_iterator.h: Modify istream_iterator implementation
3979 to avoid the default read from the istream even if the istream_iterator
3980 instance is not used.
3982 * test/unit/istmit_test.cpp: Add many tests for the copy_n/istream_iterator
3983 combination. Those tests are no active for the moment as they are failing,
3984 will be fixed after 5.0 release.
3986 * build/test/unit/nmake-vc-common.mak: Tests are no more built with the
3987 _STLP_NO_CUSTOM_IO option, see reason below.
3989 * test/unit/fstream_test.cpp: Add custom_facet test to check that STLport
3990 support instanciation of basic_fstream with something else that the std::char_traits
3991 For the moment the test fail when we try to use the stream for I/O operations
3992 should be fixed after 5.0 release.
3994 2005-06-27 Francois Dumont <dums@stlport...>
3996 * src/locale_impl.cpp: Fix locale implementation to avoid to call facet
3997 destructor when user explicitely required not to do so.
3999 * stlport/stl/_fstream.c: Fix _M_setup_codecvt method implementation to avoid
4000 a bad_cast exception on basic_filebuf construction. At this point the locale
4001 used to instanciate it is the classic locale that might not have the necessary
4002 codecvt facet. The user is then force to call imbue after basic_filebuf
4003 construction otherwise I/O operations will fail. When imbue is invoked, if
4004 the locale still do not have the necesary facet, the stream is put in the fail
4005 state. Thanks Alexander Pototskiy
4007 2005-06-26 Francois Dumont <dums@stlport...>
4009 * stlport/stl/_config_compat.h: Add _STLP_OWN_IOSTREAMS macro for backward
4010 compatibility with library checking it.
4012 2005-06-23 Francois Dumont <dums@stlport...>
4014 * src/complex.cpp, complex_trig.cpp, complex_exp.cpp: Removed code
4015 duplication between float, double and long double version thanks to
4016 some template functions. Thanks an Ulrich Eckhardt idear.
4018 * stlport/cstdlib, stl/stdlib.h: Michael Fink patch to avoid setjmp.h
4019 inclusion problem as stdlib.h contains a setjmp macro definition.
4021 * test/eh/main.cpp: Redirection of std::cout and std::cerr for WinCE
4024 * stlport/config/stl_evc.h: Restore long double support for WinCE, there
4025 is just no *l math functions. Only define _STLP_NATIVE_INCLUDE_PATH
4026 if not already defined, giving the user a chance to override the defaults
4027 for yet unknown SDKs. Thanks Michael Fink and Ulrich Eckhardt.
4029 * build/Makefiles/nmake/evc3.mak, evc4.mak: removed unneeded set of CC
4030 for SHx; already done by setup batch. Thanks Michael Fink.
4032 2005-06-21 Francois Dumont <dums@stlport...>
4034 * stlport/stl/_ios.h, _ios_base.h, _num_get.c, _num_put.c, _complex.c,
4035 _istream.c, _time_facets.c: Fix cast expression for the cached facets,
4036 C casts replaced by static_cast and const added when missing.
4037 Thanks Oliver Stoeneberg report.
4039 * test/unit/unary.h: Replaced old STLport with new style ones. Get sqrt
4040 function in global namespace rather than forcing use of the one in std
4041 namespace, avoids ambiguity with VC6.
4043 * test/unit/resolve_name.cpp: Add _STLP_DO_IMPORT_CSTD_FUNCTIONS definition
4044 at the top of it to force import of C symbols in std even for limited
4047 * stlport/stl/_valarray.h: Add global namespace scope to C function calls
4048 to avoid VC6 ambiguity problem.
4050 2005-06-20 Francois Dumont <dums@stlport...>
4052 * stlport/config/stl_gcc.h: Fix gcc 3.4.4 detection under cygwin thanks
4053 Ulrich Eckhardt report.
4055 * stlport/stl/c_locale.h: Fix _Locale_mask_t definition for Mingwin.
4057 * src/c_locale_win32/c_locale_win32.c: Add static assertion to check
4058 _Locale_mask_t size.
4060 * src/complex_exp.cpp: Replaced complex log10 function static variables
4061 with global constant, avoid multithreaded init problem. Thanks Ulrich
4064 2005-06-17 Francois Dumont <dums@stlport...>
4066 * stlport/stl/_alloc.h: Add initialization of the memory buffer in
4067 allocator::allocate function and reset in allocator::deallocate to
4068 the _STLP_SHRED_BYTE motif when _STLP_DEBUG_UNINITIALIZED is defined
4069 to help track missing initialization issue.
4071 * src/dll_main.cpp: Removed now useless _Node_alloc_helper class.
4073 * stlport/stl/_alloc.c: Add complete cleanup of the __node_alloc static
4074 datas in the _S_chunk_dealloc method, this is important if the clean up
4075 occur before STLport shared lib is unloaded.
4077 * stlport/stl/_alloc.c: Add a static instance of __node_alloc_cleaner in the
4078 _S_alloc_call method and change init number of allocation to 1 to force
4079 release of memory pool only on shared library unload.
4081 2005-06-11 Francois Dumont <dums@stlport...>
4083 * stlport/cstdlib, stl/_cmath.h: Add _STLP_NO_CSTD_FUNCTION_IMPORTS macro
4084 check before import of global C functions in STLport namespace. Required
4085 for VC6 compiler to avoid ambiguity issue.
4087 * src/complex.cpp, complex_epx.cpp, complex_trig.cpp: Scope math function
4088 call with the global namespace to avoid VC6 ambiguity issue. It is safe
4089 for the other compilers as STLport do define those function in global
4092 2005-06-10 Francois Dumont <dums@stlport...>
4094 * stlport/stl/c_locale.h: Fix Cygwin configuration, separate alpha mask
4095 from lower and upper one to avoid all lower character to also be upper
4098 * src/ctype.cpp: Add static assertion to detect platform where
4099 alpha = lower | upper which is wrong for STLport use.
4101 2005-06-10 Francois Dumont <dums@stlport...>
4103 * stlport/stl/_hashtable.c: Fix max_load_factor management, Standard says
4104 that load_factor <= max_load_factor and not <; the function detecting need
4105 for rehash used to launch one even if the number of bucket do not change which
4106 was counter performant. Fix the _M_insert_noresize method that was breaking
4107 element order inserting elements in the middle of 2 equal elements.
4108 Thanks Dieter Freismuth report.
4110 * stlport/config/stl_gcc.h: Fix relative include path for latest gcc cygwin
4113 2005-06-10 Petr Ovtchenkov <ptr@island...>
4115 * build/Makefiles/gmake/mwccnlm.mak: fix compiler version collection.
4117 * build/Makefiles/gmake/netware/extern.mak: fix useful paths.
4119 * src/c_locale.c: put here wrappers for some wfuncs, due to bogus
4120 system libs in Netware.
4122 * stlport/cwchar: use STLport's wchar.h to take wchar_t/wint_t for
4125 * stlport/wchar.h: use correct C declaration of some wfuncs, thanks
4126 again to ugly Netware libs.
4128 * stlport/ciso646, stlport/iso646.h, stlport/wctype.h: headers absent
4131 * stlport/cwctype: Metrowerks define __MSL__, but we don't use MSL libs
4132 if we have STLport for Netware.
4134 * stlport/cstdlib: div function from Novell Netware clib and libc lead to
4137 2005-06-08 Francois Dumont <dums@stlport...>
4139 * build/test/unit: Removed references to the now useless CPPUNIT_MINI
4142 * test/unit/type_traits_test.cpp: Add new test case for trivial destructor
4145 * stlport/stl/_fstream.h: Add missing basic_fstream construction from a
4146 Win32 file handle, was already done for basic_ifstream and basic_ofstream,
4147 thanks Alex Cosealin report.
4149 2005-06-07 Francois Dumont <dums@stlport...>
4151 * build/test/unit/Makefile.inc: Fix syntax error at last line.
4153 2005-06-06 Petr Ovtchenkov <ptr@island...>
4155 * build/lib/configure: add config options for Metrowerks compiler for
4156 Novell NetWare platform [references to root of MW headers/libs and to Novell's
4159 * build/Makefiles/gmake/mwccnlm.mak: fixes for Metrowerk/NetWare.
4161 * build/Makefiles/gmake/app/mwccnlm.mak: idem.
4163 * build/Makefiles/gmake/netware/extern.mak: idem.
4165 * build/lib/mwccnlm.mak: idem.
4167 * build/test/unit/mwccnlm.mak: idem.
4169 2005-06-03 Francois Dumont <dums@stlport...>
4171 * test/unit/locale_test.cpp: Remove the very platform dependent LColl
4172 class that was listing supported locales. STLport already do so and
4173 report it using a runtime_error exception when not supported. When
4174 compiler do not support exception only the C locale is checked.
4176 * build/Makefiles/nmake: Patches from Michael Fink to
4177 - check platform before linking to crtrtti.lib
4178 - check right configuration when using a nmake-evc?.mak file
4179 - update STATUS file.
4181 2005-06-02 Francois Dumont <dums@stlport...>
4183 * src/c_locale_win32/c_locale_win32.c: Add workaround for a Windows PSDK bug
4184 concerning currency international symbol, the separation character is missing.
4186 * src/locale_impl.h, locale_impl.cpp: Fix implementation to make classic locale
4187 implementation a normal instance that is released when the counter reach 0, the
4188 only difference is that no delete is performed on this instance. Idem for classic
4189 locale implementation facets.
4191 * stlport/cwctype: And _GLIBCPP_USE_WCHAR_T check when using GLibC as in this
4192 case wide char functions are not imported in std and must be imported from the
4195 2005-06-01 Francois Dumont <dums@stlport...>
4197 * src/locale_impl.h, locale_impl.cpp: Change classic locale initialization
4198 implementation for limited compiler like MSVC6.
4200 2005-06-01 Petr Ovtchenkov <ptr@island...>
4202 * stlport/stl/c_locale.h: check gcc on MacOS X. Patch by Zdenek Nemec
4204 * build/Makefiles/nmake/evc3.mak, evc4.mak, targets.mak:
4205 support SH3/SH4 platform. Patch by Michael Fink.
4207 * build/Makefiles/nmake/app/evc3.mak, evc4.mak: ditto.
4209 * build/Makefiles/nmake/lib/evc3.mak, evc4.mak: ditto.
4211 * build/lib/configure.bat, src/stlport.rc: ditto.
4213 2005-05-30 Francois Dumont <dums@stlport...>
4215 * src/locale_impl.h, locale_impl.cpp, stlport/stl/_locale.h: An other pass
4216 throught the classic locale initialization. Now all needed static variables
4217 are in _Locale_impl::make_classic_locale method. Removed useless _Stl_aligned_buffer
4218 union use in this locale initialization. Removed now useless _Locale_impl::free_classic_locale
4221 2005-05-30 Petr Ovtchenkov <ptr@island...>
4223 * stlport/stl/_windows.h: worry about Windows CE when check Interlocked
4224 API for MIPS. Patch by Michael Fink.
4226 * build/lib/configure.bat: remove the -p option by autodetecting platform.
4227 Patch by Michael Fink.
4229 * build/Makefiles/nmake/evc3.mak, evc4.mak: corrects the evc4 makefiles
4230 to always use the /GF switch [string pooling]. Patch by Michael Fink.
4232 * doc/README.evc3, doc/README.evc4: reflect changes above.
4233 Patch by Michael Fink.
4235 * stlport/errno.h, stlport/time.h: when building for evc, including
4236 errno.h and time.h often outputs the message in the #pragma statement
4237 that including this file won't include the native one, since there is no
4238 native include file. Now the text is only output when not building the library
4239 and when the file is included directly, not via another STLport header file.
4240 [Patch by Michael Fink.]
4242 2005-05-29 Francois Dumont <dums@stlport...>
4244 * test/unit/locale_test.cpp: Add opendir returned value when listing
4245 installed locale under linux.
4247 * build/Makefiles/gmake: Patch from Zdenek Nemec for Mac OS X support.
4249 2005-05-27 Francois Dumont <dums@stlport...>
4251 * src/locale_impl.cpp: Add an initialization segment specification to make
4252 global static variable ios_base::Init instance initialization prioritized
4253 compare to STLport static global variable. iostreams like cout can be used
4254 in global static variable initialization.
4256 2005-05-26 Francois Dumont <dums@stlport...>
4258 * build/Makefiles/nmake/evc4.mak: Patch from Ulrich Eckhardt to use CC
4259 environment variable defined by WCE*.bat script rather than redefining
4262 * src/locale.cpp, locale_impl.cpp, locale_catalog.cpp: New pass to move
4263 static global variable in function to make initialization order clear.
4265 2005-05-25 Francois Dumont <dums@stlport...>
4267 * stlport/ciso646: Creation of this missing C++ standard header STLport
4270 * stlport/stl/_istream.h, _num_get.c, _algo.c, _monetary.c, _time_facets.h,
4271 _time_facets.c: Replaced occurences of __in and __out reserved by Microsoft.
4273 2005-05-24 Francois Dumont <dums@stlport...>
4275 * stlport/headers: Patch from Michael Fink to avoid inclusion of headers
4276 not available under evc3.
4278 * test/unit/*_header_test.cpp: Fix tests for no iostreams mode.
4280 * src/locale_impl.cpp, locale_impl.cpp: Modify implementation to force
4281 correct initialization order of static instances.
4283 * stlport/strstream: Add _ioserr.h file to avoid inclusion in no iostreams
4286 2005-05-23 Petr Ovtchenkov <ptr@island...>
4288 * stlport/stl/_config.h: detect endianness for Intel's 64bit Pentium and
4289 Itanium processors. Thanks Albrecht Fritzsche for contribution.
4291 2005-05-20 Francois Dumont <dums@stlport...>
4293 * build/test/eh: Patch from Michael Fink to add EVC4 support for this test
4296 * src/fstream.cpp: Use of Wlodek Szafran implementation for the _Filebuf_base::_M_read
4297 method which is more performant than the previous one.
4299 * test/unit/fstream_test.cpp: Add of a test for the special Win32 file format.
4301 * test/unit: Add of many test to check Standard C/C++ headers independancy
4302 and correct C header implementation.
4304 2005-05-18 Francois Dumont <dums@stlport...>
4306 * src/fstream.cpp: Fix buffer overflow in _Filebuf_base::_M_read method
4307 for the Win32 platform implementation thanks Wlodek Szafran report.
4309 * src/c_locale_dummy/c_locale_dummy.c: Patch from Michael Fink for wrong C
4312 2005-05-17 Petr Ovtchenkov <ptr@island...>
4314 * test/unit/locale_test.cpp: some fixes in moneypunct test, related
4315 to international currency format; some problems still remains, due to
4316 unclear specifications---if international currency 3-chars abbreviation
4317 used in suffix form, additional space will be appended
4318 ['1 234.56 RUR ']. This is due to intl_fmp.curr_symbol() == "RUR ",
4319 and the last is conform to OpenGroup spec.
4321 2005-05-16 Petr Ovtchenkov <ptr@island...>
4323 * src/c_locale_stub.cpp: "stub" implemntation moved into
4324 c_locale_dummy/c_locale_dummy.c, this file removed
4326 * src/c_locale.c: include c_locale_dummy/c_locale_dummy.c, in case of
4327 no real locale implementation.
4329 * src/c_locale_dummy/c_locale_dummy.c: This is a "stub" implementation
4330 of the "c_locale.h" interface, intended for operating systems where
4331 we have not yet written a real implementation. A C++ library using
4332 this stub implementation is still standard-conforming, since
4333 the C++ standard does not require that any locales other
4334 than "C" be supported.
4336 * build/lib/Makefile.inc: src/c_locale_stub.cpp removed.
4338 * src/facets_by_name.cpp: add comments in the _Init_monetary_formats.
4340 * src/c_locale_glibc/c_locale_glibc2.c: annotate some monetary-related
4343 2005-05-14 Petr Ovtchenkov <ptr@island...>
4345 * build/Makefiles/gmake/aCC.mak: HP's aCC compiler and HP-UX os support.
4346 This isn't really checked and should be fixed on real system.
4348 * build/Makefiles/gmake/app/aCC.mak, gmake/lib/aCC.mak: ditto.
4350 * build/Makefiles/gmake/hp-ux/extern.mak, lib.mak: ditto.
4352 * build/Makefiles/gmake/hp-ux/rules-install-so.mak, rules-so.mak: ditto.
4354 * build/Makefiles/gmake/hp-ux/gmake/hp-ux/sys.mak: ditto.
4356 * build/lib/aCC.mak: ditto.
4358 * build/test/unit/aCC.mak: ditto.
4360 * build/test/unit/gcc.mak: remove dbg-shared tag from default build;
4361 if you need unit tests with debug info and without _STLP_DEBUG, make this
4364 2005-05-14 Francois Dumont <dums@stlport...>
4366 * stlport/stl/_config.h, _config_compat_post.h, _cwchar.h, _epilog.h:
4367 Patch from Albrecht Fritzsche to remove C++ comment from files accessible
4368 by a pure C compiler.
4370 * stlport/stl/c_locale.h: idem.
4372 * src/c_locale.h, c_locale_glibc/c_locale_glibc2.h: idem.
4374 * src/gcc_localeinfo.h, c_locale_win32/c_locale_win32.c: idem.
4376 * build/Makefiles/gmake/gcc.mak: Add the -ansi option to the C compiler
4377 command to know if any regression occur concerning use of C++ comment
4380 2005-05-13 Francois Dumont <dums@stlport...>
4382 * src/c_locale_win32/c_locale_win32.c: Improve the locale name recognition
4383 system to be more unix compliant. Now you can pass locale name like
4384 lang_country[.codepage] with lang being one of the ISO 639 values and
4385 country one of the ISO 3166 ones.
4387 * test/unit/locale_test.cpp: Add a test case for the ctype facet.
4389 * test/unit/locale_test.cpp: Now list all the installed locales under
4390 Win32 to test more locale than the simple french one.
4392 * stlport/config/stl_msvc.h: Removed _WINDLL macro check when trying
4393 to guess what type of library (dynamic/static) the STLport user want
4394 to link with. _WINDLL is defined when generating a dll but it do not
4395 imply anything on the user wish.
4397 * src/ctype.cpp: Improve the ctype::scan_is method, you can now scan
4398 for a character conforming to several ctype_base::mask and not only to one.
4400 * src/ctype.cpp: Idem previous for ctype::scan_not which returns the first
4401 character that do not conform to any of the passed mask.
4403 * test/eh: Restore exception handling test suite. Removed some equality
4404 tests that is no more valid for hash containers, this kind of test
4405 is better in the unit tests. Add makefiles for MSVC compilers.
4407 * stlport/stl/_tree.c: Fix _M_insert method that was leaking in case of
4408 exception thrown by the comparison operator, reported by eh tests.
4410 2005-05-09 Francois Dumont <dums@stlport...>
4412 * stlport/stl/_ctype.h, src/ctype.cpp: Reenforce data encapsulation of the
4413 ctype<char> template specialization class. class static arrays
4414 _S_upper, _S_lower, _S_classic_table removed from the definition and hiden
4417 * src/dll_main.cpp: Change _STLP_UNIX macro check in _STLP_PTHREADS check
4418 as per thread allocator is only supported if the Posix pthread API is used,
4419 thanks a Albrecht Fritzsche remarked.
4421 2005-05-07 Francois Dumont <dums@stlport...>
4423 * stlport/config/stl_gcc.h: Patch from John Smith for Mac OS X support.
4425 * test/unit/locale_test.cpp: Idem previous.
4427 * build/Makefiles/gmake/cygming/lib.mak, sys.mak: Import lib extension
4428 change from .lib to .dll.a for Mingw like under Cygwin. ld linker
4429 looks for .dll.a before .lib, avoid conflict with Cygwin lib.
4431 2005-05-07 Petr Ovtchenkov <ptr@island...>
4433 * stlport/errno.h: use C++ 'using' construction only for C++. Thanks Gary.
4435 * build/Makefiles/gmake/lib/gcc.mak: option for libname for Darwin.
4437 * build/Makefiles/gmake/app/mwccnlm.mak: build for Novell NetWare 5
4438 with MetroWerks 7 and 8 compilers.
4440 * build/Makefiles/gmake/lib/mwccnlm.mak: ditto
4442 * build/lib/mwccnlm.mak: ditto
4444 * build/Makefiles/gmake/mwccnlm.mak: ditto
4446 * build/Makefiles/gmake/netware/extern.mak: ditto
4448 * build/Makefiles/gmake/netware/lib.mak, sys.mak: ditto
4450 * src/_stdio_file.h, num_get_float.cpp, num_put_float.cpp: ditto
4452 * stlport/cstdio, cwchar, cwctype, stdio.h, wchar.h: ditto
4454 * stlport/config/stl_mwerks.h: ditto
4456 * stlport/stl/_config.h, _fstream.h, _hashtable.c, _sstream.c: ditto
4458 * stlport/stl/_threads.h, c_locale.h, char_traits.h: ditto
4460 * build/Makefiles/gmake/sysid.mak: treat mwccnlm as cross-compiler,
4461 set correct TARGET_OS and OS-related macros.
4463 * stlport/stl/_valarray.h: remove exhaustive this->.
4465 2005-05-04 Francois Dumont <dums@stlport...>
4467 * stlport/config/stl_msvc.h: Change configuration for MSVC .Net 2003 and
4468 2005 that seems to have a bug in the namespace management.
4470 * stlport/stdlib.h: Add errno.h inclusion from this file for gcc mingw
4471 as this compiler version do define errno macro in stdlib.h as MSVC do.
4473 2005-05-03 Francois Dumont <dums@stlport...>
4475 * stlport/stl_user_config.h, stl/_site_config.h, config/stl_gcc.h, _prolog.h,
4476 _epilog.h: Use strict Ansi C comments (/**/) for headers accessible thought
4477 the STLport C headers.
4479 * stlport/C headers: Cleaned from C++ style comments.
4481 2005-05-02 Francois Dumont <dums@stlport...>
4483 * build/Makefiles/nmake/vc-common.mak: Restore of LDFLAGS_A_REL introduce
4484 the 2004-10-30 and lost the 2005-04-16, it avoids warning due to use
4485 of the whole program optimization with VC.Net 2003 and 2005.
4487 * stlport/stl/_string_io.c: Modification of the basic_string i/o operators
4488 in the way it deals with the size_type and streamsize difference; it is
4489 equivalent with the former one but do not generate warning with gcc
4492 * stlport/stddef.h, stdlib.h, errno.h: Fix issue under MSVC compilers where
4493 native stdlib.h and stddef.h are defining errno macro without including
4494 errno.h forbiding STLport to do so. Now errno.h will report this problem with
4497 * test/unit/test_errno.cpp: Improvement of the test to reveal the previous
4500 2005-05-02 Petr Ovtchenkov <ptr@island...>
4502 * makesystem (repository): restore experimental support of MetroWerks
4503 compiler for NetWare, with help of GNU make and Cygwin environment.
4505 2005-04-29 Francois Dumont <dums@stlport...>
4507 * stlport/stl/_time_facets.c: gcc warnings reveal that we were missing some
4508 ctype::widen method call to compare things like month or day names.
4509 Also simplified implementation of the __match and __get_formatted_time that
4510 do not really need all the template parameters passed to it.
4512 * stlport/stl/_num_put.c: Add a cast to make call to the function min more
4513 clear, it will perhaps help EVC++ builds correctly.
4515 * src/strstream.cpp, stlport/stl/_sstream.c: Removed static assertion
4516 replaced by modified implementation that takes into account the difference
4517 between size_t and streamsize.
4519 2005-04-28 Francois Dumont <dums@stlport...>
4521 * test/unit/limits_test.cpp: Improve integral types limit test for type
4522 of unknown sign. In this case we check the min value of this integral type,
4523 if 0 the type is unsigned. Moreover we check, except for the bool type,
4524 the sign of -1 cast to the integral type, bool is a special type that
4525 generate warning when built from -1 (MSVC).
4527 * src/ctype.cpp: Creation of a small helper structure to check the validity
4528 of a wchar_t value used as an index. This helper struct takes into account
4529 the compiler representation of the wchar_t type, is it a sign type or not.
4530 This helper avoids warning when wchar_t is unsigned.
4532 * src/num_get.cpp: Removed unused _Initialize_get_digit function and
4533 associated narrow_digits and narrow_xdigits arrays.
4535 2005-04-28 Petr Ovtchenkov <ptr@island...>
4537 * stlport/stl/_sstream.h, _num_put.c: __in replaced by __imode, __out
4538 by __omode or __oi due to MS privatize __in and __out. Thanks Michael Fink.
4540 2005-04-27 Francois Dumont <dums@stlport...>
4542 * src/fstream.cpp: Fix Win32-64 file stream implementation. _M_read and
4543 _M_write can now correctly handle respectively read and write of really
4544 big buffers ( > 2Go)
4546 * using/iosfwd.h, stlport/strstream.h, stl/_rope.h, _rope.c, _complex.h: Removed
4547 references to the _STLP_USE_NEW_IOSTREAMS macro, STLport only support "new"
4550 * test/unit/max_test.cpp, min_test.cpp: Add tests to check that min and
4551 max are not defined as macros.
4553 * test/fstream_test.cpp: Add check in creation of test_file.txt
4554 as following tests depends on its content.
4556 * src/strstream.cpp, stdio_streambuf.cpp: Fix potential issue because of
4557 the difference between streamsize and size_t of ptrdiff_t.
4558 Add static assertion to clearly specify how streamsize must be to have
4561 * stlport/stl/_num_put.c, _num_get.c, _fstream.c, _moneraty.c: ditto.
4563 * src/ctype.cpp: Restore check on wchar_t positivity as according
4564 2005-02-22 Petr Ovtchenkov reports wchar_t can be signed.
4566 2005-04-26 Francois Dumont <dums@stlport...>
4568 * src/num_get_float.cpp: Fix mingwin support for 64bits integer type
4569 thanks Wlodek Szafran
4571 2005-04-25 Francois Dumont <dums@stlport...>
4573 * stlport/stl/_time_facets.c: Fix __pos type in __match function and removed
4574 unused __max_pos definition and initialisation.
4576 * src/c_locale_win32/c_locale_win32.c: Add some cast to remove warnings.
4578 * stlport/stl/_moneraty.c: Fix __witdh definition to use streamsize rather
4579 than size_t to avoid warnings.
4581 2005-04-25 Petr Ovtchenkov <ptr@island...>
4583 * build/test/gcc.mak: workaround for [bug?] gmake, that sometimes lose
4584 increment of target-specific macro and, may be, under condition.
4585 Thanks Jeff Williams.
4587 * build/Makefiles/gmake/icc.mak: add icc 8.1 compiler-specific libs
4589 * build/Makefiles/gmake/icc.mak: detect icc version; add includes
4590 from compiler to include path
4592 * test/unit/cppunit/test_main.cpp, cppunit_mini.h: add option -x, run all
4593 except specified CLASS::TEST.
4595 2005-04-23 Francois Dumont <dums@stlport...>
4597 * stlport/stl/_ioerr.h: #error message modification thanks Michael Fink.
4599 2005-04-22 Francois Dumont <dums@stlport...>
4601 * stlport/stl/_istream.c: Fix _M_read_buffered function implementation,
4602 there used to be a wrong implicit conversion from streamsize to ptrdiff_t,
4603 which fail when sizeof(streamsize) > sizeof(ptrdiff_t).
4604 See 2005-04-21 Petr report.
4606 * test/unit/: Replaced all _STLP_NO_IOSTREAMS occurences with the STLport
4607 internal equivalent _STLP_USE_NO_IOSTREAMS. The first one is defined
4608 by the client while the second depends on the first and on the compiler
4609 abilities, makes the unit tests more portable.
4611 * stlport/stl/_cmath.h: Fix for Intel C++ compiler that also have all
4612 C math functions in global namespace.
4614 2005-04-21 Francois Dumont <dums@stlport...>
4616 * stlport/stl/_hashtable.h: Extend the hashtable template methods extension
4617 to the method computing the bucket from the key thanks Dominik Siatkowski.
4619 * stlport/stl/_threads.h: Disable 64 bits portability warning for
4620 MSVC compilers. MSVC do not see that the called function comes from
4621 a macro that is different under Win32 and Win64.
4623 2005-04-21 Petr Ovtchenkov <ptr@island...>
4625 * test/unit/sstream_test.cpp, fstream_test.cpp: integral type for
4626 ptrdiff_t shorter than for streamsize; this cause problem on
4627 Win32 platform, that support files larger than 4GB.
4628 Thanks Timothy Tenebekov for report.
4630 2005-04-20 Francois Dumont <dums@stlport...>
4632 * stlport/stl/debug/_debug.c: Small Borland compiler fix to avoid call to
4633 vsnprintf before version 0x550 thanks esanfo.
4635 * src/dll_main.cpp: Fix bug reported by Intel C++ (icl) compiler.
4637 2005-04-20 Petr Ovtchenkov <ptr@island...>
4639 * src/num_get_float.c: use uint64_t for 64-bit, but unsigned long long
4640 for constants. This fix problem on linux x86_64 [amd64].
4642 2005-04-16 Francois Dumont <dums@stlport...>
4644 * test/unit/cppunit/test_main.cpp: Patch from Michael Fink to improve
4645 the macro filter for including windows.h (UNDER_CE rather than WIN32).
4647 * build/test/unit/STATUS: Update from Michael Fink and myself.
4649 * build/Makefiles/nmake: Apply Michael Fink patch to generate .pdb file
4650 even in release mode and to install them in bin and lib folders next to
4651 the .dll and .lib files.
4653 * stlport/stl/_algobase.c: Add missing const in return type of the const
4654 version of find specialized for const char*.
4656 2005-04-16 Petr Ovtchenkov <ptr@island...>
4658 * stlport/stl/_algobase.c: memchr return NULL if value not found,
4659 while find() [specialization for char *] should return last
4660 [see record 2005-02-27 below]. Thanks Joshua Berne for report.
4662 * test/unit/find_test.cpp: if char not found, char specialization of
4663 find() should return last, not NULL.
4665 2005-04-14 Petr Ovtchenkov <ptr@island...>
4667 * stlport/stl/_list.h, _slist.h: add this-> resolution to get_allocator
4668 [required in the member templates to resolve possible ambiguity]
4670 2005-04-13 Francois Dumont <dums@stlport...>
4672 * stlport/stl/_list.h, _slist.h: Add missing get_allocator() call when
4673 building temporary list or slist instances in insert methods.
4675 2005-04-12 Petr Ovtchenkov <ptr@island...>
4677 * stlport/errno.h: solution 2005-04-12 not useful. Simplified schema,
4678 semantically equivalent to Francois', but without extra function definition
4679 [see records 2005-03-31 and 2005-04-01]
4681 2005-04-12 Petr Ovtchenkov <ptr@island...>
4683 * stlport/errno.h: check if we undefine previously defined errno
4685 2005-04-11 Petr Ovtchenkov <ptr@island...>
4687 * stlport/errno.h: save original errno definition
4689 2005-04-10 Petr Ovtchenkov <ptr@island...>
4691 * STLport (repository): STLport 5.0 RC3
4693 2005-04-08 Francois Dumont <dums@stlport...>
4695 * test/unit/locale_test.cpp: Add __FreeBSD__ macro check for the workaround
4696 announced as Free BSD specific by the comment next to it.
4698 * stlport/stl/_config.h: Add undef of _STLP_USE_DYNAMIC_LIB when in
4699 NO_IOSTREAMS mode, this macro was generating buggy code in this case
4700 for some commpilers (gcc mingwin).
4702 2005-04-07 Francois Dumont <dums@stlport...>
4704 * build/lib/nmake-vc-common.mak: Removed useless add of STLport/lib to
4705 library paths when building STLport lib.
4707 * build/Makefiles/nmake/*: Removed useless specification of the MSVC default
4708 install directory, all the job is done by the vcvcars32.bat script that sets
4709 the LIB env variable to the real MSVC install directory.
4711 * test/unit/unordered_test.cpp, locale_test.cpp: Removed gcc mingw warnings.
4713 * build/Makefiles/nmake/icl.mak, app/icl.mak, lib/icl.mak: Removed the
4714 whole program optimization option, looks like it is confusing icl.
4716 * stlport/stl/debug/*.h: Removed useless _Get_base non-const overload.
4717 In addition to being useless Intel compiler emit compilation error about it.
4719 2005-04-06 Petr Ovtchenkov <ptr@island...>
4721 * test/unit/cppunit/test_main.cpp: windows.h required here
4722 [see 2005-04-04; patch by Michael Fink].
4724 * stlport/stl/_istream.h: __is replaced by __istr, due
4725 to MS privatize __is.
4727 * stlport/stl/_num_get.h: __in replaced by __ii, due to MS
4730 * stlport/stl/_config.h: Visual C++ 8 uses _M_AMD64 to identify
4731 EM64T and AMD64 platforms [thanks Mike Roberts].
4733 2005-04-05 Francois Dumont <dums@stlport...>
4735 * stlport/config/stl_evc.h: apply patch from Michael Fink to add support for
4738 * stlport/stl/_cmath.h: An other adaptation to the Intel C++ compiler.
4740 * build/lib/nmake-vc-common.mak, test/unit/nmake-vc-common.mak: Removed check
4741 of STLP_BUILD_FORCE_[STATIC,DYNAMIC]_RUNTIME environment variables,
4742 moved in a common build system file.
4744 * build/Makefiles/nmake/vc-common.mak: Add checks of
4745 STLP_BUILD_FORCE_[STATIC,DYNAMIC]_RUNTIME variables.
4747 * build/lib/configure.bat: Add a clean option to remove the hidden
4748 Makefiles/config.mak file.
4750 * stlport/stdexcept: Disable 'non dll-interface class used as base' warning
4751 when building STLport dll linked with the static runtime.
4753 2005-04-04 Francois Dumont <dums@stlport...>
4755 * test/unit/mfunptr_test.cpp: Add necessary macro checks for a test
4756 that require partial template specialization compiler support.
4758 2005-04-04 Petr Ovtchenkov <ptr@island...>
4760 * errno.h, time.h, test_errno.cpp: evc3 and evc4 has no errno.h
4761 and time.h headers [patch by Michael Fink].
4763 * stl_evc.h, _windows.h, test_main.cpp: workaround to not include
4764 <windows.h> in STLport headers (it is still needed for building
4765 the lib and the unit tests, but that should be no problem).
4766 Occurences of GetCurrentProcess() used in _STLP_ABORT were replaced
4767 with the result of the inline function, which returns a pseudo-
4768 HANDLE value. [patch by Michael Fink]
4770 * cwchar, wchar.h, stl/_cwchar.h: fix access to mbstate and wint_t
4773 * build/Makefiles/gmake/sysid.mak, app/gcc.mak, lib/gcc.mak:
4774 FreeBSD before 5.3 require linkage with libc_r, while 5.3 and
4775 later use libpthread.
4777 * test/unit/locale_test.cpp: add std:: namespace qualifier for
4778 gcc 3.3.2 and/or FreeBSD.
4780 * libstlport, test/unit: library build and most tests pass for
4781 FreeBSD 5.3 and FreeBSD 4.10.
4783 2005-04-02 Francois Dumont <dums@stlport...>
4785 * stlport/cstdlib: Fix missing div taking long definition for VC71.
4787 2005-04-01 Francois Dumont <dums@stlport...>
4789 * stlport/errno.h: Add comments to explain the file code.
4791 * stlport/stl/_string_io.h: Yet an other fix to the i/o basic_string
4792 operators that was not right under cygwin/mingwin.
4794 * build/Makefiles/gmake/gcc.mak: Merge the 2 distinct cygmin blocks
4795 in one and add -Wall and -Wsign-promo warnings.
4797 2005-04-01 Petr Ovtchenkov <ptr@island...>
4799 * test/unit/test_errno.cpp: fix test, errno may be non-zero without
4800 any error, but it reflect error code after some function fail.
4803 * test/unit/mfunptr_test.cpp: add step-by-step test how compiler
4804 recognize bind of member function for find_if. Not all compilers may
4805 understand this. Thanks Markus for test idea.
4807 2005-03-31 Francois Dumont <dums@stlport...>
4809 * stlport/errno.h: Fixed for MSVC compilers, should still be fine for
4812 * test/unit/test_errno.cpp: Modified to be a real unit test. Also test
4815 2005-03-30 Francois Dumont <dums@stlport...>
4817 * stlport/stl/_fstream.c: Try to fix ambiguous type deduction in a max
4820 * stlport/stl/_cmath.h: Fix missing non Standard hypot function under
4821 WinCE thanks Michael Fink.
4823 * stlport/stl/_cmath.h: Attempt to fix the WinCE math function support
4824 where neither *f nor *l functions are present even if the compiler
4825 support the long double type.
4827 2005-03-30 Petr Ovtchenkov <ptr@island...>
4829 * stlport/assert.h, float.h, iso646.h, limits.h, errno.h:
4830 added in accordance with Standard D.5 [compatibility with standard
4831 C library] to prevent wrong std interpretation in ill-formed native
4832 headers [definition of namespace std in C headers].
4834 * test/unit/test_errno.cpp: check correct processing of errno.h
4837 * build/test/eh: build eh tests again.
4839 * test/eh/LeakCheck.h, TestClass.cpp, TestClass.h: fix and clear.
4841 * test/eh/test_hash_map.cpp, test_hash_set.cpp: hash_set/hash_map
4842 has no == operator [no container equality]; this fix is quick-and-dirty
4844 2005-03-29 Petr Ovtchenkov <ptr@island...>
4846 * build/Makefiles/gmake/app/rules.mak, freebsd/rules-so.mak,
4847 linux/rules-so.mak, openbsd/rules-so.mak, sunos/rules-so.mak:
4848 fix link sequence---the end objects should be really last, i.e. after libs.
4849 This affected by linkage without libstdc++.
4851 * stlport/stl/_cwchar.h, stlport/wchar.h: workarounds for FreeBSD.
4853 * due to change in link sequence most tests [including exceptions] pass
4856 * stlport/mmemory.h: garbage, removed.
4858 * stlport/export: ditto.
4860 2005-03-28 Francois Dumont <dums@stlport...>
4862 * stlport/stl/_istream.h, _ostream.h: Fix assignment operators prototypes
4863 for the sentry struct. Thanks -Weffc++ feature of gcc.
4865 * build/Makefiles/gmake/cygmin/rules-install-so.mak: Add missing folder
4866 creation in the install process thanks Charlemagne report.
4868 * build/Makefiles/nmake/icl.mak: Fix Intel compiler build system under
4871 2005-03-28 Petr Ovtchenkov <ptr@island...>
4873 * src/num_put_float.cpp: in FreeBSD no *cvt* functions now, use sprintf;
4875 * stlport/config/stl_gcc.h: in FreeBSD no math *l functions and llabs.
4877 * test/unit/string_test.cpp: more test with assignment.
4879 2005-03-25 Petr Ovtchenkov <ptr@island...>
4881 * stlport/stddef.h: fix typo in header id---this mistake prevent
4882 inclusion _epilog.h.
4884 * test/unit/epilog_test.cpp: regression test for bug above.
4886 * stlport/cstdio: fix header id to avoid possible errors.
4888 2005-03-24 Petr Ovtchenkov <ptr@island...>
4890 * build/Makefiles/gmake/lib/gcc.mak, build/Makefiles/gmake/app/gcc.mak:
4891 code reorganization to simplify platform configuration with or without
4892 -nostdlib [avoid link with libstdc++ or libestdc++]; now link without
4893 libstdc++/libestdc++ supported on Linux and OpenBSD.
4895 * build/Makefiles/gmake/openbsd/rules-so.mak: idem.
4897 * build/Makefiles/gmake/freebsd/rules-so.mak: idem.
4899 * src/num_put_float.cpp: clean float convertions for OpenBSD and FreeBSD;
4900 OpenBSD and FreeBSD use STLport code instead of sprintf now.
4902 * stlport/stl/_cwchar.h: allow masquarade to use mbstate_t from native
4903 cwchar header on OpenBSD.
4905 * stlport/config/slt_gcc.h: llabs and *l math functions absent in OpenBSD;
4906 define __unix, that missed in OpenBSD.
4908 2005-03-23 Petr Ovtchenkov <ptr@island...>
4910 * build/Makefiles/gmake/app/gcc.mak, build/Makefiles/gmake/lib/gcc.mak:
4911 incorporate gcc language support library into libstlport.so
4912 [add ~100k to library], but libsupc++ don't required more in link stage
4913 for applications and libraries that use stlport, as in case with
4916 2005-03-22 Francois Dumont <dums@stlport...>
4918 * stlport/stl/_string_io.c: Fix basic_string stream output operator
4919 implementation for cygwin.
4921 * stlport/stl/_cmath.h: Add fixes for cygwin support that handle long double
4922 but do not have *l maths function per default.
4924 * src/complex_exp.cpp: Fix call to logl, replaced by call to log.
4926 * src/complex_trig.cpp: Fix mingw support by checking M_LN2l existence
4929 * test/unit/copy_test.cpp: Change test cases to avoid use of iostreams.
4931 * test/unit/string_test.cpp: Add a small check to test use of istream width
4932 in the input operator.
4934 * stlport/cstdlib, stlport/config/stl_msvc.h, stl_gcc.h: Creation of the
4935 _STLP_NO_VENDOR_STDLIB_L macro to report support of the llabs and lldiv
4938 2005-03-21 Petr Ovtchenkov <ptr@island...>
4940 * stlport/stl/_cmath.h: removed logf, expf, sinf, cosf; option
4941 -fno-builtin passed to gcc compiler solve the problem with uClibc;
4942 this imply same option in building uClibc, as it is in normal uClibc build.
4943 This is partial rollback of changes 2005-03-16.
4945 * build/lib/configure, build/Makefiles/gmake/gcc.mak: add ability to pass
4946 extra flags to C++ compiler
4948 2005-03-18 Francois Dumont <dums@stlport...>
4950 * test/unit: Modified some test in order to check the _STLP_NO_IOSTREAMS
4951 mode. This new mode of tests reveals the following bugs:
4953 * stlport/stl/_rope.c: Add check of _STLP_USE_NO_IOSTREAMS macro before
4954 include of iostream header.
4956 * src/dll_main.cpp, stlport/stl/_string_fwd.h: Removed implementation
4957 of __get_c_string, moved to _string.h header, once string has been defined,
4958 as an inline function.
4960 2005-03-18 Petr Ovtchenkov <ptr@island...>
4962 * src/complex_trig.cpp: avoid call log functions during static
4963 initialization, if possible.
4965 2005-03-17 Francois Dumont <dums@stlport...>
4967 * stlport/stl/_string_io.h: Fix implementation that used to think that
4968 size_t and streamsize was simply aliases. Thanks Jay Amin report.
4970 * stlport/config/_prolog.h: Add comment about the reason of alignment
4971 specification when using MSVC compilers. Fix alignment for Win64 platform.
4973 * stlport/stl/_alloc.h: Fix _ALIGN enum definition for _Win64 platform.
4975 * src/string_w.cpp: Fix wrong class export under debug mode thanks
4978 * build/Makefiles/nmake: Preparation of the build system for icl (Intel cl
4979 compiler (mimic cl compiler from Microsoft).
4981 2005-03-16 Petr Ovtchenkov <ptr@island...>
4983 * stlport/stl/_cmath.h: added logf, expf, sinf, cosf---this fix
4984 uClibc 0.9.27/gcc problem. Fix one macro for declaration math
4985 functions in case of absent *f functions.
4987 2005-03-16 Francois Dumont <dums@stlport...>
4989 * stlport/config/*: Clean native header include path macro definition.
4990 Removed many useless definition simply recreating the default behavior.
4991 Removed the unreferenced _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH macro.
4993 * stlport/stl/_site_config.h: Update relative path headers macros
4994 documentation to reflect more accurately default behavior and add
4995 the unreference _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH macro.
4997 2005-03-15 Francois Dumont <dums@stlport...>
4999 * stlport/stl/_fstream.h: Fix _Noconv_input helper class default implementation.
5000 Returns traits::eof() rather than 0.
5002 2005-03-15 Petr Ovtchenkov <ptr@island...>
5004 * src/complex.cpp, complex_exp.cpp, complex_io.cpp, complex_trig.cpp:
5005 use achievements in _cmath.h---use overloaded funcs; mascarade from
5006 complex_impl.h not required more.
5008 * src/complex_impl.h: deleted.
5010 * test/unit/cmath_test.cpp: check nested sqrt(sqrt)---possible problem with macro
5012 2005-03-14 Francois Dumont <dums@stlport...>
5014 * stlport/config/stl_msvc.h: _STLP_SAME_FUNCTION_NAME_RESOLUTION_BUG notion
5015 removed, impossible to reproduce, maybe fixed by the #pragma intrinsic/function
5018 * stlport/stl/_cmath.h, cstdlib: Fix .Net 2003 and .Net 2005 beta support.
5020 * stlport/stl/_cmath.h: Removed _STLP_SAME_FUNCTION_NAME_RESOLUTION_BUG notion,
5021 no more _STLP_DO_* macros.
5023 * test/unit/valarray_test.cpp: New tests to check right compilation of
5024 transcendentals valarray functions.
5026 * stlport/stl/_valarray.h: Replaced all the _STLP_DO_* macros by real
5029 * src/fstream.cpp: Add INVALID_SET_FILE_POINTER definition when missing for
5030 Win32 IO implementation thanks Michael Fink report. Add compilation check
5031 of right STLport file descriptor definition.
5033 2005-03-12 Francois Dumont <dums@stlport...>
5035 * stlport/stl/_tree.h: Fix equal_range_unique bug thanks Gunter.
5037 * test/unit/map_test.cpp: Add of the test to reproduce the bug
5040 2005-03-11 Petr Ovtchenkov <ptr@island...>
5042 * build/test/unit/gcc.mak: don't write runtime path to libstlport
5043 in case of crosscompilation.
5045 * stlport/stl/_cmath.h: exclude *f and *l variants of math functions
5046 if ones absent in system; add missed hypot function; few workarounds
5047 for uClibc and for VC.
5049 * src/complex.cpp, complex_exp.cpp, complex_trig.cpp: workaround
5050 for systems without *f and *l variants of math functions.
5052 * test/unit/resolve_name.cpp: exclude test line that confuse VC.
5054 * stlport/cstdlib: div isn't intrinsic for VC.
5056 * stlport/config/stl_gcc.h: don't use *f and *l math functions in
5059 2005-03-09 Petr Ovtchenkov <ptr@island...>
5061 * doc/FAQ: FAQ was established.
5063 2005-03-07 Francois Dumont <dums@stlport...>
5065 * stlport/stl/_bitset.h, _bitset.c: Avoid include of istream when
5066 NO_IOSTREAMS mode thanks Bruno report.
5068 * stlport/stl/char_traits.h: Modification of the streamoff and streamsize
5069 definition to take into account the 64 bits file access support.
5071 * test/unit/fstream.cpp: New test for big files ( > 2Go) unactivated by
5074 2005-03-06 Petr Ovtchenkov <ptr@island...>
5076 * stlport/cstdlib, stlport/cmath, stlport/stl/_cmath.h: define
5077 overloaded functions in the scope of global namespace and then import
5078 all in stlp_std with 'using' directive. This is better than
5079 solution from 2005-03-04 below.
5081 * stlport/cmath: include cstdlib, due to declarations of abs
5082 with integer types required in overload and when 'using'.
5084 * src/complex.cpp, src/complex_exp.cpp, src/complex_trig.cpp: replace
5085 macros that possibly will be removed.
5087 2005-03-05 Francois Dumont <dums@stlport...>
5089 * stlport/stl/_construct.h: Simplification of the _Copy_Construct
5090 function, now only takes a single template parameter and only call
5091 the strict copy constructor. Creation of the _Param_Construct function
5092 that replace the former _Copy_Construct implementation.
5094 * cstdlib: Fix abs definition for MSVC compilers.
5096 * test/unit: Fixing 64 bits warnings in many tests.
5098 * src/c_locale_win32/c_locale_win32.c: Fixing 64 bits warnings.
5100 * src/fstream.cpp: Creation of the INVALID_STLP_FD constant to represent
5101 a portable invalid file descriptor.
5103 * stlport/stl/_streambuf.c: Explicit instanciation of basic_streambuf
5104 for wchar_t removed, already exists in _streambuf.h thanks
5107 * stlport/stl/char_traits.h: Setup modification, Windows platform now
5108 use ptrdiff_t to define streamoff, make the code more portable.
5110 2005-03-04 Petr Ovtchenkov <ptr@island...>
5112 * stlport/stl/_cmath.h: removed recursive include of cmath header
5114 * src/complex_impl.h: include cmath instead of stl/_cmath.h
5116 * stlport/stl/_complex.h: idem.
5118 * stlport/stl/_valarray.h: idem.
5120 * test/unit/unary.h: workaround for namespace resolution.
5122 * test/unit/resolve_name.cpp: test to show problem with namespace resolution.
5124 * stlport/cmath, stlport/stl/_cmath.h: standard require overloaded math
5125 functions for double and float arguments. Import with 'using' directive
5126 can't provide such overload. Removed import with 'using', used direct
5127 inline wrappers in namespace stlp_std instead. Cleaning code.
5129 * stlport/cstdlib: complement to cmath---the same as above for abs.
5131 * stlport/stl/_config.h: uClibc declare pthread_spin... but ones absent
5132 in the library indeed.
5134 2005-03-02 Petr Ovtchenkov <ptr@island...>
5136 * build/Makefiles/top.mak: move .PHONY target to the bottom, it work here
5139 * build/Makefiles/gmake/depend.mak, targetdirs.mak: reduce amount of dummy
5140 targets; fix creation of directories for install.
5142 * build/Makefiles/gmake/linux/rules-install-so.mak: ditto.
5144 * stlport/stl/_config.h, stlport/config/stl_gcc.h: support of gcc/linux/uClibc
5146 * src/_stdio_file.h, num_put_float.cpp, stdio_streambuf.cpp: uClibc support
5148 * stlport/cwchar: ditto.
5150 2005-03-01 Francois Dumont <dums@stlport...>
5152 * stlport/stl/_threads.h, _windows.h, _rope.c: Fix of a 64 bits portage issue
5153 in the rope implementation under Win64 thanks Patrick Bergeron report.
5155 2005-02-28 Francois Dumont <dums@stlport...>
5157 * stlport/stl/_hashtable.c: hashtable::erase fix thanks Patrick Bergeron.
5159 2005-02-27 Francois Dumont <dums@stlport...>
5161 * stlport/stl/_algobase.h, _algobase.c: Fix find algo overload for
5162 char* and const char*. Now the overload is on the __find underlying
5165 * test/unit/alg_test.cpp: Add a test case for the search_n algo.
5167 * stlport/stl/_algo.c: Integration of the search_n algo implementation
5168 for the random access iterator from Jim Xochellis.
5170 2005-02-25 Francois Dumont <dums@stlport...>
5172 * stlport/stl/_slist.h: Fix _M_splice_after method.
5174 * stlport/stl/debug/_slist.h: Add of many missing checks for the special
5175 slist before_begin iterator which returns true to the _Dereferenceable
5176 function call but is not dereferenceable in reality. Passing this
5177 iterator to method like erase or insert was invalid but was not detected
5178 by the _Dereferenceable function.
5180 * test/unit/slist_test.cpp: Add checks for insert, insert_after, splice
5181 splice_after methods.
5183 * Patch from Ulrich Eckhardt:
5184 - Fix macro _MSC_VER macro checks, VC6 should be found using _MSC_VER < 1300
5185 check rather than _MSC_VER == 1200 to take into account compilers like
5186 EVC4 that is a VC6 based compiler with _MSC_VER == 1202.
5188 2005-02-25 Petr Ovtchenkov <ptr@island...>
5190 * stlport/stl/_algobase.h: wrong parameters order in call to memchr,
5191 thanks Patrick Bergeron.
5193 2005-02-24 Francois Dumont <dums@stlport...>
5195 * stlport/stl/char_traits.h: Patch from Ulrich Eckhardt fixing a wrong
5196 _STLP_CALL specification on member operators and some cosmetic changes.
5198 2005-02-22 Petr Ovtchenkov <ptr@island...>
5200 * test/unit/limits_test.cpp: wchar_t is treated as signed, except when it
5201 equiv to unsigned short on Wins systems.
5203 * Repository: STLport 5.0 RC2
5205 2005-02-20 Francois Dumont <dums@stlport...>
5207 * Add many private definition of copy constructor and assignment operators
5208 to avoid very anoying warnings under some compilers (MSVC 7.0 7.1).
5210 * build/Makefiles/gmake/cygmin/sys.mak, test/unit/string_test.cpp:
5211 Mingw fixes thanks Shura Zam.
5213 2005-02-19 Francois Dumont <dums@stlport...>
5215 * stlport/stdexcept: Removal of a MSVC 7.0 and 7.1 workaround. Those compilers
5216 have a bug resulting in the generation of very long compiler message as
5217 soon as a simple compiler warning or error occur. Those messages are
5218 template instanciation context of previous disabled warning. Warning message
5219 are correctly disable but template instanciation context is kept until
5220 an enable warning or an error happen. There is nothing to do against that
5221 at STLport level except fixing or disabling warnings for unit tests build.
5223 * build/Makefiles/nmake/vc70.mak: Add missing file.
5225 2005-02-18 Francois Dumont <dums@stlport...>
5227 * stlport/stl/_hashtable.h, _unordered_set.h, _unordered_map.h: Code review
5228 based on the 12 April 2004 Technical Report document. Add missing hash policy
5229 and bucket_size methods. Fix of the rehash method behavior. erase method
5232 2005-02-14 Francois Dumont <dums@stlport...>
5234 * stlport/string, /stl/_string.h: Modification of the include schema.
5235 _string_io.h no more included from _string.h to avoid circular headers
5236 dependencies as basic_string class is used in iostream implementation.
5237 This headers is now included from the Standard string header. Useless
5238 cctype include removed from _string.h. _string_hash.h also moved from
5239 _string.h to string for consistency.
5241 * stlport/stl/_complex.c: Add of the _string_io.h header include that
5242 was missing after string include schema modification.
5244 * stlport/stl/_string_base.h, _string.h: basic_string move traits STLport
5245 struct definition do not depends anymore on the _String_base struct to
5246 make definition more clear.
5248 2005-02-08 Francois Dumont <dums@stlport...>
5250 * stlport/stl/_config.h: Fix endianness for AMD 64 thanks Karol
5253 2005-02-07 Boris Fomitchev <boris@stlport...>
5255 * stlport/stl/_config_compat_post.h, stlport/stl/_relops_hash_cont.h
5256 stlport/stl/_list.h, stlport/stl/_slist.h, stlport/stl/_map.h,
5257 stlport/stl/_set.h: 4.6 compatibility fix
5259 2005-02-04 Francois Dumont <dums@stlport...>
5261 * stlport/stl/_alloc.c: Fix of the _S_refill method in the lock free
5262 implementation thanks Felix Wyss.
5264 * stlport/stl/_hashtable.h: _M_get_elem_ite set as static when possible
5265 to fix a MSVC6 problem thanks Michael Fink report.
5267 * stlport/new, config/stl_evc.h: EVC patch for MFC support from Michael Fink.
5269 * build/Makefiles/nmake/evc3.mak, evc4.mak: Warning level raised to 4
5272 * doc/README.evc3, README.evc4 doc update from Michael Fink.
5274 * src/vc_warning_disable.h: Add warning 4201 and 4214 disabling for EVC.
5276 2005-01-31 Francois Dumont <dums@stlport...>
5278 * Mac OS X portage thanks Zdenek Nemec.
5280 * stlport/stl/_hashtable.c: Fix of the _M_copy_from method thanks Jay.
5282 * stlport/stl/_vector.c: Fix of the _M_insert_fill_aux method thanks
5283 Mike Roberts report.
5285 * test/unit/unordered_test.cpp: Add of a test for the hashtable fix above.
5287 * src/vc_warning_disable.h: Add of the missing 4503 warning disable for MSVC6.
5289 * test/unit/nmake-vc-common.mak: Add of the _STLP_DEBUG_UNINITIALIZED macro
5290 definition for the debug and stldebug rules.
5292 2005-01-28 Francois Dumont <dums@stlport...>
5294 * Application of a patch from Michael Fink for EVC MIPS.
5296 2005-01-27 Francois Dumont <dums@stlport...>
5298 * stlport/deque, list, map, set, slist, stack, valarray: _STLP_WHOLE_VENDOR_STD
5299 replaced by the official _STLP_IMPORT_VENDOR_STD macro.
5301 * stlport/stl/_algobase.h: Add find algo overload for char* and const char*
5302 forwarding the call to the memchr C function thanks Jim Xochellis report.
5304 * test/unit/find_test.cpp: Add check for the new find overload.
5306 * test/unit/cmath_test.cpp: Fix of the atan and atan2 tests to avoid precision
5309 * test/unit/ptrspec_test.cpp: Add check for containers of function pointers and
5310 member function pointers.
5312 * test/unit/set_test.cpp: Add check for equal_range method when the search value
5315 * stlport/stl/_tree.h: Fix equal_range implementation thanks Grisha Spivak report.
5317 * stlport/stl/_vector.h, _vector.c: Fix of the movable types implementation thanks
5318 Mike Roberts report.
5320 * test/unit/mvctor_test.cpp: Add of a test case for vector class.
5322 2005-01-25 Francois Dumont <dums@stlport...>
5324 * stlport/stl_user_config.h: Pointer specialization feature is now off
5325 by default as it do not handle pointer to function and pointer to member
5326 methods correctly yet. Feature documentation has been updated to report
5329 * src/ctype.h: removal of the '>= 0' check for wchar_t variables reported
5330 as a always true condition by gcc.
5332 * stlport/stl/_hashtable.c: Removal of an unused variable in hashtable::resize
5333 method thanks Jeff Grills report.
5335 * stlport/stl/_algo.c: Fix of the search_n algo thanks Jim Xochellis report.
5337 2005-01-24 Francois Dumont <dums@stlport...>
5339 * Some more warning fixes. Mostly add of missing char_traits::to_char_type calls.
5341 2005-01-22 Francois Dumont <dums@stlport...>
5343 * stlport/stl/_string_workaround.h, debug/_string_workaround.h: Fix of the
5344 call broadcast to the base class. Non debug workaround always call non debug
5345 base class methods, debug workaround always calls debug base class methods.
5347 * Many fixes to avoid warnings using MSVC in level 4 warnings:
5348 - while (true) replaced by for(;;) which do not produce the conditional
5349 expression is constant warning
5350 - removal of unused parameters
5351 - modification of some template function signature to keep the character type
5352 information and avoid the wchar_t to char type warning which was surely an
5353 important warning for the wide streams support.
5355 * stlport/stl/_monetary.c: removal of the call to the ctype::widen method
5356 on the result of the moneypunct<_CharT, false>::decimal_point call as this
5357 method is already supposed to return a wide character.
5359 2005-01-19 Francois Dumont <dums@stlport...>
5361 * src/msvc_warning_disablers.h: unused file, removed.
5363 * test/unit/logic_test.cpp: Fix of the tests to avoid warning regarding int
5366 * stlport/stl/pointers/_deque.h, _list.h: Fix of the exported class under MSVC
5367 compiler thanks Timothy Tenebekov report.
5369 * build/test/unit/nmake-vc-common.mak, nmake-vc6.mak, nmake-vc70.mak: Modification
5370 of the make files to avoid useless inclusion of vc_warning_disable.h file for
5371 MSVC.Net 2003 and MSVC 8 compilers.
5373 * src/locale_impl.h: Export of the locale facets container for MSVC compilers.
5375 * src/vc_warning_disable.h: Modification to limit the number of disables depending
5378 2005-01-18 Francois Dumont <dums@stlport...>
5380 * stlport/stl/_algo.c: Modification of the stable_partition implementation
5381 to limit the size of the allocated temporary buffer of the begin and end
5382 of the range are already at the right place thanks a Stephen Howe idear.
5384 * build/test/unit/nmake-vc-common.mak, nmake-evc-common.mak: Removal of the
5385 _STLP_USE_AUTO_LINK macro which is now the default.
5387 2005-01-14 Francois Dumont <dums@stlport...>
5389 * stlport/stl/_windows.h, char_traits.h, src/c_locale_win32/c_locale_win32.c:
5390 Patch from Patrick Bergeron to support 64 bits compilation under Windows using
5393 * stlport/stl/boost_type_traits.h: boost support check and fixing.
5395 2005-01-13 Francois Dumont <dums@stlport...>
5397 * stlport/stl/_algobase.h: Improvment of the iter_swap algo to use the swap
5398 method when possible thanks David Abrahams and Aleksey Gurtovoy great book
5401 * stlport/stl/_alloc.h: Deactivation of the lock free allocator implementation
5402 not mature enough to be release yet.
5404 * stlport/stl/_uninitialized.h: Fix of non Standard algo signature:
5405 - uninitialized_fill_n
5407 * stlport/stl/_iterator_base.h: Fix of non Standard algo signature:
5410 * stlport/stl/_algobase.h: Fix of non Standard algo signature:
5413 * stlport/stl/_algo.h: Fix of non Standard algo signature:
5417 * stlport/stl/_string.h, debug/_string.h: Fix of the non Standard basic_string
5418 default constructor.
5420 * stlport/stl/_algobase.h, _function.h, _iterator_base.h, _move_construct_fwk.h,
5421 _ptr_specialize.h, char_traits.h, debug/_debug.h: Fix of the macro name check
5422 before including type_traits.h.
5424 2005-01-08 Francois Dumont <dums@stlport...>
5426 * stlport/stl/_codecvt.h: Add of a missing export declaration for the wchar_t
5427 specialization of the codecvt_byname class.
5429 * src/stlport.rc: improvement of the information included in the ressource file.
5430 Especially add of the compiler options.
5432 * stlport/stl/_stlport_version.h: Creation of a special file containing all the
5433 version informations; very useful to avoid problem with the ressource compiler.
5435 * stlport/stl/_config.h: Removal of the unused _STLP_USING_VENDOR_STD macro.
5436 Inclusion of the _stlport_version.h file. Update of the comment explaining why
5437 _STLP_USE_DECLSPEC is undefined when user do not use iostreams.
5439 * build/Makefiles/nmake/vc-common.mak, evc-common.mak, gmake/gcc.mak: Improvement
5440 of the ressource compiler options.
5442 2005-01-06 Francois Dumont <dums@stlport...>
5444 * stlport/config/stl_msvc.h: Move the _STLP_DONT_RETURN_VOID configuration
5445 macro to the specific MSVC6 compiler as it is the only one that has ever
5448 2005-01-05 Francois Dumont <dums@stlport...>
5450 * stlport/stl/_string_sum_methods.h: Fixes reported by gcc.
5452 2005-01-04 Francois Dumont <dums@stlport...>
5454 * doc/README.evc3: patched by Michael Fink
5456 * build/lib/configure.bat: warning fix thanks Michael Fink.
5458 * build/test/unit/nmake-src-prefix.mak: fixed thanks Michael Fink.
5460 2005-01-02 Francois Dumont <dums@stlport...>
5462 * stlport/stl/_string_sum.h, _string_operators.h: Fix of an assignment bug
5463 in the append method taking a C string wrapper. Modification of the __bstr_sum
5464 get_allocator method to avoid a useless allocation.
5466 * build/lib/nmake-src-prefix.mak: Add of missing rules for .c and .rc file type.
5468 2004-12-29 Francois Dumont <dums@stlport...>
5470 * stlport/stl/_hashtable.c: Fix missing allocator argument in new slist
5471 construction and bad number of buckets thanks See Wong report.
5473 * test/unit/unordered_test.cpp: Add of a test to report the previous
5476 * build/Makefiles/nmake/vc-common.mak, evc-common.mak: Generalization of the
5477 /DMACRO compiler command rather than /D "MACRO".
5479 * test/unit/string_test.cpp: Creation of a new test case for string template
5482 * stlport/stl/_string_sum.h, _string_sum_methods.h: Fixing of many bugs in the
5483 string template expressions implementation.
5485 * stlport/stl/_tree.c: Add of a comment in the _M_increment method explaining
5486 a surprising checks thanks Ulrich Eckhardt.
5488 2004-12-24 Petr Ovtchenkov <ptr@island...>
5490 * build/Makefiles: makesystem moved here from src/Makefiles
5492 * build/lib: makefiles moved here from src catalog.
5494 * build/test/unit: makefiles moved here from test/unit catalog.
5500 2004-12-23 Francois Dumont <dums@stlport...>
5502 * stlport/stl/_vector.h, _vector.c: Fix of the code for movable types
5503 in call to push_back or insert of a value in case of auto referencing
5504 thanks Benjamin Redelings.
5506 * stlport/stl/_hashtable.c: Fix of the _M_copy method thanks Timothy
5509 2004-12-22 Francois Dumont <dums@stlport...>
5511 * stlport/stl/debug/_string.h: Fix of missing scopes thanks arabesc and
5514 *stlport/config/stl_gcc.h: include schema fix for gcc >= 4.0.0 thanks
5517 2004-12-21 Francois Dumont <dums@stlport...>
5519 * stlport/stl/_hashtable.c: Fix copy method thanks KL report.
5521 * stlport/stl/_vector.h, _deque.h: Fix implementation for vector of
5522 movable objects when calling erase of a null range thanks to arabesc report.
5524 * stlport/stl/_string.h, _string_workaround.h, debug/_string.h,
5525 debug/_string_workaround.h: Implementation of the MSVC6 template method bug
5526 workaround exclusively for MSVC6 and not anymore for all compilers.
5528 2004-12-21 Petr Ovtchenkov <ptr@island...>
5530 * src: untested (lost support) .mak and installation files moved into
5531 initial_mak catalog.
5533 * explore, src: explore catalog moved into src catalog. Makefiles from
5534 explore catalog become main makesystem of STLport.
5536 2004-12-20 Francois Dumont <dums@stlport...>
5538 * stlport/stl/_hashtable.h: Fix of the const begin and end methods of the
5539 new implementation thanks Timothy Tenebekov report.
5541 2004-12-17 Francois Dumont <dums@stlport...>
5543 * stlport/cmath, cstdlib, stl/_cmath.h, config/stl_msvc.h: Configuration
5544 fixes for .Net 2002.
5546 2004-12-17 Boris Fomitchev <boris@stlport...>
5548 * char_traits.h: fixed _STLP_NO_WCHAR_T case
5550 * src/common_macros.mak: deleted locale.cpp
5552 2004-12-17 Francois Dumont <dums@stlport...>
5554 * src/explore/Makefiles/nmake/app/rules-install-a.mak, rules-install-so.mak
5555 lib/rules-install-so.mak: Creation of the install-shared and install-static
5558 2004-12-16 Francois Dumont <dums@stlport...>
5560 * stlport/stl/debug/_debug.h, _debug.c: Creation of functions to change iterators
5563 * stlport/stl/debug/_list.h, _slist.h: Modification of the iterator owners in the
5564 splice, splice_after and merge method which do not invalidate iterators but only
5565 move them from a [s]list to an other.
5567 * stlport/stl/_relops_hash_cont.h: removal of the == operator on hashed containers
5568 This operator is just impossible, or at least very complicated, to implement
5569 for this container which do not require any ordering operation on the type used
5570 to instanciate the container.
5572 * test/unit/hash_test.cpp: Addition of a commented test showing why the == operator
5573 is invalid on hashed constainers.
5575 * stlport/stl/_hashtable.h: Modification of the hashtable implementation based
5576 on a slist and a vector. Compared to the previous one the advantages are:
5577 - lighter hashtable::iterator
5578 - iterator increment operation do no require call to the hash function.
5579 - no more special implementation for the debug mode, once validated debug/_hashtable.h
5581 The drawback is a small overhead on the insert/erase methods.
5583 * stlport/unordered_set, unordered_map: Introduction of the almost Standard hash containers.
5584 The major difference with hash_set or hash_map containers from SGI is the load factor
5585 that gives the user the ability to change the container ratio of the number of elements per
5588 2004-12-13 Francois Dumont <dums@stlport...>
5590 * stlport/stdio.h: patch from Michael Fink to avoid warning on the EVC platform.
5592 * doc/evc_workaround.txt: Documentation file from Ulrich Eckhardt about the EVC
5593 workaround to avoid annoying warnings.
5595 * stlport/typeinfo: Patch from Ulrich Eckhardt to fix missing type_info struct
5596 under MSVC6 and EVC and also identation.
5598 2004-12-10 Francois Dumont <dums@stlport...>
5600 * stlport/stl/_collate.h, _locale.h: fix of the __locale_do_operator_call internal
5601 function to make traits and allocator also template parameters.
5603 * stlport/stl/_locale.h, _collate.h, stlport/config/stl_msvc.h, src/locale.cpp,
5604 src/locale_impl.h: restoration of the MSVC6 workaround for the locale class to
5605 correctly handle the member template methods.
5607 2004-12-09 Francois Dumont <dums@stlport...>
5609 * stlport/stl/_messages_facets.h: fixed messages_base::catalog from long typedef
5610 to int thanks Ulrich Eckhardt report.
5612 * stlport/stl_user_config.h, config/stl_msvc.h: addition of the _STLP_VERBOSE_AUTO_LINK
5613 config macro to make the automatic linking feature more verbose thanks Ulrich Eckhardt
5616 * stlport/exception: Add check of the _STLP_HAS_SPECIFIC_PROLOG_EPILOG macro before
5617 including _msvc_warning_off.h to avoid bad resulting warning status when the _epilog.h
5618 header is not included thanks Gail (baker88) report.
5620 * stlport/cassert, cerrno, csignal, ctype.h, cwctype, stdarg.h, stdlib.h, string.h,
5621 config/stl_evc.h: Patch from Michael Fink to fix compilation problem using ressource
5622 compiler for evc3 and evc4 and problems with cerrno and cassert inclusions reported
5625 2004-12-01 Petr Ovtchenkov <ptr@island...>
5627 * stlport/stdexcept: removes some warnings regarding the exception class being derived
5628 from a non-dll interface class on evc4. Michael Fink contribution.
5630 * stlport/stl/_cmath.h: push/pop warning level for VCs. Michael Fink contribution.
5632 * src/_stdio_file.h: Evc4 uses an ugly hack to implement file IO using a FILECE structure
5633 representing the internal FILE structure. For evc3 Michael Fink implemented a much simpler
5634 way that also works for evc4.
5636 * stlport/config/stl_evc.h, stl_msvc.h, stlcomp.h: separate config stuff for stl_evc.h
5637 and stl_msvc.h. Now all Windows CE specific defines are in stl_evc.h only.
5638 Michael Fink contribution.
5640 * stlport/stl/_codecvt.h, _ctype.h, _messages_facets.h, _monetary.h: add friend class
5643 * stlport/stl/_num_get.h, _num_put.h, _numpunct.h, _time_facets.h: ditto.
5645 2004-11-30 Petr Ovtchenkov <ptr@island...>
5647 * src/explore/configure.bat: added quotes. Thanks Ulrich Eckhardt and Michael Fink.
5649 * stlport/stl/_locale.h, src/locale_impl.h, src/locale_impl.cpp: added _STLP_DECLSPEC
5650 and _STLP_CALL for some functions. Thanks Ulrich Eckhardt.
5652 * stlport/stl/_collate.h, _numpunct.h, _monetary.h, _codecvt.h, _time_facets.h:
5653 _Locale_imp made friend without relation to _STLP_LEAKS_PEDANTIC. Thanks Ulrich Eckhardt.
5655 * stlport/stl/_locale.h: remove body of protected constructor to avoid warnings.
5656 Thanks Kidman and Ulrich Eckhardt.
5658 * src/locale_impl.cpp: use simple resize of facets_vec; reserve space for facets_vec to be
5659 sure that allocation don't throw exception during vector resize in insert_*_facets functions.
5660 Thanks Ulrich Eckhardt.
5662 2004-11-29 Petr Ovtchenkov <ptr@island...>
5664 * stlport/stl/_cmath.h: patch from Michael Fink applied.
5666 * stlport/stl/_locale.h: remove enclose class spec to avoid VC confuse.
5667 Thanks Ulrich Eckhardt.
5669 * src/locale_impl.cpp, src/locale_impl.h: remove bogus _STLP_CALL decls.
5670 Thanks Ulrich Eckhardt.
5672 2004-11-27 Petr Ovtchenkov <ptr@island...>
5674 * stlport/stl/_threads.h: direct access to _M_ref_count isn't MT-safe;
5675 counter value returned by _M_incr and _M_decr methods only.
5677 * stlport/stl/_rope.h, stlport/stl/_rope.c: adaptation to changes above;
5678 removed __GC macro dependent code, that was never defined in present
5681 * src/locale.cpp, locale_impl.cpp, locale_impl.h: general revision of locale
5682 implementation; code clean, corrected, concepts fixed, errors fixed,
5685 * src/ctype.cpp, facets_byname.cpp, locale_catalog.cpp, messages.cpp, monetary.cpp:
5688 * stlport/stl/_codecvt.h, _collate.h, _ctype.h, _locale.h, _messages_facets.h:
5691 * _monetary.h, _num_get.h, _num_put.h, _numpunct.h, _time_facets.h: ditto.
5693 * src/locale_nonclassic.h: removed due to code revision.
5695 * src/explore/Makefile.inc: locale.cpp is directly included into locale_impl.cpp.
5697 * src/explore/gcc.mak, test/unit/gcc.mak: use _STLP_LEAKS_PEDANTIC before release
5700 2004-11-24 Francois Dumont <dums@stlport...>
5702 * stlport/stl/_cmath.h: Fix of the abs definition for the EVC platform
5703 thanks Michael Fink.
5705 * stlport/stl/_cmath.h: Fix of the Internal Compiler Error from MSVC6
5706 when defining math functions in the STLport namespace thanks Ulrich
5709 * stlport/stl/debug: Creation of a debug iterator traits used to make
5710 an additional test when checking iterator deferencing status, on slist
5711 before_begin iterators are not dereferenceable but were not detected
5714 * stlport/math.h, stdexcept: patches from Michael Fink to avoid warning
5715 on the EVC platform.
5717 2004-11-22 Francois Dumont <dums@stlport...>
5719 * src/explore/Makefiles/nmake/evc3.mak, evc4.mak: removal of the useless
5720 /DPLATFORM macro definition thanks Ulrich Eckhardt report and Michael Fink
5723 * stlport/cstdlib: extension of the div overload for long input up to MSVC7.1
5724 thanks Michael Fink report.
5726 * test/unit/string_test.cpp: patch from Michael Fink for EVC which has limited
5727 support of the WaitForMultipleObjects API function.
5729 * stlport/cstdlib, cwchar, using/cstring: patch from Michael Fink to remove
5730 imports of missing native C functions.
5732 2004-11-16 Francois Dumont <dums@stlport...>
5734 * src/explore/configure.bat: Add of the --rtl-static and --rtl-dynamic
5735 configuration options to force use of static or dynamic C runtime thanks
5738 * stlport/config/stl_msvc.h: undef of the _STLP_USING_CROSS_NATIVE_RUNTIME_LIB
5739 for the evc platform that only have the static C runtime version thanks
5742 * stlport/config/stl_bc.h, stl_dmc.h, stl_solaris.h: Removal of all references
5743 to the deprecated _STLP_NO_OWN_IOSTREAMS and _STLP_NO_NEW_IOSTREAMS macros.
5745 * stlport/cmath, stl/_cmath.h: Modification of the import of the pow function
5746 for MSVC6 that has a bugged overload thanks Michael Fink report.
5748 2004-11-09 Francois Dumont <dums@stlport...>
5750 * test/unit/config_test.cpp: Creation of a test case to check correct
5751 platform/compiler configuration.
5753 * stlport/config/stl_msvc.h: Definition of the _STLP_HAS_NATIVE_FLOAT_ABS
5754 now start with MSVC6.
5756 * stlport/cstdlib, stl/_cmath.h: Addition of some missing math function
5757 overloads for MSVC6.
5759 2004-11-05 Francois Dumont <dums@stlport...>
5761 * stlport/config/stl_msvc.h: Definition of the _STLP_HAS_NATIVE_FLOAT_ABS
5762 starting with MSVC .Net 2002 thanks Kevin Bluck report.
5764 * test/unit/cmath_test.cpp: Creation of a test case to check correct import
5765 and extensions of C functions.
5767 2004-11-04 Petr Ovtchenkov <ptr@island...>
5769 * src/explore/Makefiles: added templates CC.mak for SunPro's CC compilers;
5770 ones should be checked and fixed with real compiler.
5772 2004-11-04 Francois Dumont <dums@stlport...>
5774 * stlport/stl/_function.h, _queue.h, _stack.h, _map.h, _iterator.h:
5775 restoration of the Standard names of the protected datas.
5777 * stlport/stl/_alloc.h, _alloc.c: implementation of a lock free version
5778 of the default STLport node_allocator. Supported by the Win32 platform
5781 * src/ios.cpp, locale.cpp, locale_impl.cpp: use of atomic operations
5782 under Win32 platform rather than using synchronisation primitives.
5784 * stlport/stl/_tree.h, _map.h, _set.h: creation of the erase_unique and
5785 equal_range_unique methods to use the unicity information of the map and
5786 set containers in binary tree searches.
5788 * stlport/stl/_string.h: Add _STLP_USE_NO_IOSTREAMS check beforing deciding
5789 not to include _string.c thanks KL
5791 2004-11-02 Francois Dumont <dums@stlport...>
5793 * stlport/stl/pointers/_deque.h: Fix for the problem of the deque<void*>
5794 instanciation thanks Alex Cosealin report
5796 * test/unit/ptrspec_test.cpp: Add of a test for the previous problem.
5798 2004-10-31 Francois Dumont <dums@stlport...>
5800 * stlport/stl/_rope.h: Fix of the apply_to_pieces qualification thanks Leeya.
5802 * test/unit/rope_test.cpp: New test case for the previous fix.
5804 2004-10-30 Francois Dumont <dums@stlport...>
5806 * src/explore/Makefiles/nmake/vc-common.mak: introductions of the LDFLAGS_A_REL
5807 macro to fix config problem under VC71 and VC8 beta.
5809 2004-10-29 Petr Ovtchenkov <ptr@island...>
5811 * src/explore/Makefiles/gmake/app/gcc.mak: use -fPIC for gcc 2.95.x when build
5812 application---this is a workaround for bug with running code in static constructors.
5814 * stlport/config/stl_gcc.h, stlport/stl/_config.h: force usage of mutex instead
5815 of spinlock for gcc 2.95.x, due to problems with initialization of statics.
5816 Initialization of mutex has variant with structure filling, while for spinlock
5817 initialization function call required.
5819 * test/unit/locale_test.cpp: avoid static object for gcc 2.95.x, due to problems
5820 with initialization of statics.
5822 2004-10-27 Francois Dumont <dums@stlport...>
5824 * stlport/stl/_config.h, _fstream.h, _ios.h, _istream.h, _monetary.h, _num_get.h,
5825 _num_put.h, _ostream.h, _sstream.h, _streambuf.h, _string.h, _time_facets.h:
5826 Restoration of the _STLP_NO_CUSTOM_IO feature removed after cleanup reported
5827 in 2004-09-28 post from Petr.
5829 * stlport/stl/stl_user_config.h, _config.h, stl_msvc.h: reactivation of the
5830 auto link feature for MSVC but only if activated by the client. Moreover the
5831 new implementation of this feature is more maintenable, stl_msvc.h won't have
5832 to be edited at each STLport release.
5834 * test/unit/nmake-vc-common.mak, nmake-evc-common.mak: Adoption of the auto link
5837 2004-10-25 Francois Dumont <dums@stlport...>
5839 * stlport/stl/_config.h: Introduction of the _STLP_DONT_USE_EXCEPTIONS which
5840 means that the client do not want to use the C++ exception feature. It is
5841 different from the _STLP_NO_EXCEPTIONS which means that the compiler do not
5842 support exceptions at all. The distinction is important for some macros definition.
5844 * test/unit: Modification of the _STLP_NO_EXCEPTIONS test to the more general
5845 _STLP_USE_EXCEPTION macro.
5847 * stlport/stl/_ios_base.h, src/ios.cpp: rollback of the modifications of the
5850 * stlport/config/stl_msvc.h, stl_gcc.h: Those 2 compilers have a exception
5851 support switch, when exceptions are unactivated they now define
5852 _STLP_DONT_USE_EXCEPTIONS rather than _STLP_NO_EXCEPTIONS.
5854 2004-10-25 Petr Ovtchenkov <ptr@island...>
5856 * stlport/stl/_sstream.c: cur direction missed in seekoff. Thanks David Obermann.
5858 * sstream_test.cpp: test for problem above.
5860 2004-10-24 Francois Dumont <dums@stlport...>
5862 * stlport/stl/_ios_base.h, src/ios.cpp: definition of the ios_base::failure
5863 nested class only when exception support is activated.
5865 * stlport/stl/_deque.h, _deque.c: Modification of the deque implementation
5866 to use the internal move framework.
5868 * test/unit/mvctor_test.cpp: New test case for the use of the move
5869 framework within the deque container.
5871 2004-10-21 Francois Dumont <dums@stlport...>
5873 * stlport/stl/_iostring_stream.h: Simplification of the __stl_alloc_rebind
5874 overload to make it less ambiguous for the compilers using it.
5876 2004-10-18 Francois Dumont <dums@stlport...>
5878 * stlport/stl/_vector.h, _vector.c: Add of checks to know if a reference
5879 is in *this before making a systematical copy of it.
5881 2004-10-18 Petr Ovtchenkov <ptr@island...>
5883 * stlport/stl/type_manips.h: replace template <> by macro.
5885 * stlport/stl/debug/_debug.h, _debug.c: __check_if_not_owner should return true
5886 in case of incompatible types and do check different from __check_if_owner;
5887 added message for check __check_if_not_owner.
5889 * test/unit/mvctor_test.cpp, test/unit/ptrspec_test.cpp: fix tests to satisfy
5890 changes related to 23.1.1 Table 67 in stlport/stl/debug/_vector.h, _deque.h---see
5891 record 2004-10-14 below.
5893 2004-10-14 Francois Dumont <dums@stlport...>
5895 * stlport/stl/debug/_iterator.h: Move of some _DBG_iter_base and _DBG_iter
5896 methods implementation outside struct definition to fix call on incomplete
5897 type compile error generated by the call to the _Incrementable or _Dereferenceable
5898 functions passing *this as input parameter thanks Alexey Sarytchev
5900 * test/unit/sstream_test.cpp, fstream_test.cpp: Fix of the tests on streambuf
5901 throwing exception for platform with no exception support.
5903 * stl/_string.h: Add of the missing compare methods on the basic_string
5904 implementation used by compilers supporting template methods thanks Patrick
5907 * stlport/stl/debug/_vector.h, _deque.h: Add check on the insert range method,
5908 the inserted can not be pointing to the this instance where the insertion occur.
5910 2004-10-13 Petr Ovtchenkov <ptr@island...>
5912 * src/explore/Makefiles/gmake: a bit correction of compiled and installed names
5913 of executables on *nix systems, see record 2004-09-29 by Francois.
5915 2004-10-12 Francois Dumont <dums@stlport...>
5917 * stlport/stl/_config.h: typo fix thanks KL
5919 * stlport/stl/_move_construct_fwk.h, _set.h, _map.h, _hash_set.h, _hash_map.h:
5920 Extra semicolons removal thanks Wlodek Szafran reports.
5922 2004-10-11 Petr Ovtchenkov <ptr@island...>
5924 * stlport/stl/_rope.h: add typename.
5926 2004-10-08 Francois Dumont <dums@stlport...>
5928 * stlport/stl/_deque.h, _hashtable.h, _tree.h, _bvector.h: Specialization of the
5929 __type_traits struct for the iterator types.
5931 * stlport/stl/_uninitialized.h, _vector.h: Relax of the rules to perform some
5932 optimizations, no more POD check, rather use of the trivial copy constructor,
5933 trivial assignment operator informations.
5935 * stlport/stl/_config.h, _epilog.h: Adoption of stlport as the official STLport
5936 namespace when users cannot use the std namespace.
5938 2004-10-07 Francois Dumont <dums@stlport...>
5940 * stlport/stl/_list.h: Specialization of the __type_traits struct for list iterators.
5941 Move of the == and != operators from the base iterator class to the iterator class
5942 to make iterator of different list instanciation not comparable anymore.
5944 * stlport/stl/_slist.h: ditto.
5946 2004-10-06 Francois Dumont <dums@stlport...>
5948 * stlport/stl/_rope.h, _rope.c: Code review, use of general STLport tools rather
5949 than specific rope ones. Use of compile time checks rather than runtime.
5951 * stlport/stl/_bvector.h: fix to make the vector<bool> specialization movable
5952 thanks a Kelly Thompson report.
5954 2004-10-05 Francois Dumont <dums@stlport...>
5956 * src/explore/Makefiles/nmake: Application of a patch from Michael Fink to simplify
5957 the evc make system.
5959 * doc/README.evc4: New version from Zdenek Nemec.
5961 2004-10-04 Francois Dumont <dums@stlport...>
5963 * test/unit/type_traits_test.cpp: A new test case to check behavior of
5964 the numerous helper functions from type_traits.h and type_manips.h.
5966 * stlport/stl/type_traits.h: Fix of some bugs and addition of the __type_traits
5967 specializations of const, volatile and const volatile native types.
5969 * stlport/stl/type_manips.h: Modification of the __bool2type default value
5970 so that it consider any value as true and only the 0 value false.
5972 * stlport/config/stl_msvc.h, stlport/stl/_config.h: Modification of the STLport
5973 std equivalent namespace to be sure that the user rebuild correctly the STLport
5974 library when he forces the use of the dynamic or static library.
5976 * src/explore/Makefiles/nmake/lib/vc-common.mak, app/vc-common.mak: Creation
5977 of the STLP_BUILD_FORCE_STATIC_RUNTIME that forces use of the static version
5978 of the native runtime.
5980 * test/unit: fix of some tests that failed to compile using the
5981 _STLP_NO_ANACHRONISMS macro.
5983 2004-09-30 Petr Ovtchenkov <ptr@island...>
5985 * test/regression: catalog removed---it obsolete and unsupported; use
5986 test/unit tests instead; all tests from test/regression was moved in test/unit,
5987 sometimes in redesigned form.
5989 2004-09-29 Francois Dumont <dums@stlport...>
5991 * stlport/stl/_string_io.c: Removal of the native library specific calls of
5992 use_facet, only the STLport standard one is used.
5994 * stlport/stl/_alloc.h, _alloc.c, src/dll_main.cpp: Implementation of a clean
5995 process for the node_alloc allocator. This clean is active only when
5996 _STLP_LEAKS_PEDANTIC is defined and you are using STLport as a dynamic
5997 library under Win32.
5999 * src/explore: Updates of several makefiles to conform to the new library
6000 and binary naming convention.
6002 * src/c_locale_win32/c_locale_win32.c: fix of the message facet name management
6003 that was generating a memory leak.
6005 2004-09-29 Petr Ovtchenkov <ptr@island...>
6007 * stlport/stl/char_traits.h: WinCE seems don't declare off_t; thanks Michael Fink.
6009 2004-09-28 Petr Ovtchenkov <ptr@island...>
6011 * Repository: iostreams and string wrapper mode removed, due to ones has
6012 a lot of restrictions in usage and frequently lead to hard recognized problems.
6013 Tonns of *_STREAMS macro replaced by _STLP_USE_NO_IOSTREAMS or _STLP_NO_IOSTREAMS
6014 as configuration macro; *NATIVE_STRING macro removed by the same reasons.
6016 2004-09-27 Petr Ovtchenkov <ptr@island...>
6018 * test/unit/gcc.mak: fix stlport library name for STLP_DEBUG mode for Solaris,
6019 thanks for separate namespaces in normal and STLP_DEBUG mode, see record
6022 2004-09-24 Francois Dumont <dums@...>
6024 * stlport/config/stl_gcc.h: Fix of the relative include path used to access the
6025 native gcc headers. Before version 3.4.0 the 0 patch level was not part of the
6028 * stlport/stl/type_traits.h, _vector.h, _algobase.h, _construct.h: Removal
6029 of the __action_on_move type traits replaced by a generalization of the
6030 already existing __move_traits.
6032 * test/unit/mvctor_test.cpp: New test case for the __move_traits feature.
6034 2004-09-24 Petr Ovtchenkov <ptr@island...>
6036 * src/explore/Makefiles/gmake/sunos: 'explore' makesystem adopted to work
6037 under Solaris with GNU make.
6039 * test/unit/gcc.mak: ditto.
6041 * src/explore/Makefiles/gmake/app/gcc.mak: ditto.
6043 * src/explore/Makefiles/gmake/lib/gcc.mak: ditto.
6045 * stlport/cmath: fix some math calls for Solaris.
6047 * test/unit/list_test.cpp: add illustration for list iterator/reverse_iterator questions.
6049 * src/explore/Makefiles/gmake/unix/lib.mak: moved from linux/lib.mak, as
6050 common rules for all *nixes.
6052 * src/explore/Makefiles/gmake/linux/lib.mak: use common for all *nixes rules
6055 * src/explore/Makefiles/gmake/freebsd/lib.mak: ditto.
6057 * src/explore/Makefiles/gmake/openbsd/lib.mak: ditto.
6059 * src/explore/Makefiles/gmake/sunos/lib.mak: ditto.
6061 * src/explore/Makefiles/gmake/unix/lib.mak, test/unit/gcc.mak: changed library name;
6062 libraries now named as libstlport, libstlportg, libstlportstlg for optimized, with
6063 debug symbols, and with debug symbols and _STLP_DEBUG mode libraries respectivly.
6065 2004-09-21 Francois Dumont <dums@...>
6067 * stlport/stl/debug: Modification of the __check_range class in the more general
6068 __check_construct. Now it also checks for null pointers in the string interface.
6070 * src/explore: Adoption of the new library naming convention for all Microsoft
6071 compilers thanks Michael Fink
6073 2004-09-20 Francois Dumont <dums@...>
6075 * src/explore/Makefiles/gmake/cygwin, mingw: Build configuration files merges
6076 within a single build system: cygming. Future portage of STLport for compilers
6077 using the GNU tools will be available from both systems. Removal of the vc6 build
6078 under cygwin, for mono-platform compilers we support only one build system.
6080 * stlport/stl/_vector.h: Modification of the destructor implementation to destroyed
6081 object instances in a reverse order taking advantage of the way elements are
6082 normaly added to this container.
6084 2004-09-16 Francois Dumont <dums@...>
6086 * test/unit/cppunit/cppunit_mini.h, cppunit_proxy.h: Adaptation of the CPPUNIT
6087 framework to take care of the exception as failures thanks Zdenek Nemec
6089 * stlport/config/stl_msvc.h, stl_bc.h, stl_mwerks.h, stlport/stl_user_config.h:
6090 Removal of the non intuitive and difficult to maintain automatic linking feature.
6092 * Fixing of the locale implementation mecanism. Classic locale implementation is
6093 also managed by a reference counter to be sure when it is possible to release
6094 the associated ressources. Fix of a missing locale impl ref counter decrement
6095 in the template locale constructor taking a facet, it was a possible source of
6096 memory leak . Addition of a static object within locale_impl.cpp in
6097 _STLP_LEAKS_PEDANTIC mode to decrement the global locale impl ref counter when
6098 STLport library is unloaded. Addition of all the missing classic locale facets
6099 destructor in free_classic_locale.
6101 * src/locale_catalog.cpp: The locale by name constructor checks the "C" name
6102 to simply copy (increment the ref counter) the classic locale implementation
6103 rather than instanciating a new one.
6105 2004-09-15 Francois Dumont <dums@...>
6107 * stlport/stl/_list.c: Modification of the _S_sort implementation, the __carry
6108 list instance is created using the __that allocator instance copy to be more
6111 2004-09-11 Francois Dumont <dums@...>
6113 * stlport/config/stl_intel.h: Configuration update for Win32 Intel 8.0
6114 compiler thanks Charlemagne.
6116 2004-09-10 Francois Dumont <dums@...>
6118 * stlport/stl/_config.h: The new official namespace is now stlp_std. _STL is
6119 just an alias. STLPORT macro still contains the STLport std namespace equivalent.
6120 Moreover in _STLP_DEBUG mode, which is not binary compatible with the release
6121 or debug mode, the namespace is stlpd_std to generate link error rather
6124 2004-09-09 Francois Dumont <dums@...>
6126 * stlport/stl/_config.h: _STLP_DONT_USE_NESTED_TCLASS_THROUGHT_TPARAM
6127 renamed to the more intuitive _STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE.
6129 * stlport/stl/_config.h: Introduction of a new namespace stlp_private
6130 defined in the global namespace. Everything that is STLport implementation
6131 details should be in this namespace to avoid polution of the std namespace.
6133 * stlport/stl/_iterator_base.h: Modification of the macro used to create
6134 iterator traits for all tree and hashtable based containers to move it in
6135 the stlp_private namespace rather than defining it as nested struct, limits
6138 2004-09-08 Francois Dumont <dums@...>
6140 * test/unit/fstream_test.cpp: restauration of the test added by Petr
6141 the 2004-09-03, it is finaly a different test from the one in sstream_test.cpp.
6142 Some more checks have also been integrated.
6144 * stlport/stl/_ostream.c: New fix of the _M_unbuffured_copy method that was
6145 still bugged in case of a throwing output streambuf, detected thanks to the
6148 2004-09-07 Francois Dumont <dums@...>
6150 * stlport/config/stl_msvc.h: Add defines of the _STLP_USE_STATIC_LIB
6151 or _STLP_USE_DYNAMIC_LIB depending on the current kind of build.
6153 * stlport/stl/_streambuf.h, _streambug.c: Fix an unresolved symbol
6154 problem for MSVC6 (and before?) when STLport is used as a static library.
6156 2004-09-06 Francois Dumont <dums@...>
6158 * test/unit/nmake-evc-common.mak: Use of the dynamic runtime for the
6159 *-shared rules rather than the previous static thanks Michael Fink.
6161 * test/unit/nmake-evc*.mak: end of build code factorisation, use of
6162 nmake-evc-common.mak within all makefiles thanks Michael Fink.
6164 * test/unit/locale_test.cpp: Application of a patch from Michael Fink
6165 to check the "C" locale on all platforms. Fix of the money_get_put test
6166 case for the "C" locale.
6168 * test/unit/allocator_test.cpp: new test case for std::allocator checks.
6170 2004-09-05 Francois Dumont <dums@...>
6172 * stlport/stl/_string_hash.h: Performance improvement, multiplication
6173 replaced by shift operations thanks Greg S.
6175 * stlport/config/stl_wince_4.h: removed, never used, stl_evc.h has been
6178 * test/unit/string_test.cpp: addition of a new test short_string_optim_bug
6179 to check for a compiler bugs making the short string optim invalid thanks
6182 * stlport/config/stl_evc.h: Deactivation of the short string optimization
6183 because of a compiler bug thanks Michael Fink.
6185 * src/explore: factorisation of the evc build makefiles thanks Michael Fink.
6187 * src/explore/Makefiles/nmake/lib/clean.mak, macro.mak: Addition of some
6188 file clean up for the clobber rule thanks Michael Fink.
6190 2004-09-03 Francois Dumont <dums@...>
6192 * test/unit/fstream_test.cpp, sstream_test.cpp: Move of the test for the
6193 infinite loop from FstreamTest test case to SstreamTest, addition of some
6196 * test/unit/full_streambuf.h: streambuf implementation simulating full
6199 * stlport/exception: restauration of some modification removed after the
6200 rollback of the 2004-09-01.
6202 * stlport/config/stl_gcc.h: homogeneification of the coding standard used
6203 within STLport, 2 spaces indentations even for preprocessor directives.
6204 Doing so, discovered a weird configuration for Mac OS platform (__APPLE__)
6205 concerning the _STLP_NATIVE_INCLUDE_PATH macro definition, fixed.
6207 * stlport/stl/config/stl_*.mak: removal of all references to the
6208 _STLP_REDEFINED_STD macro as it is now the default and only way STLport
6209 use to replace native Standard library.
6211 * test/unit/nmake-vc-common.mak: add inclusion of the vc_warning_disable.h
6212 file to avoid warnings during build process thanks Michael Fink.
6214 2004-09-03 Petr Ovtchenkov <ptr@Island...>
6216 * stlport/stl/_ostream.c: removed infinite loop in case when outgoing stream
6217 can't accept more chars. Thanks Daniel White, Ulrich Eckhardt, Francois Dumont.
6219 * test/unit/fstream_test.cpp: test for problem above. Thanks Ulrich Eckhardt.
6221 2004-09-02 Francois Dumont <dums@...>
6223 * stlport/exception, stlport/stl/_site_config.h, test/unit/exception_test.cpp:
6224 Creation of the _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT macro to signal support of
6225 the unexpected exception mecanism. Related type/function are only brought to the
6226 STLport namespace if correctly supported, exception_test.cpp check that.
6228 * New modification of the _Rb_tree and _Hashtable associated iterator structs.
6229 Removal of the container_type pass through the iterator traits; iterator traits
6230 is the type that will make each derived container iterator type real different
6231 type making them uncomparable.
6233 * stlport/ctype.h: rollback of the above rollback ;-) only of course for the
6234 Win CE code fix that was part of the previous commitment.
6236 2004-09-01 Petr Ovtchenkov <ptr@Island...>
6238 * Rollback include schema: code is broken.
6240 2004-08-31 Francois Dumont <dums@...>
6242 * _STLP_INCOMPLETE_EXCEPTION_HEADER replace by the more intuitive
6243 _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT macro.
6245 * Modification of the include schema of all public headers in stlport folder
6246 that need to be reentrant. Now those files are fully guarded and the specific
6247 STLport code is only included once at the end of the inclusion, the reentrancy
6248 only concern inclusion of the native headers.
6250 2004-08-30 Francois Dumont <dums@...>
6252 * stlport/stl/_deque.c: Fix of a pseudo 'uninitialized variable used' thanks
6255 2004-08-27 Francois Dumont <dums@...>
6257 * .Net 2002 (VC70) portage.
6259 2004-08-27 Petr Ovtchenkov <ptr@Island...>
6261 * src/explore/Makefiles/gmake/gcc.mak, app/gcc.mak, lib/gcc.mak: buggy C++
6262 language support in libsupc++ in gcc before 3.3 not allow to use it;
6263 link with libstdc++ instead.
6265 * stlport/config/stl_icc.h: fix features for icc 7.1; fix features for Linux
6268 2004-08-24 Francois Dumont <dums@...>
6270 * stlport/config/stl_gcc.h, stl_msvc.h: fixing of configuration concerning
6271 uncaught_exception and exception handling in general thanks John Roberts.
6273 * stlport/stl/_tree.h, _tree.c: Modification of the _Rb_tree_iterator struct
6274 to be able to distiguish iterator types from different tree based containers
6275 Removal of the == and != member operators of the _Rb_tree_base_iterator struct
6276 replaced by global operators taking _Rb_tree_iterator as parameters and checking
6277 that the iterators are of the same container type thanks Haroon Nassiry report.
6279 * stlport/stl/_map.h, _set.h: Modification of the iterator traits used to
6280 instanciate the _Rb_tree class.
6282 * stlport/stl/_hashtable.h, _hashtable.c, _hash_set.h, _hash_map.h: Similar
6283 modifications to the previous one in order to make for instance the iterator
6284 from hash_map and hash_multimap not comparable anymore.
6286 * stlport/config/stl_wince.h, stlport/ctype.h: Move of the isspace C function
6287 Windows CE specific code from the config file to the ctype.h file. This fix
6288 will also apply to Embedded C++ .Net thanks Dirk report.
6290 2004-08-23 Petr Ovtchenkov <ptr@Island...>
6292 * test/unit/cppunit/cppunit_proxy.h, test/init/gcc.mak: CPPUNIT_MINI removed.
6294 * src/num_get_float.cpp: suggestion to fix problem with float input for gcc 3.4.x
6295 with optimization flag.
6297 * test/unit/floatio_test.cpp: test for infinity and near
6299 * src/explore/Makefiles/gmake/gcc.mak, app/gcc.mak, lib/gcc.mak: fix detection of
6300 gcc version; gcc before 3.x had libgcc.a that contains some language support,
6301 so link with it in case when we avoid link with libstd++. This has relation only
6304 2004-08-19 Petr Ovtchenkov <ptr@Island...>
6306 * src/explore/configure.bat: setting up compiling STLport under Windows.
6307 Contribution by Michael Fink.
6309 2004-08-13 Francois Dumont <dums@...>
6311 * test/unit/gcc.mak: Addition of the _STLP_NO_CUSTOM_IO define to make test
6314 * stlport/stl/_limits.h, _limits.c: Modification of the _LimG class definition.
6315 Removal of the static variables, replaced by static method having the same role
6316 but more portable. Fix link problem with MSVC compilers family when using STLport
6319 * stlport/stl/_bitset.h, _bitset.c: Ditto for the _Bs_G class.
6321 * stlport/stl/_hashtable.h, _hashtable.c: Ditto for the _Stl_prime class.
6323 * src/dll_main.cpp: thanks to the previous modification, removal of the
6324 concerned code within force_link.
6326 2004-08-13 Petr Ovtchenkov <ptr@Island...>
6328 * test/unit/cppunit/cppunit_mini.h, file_reporter.h, test_main.cpp:
6329 add function to print mess; remove def of CPPUNIT_MINI, not required; add const
6332 * test/unit/locale_test.cpp: print checked locale name; restore table with format
6333 symbols--partially rollback changes 2004-07-29; add test for possible locale
6334 init/deinit problem---I don't see problem. Test inspired by Alex Kosilin.
6336 2004-08-11 Francois Dumont <dums@...>
6338 * src/explore/Makefiles/nmake: extension of the new build system for VC.Net
6341 * src/explore/Makefiles/nmake/app: restauration of the default behavior shared
6342 rules generates executable using the STLport dynamic library and static rules
6343 use the static libraries.
6345 * stlport/stl/_string.h: Add check of _STLP_NO_IOSTREAMS to force inclusion of
6346 _string.c in this case.
6348 * stlport/stl/_string.c: removal of the _STLP_LINK_TIME_INSTANTIATION macro check
6349 before inclusion as the check is already done to include _string.c from _string.h.
6351 * stlport/stl/_istream.h _istream.c: removal of the _M_put_num function definition
6352 from the .h and removal of all the inline implementation of the >> operators.
6353 _M_put_num is now hidden in the .c to avoid to have to deal with export of this
6354 symbol. Fix errors while using the _STLP_NO_CUSTOM_IO macro.
6356 * stlport/stl/_ostream.h _ostream.c, src/ostream.cpp: ditto but for the _M_get_num
6359 * stlport/stl/_istream.h _istream.c: _M_init_skip and _M_init_noskip are now inline
6360 functions defined within the .h to fix link errors when using the _STLP_NO_CUSTOM_IO
6363 2004-08-10 Francois Dumont <dums@...>
6365 * stlport/stl/_string.h: add check of the _STLP_EXPOSE_STREAM_IMPLEMENTATION
6366 macro to include the _string.c file. Improve compile time when _STLP_NO_CUSTOM_IO
6369 * stlport/stl/_string.h, stlport/stl/debug/_string.h, _string_mem_t.h: restoration
6370 of the template method specialization for backward compatibility between compilers
6371 implementating template method and the most recent one. It is considered as an
6374 2004-08-09 Petr Ovtchenkov <ptr@Island...>
6376 * test/compiler: tests to check whether compiler understand or not some
6377 language construction. It is NOT tests for language support libraries,
6378 only tests for compiler. The main purposes of this tests is to help
6379 for developers to find correct workarounds, if compiler don't understand
6380 some language constructions.
6382 2004-08-09 Francois Dumont <dums@...>
6384 * stlport/stl/_limits.h, stlport/config/stl_mycomp.h: introduction of a new macro
6385 configuration to signal no support of the IEC 559 specification for floating point
6388 * stlport/config/stl_msvc.h: fix of the config to signal no IEC 559 support before
6389 Visual C++ .Net even if the infinity value is fine.
6391 * test/unit/limits_test.cpp: New test case to check the right numeric_limits class
6392 configuration. Do not check the signaling_NaN yet...
6394 * stlport/config/stl_msvc.h: Visual .Net Beta 2005 portage.
6396 * stlport/stl/_ios.h: Move of the basic_ios::narrow and widen member method
6397 specialization before the explicit instanciation of the basic_ios class for
6400 * stlport/stl/_construct.h, _num_put.c: fix of some unused parameter warning
6401 thanks Oliver Stoeneberg report.
6403 2004-08-05 Francois Dumont <dums@...>
6405 * Fixes of the internal move framework for compilers not supporting partial
6406 template specialization. The problem was detected thanks to the boost regression
6409 2004-08-04 Francois Dumont <dums@...>
6411 * stlport/stl/debug/_list.h, _slist.h: small review of the stlport debug code.
6412 Removal of any Standard reference in the slist class debug implementation. Removal
6413 of some unjustified iterator invalidation.
6415 * stlport/stl/_locale.h, _collate.h, src/locale.cpp, locale_catalog.cpp, locale_impl.cpp:
6416 Split of the locale class implementation into _LocaleBase base class with no member
6417 template methods which is exported and the locale class which is not exported. This
6418 is a workaround for the MSVC6 compiler.
6420 2004-08-03 Francois Dumont <dums@...>
6422 * stlport/stl/_iterator.h: Fix of the back_insert_iterator, front_insert_iterator
6423 and insert_iterator to make them assignable like specify in the Standard requirements
6424 of the output iterators.
6426 * test/unit/insert_test.cpp, finsert_test.cpp, binsert_test.cpp: Addition of tests for
6427 the assignment operators on the output iterators.
6429 2004-08-02 Francois Dumont <dums@...>
6431 * stlport/stl/_string.h, _string.c, debug/_string.h: split of the basic_string
6432 implementation into a class with no member templates and one with the member
6433 templates. Only the one with no member templates is exported. This is a MSVC6
6434 bug workaround as this compiler try to look for the class method symbols within
6435 the dynamic library even if this symbol is the one of template method which is
6436 not exported. That also make the basic_string implementation more clean so it
6437 has been adopted for all compilers.
6439 2004-07-29 Francois Dumont <dums@...>
6441 * test/unit/locale_test.cpp: Fix bad macro _STLP_NO_EXCEPTIONS spelling
6442 and add of a check for real locale implementation. Patch done by
6445 * stlport/stl/debug/_debug.h, _debug.c, _iterator.h: Modification of the
6446 __check_same_owner_or_null function name to the more intuitive
6447 __check_same_or_null_owner thanks a Aleksey Sanin remark.
6449 2004-07-26 Petr Ovtchenkov <ptr@Island...>
6451 * src/explore/Makefiles/gmake/lib/gcc.mak: avoid linkage with libstd++
6454 * src/explore/Makefiles/gmake/linux/rules-so.mak: ditto
6456 * src/explore/Makefiles/gmake/lib/rules-a.mak: ditto
6458 * src/explore/Makefiles/gmake/app/top.mak: ditto
6460 2004-07-21 Francois Dumont <dums@...>
6462 * stlport/config/stl_gcc.h: Fix of a gcc 3.3.0 test that did not handle
6463 the gcc 2.95.x correctly thanks Jordan Breeding.
6465 * src/common_rules.mak: Addition of the stlport/stl/pointers folder within
6466 the folder to be install. Add of a call to ranlib under linux mandatory under
6467 Mac OS X and without impact under the other Unixes systems.
6469 2004-07-17 Francois Dumont <dums@...>
6471 * Application of a Mac OSX patch from John Daniel (www.etresoft.com)
6473 2004-07-15 Francois Dumont <dums@...>
6475 * stlport/stl/_epilog.h: systematical use of the redefined std namespace
6476 rather than using the namespace inclusion schema.
6478 * test/unit/set_test.cpp: addition of a test case to show the problem of
6479 the namespace injection schema.
6481 2004-07-13 Francois Dumont <dums@...>
6483 * stlport/numeric: removal of the _function.h header include.
6485 * test/unit/divide_test.cpp: add the missing functionnal header
6488 * doc/README.msvc: new doc specific to the MSVC++ family compiler.
6490 2004-07-12 Petr Ovtchenkov <ptr@Island...>
6492 * test/unit/fstream_test.cpp: tests for unformatted extraction bug.
6494 * stlport/stl/_istream.c: _M_read_unbuffered should leave delimiter
6495 in the stream in case of unformatted input. Thanks Joerg Becker.
6497 2004-07-09 Francois Dumont <dums@...>
6499 * src/sgi_mipspro.mak: add the -LANG:libc_in_namespace_std:OFF
6502 2004-07-08 Francois Dumont <dums@...>
6504 * doc/README.evc3: additionnal doc thanks Michael Fink
6506 2004-07-08 Petr Ovtchenkov <ptr@Island...>
6508 * test/unit/sstream_test.cpp: added two test for unformatted extraction
6509 and newline character. Inspired by Joerg Becker.
6511 2004-07-07 Francois Dumont <dums@...>
6513 * stlport/stl/_hashtable.h, stlport/stl/_hashtable.c,
6514 stlport/stl/_hash_set.h, stlport/stl/_hash_map.h: generalization
6515 of the iterator traits adopted on the tree class. Now iterator and
6516 const_iterator on hash_set and hash_multiset are different types
6517 even if iterator is still immutable.
6519 * stlport/stl/_deque.h, stlport/stl/_list.h, stlport/stl/_slist.h:
6520 Modification of the iterator classes to only use the template
6521 parameter _Traits rather than using an external type traits. It is
6522 the way hash containers and sorted containers have their iterator
6525 * stlport/stl/_iterator_base.h: Addition of the immutable traits
6526 struct _Const_Const_traits and _Nonconst_Const_traits for
6527 implementation of the set, multiset, hash_set, hash_multiset
6530 * stlport/stl/c_locale.h, stlport/stl/debug/_debug.h: removal of
6531 unjustified _config.h inclusions
6533 * stlport/stl/_iterator_base.h: inclusion of type_traits.h only
6534 for compilers that need it.
6536 * stlport/stl/_algobase.h, stlport/stl/debug/_debug.h: add inclusion
6539 * stlport/stl/_algo.h, stlport/stl/_algo.c: move of the _tempbuf.h
6540 inclusion from the .h to the .c that is the only one that need it.
6542 * stlport/stl/_config.h: addition of the boost support section.
6544 2004-07-07 Petr Ovtchenkov <ptr@Island...>
6546 * stlport/stl/_monetary.c: iterator __str_first out of range,
6547 i.e. outside __str_last in 'mismatch' call in __get_string, if
6548 size of interval [__first, __last) is larger than size of interval
6549 [__str_first, __str_last).
6551 * test/unit/fstream_test.cpp: test for correct report by tellg added.
6553 2004-07-05 Francois Dumont <dums@...>
6555 * stlport/stl/_map.h: internal type _Rep_type set as public for use
6556 in the __move_traits specialization thanks Oliver Stoeneberg.
6558 * stlport/stl/_set.h: specialization of the __move_traits to make the
6559 set and multiset movable thanks Oliver Stoeneberg.
6561 * stlport/stl/_function_base.h, stlport/stl/_heaps.h: removal of the
6562 unjustified _config.h inclusion that should only be included from the
6565 2004-07-05 Petr Ovtchenkov <ptr@Island...>
6567 * src/facets_byname.cpp: avoid pass address to member of derived class into
6568 base class via constructor.
6570 * src/facets_byname.cpp: remove first member---EOF---of _M_byname_table---one
6571 not required and lead to wrong reference; this a fix for test in
6574 * src/ctype.cpp: ditto.
6576 * src/c_locale_win32/c_locale_win32.c: ditto.
6578 * stlport/stl/_ctype.h: ditto.
6580 2004-07-02 Petr Ovtchenkov <ptr@Island...>
6582 * src/c_locale_glibc/c_locale_glibc2.c: message catalog functions dealing
6583 with message catalog descriptor; but this descriptor not necessary to be
6584 int; Linux use here void *, i.e. pointer to mmap segment.
6586 * stlport/stl/_messages_facets.h: ditto.
6588 * src/messages.cpp: ditto.
6590 * src/message_facets.h: ditto.
6592 * src/facets_byname.cpp: ditto.
6594 * src/c_locale_stub.cpp: ditto.
6596 * src/c_locale.h: ditto.
6598 * src/c_locale_glibc/c_locale_glibc2.c: fix _Locale_extract_*_name
6601 2004-07-01 Francois Dumont <dums@...>
6603 * src/explore/Makefiles/nmake/lib/vc-common.mak: creation of the
6604 STLP_BUILD_FORCE_DYNAMIC_RUNTIME option to create STLport statix
6605 versions more easily.
6607 2004-06-30 Francois Dumont <dums@...>
6609 * stlport/stl/_function.h: Use a call_traits to avoid the reference
6610 to reference problem in struct like binder1st or binder2nd.
6612 2004-06-26 Francois Dumont <dums@...>
6614 * src/explore/: portage of the explore build system for the
6615 MSVC .Net 2003 compiler.
6617 2004-06-24 Francois Dumont <dums@...>
6619 * stlport/stl/_site_config.h: Addition of an entry for the per thread
6620 allocator configuration.
6622 * stlport/stl/_config.h: Avoid use of the import/export technique
6623 when not using own iostreams. This way you can use the STLport debug
6624 mode without building the libraries.
6626 2004-06-23 Francois Dumont <dums@...>
6628 * extension of the cygwin link problem workaround for mingw32.
6630 * src/locale_catalog.cpp: Move of the _STLP_lock object instance
6631 declaration to limit the critical section and improve performace.
6633 * stlport/stl/_pthread_alloc.h: fix of the pthread_allocator and
6634 per_thread_allocator allocate method to check for the required
6635 number of element before multiplication with the size of the objects
6638 2004-06-22 Francois Dumont <dums@...>
6640 * src/locale_catalog.cpp: fix of the locale facets registration system.
6641 The hash container use string as key rather than char const* so that
6642 a copy of the facet name is stored rather than a copy of the string
6643 pointer that might be freed. We also extract the complete facet name
6644 before storing it to avoid store of facet aliases that cannot be retrieved
6647 2004-06-21 Francois Dumont <dums@s...>
6649 * Restauration of the cygwin support (using gcc 3.3.1). Extension of the
6650 explore build system, workaround of a link problem when using shared
6653 2004-06-13 Petr Ovtchenkov <ptr@Island...>
6655 * src/c_locale_glibc/c_locale_glibc2.c: locale_data for glibc 2.3 is differ
6656 from one for glibc 2.2.
6658 2004-06-11 Francois Dumont <dums@...>
6660 * test/unit: Modification of some tests to make the assertion
6661 clearer. Mainly add of check of the streams state before check
6662 of the stream content.
6664 * test/unit/locale_test.cpp: fix of the thousands separator which is
6665 0xa0 under Win32 and not a simple ' ' for the french locale.
6667 2004-06-07 Francois Dumont <dums@...>
6669 * stlport/stl/_algo.c: rollback of the sort algo implementation
6670 to the 4.5.3 version.
6672 2004-06-03 Francois Dumont <dums@...>
6674 * stlport/stl/pointers/README, doc/pointer_specialization.txt: move and
6675 rename of the doc about pointer partial template specialization feature.
6677 * doc/README.ecv4: Creation of a documentation about the install and use
6678 of STLport within Embedded Visual C++ 4 thanks Zdenek Nemec.
6680 * doc/README.ecv3: Creation of a documentation about the process installment
6681 with the Embedded Visual C++ 3 thanks Michael Fink.
6683 * stlport/stl/_slist.h: fix of an invalid reference to a _M_node member data
6684 on a _Slist_node_base struct (thanks gcc 3.4.0).
6686 * stlport/stl/_string.c, stlport/stl/_string.h: fix of missing scopes to
6687 access the base template class _String_base _DEFAULT_SIZE enum member.
6690 * stlport/stl/_string_base.h: fix of the anonymous union used as a parameter
6691 of the template function swap. (thanks gcc 3.4.0)
6693 * stlport/stl/_ostream.h: fixes of the missing scopes to access the basefield enum
6694 within the base template class basic_ios from the basic_ostream. (thanks gcc 3.4.0)
6696 * stlport/stl/_debug.c: clean up of a no more use template function.
6699 * stlport/stl/_rope.h: fix of the missing scope to access base template class
6700 data member. (thanks gcc 3.4.0)
6702 2004-06-02 Petr Ovtchenkov <ptr@island...>
6704 * src/num_put_float.cpp: some fixes for systems that use snprintf for
6705 output, i.e. for FreeBSD and OpenBSD
6707 * test/unit/floatio_test.cpp: less precise request, this should work
6708 with static buffer for systems that use snprintf
6710 * stlport/stl/_config.h: detect MT for OpenBSD
6712 * stlport/stl/_threads.h: use original spinlock for OpenBSD
6714 2004-05-28 Francois Dumont <dums@...>
6716 * stlport/config/stl_gcc.h: fix for the gcc3.4.0 compiler. Modification
6717 of the include path macro to generate 3.4.0 rather than 3.4 . Need
6718 template keyword to reveal use of a nested template class.
6720 * stlport/stl/_config.h: creation of the _STLP_LONG_DOUBLE macro that
6721 extend to long double on compiler supporting it and double on the other
6724 * stlport/stl/_num_put.h, stlport/stl/_num_put.c, src/num_put_float.cpp:
6725 Addition of functions to get the digits from a long double for the monetary
6728 * stlport/stl/_monetary.h, stlport/stl/_monetary.c, src/monetary.cpp:
6729 Implementation of the missing money_put::put method taking a long double.
6730 Fixing of the grouping application.
6732 * test/unit/Makefile.inc, test/unit/locale_test.cpp: Creation of a unit test
6733 for the locale support. At creation it tests the num_put, num_get, money_put,
6736 * src/facets_byname.cpp: fix of the monetary format determination from
6737 the locale platform API informations.
6739 2004-05-28 Petr Ovtchenkov <ptr@Island...>
6741 * src/explore/Makefiles/gmake/sysid.mak: correctly detect Mingw
6743 * src/explore/Makefiles/gmake/mingw: compilation under Mingw
6745 2004-05-27 Petr Ovtchenkov <ptr@Island...>
6747 * Makefiles/gmake/linux/extern.mak: fix lib catalog name in case of cross-compilation
6749 * Makefiles/gmake/freebsd/extern.mak: ditto
6751 * Makefiles/gmake/openbsd/extern.mak: ditto
6753 2004-05-26 Petr Ovtchenkov <ptr@Island...>
6755 * Repository: STLport 5.0 RC1
6757 2004-05-24 Francois Dumont <dums@...>
6759 * stlport/stl/_iostream_string.h:
6760 Fix of the iostring_allocator rebind embedded struct and implementation
6761 of the missing __stl_alloc_rebind and __stl_alloc_create useful for compiler
6762 not supporting or buggy on the member template feature (VC6 for instance).
6764 2004-05-22 Francois Dumont <dums@...>
6766 * src/num_put_float.cpp, stlport/stl/_num_put.h, stlport/stl/_num_put.c:
6767 Correction of the locale grouping schema application in case of the scientific
6768 output when there is no decimal point.
6770 2004-05-19 Petr Ovtchenkov <ptr@Island...>
6772 * stlport/stl/_tree.h, stlport/stl/debug/_tree.h: fix template parameters, see rec
6775 2004-05-16 Petr Ovtchenkov <ptr@Island...>
6777 * Repository: STLport 5.0 branch
6779 2004-05-14 Francois Dumont <dums@...>
6781 * stlport/stl/_tree.h, stlport/stl/_tree.c, stlport/stl/_set.h, stlport/stl/_map.h:
6782 Modification of the _Rb_tree implementation to restore the non mutability of the set
6783 iterators but to keep distinct type between it and the const_iterator.
6785 2004-05-13 Francois Dumont <dums@...>
6787 * stlport/config/stl_evc.h, test/unit/nmake-evc3.mak: Portage to the WinCE 3 platform.
6788 Thanks Michael Fink.
6790 2004-05-13 Francois Dumont <dums@s...>
6792 * stlport/stl/_set.h: Addition of the const/non-const methods for many methods now that
6793 iterator are not const_iterator anymore. Correction of the multiset interface to be
6794 homogeneous with the set interface.
6796 2004-05-09 Francois Dumont <dums@...>
6798 * stlport/stl/char_traits.h: Addition of the specific wchar_t static methods similar
6799 to the one of the char specialization calling the wide functions.
6801 2004-05-08 Petr Ovtchenkov <ptr@Island...>
6803 * stlport/stl/_set.h: fix definition of const/non-const for find and *_bound
6804 methods. Thanks KL for report.
6806 2004-05-07 Petr Ovtchenkov <ptr@Island...>
6808 * stlport/stl/_set.h: fix definition of const/non-const iterators.
6809 Thanks Ilya Chvetsov for report.
6811 * test/unit/set_test.cpp: test that detect bug above.
6813 2004-04-27 Francois Dumont <dums@s...>
6815 * stlport/stl/_complex.h: removal of a macro guard on the template != operator.
6817 * test/unit/complex_test.cpp: creation of a test case for the complex class.
6819 2004-04-26 Francois Dumont <dums@s...>
6821 * stlport/stl/_fstream.h, src/fstream.cpp: extension of the fstream interface to accept Win32
6822 HANDLE on construction and in the open method.
6824 2004-04-26 Petr Ovtchenkov <ptr@Island...>
6826 * stlport/stl/_istream.h: don't change value while input error happens.
6829 * test/unit/sstream_test.cpp, test/unit/fstream_test.cpp: added test for error
6830 flags and unchanged value when input error occur.
6832 2004-04-23 Petr Ovtchenkov <ptr@Island...>
6834 * stlport/stl/_rope.h: allow search of rope, like done in string
6836 2004-04-21 Francois Dumont <dums@...>
6838 * stlport/stl/pointers/README: Creation of a documentation on the new
6839 pointer partial specialization feature.
6841 2004-04-20 Francois Dumont <dums@s...>
6843 * stlport/stl/_pair.h: modification of the make_pair signature. After the latest
6844 Standard revision it takes params per value and not reference to const.
6846 2004-04-20 Petr Ovtchenkov <ptr@Island...>
6848 * stlport/stl/pointers/_list.h: 'clear' method was forgot.
6850 * test/unit/list_test.cpp: check presence of 'clear'
6852 2004-04-15 Petr Ovtchenkov <ptr@Island...>
6854 * test/unit/partial_test.cpp: wrong comparison during test
6856 * test/unit/sort_test.cpp: ditto
6858 * test/unit/rm_cp_test.cpp: #ifndef not required---should work
6860 * test/unit/unique_test.cpp: ditto
6862 2004-04-14 Petr Ovtchenkov <ptr@Island...>
6864 * stlport/typeinfo, stlport/config/stl_wince_4.h, stlport/stl/debug/_debug.c: adaptation for Win CE .NET;
6865 Thanks Zdenek Nemec.
6867 * stlport/stl/_algobase.h: calculate difference once
6869 * stlport/stl/pointers/_vector.h: missed returns. Thanks KL.
6871 * stlport/stl/pointers/_list.h: idem.
6873 * stlport/stl/pointers/_deque.h: idem.
6875 * stlport/stl/pointers/_slist.h: idem.
6877 * stlport/stl/_vector.c, stlport/stl/_vector.h: big enough functions moved to non-inline section
6879 * stlport/stl/_iterator.h: use reference instead of pointer for stored container
6881 2004-04-06 Petr Ovtchenkov <ptr@Island...>
6883 * stlport/stl/_prolog.h: when we in _STLP_REDEFINE_STD mode, we really
6884 need to #undef std, see mistake 2004-02-19 below.
6886 * stlport/config/stl_msvc.h: partially undo workaround 2004-03-30,
6887 not required; problem was solved by #undef std in _prolog.h
6889 * stlport/stl/_abbrevs.h: add new abbrevs---VC6 has problems in debug mode
6891 2004-04-03 Petr Ovtchenkov <ptr@Island...>
6893 * stlport/stl_user_config.h: expose _STLP_DONT_FORCE_MSVC_LIB_NAME for
6896 * stlport/config/stl_msvc.h: incorporate content of stl_select_lib.h and
6897 vc_select_lib.h; a bit cleaned.
6899 * stlport/config/stl_select_lib.h: removed.
6901 * stlport/config/vc_select_lib.h: removed.
6903 2004-04-02 Petr Ovtchenkov <ptr@Island...>
6905 * src/time_facets.cpp: add #include <cstdio> for sprintf; remove
6906 c_copy_string function.
6908 * stlport/stl/_time_facets.h: fix for _STLP_LEAKS_PEDANTIC.
6910 2004-04-01 Petr Ovtchenkov <ptr@Island...>
6912 * stlport/stl/_string.h: reorder of in-class template and
6913 quazi-specialization function make VC happy, ref. 2004-03-29
6915 * stlport/stl/debug/_string.h: fix insert and replace for
6916 iterators that refer to same string in _STLP_DEBUG mode.
6918 2004-03-31 Petr Ovtchenkov <ptr@Island...>
6920 * src/explore/nmake-evc4-arm.mak, src/explore/nmake-evc4-x86.mak, etc.:
6921 rules for eVC4 compilers---ARM and ix86 target architectures.
6922 Contribution by Zdenek Nemec.
6924 2004-03-30 Petr Ovtchenkov <ptr@Island...>
6926 * stlport/stl/_algo.c: workaround for VC compilers---ones pass reference
6927 to parent object directly, pay no regard for temporary object
6929 * stlport/new, stlport/stl/_new.h, stlport/typeinfo, stlport/config/stl_msvc.h:
6930 workaround for VC6's problem with 'using' directive, while import native
6931 bad_alloc and some other classes into STLport's namespace
6933 * stlport/stl/_streambuf.h: export template class, to make VCs to be happy.
6935 * stlport/stl/_valarray.h: use <new>, not <stl/_new.h>
6937 * src/explore/Makefiles/nmake/lib/macro.mak, test/unit/nmake-vc6.mak:
6938 fix static library names
6940 2004-03-29 Petr Ovtchenkov <ptr@Island...>
6942 * stlport/stl/_set.h: fix problems with erase functions.
6944 * stlport/stl/_string.h: VC compiler expect only one variant---template
6945 or not---of replace function with four iterators in parameters.
6947 * test/unit/nmake-src-prefix.mak: really know what do with sources
6950 2004-03-25 Petr Ovtchenkov <ptr@Island...>
6952 * stlport/stl/_string_base.h: enlarge default string static buffer size
6954 * stlport/stl/debug/_string.h: avoid attempt to invalidate iterators beyond
6957 * stlport/config/stl_gcc.h: instantiation scheme that idefault used---witout
6958 --repo option---in gcc 3 made void of sense explicit instantiation within
6959 library---nothing except increased library size.
6960 Define _STLP_NO_FORCE_INSTANTIATE is default now for gcc 3.x.
6962 * stlport/stl/_streambuf.h: remove specialization of
6963 basic_streambuf<char, char_traits<char> >---reference to FILE struct here
6964 isn't required and really not used anyware. Functionality of standard io
6965 streams, including synchronization with C std io streams provided in
6966 src/stdio_streambuf.cpp
6968 * stlport/stl/_iosfwd.h: same.
6970 * src/fstream_impl.h, src/iostream.cpp, src/stdio_streambuf.cpp: same.
6972 * src/streambuf.cpp: removed.
6974 * stlport/stl/_stdio_file.h: moved...
6975 * src/_stdio_file.h: ...here
6977 * stlport/stdio_streambuf: moved...
6978 * src/_stdio_file.h: ...here
6980 * src/explore/Makefile.inc: remove streambuf.cpp
6982 2004-03-24 Petr Ovtchenkov <ptr@Island...>
6984 * c_locale_glibc2.c: real locale implementation for glibc 2.3.x.
6986 2004-03-15 Petr Ovtchenkov <ptr@Island...>
6988 * test/unit: unit test suite intended for test/regression replacement.
6989 Zdenek Nemec contribution.
6991 2004-03-01 Francois Dumont <dums@s...>
6993 * _hash_fun.h: Correction of the hash struct specialization for the _STLP_LONG_LONG
6994 type. Thanks Vianney Lecroard
6996 * type_traits.h: Integration of the boost (www.boost.org) type traits within STLport.
6998 2004-02-21 Francois Dumont <dums@s...>
7000 * _tree.h: Modification of the base class implementtion to avoid the systematical
7001 dynamic allocation of a node as the root note of the RB tree.
7003 * Addition of many missing macro guards in the stlport public headers to avoid to break
7004 the stlport prolog/epilog include framework.
7006 2004-02-19 Petr Ovtchenkov <ptr@Island...>
7008 * _slist.h, debug/_slist.h,, dll_main.cpp: remove excess slist redefinitions
7010 * debug/_slist.h: comment explicit usage of namespace with functions---under
7011 some conditions this hangs gcc compilers.
7013 * _config.h, _cwchar.h, _epilog.h, _iterator_base.h, debug/_debug.c: multiple import
7014 of _STL namespace into std, as multiple import VENDOR_CSTD namespace into _STL
7015 namespace lead to crash of gcc compilers. Import of _STL namespace into std
7016 namespace done once in the _config.h, not in _epilog.h.
7018 * _prolog.h: undef std not required in all cases; instead this is useful only
7019 for redefinition of std namespace, and should be done in the _config.h.
7021 * _epilog.h: include of _config.h has no sense here.
7023 * _threads.h: wrong import of _STL namespace into global namespace
7025 2004-02-18 Francois Dumont <dums@s...>
7027 * _list.h: Modification of the base list class based on the slist implementation.
7028 The list do not allocate a node systematically anymore even for the empty list.
7030 2004-02-14 Petr Ovtchenkov <ptr@Island...>
7032 * debug/_relops_cont.h, debug/_string.h: fix typos in template specializations.
7034 2004-02-12 Petr Ovtchenkov <ptr@Island...>
7036 * explore/icc.mak: experimental make system support Intel's icc compiler
7039 2004-02-05 Petr Ovtchenkov <ptr@Island...>
7041 * iostream.cpp, _ios_base.h, iostream, locale_impl.h, locale_impl.cpp:
7042 revise standard iostream and locale initialization, remove worrits about
7043 order of static objects initialization as soon as possible; all real
7044 initialization situated in the locale_impl.cpp; locale initialization
7045 moved to _Locale_impl constructor---locale will be correctly initialized
7046 either via direct locale usage, or during standard iostream initialization,
7047 as ios_base member. This changes may lead to problems with Digital Mars
7048 and Borland compilers---should be checked and fixed.
7050 2004-02-03 Francois Dumont <dums@s...>
7052 * integration of a portage to the Windows CE .NET (eMebedded Visual
7053 C++ 4) compiler thanks Zdenek Nemek
7055 2004-02-02 Petr Ovtchenkov <ptr@Island...>
7057 * _iostream_string.h: avoid usage of iostring in the _STLP_DEBUG mode,
7058 due to iostring::iterator not convertable into string::iterator in this
7061 2004-01-29 Petr Ovtchenkov <ptr@Island...>
7063 * _string.c: avoid 'insert( iterator, const_iterator, const_iterator )'
7064 instantiation in the 'replace'---VC6 has problem here.
7066 2004-01-29 Francois Dumont <dums@s...>
7068 * facets_byname.cpp: correction of the typeid use thanks to Ulrich Eckhardt.
7070 * _iostream_string.h: creation and integration of a special string used within
7071 the iostream implementation to display floating point numbers. It mixes a static
7072 buffer with a dynamic one to improve performance.
7074 2004-01-22 Francois Dumont <dums@s...>
7076 * _new.h: check of the _STLP_USE_EXCEPTIONS before correction of the new
7077 operator behavior and bad_alloc exception definition.
7079 * _ios_base.h: removal of the _M_get_facet function not fully implemented
7080 and unused thanks Ulrich Eckhardt.
7082 * _algo.h: correction of the __less_2 helper struct to remove
7083 copy thanks Sergey Volk
7085 2004-01-19 Petr Ovtchenkov <ptr@Island...>
7087 * _debug.c: avoid recursive locks in __owner_list's mutex---equivalent
7088 code use underlie iterators, not debug wrapper iterators. By the way this
7089 approach faster---no excessive checks; solved by Boris Fomitchev.
7091 * _thread.h, _debug.h: recursive-safe mutex structure removed---not
7092 required more; see reason just above.
7094 2004-01-09 Francois Dumont <dums@s...>
7096 * type_manip.h: Correction of the _IsSame struct to have both partial template
7097 specialization version and the other behaving similarly.
7099 2004-01-07 Francois Dumont <dums@s...>
7101 * _deque.c: Mysterious copies of instance to store in the containers
7104 2004-01-05 Francois Dumont <dums@s...>
7106 * _list.h, _slist.h: Implementation of the pointer specialization for list
7109 2003-12-31 Petr Ovtchenkov <ptr@Island...>
7111 * _vector.h, _vector.c, _hashtable.h: remove excess vector redefinitions
7113 * debug/_vector.h: pointer specialization for vector not derived
7114 from _Vector_base, so we should avoid references on _Vector_base
7115 class members in debug wrapper.
7117 2003-12-22 Francois Dumont <dums@s...>
7119 * _string.h: use _STLP_FORCE_STRING_TERMINATION flag to enforce
7120 null-termination of data associated with string.
7122 2003-12-20 Francois Dumont <dums@s...>
7124 * _vector.h: Implementation of the pointer specialization for vector to
7127 2003-11-29 Francois Dumont <dums@s...>
7129 * _string.h: Implementation of the short string optimization.
7130 basic_string have now a short static buffer to avoid call
7131 to the allocator when the string is short.
7133 2003-11-29 Petr Ovtchenkov <ptr@Island...>
7135 * cwchar, _config.h, _cwchar.h, _stdio_file.h, c_locale.h:
7136 support for OpenBSD, gcc 3.3.1
7138 * src/explore/Makefiles/gmake/...: support for OpenBSD, gcc 3.3.1
7140 2003-11-17 Francois Dumont <dums@s...>
7142 * _alloc.h: Move of the definition of _Alloc_Traits before inclusion
7143 of _pthread_alloc.h; thanks Diego Klabjan
7145 2003-11-16 Petr Ovtchenkov <ptr@Island...>
7147 * _algobase.h, _algo.c: iter_swap and __insertion_sort don't
7148 properly deduce value type of iterator, instead uses dereference's
7149 return type; this occur when dereference return some proxy object,
7150 convertible into value type.
7151 Thanks Przemek Kuczmierczyk <przemekk834@tlen.pl> for report, test
7154 * iterswp0.cpp, iterswp1.cpp, iterswp.cpp, stl_test.cpp,
7155 stl_test.h, Makefile.inc (test/regression): move iterswp0_test,
7156 iterswp1_test into iterswp.cpp, add new tests for properly deduce
7157 value type of iterator, when dereference return some proxy object.
7159 2003-11-15 Francois Dumont <dums@s...>
7161 * _string.h: implementation of the expression template for string
7162 addition with other string or C string or char.
7164 * _ostream.h: adoption of the classic (even if not clear in
7165 the standard) ouput for short and int negative values in hexa
7166 or octo bases that is display according its size for the compiler.
7169 2003-11-14 Petr Ovtchenkov <ptr@Island...>
7171 * src/c_locale.c, src/c_locale_glibc/c_locale_glibc2.c: step to
7172 real locales support with glibc >= 2.2.x
7174 * src/c_locale_glibc/c_locale_glibc.c: bit fixes for locales
7175 support with glibc < 1.90, and, possible, 1.90 <= glibc < 2.1;
7176 we can't support this old code, so file
7177 src/c_locale_glibc/c_locale_glibc.c is obsolete, and will be
7180 * src/explore, test/regression/explore: exprimental make system.
7182 2003-11-13 Petr Ovtchenkov <ptr@island...>
7184 * STLport (repository): current development moved to CVS HEAD stream.
7186 * STLport (repository): current development stream marked as STLport 5.0.
7188 2003-11-02 Francois Dumont <dums@s...>
7190 * _limits.c: Correction of the quiet and signaling NaN that was inverted
7191 for several platform; thanks Alexey Sarytchev.
7193 2003-11-01 Francois Dumont <dums@s...>
7195 * _string.c: judicious correction for string::find_first_not_of to
7196 improve performance; thanks Stephen Cleary.
7198 * _bitset.h: integration of a workaround for up to MSVC6 compilers
7199 for the bitset input and output operators; thanks Jesse Booher.
7201 * _ostream.h, _istream.h: fix of a non-standard behavior of the seekp
7202 and seekg calls and conformance to the latest 2003 standard; thanks Tanaka.
7204 2003-10-26 Francois Dumont <dums@s...>
7206 * _monetary.c: fix an other memory overrun on monetary display;
7209 2003-10-26 Petr Ovtchenkov <ptr@island...>
7211 * ioiter.cpp, gcc.mak, stl_test.h, stl_test.cpp, stl_test.exp
7212 (test/regression): tests for postfix increment operator and
7213 indirection of istreambuf_iterator.
7215 2003-10-25 Petr Ovtchenkov <ptr@island...>
7217 * _istreambuf_iterator.h: fix postfix increment operator
7218 of istreambuf_iterator to provide conformance with
7219 ISO/IEC 14882:1998(E), 24.1.1, p.511, i.e.
7220 *r++ equivalent to { T tmp = *r; ++r; return tmp; }.
7221 Thanks Tanaka for the report.
7223 2003-10-23 Francois Dumont <dums@s...>
7225 * debug/: modification of the invalidation of iterators to avoid
7226 invalidation of the end iterator for the associative containers,
7227 hashed containers and list on calls to clear/assign/assignment
7228 operator. (thanks Alexey Sarytchev)
7230 * _rope.h: Correction of the rope::iterator and rope::const_iterator
7231 copy constructor and assignment operator (thanks Bradley Grainger)
7233 2003-10-16 Francois Dumont <dums@s...>
7235 * _alloc.h: Add of the throw() specification on allocator comparision.
7237 * _iterator.h: Correction of the operator++(int) signature to conform
7240 * _ctype.h: tolower and toupper for wchar_t types.
7242 * _valarray.h: gslice_array::operator = (const value_type&) not
7245 * _valarray.h: slice_array idem
7247 * _valarray.h: valarray<T> operator [](const gslice&) former version
7248 was taking a copy of gslice
7250 * _codecvt.h: correction of the default codecvt class definition and
7251 correction of the out method
7253 (all thanks Richard Peng)
7255 2003-10-16 Francois Dumont <dums@s...>
7257 * debug/: add of the iterator range check on all container constructors.
7259 * _string.h: correction of a bug on string auto referencing throught
7260 some method like insert and replace. (thanks Tanaka)
7262 * _valarray.h: correction of the missing slice_array copy constructor
7263 and assignment operator in the private section (thanks Tanaka)
7265 2003-10-11 Petr Ovtchenkov <ptr@island...>
7267 * _sstream.c: [io]?stringstream must do equivalent of seek at end,
7268 after opened with ios_base::ate; this behaviour useful only when buffer
7269 initialized by string; thanks Tanaka for the report.
7271 2003-10-06 Francois Dumont <dums@s...>
7273 * _istreambuf_iterator.h, _ostreambuf_iterator.h: correction
7274 of the missing iterator base class (Thanks Tanaka)
7276 2003-10-05 Francois Dumont <dums@s...>
7278 * _string.h: correction of the replace implementation badling form
7279 for self referencing
7281 * _string.h, _string.c: Modification of the _M_copy method
7282 to _M_move as basic_string do not correctly handled self referecing;
7285 2003-09-25 Francois Dumont <dums@s...>
7287 * como 4.3.0 on linux support (thanks Synge Todo and Karel Gardas)
7289 * Quazy-leak patch: make memory detection tools happier,
7290 option _STLP_LEAKS_PEDANTIC in _site_config.h. (thanks Petr Ovtchenkov)
7292 2003-09-19 Francois Dumont <dums@s...>
7294 * Support of the Linux Intel C++ support (thanks Blaine Kubesh)
7296 * FreeBSD support update (thanks Guy Middleton).
7300 * codecvt.cpp: charcode correction in the do_in method (thanks J Hamilton report)
7304 * _valarray.h: Correction of the missing explicit keyword in front of one of the valarray constructors
7305 (thanks Stephen Clamage)
7308 2003-08-10 Francois Dumont <dums@s...>
7310 * stdexcept: Correction of the mysterious 50 messages from VC7.Net (thanks Krish S)
7314 * _vector.h: implementation of the max_size method based on the allocator::max_size method
7315 (thanks Gennaro Prota from the boost forum).
7319 * _vector.c: add of the standard length_error exception to the reserve method (thanks Steven Youngs).
7323 * _alloc.h: add of a check of the number of element require to allocator::allocate to avoid a possible
7324 size_type overflow (thanks Steven Youngs).
7328 * _istream.h: move of the ws implementation within the header to avoid undefined symbol
7329 under NO_CUSTOM_IO mode (thanks Ulrich Eckhardt)
7333 * ctype.cpp : charcode correction (thanks Markus Stier reports and Alberto Barbati correction)
7337 * _function.h : all function can now be used in a non-const world (thanks Alexey Kirjushkin)
7341 * move constructor framework integration (thanks Francois Dumont)
7345 * containers interface correction for standard compliance when using explicit
7346 intanciation of not default constructible type. (thanks Alexei Agafonov report)
7350 * iostream.cpp, locale_impl.cpp : static initialization made robust for case of
7351 dynamic loader circular dependancies (Thanks Alexey Sarytchev for the report)
7355 * _function.h : integration of a new workaround for mem_fun_* family
7356 for compiler having return void bug (Thanks Pavel Kuznetsov).
7358 * stl_solaris.h : v8plus compilation fix (Thanks Mukesh Kapoor)
7360 * num_put_float.cpp : FreeBSD fix
7362 * _construct.h : fixed case for compilers with default integer
7367 * fstream.cpp : text file stream position bug correction (thanks Christopher Kohlert)
7371 * _num_put.c : Correction of the display of the min 64 bits signed integer values
7372 like numeric_limits<__int64>::min() on WIN32 for instance (thanks Anders Dalvander)
7375 * _num_put.c : Add of the '+' sign when requested for the unsigned integer display
7376 (thanks Francois Dumont)
7380 * debug : many missing iterator invalidation corrected (thanks Detlev V.Davidson and Francois Dumont)
7384 * _new.h : introduction of a new config compiler switch for those which do define
7385 bad_alloc but that do not throw it! (thanks ?)
7387 * _new.h : class nothrow_t changed to struct nothrow_t (Thanks Francois Dumont)
7389 * _bvector.h : Addition of the |= and &= operator on the _Bit_reference struct (thanks Ed Rice)
7391 * Performance bug in type_traits.h fixed (Thanks Francois Dumont)
7393 * Added Linux spin lock code ()
7395 * Added GCC-3.x configurations
7397 * Fixed HP aCC support
7399 * Added OpenWatcom support
7401 * version numbers bumped
7403 * iostreams ported to EMX (gcc on OS/2) (Thanks Martin Schaffoener)
7405 * iostreams ported to CRAY Unicos C90, T90, and J90 (Thanks Geir Johansen)
7407 * stl_sunpro.h : fixed mbstate definition for SUN 4.2 (thanks lengzq)
7409 * complex.cpp, _complex.h : template<> used for specializations
7411 * _num_put.c : unused locale variable removed (thanks Petr Ovtchenkov)
7413 * _algo.h : __reverse beautified (thanks Kabanov)
7415 * dll_main.cpp : force_link() forced to be linked in
7417 * stl_msvc.h : config changes for .NET
7419 * _auto_ptr.h : "struct" changed to "class"
7421 * _istream.c : M_read_unbuffered fixed (thanks Stefan Schwarzer )
7423 * stl_gcc.h : added missing inclusion for SCO platform (thanks Emmanuel Soden)
7425 * _tree.c : optimized insert_unique (thanks Timothy)
7427 * _algo.c : relaxed type requirements for lower_bound, upper_bound, binary_search
7429 * _algo.h : adjacent_find() expressed with compare-function flavour
7431 * cpp_runtime/typeinfo : made adjustments for .NET (Thanks Daniel)
7433 * cstd/cassert : guard removed (thanks Evan Cheng)
7435 The following changes were made in 4.5.3 since 4.5.1 release:
7437 * iostreams ported to Windows CE (thanks Andrew Waters)
7439 * iostreams ported to AmigaOS (thanks Steven Solie)
7441 * iostreams ported to NCR 3.x (thanks Emmanuel Soden)
7443 * _hash_map::operator[] : enhanced to avoid calling default object constructor
7444 (Thanks Yuri Taranenko for the report)
7446 * Identifier "__value" changed everywhere to "__val" to avoid clashes with Microsoft's "managed C++" keyword (thanks Crow for the report)
7448 * Most containers : swap() fixed to swap non-stateless allocators correctly (thanks Scott Meyers)
7450 * _sstream : fix to account for ios_base::app flag properly
7452 * type_traits.h : _IsOKToMemCpy() fixed to only allow memcpy() for same type arguments (thanks Ed Brey for the report)
7454 * stl/_num_put.c, stl/_list.c : workarounds for Debian gcc (thanks Levente Farkas)
7456 * <typeinfo> : fixed MS workaround (thanks Wil Evers, Andrew Ushakov)
7458 * _pthread_alloc.h : added per_thread_allocator class; returns memory to the same thread it's been allocated in.
7460 * _iterator_old.h : restored ->() operator for MSVC (thanks Daniel Anderson)
7462 * a bunch of MPW fixes (thanks Tsutomu Yoshida)
7464 * _config_compat.h : fixed compatibility definition for _STLP_NO_EXCEPTIONS (thanks Nicolas)
7466 * _fstream.c : fixed bug in _M_seek_init (thanks Pavel Kuznetsov)
7468 * _rope.h : rope<>::swap() methods fixed for non-partial ordering case (thanks Eric Musser)
7470 * comlex_trig.cpp : fixed bug on SGI (thanks Mortis)
7472 * A bunch of fixes for HP aCC compilation with -AA option (thanks John Bossom)
7474 * *.c files : added conditional inclusion of corresponding *.h file to fix xlC issues with -tempinc option (thanks Alla Bogolyubov for the report)
7476 * _auto_ptr.h : "struct" changed to "class" (thanks Alex Pinsker for the report)
7478 * _config.h/stl_user_config.h : handling of macro _STLP_WHOLE_VENDOR_STD rectified
7480 * _num_put.c : do_put(const void*) changed to output pointers in hex format (thanks Alex Rosenberg)
7482 * test/eh/test_algobase.cpp : fixed alignment to work on 64-bit architectures
7484 The following changes were made in 4.5.1 beta 1 since 4.5 release:
7486 * _config.h, _epilog.h : new namespace inclusion schema implemented for own iostreams mode
7487 (no std:: redefinition; _STL:: namespace imported into std::, instead of std:: imported to _STL.
7488 C library header files wrappers become obsolete if this mode is used and no own namespace is selected.
7489 They will be moved out to distinct directory in the next release, and default is going to be no own namespace
7490 with own iostreams.)
7491 For some compilers (VC6), this only works with _STLP_NO_OWN_NAMESPACE and _STLP_OWN_IOSTREAMS settings.
7493 * iostreams ported to SCO OpenServer (thanks Emmanuel Soden)
7495 * sparc_atomic.s : added "stbar" to fix multiprocessor crashes on SPARC
7497 * dll_main.cpp : forced link of Bs_G static data members (thanks Sandy Martel). Function wrapped in STLport namespace.
7499 * _alloc.c : fixed _STLP_CHUNK_MALLOC for debug malloc configuration (thanks Markus Sch pflin)
7501 * _config_compat.h : fixed compatibility section for _STLP_NO_OWN_IOSTREAMS
7503 * fstram.cpp , vc6.unicode.mak : fixed bug in wide streams handling for VC6 (thanks Jim Dolter)
7505 * etc/*.txt : files list broken up into several categories for future reorganization
7507 * stl_msvc.h : fixed library selection for .NET (Thanks Franz Zetting)
7509 * _ftsream.h, iostream.cpp : fixed compilation for _STLP_NO_EXTENSIONS case (thanks Ben Dorman for the report)
7511 * char_traits.h : fpos<> operators == made members (thanks Thomas Witt)
7513 * _threads.h : added using directive for Solaris x86 compile (thanks Mukesh Kapoor)
7515 * _threads.h : fixed InterlockedXXX definitions for VC++ 6.0 SP5 (thanks AndreasM)
7517 * gcc-install-apple-macosx.mak : INSTALL_STEP set to install_unix (Thanks Tron Thomas)
7519 * common.mak : default install directory for Unix set to /usr/local
7521 * _string.h : _M_null expressed via _STLP_DEFAULT_CONSTRUCTED (Thanks Anthony)
7523 * _site_config.h : made sure _STLP_NO_THREADS are set if _NOTHREADS is on (Thanks Jeppe Madsen)
7525 * _config.h : _STLP_WIN32THREADS is set (bugfix) ( thanks to Andreas Malzahn )
7527 * _num_put.c, common_rules.mak : patches by Levente Farkas
7529 * etc/STLport-4.5.1.spec : spec file to build STLport-4.5.1 RPM added (thanks Levente Farkas)
7531 * _auto_ptr.h , _debug.c, _debug.h : debug check for auto_ptr pointer added (thanks Gerd Hoeren for the idea)
7533 * debug/_vector.h : invalidation for erase() corrected not to invalidate current iterator (Thanks ALberto Barbati)
7535 * stl_bc.h : restored automatic library link directive for cases when STLport is not a native library
7538 * _auto_ptr.h : template constructor conversion bug fixed (thanks mbergal)
7540 * MIngw32 patches integrated (thanks Wu Yongwei)
7542 * 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)
7544 * dll_main.cpp : added __malloc_alloc instantiation (thanks Michael Ehrig)
7546 * _debug.c : fixed race condition in _M_detach (thanks Achim Stremplat)
7548 * test/*/hpacc.mak : fixed flags and libs (thanks Michael Ehrig)
7550 * typeinfo : added fix for MS VC ::bad_cast confusion (thanks Alberto Barbati)
7552 * debug/_vector.h : removed extra guard for MSCV around member template constructor (thanks Alberto Barbati)
7554 * _fstream.h : added extension basic_fstream<> constructors taking protection parameter (thanks Mukesh Kapoor for the idea)
7556 * stl_sunpro.h : added additional C include directory choice for Solaris 6&7 (thanks John E. Bossom)
7558 * _vector.c : added _vector.h inclusion for _STLP_LINK_TIME_INSTANTIATION case (thanks Alex Vanic)
7561 * _num_put.c : fixed overflow case with grouping (thanks Will Evers)
7563 * _istreambuf_iterator.h : fixed distance_type return type (thanks Anthony Williams)
7565 * debug/_vector.h : debug version of push_back() added (thanks)
7567 * Iostreams ported to LynxOS 3.0 (thanks Dmitry Azovtsev)
7569 * wrappers/*.h : added inclusions of the master header to fix xlC 3.x compile (Thanks Dmitry Azovtsev)
7571 * Changes for BCB6 integration (thanks Nathan York)
7573 * Removed all dead code blocks marked by #if OBSOLETE and #if 0
7575 * Updates build spec file for Linux rpm (thanks Levene Farkas, Harold van Oostrom)
7577 * complex_trig.cpp : limits changed to be static, for performance optimization (thanks Sergei Nikolaev)
7579 * _algo.c : eliminated default-constructed iterators, to lift unnecessary restriction (thanks Tonci Tomic )
7581 * _vector.h : fixed bug in assign() : copy used instead of __copy_aux (Thanks Tim Finer)
7583 * stl_sunpro.h : restored _STLP_HAS_NO_NEW_C_HEADERS switch for SUN CC 4.2
7585 * <new> : __stl_new definition put into the namespace (thanks Satoshi Nakamura)
7587 * bcb*.mak : fixed md command and DYN_LINK (thanks Kirby Zhou)
7589 * stl_user_config.h : added _STLP_USE_CUSTOM_CHAR_TYPES_IO switch to optimize iostreams for default case
7591 * debug/_vector.h : fixed debug check bug (thanks Gerd Hoeren)
7593 * _alloc.h : allocator::construct uses std::_Construct (thanks Gert Grossmann)
7595 * stl/_alloc_old.h : restored (thanks Gert Grossmann)
7597 * stl/_threads.h : fixed _STLP_ATOMIC_xxx macros for DEC (thanks Gert Grossman)
7599 * src/_locale_impl.cpp : added missing guards for codecvt<> in _STLP_NO_MBSTATE_T case
7602 The following changes were made in 4.5 release since 4.5 beta 8 :
7604 * _threads.h, debug/_debug.h etc : STLport iostreams library made binary compatible with user code compiler w/o multithreaded switch, for some platforms
7606 * config/stl_msvc.h, <cmath> : corrected _STLP_NO_USING_FOR_GLOBAL_FUNCTIONS for VC++ 6.0 SP5
7607 (Thanks Alberto Barbati)
7609 * src/vc6.mak : RC macro definition restored (Thanks Graham)
7611 * stl/_cmath.h, <cmath> : parts of code moved to <cmath> as <valarray> uses it (Thanks Synge Todo)
7613 * stl/_tree.c : fixed insert_unique() with a hint bug (Thanks Serge Pashkov)
7615 * src/gcc-*.mak : removed -nostdinc++ option
7617 * stl_solaris.h : definition of _STLP_SUNPRO_EXCLUDE made dependant on _XOPEN macro instead of SUN CC macros (Thanks ecohen for the report)
7619 * fstream.cpp : mmap_chunk made to be 1M instead of 16M as was originally intended (thanks Alexey Starikovskiy)
7620 * stl_sunpro.h : _STLP_LIMITED_DEFAULT_TEMPLATES not defined for compat mode anymore ( thanks Michael Kopp)
7621 * dll_main.cpp : added instantiation for _Swap_lock_struct<> (thanks simonb)
7623 * _ostream.c : fixed formatting bug for width()==1
7625 * config/_epilog.h : added option pop section for Borland.
7627 * stl/_threads.h : fixed InterlockedXXX declarations for MS .NET (thanks Piers Haken)
7629 * vc7.mak makefile added for MS VC++ 7.0 (.NET)
7631 * fixed _STLP_ITERATOR_CATEGORY, etc. for Mwerks CodeWarrior 5.0
7633 * stl/_num_put.c : fixed operator<<(void*) to use _STLP_LONG_LONG where available.
7635 * _STLP_WHOLE_VENDOR_STD option is back supported (Thanks anton ephanov for the input)
7637 * _cmath.h : added guard to mask additional overloads (thanks Tim Smith)
7639 * stl_solaris.h : mbstate_t stuff defined here, old-style C headers used (Thanks Mukesh Kapoor)
7641 * type_traits.h : __default_constructed() inlined (Thanks Matt Davies)
7643 * new.h : fix for gcc-3.0 to look in backward directory (Thanks Ken)
7645 * stlport/using/h/streambuf.h added (Thanks Gennadiy)
7647 * A bunch of changes for Borland static and DLL compile (Thanks Nathan York)
7649 * stl/_algo.c : fixed find_end() bug (Thanks Alberto Barbati)
7651 * stl/_queue.h : priority_queue<>::_comp renamed to "comp" as standard states (thanks Todd Greer)
7653 * _limits.c : added correct data member representations for AS400 and Alpha machines (thanks Holger Stash)
7655 * _vector.h : added check to avoid calling allocator<>::deallocate(0) (thanks Stephen Cleary)
7657 * config/_prolog.h, config/_epilog.h : added push/pop pack(8) pragmas for MSVC (thanks Todd Greer, Alberto Barbati)
7659 * gcc.mak's : default spelling for "-pthreads" option changed to "-pthread" as more platforms use that.
7662 The following changes were made in 4.5 beta 8 since 4.5 beta 7 :
7664 * stl/_fstream.c : _M_underflow bug fix for custom codecvt facets (thanks Alberto Barbati)
7666 * bcc55.mak : c_locale.c added to the link command (thanks Steve Loves)
7668 * _iterator_base.h & many other places : iterator tags are being accepted by const reference
7669 instead of value, to fix segmentation faults experienced on certain platforms with beta7.
7670 That also should improve efficiency on same platforms (apparently, empty unreferenced
7671 objects with no constructors/destructors were copied on the stack when passed by value).
7672 Accompanied change eliminates hardcoded deference hack used in previous beta.
7673 Thanks everybody who reported this.
7675 * stl_user_config.h : added _STLP_GCC_USES_GNU_LD switch. This is for those platforms
7676 where native linker does not let gcc to implement automatic instantiation of static
7677 template data members (Tru64, AIX, HP-UX).
7678 It is being put in this file as there is no automatic way to check if we are using GNU ld or not.
7680 * _range_erors.h : depandancy on <stdexcept> and <string> removed for own iostreams mode
7681 (thanks Doug Gilbert)
7683 * debug/_list.h : "typename" added in new methods (thanks Doug Gilbert)
7685 * _config.h, src/common_macros.mak : beta version number bumped
7687 * src/ftream.cpp, c_locale_win32.c : fixes for UNICODE compilation (thanks Valo)
7689 * stl_gcc.h, etc : changes for GCC support on Tru64 (thanks Tobias Ernst)
7691 * _alloc.c : for MS VC, malloc_dbg only used when _STLP_DEBUG_ALLOC is set, not for all debug configs
7692 (Thanks Anton Ephanov)
7694 * test/eh/gcc.mak : directories stuff fixed (Thanks Brodie)
7696 * stl/_complex.h : fixed declarations for long double specializations (Thanks Tsutomu Yoshida)
7698 * locale_byname.cpp, etc. : fixes for Apple compilers by Tsutomu Yoshida.
7700 * _ios_base.h : __evenk id changed not to clash with MS VC++ 7 (thanks Paul Ghezzi)
7702 * _fstream.c : added basic_filebuf constructor workaround for compiler which do not initialize builtins
7703 to zero when default constructed (thanks Alberto Barbati)
7705 * _locale.h : relaxed guerd around templated locale constructor (thanks Alberto Barbati)
7707 * stl_mwerks.h : changes to accomodate CodeWarrior 6.2 (thanks cprosser)
7709 * stl/_cmath.h : extracted from <cmath> for better decoupling
7711 * stl/_std_prolog.h, stl/_std_epilog.h : hooks for future alternative namespace inclusion style.
7713 * config/stl_gcc.h : gcc-3.0 now supported
7715 * src/gcc-beos.h : only static library is being built (dynamic stil don't work) (thanks John Maddock)
7717 * using/iostream : included using/istream and using/ostream
7719 * dll_main.cpp : force_link() fix to prevent numeric_limits static members and
7720 _M_increment/decrement from _tree.c from being optimized out by VC++
7721 (thanks Sofus Mortensen, Alberto Barbati )
7723 * _alloc.c : added CHECK_NULL_ALLOC for _STLP_CHUNK_ALLOC with malloc, to throw exception if malloc returns 0 (thanks ghunt)
7725 * stl_bc.h, <exception> : fixed Borland C++ import of unexpected handler stuff
7727 * stl_ibm.h, etc. : fixes for IBM VisualAge 5.02 to compile
7729 * type_traits.h : bool2type<> changed to be parameterized on int, to work around SUN CC bugs (probably others, too)
7731 The following changes were made in 4.5 beta 7 since 4.1 beta 6 :
7733 * sparc_atomic.s : file missing from the distribution restored
7735 * etc/ subdirectory created; miscellanous files moved there
7737 * STLport ported to BeOs, complete with iostreams (thanks John Maddock)
7739 * Macro _STLP_NO_SGI_IOSTREAMS renamed to _STLP_NO_OWN_IOSTREAMS, old references to SGI removed;
7741 * "prepare" target added to all makefiles in src/; should be run before using STLport;
7742 on most platforms it's empty, on some of them it creates necessary symbolic links, etc.
7744 * stl/_deque.h : deque<>::erase bug (introduced in 4.1b4) fixed (thanks to BruceFlorman)
7745 : default parameter in constructor bug fixed (Thanks to Alex Vanic)
7747 * stl_msvc.h : explicit template function agruments enabled for VC++;
7749 * stl_wince.h : added <windows.h> inclusion
7751 * stl/_limits.h : numeric_limits<bool>::digits changed from 0 to 1 (Thanks Mukesh Kapoor)
7753 * stl/_function_base.h : added __identity_element() (extension name), _numeric.h : this one used instead of identity_element() (Thanks Hafeez)
7755 * stl_msvc.h : explicit template function agruments enabled for VC++;
7757 use_facet<> now fully conforms to the standard with VC++. (Thanks Jeff Kohn for the input)
7759 * fstream.cpp : LARGE_INTEGER used to work around Intel shift instruction bug (thanks Thomas Meischner)
7760 * fstream.cpp : ULL macro fixed for Win32
7761 * fstream.cpp : Added test for for INVALID_HANDLE_VALUE and NULL base and _M_view_id,
7762 for _M_close on Win32 (Thanks Stephen Baker)
7763 * fstream.cpp : Fixed corner case with mmap() on EOF (Thanks Jens Maurer)
7765 * _istream.c : fixed _M_read_buffered sssso that it does not skip delimiters (Thanks Gerd Hoeren)
7767 * stl/_string.h : operator __std_string() uses constructor with a size to correctly initialize string containing null chars (Thanks Armin)
7769 * iomanip : added operator for setfill object and istream (was ostream only) (Thanks Mukesh Kapoor)
7771 * stl/_locale.h , stl_intel.h : fixes for Intel 5.0 compiler (Thanks Anton and Marcello Pietrobon)
7773 * stl_solaris.h : added _STLP_NO_NATIVE_WIDE_FUNCTIONS
7775 * New makefiles added for Intel C++ 5.0 and VC++ 6.0 in src/, test/eh, test/regression (Thanks to Marcello Pietrobon)
7777 * _STLP_NO_LONG_DOUBLE case handled for STLport iostreams as well (thanks John Daniel)
7779 * SUN CC compiler template cache is being properly cleaned up (Thanks Whitney Kew)
7781 * dll_main.cpp : added extern "C" around DllMain() (Thanks Danny Smith)
7783 * type_traits.h : added bool parameter to shut up warnings on some compilers (Thanks glassman)
7785 * stl/_rope.h/.c, src/mrcpp.mak, src/mrc.mak, stl/_tree.h : MPW & MRC fixes by Tsutomu Yoshida
7787 * stl_gcc.h : added path for <exceptions> et al for gcc-2.95.3 on FreeBSD (Thanks to
7789 * _tree.h /_tree.c : pointers used as return values instead of iterators for implementation
7790 functions, for efficiency.
7792 * _algo.h/.c : added leading underscrore to some symbols (Thanks to Ed James-Beckerman for the report)
7794 * dll_main.cpp : fixed nothrow object initialization (Thanks to Dan Ingold)
7796 * beta suffix in common_macros.mak updated (thanks to Whitney Kew)
7798 * c_locale_win32.c : incomple fix for locale completed (thanks to Alberto Barbati)
7800 * c_locale.h : _Locale_ALPHA definition for VC++ and mingw32 fixed (thanks Danny Smith)
7802 * _threads.h : fixed _DECTHREADS block to work on both DEC and HP
7804 * _hash_set.h : fixed typo in MSVC++ bug workaround ( Thanks to Jon_Hanson for the report)
7806 * stlport/strstream.h : fixed inclusion for MSVC 6 (Thanks Joachim Achtzehnter)
7808 * _config.h : _STLP_RETHROW changed to avoid warnings with NO_EXCEPTIONS (thanks Richmond)
7810 * _hashtable.c : prime list definition made consistent (thanks Rainer Schnitker)
7812 * stl_hpacc.h : _STLP_FORCE_ALLOCATORS workaround used for Version 3.15 also (thanks Rainer Schnitker)
7814 * stl/_string_io.c : fixed using directive in operator >>() (thanks Rainer Schnitker)
7816 * debug/_deque.h : a check in erase() fixed (thanks Andreas Malzahn)
7818 * debug/_list.h : added remove() to do iterator invalidation; range erase() fixed to do invalidation
7820 * stl_watcom.h : added switches; disabled own iosterams by default;
7821 enabled ->() operator for iterators (thanks Steven Green)
7823 * <exception> : added throw spec for what(); stl_sgi.h : made _STLP_NO_EXCEPTIONS depend on __EXCEPTIONS macro (Thanks Anton Ephanov)
7825 * _string_io.c : operator << : fixed width() interpretation bug
7827 * stl_hpacc.h/cmath : fixed HP aCC settings for -AA option (thanks Doug Gilbert)
7831 The following changes were made in 4.1 beta 6 since 4.1 beta 5 :
7833 * _istream.h, _ostream.h, _ios.h, _fstream.h : guard macros fixed to not clash with .h files in "stlport" directory
7834 Also all uses of those macros fixed. (thanks to Gerd Hoeren for the report)
7836 * _debug.c/_debug.h : fixed swap() for rb_tree and list (thanks to Gerd Hoeren for the report)
7837 swap() changed not to invalidate any iterators, as prescribed by the standard
7839 * forced _REENTRANT to be defined when compiling with STLport iostreams and _STLP_DEBUG
7840 (without _STLP_DEBUG it seems to be binary compatible even without that)
7842 * facets_byname.cpp source introduced to replace all xx_byname.cpp files;
7843 restored separate facets .cpp complilation (they used to be included in locale_impl.cpp)
7845 * introduced _STLP_USE_PERTHREAD_ALLOC to optionally use per-thread allocator
7846 (_Pthread_alloc from _pthread_alloc.h) as the deafult node allocator. Only works with pthreads for now.
7848 * Switches _STLP_DONT_REDEFINE_STD and _STLP_WHOLE_VENOR_STD are back (thanks to Anton Ephanov for the report)
7850 * _vector.h : fixed bug in template version of insert (Thanks to Yotam Medini for the report)
7852 * monetary.cpp : unneded hack for cygwin removed (thanks to Dean Sturtevant)
7854 * <iostream> : fixed _STLP_OUTERMOST_HEADER_ID macro
7856 * cin/cout/cerr redefined if no namespaces and SGI iostreams are used, for all compilers, just in case.
7857 * _sparc_atomic.h : fixed and improved atomic ops for gcc
7859 * test/regression : non-backward-compatible old-style __STL_xx macros use changed to _STLP_xx
7861 * config/st_gcc.h : disabled non-standard "extern" use for non-DLL templates
7863 * mingw32 - used 'windows.h replacement' section in _threads.h (thanks to Danny Smith)
7865 * locale Win32 bug fixed (thanks to Alberto Balbarti)
7867 * mingw32 : _STLP_CONST_INIT_BUG defined for dll (thanks to Danny Smith)
7869 * "make clean" glitches fixed (thanks to Whitney Kew for the report)
7871 * _fstream.c : fixed codecvt bug for variable width encoding
7873 * _STLP_ABORT macro introduced to avoid clashes with third-party sw redefining abort() (thanks to Jerry)
7875 * c_locale_win32 : fixed parse bug in __ParseLocaleString (thanks to Danny Smith)
7877 * extra declspecs removed from templates to fix VC++ 7.0 ; only concrete classes have specifiers (thanks to Holger Stasch for the report)
7879 * stl_msvc.h, _hashtable.h/.c : fixes for IA64 compilation (thanks to Rainer Schnitker )
7881 * fixed bugs in "make install" on Unix (thanks to Carlos Paniago)
7883 * dll_main.cpp : DisableThreadLibraryCalls used for optimization (thanks to Alberto Barbati)
7885 * dll_main.cpp : a dummy function added to force <limits> guts for static VC++ link (thanks to Alberto Barbati)
7887 * gcc-linux.mak : flags fixed (thanks to Levente Farkas )
7889 * stl_msvc.h, stl_intel.h : fixed __ICL version test (thanks to Serge Pashkov)
7891 * versioning schema changed on Windows to have .dll extension (thanks everybody for the feedback)
7893 * NetBSD makefiles fixed
7895 * A bunch of fixes by Tsutomu Yoshida : MPW fixes plus :
7896 * stl/_config.h : I believe the definition for _STLP_STD under debug/non-debug configurations swapped.
7898 * typeinfo.h : added check for _STLP_NO_NEW_HEADER for using declaration.
7899 Otherwise three classes will not be included in the namespace std when #include <typeinfo>.
7901 * _istream.c : use of bind2nd (which required _function.h inclusion) changed to use alternate functor (thanks to Sergei Nikolaev)
7903 * 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)
7905 * _string_io.c : fixed Intel C++ compilation bug in native streams mode
7907 * fstream.cpp : added write-sharing for fstream file handle (Thanks to Leland Best)
7909 * 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.
7911 * KAI C++ 4.0 is now supported on SUN
7913 * MAC OS X compilation fixed (thanks Patrick Luby for the patch)
7915 * HP aCC fixes by Michael Tsirkin
7917 * "INF/NAN" string representation for uppercase changed to "Inf/NaN" to behave like printf() on most systems.
7919 * debug/_iterator.c : fixed SUN 6.0 compiler internal error
7921 * typeinfo.h : global scope used to import bad_cast, etc. (thanks to Val Melamed)
7923 * debug/_list.h : missing template versions of remove_if(), merge() added. Missing regular sort() added.
7926 * debug/_slist.h : missing sort() (template and regular) interface added
7928 * _istream.h : eliminated warning about comparison with unsigned (Thanks to Gerd Hoeren for the report)
7930 * template constructors for containers changed to be one version with default allocator agrument, where possible.
7932 * remaining _STL_ prefixes changed to _STLP_
7934 * Solaris 7 compilation fixed
7936 * fstream.cpp : seek() allowed to seek past the end of the stream (Thanks to Phillip Toland for the input)
7937 The following changes were made in 4.1 beta 5 since 4.1 beta 4 :
7939 * All internal macros changed to have prefix _STLP_ instead of __STL or __STLPORT or __SGI_STL.
7940 That is to allow seamless wrapping on platforms that use SGI STL as native STL/iostreams.
7941 For backward compatibility, most of user-settable __STL_xxx macros are accepted.
7943 * Versioning of shared libraries made UNIX-compliant
7946 * Some temporary lifetime problems in SGI iostreams which may introduce memory corruption, fixed.
7948 * <new> : fixed memory leak bug due to unclever macro expansion in __stl_new (thanks to Joachim Achtzehnter)
7950 * stl/_tree.h : fixed several bugs in new code for corner cases in insert_equal()/insert_unique() with a hint
7951 (thanks to Micheal Tsirkin for the report and patch)
7953 * _vector.h:284 : __copy call fixed to be __copy_aux (thanks to Alex Vanic)
7955 * _config.h : fixed static build bug due to __STL_EXPOSE_GLOBALS_IMPLEMENTATION typo (thanks to Serge Pashkov)
7957 * fstream.cpp: __pioinfo definition for mingw32 fixed (Thanks to Danny Smith)
7959 * *.SUNWCCh files changed to regular files; moved to "stlport" directory
7961 * pthread_alloc : split into <pthread_alloc>/<stl/_pthread_alloc.h>
7963 * lightweight atomic ops used on SPARC v8plus and v9 (gcc and SUN CC)
7965 * Mac OS X support introduced (thanks to Patrick Luby)
7967 * SGI iostreams ported to DJGPP (thanks to Tanes Sriviroolchai)
7969 * SGI iostreams ported to NetBSD (thanks to Michael Rauch)
7971 * FreeBSD build fixed, now builds for wchar_t too
7973 * DEC CXX build fixed; restricted to dynamic lib only
7975 * SGI MIPSpro build fixed; GNU make has to be used
7977 * Set of HP fixes by Michael Tsirkin
7979 * Set of Watcom fixes by Ricardo Gayozo
7981 * Bunch of Apple MRC/MPW fixes by Tsutomu Yoshida integrated
7983 * Bunch of iostream fixes for Cygwin, Borland and Intel 4.5, by Serge Pashkov
7985 * debug/_list.h : added checking versions of pop_back/pop_front (thanks to Per Liboriussen)
7987 * src/c_locale_win32.c : fix for VC5sp3 (thanks to Petr Ovtchenkov), fix for day of week order (thanks to Danny Smith),
7988 fix for null-termination in my_ltoa (thanks to Serge Pashkov)
7990 * Some warnings in debug mode fixed (thanks to Marco)
7992 * type_traits.h : IsP functions return types changed to be more portable (thanks to Serge Pashkov for the suggestion),
7993 __cdecl added for Win (thanks to Todd Wilson)
7995 * debug/_tree.h : added owner check for erase() (thanks to Alberto Barbati)
7997 * stl/_ostream.h : << operator specializations added for compilers w/o partial ordering
7998 (thanks to Alberto Barbati for pointing this out).
8000 * "make install" on UNIX : fixed the target not to remove lib directory;
8001 default installdir restored to be /usr/local (thanks to Jeff de Vries for the input)
8003 * _construct.h : extra cast for __STL_SHRED_BYTE removed (thanks to khesin)
8005 * _relops.h header obsoleted; some extra includes removed
8007 * __STL_STATIC_CONST_INIT_BUG use normalized; now it's used for all compilers not able
8008 to treat const members as coplile-time constants; enum used for them (e.g VC++).
8009 Thanks to Dean Sturtevant and Gavin Collins for the ideas.
8011 * stlport/cmath : fixed SUN CC 5.0 compatibility mode bug (thanks to ade for the report)
8013 * debug/_hashtable.h : fixed equal_range() bug (thanks to decraft for the report)
8015 * streambuf.cpp/_streambuf.h : fixes xsgetn() bug (thanks to Vadim Egorov)
8017 * istreambuf_iterator<> : nonconforming behaviour fixed (thanks to Tom Widmer)
8019 * _num_put.c : fixed corner case for 0x8000000 output.
8021 * num_get<> : extra get() and do_get() members for "int" and "short" removed; istream operators changed accordingly
8023 * _itreambuf_iterator.h/_ostreambuf_iterator.h introduced to decouple those from num_get/num_put
8025 * gcc makefiles in src : "-fno-implement-inlines" removed
8027 * Added workaround for gcc's limits.h and SUN Ultra with -mcpu=ultrasparc in 32-bit mode.
8029 * ios_base:: type for constants made "int" for all compilers, as it more efficient and perfectly compliant.
8031 * debug/_hashtable.h : fixed typo in swap() ( thanks to Gerd Hoeren for the report)
8033 * debug/_string.h : +() operators defined unconditionally ( thanks to Gerd Hoeren for the report)
8035 * _istream.c : removed dependancy on _function.h (thanks to Kenny Simpson for the report)
8037 * _limits.c : fixed little-endian representation of infinity & NaN (thanks to Rene van Oostrum)
8039 * _stdio_file.h : fixed postdecr macro for 64-bit Solaris (thanks to Jim Cole)
8042 The following changes were made in 4.1 beta 4 since 4.1 beta 3 :
8044 * Simulation of class partial specialization (thanks to Mat Marcus and Jesse Jones of Adobe)
8045 used to provide following enhancements :
8047 - type_traits are automatically specialized for all pointer types for all compilers,
8048 which makes them able to utilize type_traits-based optimizations when dealing with pointer types,
8051 - all functions specialized for pointers and optimized via __type_traits
8052 ( like copy()/copy_backward(), _uninitialized_xx) now enjoy this optimization for all compilers!
8054 - generic __value_type()/__difference_type()/__iterator_category() are written so user does not have
8055 to supply any of its own even when partial specialization is not available.
8056 (Note : gcc-2.7 and VC++ 5.x, 6.x have bugs which prevents them from using this enhancement, still)
8058 * <iterator> : by default, non-standard iterator query names like
8059 value_type()/difference_type()/iterator_category() are not used
8061 * <algo> : major revision:
8062 - algorithms without explicit Compare() function expressed via the one that has it where possible.
8063 This considerably reduces header size and reduces code bloat for programs which use both flavours of
8065 - some function bodies moved between .c and .h
8066 - all functions used internally moved out to _algobase.h, so no other header includes <_algo.h> anymore
8067 - find() specialized for random access iterators regardless of partial spec.
8069 * Dynamic libraries (.DLL and .so) : name versioning used to prevent clashes between STLport versions
8071 * src/ : code regrouped between .cpp files to provide for less executable size with dumb linkers;
8073 * locale subsystem initialization : startup changed to use statically allocated structures as much as possible;
8075 * <stl/_function.h> : basic stuff moved to _function_base.h ;
8076 other STL headers now include _function_base.h instead
8078 * _threads.h : MT support for OS/2 added (only tested with VAC++)
8080 * _stdio_file.h : added support for Solaris in ELF64 mode (thanks to Holger Stasch)
8082 * stl/_hashtable.h : [] operator for hash_map optimized to take no more than find() when element is present
8083 (Thanks to Thomas Witt et al.)
8085 * _ostream.h : fix for default unsigned char (thanks to Holger Stasch)
8087 * all __STL_ABBREVS abbreviations moved aside in _abbrevs.h header.
8089 * Fujitsu C++ Compiler support added (thanks to Holger Stasch)
8091 * Initial SGI iostreams port to OS/390 introduced (thanks to Holger Stasch).
8093 * More on SGI iostreams port to xlC 5.0 (thanks to Holger Stasch).
8095 * Fixes for SGI MIPSpro compilers (Thanks to Ralph)
8097 * Fixes for HP aCC compiler (Thanks to Michael Tsirkin)
8099 * stlport/SC5 directory : removed C library .h files to fix circular inclusion problem with WS6.0 + C programs.
8101 * hash_map::swap() in debug mode fixed (thanks to Anton)
8103 * __STL_COMPILE_INSTANTIATE hack for DEC removed (thanks to Ralph)
8105 * __STL_INLINE_STRING_LITERAL_BUG defined for HP aCC ( thanks to Jason Taylor)
8107 * _bitset.h - member workaround operators made const (thanks to dzwick)
8109 * _bitset.h/.c, hashtable.h -- small bugfixes (thanks to Levente Farkas)
8111 * <exception> - now includes exception.h if only that is available.
8113 * vector::assign() inplemented for vector::iterator when member templates are not available (Thanks to dzwick)
8115 * fstream.cpp : __pioinfo used for MinGW32 (thanks to Danny Smith)
8117 The following changes were made in 4.1 beta 3 since 4.1 beta 2 :
8119 * list<>::clear() : protected access bug fixed
8121 * __STL_MUTEX_INITIALIZER set back to PTHREAD_MUTEX_INITIALIZER for pthreads case,
8122 as some platforms (eg AIX) do not treat zero-initialized mutex as valid one (thanks to Alex Vanic, Jack Andrews for help)
8124 * stl/_limits.c : fixed typo preventing numeric limits constants to be defined for __STL_LITTLE_ENDIAN,
8125 constants initialization fixed (thanks to Ingo Donasch)
8127 * real implementation of locales for Win32 contributed by Anton Lapach (thanks !) merged in.
8129 * stl_user_config.h, _config.h : changed default to not define relops:: operators
8130 in __STL_NO_NAMESPACES mode.
8132 * _numeric_facets.c/num_put.cpp : printing of integer do not use sprintf() anymore
8134 * "install" target implemented for UNIX & VC++ Makefiles. It now installs headers and libraries.
8136 * "src" : files merged to get less compilation time and less space overhead for imperfect compilers
8138 * "debug" flavour of STLport excluded from default build and auto-select ;
8139 please use __STL_USE_DEBUG_LIB and build debug STLport lib explicitly with "make debug_dynamic"
8140 if you really need it). "all" now builds 2 kinds : "release" and "STLdebug", for static and dynamic builds.
8142 * stlport_prefix.h : WIN32_LEAN_AND_MEAN set for Win32 build of STLport library, for speed.
8144 * FreeBSD compile fixed; makefiles added.
8146 * All "__init" changed to "_Init" to fix clashes with DEC conventions (thanks to Holger Stasch)
8148 * _range_errors.h -- fixed to always set __STL_EXTERN_RANGE_ERRORS for SGI iostreams (thanks to Serge Pashkov)
8150 * *gcc* mak : some files renamed to gcc-platform mak
8152 * "extern template" extension used for gcc & standard i/o classes, to reduce code bloat in application's .o
8154 * "extern template" extension used for VC++ & standard i/o classes (was for DLL only)
8156 * _iterator.h : added template(and non-template) assignment operator for reverse_iterator<> (thanks to psw). Obsolete HP-style code moved to _iterator_old.h
8158 * _alloc.h : obsolete code for raw SGI allocators support moved to separate header, for compile-time improvement
8160 * More iostreams code conditionally moved out for clients who only use standard i/o and can set __STL_NO_CUSTOM_IO flag
8162 * <iostream>, <locale> : initialization of locale subsystem made independent of standard streams.
8163 sync_with_stdio call before iostream initialization now works.
8165 * <fstream>, <fstream.h> : added initialization code for locale , same as in <locale>
8166 (thanks to George Trojan for the report)
8168 * fstream.cpp : fixed resource leak in case memory map fails on Win32 (thanks to Mark Laffoon)
8170 * <cmath>, <cstdlib> : added additonal overload signatures required by chapter 26.5 of ANSI (thanks to Levente Farkas for
8171 the suggestion), plus "long long" flavour where applicable.
8173 * __STL_LONG_LONG generalized to support __int64 on Win32 (thanks to Adam Gates for the suggestion)
8175 * _fstream.h : added constructor from file descriptor, as extension (thanks to eric_a_benson)
8177 * _fstream.h : added basic_filebuf<>::fd() file descriptor accessor, as extension (thanks to George Trojan)
8179 * stl_sunpro.h : strstream masked for CC 4.2 to avoid virtual table clash (thanks to Ken)
8181 * stl_msvc.h : member templates allowed for VC5, it's capable of hadling most of them (same restrictions as VC6 -- inline).
8183 * debug/_debug.c : slightly changed format of debug message to please VC++ IDE (thanks for Bruce Dawson for the suggestion)
8185 * src/sgi_mipspro.mak added, for SGI MIPSPro compilation
8187 * merged series of HP/SUN minor fixes by Petr Ovtchenkov
8189 * merged series of Intel 4.5 fixes by Serge
8191 * vc_common.mak : -Yd dropped, as obsolete (thanks to psw)
8193 * _range_errors.h:95 : unused argument removed (thanks to George Trojan)
8195 * _string_io.h : refined _WRTLING workaround for Watcom (thanks to Serge Pashkov)
8197 * _threads.h : fixed SGI threads dafines for gcc on IRIX (thanks to Brett Denner for the report)
8199 * <typeinfo.h>, <typeinfo> : mutually-exclusive machanism added to allow including both in same unit.
8201 * Inclusion of SGI iostreams headers put to some order; _streambuf_iterator.h file introduced to resolve circular dependancies
8203 The following changes were made in 4.1 beta 2 since 4.1 beta 1 :
8205 * _algobase.h : fixed __STL_DECLARE_COPY_TRIVIAL definition
8206 (thanks to Charles Burfoot for the report)
8208 * _algobase.h : added copy_backward specializations for builtin types for compilers w/o partial spec.
8210 * _char_traits.h : fixed zero-length check for copy (thanks to Michael Tsirkin)
8212 * msvc_warnings_off.h : fixed "and" typo
8213 (thanks to Charles Burfoot for the report)
8215 * num_put_float.cpp : fixed rounding for "g" format (thanks to Bernd Mohr for the report)
8217 * Initial port of iostreams to xlC 5.0 added (thanks to Jack Andrews)
8219 * stl_sunpro.h : a fix for Forte config (Thanks to Alex Vanic for the report)
8221 * old_hp/iterator.h : fixed iterator_category()/etc. import
8223 * _threads.h : __stl_atomic_t used instead of "unsigned long" (thanks to Alex Vanic for the report)
8224 * using/iomanip : old-streams path used for native iomanip.h (thanks to Michael Tsirkin for the report).
8226 * _bitset.h , _bitset.c : direct STL_THROW replaced with __stl_throw_xxx calls (thanks to Michael Tsirkin for the report)
8228 * range_errors.h/cpp : added functions to support throwing of overflow_error and invalid_argument
8230 * _threads.h : enganced HP-specific guards for HP-UX 11 (thanks to Matthew Collins for the report)
8232 * _string.h : compare() bugfix (thanks to Anton Sergeev)
8234 * moneypunct_byname_w.cpp : rolled back wrong bugfix (thanks to Ken)
8236 * _vector.h, _deque.h, _list.h : nonstandard versions of push_back()/push_front()
8237 moved under __STL_NO_ANACHRONISMS guard (thanks to Ed Brey)
8239 * _tree.c, _list.c, _slist.c, _debug.c : compile-time improvements
8241 * _tree.h/c, _list.h/c, _slist.h/c, _vector.h/c, _string.h/c : using directive for data members
8242 changed to explicit "this->".
8244 * _complex.h : signatures of some methods changed to take value_type instead of const value_type&,
8245 for better conformance (thanks to Petr Ovtchenkov)
8247 * Bunch of fixes to compile with gcc on HP-UX 10, 11 (thanks to Petr Ovtchenkov)
8249 * Code duplication for __STL_INLINE_MEMBER_TEMPLATES removed -- corresponding methods are always inlined
8251 * stl_sunpro.h : fix for "-compat" mode (thanks to Vijay Ramachandran)
8253 * pthread.h : new wrapper added
8255 * Added custom prolog/epilog for HP aCC to select kthreads on HP-UX 11 (Thanks to Michael Tsirkin)
8257 * <new> : fixed throw specification for bad_alloc (has to be inherited)
8259 * Macro __STL_NATIVE_CPP_RUNTIME_INCLUDE_PATH introduced to specify separate path for <exception>, <typeinfo>, <new>.
8260 (thanks to Bryan Byrnes)
8262 * <stdio_streambuf> : moved from stlport/stl to stlport directory, for SGI compatibility
8264 The following changes were made in 4.1 beta 1 since 4.0 :
8266 * Sun Forte 6.0 C++ configuration provided (thanks to Alexander Vanic for the input)
8268 * _threads.h/_config.h : added efficient support for atomic operations for
8269 DEC CXX and Watcom (thanks to Ricardo Gayoso for the input).
8270 Macros __STL_ATOMIC_xxx introduced to facilitate this.
8272 * _tree.h : optimizations to lower number of comparisons (thanks to Craig Powers for the patch)
8274 * _tree.h, _hashtable.h and clients : added templated find() as an extension (thanks to Michael Tsirkin for the suggestion)
8276 * _tree.h : changed some inlining for performance optimization
8278 * __node_alloc:: allocate broken into two functions for better inlining
8280 * _threads.h : added PTHREAD_MUTEX_INITIALIZER guard for HP workaround
8282 * stl_bc.h : option set to control alignment and virtual table behaviour to be consistent;
8283 library name adjusted to stlport_bcc55_xxx
8285 * _algobase.h, _uninitialized.h, char_traits.h -- optimized out empty memcpy() calls
8286 (thanks to Michael Tsirkin for the report).
8288 * _iterator.h : fixed reverse_iterator::operator+(int, reverse_iterator) resolution
8289 (thanks to Anton Sergeev for the input)
8291 * _bitset.h : bitset<>::test bugfix (thanks to Anton Sergeev for the patch)
8293 * complex_trig.cpp : use of __STL_NO_LONG_DOUBLE made consistent, fixes for Borland on Linux
8294 (thanks to John Wiegley for the input)
8296 * moneypunct_byname_w.cpp : bugfixes for string copying (thanks to Anton Sergeev for the input)
8298 * Watcom-specific fixes (thanks to Ricardo Gayoso for the input)
8300 * src/common_macros.mak : some intermediate targets added (thanks to Jeremy for the suggestion)
8302 * _debug.c : fixes for Win CE (thanks to John Hynes for the patch)
8304 * Intel CC 4.0-specific fixes (thanks to Sean Cavanaugh for the input)
8306 * _list.c : workaround for Watcom C++ (thanks to Mike Steed for the report)
8308 * __STL_NO_NATIVE_WIDE_STREAMS definition fixed (thanks to Glen Summers for the patch)
8310 * cast macros fixed to be more robust (thanks to Geoff Oakham for the report)
8312 * "strstream.h" native inclusion for VC 6.0 fixed (thanks to Sathish T C for the report)
8314 * debug/_string.h : improvement to string with __STL_DEBUG w/o member templates
8315 (thanks to Paul Furnanz for the report)
8317 * debug/_string.h : fixed internal compiler error for VC++ 5.x (thanks to chvetsov for the report)
8319 * cstdio, stl/_streambuf.h : fixes to allow gcc compilation with -ansi flag
8321 * workaround for cin/cout renaming on HPUX11 for -D_REENTRANT (thankf to Jeff Sparkes for the report)
8323 * cin/cout/cerr/clog renaming in STLport for CC 4.0 and SGI iostreams,
8324 to avoid symbol clashes with native ones (thanks to Dirk Schreib for the report)
8326 * type_info scope fixes for VC++ 6.0 (thanks to Sathish T C for the report)
8328 * typeinfo.h using fixes (thanks to Glen Summers for the input)
8330 * stlcomp.h : fixes to allow compilation of .c modules with VAC++, Sun CC, DEC CC, Watcom CC
8331 (thanks to Dmitry A.Steklenev, Jonathan Richardson for the report)
8333 * debug/_tree.h : fixed insert_unique() bug (thanks to Ben Liblit for the report)
8335 * regression/gcc.mak made non-dependant on "." in the path
8336 (thanks to Thomas Matelich for the report)
8338 * hmset1.cpp fixed to compile under OS390 ( thanks to Andrey Khovanskiy for the report)