Commit 2587f7adf08d182835cb07815bdd8e487627761a

STLport 5.1.6 release

Fixes: wrong replace for selfreferencing string; build on HP-UX PA-RISC
and IA64, build on Solaris.
etc/ChangeLog
(8436 / 0)
  
12008-10-07 Petr Ovtchenkov <complement@users.sourceforge.net>
2
3 * 5.1.6 release.
4
52008-03-18 Petr Ovtchenkov <complement@users.sourceforge.net>
6
7 * stlport/stl/_string.c: derived from patch #1914475, wrong
8 replace for selfreferencing string; thanks Farid Zaripov;
9
10 * test/unit/string_test.cpp: test for problem above.
11
122008-01-29 Petr Ovtchenkov <complement@users.sourceforge.net>
13
14 * build/Makefiles/gmake/gcc.mak, build/test/unit/gcc.mak:
15 build on HP-UX PA-RISC and IA64, build on Solaris;
16
17 * build/test/eh/gcc.mak: ditto;
18
19 * build/Makefiles/gmake/hp-ux/targetsys.mak: cool, but HP-UX IA64
20 use shared lib extention so, not sl as on PA-RISC;
21
22 * src/cxa.c: fix cxa_atexit problem for HP-UX with gcc, like on
23 Solaris;
24
25 * stlport/wctype.h, stlport/stl/_cwctype.h: problem with wchars
26 on HP-UX;
27
28 * src/num_get_float.cpp: no stdint.h on HP-UX; suggested by KBac.
29
302008-01-19 Francois Dumont <dums@users.sourceforge.net>
31
32 * 5.1.5 released based on revision 3387.
33
342008-01-15 Petr Ovtchenkov <complement@users.sourceforge.net>
35
36 * stlport/stl/config/_hpux.h: define _POSIX_C_SOURCE 199506;
37
38 * build/Makefiles/gmake/gcc.mak: remove obsolete and wrong workaround
39 for Solaris and Darwin; suggested by KBac, patch #1869229.
40
412008-01-13 Francois Dumont <dums@users.sourceforge.net>
42
43 * src/fstream.cpp, stlport/stl/_fstream.c: Complete bug #1854345
44 fix as already done in SVN trunk. Moreover, an other SVN trunk bug
45 fix has been integrated. We now try to convert already read buffer
46 even if latest file read failed.
47
48 * src/fstream.cpp: Integrate trunk fix for management of Crtl-Z under
49 Windows.
50
512008-01-11 Petr Ovtchenkov <complement@users.sourceforge.net>
52
53 * src/num_put_float.cpp, stlport/stl/_cstdlib.h, stlport/stl/config/_hpux.h:
54 On HPUX IA64 gcc have <wchar.h> and <cwchar> files, but they are conflict
55 with <stl/_mbstate_t.h>; suggested by KBac, patch #1868233.
56
572008-01-02 Francois Dumont <dums@users.sourceforge.net>
58
59 * src/_stdio_file.h: Apply Windows CE fix already present in trunk to
60 avoid the famous opening console issue.
61
62 * src/fstream.cpp: #1854345 bug fixed.
63
642007-12-11 Petr Ovtchenkov <complement@users.sourceforge.net>
65
66 * build/Makefiles/gmake/lib/gcc.mak, build/Makefiles/gmake/app/gcc.mak:
67 pass CXXFLAGS to compilers when investigate compiler- and OS-specific
68 files, to process correctly multilib environments. Already in trunk.
69
702007-12-07 Francois Dumont <dums@users.sourceforge.net>
71
72 * src/c_locale_glibc/c_locale_glibc2.c: Fix a potential one
73 byte memory overrun.
74
752007-11-12 Petr Ovtchenkov <complement@users.sourceforge.net>
76
77 * test/unit/fstream_test.cpp: testcase for bug #1830513;
78 __read_unbuffered wrongly process valid streamsize 0;
79 [was derived from original report of Anton Samokhvalov and Oleg Obolenskiy]
80
81 * stlport/stl/_istream.c: fix for bug #1830513 above;
82 check boundary condition in the beginning of loop.
83
842007-10-21 Francois Dumont <dums@users.sourceforge.net>
85
86 * src/allocators.cpp: Add missing const_cast in lock free
87 allocator implementation when _STLP_LEAKS_PEDANTIC is defined.
88 Thanks trungantran on forum.
89
902007-10-07 Francois Dumont <dums@users.sourceforge.net>
91
92 * STLport 5.1.4 released based on revision 3219. STLport-5.1.4
93 tag created.
94
95 * stlport/stl/_stlport_version.h, build/lib/Makefile.inc: Patch
96 version bump to 5 to prepare next potential patch release.
97
982007-10-05 Francois Dumont <dums@users.sourceforge.net>
99
100 * stlport/stl/debug/_iterator.h, _string.h, src/string.cpp:
101 Removed useless and even invalid workaround used when
102 _STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND is defined. There is now
103 only one construct check class __construct_checker,
104 __msvc6_construct_checker has been removed.
105
1062007-09-28 Petr Ovtchenkov <complement@users.sourceforge.net>
107
108 * Platform tested: gcc 4.1.2 20060928 (prerelease)
109 (Ubuntu 4.1.1-13ubuntu5), i686 GNU/Linux, glibc 2.4;
110
111 * release-shared: fail on list_test.cpp:392
112 [CPPUNIT_ASSERT(lint1.size() == 20)], suspected compiler's bug;
113 1 fail from 395 tests;
114
115 * stldbg-shared: passed 395 tests;
116
117 * Platform tested: gcc 4.1.2, i686 GNU/Linux, glibc 2.4;
118
119 * release-shared: fail on list_test.cpp:392
120 [CPPUNIT_ASSERT(lint1.size() == 20)], suspected compiler's bug;
121 1 fail from 395 tests;
122
123 * stldbg-shared: passed 395 tests;
124
125 * Platform tested: gcc 4.2.1, i686 GNU/Linux, glibc 2.4;
126
127 * release-shared: passed 395 tests;
128
129 * stldbg-shared: passed 395 tests;
130
131 * Platform tested: gcc 4.1.1, i686 athlon-4 i386 GNU/Linux,
132 glibc 2.3.6;
133
134 * release-shared: passed 395 tests;
135
136 * stldbg-shared: passed 395 tests;
137
138 * src/c_locale_glibc/c_locale_glibc2.c: this is a C, so
139 decl allowd only on top of block;
140
141 * Platform tested: gcc 2.95.4 (debian), i686 GNU/Linux,
142 glibc 2.3.2;
143
144 * release-shared: build success, as library as unit tests,
145 but run unit tests fail---stalling on spinlock during library
146 load; looks like problem with correct initialization of
147 statics;
148
149 * stldbg-shared: fail build library, stlport/stl/debug/_hashtable.h:49:
150 declaration of `operator ==' as non-function
151
1522007-09-27 Francois Dumont <dums@users.sourceforge.net>
153
154 * src/facets_byname.cpp: In collate::do_transform, consider
155 low == high as a special case, returns empty string in this
156 case.
157
1582007-09-27 Petr Ovtchenkov <complement@users.sourceforge.net>
159
160 * test/unit/find_test.cpp: array initialization missed.
161
1622007-09-17 Francois Dumont <dums@users.sourceforge.net>
163
164 * stlport/stl/_num_get.h: Add _STLP_DECLSPEC specification to
165 several functions that might be access by external code when
166 num_get facet is instantiated with something else than the
167 Standard required instantiation.
168
1692007-09-11 Francois Dumont <dums@users.sourceforge.net>
170
171 * src/c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c: Fix
172 _Locale_strxfrm and _Locale_wcxfrm implementation to take
173 into account strings that are not zero terminated.
174
175 * test/unit/locale_test.cpp: Add check that collate.tranform
176 method build a key only for chars in the range pass to method.
177
1782007-09-10 Francois Dumont <dums@users.sourceforge.net>
179
180 * src/facets_byname.cpp: John Maddock bug report 1788618 fix.
181 Moreover remove use of an intermediate buffer to get result
182 of _Locale_strxfrm.
183
184 * test/unit/locale_test.cpp: Add tests for collate::transform
185 facet method.
186
187 * src/c_locale_win32/c_locale_win32.c: Small modification,
188 _Locale_strxfrm is supposed to return the number of chars
189 required to store the generated sorted key without the trailing
190 zero.
191
192 * src/c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c: Fix
193 implementation of _Locale_strxfrm, it should never return -1.
194
1952007-09-10 Petr Ovtchenkov <complement@users.sourceforge.net>
196
197 * stlport/stl/_string.c: fix bugs in string rfind, find_last_of,
198 find_last_not_of [bug #1788700, position 0 was wrongly excluded];
199
200 * test/unit/string_test.cpp: test for problems above. Thanks
201 to Bred Bored for bug report and initial test.
202
203 * unit tests: Linux 2.6.16.26 (athlon-4), gcc 4.1.1, glibc 2.3.6
204 "OK 395 tests" for release-shared and stldbg-shared targets.
205
2062007-09-09 Petr Ovtchenkov <complement@users.sourceforge.net>
207
208 * test/unit/rope_test.cpp, stlport/stl/_rope.h: test for
209 bug #1788615 [bug during copy of rope's iterator] and fix;
210 suggested by John Maddock.
211
212 * stlport/stl/_algobase.c: symmetry not required for
213 comparator in case of two different sequences comparison or
214 searching; symmetrical comparator just may not exist;
215
216 * stlport/stl/debug/_hashtable.h: symmetry not required for
217 comparator in hashtable in case of containers extention;
218 symmetrical comparator just may not exist;
219
220 * test/unit/alg_test.cpp: test for problem above, thanks
221 Oleg Obolenskiy.
222
2232007-09-06 Francois Dumont <dums@users.sourceforge.net>
224
225 * test/unit/strstream_buffer_read_test.cpp: Remove useless
226 strdup call that was moreover introducing a memory leak.
227
2282007-09-04 Francois Dumont <dums@users.sourceforge.net>
229
230 * src/allocators.cpp: Fix implementation of _S_chunk_dealloc when
231 lock free implementation is not in use. Thanks bug report 1787636
232 from Sergej Zagursky.
233
2342007-08-31 Francois Dumont <dums@users.sourceforge.net>
235
236 * stlport/stl/_cstdio.h, _ctime.h: Add missing macro definition
237 test before using _WIN32_WCE thanks bug report 1784174.
238
239 * stlport/stl/_bitset.h: Change macro tests in order to check
240 macro definition before using it thanks bug report 1785679.
241
242 * test/unit/bitset_test.cpp: Bitset::iostream new test to check
243 correct input/output of bitset class.
244
245 * build/Makefiles/gmake/gcc.mak: Add -Wundef gcc option when building
246 with gcc under Cygwin MinGW, it is an interesting option to detect
247 macro check errors.
248
2492007-08-26 Francois Dumont <dums@users.sourceforge.net>
250
251 * stlport/stl/config/user_config.h, host.h: Moved the administrative
252 _STLP_USE_DEFAULT_FILE_OFFSET macro from user_config.h to host.h.
253
254 * stlport/stl/config/_gcc.h: Under MinGW we now use C symbols in
255 global namespace. Tests with 4.2.1 gcc version shows that C symbols
256 are not necessarily put in std namespace.
257
2582007-08-23 Francois Dumont <dums@users.sourceforge.net>
259
260 * stlport/stl/_complex.h: As in _iosfwd.h, removed useless
261 _STLP_CLASS_DECLSPEC attribute on complex class declaration.
262
2632007-08-23 Petr Ovtchenkov <complement@users.sourceforge.net>
264
265 * stlport/stl/debug/_vector.h: only random access iterators
266 allow operations 'less-than' and distance; for bidirectional
267 iterators removed usage of 'less-than', and for others
268 [like forward and input iterators] removed as usage of 'less-than'
269 as distance; thanks Oleg Obolenskiy for bug report;
270
271 * test/unit/ioiter_test.cpp: test for problem above.
272
2732007-08-18 Francois Dumont <dums@users.sourceforge.net>
274
275 * stlport/stl/_iosfwd.h: Removed useless _STLP_CLASS_DECLSPEC attribute
276 on class declaration. Latest gcc versions are reporting a warning about
277 it.
278
2792007-08-16 Francois Dumont <dums@users.sourceforge.net>
280
281 * src/dll_main.cpp: Removed useless _Atomic_swap_struct explicit
282 instantiation, moreover, MSVC 2005 do not support it.
283
2842007-08-15 Petr Ovtchenkov <complement@users.sourceforge.net>
285
286 * Repository: bump lib version to 5.1.4;
287
288 * stlport/stl/char_traits.h, src/fstream.cpp: use 64-bits
289 file operations calls, if available on system; streamoff is
290 always off64_t, if _LARGEFILE_SOURCE or _LARGEFILE64_SOURCE
291 defined, i.e. if 64-bits file operations present;
292
293 * stlport/stl/config/user_config.h: add _STLP_USE_DEFAULT_FILE_OFFSET,
294 force use off_t for streamoff and appropriate file operations calls;
295 note, that this may lead to problems, for example if _FILE_OFFSET_BITS
296 defined as 64 somewhere in user's code;
297
298 * test/unit/fstream_test.cpp: test 64 bits type for filesize and
299 file offset.
300
3012007-07-22 Petr Ovtchenkov <complement@users.sourceforge.net>
302
303 * src/fstream.cpp: force use lseek64/mmap64 for HP-UX, if _LARGEFILE64_SOURCE
304 defined; thanks for Michael Klein.
305
3062007-07-17 Petr Ovtchenkov <complement@users.sourceforge.net>
307
308 * stlport/stl/_algo.c, stlport/stl/_algobase.c: search, the __tmp and
309 __p1 iterators always point at the same position, hence one of them
310 is redundant;
311
312 * stlport/stl/_algobase.c: in the main-loop of search there are two
313 successive while-loops doing exactly the same thing; one of them is
314 redundant and, since it is inside the main-loop, it slows down
315 the algorithm significantly;
316
317 * stlport/stl/_algo.c, stlport/stl/_algobase.c: in the search the main-loop
318 condition "while (__first1 != __last1)" is always true and consequently
319 redundant; this is because the initial adn in-loop conditions virtually
320 act as guards and will never let the main-loop condition to fail; since
321 this condition is evaluated in every main-loop iteration, its removal
322 will also improve the performance of the algorithm; thanks for
323 Jim Xochellis for this suggestions.
324
3252007-07-15 Petr Ovtchenkov <complement@users.sourceforge.net>
326
327 * src/strstream.cpp: "get end" pointer should be initialized
328 to the "begin of get + N" in obsolete strstream; bug #1536503,
329 thanks for Jean-Eric Cuendet;
330
331 * test/unit/strstream_buffer_read_test.cpp, build/test/unit/Makefile.inc:
332 test for bug above; [submitted by Jean-Eric Cuendet].
333
3342007-04-02 Francois Dumont <dums@stlport...>
335
336 * 5.1.3 released based on revision 2983. STLport-5.1.3 tag created.
337
3382007-03-30 Francois Dumont <dums@stlport...>
339
340 * build/lib/configure.bat: Restore TARGET_PROC_SUBTYPE definition
341 to distinguish between ARM architectures.
342
3432007-03-22 Francois Dumont <dums@stlport...>
344
345 * stlport/stl/config/_msvc.h, _deque.h, _bvector.h: Portage from
346 Ulrich Echkardt to EVC 8.
347
348 * doc/README.evc8, README.wince: New documentations about Windows
349 CE and EVC 8 from Ulrich Echkardt.
350
351 * doc/evc_workaround.txt, doc/README.evc3, First file merged to the
352 second one.
353
354 * stlport/stl/_stlport_version.h: Bump patch level to 3.
355
3562007-03-07 Francois Dumont <dums@stlport...>
357
358 * src/dll_main.cpp, stlport/stl/_stdexcept_base.h: Change strncpy_s
359 invocation to pass _TRUNCATE parameter rather than number of chars
360 to put in destination string. Default strncpy_s behavior is not to
361 truncate string if necessary but to report the issue throught a handler
362 which lead to an application crash if no handler has been set. Thanks
363 Bronek Kozicki bug report 1674974.
364
365 * stlport/stl/type_traits.h: Add a default constructor declaration
366 in _TpWithState class to make gcc happy when class is instanciated
367 with a class with no default constructor.
368
369 * stlport/stl/config/_windows.h: Change definition of
370 _STLP_WIN32_VERSION macro. We do not report definition inconsistency
371 between WINVER and _WIN32_VERSION anymore, WINVER is prefered.
372
3732007-03-01 Francois Dumont <dums@stlport...>
374
375 * test/unit/bitset_test.cpp: Add test for the to_string member
376 method.
377
378 * stlport/stl/config/_msvc.h, test/unit/locale_test.cpp: Change
379 MSVC6 configuration that now defines _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS.
380 Even if MSVC6 supports explicit specification of function template
381 parameters it do not support the explicit specification for
382 template methods, unit tests are showing this problem.
383
384 * stlport/stl/type_traits.h, _alloc.h: Small change in stateless
385 class detection feature. Introduce _IsStateless helper struct for
386 this purpose even if it can only be used with pure class type and
387 not with build-in types or enum or union. It avoids MSVC8 warnings.
388
3892007-02-25 Francois Dumont <dums@stlport...>
390
391 * 5.1.2 released based on revision 2937, tag STLport-5.1.2 created.
392
393 * stlport/stl/config/_prolog.h, build/Makefiles/gmake/bcc.mak,
394 Patch from Eric Sanford to remove empty base class optimization
395 for Borland compilers.
396
397 * test/unit/vector_test.cpp: Enable VectorTest::ebo test for Borland
398 compilers.
399
4002007-02-22 Francois Dumont <dums@stlport...>
401
402 * stlport/stl/_alloc.h: Add a workaround for compilers with buggy
403 empty base class optimization which is used in _STLP_alloc_proxy
404 class.
405
406 * test/unit/vector_test.cpp: New test case VectorTest::ebo to show
407 problem above.
408
4092007-02-21 Francois Dumont <dums@stlport...>
410
411 * src/c_locale_win32/c_locale_win32.c: Fixed __ConvertDate and
412 __ConvertTime to avoid potential infinite loop (bug report
413 1663604)
414
4152007-02-16 Francois Dumont <dums@stlport...>
416
417 * STLport 5.1.1 released based on revision 2919. STLport-5.1.1
418 tag created.
419
4202007-02-14 Francois Dumont <dums@stlport...>
421
422 * stlport/stl/config/_intel.h: Configuration fix, Intel compiler
423 before 8.1 have problem with template method specialization. Thanks
424 Dragan Tubic.
425
4262007-02-09 Francois Dumont <dums@stlport...>
427
428 * test/unit/locale_test.cpp: Enhance LocaleTest::collate_facet
429 test case to reveal a bug in glibc localization portage.
430
431 * src/c_locale_glibc/c_locale_glibc2.c: Fixed _Locale_strcmp
432 and _Locale_strcmp and _Locale_strwcmp implementation to take
433 into account buffer size, comparison used to always been done on the
434 whole input strings up to the termination character.
435
436 * stlport/stl/type_manips.h, test/unit/mvctor_test.cpp,
437 type_traits_test.cpp: Remove relation between STLport __true_type and
438 __false_type and homonyms ones in libstd++. Add workaround in the 2
439 test suite requiring use of those types.
440
4412007-02-08 Francois Dumont <dums@stlport...>
442
443 * stlport/stl/_threads.h, src/locale.cpp: Add missing parenthesis
444 in some macro checks thanks Jan Echternash bug report 1653966.
445
446 * test/unit/locale_test.cpp: Made LocaleTest::collate_facet test
447 really meaningful even if it requires french locale support for
448 part of it.
449
4502007-02-01 Petr Ovtchenkov <complement@users.sourceforge.net>
451
452 * stlport/stl/config/_solaris.h: __LONG_MAX__ defined on
453 64-bits SPARCs. Thanks Aleksey Sanin.
454
455 * stlport/stl/_sparc_atomic.h, stlport/stl/_threads.h: fixes
456 for modern SPARCs. Thanks Aleksey Sanin.
457
4582007-01-28 Francois Dumont <dums@stlport...>
459
460 * stlport/stl/debug/_deque.h: Fix iterator invalidation in erase
461 of an iterator range thanks to Steve Lobasso indirect report (bug
462 1645657).
463
464 * test/unit/deque_test.cpp: New test case for deque erase methods.
465
4662007-01-19 Francois Dumont <dums@stlport...>
467
468 * stlport/stl/_locale.h, src/locale.cpp: Add throw() specification
469 on locale default constructor. Add const qualifier on locale::combine
470 method. Fixed combine implementation to correctly combine
471 *this with other locale instance.
472
473 * src/locale_impl.h: Removed _get_Locale_impl and
474 _copy_Nameless_Locale_impl already defined in stlport/stl/_locale.h.
475
476 * src/locale_impl.cpp: In _Locale_impl::insert add check that we
477 are working on 2 different facet instances before substitution.
478
479 * test/unit/locale_test.cpp: Add test case for locale::combine
480 method.
481
4822007-01-12 Francois Dumont <dums@stlport...>
483
484 * c_locale.h, c_locale_dummy.c, c_locale_glibc.c, c_locale_glibc2.c,
485 c_locale_win32.c: Creation of 2 new functions in the localization
486 framework _Locale_init and _Locale_final to allow localization
487 implementations to initialize and release any necessary resources.
488
489 * src/iostream.cpp: Call _Locale_init during io streams initialization
490 and _Locale_final at end.
491
492 * c_locale_win32/c_locale_win32.c: Add synchronization for locale
493 lcid look up from name required in multithreaded environment. Two
494 threads instanciating two facet instances from a given name might
495 have collide resulting in an undefined behavior. Critical section
496 used for synchronization is initialized in _Locale_init and freed
497 in _Locale_final.
498
499 * c_locale_win32/c_locale_win32.c: Add several fields in
500 _Locale_time struct to avoid use of static buffers in some locale
501 support functions like _Locale_d_t_fmt _Locale_long_d_t_fmt...
502 Moreover time format cannot be truncated anymore.
503
504 * stlport/stl/config/_windows.h: Introduce _STLP_WIN32_VERSION
505 macro set to WINVER or _WIN32_WINDOWS value depending on what
506 macro is defined.
507
508 * stlport/stl/_threads.h, src/locale.cpp: Add _STLP_WIN32_VERSION
509 checks to detect Windows 95 platform having a special
510 _STLP_ATOMIC_INCREMENT and _STLP_ATOMIC_DECREMENT behavior.
511
5122007-01-08 Francois Dumont <dums@stlport...>
513
514 * stlport/stl/_deque.c: Patch from Kevin Lin to fix iterator
515 returned by insert at position method.
516
517 * test/unit/deque_test.cpp: Add test case for the deque::insert
518 methods.
519
5202006-11-27 Francois Dumont <dums@stlport...>
521
522 * stlport/stl/config/_windows.h: Patch from Michael Fink to check
523 inclusion of winbase.h and windows.h.
524
5252006-11-24 Francois Dumont <dums@stlport...>
526
527 * stlport/stl/_fstream.h, src/fstream.cpp, iostream.cpp: Restore
528 computation of the system dependant page size that was hardcoded
529 to 4096. Initialisation code has been moved to a static method
530 called just after Standard iostream initialisation. This code used
531 to be in the _Filebuf_base constructor that might have been called
532 simultaneously by several threads.
533
5342006-11-17 Francois Dumont <dums@stlport...>
535
536 * stlport/stl/config/_macosx.h: Add endianess configuration.
537
5382006-11-16 Francois Dumont <dums@stlport...>
539
540 * test/unit/resolve_name.cpp: Clean most of MSVC6 workaround, only
541 one has been kept to have the test pass.
542
5432006-11-13 Francois Dumont <dums@stlport...>
544
545 * stlport/stl/_cwchar.h: Patch from Michael Fink to fix EVC3
546 missing mbstate_t definition.
547
5482006-11-07 Francois Dumont <dums@stlport...>
549
550 * stlport/stl/_threads.h: Removed _Atomic_swap_struct export
551 that should be useless as completely inlined. Moreover it was
552 generating a compilation error using MSVC 2005 under Windows
553 64 bits.
554
5552006-10-26 Francois Dumont <dums@stlport...>
556
557 * test/unit/codecvt_test.cpp: Removed try/catch blocks not
558 supported by platform missing exception support and moreover
559 useless as we know the code called in the try and this code
560 do not throw (thanks Michael Fink report).
561
562 * build/Makefiles/nmake/targetdirs.mak, lib/clean.mak, app/clean.mak:
563 Complete clobber and distclean rules to really clean all generated
564 stuffs.
565
566 * build/Makefiles/nmake/top.mak: Patch from Gary Bartlett to make nmake
567 'all' rule the default rule.
568
5692006-10-25 Francois Dumont <dums@stlport...>
570
571 * src/dll_main.cpp: Fix syntax error '>>' rather than '> >' in
572 a _STLP_alloc_proxy explicit instanciation.
573
574 * stlport/stl/_unordered_set.h: Fix template method for the
575 associative container extension, use _KT type rather than key_type.
576
5772006-10-20 Francois Dumont <dums@stlport...>
578
579 * stlport/stl/config: Removed some used macros
580 _STLP_AUTOMATIC_TYPE_TRAITS
581 _STLP_UNINITIALIZABLE_PRIVATE
582 _STLP_STATIC_ARRAY_BUG
583 _STLP_FULL_ADL_IMPLEMENTED
584
585 * test/unit/codecvt_test.cpp: Ignore test when
586 _STLP_NO_MEMBER_TEMPLATES defined.
587
5882006-10-20 Petr Ovtchenkov <complement@users.sourceforge.net>
589
590 * stlport/stl/_cwchar.h: fix HP-UX problem with WCHAR_MIN, WCHAR_MAX
591 [Boris Gubenko].
592
5932006-10-19 Petr Ovtchenkov <complement@users.sourceforge.net>
594
595 * test/unit/sstream_test.cpp: check bugreport #1580020, not confirmed.
596
5972006-10-17 Francois Dumont <dums@stlport...>
598
599 * stlport/stl/_cwchar.h: Restore code to define potentially missing
600 WCHAR_MIN, WCHAR_MAX macros. It used to be in _mbstate_t.h but was
601 missing some native includes to work, in _cwchar.h everything should
602 be fine.
603
604 * test/unit/codecvt_test.cpp: Fix C cast that was losing const
605 qualifier.
606
607 * stlport/stl/_mbstate_t.h: Avoid definition of _STLP_NO_MBSTATE_T when
608 using own mbstate_t definition in _STLP_USE_NO_IOSTREAMS mode. This macro
609 is not supported anymore and should be fixed or removed in future version.
610 Own mbstate_t will be defined even in no iostreams mode.
611
612 * stlport/stl/config/_evc.h: Now that mbstate_t situation is clear EVC3
613 defines _STLP_NO_NATIVE_MBSTATE_T rather than directly defining it in
614 the config file.
615
616 * test/unit: Several fixes to build with _STLP_NO_EXTENSIONS and
617 _STLP_NO_ANACHRONISMS.
618
6192006-10-16 Petr Ovtchenkov <complement@users.sourceforge.net>
620
621 * stlport/stl/_mbstate_t.h: this header may be included from system
622 stddef.h, without wchar.h---defines of wchar limits isn't good place
623 here [WCHAR_MAX, etc.].
624
625 * test/unit/cwchar.cpp: correct test to hilight problem above.
626
6272006-10-14 Petr Ovtchenkov <complement@users.sourceforge.net>
628
629 * test/unit/cwchar.cpp, build/test/unit/Makefile.inc: test a few macros
630 related to wchar. Inspired by problems in STLPORT_5_1 and boost::regex.
631
6322006-10-12 Francois Dumont <dums@stlport...>
633
634 * stlport/stl/_numpunct.h, src/numpunct.cpp: numpunct facet _M_truename
635 _M_falsename and _M_grouping are not static anymore. This seems useless
636 and moreover was introducing static initialisation order and threading
637 issues.
638
639 * stlport/stl/c_locale.h, _mbstate_t.h, src/c_locale.h, c_locale.c:
640 New mbstate_t policy. When no mbstate_t in native library STLport defines
641 one for its own need in localisation support. This mbstate_t is simply
642 an int defined in global namespace and imported to STLport namespace.
643 Internal localisation framework is nt anymore in STLport namespace but
644 in the global one as it is normaly a C framework.
645
646 * stlport/stl/config/_bc.h: Defines _STLP_NO_NATIVE_MBSTATE_T rather
647 than internal _STLP_USE_OWN_MBSTATE_T macro.
648
649 * stlport/stl/config/_evc.h: Add comment for EVC3 users, this platform
650 should define _STLP_NO_NATIVE_MBSTATE_T, but I have not the platform
651 to check...
652
653 * build/Makefiles/gmake/bcc.mak: Do not force anymore built of C sources
654 as C++.
655
656 * test/unit/string_test.cpp, istmit_test.cpp: Fixed macro checks to make
657 tests buildable even when _STLP_NO_IOSTREAMS is defined.
658
6592006-10-09 Francois Dumont <dums@stlport...>
660
661 * test/unit/codecvt_test.cpp: Fix use of mbstate_t to make it more
662 portable.
663
6642006-10-06 Francois Dumont <dums@stlport...>
665
666 * stlport/stl/_alloc.h, _alloc.c: Fixed __debug_alloc implementation
667 to avoid unjustified assertion about wrong size of buffer to
668 deallocate, thanks David Deakins and verntx on sourceforge.
669
670 * test/unit/vector_test.cpp: Add test for bug above.
671
672 * stlport/wchar.h, stl/_cwchar.h, _istream.h, _limits.h, _locale.h,
673 _threads.h, char_traits.h, type_traits.h, _mbstate_t.h: Fix regression
674 introduce by inclusion of mbstate_t.h in wchar.h. Now _mbstate_t.h is
675 only included at end of wchar.h and _cwchar.h. All places where _mbstate_t.h
676 was used are now including _cwchar.h.
677
6782006-10-05 Francois Dumont <dums@stlport...>
679
680 * build/Makefiles/gmake/bcc.mak: Use -P compiler to force build of C
681 translation as C++ because of the mbstate_t problem.
682
683 * build/Makefiles/gmake/lib/bcc.mak, rules-a.mak: Fix Borland tlib call
684 syntax thanks mbkenny.
685
686 * stlport/stl/wchar.h: Add include of internal _mbstate_t.h file to
687 know STLport status regarding mbstate_t configuration.
688
689 * stlport/stl/c_locale.h: When building platform localisation support
690 as C++ struct declaration are done in STLport namespace.
691
692 * src/c_locale.h: Removed _mbstate_t.h include that is now included
693 from wchar.h or _cwchar.h depending on C or C++ build. Removed #error
694 done too early (see next comment).
695
696 * src/c_locale.c: Add #error statement when building STLport on a platform
697 having real localisation support but no native mbstate_t definition. In this
698 case c_locale.c must be built as a C++ translation unit.
699
700 * src/c_locale_win32/c_locale_win32.c: Add Borland workaround to avoid
701 compilation error now that it is build as a C++ translation unit.
702
703 * stlport/stl/_mbstate_t.h: Now that this file is not included from outside
704 world we can include internal _cwchar.h rather than cwchar. Removed
705 a wint_t workaround already existing in _cwchar.h. Removed Borland workaround
706 that was defining mbstate_t when using this file in a C context, it was
707 moreover different than the definition in C++ ! Ad a pure C declaration of
708 mbstate_t when in C.
709
7102006-10-04 Francois Dumont <dums@stlport...>
711
712 * src/c_locale.h: Add #error to signal issue when building c_locale.c
713 as a C source when STLport uses its own mbstate_t definition.
714
715 * src/num_put_float.cpp: Modification in Cygwin native lib headers
716 revealed that we were missing ieeefp.h include.
717
718 * src/dll_main.cpp, stlport/stl/_threads.h: Fix export of
719 _Atomic_swap_struct for compilers supporting export of templates.
720
721 * stlport/stl/config/_hpacc.h: Some cleanup (unknown _STLP_NO_KOENIG_LOOKUP
722 macro) and formating fixes.
723
724 * stlport/stl/_bvector.h: Use _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS
725 rather than reproducing the workaround hidden by this macro.
726
727 * test/unit/vector_test.cpp: Add test case to check iterators comparisons.
728
7292006-09-26 Francois Dumont <dums@stlport...>
730
731 * src/allocators.cpp: Reorder code blocks to fix build when using
732 _STLP_LEAKS_PEDANTIC.
733
734 * stlport/stl/_num_put.c: Restore __len >= 2 check in
735 __copy_integer_and_fill function. It has been removed on the
736 2006-07-11, at this time STLport always add the base information
737 even for 0 value. This modification has been rollback but not this
738 check.
739
740 * test/unit/num_put_get_test.cpp: Add check for above fix.
741
7422006-09-26 Francois Dumont <dums@stlport...>
743
744 * src/c_locale_win32/c_locale_win32.c: Add check of code page when
745 specified in locale name.
746
747 * src/c_locale_win32/c_locale_win32.c: Add checks in __ConvertDate
748 and _Locale_t_fmt to avoid potential buffer overflow.
749
750 * src/c_locale_win32/c_locale_win32.c: Create __GetLocaleInfoUsingACP
751 function that merge a call to GetLocaleInfoA and a call to
752 __ConvertFromACP in one call, the latter function has been removed.
753
754 * src/c_locale.h: Restore _STLP_BEGIN_NAMESPACE when STLport use
755 its own mbstate_t definition which is only available in STLport
756 namespace. Fix Borland regression.
757
758 * stlport/stl/_mbstate_t.h: Replace stl/_cwchar.h include with
759 a cwchar one as this file is included from the outside world when
760 building STLport lib.
761
7622006-09-25 Francois Dumont <dums@stlport...>
763
764 * test/unit/codecvt_test.cpp: New test case for the codecvt
765 facet.
766
767 * test/unit/unordered_test.cpp: size_t replace by int to avoid
768 64bits issue warning.
769
7702006-09-21 Francois Dumont <dums@stlport...>
771
772 * stlport/stl/c_locale.h: Patch from Boris Gubenko to avoid
773 direct inclusion of internal header from this header that is
774 access from the outside world when building STLport lib.
775
7762006-09-20 Francois Dumont <dums@stlport...>
777
778 * test/unit/allocator_test.cpp: Add new test case for allocation of
779 empty buffer.
780
781 * test/unit/fstream_test.cpp: Use a variable to always point to the same
782 test file and adopt a 'Standard' file name 'test_file.txt'.
783
784 * stlport/stl/_hash_fun.h: Rollback 2006-08-26 Petr modification that
785 was introducing a regression with MSVC compilers.
786
787 * stlport/stl/_fstream.c: First attempt to fix seekoff basic_filebuf
788 implementation when dealing with a codecvt facet having variable
789 encoding. This fix is surely not complete, discussion with Uli is not
790 over.
791
7922006-09-13 Francois Dumont <dums@stlport...>
793
794 * stlport/stl/_exception.h: Made a previously general Windows 64 bits
795 workaround specific to the cross compiler coming with PSDK. Thanks
796 Igor Pavlov.
797
7982006-09-11 Francois Dumont <dums@stlport...>
799
800 * stlport/stl/_num_put.c: Modification in __do_put_integer to avoid
801 a Hp aCC workaround.
802
8032006-09-11 Petr Ovtchenkov <complement@users.sourceforge.net>
804
805 * stlport/stl/_algo.c: search_n with predicate fail in case
806 when subsequence size is 1; thanks Timmie Smith.
807
808 * test/unit/alg_test.cpp: test for problem.
809
8102006-09-08 Francois Dumont <dums@stlport...>
811
812 * src/c_locale_win32/c_locale_win32.c: Modification in __GetLCIDFromName
813 to support the Chinese_Taiwan locale. Add of a __GetLCID call when first
814 call to it using non NLS mapping fails.
815
816 * src/c_locale_win32/c_locale_win32.c: Change __ParseLocaleString
817 implementation to correctly handle locale with a name having '.' in
818 the language or country part like in 'Chinese_Hong Kong S.A.R..950'.
819
8202006-09-05 Francois Dumont <dums@stlport...>
821
822 * build/lib/configure.bat: Fixed comment for --rtl-dynamic and
823 --rtl-static options, impact on macros to uncomment in hosts.h
824 config file was inversed. Thanks Igor Pavlov.
825
826 * build/lib/configure.bat, doc/FAQ, doc/README.msvc,
827 stlport/stl/config/user_config.h, _hpacc.h: Replaced references to
828 _site_config.h by hosts.h. Thanks Igor Pavlov.
829
8302006-08-30 Francois Dumont <dums@stlport...>
831
832 * stlport/stl/_cmath.h, _cstdlib.h: Patch from Boris Gubenko, Hp aCC
833 native Standard lib already define math functions in global namespace.
834
835 * stlport/stl/_num_put.c: Patch from Boris Gubenko, Hp aCC before version
836 60000 do not consider 'const ptrdiff_t' as const enough to be used in a
837 static buffer declaration.
838
8392006-08-26 Petr Ovtchenkov <complement@users.sourceforge.net>
840
841 * stlport/stl/_hashtable.c: allow smaller bucket counts for
842 hashtable. Thanks Herbert Duerr.
843
844 * stlport/stl/_hash_fun.h: use primary types for hasher, not
845 typedefs.
846
847 * stlport/stl/type_manips.h: workaround for __true_type/__false_type
848 for various versions gcc (oh, yes, gcc, it's real pain to detect
849 real version of libstdc++)
850
8512006-08-10 Petr Ovtchenkov <complement@users.sourceforge.net>
852
853 * stlport/stdlib.h: include errno.h for aCC, in case of -mt option in force.
854 This solve errno problem on HP-UX. Thanks Boris Gubenko.
855
8562006-08-09 Francois Dumont <dums@stlport...>
857
858 * stlport/stl/config/_msvc.h: Add _STLP_NORETURN_FUNCTION for MSVC
859 compilers.
860
861 * stlport: Move place of _STLP_FUNCTION_THROWS in function declaration to
862 make msvc compiler happier, gcc do not care about position of this
863 attribute.
864
865 * stlport/stl/_ioserr.h: Fixed specification of STLport configuration file
866 in #error statement.
867
8682006-08-04 Francois Dumont <dums@stlport...>
869
870 * stlport: Create _STLP_FUNCTION_THROWS depending on _STLP_NORETURN_FUNCTION
871 and also taking into account exception handling configuration.
872
873 * test/unit/alg_test.cpp, istmit_test.cpp: Fixes to make test buildable with
874 native compiler Standard library.
875
8762006-08-03 Francois Dumont <dums@stlport...>
877
878 * build/Makefiles/nmake/evc8.mak: Patch from Ulrich Echkardt to activate
879 whole program optimization.
880
8812006-07-31 Francois Dumont <dums@stlport...>
882
883 * Patch from Michael Fink to fix EVC emulator build.
884
8852006-07-26 Francois Dumont <dums@stlport...>
886
887 * src/fstream.cpp: Fixed MMAP_CHUNK definition, an offset type is signed.
888
889 * Creation of the 5.1.0 RC2 package.
890
891 * Creation of STLPORT_5_1_RC2 tag
892
8932006-07-25 Francois Dumont <dums@stlport...>
894
895 * stlport/stl/config/_system.h, _windows.h: Fixed MinGW config that also
896 need _windows.h.
897
898 * stlport/stl/config/_mingw.h: Removed, conflict with platform system
899 header.
900
9012006-07-22 Francois Dumont <dums@stlport...>
902
903 * stlport/stl/config: Add _STLP_PLATFORM and _STLP_COMPILER repectively
904 containing STLport detected platform and compiler names. Some names
905 are surely not accurate and will be fixed but introducing those macros,
906 especially _STLP_COMPILER, help to report detection issue.
907
908 * stlport/stl/config/_system.h: Change macro checks in order to guaranty
909 that only one platform and only one compiler configuration file will be
910 included.
911
912 * stlport/stl/config/_cygwin.h, _mingw.h: Added
913
914 * stlport/stl/config/features.h: Removed _STLP_NO_MEMBER_TEMPLATE_CLASSES
915 check when _STLP_USE_TEMPLATE_EXPRESSION is activated.
916
917 * stlport/stl/config/_gcc.h, features.h: Add _STLP_NORETURN_FUNCTION
918 to signal function not returning, under gcc we use __attribute__((noreturn)).
919
920 * src/locale_impl.h, stlport/stl/_ios_base.h, _locale.h, _range_errors.h,
921 _rope.h, _string_base.h, _vector.h, debug/_debug.h: Add
922 _STLP_NORETURN_FUNCTION to function that encapsulate raising of exceptions.
923 This help to limit warnings about uninitialized variable before use under
924 gcc.
925
9262006-07-18 Francois Dumont <dums@stlport...>
927
928 * test/unit/unordered_test.cpp: Change Key data type from size_t
929 to the more portable int. Fix what seems to be a bad code generation
930 of gcc under Linux 64 bits resulting in a test failure.
931
9322006-07-17 Francois Dumont <dums@stlport...>
933
934 * test/unit/alg_test.cpp: New test for find_first_of algo.
935
936 * stlport/stl/config/user_config.h, features.h: string template
937 expressions is not a transparent feature, some compilers (VC6)
938 are experimenting ICE with it or some other (gcc) do not accept
939 it when extending string class (see mystring in
940 test/unit/string_test.cpp). So default STLport configuration will
941 be without string template expression, _STLP_DONT_USE_TEMPLATE_EXPRESSION
942 has been replaced by _STLP_USE_TEMPLATE_EXPRESSION.
943
9442006-07-16 Francois Dumont <dums@stlport...>
945
946 * test/unit/mvctor_test.cpp: Patch from Michael Fink to avoid a EVC
947 ARM crash.
948
9492006-07-13 Francois Dumont <dums@stlport...>
950
951 * stlport/stl/_num_put.c: Rollback modif above, according C printf doc
952 0 value shouldn't show their base.
953
954 * stlport/stl/type_traits.h: Avoid instanciation of _IsCVConvertible if
955 not dealing with pointers. Systematical instanciation was giving
956 compilation error as soon as type had a special memory alignment, such
957 types cannot be pass by value in function calls. Thanks andy2222 from
958 sourceforge.
959
960 * build/Makefiles/nmake/evc3.mak, evc4.mak, evc8.mak: Patch from Ulrich
961 Eckhardt to remove commctrl.lib dependency, for the moment evc3 and evc4
962 only contains a note about this potentially useless dependency.
963
964 * stlport/stl/debug/_string.h: Add missing copy methods in the debug
965 string implementation thanks Patrick Bennett report.
966
967 * test/unit/string_test.cpp: New copy test case for string::copy.
968
969 * stlport/stl/_algo.h: Add missing _STLP_PRIV namespace scope in calls
970 to __find_first_of thanks Patrick Bennett report.
971
9722006-07-11 Francois Dumont <dums@stlport...>
973
974 * stlport/stl/debug/_deque.h, _list.h, _slist.h, _string.h, _vector.h:
975 Extend use of _Non_Dbg_iter function in all template methods dealing
976 with iterator range.
977
978 * _num_put.c: Fix to show base in octal or hexadecimal mode even for
979 0 value.
980
981 * stlport/stl/_istream.c: Avoid modification of value to extract in
982 formatted input of short and int when value would overflow.
983
984 * test/unit/num_put_get_test.cpp: Add some tests for above fixes.
985
986 * test/unit/iostream_test.cpp: New tests for general stream
987 manipulations.
988
989 * stlport/stl/_istream.h: Fix ws iostream function, it do not set failbit
990 anymore when stream is in eof state.
991
992 * build/lib/msvc.mak: Generation of config.mak is not mandatory anymore
993 as Intel compiler do not need it for the moment. Only a COMPILER_NAME
994 is mandatory which is given by icl.mak for Intel compilers and by
995 config.mak for Microsoft ones.
996
9972006-07-10 Francois Dumont <dums@stlport...>
998
999 * stlport/stl/debug/_iterator.h: Creation of _Non_Dbg_iter function
1000 returning native iterator of special debug iterator with
1001 compilers supporting partial template function ordering. Fix
1002 a MSVC .Net 2003 issue that seems to be related to a too important
1003 template depth.
1004
1005 * stlport/stl/debug/_deque.h, _list.h, _slist.h, _string.h, _vector.h:
1006 Use new _Non_Dbg_iter function in constructors from iterator
1007 range.
1008
10092006-07-07 Petr Ovtchenkov <complement@users.sourceforge.net>
1010
1011 * build/lib/configure: rollback changes 4 Jul 2006 19:42:55,
1012 it's definitely wrong (phrase with quotes ['] requires double
1013 quotes ["]).
1014
10152006-07-06 Francois Dumont <dums@stlport...>
1016
1017 * stlport/stl/_num_put.c: Small refactoring with introduction
1018 of the __do_put_integer function for integer types output. Moreover
1019 static buffer size used for formating is now based on output
1020 type sizeof.
1021
1022 * stlport/stl/_ostream.c: Add some assertion before cast to check that
1023 no significant digit is lost. Add cast to long in int and short output
1024 in order to make type of expression more explicit and correct. This
1025 fix the bug report from Geoffrey Bache on sourceforge about output of
1026 -1 ont value on 64bits linux.
1027
1028 * test/unit/floatio_test.cpp: Removed, all code moved to NumPutGetTest
1029 test fixture.
1030
1031 * test/unit/num_put_get_test.cpp: New, contains all tests regarding
1032 input/output of numeric values (locale independant).
1033
1034 * test/unit/locale_test.cpp: locale independant tests of numeric input/
1035 output moved to NumPutGetTest test fixture.
1036
10372006-07-04 Francois Dumont <dums@stlport...>
1038
1039 * stlport/stl/_rope.h, _rope.c: Patch from Peter Hercek to fix a
1040 missing null termination in rope constructor from a character
1041 and a buffer overrun.
1042
1043 * stlport/stl/_rope.h: Removed special _S_rounded_up implementation
1044 for other types than char and wchar_t. rope implementation is
1045 expecting this method to always return a size > to the given size in
1046 order to store the terminating null character.
1047
1048 * stlport/stl/_rope.c: Fix reference counter management to avoid memory
1049 leak in _S_destr_concat_char_iter.
1050
10512006-06-30 Francois Dumont <dums@stlport...>
1052
1053 * src/num_put.cpp, num_put_float.cpp: Patch from Glen Summers
1054 to fix float output using locale with grouping and float value
1055 has no decimal.
1056
1057 * test/unit/locale_test.cpp: Add some tests showing above bug.
1058
10592006-06-29 Francois Dumont <dums@stlport...>
1060
1061 * stlport/stl/_algo.h, _algo.c, _algobase.h, _algobase.c,
1062 _hashtable.c: Patch from Andriy Syrovenko to fix implementation
1063 of __equal_range, __lower_bound, __upper_bound when dealing with
1064 a key whom type is different from the value_type of the iterator.
1065
1066 * test/unit/equal_test.cpp: Add some tests to show above bug.
1067
10682006-06-28 Francois Dumont <dums@stlport...>
1069
1070 * stlport/stl/_string_sum_methods.h, debug/_string_sum_methods.h:
1071 Small refactoring and simplification of code to avoid a parameter
1072 with default value. This fixing an ICE using MSVC6.
1073
1074 * test/unit/string_test.cpp: Ignore the newly introduce te_tmp
1075 test using MSVC6.
1076
10772006-06-27 Petr Ovtchenkov <complement@users.sourceforge.net>
1078
1079 * stlport/stl/_list.h: fix bug in list.swap, thanks Viktor Govako.
1080
1081 * test/unit/list_test.cpp: test for bug above.
1082
10832006-06-27 Francois Dumont <dums@stlport...>
1084
1085 * build/lib/configure: Add --with-lib_motif option to grant STLport
1086 users the possibility of tweaking the generated libraries name.
1087
1088 * build/Makefiles/gmake/unix/lib.mak: Add code to take into account
1089 configured lib motif in generated library name.
1090
1091 * build/Makefiles/gmake/netware/lib.mak: Looks like it needs same
1092 defines as the ones in cygming/lib.mak so we simply include this
1093 file.
1094
1095 * stlport/stl/config/_evc.h: Patch from Michael Fink to fix a
1096 compilation error.
1097
1098 * test/unit/cppunit/cppunit_mini.h: Patch from Michael Fink to
1099 avoid unused parameter warning.
1100
11012006-06-23 Francois Dumont <dums@stlport...>
1102
1103 * stlport/stl/_pair.h, _bvector.h, config/_evc.h: Patch from
1104 Ulrich Eckhardt to extend an evc4 MIPS workaround for eVC8
1105 and to generalize little endian configuration.
1106
1107 * DMC patch from Eric Sanford. Define _STLP_NO_FUNTION_TMPL_PARTIAL_ORDER
1108 so that many ignored unit test could be now passed. Also specify
1109 Intel 386 instruction set during compilation to limit link errors.
1110
11112006-06-22 Francois Dumont <dums@stlport...>
1112
1113 * stlport/stl/_algobase.c: Removed check of equivalent predicate
1114 commutativity in find algorithm. In this case, equivalence relation
1115 might have been implemented using a member operator == which is
1116 not commutative thanks Grisha Spivak report. Other checks that are
1117 using an explicit predicate parameter has been kept even if it forces
1118 STLport users to implement commutative functor.
1119
1120 * test/unit/find_test.cpp: Add test to show above issue.
1121
1122 * stlport/stl/_hashtable.c: Removed equivalent predicate checks
1123 that are useless as in _STLP_DEBUG mode the debug wrapping add this
1124 check in the functor used to instanciate the non debug hashtable
1125 implementation.
1126
11272006-06-19 Francois Dumont <dums@stlport...>
1128
1129 * STLport 5.1.0 candidate released. STLPORT_5_1 branch created in
1130 CVS. Version tagged STLPORT_5_1_RC1.
1131
11322006-06-17 Francois Dumont <dums@stlport...>
1133
1134 * test/unit/type_traits_test.cpp, uninitialized_test.cpp: Add
1135 explicit public inheritance relation to avoid an ICL warning.
1136
1137 * stlport/stl/config/features.h: Add definition of
1138 _STLP_DEBUG_LEVEL to _STLP_STLPORT_DBG_LEVEL when _STLP_DEBUG
1139 is defined but _STLP_DEBUG_LEVEL hasn't been set.
1140 (thanks an ICL warning report)
1141
1142 * stlport/stl/config/_intel.h: Remove undef of
1143 _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT, even if the linker complains
1144 about not finding unexpected_exception it looks like it finally do
1145 not use it.
1146
1147 * test/unit/cppunit/test_main.cpp: Filter definition of
1148 unexpected_exception when building unit test with static STLport
1149 lib.
1150
11512006-06-15 Francois Dumont <dums@stlport...>
1152
1153 * stlport/stl/config/features.h: Several macro renamed:
1154 - _STLP_LONG_DOUBLE -> _STLP_LONGEST_FLOAT_TYPE
1155 - __DFL_TMPL_PARAM -> _STLP_DFL_TMPL_PARAM
1156 - __DFL_TYPE_PARAM -> _STLP_DFL_TYPE_PARAM
1157 - __DFL_NON_TYPE_PARAM -> _STLP_DFL_NON_TYPE_PARAM
1158 __DFL_TYPE_ARG removed.
1159
1160 * stlport/stl: Add char_traits template parameter in all
1161 istreambuf_iterator and ostreambuf_iterator instanciation where it
1162 was missing as some compiler might not have supported it.
1163
1164 * stlport/stl/_time_facets.h, src/locale_impl.cpp: Finaly adopt a
1165 specific gcc workaround for definition of _Locale_time_extract_hint
1166 as friend of time_get_byname facet. Gcc 2.95 prefers to see a template
1167 method otherwise it emits a warning, we want to avoid STLport users
1168 to have to disable this warning. Other compilers will use a simple
1169 function which seems to be more portable.
1170
1171 * stlport/stl/_vector.h, _pair.h: Patch from Eric Sanford for a
1172 really weird Borland compiler workaround that consists in adding
1173 a _Ret typedef in __move_traits or __type_traits traits struct
1174 that do not normally contain it.
1175
1176 * stlport/stl/config/_bc.h: Borland free compiler do not support
1177 STLport container extension of template methods.
1178
11792006-06-14 Francois Dumont <dums@stlport...>
1180
1181 * test/unit: Patch from Ulrich Eckhardt to fix storage of string
1182 literals to const char* rather than simple char*.
1183
1184 * build/Makefiles/nmake: Ulrich Eckhardt patch:
1185 - /MACHINE:IX86 is obsolete and only supported for backward
1186 compatibility as alias for X86. Replaced all cases of IX86
1187 with X86.
1188 - /NODEFAULTLIB:OLDNAMES.lib seems to also be universal so I
1189 moved it to the base, too.
1190 - In order to use main() as entry point under CE, use linker
1191 option /ENTRY:mainACRTStartup. This was already done for
1192 evc3,4,8 but I moved it to app/evc-common.mak and documented
1193 it.
1194
1195 * stlport/stl/_cmath.h, config/_evc.h: Uli patch to activate long
1196 double support for EVC and use _hypot to implement STLport
1197 overload.
1198
1199 * src/complex.cpp: Remove internal __stlp_hypot that is not necessary
1200 anymore now that STLport always define a hypot function (thanks Uli
1201 remark).
1202
1203 * stlport/stl/config: Ulrich Eckhardt VC8/CE patch:
1204 - Adapt the code to construct the paths to the native includes
1205 so that it matches the changed structure. This is currently
1206 only for ARM and might need more work for other targets (x86
1207 works though).
1208 - Make a distinction between the desktop and CE variants concerning
1209 the exception support functions. These now use the same compiler
1210 versions so that can't be used anymore.
1211 - MS' safe string functions are not available under CE - I think,
1212 need to take a closer look at Platform Builder.
1213
1214 * stlport/stl: Ulrich Eckhardt to adapt STLport to VC8/CE limited
1215 native C library.
1216
12172006-06-13 Francois Dumont <dums@stlport...>
1218
1219 * stlport/stl/pointers/_tools.h: Add partial specialization for
1220 _IteWrapper helper struct so that when type to store and stored
1221 type are identical input iterators are not wrapped. Otherwise input
1222 iterators are wrapped to perform necessary casts between pointer type
1223 and void*.
1224
1225 * stlport/stl/_cmath.h: Fixed macros definition used to define all
1226 math functions for compilers supporting long double but not having
1227 float nor long double C math functions. Thanks Ulrich Eckhardt report.
1228
12292006-06-12 Francois Dumont <dums@stlport...>
1230
1231 * test/unit/set_test.cpp, map_test.cpp: Replace size_t with the
1232 more portable int type when possible.
1233
1234 * stlport/stl/pointers/_tools.h: Check that type to store is a
1235 pointer type before modifying predicate type for set container.
1236 Wrapping less functor in all cases was making move semantic tests
1237 to fail as predicate is not then detected as being the STLport
1238 less predicate.
1239
1240 * stlport/stl: DMC patch from Eric Sanford. DMC do not like __ss
1241 variable that is a reserved keyword.
1242
12432006-06-11 Francois Dumont <dums@stlport...>
1244
1245 * build/Makefiles/nmake: Patch from Ulrich Eckhardt to use
1246 main rather than WinMain for EVC platform.
1247
1248 * build/test/unit/gcc.mak: Removed redondant macro definition
1249 _STLP_USE_STATIC_LIB under cygwin/mingw as those definition
1250 are part of base make files.
1251
1252 * stlport/stl/type_manips.h, _hashtable.h: Eric Sanford workaround
1253 for Borland.
1254
12552006-06-09 Francois Dumont <dums@stlport...>
1256
1257 * test/unit/cppunit: Patch from Ulrich Eckhardt to
1258 - Removed a few superfluous semicolons.
1259 - Made some constructors explicit.
1260 - Documented the meaning of FileReporter::_myStream.
1261 - Reformatted some things to not exceed 100 chars per
1262 line or use several expressions/statements in one line.
1263
1264 * build/Makefiles/nmake: Patch from Ulrich Eckhardt to
1265 - adds support for x86 (running on e.g. a PC, so-called CEPC).
1266 - adds support for MIPS or more specifically MIPSII, other MIPS
1267 subtypes can easily be added.
1268 - removes a line "DEFS_COMMON = /D%TARGETCPU%" from the config.mak
1269 file generated for MIPS, the same functionality was moved to the
1270 CPU-specific setups where it is done for other CPUs.
1271 - adds an additional compiler flag so that diagnostics better
1272 match what the VC8 IDE expects.
1273
1274 * stlport/stl: Patch from Ulrich Eckhardt to
1275 - removes several unnecessary semicolons (typically, when
1276 inlining functions like "void foo() {};" where it in fact doesn't
1277 hurt (due to something I consider an oversight in the standard)
1278 but also doesn't make sense.
1279 - fixes inconsistent indentation in three cases, one with the
1280 preprocessor and two with memberfunction bodies.
1281
1282 * stlport/stl/pointers/_tools.h: Add missing template method
1283 in _CastTraits helper struct used on compiler with no partial
1284 template specialization support.
1285
12862006-06-08 Francois Dumont <dums@stlport...>
1287
1288 * stlport/stl/pointers/_tools.h, _set.h: Fix problems reported by
1289 gcc that seems to do more check that MSVC on explicit
1290 instanciation of templates. Especially fixed problem introduce
1291 by STLport extension of set template methods.
1292
1293 * build/Makefiles/gmake/aCC.mak, lib/aCC.mak: Patch from Boris
1294 Gubenko for Hp aCC build.
1295
12962006-06-07 Francois Dumont <dums@stlport...>
1297
1298 * stlport/stl/pointers: Restore pointer specialization feature.
1299 Major modifications are:
1300
1301 - vector specialization is done using a qualified void pointer
1302 in order to keep optimization oportunities when working on
1303 pointers. Using a strict void* was forcing wrapping of iterators
1304 in template method making _BothPtrTypes struct helper failing to
1305 detect both pointer types.
1306
1307 - Fixed set specialization thanks to explicit instanciation added
1308 in ptrspec_test.cpp.
1309
1310 - Refactoring of algorithm to find storage type from value type.
1311
13122006-06-02 Francois Dumont <dums@stlport...>
1313
1314 * build/Makefiles/nmake: Patch from Ulrich Eckhardt for
1315 cleanup. Some script refactoring, wrong OPT_STLDBG_STATIC references
1316 replaced by OPT_STATIC_STLDBG.
1317
1318 * src: Patch from Ulrich Eckhardt to cleanup locale implementation
1319 and fix time facet creation when using dummy locale implementation.
1320
1321 * stlport/stl/config/_evc.h: Patch from Ulrich Eckhardt to fix
1322 endianess definition.
1323
1324 * stlport/stl/debug/_hashtable.h: Create a _DbgEqual functor to
1325 check correct equivalent predicate implementation. Add also
1326 missing hash_func and key_eq methods in this mode.
1327
1328 * stlport/stl/debug/_tree.h: Small refactoring in _DbgCompare
1329 functor.
1330
1331 * stlport/stl/type_traits.h, boost_type_traits.h: Restore boost
1332 support.
1333
13342006-06-01 Francois Dumont <dums@stlport...>
1335
1336 * stlport/stl/_tree.h, _set.h, _map.h, debug/_tree.h: Removed
1337 erase template method extension, might conflict with erase
1338 overload taking an iterator. User workaround will be to use
1339 erase(find(key)).
1340
1341 * stlport/stl/_hashtable.h, _map.h, _set.h, _unordered_set.h,
1342 _unordered_map.h, debug/_hastable.h: Add template methods extension.
1343
1344 * stlport/stl/config/features.h: Add management of containers template
1345 method extension.
1346
1347 * stlport/stl/config/_apple.h, _symantec.h: Config update based on
1348 config that used to be in _tree.h and _hashtable.h to remove
1349 container template methods extensions.
1350
13512006-05-31 Francois Dumont <dums@stlport...>
1352
1353 * stlport/stl/config/_evc.h: Patch from Michael Fink to add ptrdiff_t
1354 definition and forbid use of _STLP_DEBUG mode for evc 3/4 on ARM.
1355
1356 * build: Ulrich Eckhardt patch for Microsoft Visual Studio 2005 for
1357 Embedded C++ portage.
1358
13592006-05-30 Francois Dumont <dums@stlport...>
1360
1361 * stlport/stl/type_traits.h: Rename _Is_Integer<_Tp>::_Integral and
1362 _Is_Rational<_Tp>::_Rational in respectively _IsIntegral<_Tp>::_Ret
1363 and _IsRational<_Tp>::_Ret for naming convention coherency.
1364
1365 * stlport/stl/type_traits.h: Add _TrivialNativeTypeCopy helper to
1366 handle a number of oportunities to use memcpy/memmove in
1367 uninitialized_* or copy algorithms that was not cover by simply
1368 checking type_traits has_trivial* features.
1369
1370 * stlport/stl/type_traits.h, boost_type_traits.h: Refactor _BothPtrType
1371 implementation, only one version is necessary as it uses _IsPtr that
1372 has a variable implementation depending on config.
1373
1374 * stlport/stl/_vector.h: Add _DefaultZeroValue specialization for
1375 vector container so that a vector of vector is simply initialized
1376 using a memset to set everything to 0.
1377
1378 * test/unit/vector_test.cpp: Add check that previous optimization
1379 works as expected.
1380
1381 * stlport/typeinfo.h: Borland patch from Eric Sanford.
1382
1383 * DMC patch from Eric Sanford
1384
1385 * stlport/stl/debug/_tree.h: Patch from Ulrich Eckhardt to add missing
1386 count template method.
1387
1388 * src/dll_main.cpp: Patch from Ulrich Eckhardt to fix strncpy
1389 usage.
1390
13912006-05-23 Francois Dumont <dums@stlport...>
1392
1393 * stlport/stl/_deque.h, _deque.c: Change implementation to use
1394 _TrivialInit new feature.
1395
1396 * stlport/stl/boost_type_traits.h: Add _TrivialInit implementation
1397 using boost type traits.
1398
13992006-05-22 Francois Dumont <dums@stlport...>
1400
1401 * stlport/stl/type_traits.h: Add _TrivialInit helper struct to
1402 report if a type is trivial to initialize or not that is to say
1403 if the type has a trivial default constructor. Handle native types
1404 exception that are consider as having a trivial default constructor
1405 but that required a 0 initialization on explicit constructor
1406 call.
1407
1408 * stlport/stl/_uninitialize.h: Add a helper function
1409 __uninitialize_init that result in a no-op if _TrivialInit returns
1410 __true_type.
1411
1412 * stlport/stl/_vector.h: Modification of vector constructor to
1413 destect when it is called without an explicit default value so
1414 that we can call __uninitialized_init.
1415
1416 * test/unit/uninitialized_test.cpp: Add test to check correct
1417 detection of useless initialization.
1418
14192006-05-19 Francois Dumont <dums@stlport...>
1420
1421 * test/unit/uninitialized_test.cpp: Patch from Ulrich Eckhardt
1422 to replace vector instance in uninitialized_copy_test by static
1423 array so that we are always working on pointers iterator.
1424
1425 * stlport/stl/_string_operators.h: Patch from Ulrich Eckhardt to
1426 add missing != operators when using string template expression.
1427
1428 * stlport/stl/ctype.h, config/_evc.h, _msvc.h, _windows.h,
1429 features.h: Patch from Michael Fink for evc3/4 platform.
1430
1431 * test/unit/mvctor_test.cpp: Add of a specific Borland test case
1432 to report what seems to be a compiler bug but that is only
1433 revealed when using STLport.
1434
1435 * stlport/stl/_tree.h, _set.h, _map.h, debug/_tree.h,
1436 pointer/_set.h: Generalized already existing extension of template
1437 find method on associative containers to all look up methods:
1438 count, erase, lower_bound, upper_bound, equal_range.
1439
1440 * test/unit/set_test.cpp: Add test case for set template methods
1441 extension.
1442
1443 * stlport/stl/_tree.c, debug/_tree.h: Removed debug check from
1444 non debug implementation, now debug check is injected in tree
1445 implementation from the tree debug implementation thanks to
1446 a wrapping of the predicate.
1447
14482006-05-18 Francois Dumont <dums@stlport...>
1449
1450 * stlport/stl/c_locale.h: Fix declaration of _Locale_name_hint
1451 struct so that compilers do not think that this struct is in
1452 the STLport namespace because of friend declaration.
1453
14542006-05-17 Francois Dumont <dums@stlport...>
1455
1456 * stlport/stl/_abbrevs.h: Update list of abbreviations.
1457
1458 * stlport/stl/_hashtable.c: Removed _Node macro and fixed
1459 macros defined when _STLP_NESTED_TYPE_PARAM_BUG is defined.
1460
14612006-05-16 Francois Dumont <dums@stlport...>
1462
1463 * test/unit/type_traits_test.cpp: Add test case to check
1464 _TrivialUCopy helper metaprogramming class behavior.
1465
1466 * stlport/stl/_vector.h, _vector.c: Replaced _TrivialAss by
1467 _TrivialCopy and _TrivialUCpy by _TrivialUCopy for coherency
1468 with type_traits.h names.
1469
1470 * test/unit/type_traits_test.cpp: Add small test for correct
1471 impact of trivial_destructor meta info in vector implementation.
1472
1473 * build/lib/configure.bat: Add comment to explain weird TARGETCPU
1474 check.
1475
14762006-05-15 Francois Dumont <dums@stlport...>
1477
1478 * stlport/stl/_hashtable.h, _list.h, _deque.h, _slist.h,
1479 _string.h, _vector.h, _move_construct_fwk.h, _rope.h:
1480 Fix impact of _STLP_NO_MOVE_SEMANTIC macro on library. Now,
1481 if defined, no move will ever happen.
1482
1483 * stlport/stl/_uninitialized.h: Simplified __uninitialized_copy_fill
1484 prototype, only one type of iterator is allowed. It also fix
1485 implementation as this one was not taking into account both
1486 iterator value_type to consider if the operation was trivial
1487 or not.
1488
1489 * stlport/stl/_uninitialized.h: Major code review. Remove use of
1490 _OKToMemcpy, remove dependency on std::copy of std::fill, all
1491 implementation is now similar to the one of std::copy algorithms
1492 except that uninitialized algo are using
1493 __type_traits::has_trivial_copy_constructor meta information and
1494 copy __type_traits::has_trivial_assign_operator.
1495
1496 * test/unit/deque_test.cpp, vector_test.cpp: New test case for
1497 over optimization problem.
1498
1499 * test/unit/map_test.cpp, locale_test.cpp, list_test.cpp, slist_test.cpp,
1500 unordered_test.cpp, fstream_test.cpp, stack_allocator.h: Fixed
1501 implementation to build with _STLP_NO_MEMBER_TEMPLATES.
1502
1503 * stlport/stl/debug/_vector.h, _list.h: Add non template assign
1504 methods used when _STLP_NO_MEMBER_TEMPLATES is defined.
1505
1506 * stlport/stl/_slist.c: Fixed sort _Slist_sort implementation, now
1507 call _Slist_merge template function rather than slist::merge method
1508 as this method do not take any predicate when _STLP_NO_MEMBER_TEMPLATES
1509 is defined.
1510
1511 * build/test/unit/Makefile.inc, test/unit/uninitialized_test.cpp:
1512 New test for uninitialized_copy algo.
1513
1514 * stlport/stl/type_traits.h: OKToMemCpy rename in _TrivialCopy for
1515 coherency with _TrivialUCopy. Moreover, thanks to refactoring in
1516 uninitialized_* algorithms, _TrivialUCopy now only takes into account
1517 __type_traits::has_trivial_copy_constructor meta information and
1518 not has_trivial_assign_operator.
1519
1520 * stlport/stl/boost_type_traits.h: Fixed to reflect STLport
1521 __type_traits modifications.
1522
1523 * stlport/stl/_uninitialized.h: Major code review proposed by
1524 Ulrich Eckhardt
1525
1526 * stlport/stl/_algobase.h, _deque.h, _deque.c, _vector.h, _vector.c,
1527 _rope.h, _rope.c, _string.h, _string.c: Impact of previous point.
1528
15292006-05-05 Francois Dumont <dums@stlport...>
1530
1531 * test/unit/iter_test.cpp: Removed unreachable code.
1532
1533 * Introduction of a new configuration macro _STLP_MSVC_LIB
1534
1535 This macro is set to _MSC_VER value but can be overloaded to
1536 an other value. First intension was to make STLport more flexible
1537 for Intel C++ compiler. This compiler comes without any native
1538 lib and you have to bind it to a MSVC install, Intel compiler
1539 generate MSVC compatible code so that MSVC linker can correctly
1540 generate final exe or dll. To mimic MSVC compiler ICL also defines
1541 _MSC_VER. The problem is that definition of this macro is based
1542 on a compiler option and do not necessarily reflect the MSVC lib
1543 version ICL is binded to. Fortunately the compiler options
1544 responsible of _MSC_VER definition (/Qvc6, /Qvc7...) is also
1545 responsible of name mangling so asking for a MSVC compiler
1546 compatibility different than the library ICL is binded to is
1547 not easy. But _STLP_MSVC_LIB has been kept as it makes STLport
1548 configuration more clean. Now MSVC compiler version is given
1549 by _STLP_MSVC macro and library version by _STLP_MSVC_LIB.
1550 All occurences of _MSC_VER in STLport code has been replaced
1551 by those macros.
1552
1553 * _STLP_USE_SECURIZED_BUF_FUNCTIONS replaced by the more
1554 intuitive _STLP_USE_SAFE_STRING_FUNCTIONS.
1555
1556 * stlport/stl/config/_msvc.h: Major refactoring to isolate
1557 MSVC compiler config and MSVC native library config.
1558
15592006-05-04 Francois Dumont <dums@stlport...>
1560
1561 * build/lib/configure.bat: And information to the --lib-motif
1562 option as advised by Ulrich Eckhardt. Add option parameter and
1563 relation with _STLP_LIB_NAME_MOTIF.
1564
1565 * src/messsage_facets.h: Removed implementation of private copy
1566 constructor and assignment operator.
1567
1568 * src/c_locale_win32/c_locale_win32.c: Made
1569 _Locale_extract_category_name locale function static.
1570
1571 * src/vc_warning_disable.h renamed in warning_disable.h as it is
1572 used by other compilers too (ICL)
1573
1574 * build/lib/msvc.mak, evc.mak: Removed forced inclusion of
1575 vc_warning_disable.h file. Now this file is included from
1576 stlport_prefix.h.
1577
1578 * build/test/unit/msvc.mak, evc.mak: Replace vc_warning_disable.h
1579 reference by warning_disable.h.
1580
1581 * src/stlport_prefix.h: Add inclusion of warning_disable.h.
1582
15832006-05-01 Francois Dumont <dums@stlport...>
1584
1585 * test/unit/vector_test.cpp, deque_test.cpp, string_test.cpp:
1586 Removed unreachable code, reported by ICL 9.0.
1587
1588 * test/unit/mvctor_test.cpp: Removed variable declaration hiding
1589 previous one + made local functions static.
1590
1591 * stlport/stl/config/_msvc.h: Only use abbreviate symbols for
1592 MSVC compiler and not for all compilers defining _MSC_VER. Also
1593 removed some ICL specific configuration.
1594
1595 * src/lock_free_slist.h: Removed 'no return statement' warning
1596 for ICL too.
1597
1598 * src/message_facets.h: Made _Message_impl copy constructor and
1599 assignment operator private to avoid warning as _M_cat member
1600 data has private copy constructor and assignment operator too.
1601
1602 * stlport/stl/_cstdlib.h: Made additional definition of
1603 div(long, long) based on native library (_MSC_VER) rather than on
1604 compiler used (_STLP_MSVC).
1605
1606 * stlport/stl/config/_intel.h: Fix Intel C++ 9.0 compiler
1607 configuration with and without /Qvc6 option.
1608
1609 * src/dll_main.cpp: Add std::unexpected implementation that ICL
1610 need but that is not part of MSVC6 native lib library.
1611
1612 * test/unit/test_main.cpp: Add std::unexpected implementation that
1613 ICL need but that is not part of MSVC6 native lib library.
1614
16152006-04-30 Francois Dumont <dums@stlport...>
1616
1617 * stlport/stl/_alloc.h: Moved __type_traits specialization for
1618 std::allocator class before use in _STLP_alloc_proxy
1619 instanciation.
1620
1621 * test/unit/istmit_test.cpp: Fixed macro checks to correctly
1622 report ignored test.
1623
16242006-04-27 Francois Dumont <dums@stlport...>
1625
1626 * test/unit/full_streambuf.h, deque_test.cpp, vector_test.cpp:
1627 Add STLPORT macro check when checking _STLP_USE_EXCEPTION macro.
1628
1629 * test/unit/string_test.cpp: Fix some macro checks to correctly
1630 report ignored tests.
1631
1632 * test/unit/mvctor_test.cpp: Fix tests to build it with native
1633 MSVC 2005 Standard library. Looks like this implementation do
1634 not follow atmortized constant time vector::push_back complexity.
1635
1636 * stlport/stl/config/_msvc.h: Clearly report status regarding build
1637 of STLport using the MSVC /clr option.
1638
1639 * stlport/stl/_threads.h: Remove MSVC .Net 2002 annoying warning.
1640
16412006-04-26 Francois Dumont <dums@stlport...>
1642
1643 * src/ctype.cpp: Fix ctype::scan_is and scan_not method behavior as
1644 required by C++ Standard 22.2.1.1.2.
1645
1646 * test/unit/locale_test.cpp: Fix ctype facet test according
1647 modifications above.
1648
16492006-04-25 Francois Dumont <dums@stlport...>
1650
1651 * stlport/stl/_istream.c: Small refactoring to avoid a uninitialized
1652 warning for __do_handle_exceptions local variable.
1653
1654 * stlport/stl/_deque.h: Ditto with __cur_node variable in
1655 _M_range_initialize method.
1656
1657 * stlport/stl/_deque.c: Ditto with __cur in _M_fill_initialize.
1658
1659 * stlport/stl/config/_auto_link.h: Removed auto link feature when
1660 building a C translation unit thanks Michael Fink.
1661
1662 * src/time_facets.cpp: Add missing calling convention on
1663 __write_formatted_time internal function.
1664
16652006-04-24 Francois Dumont <dums@stlport...>
1666
1667 * test/unit/cppunit/cppunit_mini.h: Limit scope of try/catch block to
1668 the test case call so that CppUnit function methods are correctly
1669 called.
1670
1671 * test/unit/type_traits_test.cpp: Fix use of
1672 CPPUNIT_IGNORE/CPPUNIT_STOP_IGNORE macros so that ignored tests are
1673 correctly reported as ignored.
1674
16752006-04-20 Francois Dumont <dums@stlport...>
1676
1677 * stlport/stl/config/_solaris.h: Replace C++ style comment
1678 in C style.
1679
1680 * stlport/stl/_cmath.h: Add macro definition for environment
1681 having long double but no float neither long double math functions
1682 This is a Solaris configuration.
1683
1684 * src/acquire_release.h, c_locale.h, locale.cpp,
1685 locale_catalog.cpp, locale_impl.cpp, locale_impl.h,
1686 message_facets.h, facets_byname.cpp: Add a locale hint feature
1687 to improve locale construction from name. This is used by
1688 Win32 locale implementation that broadcast the locale lcid
1689 thanks to this hint. With this modification, LocaleTest fixture
1690 runs 5 times faster.
1691
1692 * stlport/stl/_collate.h, _ctype.h, _monetary.h, _numpunct.h,
1693 _time_facets.h: Add _Locale_extract_hint function as friend
1694 to some locale facet in order to access locale implementation
1695 specific structure and potentially extract the hint.
1696
1697 * stlport/stl/_codecvt.h, _collate.h, _ctype.h, _messages_facets.h,
1698 _monetary.h, _numpunct.h, _time_facets.h: Add _Locale_name_hint pointer
1699 parameter to facet by name constructor.
1700
1701 * build/Makefiles/nmake/lib/clean.mak, rules-so.mak, rules-install-so.mak:
1702 Based on Dr Dobb's Richard Grimes article, change management of
1703 manifest file for STLport shared library. According this article
1704 .manifest file is not taken into account for a library, only .exe one is.
1705 Solution is to integrate .manifest file into the .dll as an unmanaged
1706 ressource with id 2. We now do so thanks to the mt manifest tool.
1707
1708 * stlport/stl/_pair.h: Remove __move_traits partial specialization for
1709 Borland free compiler, it was introducing weird compilation error.
1710
1711 * stlport/stl/_move_construct_fwk.h: Add a helper struct for __move_traits
1712 feature.
1713
1714 * build/test/unit/msvc.mak: Prepare makefile to easily build unit tests
1715 without STLport.
1716
17172006-04-15 Francois Dumont <dums@stlport...>
1718
1719 * stlport/stl/config/host.h, compat.h, debug/_debug.c: Removed
1720 _STLP_NO_DEBUG_EXCEPTIONS configuration macro that is similar
1721 to the new _STLP_DEBUG_MODE_THROWS except that new thrown macro
1722 is catchable (std::runtime_error exception) and contained message
1723 is more explicit.
1724
1725 * stlport/stl/debug/_tree.h: Add find template method STLport
1726 extension to the debug version of binary tree thanks Mike Flamming.
1727
17282006-04-11 Francois Dumont <dums@stlport...>
1729
1730 * src/complex_io_w.cpp: Removed, content moved to src/complex_io.cpp
1731 to avoid build of an empty translation unit that can generate linker
1732 warning (noticed with MSVC 2005 express)
1733
1734 * build/lib/Makefile.inc: Updated before of above modification.
1735
1736 * test/unit: Ignore many tests rather than hide it depending on
1737 build configuration.
1738
1739 * test/unit/cppunit/file_reporter.h: Restored output existing before
1740 introduction of monitoring feature.
1741
17422006-04-10 Francois Dumont <dums@stlport...>
1743
1744 * test/unit/cppunit/cppunit_timer.h, test_main.cpp, file_reporter.h:
1745 Add -m option to activate monitoring of unit tests. This option add
1746 timing for each test and a global timing information. Timer class has
1747 been created for Win32 API.
1748
1749 * stlport/stl/_bitset.h: Hide STLport bitset extensions _Find_first
1750 and _Find_next.
1751
1752 * test/unit/bitset_test.cpp: Adapt tests to previous modification.
1753
1754 * stlport/stl/_string.h: Replace memory include with stl/_alloc.h
1755 to limit header dependencies. Also add include of stl/_uninitialized.h.
1756
1757 * test/unit/fstream_test.cpp: Add missing memory include.
1758
1759 * test/unit/locale_test.cpp: Ditto.
1760
1761 * stlport/stl/_queue.h, _string.h, _rope.h, debug/_tree.h: Replace
1762 stl/_function.h include with the smaller _function_base.h include.
1763
17642006-04-07 Francois Dumont <dums@stlport...>
1765
1766 * stlport/stl/_new.h: Fixed management of _STLP_NO_BAD_ALLOC
1767 and _STLP_NEW_DONT_THROW_BAD_ALLOC macros.
1768
1769 * stlport/stl/config/_dm.h: Change DMC configuration, use STLport
1770 own namespace rather than std so that STLport can check config.
1771
1772 * stlport/typeinfo.h: Fix DMC configuration now that it uses own
1773 STLport namespace.
1774
17752006-04-05 Francois Dumont <dums@stlport...>
1776
1777 * stlport/stl/_tree.h, _list.h: Fixed swap implementation to
1778 correctly swap allocators instance. Moreover list swap implementation
1779 was wrong since list splice has been modified to correctly handled
1780 allocators with state.
1781
1782 * test/unit/slist_test.cpp, list_test.cpp, set_test.cpp: Add tests for
1783 above fix.
1784
1785 * stlport/stl/_deque.h: Fix swap method as deque has 2 allocator
1786 instances, this should perhaps be modified one day to only keep 1...
1787
1788 * stlport/stl/_rope.h: Fix swap method and removed assertion for
1789 equivalent allocator instances even if there are still other assertions
1790 in the implementation.
1791
1792 * stlport/stl/_function_base.h: Add swap method for less functor if
1793 partial template workaround is activated. This is for surprising
1794 compilers supporting partial template specialization but no template
1795 function partial ordering.
1796
1797 * stlport/stl/_algobase.h: Add Borland workaround for swap function
1798 thanks Eric Sanford.
1799
1800 * test/unit/type_traits_test.cpp: Borland workaround for is_convertible
1801 function thanks Eric Sanford.
1802
1803 * stlport/stl/config/_bc.h: Borland compilers do not support template
1804 function partial ordering thanks Eric Sanford.
1805
1806 * test/unit/stack_allocator.h: Add Borland workaround to correctly
1807 call StackAllocator::swap method when swaping STL containers in
1808 allocator_with_state tests.
1809
1810 * test/unit/config_test.cpp: New test
1811 ConfigTest::template_function_partial_ordering.
1812
1813 * test/unit/slist_test.cpp, list_test.cpp, set_test.cpp: Add swap tests
1814 with empty containers.
1815
1816 * src/vc_warning_disable.h: Remove deprecated comments.
1817
1818 * stlport/stl/_pair.h: Removed Borland checks thanks Eric Sanford.
1819
1820 * Patch from Michael Fink to remove Windows CE support that is
1821 no more supported by Microsoft.
1822
1823 * stlport/stl/config/_native_headers.h: New, contains all macros
1824 relative to native headers access that used to be in features.h.
1825
1826 * stlport/stl/config/_evc.h, _como.h: Add include of _native_headers.h
1827 as those compilers need to include native headers for correct
1828 configuration.
1829
1830 * stlport/stl/config/features.h: Use _native_headers.h.
1831
1832 * test/unit/locale_test.cpp: Made LocaleTest::facet_id test STLport
1833 specific rather than Borland specific. Moreover, without STLport, test
1834 is ignored rather than hidden.
1835
1836 * stlport/stl/_num_put.h, _num_put.c: Removed useless export of
1837 num_put<char, char*>, num_put<wchar_t, wchar_t*> not required by
1838 the Standard.
1839
1840 * stlport/stl/_num_get.h, _num_get.c: Ditto for
1841 num_get<char, const char*>, num_get<wchar_t, const wchar_t*>
1842
1843 * stlport/stl/_moneytary.h, _moneytary.c: Ditto for
1844 money_get<char, const char*>, money_get<wchar_t, const wchar_t*>,
1845 money_put<char, char*>, money_put<wchar_t, wchar_t*>
1846
1847 * stlport/stl/_time_facets.h, _time_facets.c: Ditto for
1848 time_get<char, const char*>, time_get<wchar_t, const wchar_t*>,
1849 time_put<char, char*>, time_put<wchar_t, wchar_t*>
1850
1851 * src/locale_impl.cpp: Removed id initialization of useless facets
1852 no more exported.
1853
1854 * stlport/new, stl/_new.h: Moved all STLport code in _new.h and
1855 modified new header so that it forwards include to native new
1856 when include comes from inside STLport.
1857
1858 * cppunit/file_reporter.h, cppunit_mini.h: Change support of
1859 CPPUNIT_CHECK macro, only report error once for all failures
1860 in a single test case.
1861
18622006-03-28 Francois Dumont <dums@stlport...>
1863
1864 * stlport/stl/_prolog.h: Fix macro check before inclusion of
1865 features.h.
1866
1867 * stlport/stl/char_traits.h: Fixed include of cstddef, in STLport
1868 code, Standard headers should never be included directly, their
1869 stlport/stl/_xxx.h counterpart should be used.
1870
1871 * stlport/stl/type_traits.h, type_manip.h: Patch from Eric Sanford
1872 for Borland compiler to fix _OKToMemCpy feature.
1873
1874 * stlport/stl/_alloc.h: Replace swap function for _STLP_alloc_proxy
1875 by a member method, it is more portable.
1876
1877 * stlport/stl/_bvector.h, _deque.h, _list.h, _slist.h, _string_base.h
1878 _tree.h: Replaced called to std::swap for _STLP_alloc_proxy instances
1879 by calls to member swap method.
1880
1881 * test/unit/hash_test.cpp: Ignore test rather than hide it.
1882
1883 * test/unit/map_test.cpp: Fixed StackAllocator instanciation.
1884
1885 * test/unit/stack_allocator.h: Add std::swap overload for
1886 StackAllocator<pair<const int, int>>.
1887
1888 * test/unit/string_test.cpp: Ignore tests rather than hide it.
1889
1890 * test/unit/unordered_test.cpp: Ditto.
1891
18922006-03-27 Francois Dumont <dums@stlport...>
1893
1894 * stlport/stl/_stdexcept_base.h: New internal header with
1895 __Named_exception implementation, improve segregation between
1896 <locale> and <stdexcept> Standard headers.
1897
1898 * test/unit/locale_test.cpp: Add missing <stdexcept> header include.
1899
1900 * stlport/stl/_function_base.h, _function.h: Move as many functor as
1901 possible from _function_base.h to _function.h to improve
1902 segregation between <functional> and <algorithm> Standard headers.
1903
1904 * test/unit: Add many missing references to <functional> header.
1905
1906 * test/unit: Made unit tests available for build without STLport, this
1907 will be a good way to compare Standard library implementations.
1908
1909 * stlport/stl/_string_base.h: Remove additional space for terminating
1910 null character, it was actually already reserved in the return
1911 expression.
1912
1913 * stlport/stl/_string.h: Restored basic_string capacity implementation
1914 that do not depend on use of the short string optimization or not. It
1915 might be hiding a real issue somewhere else in code even if unit tests
1916 are not showing any problem.
1917
1918 * stlport/stl/_alloc.h: Add swap overload for _STLP_alloc_proxy class
1919 in order to correctly call swap on the maybe rebound allocator as user
1920 that implement an allocator with a state might have implement a
1921 special swap function for it to correctly handle STL containers swap
1922 operation.
1923
19242006-03-24 Francois Dumont <dums@stlport...>
1925
1926 * build/lib/configure.bat: Removed script for defining INCLUDE
1927 environment variable for Borland ressource compiler as it depends
1928 on where STLport is install.
1929
1930 * build/lib/bcc.mak: Add check for INCLUDE environment variable
1931 definition.
1932
1933 * test/unit/string_test.cpp: Change basic_string::reserve test to
1934 check length_error exception rather than bad_alloc.
1935
19362006-03-22 Petr Ovtchenkov <complement@users.sourceforge.net>
1937
1938 * stlport/stl/_string.c: a bit code clean
1939
1940 * stlport/stl/_string_base.h: max_size should keep space for
1941 allocation of terminating null.
1942
19432006-03-19 Francois Dumont <dums@stlport...>
1944
1945 * stlport/stl/_alloc.h, _function_base.h, type_manips.h,
1946 type_traits.h, test/unit/type_traits_test.cpp: Patch for
1947 Eric Sanford for __bool2type Borland use.
1948
1949 * build/Makefiles/gmake/lib/clean.mak: Patch from Eric Sanford
1950 to fix files generated by dbg-shared and stldbg-shared rules.
1951
1952 * build/Makefiles/gmake/lib/bcc.mak: Patch from Eric Sanford to
1953 increase Borland page size to 64.
1954
19552006-03-16 Francois Dumont <dums@stlport...>
1956
1957 * stlport/stl/config/_evc.h, _msvc.h: Add some condition for
1958 definition of _STLP_MSVC macro which should only be defined for
1959 real Microsoft compilers and not for compiler emulating it.
1960
1961 * src/allocators.cpp: Use _STLP_STATIC_MUTEX macro in place
1962 of _STLP_mutex_base for mutex definition in per_thread_allocator
1963 implementation.
1964
1965 * stlport/stl/_pthread_alloc.h: Modified deallocate methods of
1966 pthread_allocator and per_thread_allocator implementation to accept
1967 null pointers.
1968
19692006-03-15 Francois Dumont <dums@stlport...>
1970
1971 * stlport/stl/_string_base.h, _string.c: Force call to
1972 _M_allocate_block even in short string optim mode in order
1973 to detect lenght error. Based basic_string max size implementation
1974 on allocator max_size.
1975
19762006-03-15 Petr Ovtchenkov <complement@users.sourceforge.net>
1977
1978 * stlport/stl/config/_system.h, _msvc.h, _evc.h: move _STLP_MSVC
1979 definition in proper place.
1980
19812006-03-14 Francois Dumont <dums@stlport...>
1982
1983 * src/allocators.cpp: Fixed thread safety issue in
1984 per_thread_allocator implementation thanks a very old William
1985 Power report.
1986
1987 * test/unit/allocator_test.cpp: Attempt to write a test case for
1988 previous bug but not yet complete as I need a better debugging
1989 environment than gdb under cygwin...
1990
1991 * stlport/stl/config/_system.h: Patch from Michael Fink to add
1992 missing _STLP_MSVC define for evc++ compilers.
1993
19942006-03-13 Francois Dumont <dums@stlport...>
1995
1996 * stlport/stl/_alloc.h, src/allocators.cpp: Hide declaration of
1997 malloc based allocator handler in library. Also limit scope of
1998 declspec to expose static members rather than the whole class.
1999
2000 * stlport/stl/_cstdlib.h: For Borland compiler add include of
2001 native process.h header, for reason see comment next to include
2002 in file.
2003
2004 * stlport/stl/_alloc.h: Add a new STLport extension to the
2005 std::allocator class: allocate(size_type, size_type&). This new
2006 overload of allocate returns in an output parameter, the real
2007 size of the allocated buffer that can be larger than the requested
2008 one. _STLP_alloc_proxy expose this new overload only for the
2009 STLport allocator and not for user defined allocators.
2010
2011 * stlport/stl/_vector.h, _vector.c, _string.h, _string.c: Use of the
2012 allocate overload extension method to set end of storage reference
2013 to the real memory block end rather than to the requested one.
2014
2015 * stlport/stl/_alloc.c: Adapt __debug_alloc::allocate method in order
2016 to return the real allocated memory block. Also add check on computed
2017 __real_n to allocate as it might roll on size_t and hide a case that
2018 should result in a bad_alloc exception.
2019
2020 * stlport/stl/_threads.h, src/allocators.cpp: Add WINVER macro
2021 check in addition to _WIN32_VERSION, according PSDK documentation
2022 WINVER is more generaly used accross different Windows platforms.
2023
2024 * test/unit/string_test.cpp: Add constructor test case to correctly
2025 handle build of a string with string::max_size elements which should
2026 result in a bad_alloc exception. Idem for reserve method.
2027
2028 * stlport/stl/_alloc.h, src/allocators.cpp: Add check of malloc
2029 result in __malloc_alloc implementation to throw an exception when
2030 result is NULL.
2031
2032 * src/locale_impl.cpp: Patch from Eric Sanford for Borland BDS 2006
2033 support. Mostly fix locale facet index issues.
2034
20352006-02-28 Petr Ovtchenkov <complement@users.sourceforge.net>
2036
2037 * stlport/stl/_string.h: capacity may return wrong value in case
2038 of no _STLP_USE_SHORT_STRING_OPTIM in use; thanks Rusty Koonce
2039 for report.
2040
2041 * test/unit/string_test.cpp: test for capacity issue.
2042
2043 * src/cxa.c: don't use cxa workaround for FreeBSD 6.0---it fine;
2044 this is rollback of changes 2006-01-24 [bad compiler was in use].
2045
20462006-02-15 Petr Ovtchenkov <complement@users.sourceforge.net>
2047
2048 * stlport/stl/_string.h: _STLP_FORCE_STRING_TERMINATION mode become
2049 default and only mode due to performance issue.
2050
2051 * stlport/stl/config/user_config.h: ditto.
2052
2053 * stlport/stl/config/features.h: ditto.
2054
20552006-02-14 Francois Dumont <dums@stlport...>
2056
2057 * stlport/stl/_hashtable.h, _hashtable.c: Add check in _STLP_DEBUG
2058 that equivalent key have same hash code. Fix _M_rehash method
2059 implementation that used to change elements order thanks Big Muscle
2060 effort to report this issue.
2061
2062 * build/lib/configure: Fix reference to STLport configuration file
2063 in --no-cygwin option description.
2064
20652006-02-13 Francois Dumont <dums@stlport...>
2066
2067 * stlport: Patch from Eric Sanford to remove many now useless
2068 Borland workaround.
2069
2070 * src/fstream.cpp: ditto
2071
2072 * stlport/stl/_monetary.h, _cwchar.h, _algobase.h: ditto
2073
20742006-02-10 Francois Dumont <dums@stlport...>
2075
2076 * stlport/stl/_iosfwd.h, _locale.h: Removed type attributes on type
2077 declaration, only useful on type definition.
2078
2079 * src/message_facets.h: Removed unused parameter in _Catalog_nl_catd_map
2080 erase method to avoid warning.
2081
2082 * src/num_put_float.cpp: Use more macro technique to avoid unused parameters
2083 in *_cvt functions.
2084
2085 * test/unit/cppunit/cppunit_mini.h: Comment unused parameter.
2086
2087 * test/unit/cppunit/file_reporter.h: Add base class initialization
2088 in FileReporter copy constructor definition.
2089
20902006-02-10 Petr Ovtchenkov <complement@users.sourceforge.net>
2091
2092 * src/num_put_float.cpp: remove usage of static buffers
2093 [potential vulnerabilities]; directly use __iostring instead.
2094
2095 * test/unit/floatio_test.cpp: test for fixed float output;
2096 cases when fixed float fail on Linux and Solaris, related
2097 with fcvt_r and fconvert calls respectivly commented.
2098
2099 * build/Makefiles/gmake/gcc.mak: workaround for bug in make 3.79.1
2100 on Solaris [not pass -D_STLP_DEBUG to CPPFLAGS].
2101
2102 * stlport/stl/_string.h: rollback 2006-01-25.
2103
21042006-02-08 Francois Dumont <dums@stlport...>
2105
2106 * build/Makefiles: Removed all references to BUILD=r in parameters
2107 to ressource compiler in release as there is no more 'r' appended
2108 to the library name in this mode.
2109
2110 * src/stlport.rc: Fix support for Borland and add check for BUILD
2111 definition before injecting it in original library file name.
2112
2113 * doc/README.borland: Update doc to signal new prerequisite for
2114 Borland ressource compiler.
2115
2116 * test/unit/unordered_test.cpp: Add test for unordered_multiset
2117 equal_range method.
2118
2119 * test/unit/partial_test.cpp: Add test for strict weak ordering
2120 predicate good behavior check.
2121
21222006-02-07 Francois Dumont <dums@stlport...>
2123
2124 * src/allocators.cpp: New simplification for _Node_Alloc_Lock,
2125 it do not have to be a template class anymore.
2126
2127 * stlport/stl/debug/_debug.c: Implement
2128 __stl_debug_engine<_Dummy>::_Message even when specifying
2129 _STLP_DEBUG_MESSAGE in order to have explicit instanciation correctly
2130 generated.
2131
2132 * stlport/stl/_heap.c, _tree.c, _list.c, _slist.c: Add strict
2133 weak ordering checks.
2134
2135 * stlport/stl/_debug.h, _debug.c: Add new error type: bad equivalent
2136 functor that has to be used in hash container implementation or in
2137 algorithm like find. Check for this functor is:
2138 if (pred(a, b)) assert(pred(b, a)
2139
2140 * stlport/stl/_hashtable.c: Add equivalent functor checks.
2141
2142 * stlport/stl/_debug.h, _debug.c: Check _STLP_DEBUG_MODE_THROW in
2143 __debug_engine::_Message method. Now thrown exception will contain
2144 description of the assertion rather than a generic message.
2145
2146 * build/Makefiles/gmake/bcc.mak: Fix Borland ressource compiler name,
2147 brcc32 not brc32.
2148
2149 * stlport/stl/_range_errors.h, src/dll_main.cpp: Add
2150 __stl_throw_runtime_error function used to throw exception in
2151 _STLP_DEBUG_MODE_THROW.
2152
21532006-02-06 Francois Dumont <dums@stlport...>
2154
2155 * build/Makefiles/nmake: Fixed regression generated by a side
2156 effect of Uli patch below.
2157
21582006-02-02 Francois Dumont <dums@stlport...>
2159
2160 * stlport/config/_stl_evc.h, stl/_config.h: Patch from Ulrich
2161 Eckhardt to signal endianess detection problem and set EVC
2162 endianess for MIPS SDK.
2163
2164 * src/allocators.cpp: Clean up _Node_Alloc_Lock definition, only
2165 specialization are now available for thread safe and not thread
2166 safe builds. Make easier definition of internal static mutex.
2167
2168 * stlport/float.h: Patch from Eric Sanford for Borland NaN management
2169
2170 * stlport/cfloat: Include STLport float.h rather than native one in
2171 order to use potential internal workaround.
2172
2173 * stlport/stl/config/_ibm.h: Replace all C++ comment by C comments.
2174
2175 * stlport/errno.h: For Borland, when building for a single threaded
2176 contex, errno is not a macro and is defined in std namespace so using
2177 have to get the symbol in this namespace.
2178
21792006-01-31 Francois Dumont <dums@stlport...>
2180
2181 * src/allocators.cpp: Reinforce move of allocators implementation
2182
2183 * stlport/stl/_alloc.h: Removed include of internal _thread.h no
2184 more necessary now that allocator implementation is in allocators.cpp.
2185
2186 * stlport/stl/_pthread_alloc.h: Removed pthread.h include.
2187
2188 * stlport/stl/_rope.h: Adopt classic macro check before inclusion
2189 of _threads.h.
2190
2191 * build/Makefiles/gmake/gcc.mak: Add -fno-inline option for debug
2192 builds.
2193
2194 * stlport/stl/_threads.h: Remove lock free singly linked list, avoid
2195 include of windows.h when using Win32 API lock free slist
2196 implementation.
2197
2198 * src/lock_free_slist.h: New place for the lock free singly linked
2199 list implementation.
2200
2201 * test/unit/mvctor_test.cpp, type_traits_test.cpp: Small workaround
2202 for gcc 4.0.1 build, looks like there is a conflict between glibc++
2203 __true_type and STLport one.
2204
22052006-01-30 Francois Dumont <dums@stlport...>
2206
2207 * Patch from Ulrich Eckhardt for EVC4 ICE + some documentation
2208 updates and fixes.
2209
22102006-01-29 Francois Dumont <dums@stlport...>
2211
2212 * stlport/stl/_hashtable.h, _limits.h: Add missing calling
2213 convention to static methods thanks Petr Supina
2214
22152006-01-28 Francois Dumont <dums@stlport...>
2216
2217 * stlport/stl/debug/_iterator.h: Fix Hp Acc configuration thanks
2218 Boris Gubenko.
2219
22202006-01-27 Francois Dumont <dums@stlport...>
2221
2222 * stlport/stl/_alloc.h, _old_alloc.h, _pthread_alloc.h,
2223 test/unit/rope_test.cpp: Fixed reference to _STLP_NO_IOSTREAMS,
2224 replaced by _STLP_USE_NO_IOSTREAMS.
2225
2226 * stlport/stl/_alloc.h: Move _MAX_BYTES definition out of
2227 _STLP_USE_NO_IOSTREAMS check scope as it is also used in deque
2228 implementation.
2229
2230 * stlport/stl/_algo.c, debug/_debug.h, _debug.c: Add check for
2231 bad predicate in safe STL mode (_STLP_DEBUG).
2232
2233 * test/unit/sort_test.cpp: Add test for correct invalid strict weak
2234 ordering predicate detection. Active only when STL safe mode throws
2235 exception rather than terminating application.
2236
2237 * test/unit/sort_test.cpp: Add a check that stable_sort is really
2238 stable.
2239
22402006-01-26 Francois Dumont <dums@stlport...>
2241
2242 * stlport/stl/_alloc.h, _alloc.c, _pthread_alloc.h: Many code moved
2243 to allocators.cpp.
2244
2245 * stlport/stl/_pthread_alloc.c: Removed, content moved to
2246 allocators.cpp.
2247
2248 * src/allocators.cpp: New, contains STLport node and per thread
2249 allocator implementation.
2250
2251 * src/dll_main.cpp: Remove references to former __node_alloc
2252 class.
2253
2254 * build/lib/Makefile.inc: Add allocators.cpp translation unit.
2255
2256 * stlport/stl/_alloc_old.h: Modified based on allocator classes new
2257 interface.
2258
2259 * stlport/stl/config/feature.h: Default allocator in _STLP_NO_IOSTREAMS
2260 mode is now the new/delete allocator, user can still use malloc/free
2261 one using config swtich in host.h.
2262
2263 * stlport/stl/config/_gcc.h: Cygwin/MinGW can now use default node
2264 allocator implementation without memory leak.
2265
22662006-01-25 Francois Dumont <dums@stlport...>
2267
2268 * test/unit/stream_test.cpp: Add check for ptrdiff_t output
2269 in streams operator when 64 bits portability issue detection
2270 feature is activated with MSVC compilers.
2271
22722006-01-25 Eric Sanford <...@comp...>
2273
2274 * stlport/stl/_exception.h: Delete obsolete workaround for
2275 legacy Borland compilers.
2276
2277 * stlport/stl/_string.h: Use an other implementation for the
2278 const_reference operator[](size_type _n) const
2279
2280 * stlport/stl/config/_bc.h: Restore unexpected exception handler
2281 (static and dynamic) and uncaught_exception handler (static only)
2282
2283 * build/Makefiles/gmake/lib/bcc.mak: Typo fix in linker flags.
2284
22852006-01-24 Petr Ovtchenkov <complement@users.sourceforge.net>
2286
2287 * test/unit/bind_test.cpp: add test for member function
2288 binding that show workaround for const function call.
2289
2290 * src/cxa.c: __cxa_finalize and __cxa_atexit present in libc
2291 in FreeBSD 5.3, but again absent in 6.0
2292
2293 * build/Makefiles/gmake/app/gcc.mak,
2294 build/Makefiles/gmake/lib/gcc.mak: detect whether gcc
2295 was builded with --disable-shared and use correct libgcc.
2296
2297 * build/lib/configure: add --use-static-gcc option to show
2298 that STLport should use static language support libraries from
2299 gcc if it was build with --enable-shared.
2300
23012006-01-23 Francois Dumont <dums@stlport...>
2302
2303 * build/Makefiles/gmake/app/clean.mak: Fix distclean rule for
2304 windows thanks Eric Sanford.
2305
2306 * stlport/stl/_cstddef.h, _cstdlib.h: When no new header support,
2307 include STLport C header rather than native one to use errno
2308 workaround.
2309
2310 * stlport/stddef.h: DMC also define errno in native stddef.h file.
2311
23122006-01-22 Francois Dumont <dums@stlport...>
2313
2314 * src/locale_impl.cpp, stlport/stl/_codecvt.h, _monetary.c,
2315 _num_get.c, _num_put.c, _time_facets.c: Borland workaround for
2316 locale facet id instanciation that were duplicated. Now static
2317 instances are no more defined from .c files but only from the
2318 .cpp and only for facets that are implemented by STLport. Users
2319 implementing facet inheriting from the STLport one will have to
2320 defined the static instance themself in their translation units.
2321
2322 * stlport/stl/type_manips.h: Fixed _UnCVType wrong implementation
2323 reported by Digital Mars compiler.
2324
2325 * stlport/stl/boost_type_traits.h: Fixed _OKMemCpy implementation
2326 remove_pointer call was wrong.
2327
2328 * src/dll_main.cpp: Hide force_link definition to MSVC compilers,
2329 was useless and producing a warning.
2330
2331 * build/Makefiles/gmake/cygming/rules-so.mak: Workaround for DMC
2332 linker weird behavior. Linker create the dll file even if link
2333 fail which confuse make dependency feature. As lib file is not
2334 generated, dll now depends on lib that depends on build files.
2335
2336 * stlport/stl/config/_warning_off.h: Disabled this used in initialization
2337 list warning, used in rope implementation.
2338
2339 * build/lib/configure: Fix --with-boost interpretation.
2340
2341 * build/Makefiles/gmake/dmc.mak: Use dm_link command for linker rather
2342 than link that is rather the MSVC like wrapper.
2343
2344 * build/Makefiles/gmake/cygming/targetsys.mak: Ditto for dm_lib rather
2345 than lib command.
2346
2347 * build/Makefiles/gmake/app/rules.mak: Use same linker command invocation
2348 for DMC and Borland.
2349
2350 * doc/README.borland: Documentation update about limitation on locale
2351 facets id instanciation.
2352
2353 * stlport/stdlib.h: DMC, like Borland and EVC, defines errno macro
2354 in stdlib.h
2355
2356 * stlport/stl/config/user_config.h, features.h: Inverse
2357 _STLP_FORCE_STRING_TERMINATION macro switch in
2358 _STLP_DONT_FORCE_STRING_TERMINATION. This is less dangerous for
2359 existing code.
2360
2361 * stlport/stl/_string.h: When _STLP_FORCE_STRING_TERMINATION
2362 is defined operator[] implementation is simpler.
2363
2364 * stlport/stl/debug/_string.h: Based implementation of []
2365 operator on the non STL safe internal instance, avoid duplication
2366 of check for access to the element of index size().
2367
2368 * test/unit/fstream_test.cpp: Add custom facet id definition for
2369 Borland.
2370
2371 * test/unit/hash_test.cpp: Now Borland support correctly hash container
2372 implementation.
2373
2374 * test/unit/rope_test.cpp: Fixed test implementation to build in
2375 _STLP_NO_IOSTREAMS mode.
2376
23772006-01-18 Francois Dumont <dums@stlport...>
2378
2379 * stlport/stl/_ostream.h, _ostream.c: Use size_t rather than
2380 unsigned int for MSVC compilers after VC6 in IO output operator
2381 to avoid 64 bits warning when trying to display a size_t type.
2382
2383 * test/unit/sstream_test.cpp: Add test that reveal the 64 bits
2384 warning.
2385
2386 * test/unit/string_test.cpp: Fixed unused variable warning.
2387
23882006-01-17 Petr Ovtchenkov <complement@users.sourceforge.net>
2389
2390 * src/c_locale_glibc/c_locale_glibc2.c: really implemented
2391 getting default locale categories from environment; replace
2392 a few strcpy by strncpy to protect from possible buffer overflow
2393 attack.
2394
2395 * stlport/new.h, stlport/stl/_typeinfo.h: few workarounds for ICC 9
2396 [suggested by Lim Hwan Cheol].
2397
23982006-01-14 Eric Sanford <...@comp...>
2399
2400 * build/test/eh/bcc.mak: Copied from build/test/unit/bcc.mak.
2401
2402 * stlport/stl/_rope.c: Restore Borland support for _Rope_rotate.
2403
2404 * stlport/stl/_rope.h: Fix Borland 5.5.1 internal compiler errors
2405 in _M_path_end and _M_tmp_buf structs. Restore Borland support for
2406 _Rope_rotate.
2407
2408 * test/eh/test_rope.cpp: Restore Borland exception test for rope.
2409
2410 * test/unit/rope_test.cpp: Restore Borland unit test for rope.
2411
24122006-01-13 Petr Ovtchenkov <complement@users.sourceforge.net>
2413
2414 * stlport/stl/_string.h, stlport/stl/debug/_string.h:
2415 const operator [n] should return CharT() in case of
2416 n == size(), ISO/IEC 14882:2003(E), 21.3.4; thanks Russ Miller.
2417
2418 * test/unit/string_test.cpp: test for fixed bug above.
2419
2420 * build/lib/configure: change --use-boost= onto --with-boost=
2421
24222006-01-13 Francois Dumont <dums@stlport...>
2423
2424 * test/unit/type_traits_test.cpp: Add boost specialization for
2425 any_pod_type in order to reproduce STLport behavior when using
2426 boost type traits.
2427
2428 * src/dll_main.cpp: Remove now invalid template explicit
2429 instanciation of _Bs_G that is no more a template.
2430
2431 * stlport/stl/config/_detect_dll_or_lib.h: When no iostreams mode,
2432 consider that we are in a static lib mode.
2433
2434 * stlport/stl/_limits.c, _hashtable.c: Add _STLP_CALL specification
2435 to _LimG and _Stl_prime methods implementation.
2436
2437 * stlport/stl/_limits.c: Put _Stl_prime methods implementation in
2438 a _STLP_EXPOSE_GLOBALS_IMPLEMENTATION macro check block. Those
2439 methods are supposed to come from libs when using iostreams.
2440
2441 * stlport/stl/_num_put.h, _num_get.h, _time_facets.h, _ios.h,
2442 _ios_base.h: Cleanup Borland workaround now useless.
2443
2444 * stlport/stl/boost_type_traits.h: Fixed _OKToMemCpy implementation
2445 using boost type traits to be closer to the STLport behavior.
2446
2447 * build/lib/configure.bat: Fixed reference to STLport user
2448 configuration file.
2449
2450 * build/lib/configure: Add --use-boost option to inject boost
2451 path during build process.
2452
24532006-01-12 Petr Ovtchenkov <complement@users.sourceforge.net>
2454
2455 * stlport/stl/_rope.h, stlport/stl/_rope.c: pass CharConsumer
2456 via reference, to take into account CharConsumer modifications.
2457 This has relation to find(char) in rope. Thanks Cristian Vlasceanu.
2458
2459 * test/unit/rope_test.cpp: test for fixed bug above.
2460
24612006-01-11 Francois Dumont <dums@stlport...>
2462
2463 * src/bitset.cpp: Add stlport_prefix.h include.
2464
2465 * stlport/stl/_bitset.h: Add an inline implementation for _S_count
2466 and _S_first_one static methods for _STLP_NO_IOSTREAMS mode. Should
2467 be slower than version coming with library but avoid link trouble.
2468
24692006-01-11 Petr Ovtchenkov <complement@users.sourceforge.net>
2470
2471 * stlport/stl/_bitset.h, stlport/stl/_bitset.c, src/bitset.cpp:
2472 make helper structure _Bs_G non-template [it used only as instance
2473 with unused bool argument only], and put static tables into library
2474 to avoid possible static instances duplication.
2475
2476 * build/lib/Makefile.inc: idem.
2477
24782006-01-10 Francois Dumont <dums@stlport...>
2479
2480 * stlport/stl/type_traits.h, config/_msvc.h, _mwerks.h: Integrate
2481 intrinsic type traits support for Visual 2005 and Metrowerk. Code
2482 based on boost library information and not tested for Metrowerk.
2483
2484 * test/unit/bind_test.cpp: Fix BindTest::bind2nd3 test case, had
2485 never been used.
2486
2487 * stlport/stl/boost_type_traits.h: Change boost type traits wrapping
2488 implementation to use meta programming operation on types rather
2489 than on numerical constant, MSVC6 prefer it.
2490
2491 * build/test/unit/msvc.mak: Systematically add /Zm800 for MSVC
2492 compilers, useful in a number of case and transparent in others.
2493
2494 * test/unit/type_traits_test.cpp: Add is_POD test case. Add dummy
2495 constructors, assignment operator and destructor to any_type struct
2496 to make the tests pass even with compilers having intrinsic type
2497 traits support.
2498
24992006-01-09 Francois Dumont <dums@stlport...>
2500
2501 * stlport/stl/debug: Fix move constructor to keep the container
2502 move constructor complete. When STLport user do no require no
2503 extension or Standard debug safe mode, iterators are also move
2504 with the container contents.
2505
2506 * stlport/stl/_list.h, _slist.h, _tree.h: Made iterator struct
2507 constructor from base class pointer explicit to forbid expression
2508 like: list.begin() == 0.
2509
2510 * stlport/stl/pointers/_slist.h, _list.h, _set.h: Fix implementation
2511 that was using former implicit contructor from pointer to base class.
2512
2513 * src/c_locale_win32/c_locale_win32.c: Fix implementation for
2514 compilers coming with a native lib implementing secure C functions
2515 like strncpy_s.
2516
2517 * src/iostream.cpp: Hide I/O streams declaration when defining
2518 them when compiler has no support for removing I/O streams
2519 from static global variable initialization segment. Avoid the
2520 stdio_istreambuf using directive when we do not use STLport
2521 private namespace.
2522
2523 * stlport/stl/_rope.h, _rope.c: Use internal, not _STLP_NO_EXTENSIONS
2524 dependant functions for implementation.
2525
2526 * stlport/rope, hash_map, hash_set: Add _STLP_NO_EXTENSIONS check
2527 that generate a #error if defined as those headers are STLport
2528 extensions.
2529
2530 * stlport/_uninitialized.h: Add __uninitialized_copy_n no dependant
2531 against _STLP_NO_EXTENSIONS for rope implementation.
2532
2533 * test/unit: Made tests ok to build even when _STLP_NO_EXTENSIONS or
2534 _STLP_NO_ANACHONISM or _STLP_NO_CUSTOM_IO is defined.
2535
2536 * stlport/stl/_num_put.h, _num_get.h: Fix definition scope of
2537 _STLP_MOVE_TO_STD_NAMESPACE that was wrong when _STLP_NO_CUSTOM_IO
2538 is defined.
2539
2540 * stlport/stl/boost_type_traits.h: Fixed _IsRef implementation based
2541 on boost type traits feature.
2542
2543 * build/nmake/extern.mak, lib/msvc.mak, test/unit/msvc.mak,
2544 test/eh/msvc.mak: Moved injection of boost include path for all targets
2545 in extern.mak. Also removed a useless double quote as make variable already
2546 contains it.
2547
2548 * stlport/stl/config/_bc.h, test/unit/floatio_test.cpp, cmath_test.cpp,
2549 limit_test.cpp: Borland patch from Eric Sanford.
2550
2551 * test/unit/string_test.cpp: Add template_wexpression test to check
2552 wstring template expression.
2553
25542006-01-05 Francois Dumont <dums@stlport...>
2555
2556 * stlport/stl/_stdexcept.h: Fix __Named_exception destructor
2557 implementation when _STLP_NO_IOSTREAMS is defined or when
2558 securized C function strcpy_s exists.
2559
2560 * stlport/stl/pointers/_set.h: Fixed implementation as _Identity
2561 is now in private namespace and const_reverse_* functions must
2562 return const_reverse_* iterators and not simply reverse_*.
2563
2564 * test/unit/bcompos_test.cpp, bind_test.cpp: Made the tests usable
2565 when _STLP_NO_EXTENSIONS is defined.
2566
2567 * build/lib/configure.bat: Fix name of msvc8 compiler.
2568
2569 * test/unit/mfunptr_test.cpp: Ignore find test when no class
2570 partial template specialization rather than commenting it.
2571
2572 * test/unit/type_traits_test.cpp: Ditto for reference_type test.
2573
2574 * build/Makefiles/nmake/top.mak: Fixed install-shared definition.
2575
2576 * build/Makefiles/gmake/gcc.mak: Add _STLP_USE_STATIC_LIB when
2577 building and using STLport static lib under MinGW/Cygwin.
2578
25792006-01-04 Francois Dumont <dums@stlport...>
2580
2581 * src/acquire_release.h: New file, expose __acquire_*
2582 functions used in different translation unit.
2583
2584 * src/num_put.h: Removed, content moved to num_put.cpp that
2585 was the only translation unit using exposed functions.
2586
2587 * src/*: Build with Intel C++ 9 compiler reveal that many
2588 static specification was missing.
2589
2590 * src/ctype.cpp: Filter out _WCharIndexT specialization for
2591 Intel compiler that consider wchar_t as unsigned, fixed a
2592 warning.
2593
2594 * _STLP_STATIC_ASSERT is now called without trailing ';' that
2595 is already in the macro definition.
2596
2597 * src/*: Removed reference to _SgI namespace replaced by the
2598 STLport private namespace.
2599
2600 * src/iostream.cpp: Add iostream include to expose cout, cin, cerr
2601 definition to declaration.
2602
26032006-01-03 Francois Dumont <dums@stlport...>
2604
2605 * stlport/stl/config/_gcc.h: Force use of new/delete based
2606 allocator under Cygwin/MinGW, default node allocator has
2607 problem because __node_allocator static datas are sometimes
2608 duplicated in a dll context.
2609
26102006-01-01 Francois Dumont <dums@stlport...>
2611
2612 * build/Makefiles/gmake/lib/gcc.mak, stlport/stl/config/_gcc.h:
2613 Change way of building dll with Cygwin/MinGW. No more export of
2614 all symbols, we use dllexport specification, makes import lib
2615 really shorter and dll too. Moreover use of the
2616 enable-auto-image-base linker option to make load of dll faster.
2617
2618 * stlport/stl/_time_facets.c, _num_put.c, _num_get.c, _monetary.c,
2619 debug/_debug.c: Adapt existing Cygwin/MinGW workaround for new
2620 way of generating dlls.
2621
26222005-12-31 Francois Dumont <dums@stlport...>
2623
2624 * doc: Add Borland doc and update cygwin, mingw and msvc.
2625
2626 * build/lib/README.options: Removed, replaced by configrure
2627 script.
2628
2629 * build/test/eh/bcc.mak: Added to build EH tests for Borland.
2630
26312005-12-29 Francois Dumont <dums@stlport...>
2632
2633 * src/c_locale_win32/c_locale_win32.c: Hide _Locale_mbtowc and
2634 _Locale_wctomb when no wchar_t support is detected thanks Eric
2635 Sanford.
2636
2637 * src/c_locale_win32/c_locale_win32.c: Add mapping from Borland
2638 facet macros to STLport associated string representation array index
2639 thanks Eric Sanford.
2640
2641 * stlport/stl/config/_evc.h: Patch from Michael Fink to generalized
2642 use of OutputDebugString for Windows CE when we need to trace
2643 information.
2644
2645 * build/Makefiles/gmake/bcc.mak, lib/bcc.mak, app/bcc.mak: Fix
2646 definition of START_OBJ thanks armpit33
2647
2648 * build/Makefiles/*: Generalize use of install-shared rather than
2649 list of all shared rules, idem for install-static.
2650
26512005-12-27 Francois Dumont <dums@stlport...>
2652
2653 * stlport/stl/_string_io.c: Generalized use of _STLP_STATIC_ASSERT
2654 macro rather that hand writen static assertion.
2655
2656 * stlport/stl/_fstream.c, _istream.c, src/fstream.cpp, strstream.cpp:
2657 Add some cast to avoid Borland suspicious pointer arithmetic warnings
2658 thanks Eric Sanford.
2659
2660 * stlport/stl/_limits.c: Fix Borland definition of NaNs and infinity
2661 for long double thanks Eric Sanford.
2662
2663 * stlport/stl/config/_system.h, _gcc.h: Fix config for Windows, MinGW
2664 and Cygwin platforms.
2665
2666 * stlport/stl/config/_windows.h: Can now be included by a pure C
2667 compiler.
2668
2669 * stlport/stl/config/_warning_off.h: Removed suspicious pointer
2670 arithmetic warning for Borland thanks Eric Sanford.
2671
2672 * stlport/stl/_construct.h: Removed now useless Borland workaround.
2673
2674 * src/stdio_streambuf.cpp: Ditto.
2675
2676 * stlport/stl/_alloc.h: Now allocator is tagged as an STLport class
2677 even without partial template specialization support. This is
2678 necessary because type_traits is specialized for allocator<char>,
2679 allocator<wchar_t> and allocator<void*> when partial template
2680 specialization is not available.
2681
2682 * test/unit/bitset_test.cpp: Add tests for the STLport
2683 bitset::_Find_first extension.
2684
26852005-12-27 Petr Ovtchenkov <complement@users.sourceforge.net>
2686
2687 * src/initial_mak: obsolete makes removed (sync with STLPORT_5_0
2688 branch).
2689
26902005-12-24 Petr Ovtchenkov <complement@users.sourceforge.net>
2691
2692 * stlport/stl/config/_gcc.h: gcc, builded by Apple is differ
2693 in behavior from original; in particular, in path to includes;
2694
2695 * build/Makefiles/gmake/app/gcc.mak: fix gcc options on MacOS X;
2696 STLport is free from libstdc++ on MacOS now;
2697
2698 * build/Makefiles/gmake/gcc.mak: fix gcc options on MacOS X; gcc,
2699 builded by Apple is differ in behavior from original;
2700 detect this;
2701
2702 * build/Makefiles/gmake/lib/gcc.mak: fix gcc on MacOS X;
2703 differentiate gcc from Apple and original;
2704 STLport is free from libstdc++ on MacOS X now;
2705
2706 * build/Makefiles/gmake/darwin/rules-so.mak: use
2707 gcc instead of c++ for linkage, if only C sources present.
2708
2709 * build/lib/gcc.mak, build/test/unit/gcc.mak: remove duplication
2710 of stlport includes.
2711
27122005-12-22 Petr Ovtchenkov <complement@users.sourceforge.net>
2713
2714 * stlport/stl/config/_windows.h: all system specific configuration
2715 in one place [moved from stlport/stl/_windows.h]
2716
2717 * stlport/stl/_windows.h: deleted; all system specific configuration
2718 in one place [moved to stlport/stl/config/_windows.h]
2719
2720 * stlport/stl/debug/_debug.c, stlport/stl/_threads.h:
2721 _windows.h included via _prolog.h [i.e. via stl/config/_system.h],
2722 see changes above.
2723
2724 * stlport/stl/config/_sunprocc.h: remove include of _solaris.h---it
2725 already included from _system.h
2726
2727 * stlport/stl/config/_kai.h: remove include of os configuration files,
2728 it should be included from _system.h
2729
2730 * stlport/stl/config/_intel.h: fix path after config headers
2731 reorganization.
2732
2733 * stlport/stl/config/_evc.h: idem
2734
2735 * stlport/stl/_exception.h: idem
2736
2737 * stlport/stl/config/_prolog.h: idem
2738
2739 * test/unit/fstream_header_test.cpp: idem
2740
2741 * test/unit/iomanip_header_test.cpp: idem
2742
2743 * test/unit/ios_header_test.cpp: idem
2744
2745 * test/unit/iostream_header_test.cpp: idem
2746
2747 * test/unit/istream_header_test.cpp: ditto
2748
2749 * test/unit/locale_header_test.cpp: idem
2750
2751 * test/unit/ostream_header_test.cpp: idem
2752
2753 * test/unit/sstream_header_test.cpp: idem
2754
2755 * test/unit/strstream_header_test.cpp: idem
2756
27572005-12-21 Francois Dumont <dums@stlport...>
2758
2759 * stlport/stl/debug/_debug.h, _debug.c, _string_sum_methods.h:
2760 Removed some unused parameters reported by Borland compiler.
2761
2762 * stlport/stl/config/_warnings_off.h: Disable unused parameters
2763 warning for Borland compiler.
2764
2765 * build/Makefiles/gmake/targetdirs.mak: Change config in order to
2766 have each generated application in a different bin folder.
2767
2768 * stlport/stl/_threads.h: Used _STLP_STATIC_ASSERT macro for a
2769 static assertion.
2770
27712005-12-19 Petr Ovtchenkov <complement@users.sourceforge.net>
2772
2773 * build/Makefiles/gmake/lib/gcc.mak: move LDSEARCH flags after
2774 possible -nostdlib
2775
2776 * build/lib/gcc.mak: don't add include path, it already included.
2777
2778 * src/c_locale.h: include stlport_prefix.h to add STLport's
2779 definitions that used below.
2780
2781 * stlport/stl_user_config.h, stlport/stl/_config.h: moved
2782 to stlport/stl/config catalog and renamed.
2783
2784 * stlport/stl/_config_compat.h, stlport/stl/_site_config.h: ditto.
2785
2786 * stlport/config: headers moved to stlport/stl/config catalog,
2787 renamed and reorganized.
2788
2789 * stlport/stl/_prolog.h, stlport/stl/_epilog.h, src/stlport_prefix.h:
2790 reflect changes in configuration files.
2791
27922005-12-17 Francois Dumont <dums@stlport...>
2793
2794 * stlport/stl/_config.h: Removed ';' in _STLP_STATIC_ASSERT
2795 definition.
2796
2797 * stlport/stl/_cwctype.h: Fix native namespace of wide char functions
2798 for MinGW runtime <= 3.0. Also fix a typo for FreeBDS.
2799
2800 * src/stdio_streambuf.cpp: Add missing 'defined' when checking
2801 __OS400__ macro existance.
2802
2803 * test/unit/resolve_name.cpp, set_test.cpp: Removed useless ';'
2804 reported by remarks from Intel C++ compiler.
2805
28062005-12-16 Francois Dumont <dums@stlport...>
2807
2808 * stlport/stl/_rope.h: Moved overload of __identity_element for
2809 _Rope_Concat_fn in STLport private namespace where orginal function
2810 declaration is. Also moved _Rope_Concat_fn at the same time, much more
2811 many elements of _rope.h should be moved to this namespace...
2812
2813 * stlport/stl/_monetary.c: Change implementation of __money_do_put for
2814 Borland compiler, looks like this compiler do not like ternary operator.
2815
2816 * src/c_locale_win32/c_locale_win32.c: Replace check of category in
2817 __Extract_locale_name from > LC_ALL by != LC_ALL, there is no reason
2818 for LC_ALL to be upper or lower to all other categories.
2819
2820 * build/Makefiles/gmake/cygming/rules-so.mak: Segregate different
2821 compilers linker calls and add reference to START_OBJ in Borland
2822 linker invocation.
2823
2824 * build/Makefiles/gmake/lib/rules-a.mak, cygming/targetsys.mak: Borland
2825 archiver add option is now '+', before being invocated archive is always
2826 deleted to avoid warnings because the Borland archiver do not have a
2827 real add or replace module option.
2828
2829 * stlport/stl/type_traits.h: Fix for compiler simulating partial
2830 template specialization (VC6)
2831
2832 * test/eh/test_rope.cpp: Removed rope test for Borland.
2833
2834 * test/unit/exception_test.cpp: Commented tests are now ignored.
2835
2836 * test/unit/locale_test.cpp, string_test.cpp: No more ignored test
2837 for Borland.
2838
28392005-12-14 Petr Ovtchenkov <complement@users.sourceforge.net>
2840
2841 * build/Makefiles/gmake/sysid.mak: parse two-token target
2842 system identification string along with three-token one
2843 [useful when vendor is omitted]; thanks Jonathan Sprinkle.
2844
2845 * stlport/cwctype, stlport/stl/_cwctype.h: wctype_t and
2846 others are in global namespace on FreeBSD.
2847
2848 * build/Makefiles/gmake/app/gcc.mak, lib/gcc.mak: use build
2849 with -nostdlib on Solaris.
2850
2851 * src/cxa.c: fix for Solaris
2852
2853 * stlport/config/stl_solaris.h, stlport/stl/_cmath.h:
2854 hmm, strange... sometimes MATH_L and MATH_F present on Solaris,
2855 sometimes not...
2856
28572005-12-14 Francois Dumont <dums@stlport...>
2858
2859 * test/unit/cppunit/cppunit_mini.h, file_reporter.h: Add ignore
2860 test feature, now tests should be ignored rather than commented.
2861 2 new macros for that CPPUNIT_IGNORE to add in tests declaration,
2862 all test following this macro won't be run; CPPUNIT_STOP_IGNORE
2863 optional macro to stop ignoring tests.
2864
2865 * test/unit/fstream_test.cpp: Ignore custom_facet test when not
2866 supported rather than comment it.
2867
2868 * test/unit/hash_test.cpp: Ignore hmap1 test for Borland and Digital
2869 Mars compilers, looks like rope class is too complicated for those
2870 compilers.
2871
2872 * test/unit/locale_test.cpp: Ignore locale_by_name test for compiler
2873 without exceptions support. Ignore money facet tests for Borland.
2874
2875 * test/unit/mvctor_test.cpp, rope_test.cpp: Some tests ignored
2876 depending on various configuration settings.
2877
2878 * test/unit/type_traits.cpp: Add test for _IsSTLportClass metaprogramming
2879 tool. Ignored for Borland.
2880
2881 * test/unit/unordered_test.cpp: Fix test for Digital Mars, unordered
2882 containers value_type are not necessarily with an immutable key, it is
2883 more portable to use value type rather than redefining it in the test.
2884
2885 * test/unit/string_test.cpp: Removed Windows CE macro check replaced
2886 by WaitForMultipleObjects returned code check, more portable and
2887 maintenable. Ignore a test for Digital Mars compiler.
2888
2889 * stlport/stl/type_manips.h, type_traits.h: Simplified metaprograming
2890 tools implementation; now avoid compilation constant replaced by
2891 type, Borland compiler has problem with constants.
2892
2893 * stlport/config/stl_bc.h: Made supported compiler check more accurate
2894 free compiler is 5.5.1 so it is the oldest supported version. Borland
2895 compiler do not support IEC559 specifications.
2896
2897 * build/Makefiles/gmake/bcc.mak: Put startup .obj to link with in
2898 START_OBJ rather than LDLIBS, thanks Eric Sanford.
2899
2900 * src/c_locale_win32/c_locale_win32.c: Temporarily removed category
2901 check in __Extract_locale_name function for Borland, looks like LC_ALL
2902 or LC_MAX has not the right value.
2903
29042005-12-13 Francois Dumont <dums@stlport...>
2905
2906 * src/cxa.c: Add include of stlport_prefix.h first, this file
2907 should be always included first in STLport translation units,
2908 it prepares some compilers config and define important for Wins
2909 __BUILDING_STLPORT macro.
2910
29112005-12-13 Petr Ovtchenkov <complement@users.sourceforge.net>
2912
2913 * build/Makefiles/gmake/targetdirs.mak: built-in
2914 test in /bin/sh on Solaris has no -e, use external instead.
2915
29162005-12-11 Francois Dumont <dums@stlport...>
2917
2918 * build/Makefiles/gmake/bcc.mak : Add -w-eff to disable 'useless'
2919 code warning, we had to chose between this warning and the 'used
2920 parameter' one.
2921
2922 * build/Makefiles/gmake/targetdirs.mak: Removed comment about folder
2923 creation action under windows platform. The action is identical to
2924 the one used in the nmake build system and no one complains about it
2925 so current situation is not so bad. Only users of Windows before Windows
2926 98 should eperiment troubles, this is a known limitation.
2927
2928 * build/Makefiles/gmake/dmc.mak, cygming/rules-so.mak: Change config,
2929 now we directly invoke the linker, we do not use a compiler call for it.
2930
2931 * build/Makefiles/gmake/app/bcc.mak: Fix linker option in order to generate
2932 a windows executable and not a dll, thanks Eric Sanford.
2933
2934 * build/Makefiles/gmake/app/rules-install.mak: Add install dir dependency
2935 rather than doing a folder existence check in rules actions.
2936
2937 * build/Makefiles/gmake/app/rules.mak: Restore slash rotation for Borland
2938 linker invocation and fix static rules dependencies to guaranty folder
2939 creations.
2940
2941 * build/Makefiles/gmake/lib/bcc.mak: Add missing archiver page size parameters.
2942
2943 * build/test/unit/bcc.mak: Add _STLP_DEBUG_UNINITIALIZED for static
2944 debug rules.
2945
2946 * build/Makefiles/gmake/lib/rules-a.mak: Segregate each archiver invocation.
2947
29482005-12-09 Francois Dumont <dums@stlport...>
2949
2950 * build/lib/configure.bat: Add Borland compiler to compilers
2951 able to mix a dll build with a static native runtime.
2952
2953 * build/Makefiles/gmake/bcc.mak, dmc.mak: Complete libs to link
2954 depending on STLport configuration.
2955
2956 * build/Makefiles/gmake/targetdirs.mak: roll back modif from Petr
2957 2005-12-08
2958
2959 * build/Makefiles/gmake/targets.mak: ditto
2960
2961 * build/Makefiles/gmake/cygming/lib.mak: Fix for static libs build
2962 with compiler different than gcc.
2963
2964 * build/Makefiles/gmake/cygming/targetsys.mak: Add missing info for
2965 static libs build with Borland and Digital Mars compilers.
2966
2967 * build/Makefiles/gmake/lib/rules-a.mak: Fix static builds commands
2968 to use info of above point.
2969
2970 * build/Makefiles/gmake/lib/rules-install-a.mak: Add install rule
2971 for windows and missing catalog in dependency tree.
2972
2973 * build/Makefiles/gmake/windows/rules-install-so.mak: Add missing
2974 catalog dependency.
2975
29762005-12-09 Petr Ovtchenkov <complement@users.sourceforge.net>
2977
2978 * build/lib/Makefile.inc: add cxa.c into compilation; this
2979 is useful for FreeBSD 4.11 C++ ABI workaround.
2980
2981 * src/cxa.c: use _cxa_atexit and related functions on
2982 FreeBSD 4.11 [workaround for missed C++ ABI functions].
2983
29842005-12-08 Francois Dumont <dums@stlport...>
2985
2986 * stlport/stl/_auto_ptr.h: Add missing Standard throw() specification
2987 on all auto_ptr members.
2988
2989 * stlport/config/stl_mycomp.h: Removed recently introduce macro
2990 _STLP_DFLT_PARAM_INSTANCIATION_BUG, already existing _STLP_DONT_SUP_DFLT_PARAM
2991 is enough for the moment.
2992
2993 * stlport/stl/_stream_iterator.h: Small implementation change to make
2994 Digital Mars compiler happy.
2995
2996 * stlport/stl/_unordered_map.h: Digital Mars compiler do not like
2997 immutable keys in associative containers.
2998
29992005-12-08 Petr Ovtchenkov <complement@users.sourceforge.net>
3000
3001 * stlport/ctype.h: forward-declaration for _exception struct
3002 for WinCE/eVC3; prevents warning message
3003 ../include/stdlib.h(817) : warning C4115:
3004 '_exception' : named type definition in parentheses
3005 [Michael Fink's suggestion]
3006
3007 * stlport/float.h, stlport/limits.h, stlport/setjmp.h: idem.
3008
3009 * stlport/stdarg.h, stlport/string.h, stlport/stdio.h: idem.
3010
3011 * build/Makefiles/gmake/gcc.mak: check configuration macro
3012 WITHOUT_STLPORT [useful for tests]; force usage of stlport
3013 headers first otherwise.
3014
3015 * build/Makefiles/gmake/targetdirs.mak: fix catalogs creation
3016 procedure [loop through catalogs required]; comment problematic
3017 code when we have no good tools.
3018
3019 * build/Makefiles/gmake/lib/gcc.mak: fix typo [FreeBSD]; fix
3020 set of libraries when link for FreeBSD; fix typo in macro name
3021 [FreeBSD again].
3022
3023 * build/Makefiles/gmake/app/gcc.mak: fix set of libraries when
3024 link for FreeBSD; insert stlport lib in STDLIB set [when STLPORT
3025 in force], to avoid set one in application's makefile.
3026
3027 * build/test/unit/gcc.mak: explicit refrence to libstlport in
3028 this makefile not required more [see message above].
3029
3030 * build/Makefiles/gmake/lib/gcc.mak: remove names inherited from
3031 Complement project.
3032
3033 * build/Makefiles/gmake/*/rules-install-so.mak: installation
3034 catalog was missed in dependency tree; ident string removed
3035 to simplify merge/diff
3036
3037 * Build: building library and unit tests with cross [gcc 3.4.5]
3038 on Linux for FreeBSD 5.3 (except cwctype_test).
3039
3040 * build/Makefiles/gmake/targets.mak: rotate slashes for BCC.
3041
3042 * build/Makefiles/gmake/app/macro.mak: remove name contruction
3043 for program; rotate slashes for wins.
3044
3045 * build/Makefiles/gmake/app/rules-install.mak: remove name
3046 contruction for program.
3047
3048 * build/Makefiles/gmake/app/rules.mak: remove name contruction
3049 for program; objects for static and for dynamic are the same.
3050
30512005-12-04 Francois Dumont <dums@stlport...>
3052
3053 * src/num_put_float.cpp: Filter inclusion of stdint.h, required for
3054 Digital Mars compiler, forbidden for Sun platform.
3055
3056 * stlport/stl/_cwctype.h: wide types and function are in global
3057 namespace.
3058
3059 * build/test/unit/gcc.mak: Modify cygwin/mingw config now that
3060 default settings for those platform is shared library.
3061
3062 * build/Makefiles/gmake: Add support of static targets, used
3063 especially for Borland C++ Compiler and Digital Mars Compiler.
3064
3065 * build/Makefiles/gmake/app/gcc.mak: Fix typo in FreeBSD
3066 configuration.
3067
30682005-12-02 Francois Dumont <dums@stlport...>
3069
3070 * stlport/config/stl_msvc.h: Fixed configuration detection when building
3071 STLport dll based on a static native runtime.
3072
3073 * stlport/stl/_locale.h: Fix warning convertion from size_t to
3074 __stl_atomic_t that can be of lower size.
3075
3076 * stlport/config/stl_gcc.h, doc/README.mingw, README.cygwin: Made dll
3077 default settings under cygwin/mingw.
3078
30792005-12-01 Francois Dumont <dums@stlport...>
3080
3081 * stlport/stl/_mbstate_t.h: Add workaround for alpha bad WCHAR_MIN and
3082 WCHAR_MAX definition.
3083
3084 * stlport/config/stl_gcc.h: Configure STLport for alpha platform as not
3085 supporting iec559 specification as quiet nan is not correct. If someone
3086 find the right value then this config will have to be rollbacked.
3087
3088 * build/Makefiles/gmake/gcc.mak: Restored Sun OS support that use the
3089 -pthreads option and not -pthread
3090
3091 * build/Makefiles/nmake/lib/macro.mak: Fixed library name generation
3092 when using cross runtime version thanks Alexey Ivanov report.
3093
30942005-11-29 Francois Dumont <dums@stlport...>
3095
3096 * stlport/stl_user_config.h: Add _STLP_LIB_NAME_MOTIF macro to give
3097 users a point of customization of the automatic linking feature.
3098
3099 * build/Makefiles/nmake/lib/macro.mak, gmake/cygming/lib.mak: Use
3100 STLP_BUILD_LIB_MOTIF in library name generation algorithm. Also take
3101 into account cross builds in library name generation.
3102
3103 * build/lib/configure.bat: Add --lib-motif option to give users a
3104 way to customize the generated library names.
3105
3106 * test/eh: Generalized use of msvc.mak rather than all the nmake-vc??.mak
3107 files. Idem for evc.mak instead of nmake-evc?.mak and icl.mak instead of
3108 nmake-icl.mak.
3109
3110 * stlport/stl/_exception.h: Change _msvc_warnings_off.h include in
3111 _warnings_off.h as this file now also turn off Borland warnings.
3112
3113 * stlport/config/_detect_dll_or_lib.h: Mutualization of code used to
3114 detect current STLport type of build or usage (dll or static lib).
3115
3116 * stlport/config/stl_msvc.h, stl_bc.h, stl_dmc.h: Integration of
3117 _detect_dll_or_lib.h
3118
3119 * stlport/config/_auto_link.h: Change auto link algo when we detect
3120 cross STLport usage that is to say use of STLport as a dll link with
3121 static native runtime or opposite.
3122
31232005-11-29 Petr Ovtchenkov <complement@users.sourceforge.net>
3124
3125 * src/cxa.c: mutex should be recursive-safe, due to __cxa_finalize
3126 may be called recursive.
3127
31282005-11-28 Francois Dumont <dums@stlport...>
3129
3130 * stlport/stl/_threads.h: Simplified expression used to instanciate
3131 _Atomic_swap_struct, gcc 2.95 had trouble with the one line expression.
3132
3133 * src/dll_main.cpp: Fix instanciation of _Swap_lock_struct that has been
3134 changed and renamed in _Atomic_swap_struct.
3135
3136 * test/unit/map_test.cpp, set_test.cpp: Simplified call to map constructor
3137 taking a functor and allocator instance, split it in a creation of a les<int>
3138 instance then passed to the constructor; gcc 2.95 had trouble with previous
3139 version.
3140
3141 * stlport/stl/_cmath.h, _cstdlib.h: Now those files includes each other to
3142 make sure that all abs overloads are defined when it is imported in STLport
3143 namespace. gcc 2.95 is very strict on this point and only consider the abs
3144 overloads existing at the first import calls, all overloads added after that
3145 are discarded silently.
3146
3147 * stlport/stl/_cmath.h: Removed unjustified abs function overloads done
3148 directly in STLport namespace for gcc 2.95 and before. Those overloads
3149 clashed on a Linux with gcc 2.95 from the sourceforge compiler farm.
3150
3151 * build/Makefiles/gmake/gcc.mak: Generalized definition of _REENTRANT under
3152 Linux to make detection of a multithreaded build from STLport code easier.
3153 Problem meet on an alpha linux platform from the sourceforge compiler farm.
3154
3155 * stlport/stl/_locale.h: Removed _M_delete locale::facet member variable,
3156 useless if facet instance reference counter is right.
3157
3158 * src/locale_impl.cpp, message.cpp: Change classic facets initialization code
3159 to simply set initial counter to 1 rather than incrementing it after construction.
3160
3161 * test/unit/evc.mak fix path to config file in existance check.
3162
3163 * stlport/stl/_move_construct_fwk.h, type_manips.h: Add workaround to use
3164 move constructor with Borland compiler.
3165
31662005-11-28 Petr Ovtchenkov <complement@users.sourceforge.net>
3167
3168 * build/Makefiles/gmake/targetdirs.mak: change names of .o output dirs
3169 to make bcc happy (bug with passing name that contain '-' from
3170 compiler to linker). Replacement: 'shared' -> 'so', 'static' -> 'ar',
3171 '-' -> '_' (i.e. obj/gcc/shared-stlg -> obj/gcc/so_stlg, a bit shorter)
3172 [Suggested by Francois Dumont].
3173
31742005-11-27 Petr Ovtchenkov <complement@users.sourceforge.net>
3175
3176 * build/Makefiles/gmake/targets.mak, app/rules.mak, linux/rules-so.mak:
3177 use gcc instead of c++ as linker if there are no C++ objects.
3178
3179 * src/cxa.c, build/misc/cxa_atexit/Makefile.inc, build/misc/cxa_atexit/gcc.mak:
3180 workaround for bugged __cxa_finalize; use builded libcxa.so in LD_PRELOAD or
3181 /etc/ld.so.preload in Linux system with bugged glibc. See also
3182 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24189
3183
31842005-11-27 Francois Dumont <dums@stlport...>
3185
3186 * stlport/stl/type_manips.h: Add import of __true_type and
3187 __false_type in STLport private namespace as the using namespace
3188 directive do not seems to be enough for latest gcc version.
3189
3190 * src/time_facets.cpp: Fix buffer size decrementation in __write_formatted_time
3191 function thanks Petr Ovtchenkov
3192
31932005-11-26 Francois Dumont <dums@stlport...>
3194
3195 * stlport/stl/_complex.h: Move implementation of generic abs, arg and polar
3196 after definition of double overload used in implementation. Thanks Kees de
3197 Bruin
3198
3199 * stlport/stl/_threads.h, _alloc.h, _alloc.c: Fix lock free node allocator
3200 implementation thanks Weis.
3201
3202 * stlport/stl/wrappers: Removed, no more maintained and complicated to fix
3203 with the debug and pointer specialization implementations.
3204
3205 * test/unit/stack_allocator.h: Creation of an allocator using a stack buffer.
3206 This allocator specificity is to not be stateless and not default constructible.
3207
3208 * test/unit/list_test.cpp, stlport/stl/_list.h, _list.c: Add of a test with the
3209 StackAllocator. Fix list implementation to correctly handle allocator state
3210 in the methods moving elements from a list instance to an other.
3211
3212 * stlport/stl/_carray.h: Creation of a new internal struct _CArray that mimic a C
3213 array with the additionnal feature of being able to be instanciated with a type
3214 without default constructor.
3215
3216 * stlport/stl/debug/_list.h: Adapt iterator invalidation according allocators
3217 compare result.
3218
3219 * test/unit/slist_test.cpp, stlport/stl/_slist.h, _slist.c: idem list.
3220
3221 * stlport/stl/_slist.h: Modification of the splice_after methods signature. Users
3222 now have to pass the source slist instance, this is mandatory in order to compare
3223 the 2 slists allocator instance before moving an element from a slist instance to
3224 an other.
3225
3226 * stlport/stl/_string_base.h: Fix _M_swap implementation for basic_string instanciation
3227 with allocator having a state.
3228
3229 * stlport/stl/_list.c, _slist.c: sort methods now throw an overflow exception when lists
3230 are too long to be sorted with the current algorithm. This is preferable to a buffer
3231 overrun.
3232
3233 * stlport/stl/_alogobase.c: Small equal_range optimization, upper_bound is not called
3234 anymore when lower_bound returned value is already not equivalent to the search value.
3235
3236 * build/Makefiles/gmake: Add build system for Digital Mars and Borland C++ compilers
3237
3238 * build/lib/configure.bat: Add following options
3239 --use-boost
3240 --not-thread-safe
3241 --no-rtti
3242 see script for explanation. --mingw removed, detected with --compiler option, if
3243 gcc, dmc or bcc then we are using MinGW tools.
3244
3245 * build/lib/configure: Add --not-thread-safe option
3246
3247 * build/Makefiles: Add build options to generate not thread safe libs and no rtti libs,
3248 all compilers option has not been updated.
3249
3250 * stlport/c*: Modification of C++ headers wrapping C ones. All code moved to internal
3251 headers in stlport/stl folder. Internal headers are only included if include comes from
3252 user code otherwise only native header is included. Limit dependency between STLport
3253 headers relations and native library once. Reported by problem building with Borland
3254 compiler.
3255
3256 * test/unit/cppunit/cppunit_mini.h: Replace cstring include with string.h to avoid
3257 references to std namespace in headers, should be more portable. Add typedef Base
3258 definition in CPPUNIT_TEST_SUITE macro, used in calls to base class methods, help
3259 Borland.
3260
3261 * Generalize use of secure string functions (strcpy_s for instance) for MSVC compilers
3262 supporting it and tagging former versions like deprecated. The pragma warning that used
3263 to disable this warning has been removed.
3264
3265 * stlport/BC50: Removed, no necassry anymore for supported Borland compiler versions.
3266
3267 * stlport/stl/debug: Implementation modification, now debug wrapper agregate a non debug
3268 instance rather than inheriting from it. Makes debug implementation clearer as we are now
3269 forced to implement the complete containers interfaces.
3270
3271 * stlport/stl/pointers: Fix implementation in order to support Standard compilers
3272 not accepting cast from function pointer to void*.
3273
3274 * *: Reinforce use of STLport private namespace (stlp_priv or stlport::priv) for all
3275 internals algorithms.
3276
32772005-11-21 Francois Dumont <dums@stlport...>
3278
3279 * Fix classic locale facet initial reference counter thanks
3280 Cabal
3281
32822005-11-20 Petr Ovtchenkov <complement@users.sourceforge.net>
3283
3284 * src/num_put.h: check that incoming string has enough
3285 digits for fractional part processing. This check includes
3286 check for empty incoming string. (Thanks Leonardo [leoapsilva]
3287 for the bug report).
3288
3289 * stlport/stl/_monetary.c: fix processing the case when
3290 number of digits in value less then number of digits in fraction.
3291
3292 * src/facets_byname.cpp: international currency symbol should
3293 be the first (not depends upon where currency symbol situated in
3294 the national format).
3295
3296 * test/unit/locale_test.cpp: tests for reproducing this problems.
3297
32982005-11-20 Gail Baker <baker88@users.sourceforge.net>
3299
3300 * build/Makefiles/gmake/CC.mak: Updated compiler option
3301 to compile larger inline functions inline.
3302
3303 * build/Makefiles/gmake/lib/CC.mak: Changed how the header
3304 file linking is done to only do it once instead of with
3305 every compile.
3306
3307 * build/lib/README: include instructions for SunPro compiler.
3308
3309 * build/test/unit/CC.mak: allow the STLP_DEBUG version to compile.
3310
33112005-11-19 Petr Ovtchenkov <complement@users.sourceforge.net>
3312
3313 * stlport/stdlib.h: replace C++ comments by C, to satisfy -ansi
3314 option of compiler.
3315
33162005-11-18 Francois Dumont <dums@stlport...>
3317
3318 * build/Makefiles/nmake/lib/rules-install-so.mak,
3319 app/rules-install-so.mak: Add copy of manifest file when exist
3320 rather than when compiler is Visual Studio 2005.
3321
3322 * src/stdio_streambuf.cpp: Removed warning for EVC 3 and 4 thanks
3323 Michael Fink patch.
3324
3325 * stlport/stl/math.h, stdlib.h: Fix EVC3 warning thanks Michael Fink
3326 patch.
3327
3328 * doc/README.evc3: doc update from Michael Fink.
3329
3330 * stlport/*, stlport/*, tests/*: Clean up of trailing blank charaters
3331 in all source files.
3332
33332005-11-17 Gail Baker <baker88@users.sourceforge.net>
3334
3335 * build/Makefiles/gmake/CC.mak, depend.mak, app/CC.mak, lib/CC.mak:
3336 support of SunPro 5.7 compiler.
3337
3338 * build/lib/CC.mak: ditto
3339
3340 * stlport/stl/_rope.c: Removed extra semi-colons.
3341
3342 * stlport/stl/_rope.h: Sunpro compiler had a problem with
3343 the __ROPE_DEPTH_SIZE macro doing an addition. Changed to
3344 a fixed value instead.
3345
3346 * stlport/cstdlib: Updated to allow the compiler to find abs and div
3347
3348 * stlport/config/stl_sunpro.h: Disabled _STLP_LINK_TIME_INSTANTIATION
3349 since this nolonger works with current files. The issue here is that
3350 a number of defines that are required in the C versions of the files
3351 use defines that are undefed at the end of the include. So, when
3352 the compiler finally compiles the C version at link time the defines
3353 are lost and the files don't compile. Also added a minor change
3354 to allow files that are compiled with cc to include stl_sunpro.h
3355 without bailing out.
3356
3357 * stlport/stl/_bvector.h: Added stl/_range_errors.h required by
3358 an exception that can be called.
3359
3360 * stlport/stl/_cmath.h: Changed to pull all math functions from std
3361 namespace for SunPro compiles only.
3362
3363 * test/unit/fstream_test.cpp: Added SunPro compile to the list
3364 of compilers that don't use the DO_CUSTOM_FACET_TEST.
3365
3366 * test/unit/string_test.cpp: Added Sun UI Threads to the list
3367 of supported thread types in the test.
3368
3369 * test/unit/valarray_test.cpp: The compiler was having trouble
3370 finding abs(). Added a "using std::abs" for the SunPro compiler
3371 which solved the problem.
3372
3373 * test/unit/cppunit/cppunit_mini.h: Added additional using statements
3374 for the str* commands.
3375
3376 * test/unit/cppunit/test_main.cpp: Added "using namespace std;"
3377 for the SunPro compiler.
3378
3379 * build/test/unit/CC.mak: support of SunPro 5.7 compiler
3380
33812005-11-17 Francois Dumont <dums@stlport...>
3382
3383 * stlport/stl/_messages_facets.h, src/messages.cpp: Move message facet
3384 constructor private to guaranty that it is only called from the _Locale_impl
3385 class for classic locale facets creation. Change constructor implementation
3386 as now passed _Message instance is dynamically instanciated so needs to be
3387 destroy on facet destruction; moreover the facet is also dynamically allocated
3388 and has to be destroyed when reference counter reach 0.
3389
3390 * src/locale_impl.cpp: Removed call to now useless free_classic_locale function.
3391 Change make_classic_locale implementation, now classic locale facets are
3392 allocated on the heap and have to be destroyed like any ordinary facets
3393 when reference counter reach 0.
3394
33952005-11-15 Petr Ovtchenkov <complement@users.sourceforge.net>
3396
3397 * stlport/stl/_tree.h: check iterator returned from lower_bound
3398 in equal_range_unique for end, to avoid increment [useful when
3399 key not available].
3400
3401 * test/unit/map_test.cpp: test for problem above.
3402
34032005-11-09 Francois Dumont <dums@stlport...>
3404
3405 * build/test/eh/gcc.mak: Fix build system for Cygwin/MinGW systems that
3406 was broken since library naming convention modification.
3407
34082005-11-07 Michael Fink <vividos@users.sourceforge...>
3409
3410 * build/lib/configure.bat: Fixed configuring for Visual Studio .NET 2003.
3411 Fixed jump target names for Win9x OSes: they must be 8 characters or
3412 shorter.
3413
34142005-11-07 Michael Fink <vividos@users.sourceforge...>
3415
3416 * build/Makefiles/nmake/evc3.mak, build/Makefiles/nmake/evc4.mak,
3417 build/lib/configure.bat, stlport/config/stl_evc.h: Added check if
3418 using x86 emulator configuration; using of proper include paths in
3419 case.
3420
3421 * doc/README.evc4: Documentation update
3422
34232005-11-01 Petr Ovtchenkov <complement@users.sourceforge.net>
3424
3425 * Repository: STLport 5.0, tag STLPORT_5_0_RELEASE
3426
3427 * Repository: merge HEAD and STLPORT_5_0 branch.
3428
3429 * build/Makefiles/gmake/app/rules-install.mak: install-shared rule
3430 added (patch by Michael Fink).
3431
3432 * build/Makefiles/gmake/lib/rules-install-a.mak: install-static rule
3433 added (patch by Michael Fink).
3434
34352005-10-12 Francois Dumont <dums@stlport...>
3436
3437 * stlport/stl/_threads.h, _threads.c: Fix regression for some platforms
3438 introduce by modification of _Atomic_swap_ptr implementation thanks
3439 Albrecht Fritzche.
3440
34412005-10-09 Petr Ovtchenkov <complement@users.sourceforge.net>
3442
3443 * repository: RC6, tag STLPORT_5_0_RC6
3444
34452005-10-09 Francois Dumont <dums@stlport...>
3446
3447 * stlport/config/stl_gcc.h: DEC alpha has not *l math functions
3448
34492005-10-08 Francois Dumont <dums@stlport...>
3450
3451 * stlport/stl/_config.h: Add endianess specification for DEC alpha thanks
3452 sourceforge compiler farm.
3453
3454 * stlport/config/stl_intel.h: Remove reference to _STLP_GLOBAL_NEW_HANDLER
3455 in this file as this macro depends on native Standard library which is
3456 the back end MSVC compiler one so macro set in stl_msvc.h.
3457
34582005-10-07 Francois Dumont <dums@stlport...>
3459
3460 * build/Makefiles/gmake/darwin/sys.mak, freebsd/sys.mak: Fix EXT_TEST
3461 definition to test rather than /usr/bin/test thanks sourceforge
3462 compiler farm.
3463
34642005-10-05 Francois Dumont <dums@stlport...>
3465
3466 * build/Makefiles/nmake/vc-common.mak: Remove /Fd option for the icl
3467 compiler that do not know it.
3468
34692005-10-04 Francois Dumont <dums@stlport...>
3470
3471 * stlport/stl/debug/_list.h: Fix resize method implementation in safe
3472 STL mode thanks Ethan Fenn report.
3473
3474 * test/unit/list_test.cpp: Add test case for list::resize method.
3475
3476 * build/Makefiles/nmake/lib/rules-install-a.mak, app/rules-install-a.mak:
3477 Install .pdb files only if exist, Intel C++ compiler do not generate them
3478 when building static libraries. Thanks Albrecht Fritzsche
3479
3480 * stlport/stl/_ostream.h, _ostream.c: Move _M_init function implementation
3481 from .c to .h as .c is not included when _STLP_NO_CUSTOM_IO is defined
3482 but _M_init might not be exported if compiler fully inline it.
3483
34842005-10-03 Francois Dumont <dums@stlport...>
3485
3486 * stlport/stl/_tree.h: Fix _S_value method definition that returns
3487 a value_type& rather than the reference typedef as reference might be,
3488 depending on the traits used to instanciate _Rb_tree, equivalent to
3489 a const_reference.
3490
34912005-09-30 Francois Dumont <dums@stlport...>
3492
3493 * INSTALL, README, doc/FAQ, doc/README.msvc: Documentation updates.
3494
3495 * doc/stlport_namespaces.txt: Small doc about STLport namespaces and how
3496 STLport replace native Standard library.
3497
34982005-09-26 Francois Dumont <dums@stlport...>
3499
3500 * build/*: Finished _STLP_LEAKS_PEDANTIC clean up from all make files.
3501
35022005-09-25 Francois Dumont <dums@stlport...>
3503
3504 * build/test/unit/gcc.mak: Remove _STLP_LEAKS_PEDANTIC option when building
3505 unit tests as this option is not defined when building the libs.
3506
35072005-09-22 Petr Ovtchenkov <complement@users.sourceforge.net>
3508
3509 * build/Makefiles/gmake/sysid.mak: add underscore in architecture recognition,
3510 to parse targets like x86_64-unknown-linux-gnu.
3511
35122005-09-21 Francois Dumont <dums@stlport...>
3513
3514 * src/locale.cpp, facets_byname.cpp: Use of _STLP_ATOMIC_INCREMENT rather than
3515 a lock on a mutex when the macro is available.
3516
35172005-09-21 Petr Ovtchenkov <complement@users.sourceforge.net>
3518
3519 * src/locale_impl.cpp: some internal functions used before declared.
3520 Thanks Thomas Kho for report.
3521
35222005-09-20 Francois Dumont <dums@stlport...>
3523
3524 * stlport/stl/_string.h, _string_workaround.h: code refactoring, substr method
3525 now use string constructor taking same parameters rather than the range
3526 constructor, thanks Felix Wyss report. Also add missing allocator parameter
3527 for non stateless allocators.
3528
3529 * build/Makefiles/gmake: Restore resource build for Cygwin and MinGW, add
3530 it for Windows.
3531
3532 * build/lib/configure.bat: Add --extra-cxxflag to inject additional compilation
3533 option in the nmake build system.
3534
35352005-09-20 Petr Ovtchenkov <complement@users.sourceforge.net>
3536
3537 * test/unit/ptrspec_test.cpp: gcc 2.95 fail to roll out template instantiation
3538 for pointers to member function, skip this test for gcc 2.95.
3539
3540 * build/Makefiles/gmake/gcc.mak: gcc 2.95 has no -fuse-cxa-atexit option.
3541
3542 * build/lib/gcc.mak: don't use LEAK_PEDANTIC with gcc 2.95 [but this not help,
3543 segfault at program termination still happens].
3544
3545 * stlport/config/stl_gcc.h: gcc 2.95 has problem with llabs, so force to use
3546 _STLP_NO_VENDOR_STDLIB_L; 2.95 fails to initialize builtin types.
3547
3548 * stlport/stl/_cmath.h: workaround for gcc 2.95---it has problem with 'using'
3549 directive [problem with 'abs' with float types as argument].
3550
3551 * stlport/stl/type_traits.h: workaround for gcc 2.95 [parentheses around
3552 template argument]. Thanks Thomas Kho.
3553
3554 * test/unit/fstream_test.cpp: custom facet test compilation fail for gcc 2.95
3555
3556 * build/Makefiles/gmake/icc.mak, build/test/unit/icc.mak: support icc 9.0,
3557 thanks John Fisher-Ogden and Thomas Kho.
3558
3559 * src/c_locale_glibc/c_locale_glibc2.c: use newlocale/freelocale for
3560 glibc 2.3.x, and __newlocale/__freelocale for glibc 2.2.x. Thanks Gail Baker.
3561
35622005-09-19 Francois Dumont <dums@stlport...>
3563
3564 * build/Makefiles/nmake/clean.mak, lib/clean.mak, app/clean.mak: Add check
3565 for file or folder existance before calling del or rd to avoid error
3566 messages that give a bad feed back to STLport users.
3567
3568 * build/Makefiles/gmake: Add support to use the GNU make tool in a Windows
3569 cmd console. For the moment it is used to build STLport using a simple
3570 MinGW distrib.
3571
3572 * stlport/stl/type_traits.h: Simplified code removing the _IsConvertibleIfNot
3573 that has never proved of being useful, it only introduces problem with some
3574 limited compilers.
3575
3576 * stlport/stl/_string_workaround.h, _string.h, debug/_string.h: Fix string
3577 range constructor bug in the VC6 specific workaround implementation that was
3578 resulting in a memory leak. Thanks Felix Wyss report.
3579
35802005-09-18 Petr Ovtchenkov <complement@users.sourceforge.net>
3581
3582 * stlport/stl/_hash_fun.h: add hash function for void *.
3583
3584 * src/facets_byname.cpp, src/message_facets.h: introduce map between
3585 nl_catd type [that is void * on Linux] and messages_base::catalog
3586 [that is int by Standard]; this should remove problems on platforms
3587 where sizeof(int) < sizeof(void *).
3588
35892005-09-16 Francois Dumont <dums@stlport...>
3590
3591 * stlport/cwchar: Add MinGW 3.8 runtime wide-char to multi-byte functions
3592 import within STLport namespace thanks Rene Riviera.
3593
35942005-09-14 Francois Dumont <dums@stlport...>
3595
3596 * stlport/config/stl_gcc.h: Mingw support string wide functions thanks
3597 Rene Riviera report.
3598
35992005-09-13 Petr Ovtchenkov <complement@users.sourceforge.net>
3600
3601 * stlport/stl/_thread.h: fix return type specification
3602 [volatile void * -> void *].
3603
36042005-09-12 Francois Dumont <dums@stlport...>
3605
3606 * stlport/stl/_thread.h: Fix _Atomic_swap_ptr implementation in single
3607 threaded mode and when there is no pointer atomic swap operation.
3608
3609 * stlport/stl/_site_config.h: Add _STLP_NO_CYGWIN macro to signal use
3610 of the -mno-cygwin cygwin option.
3611
3612 * build/lib/configure: Remove automatic generation of stlport/script_config.h.
3613
36142005-09-11 Petr Ovtchenkov <complement@users.sourceforge.net>
3615
3616 * build/Makefiles/gmake/sysid.mak: provide identification hosted platform.
3617
3618 * build/Makefiles/gmake/targetdirs.mak: CygWin/MinGW has no /usr/bin/test,
3619 but built-in test support -e; see record 2005-09-04.
3620
3621 * build/Makefiles/top.mak: separate hosted platform and target platform
3622 file extentions, tools, utilites.
3623
3624 * build/Makefiles/gmake/?/sys.mak, build/Makefiles/gmake/?/targetsys.mak:
3625 ditto.
3626
36272005-09-09 Francois Dumont <dums@stlport...>
3628
3629 * src/c_locale_win32.c: Fix _Locale_wchar_[tolower,toupper] implementation
3630 which was wrong when wint_t was not the same typedef as wchar_t.
3631
3632 * build/lib/configure: Removed obsolete configure options --with-msvc and
3633 --with-mssdk. And --no-cygwin option to make build of STLport using -mno-cygwin
3634 option easier.
3635
3636 * stlport/script_config.h: New header used to put additionnal macros defined
3637 by the configure script.
3638
3639 * stlport/stl/_config.h: Add script_config.h include.
3640
3641 * stlport/config/stl_gcc.h: Use of the new _STLP_NO_CYGWIN macro to set
3642 the right _STLP_NATIVE_INCLUDE_PATH macro value.
3643
3644 * build/Makefiles/gmake/gcc.mak: Change CC and CXX assignment from := to
3645 ?= to take into account an already existing definition.
3646
36472005-09-07 Francois Dumont <dums@stlport...>
3648
3649 * build/Makefiles/gmake: Adopt a more traditionnal unixes naming
3650 convention for cygwin and mingw.
3651
3652 * build/Makefiles/nmake: Attempt to make STLport library names more
3653 coherent between unixes and windows systems. Now windows use the 5.0
3654 extension like under unixes even if under unixes the file extension
3655 is before the 5.0 and under windows it will be after. The other
3656 difference is that the debug suffix is 'g' when using gcc and 'd' for
3657 the other compilers. This modification comes from a work to improve
3658 STLport integration within boost build system, bjam.
3659
3660 * stlport/config/stl_msvc.h: Modify MSVC auto link feature to reflect
3661 above modifications.
3662
36632005-09-06 Francois Dumont <dums@stlport...>
3664
3665 * stlport/config/stl_gcc.h: Fix cygwin config that do have native
3666 mbstate_t definition.
3667
36682005-09-05 Petr Ovtchenkov <complement@users.sourceforge.net>
3669
3670 * repository: RC5, tag STLPORT_5_0_RC5
3671
36722005-09-04 Petr Ovtchenkov <complement@users.sourceforge.net>
3673
3674 * build/Makefiles/gmake/targetdirs.mak: in sh's built-in 'test' no -e
3675 option on Solaris, use external 'test' instead.
3676
3677 * build/test/unit/gcc.mak: Fix LDSEARCH recursive problem; fix
3678 options for ld search path for some platforms.
3679
3680 * stlport/cstdlib, stlport/stl/_cmath.h: fix usage of native
3681 ?f and ?l math functions on Solaris; hypot for long double should't
3682 loose precision, if no native C function present.
3683
36842005-09-02 Francois Dumont <dums@stlport...>
3685
3686 * stlport/config/stl_msvc.h, stl/_move_construct_fwk.h: Add the
3687 _STLP_NO_MOVE_SEMANTIC configuration macro to remove move semantic
3688 support for MSVC .Net 2002 that seems to be unable to support it.
3689 Maybe we should rather remove this compiler version support...
3690
3691 * test/unit/mvctor_test.cpp: Add _STLP_NO_MOVE_SEMANTIC check.
3692
36932005-08-31 Francois Dumont <dums@stlport...>
3694
3695 * build/Makefiles/nmake: Enhance nmake build system to correctly take
3696 into account the .manifest files generated by VS 2005 Beta.
3697
36982005-08-29 Petr Ovtchenkov <complement@users.sourceforge.net>
3699
3700 * CVS repository: CVS repository master copied from cvs.stlport.com to SourceForge.
3701 All history preserved!
3702
37032005-08-27 Francois Dumont <dums@stlport...>
3704
3705 * stlport/stl/_hashtable.h: Fix move feature integration for the hash_multimap
3706 container.
3707
3708 * stlport/stl/_deque.h: Fix _Deque_base move constructor implementation.
3709
3710 * test/unit/mvctor_test.cpp: Change move constructor tests to use dynamically
3711 allocated string rather than static ones.
3712
3713 * build/test/unit/nmake-vc6.mak: Increase compiler maximum heap size to allow
3714 compilation with stldbg rules.
3715
3716 * build/test/unit/nmake-evc4.mak: Fix macro typo OPT_STLDBG_STATIC ->
3717 OPT_STATIC_STLDBG
3718
3719 * build/Makefiles/gmake/gcc.mak: Filter out the newly added -fuse-cxa-atexit
3720 compilation option for Cygwin and Mingw, the granted libc is not compatible
3721 with it.
3722
37232005-08-26 Petr Ovtchenkov <ptr@island...>
3724
3725 * stlport/config/stl_solaris.h: C++ comments replaced by C ones,
3726 this file may be included by C sources. Thanks Matti Rintala.
3727
37282005-08-25 Francois Dumont <dums@stlport...>
3729
3730 * stlport/stl/_config.h, _epilog.h: Move of stlport namespace alias
3731 definition from _epilog.h to _config.h to avoid redefinition as _epilog.h
3732 is reentrant. This is a workaround for a HPUX aCC compiler bug reported
3733 by Baker.
3734
37352005-08-25 Petr Ovtchenkov <ptr@island...>
3736
3737 * build/Makefiles/gmake/gcc.mak: usage of -fuse-cxa-atexit strongly
3738 required for correct order of static objects dtors calls. This is
3739 used in deinitialization of locale-related objects. Thanks Matti Rintala.
3740
3741 * stlport/stl/_config.h: use different namespaces for mulithreaded
3742 and non-multithreaded builds to avoid usage of non-multithreaded
3743 application with multithreaded libstlport and vice versa;
3744 [combination non-mt & mt lead to crash due to different instances
3745 and sizes of allocators for non-mt and mt cases].
3746
37472005-08-23 Francois Dumont <dums@stlport...>
3748
3749 * stlport/stl/_config_compat.h: Add check of _STLP_NO_OWN_IOSTREAMS
3750 macro to make remove of its support more explicit thanks to a #error
3751 directive.
3752
3753 * stlport/stl/_tree.h, _hashtable.h: Now reference and pointer types
3754 are taken from the _Traits template parameter used to instanciate
3755 the class. Doing so now set::reference and hash_set::reference are
3756 const_reference which is coherent with respective iterators that are
3757 immutable. Moreover it fixes a VC6 bug in reverse_iterator implementation
3758 that was trying to transform a const reference to a simple reference
3759 thanks Russell Miller report.
3760
3761 * test/unit/set_test.cpp: New test case for set reverse_iterator.
3762
37632005-08-23 Petr Ovtchenkov <ptr@island...>
3764
3765 * stlport/config/stl_gcc.h: seems HP-UX has no *f variants of math
3766 functions [ceilf, fabsf, etc.]
3767
37682005-08-21 Francois Dumont <dums@stlport...>
3769
3770 * stlport/stl/_string.h, _rope.h: Removed __move_traits specialization
3771 for string wstring crope and wrope. There is no reason to believe that
3772 its move construtor will be complete as an STLport user has the right
3773 to specialized the std::allocator<> with char or wchar_t.
3774
3775 * stlport/stl/_function_base.h, _alloc.h: Generalized use of the
3776 __stlport_class struct rather than introducing a new helper type
3777 (__stlport_less or __stlport_alloc) when we need to recognize STLport
3778 implementation from a user one.
3779
37802005-08-20 Francois Dumont <dums@stlport...>
3781
3782 * stlport/stl/_list.h, _slist.h: Fix move constructor implementation
3783 thanks Henrik Goldman (www.x-formation.com) report.
3784
3785 * stlport/stl/_alloc.h: Fix type_traits specialization for allocator
3786 type. Now specialization is only apply for the default STLport allocator
3787 implementation and not for potential user specialization.
3788
3789 * stlport/stl/_deque.h, _hashtable.h, _string.h, _tree.h, _vector.h:
3790 Simplification of the move framework application especially in the
3791 definition of the containers __move_traits specialization. Many
3792 _AsMoveSource call replaced by explicit call to the move constructor
3793 when we are sure that there is one.
3794
3795 * test/unit/mvctor_test.cpp: Add many tests to check move contructor
3796 implementations.
3797
3798 * stlport/stl/_function_base.h: Add type_traits specialization for the
3799 less functor to help the move framework when dealing with associative
3800 containers.
3801
3802 * test/unit/mvctor_test.cpp: Add a new test case checking correct move
3803 semantic support for all STL containers.
3804
3805 * stlport/stl/_rope.h: Add move semantic support to the rope class.
3806
38072005-08-19 Petr Ovtchenkov <ptr@island...>
3808
3809 * build/Makefiles/gmake/gcc.mak: fix extraction of gcc version.
3810 Thanks Thomas Kho.
3811
38122005-08-18 Francois Dumont <dums@stlport...>
3813
3814 * stlport/stl/_deque.c: Fix _M_erase range for movable types method
3815 implementation, same bug as below in vector.
3816
3817 * test/unit/mvctor.cpp: Improve test case on vector to reveal bug
3818 below and add same tests for deque which is the other container that
3819 use the move contructor feature.
3820
38212005-08-18 Petr Ovtchenkov <ptr@island...>
3822
3823 * INSTALL: add some words about multithread options and libraries.
3824
3825 * stlport/stl/_fstream.c: some code clean to reduce bogus compiler
3826 warnings with -Wall.
3827
3828 * stlport/config/stl_gcc.h: seems HP-UX has no llabs and lldiv.
3829
38302005-08-17 Francois Dumont <dums@stlport...>
3831
3832 * stlport/stl/_vector.h: Fix _M_erase range for movable types
3833 implementation thanks Sergej Zagursky.
3834
3835 * build/Makefiles/nmake/vc8.mak: removed /RTC1 compiler option, the platform
3836 SDK compiler do not support it. STLport users will just have to activate it
3837 by themself if they want to.
3838
3839 * stlport/stl/_complex.h: Fix some floating point literals thanks
3840 Ulrich Eckhardt report.
3841
3842 * stlport/stl/_time_facets.c: Complete integration of the '#' MS extension
3843 in the date/time format string, reported thanks to the recent locale time_get
3844 new test case.
3845
38462005-08-14 Francois Dumont <dums@stlport...>
3847
3848 * stlport/config/stl_msvc.h: Fix platform SDK compiler config, even latest
3849 version that announce to be similar to .Net 2005 beta do not throw bad_alloc
3850 from the new operator.
3851
3852 * stlport/cstdio, cstdlib: Replaced some _WIN64 checks by a
3853 _STLP_USING_PLATFORM_SDK_COMPILER check.
3854
3855 * test/unit/cmath_test.cpp: Complete test filtering for Microsoft platform SDK
3856 compiler.
3857
38582005-08-14 Petr Ovtchenkov <ptr@island...>
3859
3860 * test/unit/locale_test.cpp: tests for time_get facet.
3861
3862 * stlport/stl/_time_facets.c: fix processing of %p format
3863 [12:00 PM ~ 12:00, 12:00 AM ~ 00:00].
3864
3865 * src/time_facets.cpp: substitute expanded equivalent format strings
3866 instead of %T, %R, %r.
3867
3868 * stlport/pthread.h: Fix C++ comment in a potentially C header. Thanks Ali
3869
38702005-08-11 Francois Dumont <dums@stlport...>
3871
3872 * stlport/stl_user_config.h: Add _STLP_USING_PLATFORM_SDK_COMPILER so that
3873 STLport user can signal they are using platform SDK compiler.
3874
3875 * stlport/config/stl_msvc.h: Add use of _STLP_USING_PLATFORM_SDK_COMPILER.
3876
3877 * test/unit/cmath_test.cpp, valarray_test.cpp: Removed tanh calls when using
3878 AMD 64 platform SDK compiler, looks like they miss something...
3879
38802005-08-09 Francois Dumont <dums@stlport...>
3881
3882 * src/fstream.cpp: Final fix of basic_filebuf::open method. Now when open
3883 from a Win32 handle the file will be considered as in binary access with no
3884 append action.
3885
38862005-08-08 Francois Dumont <dums@stlport...>
3887
3888 * src/fstream.cpp: Fix annoying 64 warning and basic_filebuf::open method
3889 from a low level file descriptor or from an HANDLE (not yet complete).
3890 Thanks Yves Maliet report.
3891
38922005-08-07 Francois Dumont <dums@stlport...>
3893
3894 * test/unit/inner_product.cpp: Fix 64 bits portability warning.
3895
3896 * test/unit/cmath_test.cpp: Removed modf tests for Windows 64 platform
3897 as the SDK is missing the underlying modff implementation.
3898
3899 * stlport/cstdlib: Add a div function definition which is missing in the
3900 Windows 64 SDK.
3901
3902 * stlport/cstdio: Add vsnprintf definition which is missing in Windows
3903 64 SDK.
3904
3905 * stlport/exception: Add flexibility for definition of vendor terminate
3906 and uncaught_exception function namespace. Can now be defined independantly
3907 of the unexpected_exception namespace.
3908
3909 * src/dll_main.cpp: Removed explicit turn off of optimization for Microsoft
3910 compilers after .Net 2003. There were no comment to explain why optimizations
3911 were turned off so I guess it was a compiler bug. .Net 2003 being a major
3912 new version I hope this bug has vanish with this version.
3913
3914 * src/fstream.cpp: Removed static assertion for windows file handle to be 32
3915 bits. Under Windows 64, even if the API is still 32 bits handles are still
3916 defined as void*. We will see when code will run under a real Windows 64 platform
3917 if it is a problem.
3918
3919 * stlport/config/stl_msvc.h: Add configuration for Windows 64 Platform SDK.
3920 Expecially add automatic link to bufferoverflowU.lib to avoid modification
3921 of STLport build system and STLport users projects.
3922
39232005-08-06 Petr Ovtchenkov <ptr@island...>
3924
3925 * src/c_locale_glibc/c_locale_glibc2.c: add explicit type conversion
3926 to avoid warnings on 64-bits platforms; thanks Thomas Kho and
3927 Karol Szkudlarek for report.
3928
39292005-08-05 Francois Dumont <dums@stlport...>
3930
3931 * stlport/stl/_valarray.h: Add missing _debug.h header inclusion for
3932 _STLP_ASSERT macro definition.
3933
3934 * stlport/stl/debug/_hashtable.h: Fix typo in hashtable move constructor.
3935 Thanks arabesc report.
3936
39372005-08-05 Petr Ovtchenkov <ptr@island...>
3938
3939 * doc/FAQ: some words about cross-compilation.
3940
39412005-08-04 Francois Dumont <dums@stlport...>
3942
3943 * stlport/stl/_hashtable.c: Fix erase(range) implementation thanks
3944 arabesc.
3945
3946 * test/unit/hash_test.cpp: Add new test for previous fix.
3947
39482005-08-04 Petr Ovtchenkov <ptr@island...>
3949
3950 * stlport/csetjmp: sometimes, if native setjmp.h was included first,
3951 the setjmp functions situated in global namespace, not in vendor's
3952 std. This may confuse following csetjmp.
3953
3954 * test/unit/setjmp_header_test2.cpp: test for this.
3955
3956 * build/test/unit/Makefile.inc: ditto.
3957
39582005-08-03 Francois Dumont <dums@stlport...>
3959
3960 * INSTALL document updated to signal no longer support of the
3961 'wrapper' mode.
3962
39632005-08-02 Petr Ovtchenkov <ptr@island...>
3964
3965 * stlport/stl_user_config.h, stlport/stl/_site_config.h:
3966 fix some obsolete comments.
3967
39682005-07-31 Petr Ovtchenkov <ptr@island...>
3969
3970 * test/unit/math_aux.h, cmath_test.cpp: are_equals moved into
3971 math_aux.h to reuse in other tests.
3972
3973 * test/unit/sstream_test.cpp: check input to float, inspired by
3974 Jeff Williams.
3975
39762005-07-27 Francois Dumont <dums@stlport...>
3977
3978 * stlport/iomanip, stl/_algo.h: Removed some persistent occurences
3979 of __in and __out keywords reserved by Microsoft.
3980
3981 * stlport/stl/_pthread_alloc.c: Fix annoying warning reported by gcc.
3982
3983 * stlport/config/stl_msvc.h: Fix _STLP_VENDOR_UNEXPECTED_STD macro
3984 definition to empty rather than '1'. Could have produce a compilation
3985 error with compilers like Intel C++ used with the VC6 native Standard
3986 library.
3987
3988 * stlport/queue, stl/_ctraits_fns.h, _hashtable.h, _numeric.h, _string.h
3989 _tree.h: Fix macro guards used to avoid inclusion of _function.h or
3990 _function_base.h or functional thanks Dinesh Monga report.
3991
39922005-07-26 Petr Ovtchenkov <ptr@island...>
3993
3994 * doc/FAQ: description of pseudo-leaks, thanks Michael Fink.
3995
3996 * STLport (repository): STLport 5.0 RC4
3997
39982005-07-25 Francois Dumont <dums@stlport...>
3999
4000 * stlport/config/stl_evc.h: Move _DEBUG definition fix up before
4001 stl_msvc.h inclusion to have correct library link automatically.
4002 Thanks Michael Fink.
4003
40042005-07-24 Francois Dumont <dums@stlport...>
4005
4006 * stlport/stl/_string.c, _rope.c: Add instanciation of npos for all
4007 compilers thanks Simon.
4008
4009 * test/unit/string_test.cpp: Add creation of a reference to string::npos
4010 to force compiler to generate memory for it. Used to reveal a link error.
4011
4012 * test/unit/cppunit/cppunit_mini.h: Removed redondant semi column in
4013 CPPUNIT_TEST_SUITE_REGISTRATION macro definition.
4014
4015 * stlport/config/stl_msvc.h, stl_intel.h: Concidering that compilers
4016 emulating MSVC compilers use the same native Standard Library headers
4017 macros _STLP_NEW_PLATFORM_SDK and _STLP_NO_VENDOR_STDLIB_L has been moved
4018 outside the _STLP_MSVC scope. _STLP_GLOBAL_NEW_HANDLER is now defined
4019 only for Intel compiler versions before 9.0.
4020
4021 * stlport/cstdlib, stl/_cmath.h: Because of the previous remark about
4022 emulators of MSVC using MSVC headers, macro checks for global definition
4023 of C math functions has been changed from _STLP_MSVC to _MSC_VER.
4024
40252005-07-23 Michael Fink <vividos@users.sourceforge...>
4026
4027 * test/unit/locale_test.cpp: Added creating locale pointer in
4028 test_supported_locale() when no exception handling is available.
4029
4030 * src/stlport.rc: Added version info defines when not available through
4031 windows.h. Happens on evc3 MIPS and evc3 SH3.
4032
40332005-07-23 Francois Dumont <dums@stlport...>
4034
4035 * stlport/stl/_string_sum.h: Fix missing return statement in a compare
4036 method.
4037
40382005-07-22 Francois Dumont <dums@stlport...>
4039
4040 * stlport/stl/_algo.c: Fix search_n implementation for random access
4041 iterator thanks Jim Xochellis
4042
4043 * test/unit/algo_test.cpp: Add test case for the previous bug thanks
4044 Michael Fink.
4045
4046 * src/num_get_float.cpp: Fix gcc Mingwin and Cygwin special version with
4047 building with -O2 option.
4048
4049 * build/Makefiles/gmake/gcc.mak: Add -D_REENTRANT definition for cygwin and
4050 -mthreads for mingwin platform to make STLport thread safe like under the
4051 other supported platforms.
4052
40532005-06-30 Petr Ovtchenkov <ptr@island...>
4054
4055 * stlport/wchar.h, src/c_locale.c, stlport/stl/_threads.h: fix Netware
4056 wcs... functions.
4057
40582005-06-30 Francois Dumont <dums@stlport...>
4059
4060 * stlport/stl/_rope.h, _rope.c: Duplicate basic_string::npos definition code
4061 in rope implementation to use a "Standard" static const npos definition when
4062 possible depending on the compiler features. Thanks caldwed report.
4063
40642005-06-30 Michael Fink <vividos@users.sourceforge...>
4065
4066 * stlport/cstdlib, stdlib.h: Fixed issue with including stdlib.h after
4067 setjmp.h; fix from 2005-06-23 wasn't solving the problem.
4068
40692005-06-28 Francois Dumont <dums@stlport...>
4070
4071 * stlport/stl/_hash_func.h: For MSVC .Net compiler we grant the hash<size_t>
4072 specialization rather than the hash<unsigned int> one to avoid 64 bits
4073 warnings when instanciating a hashed container with the size_t key.
4074
4075 * stlport/stl/_istream_iterator.h: Modify istream_iterator implementation
4076 to avoid the default read from the istream even if the istream_iterator
4077 instance is not used.
4078
4079 * test/unit/istmit_test.cpp: Add many tests for the copy_n/istream_iterator
4080 combination. Those tests are no active for the moment as they are failing,
4081 will be fixed after 5.0 release.
4082
4083 * build/test/unit/nmake-vc-common.mak: Tests are no more built with the
4084 _STLP_NO_CUSTOM_IO option, see reason below.
4085
4086 * test/unit/fstream_test.cpp: Add custom_facet test to check that STLport
4087 support instanciation of basic_fstream with something else that the std::char_traits
4088 For the moment the test fail when we try to use the stream for I/O operations
4089 should be fixed after 5.0 release.
4090
40912005-06-27 Francois Dumont <dums@stlport...>
4092
4093 * src/locale_impl.cpp: Fix locale implementation to avoid to call facet
4094 destructor when user explicitely required not to do so.
4095
4096 * stlport/stl/_fstream.c: Fix _M_setup_codecvt method implementation to avoid
4097 a bad_cast exception on basic_filebuf construction. At this point the locale
4098 used to instanciate it is the classic locale that might not have the necessary
4099 codecvt facet. The user is then force to call imbue after basic_filebuf
4100 construction otherwise I/O operations will fail. When imbue is invoked, if
4101 the locale still do not have the necesary facet, the stream is put in the fail
4102 state. Thanks Alexander Pototskiy
4103
41042005-06-26 Francois Dumont <dums@stlport...>
4105
4106 * stlport/stl/_config_compat.h: Add _STLP_OWN_IOSTREAMS macro for backward
4107 compatibility with library checking it.
4108
41092005-06-23 Francois Dumont <dums@stlport...>
4110
4111 * src/complex.cpp, complex_trig.cpp, complex_exp.cpp: Removed code
4112 duplication between float, double and long double version thanks to
4113 some template functions. Thanks an Ulrich Eckhardt idear.
4114
4115 * stlport/cstdlib, stl/stdlib.h: Michael Fink patch to avoid setjmp.h
4116 inclusion problem as stdlib.h contains a setjmp macro definition.
4117
4118 * test/eh/main.cpp: Redirection of std::cout and std::cerr for WinCE
4119 thanks Michael Fink
4120
4121 * stlport/config/stl_evc.h: Restore long double support for WinCE, there
4122 is just no *l math functions. Only define _STLP_NATIVE_INCLUDE_PATH
4123 if not already defined, giving the user a chance to override the defaults
4124 for yet unknown SDKs. Thanks Michael Fink and Ulrich Eckhardt.
4125
4126 * build/Makefiles/nmake/evc3.mak, evc4.mak: removed unneeded set of CC
4127 for SHx; already done by setup batch. Thanks Michael Fink.
4128
41292005-06-21 Francois Dumont <dums@stlport...>
4130
4131 * stlport/stl/_ios.h, _ios_base.h, _num_get.c, _num_put.c, _complex.c,
4132 _istream.c, _time_facets.c: Fix cast expression for the cached facets,
4133 C casts replaced by static_cast and const added when missing.
4134 Thanks Oliver Stoeneberg report.
4135
4136 * test/unit/unary.h: Replaced old STLport with new style ones. Get sqrt
4137 function in global namespace rather than forcing use of the one in std
4138 namespace, avoids ambiguity with VC6.
4139
4140 * test/unit/resolve_name.cpp: Add _STLP_DO_IMPORT_CSTD_FUNCTIONS definition
4141 at the top of it to force import of C symbols in std even for limited
4142 compilers like VC6.
4143
4144 * stlport/stl/_valarray.h: Add global namespace scope to C function calls
4145 to avoid VC6 ambiguity problem.
4146
41472005-06-20 Francois Dumont <dums@stlport...>
4148
4149 * stlport/config/stl_gcc.h: Fix gcc 3.4.4 detection under cygwin thanks
4150 Ulrich Eckhardt report.
4151
4152 * stlport/stl/c_locale.h: Fix _Locale_mask_t definition for Mingwin.
4153
4154 * src/c_locale_win32/c_locale_win32.c: Add static assertion to check
4155 _Locale_mask_t size.
4156
4157 * src/complex_exp.cpp: Replaced complex log10 function static variables
4158 with global constant, avoid multithreaded init problem. Thanks Ulrich
4159 Eckhardt report.
4160
41612005-06-17 Francois Dumont <dums@stlport...>
4162
4163 * stlport/stl/_alloc.h: Add initialization of the memory buffer in
4164 allocator::allocate function and reset in allocator::deallocate to
4165 the _STLP_SHRED_BYTE motif when _STLP_DEBUG_UNINITIALIZED is defined
4166 to help track missing initialization issue.
4167
4168 * src/dll_main.cpp: Removed now useless _Node_alloc_helper class.
4169
4170 * stlport/stl/_alloc.c: Add complete cleanup of the __node_alloc static
4171 datas in the _S_chunk_dealloc method, this is important if the clean up
4172 occur before STLport shared lib is unloaded.
4173
4174 * stlport/stl/_alloc.c: Add a static instance of __node_alloc_cleaner in the
4175 _S_alloc_call method and change init number of allocation to 1 to force
4176 release of memory pool only on shared library unload.
4177
41782005-06-11 Francois Dumont <dums@stlport...>
4179
4180 * stlport/cstdlib, stl/_cmath.h: Add _STLP_NO_CSTD_FUNCTION_IMPORTS macro
4181 check before import of global C functions in STLport namespace. Required
4182 for VC6 compiler to avoid ambiguity issue.
4183
4184 * src/complex.cpp, complex_epx.cpp, complex_trig.cpp: Scope math function
4185 call with the global namespace to avoid VC6 ambiguity issue. It is safe
4186 for the other compilers as STLport do define those function in global
4187 namespace.
4188
41892005-06-10 Francois Dumont <dums@stlport...>
4190
4191 * stlport/stl/c_locale.h: Fix Cygwin configuration, separate alpha mask
4192 from lower and upper one to avoid all lower character to also be upper
4193 and opposite.
4194
4195 * src/ctype.cpp: Add static assertion to detect platform where
4196 alpha = lower | upper which is wrong for STLport use.
4197
41982005-06-10 Francois Dumont <dums@stlport...>
4199
4200 * stlport/stl/_hashtable.c: Fix max_load_factor management, Standard says
4201 that load_factor <= max_load_factor and not <; the function detecting need
4202 for rehash used to launch one even if the number of bucket do not change which
4203 was counter performant. Fix the _M_insert_noresize method that was breaking
4204 element order inserting elements in the middle of 2 equal elements.
4205 Thanks Dieter Freismuth report.
4206
4207 * stlport/config/stl_gcc.h: Fix relative include path for latest gcc cygwin
4208 package.
4209
42102005-06-10 Petr Ovtchenkov <ptr@island...>
4211
4212 * build/Makefiles/gmake/mwccnlm.mak: fix compiler version collection.
4213
4214 * build/Makefiles/gmake/netware/extern.mak: fix useful paths.
4215
4216 * src/c_locale.c: put here wrappers for some wfuncs, due to bogus
4217 system libs in Netware.
4218
4219 * stlport/cwchar: use STLport's wchar.h to take wchar_t/wint_t for
4220 Netware.
4221
4222 * stlport/wchar.h: use correct C declaration of some wfuncs, thanks
4223 again to ugly Netware libs.
4224
4225 * stlport/ciso646, stlport/iso646.h, stlport/wctype.h: headers absent
4226 for Novell Netware.
4227
4228 * stlport/cwctype: Metrowerks define __MSL__, but we don't use MSL libs
4229 if we have STLport for Netware.
4230
4231 * stlport/cstdlib: div function from Novell Netware clib and libc lead to
4232 system crash.
4233
42342005-06-08 Francois Dumont <dums@stlport...>
4235
4236 * build/test/unit: Removed references to the now useless CPPUNIT_MINI
4237 macro.
4238
4239 * test/unit/type_traits_test.cpp: Add new test case for trivial destructor
4240 detection.
4241
4242 * stlport/stl/_fstream.h: Add missing basic_fstream construction from a
4243 Win32 file handle, was already done for basic_ifstream and basic_ofstream,
4244 thanks Alex Cosealin report.
4245
42462005-06-07 Francois Dumont <dums@stlport...>
4247
4248 * build/test/unit/Makefile.inc: Fix syntax error at last line.
4249
42502005-06-06 Petr Ovtchenkov <ptr@island...>
4251
4252 * build/lib/configure: add config options for Metrowerks compiler for
4253 Novell NetWare platform [references to root of MW headers/libs and to Novell's
4254 SDK headers/libs].
4255
4256 * build/Makefiles/gmake/mwccnlm.mak: fixes for Metrowerk/NetWare.
4257
4258 * build/Makefiles/gmake/app/mwccnlm.mak: idem.
4259
4260 * build/Makefiles/gmake/netware/extern.mak: idem.
4261
4262 * build/lib/mwccnlm.mak: idem.
4263
4264 * build/test/unit/mwccnlm.mak: idem.
4265
42662005-06-03 Francois Dumont <dums@stlport...>
4267
4268 * test/unit/locale_test.cpp: Remove the very platform dependent LColl
4269 class that was listing supported locales. STLport already do so and
4270 report it using a runtime_error exception when not supported. When
4271 compiler do not support exception only the C locale is checked.
4272
4273 * build/Makefiles/nmake: Patches from Michael Fink to
4274 - check platform before linking to crtrtti.lib
4275 - check right configuration when using a nmake-evc?.mak file
4276 - update STATUS file.
4277
42782005-06-02 Francois Dumont <dums@stlport...>
4279
4280 * src/c_locale_win32/c_locale_win32.c: Add workaround for a Windows PSDK bug
4281 concerning currency international symbol, the separation character is missing.
4282
4283 * src/locale_impl.h, locale_impl.cpp: Fix implementation to make classic locale
4284 implementation a normal instance that is released when the counter reach 0, the
4285 only difference is that no delete is performed on this instance. Idem for classic
4286 locale implementation facets.
4287
4288 * stlport/cwctype: And _GLIBCPP_USE_WCHAR_T check when using GLibC as in this
4289 case wide char functions are not imported in std and must be imported from the
4290 global namespace.
4291
42922005-06-01 Francois Dumont <dums@stlport...>
4293
4294 * src/locale_impl.h, locale_impl.cpp: Change classic locale initialization
4295 implementation for limited compiler like MSVC6.
4296
42972005-06-01 Petr Ovtchenkov <ptr@island...>
4298
4299 * stlport/stl/c_locale.h: check gcc on MacOS X. Patch by Zdenek Nemec
4300
4301 * build/Makefiles/nmake/evc3.mak, evc4.mak, targets.mak:
4302 support SH3/SH4 platform. Patch by Michael Fink.
4303
4304 * build/Makefiles/nmake/app/evc3.mak, evc4.mak: ditto.
4305
4306 * build/Makefiles/nmake/lib/evc3.mak, evc4.mak: ditto.
4307
4308 * build/lib/configure.bat, src/stlport.rc: ditto.
4309
43102005-05-30 Francois Dumont <dums@stlport...>
4311
4312 * src/locale_impl.h, locale_impl.cpp, stlport/stl/_locale.h: An other pass
4313 throught the classic locale initialization. Now all needed static variables
4314 are in _Locale_impl::make_classic_locale method. Removed useless _Stl_aligned_buffer
4315 union use in this locale initialization. Removed now useless _Locale_impl::free_classic_locale
4316 method.
4317
43182005-05-30 Petr Ovtchenkov <ptr@island...>
4319
4320 * stlport/stl/_windows.h: worry about Windows CE when check Interlocked
4321 API for MIPS. Patch by Michael Fink.
4322
4323 * build/lib/configure.bat: remove the -p option by autodetecting platform.
4324 Patch by Michael Fink.
4325
4326 * build/Makefiles/nmake/evc3.mak, evc4.mak: corrects the evc4 makefiles
4327 to always use the /GF switch [string pooling]. Patch by Michael Fink.
4328
4329 * doc/README.evc3, doc/README.evc4: reflect changes above.
4330 Patch by Michael Fink.
4331
4332 * stlport/errno.h, stlport/time.h: when building for evc, including
4333 errno.h and time.h often outputs the message in the #pragma statement
4334 that including this file won't include the native one, since there is no
4335 native include file. Now the text is only output when not building the library
4336 and when the file is included directly, not via another STLport header file.
4337 [Patch by Michael Fink.]
4338
43392005-05-29 Francois Dumont <dums@stlport...>
4340
4341 * test/unit/locale_test.cpp: Add opendir returned value when listing
4342 installed locale under linux.
4343
4344 * build/Makefiles/gmake: Patch from Zdenek Nemec for Mac OS X support.
4345
43462005-05-27 Francois Dumont <dums@stlport...>
4347
4348 * src/locale_impl.cpp: Add an initialization segment specification to make
4349 global static variable ios_base::Init instance initialization prioritized
4350 compare to STLport static global variable. iostreams like cout can be used
4351 in global static variable initialization.
4352
43532005-05-26 Francois Dumont <dums@stlport...>
4354
4355 * build/Makefiles/nmake/evc4.mak: Patch from Ulrich Eckhardt to use CC
4356 environment variable defined by WCE*.bat script rather than redefining
4357 it.
4358
4359 * src/locale.cpp, locale_impl.cpp, locale_catalog.cpp: New pass to move
4360 static global variable in function to make initialization order clear.
4361
43622005-05-25 Francois Dumont <dums@stlport...>
4363
4364 * stlport/ciso646: Creation of this missing C++ standard header STLport
4365 wrapper.
4366
4367 * stlport/stl/_istream.h, _num_get.c, _algo.c, _monetary.c, _time_facets.h,
4368 _time_facets.c: Replaced occurences of __in and __out reserved by Microsoft.
4369
43702005-05-24 Francois Dumont <dums@stlport...>
4371
4372 * stlport/headers: Patch from Michael Fink to avoid inclusion of headers
4373 not available under evc3.
4374
4375 * test/unit/*_header_test.cpp: Fix tests for no iostreams mode.
4376
4377 * src/locale_impl.cpp, locale_impl.cpp: Modify implementation to force
4378 correct initialization order of static instances.
4379
4380 * stlport/strstream: Add _ioserr.h file to avoid inclusion in no iostreams
4381 mode.
4382
43832005-05-23 Petr Ovtchenkov <ptr@island...>
4384
4385 * stlport/stl/_config.h: detect endianness for Intel's 64bit Pentium and
4386 Itanium processors. Thanks Albrecht Fritzsche for contribution.
4387
43882005-05-20 Francois Dumont <dums@stlport...>
4389
4390 * build/test/eh: Patch from Michael Fink to add EVC4 support for this test
4391 suite.
4392
4393 * src/fstream.cpp: Use of Wlodek Szafran implementation for the _Filebuf_base::_M_read
4394 method which is more performant than the previous one.
4395
4396 * test/unit/fstream_test.cpp: Add of a test for the special Win32 file format.
4397
4398 * test/unit: Add of many test to check Standard C/C++ headers independancy
4399 and correct C header implementation.
4400
44012005-05-18 Francois Dumont <dums@stlport...>
4402
4403 * src/fstream.cpp: Fix buffer overflow in _Filebuf_base::_M_read method
4404 for the Win32 platform implementation thanks Wlodek Szafran report.
4405
4406 * src/c_locale_dummy/c_locale_dummy.c: Patch from Michael Fink for wrong C
4407 prototype.
4408
44092005-05-17 Petr Ovtchenkov <ptr@island...>
4410
4411 * test/unit/locale_test.cpp: some fixes in moneypunct test, related
4412 to international currency format; some problems still remains, due to
4413 unclear specifications---if international currency 3-chars abbreviation
4414 used in suffix form, additional space will be appended
4415 ['1 234.56 RUR ']. This is due to intl_fmp.curr_symbol() == "RUR ",
4416 and the last is conform to OpenGroup spec.
4417
44182005-05-16 Petr Ovtchenkov <ptr@island...>
4419
4420 * src/c_locale_stub.cpp: "stub" implemntation moved into
4421 c_locale_dummy/c_locale_dummy.c, this file removed
4422
4423 * src/c_locale.c: include c_locale_dummy/c_locale_dummy.c, in case of
4424 no real locale implementation.
4425
4426 * src/c_locale_dummy/c_locale_dummy.c: This is a "stub" implementation
4427 of the "c_locale.h" interface, intended for operating systems where
4428 we have not yet written a real implementation. A C++ library using
4429 this stub implementation is still standard-conforming, since
4430 the C++ standard does not require that any locales other
4431 than "C" be supported.
4432
4433 * build/lib/Makefile.inc: src/c_locale_stub.cpp removed.
4434
4435 * src/facets_by_name.cpp: add comments in the _Init_monetary_formats.
4436
4437 * src/c_locale_glibc/c_locale_glibc2.c: annotate some monetary-related
4438 functions.
4439
44402005-05-14 Petr Ovtchenkov <ptr@island...>
4441
4442 * build/Makefiles/gmake/aCC.mak: HP's aCC compiler and HP-UX os support.
4443 This isn't really checked and should be fixed on real system.
4444
4445 * build/Makefiles/gmake/app/aCC.mak, gmake/lib/aCC.mak: ditto.
4446
4447 * build/Makefiles/gmake/hp-ux/extern.mak, lib.mak: ditto.
4448
4449 * build/Makefiles/gmake/hp-ux/rules-install-so.mak, rules-so.mak: ditto.
4450
4451 * build/Makefiles/gmake/hp-ux/gmake/hp-ux/sys.mak: ditto.
4452
4453 * build/lib/aCC.mak: ditto.
4454
4455 * build/test/unit/aCC.mak: ditto.
4456
4457 * build/test/unit/gcc.mak: remove dbg-shared tag from default build;
4458 if you need unit tests with debug info and without _STLP_DEBUG, make this
4459 tag explicitly.
4460
44612005-05-14 Francois Dumont <dums@stlport...>
4462
4463 * stlport/stl/_config.h, _config_compat_post.h, _cwchar.h, _epilog.h:
4464 Patch from Albrecht Fritzsche to remove C++ comment from files accessible
4465 by a pure C compiler.
4466
4467 * stlport/stl/c_locale.h: idem.
4468
4469 * src/c_locale.h, c_locale_glibc/c_locale_glibc2.h: idem.
4470
4471 * src/gcc_localeinfo.h, c_locale_win32/c_locale_win32.c: idem.
4472
4473 * build/Makefiles/gmake/gcc.mak: Add the -ansi option to the C compiler
4474 command to know if any regression occur concerning use of C++ comment
4475 in C files.
4476
44772005-05-13 Francois Dumont <dums@stlport...>
4478
4479 * src/c_locale_win32/c_locale_win32.c: Improve the locale name recognition
4480 system to be more unix compliant. Now you can pass locale name like
4481 lang_country[.codepage] with lang being one of the ISO 639 values and
4482 country one of the ISO 3166 ones.
4483
4484 * test/unit/locale_test.cpp: Add a test case for the ctype facet.
4485
4486 * test/unit/locale_test.cpp: Now list all the installed locales under
4487 Win32 to test more locale than the simple french one.
4488
4489 * stlport/config/stl_msvc.h: Removed _WINDLL macro check when trying
4490 to guess what type of library (dynamic/static) the STLport user want
4491 to link with. _WINDLL is defined when generating a dll but it do not
4492 imply anything on the user wish.
4493
4494 * src/ctype.cpp: Improve the ctype::scan_is method, you can now scan
4495 for a character conforming to several ctype_base::mask and not only to one.
4496
4497 * src/ctype.cpp: Idem previous for ctype::scan_not which returns the first
4498 character that do not conform to any of the passed mask.
4499
4500 * test/eh: Restore exception handling test suite. Removed some equality
4501 tests that is no more valid for hash containers, this kind of test
4502 is better in the unit tests. Add makefiles for MSVC compilers.
4503
4504 * stlport/stl/_tree.c: Fix _M_insert method that was leaking in case of
4505 exception thrown by the comparison operator, reported by eh tests.
4506
45072005-05-09 Francois Dumont <dums@stlport...>
4508
4509 * stlport/stl/_ctype.h, src/ctype.cpp: Reenforce data encapsulation of the
4510 ctype<char> template specialization class. class static arrays
4511 _S_upper, _S_lower, _S_classic_table removed from the definition and hiden
4512 in the .cpp file.
4513
4514 * src/dll_main.cpp: Change _STLP_UNIX macro check in _STLP_PTHREADS check
4515 as per thread allocator is only supported if the Posix pthread API is used,
4516 thanks a Albrecht Fritzsche remarked.
4517
45182005-05-07 Francois Dumont <dums@stlport...>
4519
4520 * stlport/config/stl_gcc.h: Patch from John Smith for Mac OS X support.
4521
4522 * test/unit/locale_test.cpp: Idem previous.
4523
4524 * build/Makefiles/gmake/cygming/lib.mak, sys.mak: Import lib extension
4525 change from .lib to .dll.a for Mingw like under Cygwin. ld linker
4526 looks for .dll.a before .lib, avoid conflict with Cygwin lib.
4527
45282005-05-07 Petr Ovtchenkov <ptr@island...>
4529
4530 * stlport/errno.h: use C++ 'using' construction only for C++. Thanks Gary.
4531
4532 * build/Makefiles/gmake/lib/gcc.mak: option for libname for Darwin.
4533
4534 * build/Makefiles/gmake/app/mwccnlm.mak: build for Novell NetWare 5
4535 with MetroWerks 7 and 8 compilers.
4536
4537 * build/Makefiles/gmake/lib/mwccnlm.mak: ditto
4538
4539 * build/lib/mwccnlm.mak: ditto
4540
4541 * build/Makefiles/gmake/mwccnlm.mak: ditto
4542
4543 * build/Makefiles/gmake/netware/extern.mak: ditto
4544
4545 * build/Makefiles/gmake/netware/lib.mak, sys.mak: ditto
4546
4547 * src/_stdio_file.h, num_get_float.cpp, num_put_float.cpp: ditto
4548
4549 * stlport/cstdio, cwchar, cwctype, stdio.h, wchar.h: ditto
4550
4551 * stlport/config/stl_mwerks.h: ditto
4552
4553 * stlport/stl/_config.h, _fstream.h, _hashtable.c, _sstream.c: ditto
4554
4555 * stlport/stl/_threads.h, c_locale.h, char_traits.h: ditto
4556
4557 * build/Makefiles/gmake/sysid.mak: treat mwccnlm as cross-compiler,
4558 set correct TARGET_OS and OS-related macros.
4559
4560 * stlport/stl/_valarray.h: remove exhaustive this->.
4561
45622005-05-04 Francois Dumont <dums@stlport...>
4563
4564 * stlport/config/stl_msvc.h: Change configuration for MSVC .Net 2003 and
4565 2005 that seems to have a bug in the namespace management.
4566
4567 * stlport/stdlib.h: Add errno.h inclusion from this file for gcc mingw
4568 as this compiler version do define errno macro in stdlib.h as MSVC do.
4569
45702005-05-03 Francois Dumont <dums@stlport...>
4571
4572 * stlport/stl_user_config.h, stl/_site_config.h, config/stl_gcc.h, _prolog.h,
4573 _epilog.h: Use strict Ansi C comments (/**/) for headers accessible thought
4574 the STLport C headers.
4575
4576 * stlport/C headers: Cleaned from C++ style comments.
4577
45782005-05-02 Francois Dumont <dums@stlport...>
4579
4580 * build/Makefiles/nmake/vc-common.mak: Restore of LDFLAGS_A_REL introduce
4581 the 2004-10-30 and lost the 2005-04-16, it avoids warning due to use
4582 of the whole program optimization with VC.Net 2003 and 2005.
4583
4584 * stlport/stl/_string_io.c: Modification of the basic_string i/o operators
4585 in the way it deals with the size_type and streamsize difference; it is
4586 equivalent with the former one but do not generate warning with gcc
4587 (mingwin).
4588
4589 * stlport/stddef.h, stdlib.h, errno.h: Fix issue under MSVC compilers where
4590 native stdlib.h and stddef.h are defining errno macro without including
4591 errno.h forbiding STLport to do so. Now errno.h will report this problem with
4592 an explicit #error.
4593
4594 * test/unit/test_errno.cpp: Improvement of the test to reveal the previous
4595 issue.
4596
45972005-05-02 Petr Ovtchenkov <ptr@island...>
4598
4599 * makesystem (repository): restore experimental support of MetroWerks
4600 compiler for NetWare, with help of GNU make and Cygwin environment.
4601
46022005-04-29 Francois Dumont <dums@stlport...>
4603
4604 * stlport/stl/_time_facets.c: gcc warnings reveal that we were missing some
4605 ctype::widen method call to compare things like month or day names.
4606 Also simplified implementation of the __match and __get_formatted_time that
4607 do not really need all the template parameters passed to it.
4608
4609 * stlport/stl/_num_put.c: Add a cast to make call to the function min more
4610 clear, it will perhaps help EVC++ builds correctly.
4611
4612 * src/strstream.cpp, stlport/stl/_sstream.c: Removed static assertion
4613 replaced by modified implementation that takes into account the difference
4614 between size_t and streamsize.
4615
46162005-04-28 Francois Dumont <dums@stlport...>
4617
4618 * test/unit/limits_test.cpp: Improve integral types limit test for type
4619 of unknown sign. In this case we check the min value of this integral type,
4620 if 0 the type is unsigned. Moreover we check, except for the bool type,
4621 the sign of -1 cast to the integral type, bool is a special type that
4622 generate warning when built from -1 (MSVC).
4623
4624 * src/ctype.cpp: Creation of a small helper structure to check the validity
4625 of a wchar_t value used as an index. This helper struct takes into account
4626 the compiler representation of the wchar_t type, is it a sign type or not.
4627 This helper avoids warning when wchar_t is unsigned.
4628
4629 * src/num_get.cpp: Removed unused _Initialize_get_digit function and
4630 associated narrow_digits and narrow_xdigits arrays.
4631
46322005-04-28 Petr Ovtchenkov <ptr@island...>
4633
4634 * stlport/stl/_sstream.h, _num_put.c: __in replaced by __imode, __out
4635 by __omode or __oi due to MS privatize __in and __out. Thanks Michael Fink.
4636
46372005-04-27 Francois Dumont <dums@stlport...>
4638
4639 * src/fstream.cpp: Fix Win32-64 file stream implementation. _M_read and
4640 _M_write can now correctly handle respectively read and write of really
4641 big buffers ( > 2Go)
4642
4643 * using/iosfwd.h, stlport/strstream.h, stl/_rope.h, _rope.c, _complex.h: Removed
4644 references to the _STLP_USE_NEW_IOSTREAMS macro, STLport only support "new"
4645 iostreams.
4646
4647 * test/unit/max_test.cpp, min_test.cpp: Add tests to check that min and
4648 max are not defined as macros.
4649
4650 * test/fstream_test.cpp: Add check in creation of test_file.txt
4651 as following tests depends on its content.
4652
4653 * src/strstream.cpp, stdio_streambuf.cpp: Fix potential issue because of
4654 the difference between streamsize and size_t of ptrdiff_t.
4655 Add static assertion to clearly specify how streamsize must be to have
4656 a correct behavior.
4657
4658 * stlport/stl/_num_put.c, _num_get.c, _fstream.c, _moneraty.c: ditto.
4659
4660 * src/ctype.cpp: Restore check on wchar_t positivity as according
4661 2005-02-22 Petr Ovtchenkov reports wchar_t can be signed.
4662
46632005-04-26 Francois Dumont <dums@stlport...>
4664
4665 * src/num_get_float.cpp: Fix mingwin support for 64bits integer type
4666 thanks Wlodek Szafran
4667
46682005-04-25 Francois Dumont <dums@stlport...>
4669
4670 * stlport/stl/_time_facets.c: Fix __pos type in __match function and removed
4671 unused __max_pos definition and initialisation.
4672
4673 * src/c_locale_win32/c_locale_win32.c: Add some cast to remove warnings.
4674
4675 * stlport/stl/_moneraty.c: Fix __witdh definition to use streamsize rather
4676 than size_t to avoid warnings.
4677
46782005-04-25 Petr Ovtchenkov <ptr@island...>
4679
4680 * build/test/gcc.mak: workaround for [bug?] gmake, that sometimes lose
4681 increment of target-specific macro and, may be, under condition.
4682 Thanks Jeff Williams.
4683
4684 * build/Makefiles/gmake/icc.mak: add icc 8.1 compiler-specific libs
4685
4686 * build/Makefiles/gmake/icc.mak: detect icc version; add includes
4687 from compiler to include path
4688
4689 * test/unit/cppunit/test_main.cpp, cppunit_mini.h: add option -x, run all
4690 except specified CLASS::TEST.
4691
46922005-04-23 Francois Dumont <dums@stlport...>
4693
4694 * stlport/stl/_ioerr.h: #error message modification thanks Michael Fink.
4695
46962005-04-22 Francois Dumont <dums@stlport...>
4697
4698 * stlport/stl/_istream.c: Fix _M_read_buffered function implementation,
4699 there used to be a wrong implicit conversion from streamsize to ptrdiff_t,
4700 which fail when sizeof(streamsize) > sizeof(ptrdiff_t).
4701 See 2005-04-21 Petr report.
4702
4703 * test/unit/: Replaced all _STLP_NO_IOSTREAMS occurences with the STLport
4704 internal equivalent _STLP_USE_NO_IOSTREAMS. The first one is defined
4705 by the client while the second depends on the first and on the compiler
4706 abilities, makes the unit tests more portable.
4707
4708 * stlport/stl/_cmath.h: Fix for Intel C++ compiler that also have all
4709 C math functions in global namespace.
4710
47112005-04-21 Francois Dumont <dums@stlport...>
4712
4713 * stlport/stl/_hashtable.h: Extend the hashtable template methods extension
4714 to the method computing the bucket from the key thanks Dominik Siatkowski.
4715
4716 * stlport/stl/_threads.h: Disable 64 bits portability warning for
4717 MSVC compilers. MSVC do not see that the called function comes from
4718 a macro that is different under Win32 and Win64.
4719
47202005-04-21 Petr Ovtchenkov <ptr@island...>
4721
4722 * test/unit/sstream_test.cpp, fstream_test.cpp: integral type for
4723 ptrdiff_t shorter than for streamsize; this cause problem on
4724 Win32 platform, that support files larger than 4GB.
4725 Thanks Timothy Tenebekov for report.
4726
47272005-04-20 Francois Dumont <dums@stlport...>
4728
4729 * stlport/stl/debug/_debug.c: Small Borland compiler fix to avoid call to
4730 vsnprintf before version 0x550 thanks esanfo.
4731
4732 * src/dll_main.cpp: Fix bug reported by Intel C++ (icl) compiler.
4733
47342005-04-20 Petr Ovtchenkov <ptr@island...>
4735
4736 * src/num_get_float.c: use uint64_t for 64-bit, but unsigned long long
4737 for constants. This fix problem on linux x86_64 [amd64].
4738
47392005-04-16 Francois Dumont <dums@stlport...>
4740
4741 * test/unit/cppunit/test_main.cpp: Patch from Michael Fink to improve
4742 the macro filter for including windows.h (UNDER_CE rather than WIN32).
4743
4744 * build/test/unit/STATUS: Update from Michael Fink and myself.
4745
4746 * build/Makefiles/nmake: Apply Michael Fink patch to generate .pdb file
4747 even in release mode and to install them in bin and lib folders next to
4748 the .dll and .lib files.
4749
4750 * stlport/stl/_algobase.c: Add missing const in return type of the const
4751 version of find specialized for const char*.
4752
47532005-04-16 Petr Ovtchenkov <ptr@island...>
4754
4755 * stlport/stl/_algobase.c: memchr return NULL if value not found,
4756 while find() [specialization for char *] should return last
4757 [see record 2005-02-27 below]. Thanks Joshua Berne for report.
4758
4759 * test/unit/find_test.cpp: if char not found, char specialization of
4760 find() should return last, not NULL.
4761
47622005-04-14 Petr Ovtchenkov <ptr@island...>
4763
4764 * stlport/stl/_list.h, _slist.h: add this-> resolution to get_allocator
4765 [required in the member templates to resolve possible ambiguity]
4766
47672005-04-13 Francois Dumont <dums@stlport...>
4768
4769 * stlport/stl/_list.h, _slist.h: Add missing get_allocator() call when
4770 building temporary list or slist instances in insert methods.
4771
47722005-04-12 Petr Ovtchenkov <ptr@island...>
4773
4774 * stlport/errno.h: solution 2005-04-12 not useful. Simplified schema,
4775 semantically equivalent to Francois', but without extra function definition
4776 [see records 2005-03-31 and 2005-04-01]
4777
47782005-04-12 Petr Ovtchenkov <ptr@island...>
4779
4780 * stlport/errno.h: check if we undefine previously defined errno
4781
47822005-04-11 Petr Ovtchenkov <ptr@island...>
4783
4784 * stlport/errno.h: save original errno definition
4785
47862005-04-10 Petr Ovtchenkov <ptr@island...>
4787
4788 * STLport (repository): STLport 5.0 RC3
4789
47902005-04-08 Francois Dumont <dums@stlport...>
4791
4792 * test/unit/locale_test.cpp: Add __FreeBSD__ macro check for the workaround
4793 announced as Free BSD specific by the comment next to it.
4794
4795 * stlport/stl/_config.h: Add undef of _STLP_USE_DYNAMIC_LIB when in
4796 NO_IOSTREAMS mode, this macro was generating buggy code in this case
4797 for some commpilers (gcc mingwin).
4798
47992005-04-07 Francois Dumont <dums@stlport...>
4800
4801 * build/lib/nmake-vc-common.mak: Removed useless add of STLport/lib to
4802 library paths when building STLport lib.
4803
4804 * build/Makefiles/nmake/*: Removed useless specification of the MSVC default
4805 install directory, all the job is done by the vcvcars32.bat script that sets
4806 the LIB env variable to the real MSVC install directory.
4807
4808 * test/unit/unordered_test.cpp, locale_test.cpp: Removed gcc mingw warnings.
4809
4810 * build/Makefiles/nmake/icl.mak, app/icl.mak, lib/icl.mak: Removed the
4811 whole program optimization option, looks like it is confusing icl.
4812
4813 * stlport/stl/debug/*.h: Removed useless _Get_base non-const overload.
4814 In addition to being useless Intel compiler emit compilation error about it.
4815
48162005-04-06 Petr Ovtchenkov <ptr@island...>
4817
4818 * test/unit/cppunit/test_main.cpp: windows.h required here
4819 [see 2005-04-04; patch by Michael Fink].
4820
4821 * stlport/stl/_istream.h: __is replaced by __istr, due
4822 to MS privatize __is.
4823
4824 * stlport/stl/_num_get.h: __in replaced by __ii, due to MS
4825 privatize __in too.
4826
4827 * stlport/stl/_config.h: Visual C++ 8 uses _M_AMD64 to identify
4828 EM64T and AMD64 platforms [thanks Mike Roberts].
4829
48302005-04-05 Francois Dumont <dums@stlport...>
4831
4832 * stlport/config/stl_evc.h: apply patch from Michael Fink to add support for
4833 various EVC SDK.
4834
4835 * stlport/stl/_cmath.h: An other adaptation to the Intel C++ compiler.
4836
4837 * build/lib/nmake-vc-common.mak, test/unit/nmake-vc-common.mak: Removed check
4838 of STLP_BUILD_FORCE_[STATIC,DYNAMIC]_RUNTIME environment variables,
4839 moved in a common build system file.
4840
4841 * build/Makefiles/nmake/vc-common.mak: Add checks of
4842 STLP_BUILD_FORCE_[STATIC,DYNAMIC]_RUNTIME variables.
4843
4844 * build/lib/configure.bat: Add a clean option to remove the hidden
4845 Makefiles/config.mak file.
4846
4847 * stlport/stdexcept: Disable 'non dll-interface class used as base' warning
4848 when building STLport dll linked with the static runtime.
4849
48502005-04-04 Francois Dumont <dums@stlport...>
4851
4852 * test/unit/mfunptr_test.cpp: Add necessary macro checks for a test
4853 that require partial template specialization compiler support.
4854
48552005-04-04 Petr Ovtchenkov <ptr@island...>
4856
4857 * errno.h, time.h, test_errno.cpp: evc3 and evc4 has no errno.h
4858 and time.h headers [patch by Michael Fink].
4859
4860 * stl_evc.h, _windows.h, test_main.cpp: workaround to not include
4861 <windows.h> in STLport headers (it is still needed for building
4862 the lib and the unit tests, but that should be no problem).
4863 Occurences of GetCurrentProcess() used in _STLP_ABORT were replaced
4864 with the result of the inline function, which returns a pseudo-
4865 HANDLE value. [patch by Michael Fink]
4866
4867 * cwchar, wchar.h, stl/_cwchar.h: fix access to mbstate and wint_t
4868 for FreeBSD.
4869
4870 * build/Makefiles/gmake/sysid.mak, app/gcc.mak, lib/gcc.mak:
4871 FreeBSD before 5.3 require linkage with libc_r, while 5.3 and
4872 later use libpthread.
4873
4874 * test/unit/locale_test.cpp: add std:: namespace qualifier for
4875 gcc 3.3.2 and/or FreeBSD.
4876
4877 * libstlport, test/unit: library build and most tests pass for
4878 FreeBSD 5.3 and FreeBSD 4.10.
4879
48802005-04-02 Francois Dumont <dums@stlport...>
4881
4882 * stlport/cstdlib: Fix missing div taking long definition for VC71.
4883
48842005-04-01 Francois Dumont <dums@stlport...>
4885
4886 * stlport/errno.h: Add comments to explain the file code.
4887
4888 * stlport/stl/_string_io.h: Yet an other fix to the i/o basic_string
4889 operators that was not right under cygwin/mingwin.
4890
4891 * build/Makefiles/gmake/gcc.mak: Merge the 2 distinct cygmin blocks
4892 in one and add -Wall and -Wsign-promo warnings.
4893
48942005-04-01 Petr Ovtchenkov <ptr@island...>
4895
4896 * test/unit/test_errno.cpp: fix test, errno may be non-zero without
4897 any error, but it reflect error code after some function fail.
4898 This not the same.
4899
4900 * test/unit/mfunptr_test.cpp: add step-by-step test how compiler
4901 recognize bind of member function for find_if. Not all compilers may
4902 understand this. Thanks Markus for test idea.
4903
49042005-03-31 Francois Dumont <dums@stlport...>
4905
4906 * stlport/errno.h: Fixed for MSVC compilers, should still be fine for
4907 others.
4908
4909 * test/unit/test_errno.cpp: Modified to be a real unit test. Also test
4910 errno assignment.
4911
49122005-03-30 Francois Dumont <dums@stlport...>
4913
4914 * stlport/stl/_fstream.c: Try to fix ambiguous type deduction in a max
4915 call under WinCE.
4916
4917 * stlport/stl/_cmath.h: Fix missing non Standard hypot function under
4918 WinCE thanks Michael Fink.
4919
4920 * stlport/stl/_cmath.h: Attempt to fix the WinCE math function support
4921 where neither *f nor *l functions are present even if the compiler
4922 support the long double type.
4923
49242005-03-30 Petr Ovtchenkov <ptr@island...>
4925
4926 * stlport/assert.h, float.h, iso646.h, limits.h, errno.h:
4927 added in accordance with Standard D.5 [compatibility with standard
4928 C library] to prevent wrong std interpretation in ill-formed native
4929 headers [definition of namespace std in C headers].
4930
4931 * test/unit/test_errno.cpp: check correct processing of errno.h
4932 header.
4933
4934 * build/test/eh: build eh tests again.
4935
4936 * test/eh/LeakCheck.h, TestClass.cpp, TestClass.h: fix and clear.
4937
4938 * test/eh/test_hash_map.cpp, test_hash_set.cpp: hash_set/hash_map
4939 has no == operator [no container equality]; this fix is quick-and-dirty
4940
49412005-03-29 Petr Ovtchenkov <ptr@island...>
4942
4943 * build/Makefiles/gmake/app/rules.mak, freebsd/rules-so.mak,
4944 linux/rules-so.mak, openbsd/rules-so.mak, sunos/rules-so.mak:
4945 fix link sequence---the end objects should be really last, i.e. after libs.
4946 This affected by linkage without libstdc++.
4947
4948 * stlport/stl/_cwchar.h, stlport/wchar.h: workarounds for FreeBSD.
4949
4950 * due to change in link sequence most tests [including exceptions] pass
4951 for uClibc.
4952
4953 * stlport/mmemory.h: garbage, removed.
4954
4955 * stlport/export: ditto.
4956
49572005-03-28 Francois Dumont <dums@stlport...>
4958
4959 * stlport/stl/_istream.h, _ostream.h: Fix assignment operators prototypes
4960 for the sentry struct. Thanks -Weffc++ feature of gcc.
4961
4962 * build/Makefiles/gmake/cygmin/rules-install-so.mak: Add missing folder
4963 creation in the install process thanks Charlemagne report.
4964
4965 * build/Makefiles/nmake/icl.mak: Fix Intel compiler build system under
4966 Windows.
4967
49682005-03-28 Petr Ovtchenkov <ptr@island...>
4969
4970 * src/num_put_float.cpp: in FreeBSD no *cvt* functions now, use sprintf;
4971
4972 * stlport/config/stl_gcc.h: in FreeBSD no math *l functions and llabs.
4973
4974 * test/unit/string_test.cpp: more test with assignment.
4975
49762005-03-25 Petr Ovtchenkov <ptr@island...>
4977
4978 * stlport/stddef.h: fix typo in header id---this mistake prevent
4979 inclusion _epilog.h.
4980
4981 * test/unit/epilog_test.cpp: regression test for bug above.
4982
4983 * stlport/cstdio: fix header id to avoid possible errors.
4984
49852005-03-24 Petr Ovtchenkov <ptr@island...>
4986
4987 * build/Makefiles/gmake/lib/gcc.mak, build/Makefiles/gmake/app/gcc.mak:
4988 code reorganization to simplify platform configuration with or without
4989 -nostdlib [avoid link with libstdc++ or libestdc++]; now link without
4990 libstdc++/libestdc++ supported on Linux and OpenBSD.
4991
4992 * build/Makefiles/gmake/openbsd/rules-so.mak: idem.
4993
4994 * build/Makefiles/gmake/freebsd/rules-so.mak: idem.
4995
4996 * src/num_put_float.cpp: clean float convertions for OpenBSD and FreeBSD;
4997 OpenBSD and FreeBSD use STLport code instead of sprintf now.
4998
4999 * stlport/stl/_cwchar.h: allow masquarade to use mbstate_t from native
5000 cwchar header on OpenBSD.
5001
5002 * stlport/config/slt_gcc.h: llabs and *l math functions absent in OpenBSD;
5003 define __unix, that missed in OpenBSD.
5004
50052005-03-23 Petr Ovtchenkov <ptr@island...>
5006
5007 * build/Makefiles/gmake/app/gcc.mak, build/Makefiles/gmake/lib/gcc.mak:
5008 incorporate gcc language support library into libstlport.so
5009 [add ~100k to library], but libsupc++ don't required more in link stage
5010 for applications and libraries that use stlport, as in case with
5011 libstdc++.
5012
50132005-03-22 Francois Dumont <dums@stlport...>
5014
5015 * stlport/stl/_string_io.c: Fix basic_string stream output operator
5016 implementation for cygwin.
5017
5018 * stlport/stl/_cmath.h: Add fixes for cygwin support that handle long double
5019 but do not have *l maths function per default.
5020
5021 * src/complex_exp.cpp: Fix call to logl, replaced by call to log.
5022
5023 * src/complex_trig.cpp: Fix mingw support by checking M_LN2l existence
5024 before using it.
5025
5026 * test/unit/copy_test.cpp: Change test cases to avoid use of iostreams.
5027
5028 * test/unit/string_test.cpp: Add a small check to test use of istream width
5029 in the input operator.
5030
5031 * stlport/cstdlib, stlport/config/stl_msvc.h, stl_gcc.h: Creation of the
5032 _STLP_NO_VENDOR_STDLIB_L macro to report support of the llabs and lldiv
5033 function.
5034
50352005-03-21 Petr Ovtchenkov <ptr@island...>
5036
5037 * stlport/stl/_cmath.h: removed logf, expf, sinf, cosf; option
5038 -fno-builtin passed to gcc compiler solve the problem with uClibc;
5039 this imply same option in building uClibc, as it is in normal uClibc build.
5040 This is partial rollback of changes 2005-03-16.
5041
5042 * build/lib/configure, build/Makefiles/gmake/gcc.mak: add ability to pass
5043 extra flags to C++ compiler
5044
50452005-03-18 Francois Dumont <dums@stlport...>
5046
5047 * test/unit: Modified some test in order to check the _STLP_NO_IOSTREAMS
5048 mode. This new mode of tests reveals the following bugs:
5049
5050 * stlport/stl/_rope.c: Add check of _STLP_USE_NO_IOSTREAMS macro before
5051 include of iostream header.
5052
5053 * src/dll_main.cpp, stlport/stl/_string_fwd.h: Removed implementation
5054 of __get_c_string, moved to _string.h header, once string has been defined,
5055 as an inline function.
5056
50572005-03-18 Petr Ovtchenkov <ptr@island...>
5058
5059 * src/complex_trig.cpp: avoid call log functions during static
5060 initialization, if possible.
5061
50622005-03-17 Francois Dumont <dums@stlport...>
5063
5064 * stlport/stl/_string_io.h: Fix implementation that used to think that
5065 size_t and streamsize was simply aliases. Thanks Jay Amin report.
5066
5067 * stlport/config/_prolog.h: Add comment about the reason of alignment
5068 specification when using MSVC compilers. Fix alignment for Win64 platform.
5069
5070 * stlport/stl/_alloc.h: Fix _ALIGN enum definition for _Win64 platform.
5071
5072 * src/string_w.cpp: Fix wrong class export under debug mode thanks
5073 Charlemagne report.
5074
5075 * build/Makefiles/nmake: Preparation of the build system for icl (Intel cl
5076 compiler (mimic cl compiler from Microsoft).
5077
50782005-03-16 Petr Ovtchenkov <ptr@island...>
5079
5080 * stlport/stl/_cmath.h: added logf, expf, sinf, cosf---this fix
5081 uClibc 0.9.27/gcc problem. Fix one macro for declaration math
5082 functions in case of absent *f functions.
5083
50842005-03-16 Francois Dumont <dums@stlport...>
5085
5086 * stlport/config/*: Clean native header include path macro definition.
5087 Removed many useless definition simply recreating the default behavior.
5088 Removed the unreferenced _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH macro.
5089
5090 * stlport/stl/_site_config.h: Update relative path headers macros
5091 documentation to reflect more accurately default behavior and add
5092 the unreference _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH macro.
5093
50942005-03-15 Francois Dumont <dums@stlport...>
5095
5096 * stlport/stl/_fstream.h: Fix _Noconv_input helper class default implementation.
5097 Returns traits::eof() rather than 0.
5098
50992005-03-15 Petr Ovtchenkov <ptr@island...>
5100
5101 * src/complex.cpp, complex_exp.cpp, complex_io.cpp, complex_trig.cpp:
5102 use achievements in _cmath.h---use overloaded funcs; mascarade from
5103 complex_impl.h not required more.
5104
5105 * src/complex_impl.h: deleted.
5106
5107 * test/unit/cmath_test.cpp: check nested sqrt(sqrt)---possible problem with macro
5108
51092005-03-14 Francois Dumont <dums@stlport...>
5110
5111 * stlport/config/stl_msvc.h: _STLP_SAME_FUNCTION_NAME_RESOLUTION_BUG notion
5112 removed, impossible to reproduce, maybe fixed by the #pragma intrinsic/function
5113 directives.
5114
5115 * stlport/stl/_cmath.h, cstdlib: Fix .Net 2003 and .Net 2005 beta support.
5116
5117 * stlport/stl/_cmath.h: Removed _STLP_SAME_FUNCTION_NAME_RESOLUTION_BUG notion,
5118 no more _STLP_DO_* macros.
5119
5120 * test/unit/valarray_test.cpp: New tests to check right compilation of
5121 transcendentals valarray functions.
5122
5123 * stlport/stl/_valarray.h: Replaced all the _STLP_DO_* macros by real
5124 function calls.
5125
5126 * src/fstream.cpp: Add INVALID_SET_FILE_POINTER definition when missing for
5127 Win32 IO implementation thanks Michael Fink report. Add compilation check
5128 of right STLport file descriptor definition.
5129
51302005-03-12 Francois Dumont <dums@stlport...>
5131
5132 * stlport/stl/_tree.h: Fix equal_range_unique bug thanks Gunter.
5133
5134 * test/unit/map_test.cpp: Add of the test to reproduce the bug
5135 above.
5136
51372005-03-11 Petr Ovtchenkov <ptr@island...>
5138
5139 * build/test/unit/gcc.mak: don't write runtime path to libstlport
5140 in case of crosscompilation.
5141
5142 * stlport/stl/_cmath.h: exclude *f and *l variants of math functions
5143 if ones absent in system; add missed hypot function; few workarounds
5144 for uClibc and for VC.
5145
5146 * src/complex.cpp, complex_exp.cpp, complex_trig.cpp: workaround
5147 for systems without *f and *l variants of math functions.
5148
5149 * test/unit/resolve_name.cpp: exclude test line that confuse VC.
5150
5151 * stlport/cstdlib: div isn't intrinsic for VC.
5152
5153 * stlport/config/stl_gcc.h: don't use *f and *l math functions in
5154 case of uClibc.
5155
51562005-03-09 Petr Ovtchenkov <ptr@island...>
5157
5158 * doc/FAQ: FAQ was established.
5159
51602005-03-07 Francois Dumont <dums@stlport...>
5161
5162 * stlport/stl/_bitset.h, _bitset.c: Avoid include of istream when
5163 NO_IOSTREAMS mode thanks Bruno report.
5164
5165 * stlport/stl/char_traits.h: Modification of the streamoff and streamsize
5166 definition to take into account the 64 bits file access support.
5167
5168 * test/unit/fstream.cpp: New test for big files ( > 2Go) unactivated by
5169 default.
5170
51712005-03-06 Petr Ovtchenkov <ptr@island...>
5172
5173 * stlport/cstdlib, stlport/cmath, stlport/stl/_cmath.h: define
5174 overloaded functions in the scope of global namespace and then import
5175 all in stlp_std with 'using' directive. This is better than
5176 solution from 2005-03-04 below.
5177
5178 * stlport/cmath: include cstdlib, due to declarations of abs
5179 with integer types required in overload and when 'using'.
5180
5181 * src/complex.cpp, src/complex_exp.cpp, src/complex_trig.cpp: replace
5182 macros that possibly will be removed.
5183
51842005-03-05 Francois Dumont <dums@stlport...>
5185
5186 * stlport/stl/_construct.h: Simplification of the _Copy_Construct
5187 function, now only takes a single template parameter and only call
5188 the strict copy constructor. Creation of the _Param_Construct function
5189 that replace the former _Copy_Construct implementation.
5190
5191 * cstdlib: Fix abs definition for MSVC compilers.
5192
5193 * test/unit: Fixing 64 bits warnings in many tests.
5194
5195 * src/c_locale_win32/c_locale_win32.c: Fixing 64 bits warnings.
5196
5197 * src/fstream.cpp: Creation of the INVALID_STLP_FD constant to represent
5198 a portable invalid file descriptor.
5199
5200 * stlport/stl/_streambuf.c: Explicit instanciation of basic_streambuf
5201 for wchar_t removed, already exists in _streambuf.h thanks
5202 Charlemagne report.
5203
5204 * stlport/stl/char_traits.h: Setup modification, Windows platform now
5205 use ptrdiff_t to define streamoff, make the code more portable.
5206
52072005-03-04 Petr Ovtchenkov <ptr@island...>
5208
5209 * stlport/stl/_cmath.h: removed recursive include of cmath header
5210
5211 * src/complex_impl.h: include cmath instead of stl/_cmath.h
5212
5213 * stlport/stl/_complex.h: idem.
5214
5215 * stlport/stl/_valarray.h: idem.
5216
5217 * test/unit/unary.h: workaround for namespace resolution.
5218
5219 * test/unit/resolve_name.cpp: test to show problem with namespace resolution.
5220
5221 * stlport/cmath, stlport/stl/_cmath.h: standard require overloaded math
5222 functions for double and float arguments. Import with 'using' directive
5223 can't provide such overload. Removed import with 'using', used direct
5224 inline wrappers in namespace stlp_std instead. Cleaning code.
5225
5226 * stlport/cstdlib: complement to cmath---the same as above for abs.
5227
5228 * stlport/stl/_config.h: uClibc declare pthread_spin... but ones absent
5229 in the library indeed.
5230
52312005-03-02 Petr Ovtchenkov <ptr@island...>
5232
5233 * build/Makefiles/top.mak: move .PHONY target to the bottom, it work here
5234 as expected
5235
5236 * build/Makefiles/gmake/depend.mak, targetdirs.mak: reduce amount of dummy
5237 targets; fix creation of directories for install.
5238
5239 * build/Makefiles/gmake/linux/rules-install-so.mak: ditto.
5240
5241 * stlport/stl/_config.h, stlport/config/stl_gcc.h: support of gcc/linux/uClibc
5242
5243 * src/_stdio_file.h, num_put_float.cpp, stdio_streambuf.cpp: uClibc support
5244
5245 * stlport/cwchar: ditto.
5246
52472005-03-01 Francois Dumont <dums@stlport...>
5248
5249 * stlport/stl/_threads.h, _windows.h, _rope.c: Fix of a 64 bits portage issue
5250 in the rope implementation under Win64 thanks Patrick Bergeron report.
5251
52522005-02-28 Francois Dumont <dums@stlport...>
5253
5254 * stlport/stl/_hashtable.c: hashtable::erase fix thanks Patrick Bergeron.
5255
52562005-02-27 Francois Dumont <dums@stlport...>
5257
5258 * stlport/stl/_algobase.h, _algobase.c: Fix find algo overload for
5259 char* and const char*. Now the overload is on the __find underlying
5260 function.
5261
5262 * test/unit/alg_test.cpp: Add a test case for the search_n algo.
5263
5264 * stlport/stl/_algo.c: Integration of the search_n algo implementation
5265 for the random access iterator from Jim Xochellis.
5266
52672005-02-25 Francois Dumont <dums@stlport...>
5268
5269 * stlport/stl/_slist.h: Fix _M_splice_after method.
5270
5271 * stlport/stl/debug/_slist.h: Add of many missing checks for the special
5272 slist before_begin iterator which returns true to the _Dereferenceable
5273 function call but is not dereferenceable in reality. Passing this
5274 iterator to method like erase or insert was invalid but was not detected
5275 by the _Dereferenceable function.
5276
5277 * test/unit/slist_test.cpp: Add checks for insert, insert_after, splice
5278 splice_after methods.
5279
5280 * Patch from Ulrich Eckhardt:
5281 - Fix macro _MSC_VER macro checks, VC6 should be found using _MSC_VER < 1300
5282 check rather than _MSC_VER == 1200 to take into account compilers like
5283 EVC4 that is a VC6 based compiler with _MSC_VER == 1202.
5284
52852005-02-25 Petr Ovtchenkov <ptr@island...>
5286
5287 * stlport/stl/_algobase.h: wrong parameters order in call to memchr,
5288 thanks Patrick Bergeron.
5289
52902005-02-24 Francois Dumont <dums@stlport...>
5291
5292 * stlport/stl/char_traits.h: Patch from Ulrich Eckhardt fixing a wrong
5293 _STLP_CALL specification on member operators and some cosmetic changes.
5294
52952005-02-22 Petr Ovtchenkov <ptr@island...>
5296
5297 * test/unit/limits_test.cpp: wchar_t is treated as signed, except when it
5298 equiv to unsigned short on Wins systems.
5299
5300 * Repository: STLport 5.0 RC2
5301
53022005-02-20 Francois Dumont <dums@stlport...>
5303
5304 * Add many private definition of copy constructor and assignment operators
5305 to avoid very anoying warnings under some compilers (MSVC 7.0 7.1).
5306
5307 * build/Makefiles/gmake/cygmin/sys.mak, test/unit/string_test.cpp:
5308 Mingw fixes thanks Shura Zam.
5309
53102005-02-19 Francois Dumont <dums@stlport...>
5311
5312 * stlport/stdexcept: Removal of a MSVC 7.0 and 7.1 workaround. Those compilers
5313 have a bug resulting in the generation of very long compiler message as
5314 soon as a simple compiler warning or error occur. Those messages are
5315 template instanciation context of previous disabled warning. Warning message
5316 are correctly disable but template instanciation context is kept until
5317 an enable warning or an error happen. There is nothing to do against that
5318 at STLport level except fixing or disabling warnings for unit tests build.
5319
5320 * build/Makefiles/nmake/vc70.mak: Add missing file.
5321
53222005-02-18 Francois Dumont <dums@stlport...>
5323
5324 * stlport/stl/_hashtable.h, _unordered_set.h, _unordered_map.h: Code review
5325 based on the 12 April 2004 Technical Report document. Add missing hash policy
5326 and bucket_size methods. Fix of the rehash method behavior. erase method
5327 bug fix.
5328
53292005-02-14 Francois Dumont <dums@stlport...>
5330
5331 * stlport/string, /stl/_string.h: Modification of the include schema.
5332 _string_io.h no more included from _string.h to avoid circular headers
5333 dependencies as basic_string class is used in iostream implementation.
5334 This headers is now included from the Standard string header. Useless
5335 cctype include removed from _string.h. _string_hash.h also moved from
5336 _string.h to string for consistency.
5337
5338 * stlport/stl/_complex.c: Add of the _string_io.h header include that
5339 was missing after string include schema modification.
5340
5341 * stlport/stl/_string_base.h, _string.h: basic_string move traits STLport
5342 struct definition do not depends anymore on the _String_base struct to
5343 make definition more clear.
5344
53452005-02-08 Francois Dumont <dums@stlport...>
5346
5347 * stlport/stl/_config.h: Fix endianness for AMD 64 thanks Karol
5348 Szkudlarek.
5349
53502005-02-07 Boris Fomitchev <boris@stlport...>
5351
5352 * stlport/stl/_config_compat_post.h, stlport/stl/_relops_hash_cont.h
5353 stlport/stl/_list.h, stlport/stl/_slist.h, stlport/stl/_map.h,
5354 stlport/stl/_set.h: 4.6 compatibility fix
5355
53562005-02-04 Francois Dumont <dums@stlport...>
5357
5358 * stlport/stl/_alloc.c: Fix of the _S_refill method in the lock free
5359 implementation thanks Felix Wyss.
5360
5361 * stlport/stl/_hashtable.h: _M_get_elem_ite set as static when possible
5362 to fix a MSVC6 problem thanks Michael Fink report.
5363
5364 * stlport/new, config/stl_evc.h: EVC patch for MFC support from Michael Fink.
5365
5366 * build/Makefiles/nmake/evc3.mak, evc4.mak: Warning level raised to 4
5367 by Michael Fink.
5368
5369 * doc/README.evc3, README.evc4 doc update from Michael Fink.
5370
5371 * src/vc_warning_disable.h: Add warning 4201 and 4214 disabling for EVC.
5372
53732005-01-31 Francois Dumont <dums@stlport...>
5374
5375 * Mac OS X portage thanks Zdenek Nemec.
5376
5377 * stlport/stl/_hashtable.c: Fix of the _M_copy_from method thanks Jay.
5378
5379 * stlport/stl/_vector.c: Fix of the _M_insert_fill_aux method thanks
5380 Mike Roberts report.
5381
5382 * test/unit/unordered_test.cpp: Add of a test for the hashtable fix above.
5383
5384 * src/vc_warning_disable.h: Add of the missing 4503 warning disable for MSVC6.
5385
5386 * test/unit/nmake-vc-common.mak: Add of the _STLP_DEBUG_UNINITIALIZED macro
5387 definition for the debug and stldebug rules.
5388
53892005-01-28 Francois Dumont <dums@stlport...>
5390
5391 * Application of a patch from Michael Fink for EVC MIPS.
5392
53932005-01-27 Francois Dumont <dums@stlport...>
5394
5395 * stlport/deque, list, map, set, slist, stack, valarray: _STLP_WHOLE_VENDOR_STD
5396 replaced by the official _STLP_IMPORT_VENDOR_STD macro.
5397
5398 * stlport/stl/_algobase.h: Add find algo overload for char* and const char*
5399 forwarding the call to the memchr C function thanks Jim Xochellis report.
5400
5401 * test/unit/find_test.cpp: Add check for the new find overload.
5402
5403 * test/unit/cmath_test.cpp: Fix of the atan and atan2 tests to avoid precision
5404 problems.
5405
5406 * test/unit/ptrspec_test.cpp: Add check for containers of function pointers and
5407 member function pointers.
5408
5409 * test/unit/set_test.cpp: Add check for equal_range method when the search value
5410 is not in the set.
5411
5412 * stlport/stl/_tree.h: Fix equal_range implementation thanks Grisha Spivak report.
5413
5414 * stlport/stl/_vector.h, _vector.c: Fix of the movable types implementation thanks
5415 Mike Roberts report.
5416
5417 * test/unit/mvctor_test.cpp: Add of a test case for vector class.
5418
54192005-01-25 Francois Dumont <dums@stlport...>
5420
5421 * stlport/stl_user_config.h: Pointer specialization feature is now off
5422 by default as it do not handle pointer to function and pointer to member
5423 methods correctly yet. Feature documentation has been updated to report
5424 this limitation.
5425
5426 * src/ctype.h: removal of the '>= 0' check for wchar_t variables reported
5427 as a always true condition by gcc.
5428
5429 * stlport/stl/_hashtable.c: Removal of an unused variable in hashtable::resize
5430 method thanks Jeff Grills report.
5431
5432 * stlport/stl/_algo.c: Fix of the search_n algo thanks Jim Xochellis report.
5433
54342005-01-24 Francois Dumont <dums@stlport...>
5435
5436 * Some more warning fixes. Mostly add of missing char_traits::to_char_type calls.
5437
54382005-01-22 Francois Dumont <dums@stlport...>
5439
5440 * stlport/stl/_string_workaround.h, debug/_string_workaround.h: Fix of the
5441 call broadcast to the base class. Non debug workaround always call non debug
5442 base class methods, debug workaround always calls debug base class methods.
5443
5444 * Many fixes to avoid warnings using MSVC in level 4 warnings:
5445 - while (true) replaced by for(;;) which do not produce the conditional
5446 expression is constant warning
5447 - removal of unused parameters
5448 - modification of some template function signature to keep the character type
5449 information and avoid the wchar_t to char type warning which was surely an
5450 important warning for the wide streams support.
5451
5452 * stlport/stl/_monetary.c: removal of the call to the ctype::widen method
5453 on the result of the moneypunct<_CharT, false>::decimal_point call as this
5454 method is already supposed to return a wide character.
5455
54562005-01-19 Francois Dumont <dums@stlport...>
5457
5458 * src/msvc_warning_disablers.h: unused file, removed.
5459
5460 * test/unit/logic_test.cpp: Fix of the tests to avoid warning regarding int
5461 to bool cast.
5462
5463 * stlport/stl/pointers/_deque.h, _list.h: Fix of the exported class under MSVC
5464 compiler thanks Timothy Tenebekov report.
5465
5466 * build/test/unit/nmake-vc-common.mak, nmake-vc6.mak, nmake-vc70.mak: Modification
5467 of the make files to avoid useless inclusion of vc_warning_disable.h file for
5468 MSVC.Net 2003 and MSVC 8 compilers.
5469
5470 * src/locale_impl.h: Export of the locale facets container for MSVC compilers.
5471
5472 * src/vc_warning_disable.h: Modification to limit the number of disables depending
5473 on the compiler.
5474
54752005-01-18 Francois Dumont <dums@stlport...>
5476
5477 * stlport/stl/_algo.c: Modification of the stable_partition implementation
5478 to limit the size of the allocated temporary buffer of the begin and end
5479 of the range are already at the right place thanks a Stephen Howe idear.
5480
5481 * build/test/unit/nmake-vc-common.mak, nmake-evc-common.mak: Removal of the
5482 _STLP_USE_AUTO_LINK macro which is now the default.
5483
54842005-01-14 Francois Dumont <dums@stlport...>
5485
5486 * stlport/stl/_windows.h, char_traits.h, src/c_locale_win32/c_locale_win32.c:
5487 Patch from Patrick Bergeron to support 64 bits compilation under Windows using
5488 VC8.
5489
5490 * stlport/stl/boost_type_traits.h: boost support check and fixing.
5491
54922005-01-13 Francois Dumont <dums@stlport...>
5493
5494 * stlport/stl/_algobase.h: Improvment of the iter_swap algo to use the swap
5495 method when possible thanks David Abrahams and Aleksey Gurtovoy great book
5496 introduction.
5497
5498 * stlport/stl/_alloc.h: Deactivation of the lock free allocator implementation
5499 not mature enough to be release yet.
5500
5501 * stlport/stl/_uninitialized.h: Fix of non Standard algo signature:
5502 - uninitialized_fill_n
5503
5504 * stlport/stl/_iterator_base.h: Fix of non Standard algo signature:
5505 - distance
5506
5507 * stlport/stl/_algobase.h: Fix of non Standard algo signature:
5508 - fill_n
5509
5510 * stlport/stl/_algo.h: Fix of non Standard algo signature:
5511 - rotate
5512 - generate_n
5513
5514 * stlport/stl/_string.h, debug/_string.h: Fix of the non Standard basic_string
5515 default constructor.
5516
5517 * stlport/stl/_algobase.h, _function.h, _iterator_base.h, _move_construct_fwk.h,
5518 _ptr_specialize.h, char_traits.h, debug/_debug.h: Fix of the macro name check
5519 before including type_traits.h.
5520
55212005-01-08 Francois Dumont <dums@stlport...>
5522
5523 * stlport/stl/_codecvt.h: Add of a missing export declaration for the wchar_t
5524 specialization of the codecvt_byname class.
5525
5526 * src/stlport.rc: improvement of the information included in the ressource file.
5527 Especially add of the compiler options.
5528
5529 * stlport/stl/_stlport_version.h: Creation of a special file containing all the
5530 version informations; very useful to avoid problem with the ressource compiler.
5531
5532 * stlport/stl/_config.h: Removal of the unused _STLP_USING_VENDOR_STD macro.
5533 Inclusion of the _stlport_version.h file. Update of the comment explaining why
5534 _STLP_USE_DECLSPEC is undefined when user do not use iostreams.
5535
5536 * build/Makefiles/nmake/vc-common.mak, evc-common.mak, gmake/gcc.mak: Improvement
5537 of the ressource compiler options.
5538
55392005-01-06 Francois Dumont <dums@stlport...>
5540
5541 * stlport/config/stl_msvc.h: Move the _STLP_DONT_RETURN_VOID configuration
5542 macro to the specific MSVC6 compiler as it is the only one that has ever
5543 reveal this bug.
5544
55452005-01-05 Francois Dumont <dums@stlport...>
5546
5547 * stlport/stl/_string_sum_methods.h: Fixes reported by gcc.
5548
55492005-01-04 Francois Dumont <dums@stlport...>
5550
5551 * doc/README.evc3: patched by Michael Fink
5552
5553 * build/lib/configure.bat: warning fix thanks Michael Fink.
5554
5555 * build/test/unit/nmake-src-prefix.mak: fixed thanks Michael Fink.
5556
55572005-01-02 Francois Dumont <dums@stlport...>
5558
5559 * stlport/stl/_string_sum.h, _string_operators.h: Fix of an assignment bug
5560 in the append method taking a C string wrapper. Modification of the __bstr_sum
5561 get_allocator method to avoid a useless allocation.
5562
5563 * build/lib/nmake-src-prefix.mak: Add of missing rules for .c and .rc file type.
5564
55652004-12-29 Francois Dumont <dums@stlport...>
5566
5567 * stlport/stl/_hashtable.c: Fix missing allocator argument in new slist
5568 construction and bad number of buckets thanks See Wong report.
5569
5570 * test/unit/unordered_test.cpp: Add of a test to report the previous
5571 problem.
5572
5573 * build/Makefiles/nmake/vc-common.mak, evc-common.mak: Generalization of the
5574 /DMACRO compiler command rather than /D "MACRO".
5575
5576 * test/unit/string_test.cpp: Creation of a new test case for string template
5577 expression.
5578
5579 * stlport/stl/_string_sum.h, _string_sum_methods.h: Fixing of many bugs in the
5580 string template expressions implementation.
5581
5582 * stlport/stl/_tree.c: Add of a comment in the _M_increment method explaining
5583 a surprising checks thanks Ulrich Eckhardt.
5584
55852004-12-24 Petr Ovtchenkov <ptr@island...>
5586
5587 * build/Makefiles: makesystem moved here from src/Makefiles
5588
5589 * build/lib: makefiles moved here from src catalog.
5590
5591 * build/test/unit: makefiles moved here from test/unit catalog.
5592
5593 * INSTALL: updated.
5594
5595 * README: updated.
5596
55972004-12-23 Francois Dumont <dums@stlport...>
5598
5599 * stlport/stl/_vector.h, _vector.c: Fix of the code for movable types
5600 in call to push_back or insert of a value in case of auto referencing
5601 thanks Benjamin Redelings.
5602
5603 * stlport/stl/_hashtable.c: Fix of the _M_copy method thanks Timothy
5604 Tenebekov.
5605
56062004-12-22 Francois Dumont <dums@stlport...>
5607
5608 * stlport/stl/debug/_string.h: Fix of missing scopes thanks arabesc and
5609 Benjamin Redelings
5610
5611 *stlport/config/stl_gcc.h: include schema fix for gcc >= 4.0.0 thanks
5612 Oliver Stoeneberg
5613
56142004-12-21 Francois Dumont <dums@stlport...>
5615
5616 * stlport/stl/_hashtable.c: Fix copy method thanks KL report.
5617
5618 * stlport/stl/_vector.h, _deque.h: Fix implementation for vector of
5619 movable objects when calling erase of a null range thanks to arabesc report.
5620
5621 * stlport/stl/_string.h, _string_workaround.h, debug/_string.h,
5622 debug/_string_workaround.h: Implementation of the MSVC6 template method bug
5623 workaround exclusively for MSVC6 and not anymore for all compilers.
5624
56252004-12-21 Petr Ovtchenkov <ptr@island...>
5626
5627 * src: untested (lost support) .mak and installation files moved into
5628 initial_mak catalog.
5629
5630 * explore, src: explore catalog moved into src catalog. Makefiles from
5631 explore catalog become main makesystem of STLport.
5632
56332004-12-20 Francois Dumont <dums@stlport...>
5634
5635 * stlport/stl/_hashtable.h: Fix of the const begin and end methods of the
5636 new implementation thanks Timothy Tenebekov report.
5637
56382004-12-17 Francois Dumont <dums@stlport...>
5639
5640 * stlport/cmath, cstdlib, stl/_cmath.h, config/stl_msvc.h: Configuration
5641 fixes for .Net 2002.
5642
56432004-12-17 Boris Fomitchev <boris@stlport...>
5644
5645 * char_traits.h: fixed _STLP_NO_WCHAR_T case
5646
5647 * src/common_macros.mak: deleted locale.cpp
5648
56492004-12-17 Francois Dumont <dums@stlport...>
5650
5651 * src/explore/Makefiles/nmake/app/rules-install-a.mak, rules-install-so.mak
5652 lib/rules-install-so.mak: Creation of the install-shared and install-static
5653 from Michael Fink.
5654
56552004-12-16 Francois Dumont <dums@stlport...>
5656
5657 * stlport/stl/debug/_debug.h, _debug.c: Creation of functions to change iterators
5658 list owner.
5659
5660 * stlport/stl/debug/_list.h, _slist.h: Modification of the iterator owners in the
5661 splice, splice_after and merge method which do not invalidate iterators but only
5662 move them from a [s]list to an other.
5663
5664 * stlport/stl/_relops_hash_cont.h: removal of the == operator on hashed containers
5665 This operator is just impossible, or at least very complicated, to implement
5666 for this container which do not require any ordering operation on the type used
5667 to instanciate the container.
5668
5669 * test/unit/hash_test.cpp: Addition of a commented test showing why the == operator
5670 is invalid on hashed constainers.
5671
5672 * stlport/stl/_hashtable.h: Modification of the hashtable implementation based
5673 on a slist and a vector. Compared to the previous one the advantages are:
5674 - lighter hashtable::iterator
5675 - iterator increment operation do no require call to the hash function.
5676 - no more special implementation for the debug mode, once validated debug/_hashtable.h
5677 will be removed.
5678 The drawback is a small overhead on the insert/erase methods.
5679
5680 * stlport/unordered_set, unordered_map: Introduction of the almost Standard hash containers.
5681 The major difference with hash_set or hash_map containers from SGI is the load factor
5682 that gives the user the ability to change the container ratio of the number of elements per
5683 bucket.
5684
56852004-12-13 Francois Dumont <dums@stlport...>
5686
5687 * stlport/stdio.h: patch from Michael Fink to avoid warning on the EVC platform.
5688
5689 * doc/evc_workaround.txt: Documentation file from Ulrich Eckhardt about the EVC
5690 workaround to avoid annoying warnings.
5691
5692 * stlport/typeinfo: Patch from Ulrich Eckhardt to fix missing type_info struct
5693 under MSVC6 and EVC and also identation.
5694
56952004-12-10 Francois Dumont <dums@stlport...>
5696
5697 * stlport/stl/_collate.h, _locale.h: fix of the __locale_do_operator_call internal
5698 function to make traits and allocator also template parameters.
5699
5700 * stlport/stl/_locale.h, _collate.h, stlport/config/stl_msvc.h, src/locale.cpp,
5701 src/locale_impl.h: restoration of the MSVC6 workaround for the locale class to
5702 correctly handle the member template methods.
5703
57042004-12-09 Francois Dumont <dums@stlport...>
5705
5706 * stlport/stl/_messages_facets.h: fixed messages_base::catalog from long typedef
5707 to int thanks Ulrich Eckhardt report.
5708
5709 * stlport/stl_user_config.h, config/stl_msvc.h: addition of the _STLP_VERBOSE_AUTO_LINK
5710 config macro to make the automatic linking feature more verbose thanks Ulrich Eckhardt
5711 patch.
5712
5713 * stlport/exception: Add check of the _STLP_HAS_SPECIFIC_PROLOG_EPILOG macro before
5714 including _msvc_warning_off.h to avoid bad resulting warning status when the _epilog.h
5715 header is not included thanks Gail (baker88) report.
5716
5717 * stlport/cassert, cerrno, csignal, ctype.h, cwctype, stdarg.h, stdlib.h, string.h,
5718 config/stl_evc.h: Patch from Michael Fink to fix compilation problem using ressource
5719 compiler for evc3 and evc4 and problems with cerrno and cassert inclusions reported
5720 by Ulrich Eckhardt.
5721
57222004-12-01 Petr Ovtchenkov <ptr@island...>
5723
5724 * stlport/stdexcept: removes some warnings regarding the exception class being derived
5725 from a non-dll interface class on evc4. Michael Fink contribution.
5726
5727 * stlport/stl/_cmath.h: push/pop warning level for VCs. Michael Fink contribution.
5728
5729 * src/_stdio_file.h: Evc4 uses an ugly hack to implement file IO using a FILECE structure
5730 representing the internal FILE structure. For evc3 Michael Fink implemented a much simpler
5731 way that also works for evc4.
5732
5733 * stlport/config/stl_evc.h, stl_msvc.h, stlcomp.h: separate config stuff for stl_evc.h
5734 and stl_msvc.h. Now all Windows CE specific defines are in stl_evc.h only.
5735 Michael Fink contribution.
5736
5737 * stlport/stl/_codecvt.h, _ctype.h, _messages_facets.h, _monetary.h: add friend class
5738 _Locale_impl.
5739
5740 * stlport/stl/_num_get.h, _num_put.h, _numpunct.h, _time_facets.h: ditto.
5741
57422004-11-30 Petr Ovtchenkov <ptr@island...>
5743
5744 * src/explore/configure.bat: added quotes. Thanks Ulrich Eckhardt and Michael Fink.
5745
5746 * stlport/stl/_locale.h, src/locale_impl.h, src/locale_impl.cpp: added _STLP_DECLSPEC
5747 and _STLP_CALL for some functions. Thanks Ulrich Eckhardt.
5748
5749 * stlport/stl/_collate.h, _numpunct.h, _monetary.h, _codecvt.h, _time_facets.h:
5750 _Locale_imp made friend without relation to _STLP_LEAKS_PEDANTIC. Thanks Ulrich Eckhardt.
5751
5752 * stlport/stl/_locale.h: remove body of protected constructor to avoid warnings.
5753 Thanks Kidman and Ulrich Eckhardt.
5754
5755 * src/locale_impl.cpp: use simple resize of facets_vec; reserve space for facets_vec to be
5756 sure that allocation don't throw exception during vector resize in insert_*_facets functions.
5757 Thanks Ulrich Eckhardt.
5758
57592004-11-29 Petr Ovtchenkov <ptr@island...>
5760
5761 * stlport/stl/_cmath.h: patch from Michael Fink applied.
5762
5763 * stlport/stl/_locale.h: remove enclose class spec to avoid VC confuse.
5764 Thanks Ulrich Eckhardt.
5765
5766 * src/locale_impl.cpp, src/locale_impl.h: remove bogus _STLP_CALL decls.
5767 Thanks Ulrich Eckhardt.
5768
57692004-11-27 Petr Ovtchenkov <ptr@island...>
5770
5771 * stlport/stl/_threads.h: direct access to _M_ref_count isn't MT-safe;
5772 counter value returned by _M_incr and _M_decr methods only.
5773
5774 * stlport/stl/_rope.h, stlport/stl/_rope.c: adaptation to changes above;
5775 removed __GC macro dependent code, that was never defined in present
5776 sources.
5777
5778 * src/locale.cpp, locale_impl.cpp, locale_impl.h: general revision of locale
5779 implementation; code clean, corrected, concepts fixed, errors fixed,
5780 new bugs added.
5781
5782 * src/ctype.cpp, facets_byname.cpp, locale_catalog.cpp, messages.cpp, monetary.cpp:
5783 ditto.
5784
5785 * stlport/stl/_codecvt.h, _collate.h, _ctype.h, _locale.h, _messages_facets.h:
5786 ditto.
5787
5788 * _monetary.h, _num_get.h, _num_put.h, _numpunct.h, _time_facets.h: ditto.
5789
5790 * src/locale_nonclassic.h: removed due to code revision.
5791
5792 * src/explore/Makefile.inc: locale.cpp is directly included into locale_impl.cpp.
5793
5794 * src/explore/gcc.mak, test/unit/gcc.mak: use _STLP_LEAKS_PEDANTIC before release
5795 by default.
5796
57972004-11-24 Francois Dumont <dums@stlport...>
5798
5799 * stlport/stl/_cmath.h: Fix of the abs definition for the EVC platform
5800 thanks Michael Fink.
5801
5802 * stlport/stl/_cmath.h: Fix of the Internal Compiler Error from MSVC6
5803 when defining math functions in the STLport namespace thanks Ulrich
5804 Eckhardt and I.
5805
5806 * stlport/stl/debug: Creation of a debug iterator traits used to make
5807 an additional test when checking iterator deferencing status, on slist
5808 before_begin iterators are not dereferenceable but were not detected
5809 as so.
5810
5811 * stlport/math.h, stdexcept: patches from Michael Fink to avoid warning
5812 on the EVC platform.
5813
58142004-11-22 Francois Dumont <dums@stlport...>
5815
5816 * src/explore/Makefiles/nmake/evc3.mak, evc4.mak: removal of the useless
5817 /DPLATFORM macro definition thanks Ulrich Eckhardt report and Michael Fink
5818 patch.
5819
5820 * stlport/cstdlib: extension of the div overload for long input up to MSVC7.1
5821 thanks Michael Fink report.
5822
5823 * test/unit/string_test.cpp: patch from Michael Fink for EVC which has limited
5824 support of the WaitForMultipleObjects API function.
5825
5826 * stlport/cstdlib, cwchar, using/cstring: patch from Michael Fink to remove
5827 imports of missing native C functions.
5828
58292004-11-16 Francois Dumont <dums@stlport...>
5830
5831 * src/explore/configure.bat: Add of the --rtl-static and --rtl-dynamic
5832 configuration options to force use of static or dynamic C runtime thanks
5833 Michael Fink.
5834
5835 * stlport/config/stl_msvc.h: undef of the _STLP_USING_CROSS_NATIVE_RUNTIME_LIB
5836 for the evc platform that only have the static C runtime version thanks
5837 Michael Fink.
5838
5839 * stlport/config/stl_bc.h, stl_dmc.h, stl_solaris.h: Removal of all references
5840 to the deprecated _STLP_NO_OWN_IOSTREAMS and _STLP_NO_NEW_IOSTREAMS macros.
5841
5842 * stlport/cmath, stl/_cmath.h: Modification of the import of the pow function
5843 for MSVC6 that has a bugged overload thanks Michael Fink report.
5844
58452004-11-09 Francois Dumont <dums@stlport...>
5846
5847 * test/unit/config_test.cpp: Creation of a test case to check correct
5848 platform/compiler configuration.
5849
5850 * stlport/config/stl_msvc.h: Definition of the _STLP_HAS_NATIVE_FLOAT_ABS
5851 now start with MSVC6.
5852
5853 * stlport/cstdlib, stl/_cmath.h: Addition of some missing math function
5854 overloads for MSVC6.
5855
58562004-11-05 Francois Dumont <dums@stlport...>
5857
5858 * stlport/config/stl_msvc.h: Definition of the _STLP_HAS_NATIVE_FLOAT_ABS
5859 starting with MSVC .Net 2002 thanks Kevin Bluck report.
5860
5861 * test/unit/cmath_test.cpp: Creation of a test case to check correct import
5862 and extensions of C functions.
5863
58642004-11-04 Petr Ovtchenkov <ptr@island...>
5865
5866 * src/explore/Makefiles: added templates CC.mak for SunPro's CC compilers;
5867 ones should be checked and fixed with real compiler.
5868
58692004-11-04 Francois Dumont <dums@stlport...>
5870
5871 * stlport/stl/_function.h, _queue.h, _stack.h, _map.h, _iterator.h:
5872 restoration of the Standard names of the protected datas.
5873
5874 * stlport/stl/_alloc.h, _alloc.c: implementation of a lock free version
5875 of the default STLport node_allocator. Supported by the Win32 platform
5876 for the moment.
5877
5878 * src/ios.cpp, locale.cpp, locale_impl.cpp: use of atomic operations
5879 under Win32 platform rather than using synchronisation primitives.
5880
5881 * stlport/stl/_tree.h, _map.h, _set.h: creation of the erase_unique and
5882 equal_range_unique methods to use the unicity information of the map and
5883 set containers in binary tree searches.
5884
5885 * stlport/stl/_string.h: Add _STLP_USE_NO_IOSTREAMS check beforing deciding
5886 not to include _string.c thanks KL
5887
58882004-11-02 Francois Dumont <dums@stlport...>
5889
5890 * stlport/stl/pointers/_deque.h: Fix for the problem of the deque<void*>
5891 instanciation thanks Alex Cosealin report
5892
5893 * test/unit/ptrspec_test.cpp: Add of a test for the previous problem.
5894
58952004-10-31 Francois Dumont <dums@stlport...>
5896
5897 * stlport/stl/_rope.h: Fix of the apply_to_pieces qualification thanks Leeya.
5898
5899 * test/unit/rope_test.cpp: New test case for the previous fix.
5900
59012004-10-30 Francois Dumont <dums@stlport...>
5902
5903 * src/explore/Makefiles/nmake/vc-common.mak: introductions of the LDFLAGS_A_REL
5904 macro to fix config problem under VC71 and VC8 beta.
5905
59062004-10-29 Petr Ovtchenkov <ptr@island...>
5907
5908 * src/explore/Makefiles/gmake/app/gcc.mak: use -fPIC for gcc 2.95.x when build
5909 application---this is a workaround for bug with running code in static constructors.
5910
5911 * stlport/config/stl_gcc.h, stlport/stl/_config.h: force usage of mutex instead
5912 of spinlock for gcc 2.95.x, due to problems with initialization of statics.
5913 Initialization of mutex has variant with structure filling, while for spinlock
5914 initialization function call required.
5915
5916 * test/unit/locale_test.cpp: avoid static object for gcc 2.95.x, due to problems
5917 with initialization of statics.
5918
59192004-10-27 Francois Dumont <dums@stlport...>
5920
5921 * stlport/stl/_config.h, _fstream.h, _ios.h, _istream.h, _monetary.h, _num_get.h,
5922 _num_put.h, _ostream.h, _sstream.h, _streambuf.h, _string.h, _time_facets.h:
5923 Restoration of the _STLP_NO_CUSTOM_IO feature removed after cleanup reported
5924 in 2004-09-28 post from Petr.
5925
5926 * stlport/stl/stl_user_config.h, _config.h, stl_msvc.h: reactivation of the
5927 auto link feature for MSVC but only if activated by the client. Moreover the
5928 new implementation of this feature is more maintenable, stl_msvc.h won't have
5929 to be edited at each STLport release.
5930
5931 * test/unit/nmake-vc-common.mak, nmake-evc-common.mak: Adoption of the auto link
5932 process.
5933
59342004-10-25 Francois Dumont <dums@stlport...>
5935
5936 * stlport/stl/_config.h: Introduction of the _STLP_DONT_USE_EXCEPTIONS which
5937 means that the client do not want to use the C++ exception feature. It is
5938 different from the _STLP_NO_EXCEPTIONS which means that the compiler do not
5939 support exceptions at all. The distinction is important for some macros definition.
5940
5941 * test/unit: Modification of the _STLP_NO_EXCEPTIONS test to the more general
5942 _STLP_USE_EXCEPTION macro.
5943
5944 * stlport/stl/_ios_base.h, src/ios.cpp: rollback of the modifications of the
5945 2004-10-24.
5946
5947 * stlport/config/stl_msvc.h, stl_gcc.h: Those 2 compilers have a exception
5948 support switch, when exceptions are unactivated they now define
5949 _STLP_DONT_USE_EXCEPTIONS rather than _STLP_NO_EXCEPTIONS.
5950
59512004-10-25 Petr Ovtchenkov <ptr@island...>
5952
5953 * stlport/stl/_sstream.c: cur direction missed in seekoff. Thanks David Obermann.
5954
5955 * sstream_test.cpp: test for problem above.
5956
59572004-10-24 Francois Dumont <dums@stlport...>
5958
5959 * stlport/stl/_ios_base.h, src/ios.cpp: definition of the ios_base::failure
5960 nested class only when exception support is activated.
5961
5962 * stlport/stl/_deque.h, _deque.c: Modification of the deque implementation
5963 to use the internal move framework.
5964
5965 * test/unit/mvctor_test.cpp: New test case for the use of the move
5966 framework within the deque container.
5967
59682004-10-21 Francois Dumont <dums@stlport...>
5969
5970 * stlport/stl/_iostring_stream.h: Simplification of the __stl_alloc_rebind
5971 overload to make it less ambiguous for the compilers using it.
5972
59732004-10-18 Francois Dumont <dums@stlport...>
5974
5975 * stlport/stl/_vector.h, _vector.c: Add of checks to know if a reference
5976 is in *this before making a systematical copy of it.
5977
59782004-10-18 Petr Ovtchenkov <ptr@island...>
5979
5980 * stlport/stl/type_manips.h: replace template <> by macro.
5981
5982 * stlport/stl/debug/_debug.h, _debug.c: __check_if_not_owner should return true
5983 in case of incompatible types and do check different from __check_if_owner;
5984 added message for check __check_if_not_owner.
5985
5986 * test/unit/mvctor_test.cpp, test/unit/ptrspec_test.cpp: fix tests to satisfy
5987 changes related to 23.1.1 Table 67 in stlport/stl/debug/_vector.h, _deque.h---see
5988 record 2004-10-14 below.
5989
59902004-10-14 Francois Dumont <dums@stlport...>
5991
5992 * stlport/stl/debug/_iterator.h: Move of some _DBG_iter_base and _DBG_iter
5993 methods implementation outside struct definition to fix call on incomplete
5994 type compile error generated by the call to the _Incrementable or _Dereferenceable
5995 functions passing *this as input parameter thanks Alexey Sarytchev
5996
5997 * test/unit/sstream_test.cpp, fstream_test.cpp: Fix of the tests on streambuf
5998 throwing exception for platform with no exception support.
5999
6000 * stl/_string.h: Add of the missing compare methods on the basic_string
6001 implementation used by compilers supporting template methods thanks Patrick
6002 Bennett report.
6003
6004 * stlport/stl/debug/_vector.h, _deque.h: Add check on the insert range method,
6005 the inserted can not be pointing to the this instance where the insertion occur.
6006
60072004-10-13 Petr Ovtchenkov <ptr@island...>
6008
6009 * src/explore/Makefiles/gmake: a bit correction of compiled and installed names
6010 of executables on *nix systems, see record 2004-09-29 by Francois.
6011
60122004-10-12 Francois Dumont <dums@stlport...>
6013
6014 * stlport/stl/_config.h: typo fix thanks KL
6015
6016 * stlport/stl/_move_construct_fwk.h, _set.h, _map.h, _hash_set.h, _hash_map.h:
6017 Extra semicolons removal thanks Wlodek Szafran reports.
6018
60192004-10-11 Petr Ovtchenkov <ptr@island...>
6020
6021 * stlport/stl/_rope.h: add typename.
6022
60232004-10-08 Francois Dumont <dums@stlport...>
6024
6025 * stlport/stl/_deque.h, _hashtable.h, _tree.h, _bvector.h: Specialization of the
6026 __type_traits struct for the iterator types.
6027
6028 * stlport/stl/_uninitialized.h, _vector.h: Relax of the rules to perform some
6029 optimizations, no more POD check, rather use of the trivial copy constructor,
6030 trivial assignment operator informations.
6031
6032 * stlport/stl/_config.h, _epilog.h: Adoption of stlport as the official STLport
6033 namespace when users cannot use the std namespace.
6034
60352004-10-07 Francois Dumont <dums@stlport...>
6036
6037 * stlport/stl/_list.h: Specialization of the __type_traits struct for list iterators.
6038 Move of the == and != operators from the base iterator class to the iterator class
6039 to make iterator of different list instanciation not comparable anymore.
6040
6041 * stlport/stl/_slist.h: ditto.
6042
60432004-10-06 Francois Dumont <dums@stlport...>
6044
6045 * stlport/stl/_rope.h, _rope.c: Code review, use of general STLport tools rather
6046 than specific rope ones. Use of compile time checks rather than runtime.
6047
6048 * stlport/stl/_bvector.h: fix to make the vector<bool> specialization movable
6049 thanks a Kelly Thompson report.
6050
60512004-10-05 Francois Dumont <dums@stlport...>
6052
6053 * src/explore/Makefiles/nmake: Application of a patch from Michael Fink to simplify
6054 the evc make system.
6055
6056 * doc/README.evc4: New version from Zdenek Nemec.
6057
60582004-10-04 Francois Dumont <dums@stlport...>
6059
6060 * test/unit/type_traits_test.cpp: A new test case to check behavior of
6061 the numerous helper functions from type_traits.h and type_manips.h.
6062
6063 * stlport/stl/type_traits.h: Fix of some bugs and addition of the __type_traits
6064 specializations of const, volatile and const volatile native types.
6065
6066 * stlport/stl/type_manips.h: Modification of the __bool2type default value
6067 so that it consider any value as true and only the 0 value false.
6068
6069 * stlport/config/stl_msvc.h, stlport/stl/_config.h: Modification of the STLport
6070 std equivalent namespace to be sure that the user rebuild correctly the STLport
6071 library when he forces the use of the dynamic or static library.
6072
6073 * src/explore/Makefiles/nmake/lib/vc-common.mak, app/vc-common.mak: Creation
6074 of the STLP_BUILD_FORCE_STATIC_RUNTIME that forces use of the static version
6075 of the native runtime.
6076
6077 * test/unit: fix of some tests that failed to compile using the
6078 _STLP_NO_ANACHRONISMS macro.
6079
60802004-09-30 Petr Ovtchenkov <ptr@island...>
6081
6082 * test/regression: catalog removed---it obsolete and unsupported; use
6083 test/unit tests instead; all tests from test/regression was moved in test/unit,
6084 sometimes in redesigned form.
6085
60862004-09-29 Francois Dumont <dums@stlport...>
6087
6088 * stlport/stl/_string_io.c: Removal of the native library specific calls of
6089 use_facet, only the STLport standard one is used.
6090
6091 * stlport/stl/_alloc.h, _alloc.c, src/dll_main.cpp: Implementation of a clean
6092 process for the node_alloc allocator. This clean is active only when
6093 _STLP_LEAKS_PEDANTIC is defined and you are using STLport as a dynamic
6094 library under Win32.
6095
6096 * src/explore: Updates of several makefiles to conform to the new library
6097 and binary naming convention.
6098
6099 * src/c_locale_win32/c_locale_win32.c: fix of the message facet name management
6100 that was generating a memory leak.
6101
61022004-09-29 Petr Ovtchenkov <ptr@island...>
6103
6104 * stlport/stl/char_traits.h: WinCE seems don't declare off_t; thanks Michael Fink.
6105
61062004-09-28 Petr Ovtchenkov <ptr@island...>
6107
6108 * Repository: iostreams and string wrapper mode removed, due to ones has
6109 a lot of restrictions in usage and frequently lead to hard recognized problems.
6110 Tonns of *_STREAMS macro replaced by _STLP_USE_NO_IOSTREAMS or _STLP_NO_IOSTREAMS
6111 as configuration macro; *NATIVE_STRING macro removed by the same reasons.
6112
61132004-09-27 Petr Ovtchenkov <ptr@island...>
6114
6115 * test/unit/gcc.mak: fix stlport library name for STLP_DEBUG mode for Solaris,
6116 thanks for separate namespaces in normal and STLP_DEBUG mode, see record
6117 2004-09-10 below.
6118
61192004-09-24 Francois Dumont <dums@...>
6120
6121 * stlport/config/stl_gcc.h: Fix of the relative include path used to access the
6122 native gcc headers. Before version 3.4.0 the 0 patch level was not part of the
6123 include path.
6124
6125 * stlport/stl/type_traits.h, _vector.h, _algobase.h, _construct.h: Removal
6126 of the __action_on_move type traits replaced by a generalization of the
6127 already existing __move_traits.
6128
6129 * test/unit/mvctor_test.cpp: New test case for the __move_traits feature.
6130
61312004-09-24 Petr Ovtchenkov <ptr@island...>
6132
6133 * src/explore/Makefiles/gmake/sunos: 'explore' makesystem adopted to work
6134 under Solaris with GNU make.
6135
6136 * test/unit/gcc.mak: ditto.
6137
6138 * src/explore/Makefiles/gmake/app/gcc.mak: ditto.
6139
6140 * src/explore/Makefiles/gmake/lib/gcc.mak: ditto.
6141
6142 * stlport/cmath: fix some math calls for Solaris.
6143
6144 * test/unit/list_test.cpp: add illustration for list iterator/reverse_iterator questions.
6145
6146 * src/explore/Makefiles/gmake/unix/lib.mak: moved from linux/lib.mak, as
6147 common rules for all *nixes.
6148
6149 * src/explore/Makefiles/gmake/linux/lib.mak: use common for all *nixes rules
6150 in unix/lib.mak.
6151
6152 * src/explore/Makefiles/gmake/freebsd/lib.mak: ditto.
6153
6154 * src/explore/Makefiles/gmake/openbsd/lib.mak: ditto.
6155
6156 * src/explore/Makefiles/gmake/sunos/lib.mak: ditto.
6157
6158 * src/explore/Makefiles/gmake/unix/lib.mak, test/unit/gcc.mak: changed library name;
6159 libraries now named as libstlport, libstlportg, libstlportstlg for optimized, with
6160 debug symbols, and with debug symbols and _STLP_DEBUG mode libraries respectivly.
6161
61622004-09-21 Francois Dumont <dums@...>
6163
6164 * stlport/stl/debug: Modification of the __check_range class in the more general
6165 __check_construct. Now it also checks for null pointers in the string interface.
6166
6167 * src/explore: Adoption of the new library naming convention for all Microsoft
6168 compilers thanks Michael Fink
6169
61702004-09-20 Francois Dumont <dums@...>
6171
6172 * src/explore/Makefiles/gmake/cygwin, mingw: Build configuration files merges
6173 within a single build system: cygming. Future portage of STLport for compilers
6174 using the GNU tools will be available from both systems. Removal of the vc6 build
6175 under cygwin, for mono-platform compilers we support only one build system.
6176
6177 * stlport/stl/_vector.h: Modification of the destructor implementation to destroyed
6178 object instances in a reverse order taking advantage of the way elements are
6179 normaly added to this container.
6180
61812004-09-16 Francois Dumont <dums@...>
6182
6183 * test/unit/cppunit/cppunit_mini.h, cppunit_proxy.h: Adaptation of the CPPUNIT
6184 framework to take care of the exception as failures thanks Zdenek Nemec
6185
6186 * stlport/config/stl_msvc.h, stl_bc.h, stl_mwerks.h, stlport/stl_user_config.h:
6187 Removal of the non intuitive and difficult to maintain automatic linking feature.
6188
6189 * Fixing of the locale implementation mecanism. Classic locale implementation is
6190 also managed by a reference counter to be sure when it is possible to release
6191 the associated ressources. Fix of a missing locale impl ref counter decrement
6192 in the template locale constructor taking a facet, it was a possible source of
6193 memory leak . Addition of a static object within locale_impl.cpp in
6194 _STLP_LEAKS_PEDANTIC mode to decrement the global locale impl ref counter when
6195 STLport library is unloaded. Addition of all the missing classic locale facets
6196 destructor in free_classic_locale.
6197
6198 * src/locale_catalog.cpp: The locale by name constructor checks the "C" name
6199 to simply copy (increment the ref counter) the classic locale implementation
6200 rather than instanciating a new one.
6201
62022004-09-15 Francois Dumont <dums@...>
6203
6204 * stlport/stl/_list.c: Modification of the _S_sort implementation, the __carry
6205 list instance is created using the __that allocator instance copy to be more
6206 allocator friendly.
6207
62082004-09-11 Francois Dumont <dums@...>
6209
6210 * stlport/config/stl_intel.h: Configuration update for Win32 Intel 8.0
6211 compiler thanks Charlemagne.
6212
62132004-09-10 Francois Dumont <dums@...>
6214
6215 * stlport/stl/_config.h: The new official namespace is now stlp_std. _STL is
6216 just an alias. STLPORT macro still contains the STLport std namespace equivalent.
6217 Moreover in _STLP_DEBUG mode, which is not binary compatible with the release
6218 or debug mode, the namespace is stlpd_std to generate link error rather
6219 than runtime crash.
6220
62212004-09-09 Francois Dumont <dums@...>
6222
6223 * stlport/stl/_config.h: _STLP_DONT_USE_NESTED_TCLASS_THROUGHT_TPARAM
6224 renamed to the more intuitive _STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE.
6225
6226 * stlport/stl/_config.h: Introduction of a new namespace stlp_private
6227 defined in the global namespace. Everything that is STLport implementation
6228 details should be in this namespace to avoid polution of the std namespace.
6229
6230 * stlport/stl/_iterator_base.h: Modification of the macro used to create
6231 iterator traits for all tree and hashtable based containers to move it in
6232 the stlp_private namespace rather than defining it as nested struct, limits
6233 the symbol size.
6234
62352004-09-08 Francois Dumont <dums@...>
6236
6237 * test/unit/fstream_test.cpp: restauration of the test added by Petr
6238 the 2004-09-03, it is finaly a different test from the one in sstream_test.cpp.
6239 Some more checks have also been integrated.
6240
6241 * stlport/stl/_ostream.c: New fix of the _M_unbuffured_copy method that was
6242 still bugged in case of a throwing output streambuf, detected thanks to the
6243 test case.
6244
62452004-09-07 Francois Dumont <dums@...>
6246
6247 * stlport/config/stl_msvc.h: Add defines of the _STLP_USE_STATIC_LIB
6248 or _STLP_USE_DYNAMIC_LIB depending on the current kind of build.
6249
6250 * stlport/stl/_streambuf.h, _streambug.c: Fix an unresolved symbol
6251 problem for MSVC6 (and before?) when STLport is used as a static library.
6252
62532004-09-06 Francois Dumont <dums@...>
6254
6255 * test/unit/nmake-evc-common.mak: Use of the dynamic runtime for the
6256 *-shared rules rather than the previous static thanks Michael Fink.
6257
6258 * test/unit/nmake-evc*.mak: end of build code factorisation, use of
6259 nmake-evc-common.mak within all makefiles thanks Michael Fink.
6260
6261 * test/unit/locale_test.cpp: Application of a patch from Michael Fink
6262 to check the "C" locale on all platforms. Fix of the money_get_put test
6263 case for the "C" locale.
6264
6265 * test/unit/allocator_test.cpp: new test case for std::allocator checks.
6266
62672004-09-05 Francois Dumont <dums@...>
6268
6269 * stlport/stl/_string_hash.h: Performance improvement, multiplication
6270 replaced by shift operations thanks Greg S.
6271
6272 * stlport/config/stl_wince_4.h: removed, never used, stl_evc.h has been
6273 prefered.
6274
6275 * test/unit/string_test.cpp: addition of a new test short_string_optim_bug
6276 to check for a compiler bugs making the short string optim invalid thanks
6277 Michael Fink.
6278
6279 * stlport/config/stl_evc.h: Deactivation of the short string optimization
6280 because of a compiler bug thanks Michael Fink.
6281
6282 * src/explore: factorisation of the evc build makefiles thanks Michael Fink.
6283
6284 * src/explore/Makefiles/nmake/lib/clean.mak, macro.mak: Addition of some
6285 file clean up for the clobber rule thanks Michael Fink.
6286
62872004-09-03 Francois Dumont <dums@...>
6288
6289 * test/unit/fstream_test.cpp, sstream_test.cpp: Move of the test for the
6290 infinite loop from FstreamTest test case to SstreamTest, addition of some
6291 checks.
6292
6293 * test/unit/full_streambuf.h: streambuf implementation simulating full
6294 output.
6295
6296 * stlport/exception: restauration of some modification removed after the
6297 rollback of the 2004-09-01.
6298
6299 * stlport/config/stl_gcc.h: homogeneification of the coding standard used
6300 within STLport, 2 spaces indentations even for preprocessor directives.
6301 Doing so, discovered a weird configuration for Mac OS platform (__APPLE__)
6302 concerning the _STLP_NATIVE_INCLUDE_PATH macro definition, fixed.
6303
6304 * stlport/stl/config/stl_*.mak: removal of all references to the
6305 _STLP_REDEFINED_STD macro as it is now the default and only way STLport
6306 use to replace native Standard library.
6307
6308 * test/unit/nmake-vc-common.mak: add inclusion of the vc_warning_disable.h
6309 file to avoid warnings during build process thanks Michael Fink.
6310
63112004-09-03 Petr Ovtchenkov <ptr@Island...>
6312
6313 * stlport/stl/_ostream.c: removed infinite loop in case when outgoing stream
6314 can't accept more chars. Thanks Daniel White, Ulrich Eckhardt, Francois Dumont.
6315
6316 * test/unit/fstream_test.cpp: test for problem above. Thanks Ulrich Eckhardt.
6317
63182004-09-02 Francois Dumont <dums@...>
6319
6320 * stlport/exception, stlport/stl/_site_config.h, test/unit/exception_test.cpp:
6321 Creation of the _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT macro to signal support of
6322 the unexpected exception mecanism. Related type/function are only brought to the
6323 STLport namespace if correctly supported, exception_test.cpp check that.
6324
6325 * New modification of the _Rb_tree and _Hashtable associated iterator structs.
6326 Removal of the container_type pass through the iterator traits; iterator traits
6327 is the type that will make each derived container iterator type real different
6328 type making them uncomparable.
6329
6330 * stlport/ctype.h: rollback of the above rollback ;-) only of course for the
6331 Win CE code fix that was part of the previous commitment.
6332
63332004-09-01 Petr Ovtchenkov <ptr@Island...>
6334
6335 * Rollback include schema: code is broken.
6336
63372004-08-31 Francois Dumont <dums@...>
6338
6339 * _STLP_INCOMPLETE_EXCEPTION_HEADER replace by the more intuitive
6340 _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT macro.
6341
6342 * Modification of the include schema of all public headers in stlport folder
6343 that need to be reentrant. Now those files are fully guarded and the specific
6344 STLport code is only included once at the end of the inclusion, the reentrancy
6345 only concern inclusion of the native headers.
6346
63472004-08-30 Francois Dumont <dums@...>
6348
6349 * stlport/stl/_deque.c: Fix of a pseudo 'uninitialized variable used' thanks
6350 Oliver Stoeneberg.
6351
63522004-08-27 Francois Dumont <dums@...>
6353
6354 * .Net 2002 (VC70) portage.
6355
63562004-08-27 Petr Ovtchenkov <ptr@Island...>
6357
6358 * src/explore/Makefiles/gmake/gcc.mak, app/gcc.mak, lib/gcc.mak: buggy C++
6359 language support in libsupc++ in gcc before 3.3 not allow to use it;
6360 link with libstdc++ instead.
6361
6362 * stlport/config/stl_icc.h: fix features for icc 7.1; fix features for Linux
6363 platforms.
6364
63652004-08-24 Francois Dumont <dums@...>
6366
6367 * stlport/config/stl_gcc.h, stl_msvc.h: fixing of configuration concerning
6368 uncaught_exception and exception handling in general thanks John Roberts.
6369
6370 * stlport/stl/_tree.h, _tree.c: Modification of the _Rb_tree_iterator struct
6371 to be able to distiguish iterator types from different tree based containers
6372 Removal of the == and != member operators of the _Rb_tree_base_iterator struct
6373 replaced by global operators taking _Rb_tree_iterator as parameters and checking
6374 that the iterators are of the same container type thanks Haroon Nassiry report.
6375
6376 * stlport/stl/_map.h, _set.h: Modification of the iterator traits used to
6377 instanciate the _Rb_tree class.
6378
6379 * stlport/stl/_hashtable.h, _hashtable.c, _hash_set.h, _hash_map.h: Similar
6380 modifications to the previous one in order to make for instance the iterator
6381 from hash_map and hash_multimap not comparable anymore.
6382
6383 * stlport/config/stl_wince.h, stlport/ctype.h: Move of the isspace C function
6384 Windows CE specific code from the config file to the ctype.h file. This fix
6385 will also apply to Embedded C++ .Net thanks Dirk report.
6386
63872004-08-23 Petr Ovtchenkov <ptr@Island...>
6388
6389 * test/unit/cppunit/cppunit_proxy.h, test/init/gcc.mak: CPPUNIT_MINI removed.
6390
6391 * src/num_get_float.cpp: suggestion to fix problem with float input for gcc 3.4.x
6392 with optimization flag.
6393
6394 * test/unit/floatio_test.cpp: test for infinity and near
6395
6396 * src/explore/Makefiles/gmake/gcc.mak, app/gcc.mak, lib/gcc.mak: fix detection of
6397 gcc version; gcc before 3.x had libgcc.a that contains some language support,
6398 so link with it in case when we avoid link with libstd++. This has relation only
6399 for linux systems.
6400
64012004-08-19 Petr Ovtchenkov <ptr@Island...>
6402
6403 * src/explore/configure.bat: setting up compiling STLport under Windows.
6404 Contribution by Michael Fink.
6405
64062004-08-13 Francois Dumont <dums@...>
6407
6408 * test/unit/gcc.mak: Addition of the _STLP_NO_CUSTOM_IO define to make test
6409 build faster.
6410
6411 * stlport/stl/_limits.h, _limits.c: Modification of the _LimG class definition.
6412 Removal of the static variables, replaced by static method having the same role
6413 but more portable. Fix link problem with MSVC compilers family when using STLport
6414 static library.
6415
6416 * stlport/stl/_bitset.h, _bitset.c: Ditto for the _Bs_G class.
6417
6418 * stlport/stl/_hashtable.h, _hashtable.c: Ditto for the _Stl_prime class.
6419
6420 * src/dll_main.cpp: thanks to the previous modification, removal of the
6421 concerned code within force_link.
6422
64232004-08-13 Petr Ovtchenkov <ptr@Island...>
6424
6425 * test/unit/cppunit/cppunit_mini.h, file_reporter.h, test_main.cpp:
6426 add function to print mess; remove def of CPPUNIT_MINI, not required; add const
6427 qualifiers.
6428
6429 * test/unit/locale_test.cpp: print checked locale name; restore table with format
6430 symbols--partially rollback changes 2004-07-29; add test for possible locale
6431 init/deinit problem---I don't see problem. Test inspired by Alex Kosilin.
6432
64332004-08-11 Francois Dumont <dums@...>
6434
6435 * src/explore/Makefiles/nmake: extension of the new build system for VC.Net
6436 2005 (VC8).
6437
6438 * src/explore/Makefiles/nmake/app: restauration of the default behavior shared
6439 rules generates executable using the STLport dynamic library and static rules
6440 use the static libraries.
6441
6442 * stlport/stl/_string.h: Add check of _STLP_NO_IOSTREAMS to force inclusion of
6443 _string.c in this case.
6444
6445 * stlport/stl/_string.c: removal of the _STLP_LINK_TIME_INSTANTIATION macro check
6446 before inclusion as the check is already done to include _string.c from _string.h.
6447
6448 * stlport/stl/_istream.h _istream.c: removal of the _M_put_num function definition
6449 from the .h and removal of all the inline implementation of the >> operators.
6450 _M_put_num is now hidden in the .c to avoid to have to deal with export of this
6451 symbol. Fix errors while using the _STLP_NO_CUSTOM_IO macro.
6452
6453 * stlport/stl/_ostream.h _ostream.c, src/ostream.cpp: ditto but for the _M_get_num
6454 function.
6455
6456 * stlport/stl/_istream.h _istream.c: _M_init_skip and _M_init_noskip are now inline
6457 functions defined within the .h to fix link errors when using the _STLP_NO_CUSTOM_IO
6458 macro.
6459
64602004-08-10 Francois Dumont <dums@...>
6461
6462 * stlport/stl/_string.h: add check of the _STLP_EXPOSE_STREAM_IMPLEMENTATION
6463 macro to include the _string.c file. Improve compile time when _STLP_NO_CUSTOM_IO
6464 is defined.
6465
6466 * stlport/stl/_string.h, stlport/stl/debug/_string.h, _string_mem_t.h: restoration
6467 of the template method specialization for backward compatibility between compilers
6468 implementating template method and the most recent one. It is considered as an
6469 STLport extension.
6470
64712004-08-09 Petr Ovtchenkov <ptr@Island...>
6472
6473 * test/compiler: tests to check whether compiler understand or not some
6474 language construction. It is NOT tests for language support libraries,
6475 only tests for compiler. The main purposes of this tests is to help
6476 for developers to find correct workarounds, if compiler don't understand
6477 some language constructions.
6478
64792004-08-09 Francois Dumont <dums@...>
6480
6481 * stlport/stl/_limits.h, stlport/config/stl_mycomp.h: introduction of a new macro
6482 configuration to signal no support of the IEC 559 specification for floating point
6483 numbers.
6484
6485 * stlport/config/stl_msvc.h: fix of the config to signal no IEC 559 support before
6486 Visual C++ .Net even if the infinity value is fine.
6487
6488 * test/unit/limits_test.cpp: New test case to check the right numeric_limits class
6489 configuration. Do not check the signaling_NaN yet...
6490
6491 * stlport/config/stl_msvc.h: Visual .Net Beta 2005 portage.
6492
6493 * stlport/stl/_ios.h: Move of the basic_ios::narrow and widen member method
6494 specialization before the explicit instanciation of the basic_ios class for
6495 the char type.
6496
6497 * stlport/stl/_construct.h, _num_put.c: fix of some unused parameter warning
6498 thanks Oliver Stoeneberg report.
6499
65002004-08-05 Francois Dumont <dums@...>
6501
6502 * Fixes of the internal move framework for compilers not supporting partial
6503 template specialization. The problem was detected thanks to the boost regression
6504 test suite.
6505
65062004-08-04 Francois Dumont <dums@...>
6507
6508 * stlport/stl/debug/_list.h, _slist.h: small review of the stlport debug code.
6509 Removal of any Standard reference in the slist class debug implementation. Removal
6510 of some unjustified iterator invalidation.
6511
6512 * stlport/stl/_locale.h, _collate.h, src/locale.cpp, locale_catalog.cpp, locale_impl.cpp:
6513 Split of the locale class implementation into _LocaleBase base class with no member
6514 template methods which is exported and the locale class which is not exported. This
6515 is a workaround for the MSVC6 compiler.
6516
65172004-08-03 Francois Dumont <dums@...>
6518
6519 * stlport/stl/_iterator.h: Fix of the back_insert_iterator, front_insert_iterator
6520 and insert_iterator to make them assignable like specify in the Standard requirements
6521 of the output iterators.
6522
6523 * test/unit/insert_test.cpp, finsert_test.cpp, binsert_test.cpp: Addition of tests for
6524 the assignment operators on the output iterators.
6525
65262004-08-02 Francois Dumont <dums@...>
6527
6528 * stlport/stl/_string.h, _string.c, debug/_string.h: split of the basic_string
6529 implementation into a class with no member templates and one with the member
6530 templates. Only the one with no member templates is exported. This is a MSVC6
6531 bug workaround as this compiler try to look for the class method symbols within
6532 the dynamic library even if this symbol is the one of template method which is
6533 not exported. That also make the basic_string implementation more clean so it
6534 has been adopted for all compilers.
6535
65362004-07-29 Francois Dumont <dums@...>
6537
6538 * test/unit/locale_test.cpp: Fix bad macro _STLP_NO_EXCEPTIONS spelling
6539 and add of a check for real locale implementation. Patch done by
6540 Michael Fink.
6541
6542 * stlport/stl/debug/_debug.h, _debug.c, _iterator.h: Modification of the
6543 __check_same_owner_or_null function name to the more intuitive
6544 __check_same_or_null_owner thanks a Aleksey Sanin remark.
6545
65462004-07-26 Petr Ovtchenkov <ptr@Island...>
6547
6548 * src/explore/Makefiles/gmake/lib/gcc.mak: avoid linkage with libstd++
6549 for gcc compilers.
6550
6551 * src/explore/Makefiles/gmake/linux/rules-so.mak: ditto
6552
6553 * src/explore/Makefiles/gmake/lib/rules-a.mak: ditto
6554
6555 * src/explore/Makefiles/gmake/app/top.mak: ditto
6556
65572004-07-21 Francois Dumont <dums@...>
6558
6559 * stlport/config/stl_gcc.h: Fix of a gcc 3.3.0 test that did not handle
6560 the gcc 2.95.x correctly thanks Jordan Breeding.
6561
6562 * src/common_rules.mak: Addition of the stlport/stl/pointers folder within
6563 the folder to be install. Add of a call to ranlib under linux mandatory under
6564 Mac OS X and without impact under the other Unixes systems.
6565
65662004-07-17 Francois Dumont <dums@...>
6567
6568 * Application of a Mac OSX patch from John Daniel (www.etresoft.com)
6569
65702004-07-15 Francois Dumont <dums@...>
6571
6572 * stlport/stl/_epilog.h: systematical use of the redefined std namespace
6573 rather than using the namespace inclusion schema.
6574
6575 * test/unit/set_test.cpp: addition of a test case to show the problem of
6576 the namespace injection schema.
6577
65782004-07-13 Francois Dumont <dums@...>
6579
6580 * stlport/numeric: removal of the _function.h header include.
6581
6582 * test/unit/divide_test.cpp: add the missing functionnal header
6583 inclusion.
6584
6585 * doc/README.msvc: new doc specific to the MSVC++ family compiler.
6586
65872004-07-12 Petr Ovtchenkov <ptr@Island...>
6588
6589 * test/unit/fstream_test.cpp: tests for unformatted extraction bug.
6590
6591 * stlport/stl/_istream.c: _M_read_unbuffered should leave delimiter
6592 in the stream in case of unformatted input. Thanks Joerg Becker.
6593
65942004-07-09 Francois Dumont <dums@...>
6595
6596 * src/sgi_mipspro.mak: add the -LANG:libc_in_namespace_std:OFF
6597 thanks Jack Perdue.
6598
65992004-07-08 Francois Dumont <dums@...>
6600
6601 * doc/README.evc3: additionnal doc thanks Michael Fink
6602
66032004-07-08 Petr Ovtchenkov <ptr@Island...>
6604
6605 * test/unit/sstream_test.cpp: added two test for unformatted extraction
6606 and newline character. Inspired by Joerg Becker.
6607
66082004-07-07 Francois Dumont <dums@...>
6609
6610 * stlport/stl/_hashtable.h, stlport/stl/_hashtable.c,
6611 stlport/stl/_hash_set.h, stlport/stl/_hash_map.h: generalization
6612 of the iterator traits adopted on the tree class. Now iterator and
6613 const_iterator on hash_set and hash_multiset are different types
6614 even if iterator is still immutable.
6615
6616 * stlport/stl/_deque.h, stlport/stl/_list.h, stlport/stl/_slist.h:
6617 Modification of the iterator classes to only use the template
6618 parameter _Traits rather than using an external type traits. It is
6619 the way hash containers and sorted containers have their iterator
6620 struct working.
6621
6622 * stlport/stl/_iterator_base.h: Addition of the immutable traits
6623 struct _Const_Const_traits and _Nonconst_Const_traits for
6624 implementation of the set, multiset, hash_set, hash_multiset
6625 iterators.
6626
6627 * stlport/stl/c_locale.h, stlport/stl/debug/_debug.h: removal of
6628 unjustified _config.h inclusions
6629
6630 * stlport/stl/_iterator_base.h: inclusion of type_traits.h only
6631 for compilers that need it.
6632
6633 * stlport/stl/_algobase.h, stlport/stl/debug/_debug.h: add inclusion
6634 of type_traits.h.
6635
6636 * stlport/stl/_algo.h, stlport/stl/_algo.c: move of the _tempbuf.h
6637 inclusion from the .h to the .c that is the only one that need it.
6638
6639 * stlport/stl/_config.h: addition of the boost support section.
6640
66412004-07-07 Petr Ovtchenkov <ptr@Island...>
6642
6643 * stlport/stl/_monetary.c: iterator __str_first out of range,
6644 i.e. outside __str_last in 'mismatch' call in __get_string, if
6645 size of interval [__first, __last) is larger than size of interval
6646 [__str_first, __str_last).
6647
6648 * test/unit/fstream_test.cpp: test for correct report by tellg added.
6649
66502004-07-05 Francois Dumont <dums@...>
6651
6652 * stlport/stl/_map.h: internal type _Rep_type set as public for use
6653 in the __move_traits specialization thanks Oliver Stoeneberg.
6654
6655 * stlport/stl/_set.h: specialization of the __move_traits to make the
6656 set and multiset movable thanks Oliver Stoeneberg.
6657
6658 * stlport/stl/_function_base.h, stlport/stl/_heaps.h: removal of the
6659 unjustified _config.h inclusion that should only be included from the
6660 _prolog.h header.
6661
66622004-07-05 Petr Ovtchenkov <ptr@Island...>
6663
6664 * src/facets_byname.cpp: avoid pass address to member of derived class into
6665 base class via constructor.
6666
6667 * src/facets_byname.cpp: remove first member---EOF---of _M_byname_table---one
6668 not required and lead to wrong reference; this a fix for test in
6669 locale_test.cpp.
6670
6671 * src/ctype.cpp: ditto.
6672
6673 * src/c_locale_win32/c_locale_win32.c: ditto.
6674
6675 * stlport/stl/_ctype.h: ditto.
6676
66772004-07-02 Petr Ovtchenkov <ptr@Island...>
6678
6679 * src/c_locale_glibc/c_locale_glibc2.c: message catalog functions dealing
6680 with message catalog descriptor; but this descriptor not necessary to be
6681 int; Linux use here void *, i.e. pointer to mmap segment.
6682
6683 * stlport/stl/_messages_facets.h: ditto.
6684
6685 * src/messages.cpp: ditto.
6686
6687 * src/message_facets.h: ditto.
6688
6689 * src/facets_byname.cpp: ditto.
6690
6691 * src/c_locale_stub.cpp: ditto.
6692
6693 * src/c_locale.h: ditto.
6694
6695 * src/c_locale_glibc/c_locale_glibc2.c: fix _Locale_extract_*_name
6696 functions.
6697
66982004-07-01 Francois Dumont <dums@...>
6699
6700 * src/explore/Makefiles/nmake/lib/vc-common.mak: creation of the
6701 STLP_BUILD_FORCE_DYNAMIC_RUNTIME option to create STLport statix
6702 versions more easily.
6703
67042004-06-30 Francois Dumont <dums@...>
6705
6706 * stlport/stl/_function.h: Use a call_traits to avoid the reference
6707 to reference problem in struct like binder1st or binder2nd.
6708
67092004-06-26 Francois Dumont <dums@...>
6710
6711 * src/explore/: portage of the explore build system for the
6712 MSVC .Net 2003 compiler.
6713
67142004-06-24 Francois Dumont <dums@...>
6715
6716 * stlport/stl/_site_config.h: Addition of an entry for the per thread
6717 allocator configuration.
6718
6719 * stlport/stl/_config.h: Avoid use of the import/export technique
6720 when not using own iostreams. This way you can use the STLport debug
6721 mode without building the libraries.
6722
67232004-06-23 Francois Dumont <dums@...>
6724
6725 * extension of the cygwin link problem workaround for mingw32.
6726
6727 * src/locale_catalog.cpp: Move of the _STLP_lock object instance
6728 declaration to limit the critical section and improve performace.
6729
6730 * stlport/stl/_pthread_alloc.h: fix of the pthread_allocator and
6731 per_thread_allocator allocate method to check for the required
6732 number of element before multiplication with the size of the objects
6733 to instanciate.
6734
67352004-06-22 Francois Dumont <dums@...>
6736
6737 * src/locale_catalog.cpp: fix of the locale facets registration system.
6738 The hash container use string as key rather than char const* so that
6739 a copy of the facet name is stored rather than a copy of the string
6740 pointer that might be freed. We also extract the complete facet name
6741 before storing it to avoid store of facet aliases that cannot be retrieved
6742 at release.
6743
67442004-06-21 Francois Dumont <dums@s...>
6745
6746 * Restauration of the cygwin support (using gcc 3.3.1). Extension of the
6747 explore build system, workaround of a link problem when using shared
6748 libraries.
6749
67502004-06-13 Petr Ovtchenkov <ptr@Island...>
6751
6752 * src/c_locale_glibc/c_locale_glibc2.c: locale_data for glibc 2.3 is differ
6753 from one for glibc 2.2.
6754
67552004-06-11 Francois Dumont <dums@...>
6756
6757 * test/unit: Modification of some tests to make the assertion
6758 clearer. Mainly add of check of the streams state before check
6759 of the stream content.
6760
6761 * test/unit/locale_test.cpp: fix of the thousands separator which is
6762 0xa0 under Win32 and not a simple ' ' for the french locale.
6763
67642004-06-07 Francois Dumont <dums@...>
6765
6766 * stlport/stl/_algo.c: rollback of the sort algo implementation
6767 to the 4.5.3 version.
6768
67692004-06-03 Francois Dumont <dums@...>
6770
6771 * stlport/stl/pointers/README, doc/pointer_specialization.txt: move and
6772 rename of the doc about pointer partial template specialization feature.
6773
6774 * doc/README.ecv4: Creation of a documentation about the install and use
6775 of STLport within Embedded Visual C++ 4 thanks Zdenek Nemec.
6776
6777 * doc/README.ecv3: Creation of a documentation about the process installment
6778 with the Embedded Visual C++ 3 thanks Michael Fink.
6779
6780 * stlport/stl/_slist.h: fix of an invalid reference to a _M_node member data
6781 on a _Slist_node_base struct (thanks gcc 3.4.0).
6782
6783 * stlport/stl/_string.c, stlport/stl/_string.h: fix of missing scopes to
6784 access the base template class _String_base _DEFAULT_SIZE enum member.
6785 (thanks gcc 3.4.0)
6786
6787 * stlport/stl/_string_base.h: fix of the anonymous union used as a parameter
6788 of the template function swap. (thanks gcc 3.4.0)
6789
6790 * stlport/stl/_ostream.h: fixes of the missing scopes to access the basefield enum
6791 within the base template class basic_ios from the basic_ostream. (thanks gcc 3.4.0)
6792
6793 * stlport/stl/_debug.c: clean up of a no more use template function.
6794 (thanks gcc 3.4.0)
6795
6796 * stlport/stl/_rope.h: fix of the missing scope to access base template class
6797 data member. (thanks gcc 3.4.0)
6798
67992004-06-02 Petr Ovtchenkov <ptr@island...>
6800
6801 * src/num_put_float.cpp: some fixes for systems that use snprintf for
6802 output, i.e. for FreeBSD and OpenBSD
6803
6804 * test/unit/floatio_test.cpp: less precise request, this should work
6805 with static buffer for systems that use snprintf
6806
6807 * stlport/stl/_config.h: detect MT for OpenBSD
6808
6809 * stlport/stl/_threads.h: use original spinlock for OpenBSD
6810
68112004-05-28 Francois Dumont <dums@...>
6812
6813 * stlport/config/stl_gcc.h: fix for the gcc3.4.0 compiler. Modification
6814 of the include path macro to generate 3.4.0 rather than 3.4 . Need
6815 template keyword to reveal use of a nested template class.
6816
6817 * stlport/stl/_config.h: creation of the _STLP_LONG_DOUBLE macro that
6818 extend to long double on compiler supporting it and double on the other
6819 as a workaround.
6820
6821 * stlport/stl/_num_put.h, stlport/stl/_num_put.c, src/num_put_float.cpp:
6822 Addition of functions to get the digits from a long double for the monetary
6823 facet.
6824
6825 * stlport/stl/_monetary.h, stlport/stl/_monetary.c, src/monetary.cpp:
6826 Implementation of the missing money_put::put method taking a long double.
6827 Fixing of the grouping application.
6828
6829 * test/unit/Makefile.inc, test/unit/locale_test.cpp: Creation of a unit test
6830 for the locale support. At creation it tests the num_put, num_get, money_put,
6831 money_get facets.
6832
6833 * src/facets_byname.cpp: fix of the monetary format determination from
6834 the locale platform API informations.
6835
68362004-05-28 Petr Ovtchenkov <ptr@Island...>
6837
6838 * src/explore/Makefiles/gmake/sysid.mak: correctly detect Mingw
6839
6840 * src/explore/Makefiles/gmake/mingw: compilation under Mingw
6841
68422004-05-27 Petr Ovtchenkov <ptr@Island...>
6843
6844 * Makefiles/gmake/linux/extern.mak: fix lib catalog name in case of cross-compilation
6845
6846 * Makefiles/gmake/freebsd/extern.mak: ditto
6847
6848 * Makefiles/gmake/openbsd/extern.mak: ditto
6849
68502004-05-26 Petr Ovtchenkov <ptr@Island...>
6851
6852 * Repository: STLport 5.0 RC1
6853
68542004-05-24 Francois Dumont <dums@...>
6855
6856 * stlport/stl/_iostream_string.h:
6857 Fix of the iostring_allocator rebind embedded struct and implementation
6858 of the missing __stl_alloc_rebind and __stl_alloc_create useful for compiler
6859 not supporting or buggy on the member template feature (VC6 for instance).
6860
68612004-05-22 Francois Dumont <dums@...>
6862
6863 * src/num_put_float.cpp, stlport/stl/_num_put.h, stlport/stl/_num_put.c:
6864 Correction of the locale grouping schema application in case of the scientific
6865 output when there is no decimal point.
6866
68672004-05-19 Petr Ovtchenkov <ptr@Island...>
6868
6869 * stlport/stl/_tree.h, stlport/stl/debug/_tree.h: fix template parameters, see rec
6870 2004-05-14 below.
6871
68722004-05-16 Petr Ovtchenkov <ptr@Island...>
6873
6874 * Repository: STLport 5.0 branch
6875
68762004-05-14 Francois Dumont <dums@...>
6877
6878 * stlport/stl/_tree.h, stlport/stl/_tree.c, stlport/stl/_set.h, stlport/stl/_map.h:
6879 Modification of the _Rb_tree implementation to restore the non mutability of the set
6880 iterators but to keep distinct type between it and the const_iterator.
6881
68822004-05-13 Francois Dumont <dums@...>
6883
6884 * stlport/config/stl_evc.h, test/unit/nmake-evc3.mak: Portage to the WinCE 3 platform.
6885 Thanks Michael Fink.
6886
68872004-05-13 Francois Dumont <dums@s...>
6888
6889 * stlport/stl/_set.h: Addition of the const/non-const methods for many methods now that
6890 iterator are not const_iterator anymore. Correction of the multiset interface to be
6891 homogeneous with the set interface.
6892
68932004-05-09 Francois Dumont <dums@...>
6894
6895 * stlport/stl/char_traits.h: Addition of the specific wchar_t static methods similar
6896 to the one of the char specialization calling the wide functions.
6897
68982004-05-08 Petr Ovtchenkov <ptr@Island...>
6899
6900 * stlport/stl/_set.h: fix definition of const/non-const for find and *_bound
6901 methods. Thanks KL for report.
6902
69032004-05-07 Petr Ovtchenkov <ptr@Island...>
6904
6905 * stlport/stl/_set.h: fix definition of const/non-const iterators.
6906 Thanks Ilya Chvetsov for report.
6907
6908 * test/unit/set_test.cpp: test that detect bug above.
6909
69102004-04-27 Francois Dumont <dums@s...>
6911
6912 * stlport/stl/_complex.h: removal of a macro guard on the template != operator.
6913
6914 * test/unit/complex_test.cpp: creation of a test case for the complex class.
6915
69162004-04-26 Francois Dumont <dums@s...>
6917
6918 * stlport/stl/_fstream.h, src/fstream.cpp: extension of the fstream interface to accept Win32
6919 HANDLE on construction and in the open method.
6920
69212004-04-26 Petr Ovtchenkov <ptr@Island...>
6922
6923 * stlport/stl/_istream.h: don't change value while input error happens.
6924 Thanks Nix.
6925
6926 * test/unit/sstream_test.cpp, test/unit/fstream_test.cpp: added test for error
6927 flags and unchanged value when input error occur.
6928
69292004-04-23 Petr Ovtchenkov <ptr@Island...>
6930
6931 * stlport/stl/_rope.h: allow search of rope, like done in string
6932
69332004-04-21 Francois Dumont <dums@...>
6934
6935 * stlport/stl/pointers/README: Creation of a documentation on the new
6936 pointer partial specialization feature.
6937
69382004-04-20 Francois Dumont <dums@s...>
6939
6940 * stlport/stl/_pair.h: modification of the make_pair signature. After the latest
6941 Standard revision it takes params per value and not reference to const.
6942
69432004-04-20 Petr Ovtchenkov <ptr@Island...>
6944
6945 * stlport/stl/pointers/_list.h: 'clear' method was forgot.
6946
6947 * test/unit/list_test.cpp: check presence of 'clear'
6948
69492004-04-15 Petr Ovtchenkov <ptr@Island...>
6950
6951 * test/unit/partial_test.cpp: wrong comparison during test
6952
6953 * test/unit/sort_test.cpp: ditto
6954
6955 * test/unit/rm_cp_test.cpp: #ifndef not required---should work
6956
6957 * test/unit/unique_test.cpp: ditto
6958
69592004-04-14 Petr Ovtchenkov <ptr@Island...>
6960
6961 * stlport/typeinfo, stlport/config/stl_wince_4.h, stlport/stl/debug/_debug.c: adaptation for Win CE .NET;
6962 Thanks Zdenek Nemec.
6963
6964 * stlport/stl/_algobase.h: calculate difference once
6965
6966 * stlport/stl/pointers/_vector.h: missed returns. Thanks KL.
6967
6968 * stlport/stl/pointers/_list.h: idem.
6969
6970 * stlport/stl/pointers/_deque.h: idem.
6971
6972 * stlport/stl/pointers/_slist.h: idem.
6973
6974 * stlport/stl/_vector.c, stlport/stl/_vector.h: big enough functions moved to non-inline section
6975
6976 * stlport/stl/_iterator.h: use reference instead of pointer for stored container
6977
69782004-04-06 Petr Ovtchenkov <ptr@Island...>
6979
6980 * stlport/stl/_prolog.h: when we in _STLP_REDEFINE_STD mode, we really
6981 need to #undef std, see mistake 2004-02-19 below.
6982
6983 * stlport/config/stl_msvc.h: partially undo workaround 2004-03-30,
6984 not required; problem was solved by #undef std in _prolog.h
6985
6986 * stlport/stl/_abbrevs.h: add new abbrevs---VC6 has problems in debug mode
6987
69882004-04-03 Petr Ovtchenkov <ptr@Island...>
6989
6990 * stlport/stl_user_config.h: expose _STLP_DONT_FORCE_MSVC_LIB_NAME for
6991 configuration.
6992
6993 * stlport/config/stl_msvc.h: incorporate content of stl_select_lib.h and
6994 vc_select_lib.h; a bit cleaned.
6995
6996 * stlport/config/stl_select_lib.h: removed.
6997
6998 * stlport/config/vc_select_lib.h: removed.
6999
70002004-04-02 Petr Ovtchenkov <ptr@Island...>
7001
7002 * src/time_facets.cpp: add #include <cstdio> for sprintf; remove
7003 c_copy_string function.
7004
7005 * stlport/stl/_time_facets.h: fix for _STLP_LEAKS_PEDANTIC.
7006
70072004-04-01 Petr Ovtchenkov <ptr@Island...>
7008
7009 * stlport/stl/_string.h: reorder of in-class template and
7010 quazi-specialization function make VC happy, ref. 2004-03-29
7011
7012 * stlport/stl/debug/_string.h: fix insert and replace for
7013 iterators that refer to same string in _STLP_DEBUG mode.
7014
70152004-03-31 Petr Ovtchenkov <ptr@Island...>
7016
7017 * src/explore/nmake-evc4-arm.mak, src/explore/nmake-evc4-x86.mak, etc.:
7018 rules for eVC4 compilers---ARM and ix86 target architectures.
7019 Contribution by Zdenek Nemec.
7020
70212004-03-30 Petr Ovtchenkov <ptr@Island...>
7022
7023 * stlport/stl/_algo.c: workaround for VC compilers---ones pass reference
7024 to parent object directly, pay no regard for temporary object
7025
7026 * stlport/new, stlport/stl/_new.h, stlport/typeinfo, stlport/config/stl_msvc.h:
7027 workaround for VC6's problem with 'using' directive, while import native
7028 bad_alloc and some other classes into STLport's namespace
7029
7030 * stlport/stl/_streambuf.h: export template class, to make VCs to be happy.
7031
7032 * stlport/stl/_valarray.h: use <new>, not <stl/_new.h>
7033
7034 * src/explore/Makefiles/nmake/lib/macro.mak, test/unit/nmake-vc6.mak:
7035 fix static library names
7036
70372004-03-29 Petr Ovtchenkov <ptr@Island...>
7038
7039 * stlport/stl/_set.h: fix problems with erase functions.
7040
7041 * stlport/stl/_string.h: VC compiler expect only one variant---template
7042 or not---of replace function with four iterators in parameters.
7043
7044 * test/unit/nmake-src-prefix.mak: really know what do with sources
7045 in cppunit.
7046
70472004-03-25 Petr Ovtchenkov <ptr@Island...>
7048
7049 * stlport/stl/_string_base.h: enlarge default string static buffer size
7050
7051 * stlport/stl/debug/_string.h: avoid attempt to invalidate iterators beyond
7052 string size range.
7053
7054 * stlport/config/stl_gcc.h: instantiation scheme that idefault used---witout
7055 --repo option---in gcc 3 made void of sense explicit instantiation within
7056 library---nothing except increased library size.
7057 Define _STLP_NO_FORCE_INSTANTIATE is default now for gcc 3.x.
7058
7059 * stlport/stl/_streambuf.h: remove specialization of
7060 basic_streambuf<char, char_traits<char> >---reference to FILE struct here
7061 isn't required and really not used anyware. Functionality of standard io
7062 streams, including synchronization with C std io streams provided in
7063 src/stdio_streambuf.cpp
7064
7065 * stlport/stl/_iosfwd.h: same.
7066
7067 * src/fstream_impl.h, src/iostream.cpp, src/stdio_streambuf.cpp: same.
7068
7069 * src/streambuf.cpp: removed.
7070
7071 * stlport/stl/_stdio_file.h: moved...
7072 * src/_stdio_file.h: ...here
7073
7074 * stlport/stdio_streambuf: moved...
7075 * src/_stdio_file.h: ...here
7076
7077 * src/explore/Makefile.inc: remove streambuf.cpp
7078
70792004-03-24 Petr Ovtchenkov <ptr@Island...>
7080
7081 * c_locale_glibc2.c: real locale implementation for glibc 2.3.x.
7082
70832004-03-15 Petr Ovtchenkov <ptr@Island...>
7084
7085 * test/unit: unit test suite intended for test/regression replacement.
7086 Zdenek Nemec contribution.
7087
70882004-03-01 Francois Dumont <dums@s...>
7089
7090 * _hash_fun.h: Correction of the hash struct specialization for the _STLP_LONG_LONG
7091 type. Thanks Vianney Lecroard
7092
7093 * type_traits.h: Integration of the boost (www.boost.org) type traits within STLport.
7094
70952004-02-21 Francois Dumont <dums@s...>
7096
7097 * _tree.h: Modification of the base class implementtion to avoid the systematical
7098 dynamic allocation of a node as the root note of the RB tree.
7099
7100 * Addition of many missing macro guards in the stlport public headers to avoid to break
7101 the stlport prolog/epilog include framework.
7102
71032004-02-19 Petr Ovtchenkov <ptr@Island...>
7104
7105 * _slist.h, debug/_slist.h,, dll_main.cpp: remove excess slist redefinitions
7106
7107 * debug/_slist.h: comment explicit usage of namespace with functions---under
7108 some conditions this hangs gcc compilers.
7109
7110 * _config.h, _cwchar.h, _epilog.h, _iterator_base.h, debug/_debug.c: multiple import
7111 of _STL namespace into std, as multiple import VENDOR_CSTD namespace into _STL
7112 namespace lead to crash of gcc compilers. Import of _STL namespace into std
7113 namespace done once in the _config.h, not in _epilog.h.
7114
7115 * _prolog.h: undef std not required in all cases; instead this is useful only
7116 for redefinition of std namespace, and should be done in the _config.h.
7117
7118 * _epilog.h: include of _config.h has no sense here.
7119
7120 * _threads.h: wrong import of _STL namespace into global namespace
7121
71222004-02-18 Francois Dumont <dums@s...>
7123
7124 * _list.h: Modification of the base list class based on the slist implementation.
7125 The list do not allocate a node systematically anymore even for the empty list.
7126
71272004-02-14 Petr Ovtchenkov <ptr@Island...>
7128
7129 * debug/_relops_cont.h, debug/_string.h: fix typos in template specializations.
7130
71312004-02-12 Petr Ovtchenkov <ptr@Island...>
7132
7133 * explore/icc.mak: experimental make system support Intel's icc compiler
7134 on Linux.
7135
71362004-02-05 Petr Ovtchenkov <ptr@Island...>
7137
7138 * iostream.cpp, _ios_base.h, iostream, locale_impl.h, locale_impl.cpp:
7139 revise standard iostream and locale initialization, remove worrits about
7140 order of static objects initialization as soon as possible; all real
7141 initialization situated in the locale_impl.cpp; locale initialization
7142 moved to _Locale_impl constructor---locale will be correctly initialized
7143 either via direct locale usage, or during standard iostream initialization,
7144 as ios_base member. This changes may lead to problems with Digital Mars
7145 and Borland compilers---should be checked and fixed.
7146
71472004-02-03 Francois Dumont <dums@s...>
7148
7149 * integration of a portage to the Windows CE .NET (eMebedded Visual
7150 C++ 4) compiler thanks Zdenek Nemek
7151
71522004-02-02 Petr Ovtchenkov <ptr@Island...>
7153
7154 * _iostream_string.h: avoid usage of iostring in the _STLP_DEBUG mode,
7155 due to iostring::iterator not convertable into string::iterator in this
7156 mode.
7157
71582004-01-29 Petr Ovtchenkov <ptr@Island...>
7159
7160 * _string.c: avoid 'insert( iterator, const_iterator, const_iterator )'
7161 instantiation in the 'replace'---VC6 has problem here.
7162
71632004-01-29 Francois Dumont <dums@s...>
7164
7165 * facets_byname.cpp: correction of the typeid use thanks to Ulrich Eckhardt.
7166
7167 * _iostream_string.h: creation and integration of a special string used within
7168 the iostream implementation to display floating point numbers. It mixes a static
7169 buffer with a dynamic one to improve performance.
7170
71712004-01-22 Francois Dumont <dums@s...>
7172
7173 * _new.h: check of the _STLP_USE_EXCEPTIONS before correction of the new
7174 operator behavior and bad_alloc exception definition.
7175
7176 * _ios_base.h: removal of the _M_get_facet function not fully implemented
7177 and unused thanks Ulrich Eckhardt.
7178
7179 * _algo.h: correction of the __less_2 helper struct to remove
7180 copy thanks Sergey Volk
7181
71822004-01-19 Petr Ovtchenkov <ptr@Island...>
7183
7184 * _debug.c: avoid recursive locks in __owner_list's mutex---equivalent
7185 code use underlie iterators, not debug wrapper iterators. By the way this
7186 approach faster---no excessive checks; solved by Boris Fomitchev.
7187
7188 * _thread.h, _debug.h: recursive-safe mutex structure removed---not
7189 required more; see reason just above.
7190
71912004-01-09 Francois Dumont <dums@s...>
7192
7193 * type_manip.h: Correction of the _IsSame struct to have both partial template
7194 specialization version and the other behaving similarly.
7195
71962004-01-07 Francois Dumont <dums@s...>
7197
7198 * _deque.c: Mysterious copies of instance to store in the containers
7199 has been removed.
7200
72012004-01-05 Francois Dumont <dums@s...>
7202
7203 * _list.h, _slist.h: Implementation of the pointer specialization for list
7204 and slist.
7205
72062003-12-31 Petr Ovtchenkov <ptr@Island...>
7207
7208 * _vector.h, _vector.c, _hashtable.h: remove excess vector redefinitions
7209
7210 * debug/_vector.h: pointer specialization for vector not derived
7211 from _Vector_base, so we should avoid references on _Vector_base
7212 class members in debug wrapper.
7213
72142003-12-22 Francois Dumont <dums@s...>
7215
7216 * _string.h: use _STLP_FORCE_STRING_TERMINATION flag to enforce
7217 null-termination of data associated with string.
7218
72192003-12-20 Francois Dumont <dums@s...>
7220
7221 * _vector.h: Implementation of the pointer specialization for vector to
7222 avoid code bloat.
7223
72242003-11-29 Francois Dumont <dums@s...>
7225
7226 * _string.h: Implementation of the short string optimization.
7227 basic_string have now a short static buffer to avoid call
7228 to the allocator when the string is short.
7229
72302003-11-29 Petr Ovtchenkov <ptr@Island...>
7231
7232 * cwchar, _config.h, _cwchar.h, _stdio_file.h, c_locale.h:
7233 support for OpenBSD, gcc 3.3.1
7234
7235 * src/explore/Makefiles/gmake/...: support for OpenBSD, gcc 3.3.1
7236
72372003-11-17 Francois Dumont <dums@s...>
7238
7239 * _alloc.h: Move of the definition of _Alloc_Traits before inclusion
7240 of _pthread_alloc.h; thanks Diego Klabjan
7241
72422003-11-16 Petr Ovtchenkov <ptr@Island...>
7243
7244 * _algobase.h, _algo.c: iter_swap and __insertion_sort don't
7245 properly deduce value type of iterator, instead uses dereference's
7246 return type; this occur when dereference return some proxy object,
7247 convertible into value type.
7248 Thanks Przemek Kuczmierczyk <przemekk834@tlen.pl> for report, test
7249 and solution.
7250
7251 * iterswp0.cpp, iterswp1.cpp, iterswp.cpp, stl_test.cpp,
7252 stl_test.h, Makefile.inc (test/regression): move iterswp0_test,
7253 iterswp1_test into iterswp.cpp, add new tests for properly deduce
7254 value type of iterator, when dereference return some proxy object.
7255
72562003-11-15 Francois Dumont <dums@s...>
7257
7258 * _string.h: implementation of the expression template for string
7259 addition with other string or C string or char.
7260
7261 * _ostream.h: adoption of the classic (even if not clear in
7262 the standard) ouput for short and int negative values in hexa
7263 or octo bases that is display according its size for the compiler.
7264 thanks Tanaka.
7265
72662003-11-14 Petr Ovtchenkov <ptr@Island...>
7267
7268 * src/c_locale.c, src/c_locale_glibc/c_locale_glibc2.c: step to
7269 real locales support with glibc >= 2.2.x
7270
7271 * src/c_locale_glibc/c_locale_glibc.c: bit fixes for locales
7272 support with glibc < 1.90, and, possible, 1.90 <= glibc < 2.1;
7273 we can't support this old code, so file
7274 src/c_locale_glibc/c_locale_glibc.c is obsolete, and will be
7275 removed.
7276
7277 * src/explore, test/regression/explore: exprimental make system.
7278
72792003-11-13 Petr Ovtchenkov <ptr@island...>
7280
7281 * STLport (repository): current development moved to CVS HEAD stream.
7282
7283 * STLport (repository): current development stream marked as STLport 5.0.
7284
72852003-11-02 Francois Dumont <dums@s...>
7286
7287 * _limits.c: Correction of the quiet and signaling NaN that was inverted
7288 for several platform; thanks Alexey Sarytchev.
7289
72902003-11-01 Francois Dumont <dums@s...>
7291
7292 * _string.c: judicious correction for string::find_first_not_of to
7293 improve performance; thanks Stephen Cleary.
7294
7295 * _bitset.h: integration of a workaround for up to MSVC6 compilers
7296 for the bitset input and output operators; thanks Jesse Booher.
7297
7298 * _ostream.h, _istream.h: fix of a non-standard behavior of the seekp
7299 and seekg calls and conformance to the latest 2003 standard; thanks Tanaka.
7300
73012003-10-26 Francois Dumont <dums@s...>
7302
7303 * _monetary.c: fix an other memory overrun on monetary display;
7304 thanks Tanaka.
7305
73062003-10-26 Petr Ovtchenkov <ptr@island...>
7307
7308 * ioiter.cpp, gcc.mak, stl_test.h, stl_test.cpp, stl_test.exp
7309 (test/regression): tests for postfix increment operator and
7310 indirection of istreambuf_iterator.
7311
73122003-10-25 Petr Ovtchenkov <ptr@island...>
7313
7314 * _istreambuf_iterator.h: fix postfix increment operator
7315 of istreambuf_iterator to provide conformance with
7316 ISO/IEC 14882:1998(E), 24.1.1, p.511, i.e.
7317 *r++ equivalent to { T tmp = *r; ++r; return tmp; }.
7318 Thanks Tanaka for the report.
7319
73202003-10-23 Francois Dumont <dums@s...>
7321
7322 * debug/: modification of the invalidation of iterators to avoid
7323 invalidation of the end iterator for the associative containers,
7324 hashed containers and list on calls to clear/assign/assignment
7325 operator. (thanks Alexey Sarytchev)
7326
7327 * _rope.h: Correction of the rope::iterator and rope::const_iterator
7328 copy constructor and assignment operator (thanks Bradley Grainger)
7329
73302003-10-16 Francois Dumont <dums@s...>
7331
7332 * _alloc.h: Add of the throw() specification on allocator comparision.
7333
7334 * _iterator.h: Correction of the operator++(int) signature to conform
7335 to the standard.
7336
7337 * _ctype.h: tolower and toupper for wchar_t types.
7338
7339 * _valarray.h: gslice_array::operator = (const value_type&) not
7340 const anymore
7341
7342 * _valarray.h: slice_array idem
7343
7344 * _valarray.h: valarray<T> operator [](const gslice&) former version
7345 was taking a copy of gslice
7346
7347 * _codecvt.h: correction of the default codecvt class definition and
7348 correction of the out method
7349
7350 (all thanks Richard Peng)
7351
73522003-10-16 Francois Dumont <dums@s...>
7353
7354 * debug/: add of the iterator range check on all container constructors.
7355
7356 * _string.h: correction of a bug on string auto referencing throught
7357 some method like insert and replace. (thanks Tanaka)
7358
7359 * _valarray.h: correction of the missing slice_array copy constructor
7360 and assignment operator in the private section (thanks Tanaka)
7361
73622003-10-11 Petr Ovtchenkov <ptr@island...>
7363
7364 * _sstream.c: [io]?stringstream must do equivalent of seek at end,
7365 after opened with ios_base::ate; this behaviour useful only when buffer
7366 initialized by string; thanks Tanaka for the report.
7367
73682003-10-06 Francois Dumont <dums@s...>
7369
7370 * _istreambuf_iterator.h, _ostreambuf_iterator.h: correction
7371 of the missing iterator base class (Thanks Tanaka)
7372
73732003-10-05 Francois Dumont <dums@s...>
7374
7375 * _string.h: correction of the replace implementation badling form
7376 for self referencing
7377
7378 * _string.h, _string.c: Modification of the _M_copy method
7379 to _M_move as basic_string do not correctly handled self referecing;
7380 thanks Tanaka
7381
73822003-09-25 Francois Dumont <dums@s...>
7383
7384 * como 4.3.0 on linux support (thanks Synge Todo and Karel Gardas)
7385
7386 * Quazy-leak patch: make memory detection tools happier,
7387 option _STLP_LEAKS_PEDANTIC in _site_config.h. (thanks Petr Ovtchenkov)
7388
73892003-09-19 Francois Dumont <dums@s...>
7390
7391 * Support of the Linux Intel C++ support (thanks Blaine Kubesh)
7392
7393 * FreeBSD support update (thanks Guy Middleton).
7394
7395 ----
7396
7397 * codecvt.cpp: charcode correction in the do_in method (thanks J Hamilton report)
7398
7399 ----
7400
7401 * _valarray.h: Correction of the missing explicit keyword in front of one of the valarray constructors
7402 (thanks Stephen Clamage)
7403
7404 ----
74052003-08-10 Francois Dumont <dums@s...>
7406
7407 * stdexcept: Correction of the mysterious 50 messages from VC7.Net (thanks Krish S)
7408
7409 ----
7410
7411 * _vector.h: implementation of the max_size method based on the allocator::max_size method
7412 (thanks Gennaro Prota from the boost forum).
7413
7414 ----
7415
7416 * _vector.c: add of the standard length_error exception to the reserve method (thanks Steven Youngs).
7417
7418 ----
7419
7420 * _alloc.h: add of a check of the number of element require to allocator::allocate to avoid a possible
7421 size_type overflow (thanks Steven Youngs).
7422
7423 ----
7424
7425 * _istream.h: move of the ws implementation within the header to avoid undefined symbol
7426 under NO_CUSTOM_IO mode (thanks Ulrich Eckhardt)
7427
7428 ----
7429
7430 * ctype.cpp : charcode correction (thanks Markus Stier reports and Alberto Barbati correction)
7431
7432 ----
7433
7434 * _function.h : all function can now be used in a non-const world (thanks Alexey Kirjushkin)
7435
7436 ----
7437
7438 * move constructor framework integration (thanks Francois Dumont)
7439
7440 ----
7441
7442 * containers interface correction for standard compliance when using explicit
7443 intanciation of not default constructible type. (thanks Alexei Agafonov report)
7444
7445 ----
7446
7447 * iostream.cpp, locale_impl.cpp : static initialization made robust for case of
7448 dynamic loader circular dependancies (Thanks Alexey Sarytchev for the report)
7449
7450 ----
7451
7452 * _function.h : integration of a new workaround for mem_fun_* family
7453 for compiler having return void bug (Thanks Pavel Kuznetsov).
7454
7455 * stl_solaris.h : v8plus compilation fix (Thanks Mukesh Kapoor)
7456
7457 * num_put_float.cpp : FreeBSD fix
7458
7459 * _construct.h : fixed case for compilers with default integer
7460 constructor bug
7461
7462 ---
7463
7464 * fstream.cpp : text file stream position bug correction (thanks Christopher Kohlert)
7465
7466 ---
7467
7468 * _num_put.c : Correction of the display of the min 64 bits signed integer values
7469 like numeric_limits<__int64>::min() on WIN32 for instance (thanks Anders Dalvander)
7470
7471 ---
7472 * _num_put.c : Add of the '+' sign when requested for the unsigned integer display
7473 (thanks Francois Dumont)
7474
7475 ---
7476
7477 * debug : many missing iterator invalidation corrected (thanks Detlev V.Davidson and Francois Dumont)
7478
7479 ---
7480
7481 * _new.h : introduction of a new config compiler switch for those which do define
7482 bad_alloc but that do not throw it! (thanks ?)
7483 ---
7484 * _new.h : class nothrow_t changed to struct nothrow_t (Thanks Francois Dumont)
7485 ---
7486 * _bvector.h : Addition of the |= and &= operator on the _Bit_reference struct (thanks Ed Rice)
7487 ---
7488 * Performance bug in type_traits.h fixed (Thanks Francois Dumont)
7489 ---
7490 * Added Linux spin lock code ()
7491 ---
7492 * Added GCC-3.x configurations
7493
7494 * Fixed HP aCC support
7495
7496 * Added OpenWatcom support
7497
7498 * version numbers bumped
7499
7500 * iostreams ported to EMX (gcc on OS/2) (Thanks Martin Schaffoener)
7501
7502 * iostreams ported to CRAY Unicos C90, T90, and J90 (Thanks Geir Johansen)
7503
7504 * stl_sunpro.h : fixed mbstate definition for SUN 4.2 (thanks lengzq)
7505
7506 * complex.cpp, _complex.h : template<> used for specializations
7507
7508 * _num_put.c : unused locale variable removed (thanks Petr Ovtchenkov)
7509
7510 * _algo.h : __reverse beautified (thanks Kabanov)
7511
7512 * dll_main.cpp : force_link() forced to be linked in
7513
7514 * stl_msvc.h : config changes for .NET
7515
7516 * _auto_ptr.h : "struct" changed to "class"
7517
7518 * _istream.c : M_read_unbuffered fixed (thanks Stefan Schwarzer )
7519
7520 * stl_gcc.h : added missing inclusion for SCO platform (thanks Emmanuel Soden)
7521
7522 * _tree.c : optimized insert_unique (thanks Timothy)
7523
7524 * _algo.c : relaxed type requirements for lower_bound, upper_bound, binary_search
7525
7526 * _algo.h : adjacent_find() expressed with compare-function flavour
7527
7528 * cpp_runtime/typeinfo : made adjustments for .NET (Thanks Daniel)
7529
7530 * cstd/cassert : guard removed (thanks Evan Cheng)
7531
7532The following changes were made in 4.5.3 since 4.5.1 release:
7533
7534 * iostreams ported to Windows CE (thanks Andrew Waters)
7535
7536 * iostreams ported to AmigaOS (thanks Steven Solie)
7537
7538 * iostreams ported to NCR 3.x (thanks Emmanuel Soden)
7539
7540 * _hash_map::operator[] : enhanced to avoid calling default object constructor
7541 (Thanks Yuri Taranenko for the report)
7542
7543 * Identifier "__value" changed everywhere to "__val" to avoid clashes with Microsoft's "managed C++" keyword (thanks Crow for the report)
7544
7545 * Most containers : swap() fixed to swap non-stateless allocators correctly (thanks Scott Meyers)
7546
7547 * _sstream : fix to account for ios_base::app flag properly
7548
7549 * type_traits.h : _IsOKToMemCpy() fixed to only allow memcpy() for same type arguments (thanks Ed Brey for the report)
7550
7551 * stl/_num_put.c, stl/_list.c : workarounds for Debian gcc (thanks Levente Farkas)
7552
7553 * <typeinfo> : fixed MS workaround (thanks Wil Evers, Andrew Ushakov)
7554
7555 * _pthread_alloc.h : added per_thread_allocator class; returns memory to the same thread it's been allocated in.
7556
7557 * _iterator_old.h : restored ->() operator for MSVC (thanks Daniel Anderson)
7558
7559 * a bunch of MPW fixes (thanks Tsutomu Yoshida)
7560
7561 * _config_compat.h : fixed compatibility definition for _STLP_NO_EXCEPTIONS (thanks Nicolas)
7562
7563 * _fstream.c : fixed bug in _M_seek_init (thanks Pavel Kuznetsov)
7564
7565 * _rope.h : rope<>::swap() methods fixed for non-partial ordering case (thanks Eric Musser)
7566
7567 * comlex_trig.cpp : fixed bug on SGI (thanks Mortis)
7568
7569 * A bunch of fixes for HP aCC compilation with -AA option (thanks John Bossom)
7570
7571 * *.c files : added conditional inclusion of corresponding *.h file to fix xlC issues with -tempinc option (thanks Alla Bogolyubov for the report)
7572
7573 * _auto_ptr.h : "struct" changed to "class" (thanks Alex Pinsker for the report)
7574
7575 * _config.h/stl_user_config.h : handling of macro _STLP_WHOLE_VENDOR_STD rectified
7576
7577 * _num_put.c : do_put(const void*) changed to output pointers in hex format (thanks Alex Rosenberg)
7578
7579 * test/eh/test_algobase.cpp : fixed alignment to work on 64-bit architectures
7580
7581The following changes were made in 4.5.1 beta 1 since 4.5 release:
7582
7583 * _config.h, _epilog.h : new namespace inclusion schema implemented for own iostreams mode
7584 (no std:: redefinition; _STL:: namespace imported into std::, instead of std:: imported to _STL.
7585 C library header files wrappers become obsolete if this mode is used and no own namespace is selected.
7586 They will be moved out to distinct directory in the next release, and default is going to be no own namespace
7587 with own iostreams.)
7588 For some compilers (VC6), this only works with _STLP_NO_OWN_NAMESPACE and _STLP_OWN_IOSTREAMS settings.
7589
7590 * iostreams ported to SCO OpenServer (thanks Emmanuel Soden)
7591
7592 * sparc_atomic.s : added "stbar" to fix multiprocessor crashes on SPARC
7593
7594 * dll_main.cpp : forced link of Bs_G static data members (thanks Sandy Martel). Function wrapped in STLport namespace.
7595
7596 * _alloc.c : fixed _STLP_CHUNK_MALLOC for debug malloc configuration (thanks Markus Sch pflin)
7597
7598 * _config_compat.h : fixed compatibility section for _STLP_NO_OWN_IOSTREAMS
7599
7600 * fstram.cpp , vc6.unicode.mak : fixed bug in wide streams handling for VC6 (thanks Jim Dolter)
7601
7602 * etc/*.txt : files list broken up into several categories for future reorganization
7603
7604 * stl_msvc.h : fixed library selection for .NET (Thanks Franz Zetting)
7605
7606 * _ftsream.h, iostream.cpp : fixed compilation for _STLP_NO_EXTENSIONS case (thanks Ben Dorman for the report)
7607
7608 * char_traits.h : fpos<> operators == made members (thanks Thomas Witt)
7609
7610 * _threads.h : added using directive for Solaris x86 compile (thanks Mukesh Kapoor)
7611
7612 * _threads.h : fixed InterlockedXXX definitions for VC++ 6.0 SP5 (thanks AndreasM)
7613
7614 * gcc-install-apple-macosx.mak : INSTALL_STEP set to install_unix (Thanks Tron Thomas)
7615
7616 * common.mak : default install directory for Unix set to /usr/local
7617
7618 * _string.h : _M_null expressed via _STLP_DEFAULT_CONSTRUCTED (Thanks Anthony)
7619
7620 * _site_config.h : made sure _STLP_NO_THREADS are set if _NOTHREADS is on (Thanks Jeppe Madsen)
7621
7622 * _config.h : _STLP_WIN32THREADS is set (bugfix) ( thanks to Andreas Malzahn )
7623
7624 * _num_put.c, common_rules.mak : patches by Levente Farkas
7625
7626 * etc/STLport-4.5.1.spec : spec file to build STLport-4.5.1 RPM added (thanks Levente Farkas)
7627
7628 * _auto_ptr.h , _debug.c, _debug.h : debug check for auto_ptr pointer added (thanks Gerd Hoeren for the idea)
7629
7630 * debug/_vector.h : invalidation for erase() corrected not to invalidate current iterator (Thanks ALberto Barbati)
7631
7632 * stl_bc.h : restored automatic library link directive for cases when STLport is not a native library
7633
7634
7635 * _auto_ptr.h : template constructor conversion bug fixed (thanks mbergal)
7636
7637 * MIngw32 patches integrated (thanks Wu Yongwei)
7638
7639 * 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)
7640
7641 * dll_main.cpp : added __malloc_alloc instantiation (thanks Michael Ehrig)
7642
7643 * _debug.c : fixed race condition in _M_detach (thanks Achim Stremplat)
7644
7645 * test/*/hpacc.mak : fixed flags and libs (thanks Michael Ehrig)
7646
7647 * typeinfo : added fix for MS VC ::bad_cast confusion (thanks Alberto Barbati)
7648
7649 * debug/_vector.h : removed extra guard for MSCV around member template constructor (thanks Alberto Barbati)
7650
7651 * _fstream.h : added extension basic_fstream<> constructors taking protection parameter (thanks Mukesh Kapoor for the idea)
7652
7653 * stl_sunpro.h : added additional C include directory choice for Solaris 6&7 (thanks John E. Bossom)
7654
7655 * _vector.c : added _vector.h inclusion for _STLP_LINK_TIME_INSTANTIATION case (thanks Alex Vanic)
7656
7657
7658 * _num_put.c : fixed overflow case with grouping (thanks Will Evers)
7659
7660 * _istreambuf_iterator.h : fixed distance_type return type (thanks Anthony Williams)
7661
7662 * debug/_vector.h : debug version of push_back() added (thanks)
7663
7664 * Iostreams ported to LynxOS 3.0 (thanks Dmitry Azovtsev)
7665
7666 * wrappers/*.h : added inclusions of the master header to fix xlC 3.x compile (Thanks Dmitry Azovtsev)
7667
7668 * Changes for BCB6 integration (thanks Nathan York)
7669
7670 * Removed all dead code blocks marked by #if OBSOLETE and #if 0
7671
7672 * Updates build spec file for Linux rpm (thanks Levene Farkas, Harold van Oostrom)
7673
7674 * complex_trig.cpp : limits changed to be static, for performance optimization (thanks Sergei Nikolaev)
7675
7676 * _algo.c : eliminated default-constructed iterators, to lift unnecessary restriction (thanks Tonci Tomic )
7677
7678 * _vector.h : fixed bug in assign() : copy used instead of __copy_aux (Thanks Tim Finer)
7679
7680 * stl_sunpro.h : restored _STLP_HAS_NO_NEW_C_HEADERS switch for SUN CC 4.2
7681
7682 * <new> : __stl_new definition put into the namespace (thanks Satoshi Nakamura)
7683
7684 * bcb*.mak : fixed md command and DYN_LINK (thanks Kirby Zhou)
7685
7686 * stl_user_config.h : added _STLP_USE_CUSTOM_CHAR_TYPES_IO switch to optimize iostreams for default case
7687
7688 * debug/_vector.h : fixed debug check bug (thanks Gerd Hoeren)
7689
7690 * _alloc.h : allocator::construct uses std::_Construct (thanks Gert Grossmann)
7691
7692 * stl/_alloc_old.h : restored (thanks Gert Grossmann)
7693
7694 * stl/_threads.h : fixed _STLP_ATOMIC_xxx macros for DEC (thanks Gert Grossman)
7695
7696 * src/_locale_impl.cpp : added missing guards for codecvt<> in _STLP_NO_MBSTATE_T case
7697
7698
7699The following changes were made in 4.5 release since 4.5 beta 8 :
7700
7701 * _threads.h, debug/_debug.h etc : STLport iostreams library made binary compatible with user code compiler w/o multithreaded switch, for some platforms
7702
7703 * config/stl_msvc.h, <cmath> : corrected _STLP_NO_USING_FOR_GLOBAL_FUNCTIONS for VC++ 6.0 SP5
7704 (Thanks Alberto Barbati)
7705
7706 * src/vc6.mak : RC macro definition restored (Thanks Graham)
7707
7708 * stl/_cmath.h, <cmath> : parts of code moved to <cmath> as <valarray> uses it (Thanks Synge Todo)
7709
7710 * stl/_tree.c : fixed insert_unique() with a hint bug (Thanks Serge Pashkov)
7711
7712 * src/gcc-*.mak : removed -nostdinc++ option
7713
7714 * stl_solaris.h : definition of _STLP_SUNPRO_EXCLUDE made dependant on _XOPEN macro instead of SUN CC macros (Thanks ecohen for the report)
7715
7716 * fstream.cpp : mmap_chunk made to be 1M instead of 16M as was originally intended (thanks Alexey Starikovskiy)
7717 * stl_sunpro.h : _STLP_LIMITED_DEFAULT_TEMPLATES not defined for compat mode anymore ( thanks Michael Kopp)
7718 * dll_main.cpp : added instantiation for _Swap_lock_struct<> (thanks simonb)
7719
7720 * _ostream.c : fixed formatting bug for width()==1
7721
7722 * config/_epilog.h : added option pop section for Borland.
7723
7724 * stl/_threads.h : fixed InterlockedXXX declarations for MS .NET (thanks Piers Haken)
7725
7726 * vc7.mak makefile added for MS VC++ 7.0 (.NET)
7727
7728 * fixed _STLP_ITERATOR_CATEGORY, etc. for Mwerks CodeWarrior 5.0
7729
7730 * stl/_num_put.c : fixed operator<<(void*) to use _STLP_LONG_LONG where available.
7731
7732 * _STLP_WHOLE_VENDOR_STD option is back supported (Thanks anton ephanov for the input)
7733
7734 * _cmath.h : added guard to mask additional overloads (thanks Tim Smith)
7735
7736 * stl_solaris.h : mbstate_t stuff defined here, old-style C headers used (Thanks Mukesh Kapoor)
7737
7738 * type_traits.h : __default_constructed() inlined (Thanks Matt Davies)
7739
7740 * new.h : fix for gcc-3.0 to look in backward directory (Thanks Ken)
7741
7742 * stlport/using/h/streambuf.h added (Thanks Gennadiy)
7743
7744 * A bunch of changes for Borland static and DLL compile (Thanks Nathan York)
7745
7746 * stl/_algo.c : fixed find_end() bug (Thanks Alberto Barbati)
7747
7748 * stl/_queue.h : priority_queue<>::_comp renamed to "comp" as standard states (thanks Todd Greer)
7749
7750 * _limits.c : added correct data member representations for AS400 and Alpha machines (thanks Holger Stash)
7751
7752 * _vector.h : added check to avoid calling allocator<>::deallocate(0) (thanks Stephen Cleary)
7753
7754 * config/_prolog.h, config/_epilog.h : added push/pop pack(8) pragmas for MSVC (thanks Todd Greer, Alberto Barbati)
7755
7756 * gcc.mak's : default spelling for "-pthreads" option changed to "-pthread" as more platforms use that.
7757
7758
7759The following changes were made in 4.5 beta 8 since 4.5 beta 7 :
7760
7761 * stl/_fstream.c : _M_underflow bug fix for custom codecvt facets (thanks Alberto Barbati)
7762
7763 * bcc55.mak : c_locale.c added to the link command (thanks Steve Loves)
7764
7765 * _iterator_base.h & many other places : iterator tags are being accepted by const reference
7766 instead of value, to fix segmentation faults experienced on certain platforms with beta7.
7767 That also should improve efficiency on same platforms (apparently, empty unreferenced
7768 objects with no constructors/destructors were copied on the stack when passed by value).
7769 Accompanied change eliminates hardcoded deference hack used in previous beta.
7770 Thanks everybody who reported this.
7771
7772 * stl_user_config.h : added _STLP_GCC_USES_GNU_LD switch. This is for those platforms
7773 where native linker does not let gcc to implement automatic instantiation of static
7774 template data members (Tru64, AIX, HP-UX).
7775 It is being put in this file as there is no automatic way to check if we are using GNU ld or not.
7776
7777 * _range_erors.h : depandancy on <stdexcept> and <string> removed for own iostreams mode
7778 (thanks Doug Gilbert)
7779
7780 * debug/_list.h : "typename" added in new methods (thanks Doug Gilbert)
7781
7782 * _config.h, src/common_macros.mak : beta version number bumped
7783
7784 * src/ftream.cpp, c_locale_win32.c : fixes for UNICODE compilation (thanks Valo)
7785
7786 * stl_gcc.h, etc : changes for GCC support on Tru64 (thanks Tobias Ernst)
7787
7788 * _alloc.c : for MS VC, malloc_dbg only used when _STLP_DEBUG_ALLOC is set, not for all debug configs
7789 (Thanks Anton Ephanov)
7790
7791 * test/eh/gcc.mak : directories stuff fixed (Thanks Brodie)
7792
7793 * stl/_complex.h : fixed declarations for long double specializations (Thanks Tsutomu Yoshida)
7794
7795 * locale_byname.cpp, etc. : fixes for Apple compilers by Tsutomu Yoshida.
7796
7797 * _ios_base.h : __evenk id changed not to clash with MS VC++ 7 (thanks Paul Ghezzi)
7798
7799 * _fstream.c : added basic_filebuf constructor workaround for compiler which do not initialize builtins
7800 to zero when default constructed (thanks Alberto Barbati)
7801
7802 * _locale.h : relaxed guerd around templated locale constructor (thanks Alberto Barbati)
7803
7804 * stl_mwerks.h : changes to accomodate CodeWarrior 6.2 (thanks cprosser)
7805
7806 * stl/_cmath.h : extracted from <cmath> for better decoupling
7807
7808 * stl/_std_prolog.h, stl/_std_epilog.h : hooks for future alternative namespace inclusion style.
7809
7810 * config/stl_gcc.h : gcc-3.0 now supported
7811
7812 * src/gcc-beos.h : only static library is being built (dynamic stil don't work) (thanks John Maddock)
7813
7814 * using/iostream : included using/istream and using/ostream
7815
7816 * dll_main.cpp : force_link() fix to prevent numeric_limits static members and
7817 _M_increment/decrement from _tree.c from being optimized out by VC++
7818 (thanks Sofus Mortensen, Alberto Barbati )
7819
7820 * _alloc.c : added CHECK_NULL_ALLOC for _STLP_CHUNK_ALLOC with malloc, to throw exception if malloc returns 0 (thanks ghunt)
7821
7822 * stl_bc.h, <exception> : fixed Borland C++ import of unexpected handler stuff
7823
7824 * stl_ibm.h, etc. : fixes for IBM VisualAge 5.02 to compile
7825
7826 * type_traits.h : bool2type<> changed to be parameterized on int, to work around SUN CC bugs (probably others, too)
7827
7828The following changes were made in 4.5 beta 7 since 4.1 beta 6 :
7829
7830 * sparc_atomic.s : file missing from the distribution restored
7831
7832 * etc/ subdirectory created; miscellanous files moved there
7833
7834 * STLport ported to BeOs, complete with iostreams (thanks John Maddock)
7835
7836 * Macro _STLP_NO_SGI_IOSTREAMS renamed to _STLP_NO_OWN_IOSTREAMS, old references to SGI removed;
7837
7838 * "prepare" target added to all makefiles in src/; should be run before using STLport;
7839 on most platforms it's empty, on some of them it creates necessary symbolic links, etc.
7840
7841 * stl/_deque.h : deque<>::erase bug (introduced in 4.1b4) fixed (thanks to BruceFlorman)
7842 : default parameter in constructor bug fixed (Thanks to Alex Vanic)
7843
7844 * stl_msvc.h : explicit template function agruments enabled for VC++;
7845
7846 * stl_wince.h : added <windows.h> inclusion
7847
7848 * stl/_limits.h : numeric_limits<bool>::digits changed from 0 to 1 (Thanks Mukesh Kapoor)
7849
7850 * stl/_function_base.h : added __identity_element() (extension name), _numeric.h : this one used instead of identity_element() (Thanks Hafeez)
7851
7852 * stl_msvc.h : explicit template function agruments enabled for VC++;
7853
7854 use_facet<> now fully conforms to the standard with VC++. (Thanks Jeff Kohn for the input)
7855
7856 * fstream.cpp : LARGE_INTEGER used to work around Intel shift instruction bug (thanks Thomas Meischner)
7857 * fstream.cpp : ULL macro fixed for Win32
7858 * fstream.cpp : Added test for for INVALID_HANDLE_VALUE and NULL base and _M_view_id,
7859 for _M_close on Win32 (Thanks Stephen Baker)
7860 * fstream.cpp : Fixed corner case with mmap() on EOF (Thanks Jens Maurer)
7861
7862 * _istream.c : fixed _M_read_buffered sssso that it does not skip delimiters (Thanks Gerd Hoeren)
7863
7864 * stl/_string.h : operator __std_string() uses constructor with a size to correctly initialize string containing null chars (Thanks Armin)
7865
7866 * iomanip : added operator for setfill object and istream (was ostream only) (Thanks Mukesh Kapoor)
7867
7868 * stl/_locale.h , stl_intel.h : fixes for Intel 5.0 compiler (Thanks Anton and Marcello Pietrobon)
7869
7870 * stl_solaris.h : added _STLP_NO_NATIVE_WIDE_FUNCTIONS
7871
7872 * New makefiles added for Intel C++ 5.0 and VC++ 6.0 in src/, test/eh, test/regression (Thanks to Marcello Pietrobon)
7873
7874 * _STLP_NO_LONG_DOUBLE case handled for STLport iostreams as well (thanks John Daniel)
7875
7876 * SUN CC compiler template cache is being properly cleaned up (Thanks Whitney Kew)
7877
7878 * dll_main.cpp : added extern "C" around DllMain() (Thanks Danny Smith)
7879
7880 * type_traits.h : added bool parameter to shut up warnings on some compilers (Thanks glassman)
7881
7882 * stl/_rope.h/.c, src/mrcpp.mak, src/mrc.mak, stl/_tree.h : MPW & MRC fixes by Tsutomu Yoshida
7883
7884 * stl_gcc.h : added path for <exceptions> et al for gcc-2.95.3 on FreeBSD (Thanks to
7885
7886 * _tree.h /_tree.c : pointers used as return values instead of iterators for implementation
7887 functions, for efficiency.
7888
7889 * _algo.h/.c : added leading underscrore to some symbols (Thanks to Ed James-Beckerman for the report)
7890
7891 * dll_main.cpp : fixed nothrow object initialization (Thanks to Dan Ingold)
7892
7893 * beta suffix in common_macros.mak updated (thanks to Whitney Kew)
7894
7895 * c_locale_win32.c : incomple fix for locale completed (thanks to Alberto Barbati)
7896
7897 * c_locale.h : _Locale_ALPHA definition for VC++ and mingw32 fixed (thanks Danny Smith)
7898
7899 * _threads.h : fixed _DECTHREADS block to work on both DEC and HP
7900
7901 * _hash_set.h : fixed typo in MSVC++ bug workaround ( Thanks to Jon_Hanson for the report)
7902
7903 * stlport/strstream.h : fixed inclusion for MSVC 6 (Thanks Joachim Achtzehnter)
7904
7905 * _config.h : _STLP_RETHROW changed to avoid warnings with NO_EXCEPTIONS (thanks Richmond)
7906
7907 * _hashtable.c : prime list definition made consistent (thanks Rainer Schnitker)
7908
7909 * stl_hpacc.h : _STLP_FORCE_ALLOCATORS workaround used for Version 3.15 also (thanks Rainer Schnitker)
7910
7911 * stl/_string_io.c : fixed using directive in operator >>() (thanks Rainer Schnitker)
7912
7913 * debug/_deque.h : a check in erase() fixed (thanks Andreas Malzahn)
7914
7915 * debug/_list.h : added remove() to do iterator invalidation; range erase() fixed to do invalidation
7916
7917 * stl_watcom.h : added switches; disabled own iosterams by default;
7918 enabled ->() operator for iterators (thanks Steven Green)
7919
7920 * <exception> : added throw spec for what(); stl_sgi.h : made _STLP_NO_EXCEPTIONS depend on __EXCEPTIONS macro (Thanks Anton Ephanov)
7921
7922 * _string_io.c : operator << : fixed width() interpretation bug
7923
7924 * stl_hpacc.h/cmath : fixed HP aCC settings for -AA option (thanks Doug Gilbert)
7925
7926
7927
7928The following changes were made in 4.1 beta 6 since 4.1 beta 5 :
7929
7930 * _istream.h, _ostream.h, _ios.h, _fstream.h : guard macros fixed to not clash with .h files in "stlport" directory
7931 Also all uses of those macros fixed. (thanks to Gerd Hoeren for the report)
7932
7933 * _debug.c/_debug.h : fixed swap() for rb_tree and list (thanks to Gerd Hoeren for the report)
7934 swap() changed not to invalidate any iterators, as prescribed by the standard
7935
7936 * forced _REENTRANT to be defined when compiling with STLport iostreams and _STLP_DEBUG
7937 (without _STLP_DEBUG it seems to be binary compatible even without that)
7938
7939 * facets_byname.cpp source introduced to replace all xx_byname.cpp files;
7940 restored separate facets .cpp complilation (they used to be included in locale_impl.cpp)
7941
7942 * introduced _STLP_USE_PERTHREAD_ALLOC to optionally use per-thread allocator
7943 (_Pthread_alloc from _pthread_alloc.h) as the deafult node allocator. Only works with pthreads for now.
7944
7945 * Switches _STLP_DONT_REDEFINE_STD and _STLP_WHOLE_VENOR_STD are back (thanks to Anton Ephanov for the report)
7946
7947 * _vector.h : fixed bug in template version of insert (Thanks to Yotam Medini for the report)
7948
7949 * monetary.cpp : unneded hack for cygwin removed (thanks to Dean Sturtevant)
7950
7951 * <iostream> : fixed _STLP_OUTERMOST_HEADER_ID macro
7952
7953 * cin/cout/cerr redefined if no namespaces and SGI iostreams are used, for all compilers, just in case.
7954 * _sparc_atomic.h : fixed and improved atomic ops for gcc
7955
7956 * test/regression : non-backward-compatible old-style __STL_xx macros use changed to _STLP_xx
7957
7958 * config/st_gcc.h : disabled non-standard "extern" use for non-DLL templates
7959
7960 * mingw32 - used 'windows.h replacement' section in _threads.h (thanks to Danny Smith)
7961
7962 * locale Win32 bug fixed (thanks to Alberto Balbarti)
7963
7964 * mingw32 : _STLP_CONST_INIT_BUG defined for dll (thanks to Danny Smith)
7965
7966 * "make clean" glitches fixed (thanks to Whitney Kew for the report)
7967
7968 * _fstream.c : fixed codecvt bug for variable width encoding
7969
7970 * _STLP_ABORT macro introduced to avoid clashes with third-party sw redefining abort() (thanks to Jerry)
7971
7972 * c_locale_win32 : fixed parse bug in __ParseLocaleString (thanks to Danny Smith)
7973
7974 * extra declspecs removed from templates to fix VC++ 7.0 ; only concrete classes have specifiers (thanks to Holger Stasch for the report)
7975
7976 * stl_msvc.h, _hashtable.h/.c : fixes for IA64 compilation (thanks to Rainer Schnitker )
7977
7978 * fixed bugs in "make install" on Unix (thanks to Carlos Paniago)
7979
7980 * dll_main.cpp : DisableThreadLibraryCalls used for optimization (thanks to Alberto Barbati)
7981
7982 * dll_main.cpp : a dummy function added to force <limits> guts for static VC++ link (thanks to Alberto Barbati)
7983
7984 * gcc-linux.mak : flags fixed (thanks to Levente Farkas )
7985
7986 * stl_msvc.h, stl_intel.h : fixed __ICL version test (thanks to Serge Pashkov)
7987
7988 * versioning schema changed on Windows to have .dll extension (thanks everybody for the feedback)
7989
7990 * NetBSD makefiles fixed
7991
7992 * A bunch of fixes by Tsutomu Yoshida : MPW fixes plus :
7993 * stl/_config.h : I believe the definition for _STLP_STD under debug/non-debug configurations swapped.
7994
7995 * typeinfo.h : added check for _STLP_NO_NEW_HEADER for using declaration.
7996 Otherwise three classes will not be included in the namespace std when #include <typeinfo>.
7997
7998 * _istream.c : use of bind2nd (which required _function.h inclusion) changed to use alternate functor (thanks to Sergei Nikolaev)
7999
8000 * 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)
8001
8002 * _string_io.c : fixed Intel C++ compilation bug in native streams mode
8003
8004 * fstream.cpp : added write-sharing for fstream file handle (Thanks to Leland Best)
8005
8006 * 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.
8007
8008 * KAI C++ 4.0 is now supported on SUN
8009
8010 * MAC OS X compilation fixed (thanks Patrick Luby for the patch)
8011
8012 * HP aCC fixes by Michael Tsirkin
8013
8014 * "INF/NAN" string representation for uppercase changed to "Inf/NaN" to behave like printf() on most systems.
8015
8016 * debug/_iterator.c : fixed SUN 6.0 compiler internal error
8017
8018 * typeinfo.h : global scope used to import bad_cast, etc. (thanks to Val Melamed)
8019
8020 * debug/_list.h : missing template versions of remove_if(), merge() added. Missing regular sort() added.
8021 (Thanks to dgehri)
8022
8023 * debug/_slist.h : missing sort() (template and regular) interface added
8024
8025 * _istream.h : eliminated warning about comparison with unsigned (Thanks to Gerd Hoeren for the report)
8026
8027 * template constructors for containers changed to be one version with default allocator agrument, where possible.
8028
8029 * remaining _STL_ prefixes changed to _STLP_
8030
8031 * Solaris 7 compilation fixed
8032
8033 * fstream.cpp : seek() allowed to seek past the end of the stream (Thanks to Phillip Toland for the input)
8034The following changes were made in 4.1 beta 5 since 4.1 beta 4 :
8035
8036 * All internal macros changed to have prefix _STLP_ instead of __STL or __STLPORT or __SGI_STL.
8037 That is to allow seamless wrapping on platforms that use SGI STL as native STL/iostreams.
8038 For backward compatibility, most of user-settable __STL_xxx macros are accepted.
8039
8040 * Versioning of shared libraries made UNIX-compliant
8041
8042
8043 * Some temporary lifetime problems in SGI iostreams which may introduce memory corruption, fixed.
8044
8045 * <new> : fixed memory leak bug due to unclever macro expansion in __stl_new (thanks to Joachim Achtzehnter)
8046
8047 * stl/_tree.h : fixed several bugs in new code for corner cases in insert_equal()/insert_unique() with a hint
8048 (thanks to Micheal Tsirkin for the report and patch)
8049
8050 * _vector.h:284 : __copy call fixed to be __copy_aux (thanks to Alex Vanic)
8051
8052 * _config.h : fixed static build bug due to __STL_EXPOSE_GLOBALS_IMPLEMENTATION typo (thanks to Serge Pashkov)
8053
8054 * fstream.cpp: __pioinfo definition for mingw32 fixed (Thanks to Danny Smith)
8055
8056 * *.SUNWCCh files changed to regular files; moved to "stlport" directory
8057
8058 * pthread_alloc : split into <pthread_alloc>/<stl/_pthread_alloc.h>
8059
8060 * lightweight atomic ops used on SPARC v8plus and v9 (gcc and SUN CC)
8061
8062 * Mac OS X support introduced (thanks to Patrick Luby)
8063
8064 * SGI iostreams ported to DJGPP (thanks to Tanes Sriviroolchai)
8065
8066 * SGI iostreams ported to NetBSD (thanks to Michael Rauch)
8067
8068 * FreeBSD build fixed, now builds for wchar_t too
8069
8070 * DEC CXX build fixed; restricted to dynamic lib only
8071
8072 * SGI MIPSpro build fixed; GNU make has to be used
8073
8074 * Set of HP fixes by Michael Tsirkin
8075
8076 * Set of Watcom fixes by Ricardo Gayozo
8077
8078 * Bunch of Apple MRC/MPW fixes by Tsutomu Yoshida integrated
8079
8080 * Bunch of iostream fixes for Cygwin, Borland and Intel 4.5, by Serge Pashkov
8081
8082 * debug/_list.h : added checking versions of pop_back/pop_front (thanks to Per Liboriussen)
8083
8084 * src/c_locale_win32.c : fix for VC5sp3 (thanks to Petr Ovtchenkov), fix for day of week order (thanks to Danny Smith),
8085 fix for null-termination in my_ltoa (thanks to Serge Pashkov)
8086
8087 * Some warnings in debug mode fixed (thanks to Marco)
8088
8089 * type_traits.h : IsP functions return types changed to be more portable (thanks to Serge Pashkov for the suggestion),
8090 __cdecl added for Win (thanks to Todd Wilson)
8091
8092 * debug/_tree.h : added owner check for erase() (thanks to Alberto Barbati)
8093
8094 * stl/_ostream.h : << operator specializations added for compilers w/o partial ordering
8095 (thanks to Alberto Barbati for pointing this out).
8096
8097 * "make install" on UNIX : fixed the target not to remove lib directory;
8098 default installdir restored to be /usr/local (thanks to Jeff de Vries for the input)
8099
8100 * _construct.h : extra cast for __STL_SHRED_BYTE removed (thanks to khesin)
8101
8102 * _relops.h header obsoleted; some extra includes removed
8103
8104 * __STL_STATIC_CONST_INIT_BUG use normalized; now it's used for all compilers not able
8105 to treat const members as coplile-time constants; enum used for them (e.g VC++).
8106 Thanks to Dean Sturtevant and Gavin Collins for the ideas.
8107
8108 * stlport/cmath : fixed SUN CC 5.0 compatibility mode bug (thanks to ade for the report)
8109
8110 * debug/_hashtable.h : fixed equal_range() bug (thanks to decraft for the report)
8111
8112 * streambuf.cpp/_streambuf.h : fixes xsgetn() bug (thanks to Vadim Egorov)
8113
8114 * istreambuf_iterator<> : nonconforming behaviour fixed (thanks to Tom Widmer)
8115
8116 * _num_put.c : fixed corner case for 0x8000000 output.
8117
8118 * num_get<> : extra get() and do_get() members for "int" and "short" removed; istream operators changed accordingly
8119
8120 * _itreambuf_iterator.h/_ostreambuf_iterator.h introduced to decouple those from num_get/num_put
8121
8122 * gcc makefiles in src : "-fno-implement-inlines" removed
8123
8124 * Added workaround for gcc's limits.h and SUN Ultra with -mcpu=ultrasparc in 32-bit mode.
8125
8126 * ios_base:: type for constants made "int" for all compilers, as it more efficient and perfectly compliant.
8127
8128 * debug/_hashtable.h : fixed typo in swap() ( thanks to Gerd Hoeren for the report)
8129
8130 * debug/_string.h : +() operators defined unconditionally ( thanks to Gerd Hoeren for the report)
8131
8132 * _istream.c : removed dependancy on _function.h (thanks to Kenny Simpson for the report)
8133
8134 * _limits.c : fixed little-endian representation of infinity & NaN (thanks to Rene van Oostrum)
8135
8136 * _stdio_file.h : fixed postdecr macro for 64-bit Solaris (thanks to Jim Cole)
8137
8138
8139The following changes were made in 4.1 beta 4 since 4.1 beta 3 :
8140
8141 * Simulation of class partial specialization (thanks to Mat Marcus and Jesse Jones of Adobe)
8142 used to provide following enhancements :
8143
8144 - type_traits are automatically specialized for all pointer types for all compilers,
8145 which makes them able to utilize type_traits-based optimizations when dealing with pointer types,
8146 automatically.
8147
8148 - all functions specialized for pointers and optimized via __type_traits
8149 ( like copy()/copy_backward(), _uninitialized_xx) now enjoy this optimization for all compilers!
8150
8151 - generic __value_type()/__difference_type()/__iterator_category() are written so user does not have
8152 to supply any of its own even when partial specialization is not available.
8153 (Note : gcc-2.7 and VC++ 5.x, 6.x have bugs which prevents them from using this enhancement, still)
8154
8155 * <iterator> : by default, non-standard iterator query names like
8156 value_type()/difference_type()/iterator_category() are not used
8157
8158 * <algo> : major revision:
8159 - algorithms without explicit Compare() function expressed via the one that has it where possible.
8160 This considerably reduces header size and reduces code bloat for programs which use both flavours of
8161 those algorithms.
8162 - some function bodies moved between .c and .h
8163 - all functions used internally moved out to _algobase.h, so no other header includes <_algo.h> anymore
8164 - find() specialized for random access iterators regardless of partial spec.
8165
8166 * Dynamic libraries (.DLL and .so) : name versioning used to prevent clashes between STLport versions
8167
8168 * src/ : code regrouped between .cpp files to provide for less executable size with dumb linkers;
8169
8170 * locale subsystem initialization : startup changed to use statically allocated structures as much as possible;
8171
8172 * <stl/_function.h> : basic stuff moved to _function_base.h ;
8173 other STL headers now include _function_base.h instead
8174
8175 * _threads.h : MT support for OS/2 added (only tested with VAC++)
8176
8177 * _stdio_file.h : added support for Solaris in ELF64 mode (thanks to Holger Stasch)
8178
8179 * stl/_hashtable.h : [] operator for hash_map optimized to take no more than find() when element is present
8180 (Thanks to Thomas Witt et al.)
8181
8182 * _ostream.h : fix for default unsigned char (thanks to Holger Stasch)
8183
8184 * all __STL_ABBREVS abbreviations moved aside in _abbrevs.h header.
8185
8186 * Fujitsu C++ Compiler support added (thanks to Holger Stasch)
8187
8188 * Initial SGI iostreams port to OS/390 introduced (thanks to Holger Stasch).
8189
8190 * More on SGI iostreams port to xlC 5.0 (thanks to Holger Stasch).
8191
8192 * Fixes for SGI MIPSpro compilers (Thanks to Ralph)
8193
8194 * Fixes for HP aCC compiler (Thanks to Michael Tsirkin)
8195
8196 * stlport/SC5 directory : removed C library .h files to fix circular inclusion problem with WS6.0 + C programs.
8197
8198 * hash_map::swap() in debug mode fixed (thanks to Anton)
8199
8200 * __STL_COMPILE_INSTANTIATE hack for DEC removed (thanks to Ralph)
8201
8202 * __STL_INLINE_STRING_LITERAL_BUG defined for HP aCC ( thanks to Jason Taylor)
8203
8204 * _bitset.h - member workaround operators made const (thanks to dzwick)
8205
8206 * _bitset.h/.c, hashtable.h -- small bugfixes (thanks to Levente Farkas)
8207
8208 * <exception> - now includes exception.h if only that is available.
8209
8210 * vector::assign() inplemented for vector::iterator when member templates are not available (Thanks to dzwick)
8211
8212 * fstream.cpp : __pioinfo used for MinGW32 (thanks to Danny Smith)
8213
8214The following changes were made in 4.1 beta 3 since 4.1 beta 2 :
8215
8216 * list<>::clear() : protected access bug fixed
8217
8218 * __STL_MUTEX_INITIALIZER set back to PTHREAD_MUTEX_INITIALIZER for pthreads case,
8219 as some platforms (eg AIX) do not treat zero-initialized mutex as valid one (thanks to Alex Vanic, Jack Andrews for help)
8220
8221 * stl/_limits.c : fixed typo preventing numeric limits constants to be defined for __STL_LITTLE_ENDIAN,
8222 constants initialization fixed (thanks to Ingo Donasch)
8223
8224 * real implementation of locales for Win32 contributed by Anton Lapach (thanks !) merged in.
8225
8226 * stl_user_config.h, _config.h : changed default to not define relops:: operators
8227 in __STL_NO_NAMESPACES mode.
8228
8229 * _numeric_facets.c/num_put.cpp : printing of integer do not use sprintf() anymore
8230
8231 * "install" target implemented for UNIX & VC++ Makefiles. It now installs headers and libraries.
8232
8233 * "src" : files merged to get less compilation time and less space overhead for imperfect compilers
8234
8235 * "debug" flavour of STLport excluded from default build and auto-select ;
8236 please use __STL_USE_DEBUG_LIB and build debug STLport lib explicitly with "make debug_dynamic"
8237 if you really need it). "all" now builds 2 kinds : "release" and "STLdebug", for static and dynamic builds.
8238
8239 * stlport_prefix.h : WIN32_LEAN_AND_MEAN set for Win32 build of STLport library, for speed.
8240
8241 * FreeBSD compile fixed; makefiles added.
8242
8243 * All "__init" changed to "_Init" to fix clashes with DEC conventions (thanks to Holger Stasch)
8244
8245 * _range_errors.h -- fixed to always set __STL_EXTERN_RANGE_ERRORS for SGI iostreams (thanks to Serge Pashkov)
8246
8247 * *gcc* mak : some files renamed to gcc-platform mak
8248
8249 * "extern template" extension used for gcc & standard i/o classes, to reduce code bloat in application's .o
8250
8251 * "extern template" extension used for VC++ & standard i/o classes (was for DLL only)
8252
8253 * _iterator.h : added template(and non-template) assignment operator for reverse_iterator<> (thanks to psw). Obsolete HP-style code moved to _iterator_old.h
8254
8255 * _alloc.h : obsolete code for raw SGI allocators support moved to separate header, for compile-time improvement
8256
8257 * More iostreams code conditionally moved out for clients who only use standard i/o and can set __STL_NO_CUSTOM_IO flag
8258
8259 * <iostream>, <locale> : initialization of locale subsystem made independent of standard streams.
8260 sync_with_stdio call before iostream initialization now works.
8261
8262 * <fstream>, <fstream.h> : added initialization code for locale , same as in <locale>
8263 (thanks to George Trojan for the report)
8264
8265 * fstream.cpp : fixed resource leak in case memory map fails on Win32 (thanks to Mark Laffoon)
8266
8267 * <cmath>, <cstdlib> : added additonal overload signatures required by chapter 26.5 of ANSI (thanks to Levente Farkas for
8268 the suggestion), plus "long long" flavour where applicable.
8269
8270 * __STL_LONG_LONG generalized to support __int64 on Win32 (thanks to Adam Gates for the suggestion)
8271
8272 * _fstream.h : added constructor from file descriptor, as extension (thanks to eric_a_benson)
8273
8274 * _fstream.h : added basic_filebuf<>::fd() file descriptor accessor, as extension (thanks to George Trojan)
8275
8276 * stl_sunpro.h : strstream masked for CC 4.2 to avoid virtual table clash (thanks to Ken)
8277
8278 * stl_msvc.h : member templates allowed for VC5, it's capable of hadling most of them (same restrictions as VC6 -- inline).
8279
8280 * debug/_debug.c : slightly changed format of debug message to please VC++ IDE (thanks for Bruce Dawson for the suggestion)
8281
8282 * src/sgi_mipspro.mak added, for SGI MIPSPro compilation
8283
8284 * merged series of HP/SUN minor fixes by Petr Ovtchenkov
8285
8286 * merged series of Intel 4.5 fixes by Serge
8287
8288 * vc_common.mak : -Yd dropped, as obsolete (thanks to psw)
8289
8290 * _range_errors.h:95 : unused argument removed (thanks to George Trojan)
8291
8292 * _string_io.h : refined _WRTLING workaround for Watcom (thanks to Serge Pashkov)
8293
8294 * _threads.h : fixed SGI threads dafines for gcc on IRIX (thanks to Brett Denner for the report)
8295
8296 * <typeinfo.h>, <typeinfo> : mutually-exclusive machanism added to allow including both in same unit.
8297
8298 * Inclusion of SGI iostreams headers put to some order; _streambuf_iterator.h file introduced to resolve circular dependancies
8299
8300The following changes were made in 4.1 beta 2 since 4.1 beta 1 :
8301
8302 * _algobase.h : fixed __STL_DECLARE_COPY_TRIVIAL definition
8303 (thanks to Charles Burfoot for the report)
8304
8305 * _algobase.h : added copy_backward specializations for builtin types for compilers w/o partial spec.
8306
8307 * _char_traits.h : fixed zero-length check for copy (thanks to Michael Tsirkin)
8308
8309 * msvc_warnings_off.h : fixed "and" typo
8310 (thanks to Charles Burfoot for the report)
8311
8312 * num_put_float.cpp : fixed rounding for "g" format (thanks to Bernd Mohr for the report)
8313
8314 * Initial port of iostreams to xlC 5.0 added (thanks to Jack Andrews)
8315
8316 * stl_sunpro.h : a fix for Forte config (Thanks to Alex Vanic for the report)
8317
8318 * old_hp/iterator.h : fixed iterator_category()/etc. import
8319
8320 * _threads.h : __stl_atomic_t used instead of "unsigned long" (thanks to Alex Vanic for the report)
8321 * using/iomanip : old-streams path used for native iomanip.h (thanks to Michael Tsirkin for the report).
8322
8323 * _bitset.h , _bitset.c : direct STL_THROW replaced with __stl_throw_xxx calls (thanks to Michael Tsirkin for the report)
8324
8325 * range_errors.h/cpp : added functions to support throwing of overflow_error and invalid_argument
8326
8327 * _threads.h : enganced HP-specific guards for HP-UX 11 (thanks to Matthew Collins for the report)
8328
8329 * _string.h : compare() bugfix (thanks to Anton Sergeev)
8330
8331 * moneypunct_byname_w.cpp : rolled back wrong bugfix (thanks to Ken)
8332
8333 * _vector.h, _deque.h, _list.h : nonstandard versions of push_back()/push_front()
8334 moved under __STL_NO_ANACHRONISMS guard (thanks to Ed Brey)
8335
8336 * _tree.c, _list.c, _slist.c, _debug.c : compile-time improvements
8337
8338 * _tree.h/c, _list.h/c, _slist.h/c, _vector.h/c, _string.h/c : using directive for data members
8339 changed to explicit "this->".
8340
8341 * _complex.h : signatures of some methods changed to take value_type instead of const value_type&,
8342 for better conformance (thanks to Petr Ovtchenkov)
8343
8344 * Bunch of fixes to compile with gcc on HP-UX 10, 11 (thanks to Petr Ovtchenkov)
8345
8346 * Code duplication for __STL_INLINE_MEMBER_TEMPLATES removed -- corresponding methods are always inlined
8347
8348 * stl_sunpro.h : fix for "-compat" mode (thanks to Vijay Ramachandran)
8349
8350 * pthread.h : new wrapper added
8351
8352 * Added custom prolog/epilog for HP aCC to select kthreads on HP-UX 11 (Thanks to Michael Tsirkin)
8353
8354 * <new> : fixed throw specification for bad_alloc (has to be inherited)
8355
8356 * Macro __STL_NATIVE_CPP_RUNTIME_INCLUDE_PATH introduced to specify separate path for <exception>, <typeinfo>, <new>.
8357 (thanks to Bryan Byrnes)
8358
8359 * <stdio_streambuf> : moved from stlport/stl to stlport directory, for SGI compatibility
8360
8361The following changes were made in 4.1 beta 1 since 4.0 :
8362
8363 * Sun Forte 6.0 C++ configuration provided (thanks to Alexander Vanic for the input)
8364
8365 * _threads.h/_config.h : added efficient support for atomic operations for
8366 DEC CXX and Watcom (thanks to Ricardo Gayoso for the input).
8367 Macros __STL_ATOMIC_xxx introduced to facilitate this.
8368
8369 * _tree.h : optimizations to lower number of comparisons (thanks to Craig Powers for the patch)
8370
8371 * _tree.h, _hashtable.h and clients : added templated find() as an extension (thanks to Michael Tsirkin for the suggestion)
8372
8373 * _tree.h : changed some inlining for performance optimization
8374
8375 * __node_alloc:: allocate broken into two functions for better inlining
8376
8377 * _threads.h : added PTHREAD_MUTEX_INITIALIZER guard for HP workaround
8378
8379 * stl_bc.h : option set to control alignment and virtual table behaviour to be consistent;
8380 library name adjusted to stlport_bcc55_xxx
8381
8382 * _algobase.h, _uninitialized.h, char_traits.h -- optimized out empty memcpy() calls
8383 (thanks to Michael Tsirkin for the report).
8384
8385 * _iterator.h : fixed reverse_iterator::operator+(int, reverse_iterator) resolution
8386 (thanks to Anton Sergeev for the input)
8387
8388 * _bitset.h : bitset<>::test bugfix (thanks to Anton Sergeev for the patch)
8389
8390 * complex_trig.cpp : use of __STL_NO_LONG_DOUBLE made consistent, fixes for Borland on Linux
8391 (thanks to John Wiegley for the input)
8392
8393 * moneypunct_byname_w.cpp : bugfixes for string copying (thanks to Anton Sergeev for the input)
8394
8395 * Watcom-specific fixes (thanks to Ricardo Gayoso for the input)
8396
8397 * src/common_macros.mak : some intermediate targets added (thanks to Jeremy for the suggestion)
8398
8399 * _debug.c : fixes for Win CE (thanks to John Hynes for the patch)
8400
8401 * Intel CC 4.0-specific fixes (thanks to Sean Cavanaugh for the input)
8402
8403 * _list.c : workaround for Watcom C++ (thanks to Mike Steed for the report)
8404
8405 * __STL_NO_NATIVE_WIDE_STREAMS definition fixed (thanks to Glen Summers for the patch)
8406
8407 * cast macros fixed to be more robust (thanks to Geoff Oakham for the report)
8408
8409 * "strstream.h" native inclusion for VC 6.0 fixed (thanks to Sathish T C for the report)
8410
8411 * debug/_string.h : improvement to string with __STL_DEBUG w/o member templates
8412 (thanks to Paul Furnanz for the report)
8413
8414 * debug/_string.h : fixed internal compiler error for VC++ 5.x (thanks to chvetsov for the report)
8415
8416 * cstdio, stl/_streambuf.h : fixes to allow gcc compilation with -ansi flag
8417
8418 * workaround for cin/cout renaming on HPUX11 for -D_REENTRANT (thankf to Jeff Sparkes for the report)
8419
8420 * cin/cout/cerr/clog renaming in STLport for CC 4.0 and SGI iostreams,
8421 to avoid symbol clashes with native ones (thanks to Dirk Schreib for the report)
8422
8423 * type_info scope fixes for VC++ 6.0 (thanks to Sathish T C for the report)
8424
8425 * typeinfo.h using fixes (thanks to Glen Summers for the input)
8426
8427 * stlcomp.h : fixes to allow compilation of .c modules with VAC++, Sun CC, DEC CC, Watcom CC
8428 (thanks to Dmitry A.Steklenev, Jonathan Richardson for the report)
8429
8430 * debug/_tree.h : fixed insert_unique() bug (thanks to Ben Liblit for the report)
8431
8432 * regression/gcc.mak made non-dependant on "." in the path
8433 (thanks to Thomas Matelich for the report)
8434
8435 * hmset1.cpp fixed to compile under OS390 ( thanks to Andrey Khovanskiy for the report)
8436
  
12008-03-18 Petr Ovtchenkov <complement@users.sourceforge.net>
2
3 * stlport/stl/_string.c: derived from patch #1914475, wrong
4 replace for selfreferencing string; thanks Farid Zaripov;
5
6 * test/unit/string_test.cpp: test for problem above.
7
82008-01-29 Petr Ovtchenkov <complement@users.sourceforge.net>
9
10 * build/Makefiles/gmake/gcc.mak, build/test/unit/gcc.mak:
11 build on HP-UX PA-RISC and IA64, build on Solaris;
12
13 * build/test/eh/gcc.mak: ditto;
14
15 * build/Makefiles/gmake/hp-ux/targetsys.mak: cool, but HP-UX IA64
16 use shared lib extention so, not sl as on PA-RISC;
17
18 * src/cxa.c: fix cxa_atexit problem for HP-UX with gcc, like on
19 Solaris;
20
21 * stlport/wctype.h, stlport/stl/_cwctype.h: problem with wchars
22 on HP-UX;
23
24 * src/num_get_float.cpp: no stdint.h on HP-UX; suggested by KBac.
25
262008-01-19 Francois Dumont <dums@users.sourceforge.net>
27
28 * 5.1.5 released based on revision 3387.
29
302008-01-15 Petr Ovtchenkov <complement@users.sourceforge.net>
31
32 * stlport/stl/config/_hpux.h: define _POSIX_C_SOURCE 199506;
33
34 * build/Makefiles/gmake/gcc.mak: remove obsolete and wrong workaround
35 for Solaris and Darwin; suggested by KBac, patch #1869229.
36
372008-01-13 Francois Dumont <dums@users.sourceforge.net>
38
39 * src/fstream.cpp, stlport/stl/_fstream.c: Complete bug #1854345
40 fix as already done in SVN trunk. Moreover, an other SVN trunk bug
41 fix has been integrated. We now try to convert already read buffer
42 even if latest file read failed.
43
44 * src/fstream.cpp: Integrate trunk fix for management of Crtl-Z under
45 Windows.
46
472008-01-11 Petr Ovtchenkov <complement@users.sourceforge.net>
48
49 * src/num_put_float.cpp, stlport/stl/_cstdlib.h, stlport/stl/config/_hpux.h:
50 On HPUX IA64 gcc have <wchar.h> and <cwchar> files, but they are conflict
51 with <stl/_mbstate_t.h>; suggested by KBac, patch #1868233.
52
532008-01-02 Francois Dumont <dums@users.sourceforge.net>
54
55 * src/_stdio_file.h: Apply Windows CE fix already present in trunk to
56 avoid the famous opening console issue.
57
58 * src/fstream.cpp: #1854345 bug fixed.
59
602007-12-11 Petr Ovtchenkov <complement@users.sourceforge.net>
61
62 * build/Makefiles/gmake/lib/gcc.mak, build/Makefiles/gmake/app/gcc.mak:
63 pass CXXFLAGS to compilers when investigate compiler- and OS-specific
64 files, to process correctly multilib environments. Already in trunk.
65
662007-12-07 Francois Dumont <dums@users.sourceforge.net>
67
68 * src/c_locale_glibc/c_locale_glibc2.c: Fix a potential one
69 byte memory overrun.
70
712007-11-12 Petr Ovtchenkov <complement@users.sourceforge.net>
72
73 * test/unit/fstream_test.cpp: testcase for bug #1830513;
74 __read_unbuffered wrongly process valid streamsize 0;
75 [was derived from original report of Anton Samokhvalov and Oleg Obolenskiy]
76
77 * stlport/stl/_istream.c: fix for bug #1830513 above;
78 check boundary condition in the beginning of loop.
79
802007-10-21 Francois Dumont <dums@users.sourceforge.net>
81
82 * src/allocators.cpp: Add missing const_cast in lock free
83 allocator implementation when _STLP_LEAKS_PEDANTIC is defined.
84 Thanks trungantran on forum.
85
862007-10-07 Francois Dumont <dums@users.sourceforge.net>
87
88 * STLport 5.1.4 released based on revision 3219. STLport-5.1.4
89 tag created.
90
91 * stlport/stl/_stlport_version.h, build/lib/Makefile.inc: Patch
92 version bump to 5 to prepare next potential patch release.
93
942007-10-05 Francois Dumont <dums@users.sourceforge.net>
95
96 * stlport/stl/debug/_iterator.h, _string.h, src/string.cpp:
97 Removed useless and even invalid workaround used when
98 _STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND is defined. There is now
99 only one construct check class __construct_checker,
100 __msvc6_construct_checker has been removed.
101
1022007-09-28 Petr Ovtchenkov <complement@users.sourceforge.net>
103
104 * Platform tested: gcc 4.1.2 20060928 (prerelease)
105 (Ubuntu 4.1.1-13ubuntu5), i686 GNU/Linux, glibc 2.4;
106
107 * release-shared: fail on list_test.cpp:392
108 [CPPUNIT_ASSERT(lint1.size() == 20)], suspected compiler's bug;
109 1 fail from 395 tests;
110
111 * stldbg-shared: passed 395 tests;
112
113 * Platform tested: gcc 4.1.2, i686 GNU/Linux, glibc 2.4;
114
115 * release-shared: fail on list_test.cpp:392
116 [CPPUNIT_ASSERT(lint1.size() == 20)], suspected compiler's bug;
117 1 fail from 395 tests;
118
119 * stldbg-shared: passed 395 tests;
120
121 * Platform tested: gcc 4.2.1, i686 GNU/Linux, glibc 2.4;
122
123 * release-shared: passed 395 tests;
124
125 * stldbg-shared: passed 395 tests;
126
127 * Platform tested: gcc 4.1.1, i686 athlon-4 i386 GNU/Linux,
128 glibc 2.3.6;
129
130 * release-shared: passed 395 tests;
131
132 * stldbg-shared: passed 395 tests;
133
134 * src/c_locale_glibc/c_locale_glibc2.c: this is a C, so
135 decl allowd only on top of block;
136
137 * Platform tested: gcc 2.95.4 (debian), i686 GNU/Linux,
138 glibc 2.3.2;
139
140 * release-shared: build success, as library as unit tests,
141 but run unit tests fail---stalling on spinlock during library
142 load; looks like problem with correct initialization of
143 statics;
144
145 * stldbg-shared: fail build library, stlport/stl/debug/_hashtable.h:49:
146 declaration of `operator ==' as non-function
147
1482007-09-27 Francois Dumont <dums@users.sourceforge.net>
149
150 * src/facets_byname.cpp: In collate::do_transform, consider
151 low == high as a special case, returns empty string in this
152 case.
153
1542007-09-27 Petr Ovtchenkov <complement@users.sourceforge.net>
155
156 * test/unit/find_test.cpp: array initialization missed.
157
1582007-09-17 Francois Dumont <dums@users.sourceforge.net>
159
160 * stlport/stl/_num_get.h: Add _STLP_DECLSPEC specification to
161 several functions that might be access by external code when
162 num_get facet is instantiated with something else than the
163 Standard required instantiation.
164
1652007-09-11 Francois Dumont <dums@users.sourceforge.net>
166
167 * src/c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c: Fix
168 _Locale_strxfrm and _Locale_wcxfrm implementation to take
169 into account strings that are not zero terminated.
170
171 * test/unit/locale_test.cpp: Add check that collate.tranform
172 method build a key only for chars in the range pass to method.
173
1742007-09-10 Francois Dumont <dums@users.sourceforge.net>
175
176 * src/facets_byname.cpp: John Maddock bug report 1788618 fix.
177 Moreover remove use of an intermediate buffer to get result
178 of _Locale_strxfrm.
179
180 * test/unit/locale_test.cpp: Add tests for collate::transform
181 facet method.
182
183 * src/c_locale_win32/c_locale_win32.c: Small modification,
184 _Locale_strxfrm is supposed to return the number of chars
185 required to store the generated sorted key without the trailing
186 zero.
187
188 * src/c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c: Fix
189 implementation of _Locale_strxfrm, it should never return -1.
190
1912007-09-10 Petr Ovtchenkov <complement@users.sourceforge.net>
192
193 * stlport/stl/_string.c: fix bugs in string rfind, find_last_of,
194 find_last_not_of [bug #1788700, position 0 was wrongly excluded];
195
196 * test/unit/string_test.cpp: test for problems above. Thanks
197 to Bred Bored for bug report and initial test.
198
199 * unit tests: Linux 2.6.16.26 (athlon-4), gcc 4.1.1, glibc 2.3.6
200 "OK 395 tests" for release-shared and stldbg-shared targets.
201
2022007-09-09 Petr Ovtchenkov <complement@users.sourceforge.net>
203
204 * test/unit/rope_test.cpp, stlport/stl/_rope.h: test for
205 bug #1788615 [bug during copy of rope's iterator] and fix;
206 suggested by John Maddock.
207
208 * stlport/stl/_algobase.c: symmetry not required for
209 comparator in case of two different sequences comparison or
210 searching; symmetrical comparator just may not exist;
211
212 * stlport/stl/debug/_hashtable.h: symmetry not required for
213 comparator in hashtable in case of containers extention;
214 symmetrical comparator just may not exist;
215
216 * test/unit/alg_test.cpp: test for problem above, thanks
217 Oleg Obolenskiy.
218
2192007-09-06 Francois Dumont <dums@users.sourceforge.net>
220
221 * test/unit/strstream_buffer_read_test.cpp: Remove useless
222 strdup call that was moreover introducing a memory leak.
223
2242007-09-04 Francois Dumont <dums@users.sourceforge.net>
225
226 * src/allocators.cpp: Fix implementation of _S_chunk_dealloc when
227 lock free implementation is not in use. Thanks bug report 1787636
228 from Sergej Zagursky.
229
2302007-08-31 Francois Dumont <dums@users.sourceforge.net>
231
232 * stlport/stl/_cstdio.h, _ctime.h: Add missing macro definition
233 test before using _WIN32_WCE thanks bug report 1784174.
234
235 * stlport/stl/_bitset.h: Change macro tests in order to check
236 macro definition before using it thanks bug report 1785679.
237
238 * test/unit/bitset_test.cpp: Bitset::iostream new test to check
239 correct input/output of bitset class.
240
241 * build/Makefiles/gmake/gcc.mak: Add -Wundef gcc option when building
242 with gcc under Cygwin MinGW, it is an interesting option to detect
243 macro check errors.
244
2452007-08-26 Francois Dumont <dums@users.sourceforge.net>
246
247 * stlport/stl/config/user_config.h, host.h: Moved the administrative
248 _STLP_USE_DEFAULT_FILE_OFFSET macro from user_config.h to host.h.
249
250 * stlport/stl/config/_gcc.h: Under MinGW we now use C symbols in
251 global namespace. Tests with 4.2.1 gcc version shows that C symbols
252 are not necessarily put in std namespace.
253
2542007-08-23 Francois Dumont <dums@users.sourceforge.net>
255
256 * stlport/stl/_complex.h: As in _iosfwd.h, removed useless
257 _STLP_CLASS_DECLSPEC attribute on complex class declaration.
258
2592007-08-23 Petr Ovtchenkov <complement@users.sourceforge.net>
260
261 * stlport/stl/debug/_vector.h: only random access iterators
262 allow operations 'less-than' and distance; for bidirectional
263 iterators removed usage of 'less-than', and for others
264 [like forward and input iterators] removed as usage of 'less-than'
265 as distance; thanks Oleg Obolenskiy for bug report;
266
267 * test/unit/ioiter_test.cpp: test for problem above.
268
2692007-08-18 Francois Dumont <dums@users.sourceforge.net>
270
271 * stlport/stl/_iosfwd.h: Removed useless _STLP_CLASS_DECLSPEC attribute
272 on class declaration. Latest gcc versions are reporting a warning about
273 it.
274
2752007-08-16 Francois Dumont <dums@users.sourceforge.net>
276
277 * src/dll_main.cpp: Removed useless _Atomic_swap_struct explicit
278 instantiation, moreover, MSVC 2005 do not support it.
279
2802007-08-15 Petr Ovtchenkov <complement@users.sourceforge.net>
281
282 * Repository: bump lib version to 5.1.4;
283
284 * stlport/stl/char_traits.h, src/fstream.cpp: use 64-bits
285 file operations calls, if available on system; streamoff is
286 always off64_t, if _LARGEFILE_SOURCE or _LARGEFILE64_SOURCE
287 defined, i.e. if 64-bits file operations present;
288
289 * stlport/stl/config/user_config.h: add _STLP_USE_DEFAULT_FILE_OFFSET,
290 force use off_t for streamoff and appropriate file operations calls;
291 note, that this may lead to problems, for example if _FILE_OFFSET_BITS
292 defined as 64 somewhere in user's code;
293
294 * test/unit/fstream_test.cpp: test 64 bits type for filesize and
295 file offset.
296
2972007-07-22 Petr Ovtchenkov <complement@users.sourceforge.net>
298
299 * src/fstream.cpp: force use lseek64/mmap64 for HP-UX, if _LARGEFILE64_SOURCE
300 defined; thanks for Michael Klein.
301
3022007-07-17 Petr Ovtchenkov <complement@users.sourceforge.net>
303
304 * stlport/stl/_algo.c, stlport/stl/_algobase.c: search, the __tmp and
305 __p1 iterators always point at the same position, hence one of them
306 is redundant;
307
308 * stlport/stl/_algobase.c: in the main-loop of search there are two
309 successive while-loops doing exactly the same thing; one of them is
310 redundant and, since it is inside the main-loop, it slows down
311 the algorithm significantly;
312
313 * stlport/stl/_algo.c, stlport/stl/_algobase.c: in the search the main-loop
314 condition "while (__first1 != __last1)" is always true and consequently
315 redundant; this is because the initial adn in-loop conditions virtually
316 act as guards and will never let the main-loop condition to fail; since
317 this condition is evaluated in every main-loop iteration, its removal
318 will also improve the performance of the algorithm; thanks for
319 Jim Xochellis for this suggestions.
320
3212007-07-15 Petr Ovtchenkov <complement@users.sourceforge.net>
322
323 * src/strstream.cpp: "get end" pointer should be initialized
324 to the "begin of get + N" in obsolete strstream; bug #1536503,
325 thanks for Jean-Eric Cuendet;
326
327 * test/unit/strstream_buffer_read_test.cpp, build/test/unit/Makefile.inc:
328 test for bug above; [submitted by Jean-Eric Cuendet].
329
3302007-04-02 Francois Dumont <dums@stlport...>
331
332 * 5.1.3 released based on revision 2983. STLport-5.1.3 tag created.
333
3342007-03-30 Francois Dumont <dums@stlport...>
335
336 * build/lib/configure.bat: Restore TARGET_PROC_SUBTYPE definition
337 to distinguish between ARM architectures.
338
3392007-03-22 Francois Dumont <dums@stlport...>
340
341 * stlport/stl/config/_msvc.h, _deque.h, _bvector.h: Portage from
342 Ulrich Echkardt to EVC 8.
343
344 * doc/README.evc8, README.wince: New documentations about Windows
345 CE and EVC 8 from Ulrich Echkardt.
346
347 * doc/evc_workaround.txt, doc/README.evc3, First file merged to the
348 second one.
349
350 * stlport/stl/_stlport_version.h: Bump patch level to 3.
351
3522007-03-07 Francois Dumont <dums@stlport...>
353
354 * src/dll_main.cpp, stlport/stl/_stdexcept_base.h: Change strncpy_s
355 invocation to pass _TRUNCATE parameter rather than number of chars
356 to put in destination string. Default strncpy_s behavior is not to
357 truncate string if necessary but to report the issue throught a handler
358 which lead to an application crash if no handler has been set. Thanks
359 Bronek Kozicki bug report 1674974.
360
361 * stlport/stl/type_traits.h: Add a default constructor declaration
362 in _TpWithState class to make gcc happy when class is instanciated
363 with a class with no default constructor.
364
365 * stlport/stl/config/_windows.h: Change definition of
366 _STLP_WIN32_VERSION macro. We do not report definition inconsistency
367 between WINVER and _WIN32_VERSION anymore, WINVER is prefered.
368
3692007-03-01 Francois Dumont <dums@stlport...>
370
371 * test/unit/bitset_test.cpp: Add test for the to_string member
372 method.
373
374 * stlport/stl/config/_msvc.h, test/unit/locale_test.cpp: Change
375 MSVC6 configuration that now defines _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS.
376 Even if MSVC6 supports explicit specification of function template
377 parameters it do not support the explicit specification for
378 template methods, unit tests are showing this problem.
379
380 * stlport/stl/type_traits.h, _alloc.h: Small change in stateless
381 class detection feature. Introduce _IsStateless helper struct for
382 this purpose even if it can only be used with pure class type and
383 not with build-in types or enum or union. It avoids MSVC8 warnings.
384
3852007-02-25 Francois Dumont <dums@stlport...>
386
387 * 5.1.2 released based on revision 2937, tag STLport-5.1.2 created.
388
389 * stlport/stl/config/_prolog.h, build/Makefiles/gmake/bcc.mak,
390 Patch from Eric Sanford to remove empty base class optimization
391 for Borland compilers.
392
393 * test/unit/vector_test.cpp: Enable VectorTest::ebo test for Borland
394 compilers.
395
3962007-02-22 Francois Dumont <dums@stlport...>
397
398 * stlport/stl/_alloc.h: Add a workaround for compilers with buggy
399 empty base class optimization which is used in _STLP_alloc_proxy
400 class.
401
402 * test/unit/vector_test.cpp: New test case VectorTest::ebo to show
403 problem above.
404
4052007-02-21 Francois Dumont <dums@stlport...>
406
407 * src/c_locale_win32/c_locale_win32.c: Fixed __ConvertDate and
408 __ConvertTime to avoid potential infinite loop (bug report
409 1663604)
410
4112007-02-16 Francois Dumont <dums@stlport...>
412
413 * STLport 5.1.1 released based on revision 2919. STLport-5.1.1
414 tag created.
415
4162007-02-14 Francois Dumont <dums@stlport...>
417
418 * stlport/stl/config/_intel.h: Configuration fix, Intel compiler
419 before 8.1 have problem with template method specialization. Thanks
420 Dragan Tubic.
421
4222007-02-09 Francois Dumont <dums@stlport...>
423
424 * test/unit/locale_test.cpp: Enhance LocaleTest::collate_facet
425 test case to reveal a bug in glibc localization portage.
426
427 * src/c_locale_glibc/c_locale_glibc2.c: Fixed _Locale_strcmp
428 and _Locale_strcmp and _Locale_strwcmp implementation to take
429 into account buffer size, comparison used to always been done on the
430 whole input strings up to the termination character.
431
432 * stlport/stl/type_manips.h, test/unit/mvctor_test.cpp,
433 type_traits_test.cpp: Remove relation between STLport __true_type and
434 __false_type and homonyms ones in libstd++. Add workaround in the 2
435 test suite requiring use of those types.
436
4372007-02-08 Francois Dumont <dums@stlport...>
438
439 * stlport/stl/_threads.h, src/locale.cpp: Add missing parenthesis
440 in some macro checks thanks Jan Echternash bug report 1653966.
441
442 * test/unit/locale_test.cpp: Made LocaleTest::collate_facet test
443 really meaningful even if it requires french locale support for
444 part of it.
445
4462007-02-01 Petr Ovtchenkov <complement@users.sourceforge.net>
447
448 * stlport/stl/config/_solaris.h: __LONG_MAX__ defined on
449 64-bits SPARCs. Thanks Aleksey Sanin.
450
451 * stlport/stl/_sparc_atomic.h, stlport/stl/_threads.h: fixes
452 for modern SPARCs. Thanks Aleksey Sanin.
453
4542007-01-28 Francois Dumont <dums@stlport...>
455
456 * stlport/stl/debug/_deque.h: Fix iterator invalidation in erase
457 of an iterator range thanks to Steve Lobasso indirect report (bug
458 1645657).
459
460 * test/unit/deque_test.cpp: New test case for deque erase methods.
461
4622007-01-19 Francois Dumont <dums@stlport...>
463
464 * stlport/stl/_locale.h, src/locale.cpp: Add throw() specification
465 on locale default constructor. Add const qualifier on locale::combine
466 method. Fixed combine implementation to correctly combine
467 *this with other locale instance.
468
469 * src/locale_impl.h: Removed _get_Locale_impl and
470 _copy_Nameless_Locale_impl already defined in stlport/stl/_locale.h.
471
472 * src/locale_impl.cpp: In _Locale_impl::insert add check that we
473 are working on 2 different facet instances before substitution.
474
475 * test/unit/locale_test.cpp: Add test case for locale::combine
476 method.
477
4782007-01-12 Francois Dumont <dums@stlport...>
479
480 * c_locale.h, c_locale_dummy.c, c_locale_glibc.c, c_locale_glibc2.c,
481 c_locale_win32.c: Creation of 2 new functions in the localization
482 framework _Locale_init and _Locale_final to allow localization
483 implementations to initialize and release any necessary resources.
484
485 * src/iostream.cpp: Call _Locale_init during io streams initialization
486 and _Locale_final at end.
487
488 * c_locale_win32/c_locale_win32.c: Add synchronization for locale
489 lcid look up from name required in multithreaded environment. Two
490 threads instanciating two facet instances from a given name might
491 have collide resulting in an undefined behavior. Critical section
492 used for synchronization is initialized in _Locale_init and freed
493 in _Locale_final.
494
495 * c_locale_win32/c_locale_win32.c: Add several fields in
496 _Locale_time struct to avoid use of static buffers in some locale
497 support functions like _Locale_d_t_fmt _Locale_long_d_t_fmt...
498 Moreover time format cannot be truncated anymore.
499
500 * stlport/stl/config/_windows.h: Introduce _STLP_WIN32_VERSION
501 macro set to WINVER or _WIN32_WINDOWS value depending on what
502 macro is defined.
503
504 * stlport/stl/_threads.h, src/locale.cpp: Add _STLP_WIN32_VERSION
505 checks to detect Windows 95 platform having a special
506 _STLP_ATOMIC_INCREMENT and _STLP_ATOMIC_DECREMENT behavior.
507
5082007-01-08 Francois Dumont <dums@stlport...>
509
510 * stlport/stl/_deque.c: Patch from Kevin Lin to fix iterator
511 returned by insert at position method.
512
513 * test/unit/deque_test.cpp: Add test case for the deque::insert
514 methods.
515
5162006-11-27 Francois Dumont <dums@stlport...>
517
518 * stlport/stl/config/_windows.h: Patch from Michael Fink to check
519 inclusion of winbase.h and windows.h.
520
5212006-11-24 Francois Dumont <dums@stlport...>
522
523 * stlport/stl/_fstream.h, src/fstream.cpp, iostream.cpp: Restore
524 computation of the system dependant page size that was hardcoded
525 to 4096. Initialisation code has been moved to a static method
526 called just after Standard iostream initialisation. This code used
527 to be in the _Filebuf_base constructor that might have been called
528 simultaneously by several threads.
529
5302006-11-17 Francois Dumont <dums@stlport...>
531
532 * stlport/stl/config/_macosx.h: Add endianess configuration.
533
5342006-11-16 Francois Dumont <dums@stlport...>
535
536 * test/unit/resolve_name.cpp: Clean most of MSVC6 workaround, only
537 one has been kept to have the test pass.
538
5392006-11-13 Francois Dumont <dums@stlport...>
540
541 * stlport/stl/_cwchar.h: Patch from Michael Fink to fix EVC3
542 missing mbstate_t definition.
543
5442006-11-07 Francois Dumont <dums@stlport...>
545
546 * stlport/stl/_threads.h: Removed _Atomic_swap_struct export
547 that should be useless as completely inlined. Moreover it was
548 generating a compilation error using MSVC 2005 under Windows
549 64 bits.
550
5512006-10-26 Francois Dumont <dums@stlport...>
552
553 * test/unit/codecvt_test.cpp: Removed try/catch blocks not
554 supported by platform missing exception support and moreover
555 useless as we know the code called in the try and this code
556 do not throw (thanks Michael Fink report).
557
558 * build/Makefiles/nmake/targetdirs.mak, lib/clean.mak, app/clean.mak:
559 Complete clobber and distclean rules to really clean all generated
560 stuffs.
561
562 * build/Makefiles/nmake/top.mak: Patch from Gary Bartlett to make nmake
563 'all' rule the default rule.
564
5652006-10-25 Francois Dumont <dums@stlport...>
566
567 * src/dll_main.cpp: Fix syntax error '>>' rather than '> >' in
568 a _STLP_alloc_proxy explicit instanciation.
569
570 * stlport/stl/_unordered_set.h: Fix template method for the
571 associative container extension, use _KT type rather than key_type.
572
5732006-10-20 Francois Dumont <dums@stlport...>
574
575 * stlport/stl/config: Removed some used macros
576 _STLP_AUTOMATIC_TYPE_TRAITS
577 _STLP_UNINITIALIZABLE_PRIVATE
578 _STLP_STATIC_ARRAY_BUG
579 _STLP_FULL_ADL_IMPLEMENTED
580
581 * test/unit/codecvt_test.cpp: Ignore test when
582 _STLP_NO_MEMBER_TEMPLATES defined.
583
5842006-10-20 Petr Ovtchenkov <complement@users.sourceforge.net>
585
586 * stlport/stl/_cwchar.h: fix HP-UX problem with WCHAR_MIN, WCHAR_MAX
587 [Boris Gubenko].
588
5892006-10-19 Petr Ovtchenkov <complement@users.sourceforge.net>
590
591 * test/unit/sstream_test.cpp: check bugreport #1580020, not confirmed.
592
5932006-10-17 Francois Dumont <dums@stlport...>
594
595 * stlport/stl/_cwchar.h: Restore code to define potentially missing
596 WCHAR_MIN, WCHAR_MAX macros. It used to be in _mbstate_t.h but was
597 missing some native includes to work, in _cwchar.h everything should
598 be fine.
599
600 * test/unit/codecvt_test.cpp: Fix C cast that was losing const
601 qualifier.
602
603 * stlport/stl/_mbstate_t.h: Avoid definition of _STLP_NO_MBSTATE_T when
604 using own mbstate_t definition in _STLP_USE_NO_IOSTREAMS mode. This macro
605 is not supported anymore and should be fixed or removed in future version.
606 Own mbstate_t will be defined even in no iostreams mode.
607
608 * stlport/stl/config/_evc.h: Now that mbstate_t situation is clear EVC3
609 defines _STLP_NO_NATIVE_MBSTATE_T rather than directly defining it in
610 the config file.
611
612 * test/unit: Several fixes to build with _STLP_NO_EXTENSIONS and
613 _STLP_NO_ANACHRONISMS.
614
6152006-10-16 Petr Ovtchenkov <complement@users.sourceforge.net>
616
617 * stlport/stl/_mbstate_t.h: this header may be included from system
618 stddef.h, without wchar.h---defines of wchar limits isn't good place
619 here [WCHAR_MAX, etc.].
620
621 * test/unit/cwchar.cpp: correct test to hilight problem above.
622
6232006-10-14 Petr Ovtchenkov <complement@users.sourceforge.net>
624
625 * test/unit/cwchar.cpp, build/test/unit/Makefile.inc: test a few macros
626 related to wchar. Inspired by problems in STLPORT_5_1 and boost::regex.
627
6282006-10-12 Francois Dumont <dums@stlport...>
629
630 * stlport/stl/_numpunct.h, src/numpunct.cpp: numpunct facet _M_truename
631 _M_falsename and _M_grouping are not static anymore. This seems useless
632 and moreover was introducing static initialisation order and threading
633 issues.
634
635 * stlport/stl/c_locale.h, _mbstate_t.h, src/c_locale.h, c_locale.c:
636 New mbstate_t policy. When no mbstate_t in native library STLport defines
637 one for its own need in localisation support. This mbstate_t is simply
638 an int defined in global namespace and imported to STLport namespace.
639 Internal localisation framework is nt anymore in STLport namespace but
640 in the global one as it is normaly a C framework.
641
642 * stlport/stl/config/_bc.h: Defines _STLP_NO_NATIVE_MBSTATE_T rather
643 than internal _STLP_USE_OWN_MBSTATE_T macro.
644
645 * stlport/stl/config/_evc.h: Add comment for EVC3 users, this platform
646 should define _STLP_NO_NATIVE_MBSTATE_T, but I have not the platform
647 to check...
648
649 * build/Makefiles/gmake/bcc.mak: Do not force anymore built of C sources
650 as C++.
651
652 * test/unit/string_test.cpp, istmit_test.cpp: Fixed macro checks to make
653 tests buildable even when _STLP_NO_IOSTREAMS is defined.
654
6552006-10-09 Francois Dumont <dums@stlport...>
656
657 * test/unit/codecvt_test.cpp: Fix use of mbstate_t to make it more
658 portable.
659
6602006-10-06 Francois Dumont <dums@stlport...>
661
662 * stlport/stl/_alloc.h, _alloc.c: Fixed __debug_alloc implementation
663 to avoid unjustified assertion about wrong size of buffer to
664 deallocate, thanks David Deakins and verntx on sourceforge.
665
666 * test/unit/vector_test.cpp: Add test for bug above.
667
668 * stlport/wchar.h, stl/_cwchar.h, _istream.h, _limits.h, _locale.h,
669 _threads.h, char_traits.h, type_traits.h, _mbstate_t.h: Fix regression
670 introduce by inclusion of mbstate_t.h in wchar.h. Now _mbstate_t.h is
671 only included at end of wchar.h and _cwchar.h. All places where _mbstate_t.h
672 was used are now including _cwchar.h.
673
6742006-10-05 Francois Dumont <dums@stlport...>
675
676 * build/Makefiles/gmake/bcc.mak: Use -P compiler to force build of C
677 translation as C++ because of the mbstate_t problem.
678
679 * build/Makefiles/gmake/lib/bcc.mak, rules-a.mak: Fix Borland tlib call
680 syntax thanks mbkenny.
681
682 * stlport/stl/wchar.h: Add include of internal _mbstate_t.h file to
683 know STLport status regarding mbstate_t configuration.
684
685 * stlport/stl/c_locale.h: When building platform localisation support
686 as C++ struct declaration are done in STLport namespace.
687
688 * src/c_locale.h: Removed _mbstate_t.h include that is now included
689 from wchar.h or _cwchar.h depending on C or C++ build. Removed #error
690 done too early (see next comment).
691
692 * src/c_locale.c: Add #error statement when building STLport on a platform
693 having real localisation support but no native mbstate_t definition. In this
694 case c_locale.c must be built as a C++ translation unit.
695
696 * src/c_locale_win32/c_locale_win32.c: Add Borland workaround to avoid
697 compilation error now that it is build as a C++ translation unit.
698
699 * stlport/stl/_mbstate_t.h: Now that this file is not included from outside
700 world we can include internal _cwchar.h rather than cwchar. Removed
701 a wint_t workaround already existing in _cwchar.h. Removed Borland workaround
702 that was defining mbstate_t when using this file in a C context, it was
703 moreover different than the definition in C++ ! Ad a pure C declaration of
704 mbstate_t when in C.
705
7062006-10-04 Francois Dumont <dums@stlport...>
707
708 * src/c_locale.h: Add #error to signal issue when building c_locale.c
709 as a C source when STLport uses its own mbstate_t definition.
710
711 * src/num_put_float.cpp: Modification in Cygwin native lib headers
712 revealed that we were missing ieeefp.h include.
713
714 * src/dll_main.cpp, stlport/stl/_threads.h: Fix export of
715 _Atomic_swap_struct for compilers supporting export of templates.
716
717 * stlport/stl/config/_hpacc.h: Some cleanup (unknown _STLP_NO_KOENIG_LOOKUP
718 macro) and formating fixes.
719
720 * stlport/stl/_bvector.h: Use _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS
721 rather than reproducing the workaround hidden by this macro.
722
723 * test/unit/vector_test.cpp: Add test case to check iterators comparisons.
724
7252006-09-26 Francois Dumont <dums@stlport...>
726
727 * src/allocators.cpp: Reorder code blocks to fix build when using
728 _STLP_LEAKS_PEDANTIC.
729
730 * stlport/stl/_num_put.c: Restore __len >= 2 check in
731 __copy_integer_and_fill function. It has been removed on the
732 2006-07-11, at this time STLport always add the base information
733 even for 0 value. This modification has been rollback but not this
734 check.
735
736 * test/unit/num_put_get_test.cpp: Add check for above fix.
737
7382006-09-26 Francois Dumont <dums@stlport...>
739
740 * src/c_locale_win32/c_locale_win32.c: Add check of code page when
741 specified in locale name.
742
743 * src/c_locale_win32/c_locale_win32.c: Add checks in __ConvertDate
744 and _Locale_t_fmt to avoid potential buffer overflow.
745
746 * src/c_locale_win32/c_locale_win32.c: Create __GetLocaleInfoUsingACP
747 function that merge a call to GetLocaleInfoA and a call to
748 __ConvertFromACP in one call, the latter function has been removed.
749
750 * src/c_locale.h: Restore _STLP_BEGIN_NAMESPACE when STLport use
751 its own mbstate_t definition which is only available in STLport
752 namespace. Fix Borland regression.
753
754 * stlport/stl/_mbstate_t.h: Replace stl/_cwchar.h include with
755 a cwchar one as this file is included from the outside world when
756 building STLport lib.
757
7582006-09-25 Francois Dumont <dums@stlport...>
759
760 * test/unit/codecvt_test.cpp: New test case for the codecvt
761 facet.
762
763 * test/unit/unordered_test.cpp: size_t replace by int to avoid
764 64bits issue warning.
765
7662006-09-21 Francois Dumont <dums@stlport...>
767
768 * stlport/stl/c_locale.h: Patch from Boris Gubenko to avoid
769 direct inclusion of internal header from this header that is
770 access from the outside world when building STLport lib.
771
7722006-09-20 Francois Dumont <dums@stlport...>
773
774 * test/unit/allocator_test.cpp: Add new test case for allocation of
775 empty buffer.
776
777 * test/unit/fstream_test.cpp: Use a variable to always point to the same
778 test file and adopt a 'Standard' file name 'test_file.txt'.
779
780 * stlport/stl/_hash_fun.h: Rollback 2006-08-26 Petr modification that
781 was introducing a regression with MSVC compilers.
782
783 * stlport/stl/_fstream.c: First attempt to fix seekoff basic_filebuf
784 implementation when dealing with a codecvt facet having variable
785 encoding. This fix is surely not complete, discussion with Uli is not
786 over.
787
7882006-09-13 Francois Dumont <dums@stlport...>
789
790 * stlport/stl/_exception.h: Made a previously general Windows 64 bits
791 workaround specific to the cross compiler coming with PSDK. Thanks
792 Igor Pavlov.
793
7942006-09-11 Francois Dumont <dums@stlport...>
795
796 * stlport/stl/_num_put.c: Modification in __do_put_integer to avoid
797 a Hp aCC workaround.
798
7992006-09-11 Petr Ovtchenkov <complement@users.sourceforge.net>
800
801 * stlport/stl/_algo.c: search_n with predicate fail in case
802 when subsequence size is 1; thanks Timmie Smith.
803
804 * test/unit/alg_test.cpp: test for problem.
805
8062006-09-08 Francois Dumont <dums@stlport...>
807
808 * src/c_locale_win32/c_locale_win32.c: Modification in __GetLCIDFromName
809 to support the Chinese_Taiwan locale. Add of a __GetLCID call when first
810 call to it using non NLS mapping fails.
811
812 * src/c_locale_win32/c_locale_win32.c: Change __ParseLocaleString
813 implementation to correctly handle locale with a name having '.' in
814 the language or country part like in 'Chinese_Hong Kong S.A.R..950'.
815
8162006-09-05 Francois Dumont <dums@stlport...>
817
818 * build/lib/configure.bat: Fixed comment for --rtl-dynamic and
819 --rtl-static options, impact on macros to uncomment in hosts.h
820 config file was inversed. Thanks Igor Pavlov.
821
822 * build/lib/configure.bat, doc/FAQ, doc/README.msvc,
823 stlport/stl/config/user_config.h, _hpacc.h: Replaced references to
824 _site_config.h by hosts.h. Thanks Igor Pavlov.
825
8262006-08-30 Francois Dumont <dums@stlport...>
827
828 * stlport/stl/_cmath.h, _cstdlib.h: Patch from Boris Gubenko, Hp aCC
829 native Standard lib already define math functions in global namespace.
830
831 * stlport/stl/_num_put.c: Patch from Boris Gubenko, Hp aCC before version
832 60000 do not consider 'const ptrdiff_t' as const enough to be used in a
833 static buffer declaration.
834
8352006-08-26 Petr Ovtchenkov <complement@users.sourceforge.net>
836
837 * stlport/stl/_hashtable.c: allow smaller bucket counts for
838 hashtable. Thanks Herbert Duerr.
839
840 * stlport/stl/_hash_fun.h: use primary types for hasher, not
841 typedefs.
842
843 * stlport/stl/type_manips.h: workaround for __true_type/__false_type
844 for various versions gcc (oh, yes, gcc, it's real pain to detect
845 real version of libstdc++)
846
8472006-08-10 Petr Ovtchenkov <complement@users.sourceforge.net>
848
849 * stlport/stdlib.h: include errno.h for aCC, in case of -mt option in force.
850 This solve errno problem on HP-UX. Thanks Boris Gubenko.
851
8522006-08-09 Francois Dumont <dums@stlport...>
853
854 * stlport/stl/config/_msvc.h: Add _STLP_NORETURN_FUNCTION for MSVC
855 compilers.
856
857 * stlport: Move place of _STLP_FUNCTION_THROWS in function declaration to
858 make msvc compiler happier, gcc do not care about position of this
859 attribute.
860
861 * stlport/stl/_ioserr.h: Fixed specification of STLport configuration file
862 in #error statement.
863
8642006-08-04 Francois Dumont <dums@stlport...>
865
866 * stlport: Create _STLP_FUNCTION_THROWS depending on _STLP_NORETURN_FUNCTION
867 and also taking into account exception handling configuration.
868
869 * test/unit/alg_test.cpp, istmit_test.cpp: Fixes to make test buildable with
870 native compiler Standard library.
871
8722006-08-03 Francois Dumont <dums@stlport...>
873
874 * build/Makefiles/nmake/evc8.mak: Patch from Ulrich Echkardt to activate
875 whole program optimization.
876
8772006-07-31 Francois Dumont <dums@stlport...>
878
879 * Patch from Michael Fink to fix EVC emulator build.
880
8812006-07-26 Francois Dumont <dums@stlport...>
882
883 * src/fstream.cpp: Fixed MMAP_CHUNK definition, an offset type is signed.
884
885 * Creation of the 5.1.0 RC2 package.
886
887 * Creation of STLPORT_5_1_RC2 tag
888
8892006-07-25 Francois Dumont <dums@stlport...>
890
891 * stlport/stl/config/_system.h, _windows.h: Fixed MinGW config that also
892 need _windows.h.
893
894 * stlport/stl/config/_mingw.h: Removed, conflict with platform system
895 header.
896
8972006-07-22 Francois Dumont <dums@stlport...>
898
899 * stlport/stl/config: Add _STLP_PLATFORM and _STLP_COMPILER repectively
900 containing STLport detected platform and compiler names. Some names
901 are surely not accurate and will be fixed but introducing those macros,
902 especially _STLP_COMPILER, help to report detection issue.
903
904 * stlport/stl/config/_system.h: Change macro checks in order to guaranty
905 that only one platform and only one compiler configuration file will be
906 included.
907
908 * stlport/stl/config/_cygwin.h, _mingw.h: Added
909
910 * stlport/stl/config/features.h: Removed _STLP_NO_MEMBER_TEMPLATE_CLASSES
911 check when _STLP_USE_TEMPLATE_EXPRESSION is activated.
912
913 * stlport/stl/config/_gcc.h, features.h: Add _STLP_NORETURN_FUNCTION
914 to signal function not returning, under gcc we use __attribute__((noreturn)).
915
916 * src/locale_impl.h, stlport/stl/_ios_base.h, _locale.h, _range_errors.h,
917 _rope.h, _string_base.h, _vector.h, debug/_debug.h: Add
918 _STLP_NORETURN_FUNCTION to function that encapsulate raising of exceptions.
919 This help to limit warnings about uninitialized variable before use under
920 gcc.
921
9222006-07-18 Francois Dumont <dums@stlport...>
923
924 * test/unit/unordered_test.cpp: Change Key data type from size_t
925 to the more portable int. Fix what seems to be a bad code generation
926 of gcc under Linux 64 bits resulting in a test failure.
927
9282006-07-17 Francois Dumont <dums@stlport...>
929
930 * test/unit/alg_test.cpp: New test for find_first_of algo.
931
932 * stlport/stl/config/user_config.h, features.h: string template
933 expressions is not a transparent feature, some compilers (VC6)
934 are experimenting ICE with it or some other (gcc) do not accept
935 it when extending string class (see mystring in
936 test/unit/string_test.cpp). So default STLport configuration will
937 be without string template expression, _STLP_DONT_USE_TEMPLATE_EXPRESSION
938 has been replaced by _STLP_USE_TEMPLATE_EXPRESSION.
939
9402006-07-16 Francois Dumont <dums@stlport...>
941
942 * test/unit/mvctor_test.cpp: Patch from Michael Fink to avoid a EVC
943 ARM crash.
944
9452006-07-13 Francois Dumont <dums@stlport...>
946
947 * stlport/stl/_num_put.c: Rollback modif above, according C printf doc
948 0 value shouldn't show their base.
949
950 * stlport/stl/type_traits.h: Avoid instanciation of _IsCVConvertible if
951 not dealing with pointers. Systematical instanciation was giving
952 compilation error as soon as type had a special memory alignment, such
953 types cannot be pass by value in function calls. Thanks andy2222 from
954 sourceforge.
955
956 * build/Makefiles/nmake/evc3.mak, evc4.mak, evc8.mak: Patch from Ulrich
957 Eckhardt to remove commctrl.lib dependency, for the moment evc3 and evc4
958 only contains a note about this potentially useless dependency.
959
960 * stlport/stl/debug/_string.h: Add missing copy methods in the debug
961 string implementation thanks Patrick Bennett report.
962
963 * test/unit/string_test.cpp: New copy test case for string::copy.
964
965 * stlport/stl/_algo.h: Add missing _STLP_PRIV namespace scope in calls
966 to __find_first_of thanks Patrick Bennett report.
967
9682006-07-11 Francois Dumont <dums@stlport...>
969
970 * stlport/stl/debug/_deque.h, _list.h, _slist.h, _string.h, _vector.h:
971 Extend use of _Non_Dbg_iter function in all template methods dealing
972 with iterator range.
973
974 * _num_put.c: Fix to show base in octal or hexadecimal mode even for
975 0 value.
976
977 * stlport/stl/_istream.c: Avoid modification of value to extract in
978 formatted input of short and int when value would overflow.
979
980 * test/unit/num_put_get_test.cpp: Add some tests for above fixes.
981
982 * test/unit/iostream_test.cpp: New tests for general stream
983 manipulations.
984
985 * stlport/stl/_istream.h: Fix ws iostream function, it do not set failbit
986 anymore when stream is in eof state.
987
988 * build/lib/msvc.mak: Generation of config.mak is not mandatory anymore
989 as Intel compiler do not need it for the moment. Only a COMPILER_NAME
990 is mandatory which is given by icl.mak for Intel compilers and by
991 config.mak for Microsoft ones.
992
9932006-07-10 Francois Dumont <dums@stlport...>
994
995 * stlport/stl/debug/_iterator.h: Creation of _Non_Dbg_iter function
996 returning native iterator of special debug iterator with
997 compilers supporting partial template function ordering. Fix
998 a MSVC .Net 2003 issue that seems to be related to a too important
999 template depth.
1000
1001 * stlport/stl/debug/_deque.h, _list.h, _slist.h, _string.h, _vector.h:
1002 Use new _Non_Dbg_iter function in constructors from iterator
1003 range.
1004
10052006-07-07 Petr Ovtchenkov <complement@users.sourceforge.net>
1006
1007 * build/lib/configure: rollback changes 4 Jul 2006 19:42:55,
1008 it's definitely wrong (phrase with quotes ['] requires double
1009 quotes ["]).
1010
10112006-07-06 Francois Dumont <dums@stlport...>
1012
1013 * stlport/stl/_num_put.c: Small refactoring with introduction
1014 of the __do_put_integer function for integer types output. Moreover
1015 static buffer size used for formating is now based on output
1016 type sizeof.
1017
1018 * stlport/stl/_ostream.c: Add some assertion before cast to check that
1019 no significant digit is lost. Add cast to long in int and short output
1020 in order to make type of expression more explicit and correct. This
1021 fix the bug report from Geoffrey Bache on sourceforge about output of
1022 -1 ont value on 64bits linux.
1023
1024 * test/unit/floatio_test.cpp: Removed, all code moved to NumPutGetTest
1025 test fixture.
1026
1027 * test/unit/num_put_get_test.cpp: New, contains all tests regarding
1028 input/output of numeric values (locale independant).
1029
1030 * test/unit/locale_test.cpp: locale independant tests of numeric input/
1031 output moved to NumPutGetTest test fixture.
1032
10332006-07-04 Francois Dumont <dums@stlport...>
1034
1035 * stlport/stl/_rope.h, _rope.c: Patch from Peter Hercek to fix a
1036 missing null termination in rope constructor from a character
1037 and a buffer overrun.
1038
1039 * stlport/stl/_rope.h: Removed special _S_rounded_up implementation
1040 for other types than char and wchar_t. rope implementation is
1041 expecting this method to always return a size > to the given size in
1042 order to store the terminating null character.
1043
1044 * stlport/stl/_rope.c: Fix reference counter management to avoid memory
1045 leak in _S_destr_concat_char_iter.
1046
10472006-06-30 Francois Dumont <dums@stlport...>
1048
1049 * src/num_put.cpp, num_put_float.cpp: Patch from Glen Summers
1050 to fix float output using locale with grouping and float value
1051 has no decimal.
1052
1053 * test/unit/locale_test.cpp: Add some tests showing above bug.
1054
10552006-06-29 Francois Dumont <dums@stlport...>
1056
1057 * stlport/stl/_algo.h, _algo.c, _algobase.h, _algobase.c,
1058 _hashtable.c: Patch from Andriy Syrovenko to fix implementation
1059 of __equal_range, __lower_bound, __upper_bound when dealing with
1060 a key whom type is different from the value_type of the iterator.
1061
1062 * test/unit/equal_test.cpp: Add some tests to show above bug.
1063
10642006-06-28 Francois Dumont <dums@stlport...>
1065
1066 * stlport/stl/_string_sum_methods.h, debug/_string_sum_methods.h:
1067 Small refactoring and simplification of code to avoid a parameter
1068 with default value. This fixing an ICE using MSVC6.
1069
1070 * test/unit/string_test.cpp: Ignore the newly introduce te_tmp
1071 test using MSVC6.
1072
10732006-06-27 Petr Ovtchenkov <complement@users.sourceforge.net>
1074
1075 * stlport/stl/_list.h: fix bug in list.swap, thanks Viktor Govako.
1076
1077 * test/unit/list_test.cpp: test for bug above.
1078
10792006-06-27 Francois Dumont <dums@stlport...>
1080
1081 * build/lib/configure: Add --with-lib_motif option to grant STLport
1082 users the possibility of tweaking the generated libraries name.
1083
1084 * build/Makefiles/gmake/unix/lib.mak: Add code to take into account
1085 configured lib motif in generated library name.
1086
1087 * build/Makefiles/gmake/netware/lib.mak: Looks like it needs same
1088 defines as the ones in cygming/lib.mak so we simply include this
1089 file.
1090
1091 * stlport/stl/config/_evc.h: Patch from Michael Fink to fix a
1092 compilation error.
1093
1094 * test/unit/cppunit/cppunit_mini.h: Patch from Michael Fink to
1095 avoid unused parameter warning.
1096
10972006-06-23 Francois Dumont <dums@stlport...>
1098
1099 * stlport/stl/_pair.h, _bvector.h, config/_evc.h: Patch from
1100 Ulrich Eckhardt to extend an evc4 MIPS workaround for eVC8
1101 and to generalize little endian configuration.
1102
1103 * DMC patch from Eric Sanford. Define _STLP_NO_FUNTION_TMPL_PARTIAL_ORDER
1104 so that many ignored unit test could be now passed. Also specify
1105 Intel 386 instruction set during compilation to limit link errors.
1106
11072006-06-22 Francois Dumont <dums@stlport...>
1108
1109 * stlport/stl/_algobase.c: Removed check of equivalent predicate
1110 commutativity in find algorithm. In this case, equivalence relation
1111 might have been implemented using a member operator == which is
1112 not commutative thanks Grisha Spivak report. Other checks that are
1113 using an explicit predicate parameter has been kept even if it forces
1114 STLport users to implement commutative functor.
1115
1116 * test/unit/find_test.cpp: Add test to show above issue.
1117
1118 * stlport/stl/_hashtable.c: Removed equivalent predicate checks
1119 that are useless as in _STLP_DEBUG mode the debug wrapping add this
1120 check in the functor used to instanciate the non debug hashtable
1121 implementation.
1122
11232006-06-19 Francois Dumont <dums@stlport...>
1124
1125 * STLport 5.1.0 candidate released. STLPORT_5_1 branch created in
1126 CVS. Version tagged STLPORT_5_1_RC1.
1127
11282006-06-17 Francois Dumont <dums@stlport...>
1129
1130 * test/unit/type_traits_test.cpp, uninitialized_test.cpp: Add
1131 explicit public inheritance relation to avoid an ICL warning.
1132
1133 * stlport/stl/config/features.h: Add definition of
1134 _STLP_DEBUG_LEVEL to _STLP_STLPORT_DBG_LEVEL when _STLP_DEBUG
1135 is defined but _STLP_DEBUG_LEVEL hasn't been set.
1136 (thanks an ICL warning report)
1137
1138 * stlport/stl/config/_intel.h: Remove undef of
1139 _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT, even if the linker complains
1140 about not finding unexpected_exception it looks like it finally do
1141 not use it.
1142
1143 * test/unit/cppunit/test_main.cpp: Filter definition of
1144 unexpected_exception when building unit test with static STLport
1145 lib.
1146
11472006-06-15 Francois Dumont <dums@stlport...>
1148
1149 * stlport/stl/config/features.h: Several macro renamed:
1150 - _STLP_LONG_DOUBLE -> _STLP_LONGEST_FLOAT_TYPE
1151 - __DFL_TMPL_PARAM -> _STLP_DFL_TMPL_PARAM
1152 - __DFL_TYPE_PARAM -> _STLP_DFL_TYPE_PARAM
1153 - __DFL_NON_TYPE_PARAM -> _STLP_DFL_NON_TYPE_PARAM
1154 __DFL_TYPE_ARG removed.
1155
1156 * stlport/stl: Add char_traits template parameter in all
1157 istreambuf_iterator and ostreambuf_iterator instanciation where it
1158 was missing as some compiler might not have supported it.
1159
1160 * stlport/stl/_time_facets.h, src/locale_impl.cpp: Finaly adopt a
1161 specific gcc workaround for definition of _Locale_time_extract_hint
1162 as friend of time_get_byname facet. Gcc 2.95 prefers to see a template
1163 method otherwise it emits a warning, we want to avoid STLport users
1164 to have to disable this warning. Other compilers will use a simple
1165 function which seems to be more portable.
1166
1167 * stlport/stl/_vector.h, _pair.h: Patch from Eric Sanford for a
1168 really weird Borland compiler workaround that consists in adding
1169 a _Ret typedef in __move_traits or __type_traits traits struct
1170 that do not normally contain it.
1171
1172 * stlport/stl/config/_bc.h: Borland free compiler do not support
1173 STLport container extension of template methods.
1174
11752006-06-14 Francois Dumont <dums@stlport...>
1176
1177 * test/unit: Patch from Ulrich Eckhardt to fix storage of string
1178 literals to const char* rather than simple char*.
1179
1180 * build/Makefiles/nmake: Ulrich Eckhardt patch:
1181 - /MACHINE:IX86 is obsolete and only supported for backward
1182 compatibility as alias for X86. Replaced all cases of IX86
1183 with X86.
1184 - /NODEFAULTLIB:OLDNAMES.lib seems to also be universal so I
1185 moved it to the base, too.
1186 - In order to use main() as entry point under CE, use linker
1187 option /ENTRY:mainACRTStartup. This was already done for
1188 evc3,4,8 but I moved it to app/evc-common.mak and documented
1189 it.
1190
1191 * stlport/stl/_cmath.h, config/_evc.h: Uli patch to activate long
1192 double support for EVC and use _hypot to implement STLport
1193 overload.
1194
1195 * src/complex.cpp: Remove internal __stlp_hypot that is not necessary
1196 anymore now that STLport always define a hypot function (thanks Uli
1197 remark).
1198
1199 * stlport/stl/config: Ulrich Eckhardt VC8/CE patch:
1200 - Adapt the code to construct the paths to the native includes
1201 so that it matches the changed structure. This is currently
1202 only for ARM and might need more work for other targets (x86
1203 works though).
1204 - Make a distinction between the desktop and CE variants concerning
1205 the exception support functions. These now use the same compiler
1206 versions so that can't be used anymore.
1207 - MS' safe string functions are not available under CE - I think,
1208 need to take a closer look at Platform Builder.
1209
1210 * stlport/stl: Ulrich Eckhardt to adapt STLport to VC8/CE limited
1211 native C library.
1212
12132006-06-13 Francois Dumont <dums@stlport...>
1214
1215 * stlport/stl/pointers/_tools.h: Add partial specialization for
1216 _IteWrapper helper struct so that when type to store and stored
1217 type are identical input iterators are not wrapped. Otherwise input
1218 iterators are wrapped to perform necessary casts between pointer type
1219 and void*.
1220
1221 * stlport/stl/_cmath.h: Fixed macros definition used to define all
1222 math functions for compilers supporting long double but not having
1223 float nor long double C math functions. Thanks Ulrich Eckhardt report.
1224
12252006-06-12 Francois Dumont <dums@stlport...>
1226
1227 * test/unit/set_test.cpp, map_test.cpp: Replace size_t with the
1228 more portable int type when possible.
1229
1230 * stlport/stl/pointers/_tools.h: Check that type to store is a
1231 pointer type before modifying predicate type for set container.
1232 Wrapping less functor in all cases was making move semantic tests
1233 to fail as predicate is not then detected as being the STLport
1234 less predicate.
1235
1236 * stlport/stl: DMC patch from Eric Sanford. DMC do not like __ss
1237 variable that is a reserved keyword.
1238
12392006-06-11 Francois Dumont <dums@stlport...>
1240
1241 * build/Makefiles/nmake: Patch from Ulrich Eckhardt to use
1242 main rather than WinMain for EVC platform.
1243
1244 * build/test/unit/gcc.mak: Removed redondant macro definition
1245 _STLP_USE_STATIC_LIB under cygwin/mingw as those definition
1246 are part of base make files.
1247
1248 * stlport/stl/type_manips.h, _hashtable.h: Eric Sanford workaround
1249 for Borland.
1250
12512006-06-09 Francois Dumont <dums@stlport...>
1252
1253 * test/unit/cppunit: Patch from Ulrich Eckhardt to
1254 - Removed a few superfluous semicolons.
1255 - Made some constructors explicit.
1256 - Documented the meaning of FileReporter::_myStream.
1257 - Reformatted some things to not exceed 100 chars per
1258 line or use several expressions/statements in one line.
1259
1260 * build/Makefiles/nmake: Patch from Ulrich Eckhardt to
1261 - adds support for x86 (running on e.g. a PC, so-called CEPC).
1262 - adds support for MIPS or more specifically MIPSII, other MIPS
1263 subtypes can easily be added.
1264 - removes a line "DEFS_COMMON = /D%TARGETCPU%" from the config.mak
1265 file generated for MIPS, the same functionality was moved to the
1266 CPU-specific setups where it is done for other CPUs.
1267 - adds an additional compiler flag so that diagnostics better
1268 match what the VC8 IDE expects.
1269
1270 * stlport/stl: Patch from Ulrich Eckhardt to
1271 - removes several unnecessary semicolons (typically, when
1272 inlining functions like "void foo() {};" where it in fact doesn't
1273 hurt (due to something I consider an oversight in the standard)
1274 but also doesn't make sense.
1275 - fixes inconsistent indentation in three cases, one with the
1276 preprocessor and two with memberfunction bodies.
1277
1278 * stlport/stl/pointers/_tools.h: Add missing template method
1279 in _CastTraits helper struct used on compiler with no partial
1280 template specialization support.
1281
12822006-06-08 Francois Dumont <dums@stlport...>
1283
1284 * stlport/stl/pointers/_tools.h, _set.h: Fix problems reported by
1285 gcc that seems to do more check that MSVC on explicit
1286 instanciation of templates. Especially fixed problem introduce
1287 by STLport extension of set template methods.
1288
1289 * build/Makefiles/gmake/aCC.mak, lib/aCC.mak: Patch from Boris
1290 Gubenko for Hp aCC build.
1291
12922006-06-07 Francois Dumont <dums@stlport...>
1293
1294 * stlport/stl/pointers: Restore pointer specialization feature.
1295 Major modifications are:
1296
1297 - vector specialization is done using a qualified void pointer
1298 in order to keep optimization oportunities when working on
1299 pointers. Using a strict void* was forcing wrapping of iterators
1300 in template method making _BothPtrTypes struct helper failing to
1301 detect both pointer types.
1302
1303 - Fixed set specialization thanks to explicit instanciation added
1304 in ptrspec_test.cpp.
1305
1306 - Refactoring of algorithm to find storage type from value type.
1307
13082006-06-02 Francois Dumont <dums@stlport...>
1309
1310 * build/Makefiles/nmake: Patch from Ulrich Eckhardt for
1311 cleanup. Some script refactoring, wrong OPT_STLDBG_STATIC references
1312 replaced by OPT_STATIC_STLDBG.
1313
1314 * src: Patch from Ulrich Eckhardt to cleanup locale implementation
1315 and fix time facet creation when using dummy locale implementation.
1316
1317 * stlport/stl/config/_evc.h: Patch from Ulrich Eckhardt to fix
1318 endianess definition.
1319
1320 * stlport/stl/debug/_hashtable.h: Create a _DbgEqual functor to
1321 check correct equivalent predicate implementation. Add also
1322 missing hash_func and key_eq methods in this mode.
1323
1324 * stlport/stl/debug/_tree.h: Small refactoring in _DbgCompare
1325 functor.
1326
1327 * stlport/stl/type_traits.h, boost_type_traits.h: Restore boost
1328 support.
1329
13302006-06-01 Francois Dumont <dums@stlport...>
1331
1332 * stlport/stl/_tree.h, _set.h, _map.h, debug/_tree.h: Removed
1333 erase template method extension, might conflict with erase
1334 overload taking an iterator. User workaround will be to use
1335 erase(find(key)).
1336
1337 * stlport/stl/_hashtable.h, _map.h, _set.h, _unordered_set.h,
1338 _unordered_map.h, debug/_hastable.h: Add template methods extension.
1339
1340 * stlport/stl/config/features.h: Add management of containers template
1341 method extension.
1342
1343 * stlport/stl/config/_apple.h, _symantec.h: Config update based on
1344 config that used to be in _tree.h and _hashtable.h to remove
1345 container template methods extensions.
1346
13472006-05-31 Francois Dumont <dums@stlport...>
1348
1349 * stlport/stl/config/_evc.h: Patch from Michael Fink to add ptrdiff_t
1350 definition and forbid use of _STLP_DEBUG mode for evc 3/4 on ARM.
1351
1352 * build: Ulrich Eckhardt patch for Microsoft Visual Studio 2005 for
1353 Embedded C++ portage.
1354
13552006-05-30 Francois Dumont <dums@stlport...>
1356
1357 * stlport/stl/type_traits.h: Rename _Is_Integer<_Tp>::_Integral and
1358 _Is_Rational<_Tp>::_Rational in respectively _IsIntegral<_Tp>::_Ret
1359 and _IsRational<_Tp>::_Ret for naming convention coherency.
1360
1361 * stlport/stl/type_traits.h: Add _TrivialNativeTypeCopy helper to
1362 handle a number of oportunities to use memcpy/memmove in
1363 uninitialized_* or copy algorithms that was not cover by simply
1364 checking type_traits has_trivial* features.
1365
1366 * stlport/stl/type_traits.h, boost_type_traits.h: Refactor _BothPtrType
1367 implementation, only one version is necessary as it uses _IsPtr that
1368 has a variable implementation depending on config.
1369
1370 * stlport/stl/_vector.h: Add _DefaultZeroValue specialization for
1371 vector container so that a vector of vector is simply initialized
1372 using a memset to set everything to 0.
1373
1374 * test/unit/vector_test.cpp: Add check that previous optimization
1375 works as expected.
1376
1377 * stlport/typeinfo.h: Borland patch from Eric Sanford.
1378
1379 * DMC patch from Eric Sanford
1380
1381 * stlport/stl/debug/_tree.h: Patch from Ulrich Eckhardt to add missing
1382 count template method.
1383
1384 * src/dll_main.cpp: Patch from Ulrich Eckhardt to fix strncpy
1385 usage.
1386
13872006-05-23 Francois Dumont <dums@stlport...>
1388
1389 * stlport/stl/_deque.h, _deque.c: Change implementation to use
1390 _TrivialInit new feature.
1391
1392 * stlport/stl/boost_type_traits.h: Add _TrivialInit implementation
1393 using boost type traits.
1394
13952006-05-22 Francois Dumont <dums@stlport...>
1396
1397 * stlport/stl/type_traits.h: Add _TrivialInit helper struct to
1398 report if a type is trivial to initialize or not that is to say
1399 if the type has a trivial default constructor. Handle native types
1400 exception that are consider as having a trivial default constructor
1401 but that required a 0 initialization on explicit constructor
1402 call.
1403
1404 * stlport/stl/_uninitialize.h: Add a helper function
1405 __uninitialize_init that result in a no-op if _TrivialInit returns
1406 __true_type.
1407
1408 * stlport/stl/_vector.h: Modification of vector constructor to
1409 destect when it is called without an explicit default value so
1410 that we can call __uninitialized_init.
1411
1412 * test/unit/uninitialized_test.cpp: Add test to check correct
1413 detection of useless initialization.
1414
14152006-05-19 Francois Dumont <dums@stlport...>
1416
1417 * test/unit/uninitialized_test.cpp: Patch from Ulrich Eckhardt
1418 to replace vector instance in uninitialized_copy_test by static
1419 array so that we are always working on pointers iterator.
1420
1421 * stlport/stl/_string_operators.h: Patch from Ulrich Eckhardt to
1422 add missing != operators when using string template expression.
1423
1424 * stlport/stl/ctype.h, config/_evc.h, _msvc.h, _windows.h,
1425 features.h: Patch from Michael Fink for evc3/4 platform.
1426
1427 * test/unit/mvctor_test.cpp: Add of a specific Borland test case
1428 to report what seems to be a compiler bug but that is only
1429 revealed when using STLport.
1430
1431 * stlport/stl/_tree.h, _set.h, _map.h, debug/_tree.h,
1432 pointer/_set.h: Generalized already existing extension of template
1433 find method on associative containers to all look up methods:
1434 count, erase, lower_bound, upper_bound, equal_range.
1435
1436 * test/unit/set_test.cpp: Add test case for set template methods
1437 extension.
1438
1439 * stlport/stl/_tree.c, debug/_tree.h: Removed debug check from
1440 non debug implementation, now debug check is injected in tree
1441 implementation from the tree debug implementation thanks to
1442 a wrapping of the predicate.
1443
14442006-05-18 Francois Dumont <dums@stlport...>
1445
1446 * stlport/stl/c_locale.h: Fix declaration of _Locale_name_hint
1447 struct so that compilers do not think that this struct is in
1448 the STLport namespace because of friend declaration.
1449
14502006-05-17 Francois Dumont <dums@stlport...>
1451
1452 * stlport/stl/_abbrevs.h: Update list of abbreviations.
1453
1454 * stlport/stl/_hashtable.c: Removed _Node macro and fixed
1455 macros defined when _STLP_NESTED_TYPE_PARAM_BUG is defined.
1456
14572006-05-16 Francois Dumont <dums@stlport...>
1458
1459 * test/unit/type_traits_test.cpp: Add test case to check
1460 _TrivialUCopy helper metaprogramming class behavior.
1461
1462 * stlport/stl/_vector.h, _vector.c: Replaced _TrivialAss by
1463 _TrivialCopy and _TrivialUCpy by _TrivialUCopy for coherency
1464 with type_traits.h names.
1465
1466 * test/unit/type_traits_test.cpp: Add small test for correct
1467 impact of trivial_destructor meta info in vector implementation.
1468
1469 * build/lib/configure.bat: Add comment to explain weird TARGETCPU
1470 check.
1471
14722006-05-15 Francois Dumont <dums@stlport...>
1473
1474 * stlport/stl/_hashtable.h, _list.h, _deque.h, _slist.h,
1475 _string.h, _vector.h, _move_construct_fwk.h, _rope.h:
1476 Fix impact of _STLP_NO_MOVE_SEMANTIC macro on library. Now,
1477 if defined, no move will ever happen.
1478
1479 * stlport/stl/_uninitialized.h: Simplified __uninitialized_copy_fill
1480 prototype, only one type of iterator is allowed. It also fix
1481 implementation as this one was not taking into account both
1482 iterator value_type to consider if the operation was trivial
1483 or not.
1484
1485 * stlport/stl/_uninitialized.h: Major code review. Remove use of
1486 _OKToMemcpy, remove dependency on std::copy of std::fill, all
1487 implementation is now similar to the one of std::copy algorithms
1488 except that uninitialized algo are using
1489 __type_traits::has_trivial_copy_constructor meta information and
1490 copy __type_traits::has_trivial_assign_operator.
1491
1492 * test/unit/deque_test.cpp, vector_test.cpp: New test case for
1493 over optimization problem.
1494
1495 * test/unit/map_test.cpp, locale_test.cpp, list_test.cpp, slist_test.cpp,
1496 unordered_test.cpp, fstream_test.cpp, stack_allocator.h: Fixed
1497 implementation to build with _STLP_NO_MEMBER_TEMPLATES.
1498
1499 * stlport/stl/debug/_vector.h, _list.h: Add non template assign
1500 methods used when _STLP_NO_MEMBER_TEMPLATES is defined.
1501
1502 * stlport/stl/_slist.c: Fixed sort _Slist_sort implementation, now
1503 call _Slist_merge template function rather than slist::merge method
1504 as this method do not take any predicate when _STLP_NO_MEMBER_TEMPLATES
1505 is defined.
1506
1507 * build/test/unit/Makefile.inc, test/unit/uninitialized_test.cpp:
1508 New test for uninitialized_copy algo.
1509
1510 * stlport/stl/type_traits.h: OKToMemCpy rename in _TrivialCopy for
1511 coherency with _TrivialUCopy. Moreover, thanks to refactoring in
1512 uninitialized_* algorithms, _TrivialUCopy now only takes into account
1513 __type_traits::has_trivial_copy_constructor meta information and
1514 not has_trivial_assign_operator.
1515
1516 * stlport/stl/boost_type_traits.h: Fixed to reflect STLport
1517 __type_traits modifications.
1518
1519 * stlport/stl/_uninitialized.h: Major code review proposed by
1520 Ulrich Eckhardt
1521
1522 * stlport/stl/_algobase.h, _deque.h, _deque.c, _vector.h, _vector.c,
1523 _rope.h, _rope.c, _string.h, _string.c: Impact of previous point.
1524
15252006-05-05 Francois Dumont <dums@stlport...>
1526
1527 * test/unit/iter_test.cpp: Removed unreachable code.
1528
1529 * Introduction of a new configuration macro _STLP_MSVC_LIB
1530
1531 This macro is set to _MSC_VER value but can be overloaded to
1532 an other value. First intension was to make STLport more flexible
1533 for Intel C++ compiler. This compiler comes without any native
1534 lib and you have to bind it to a MSVC install, Intel compiler
1535 generate MSVC compatible code so that MSVC linker can correctly
1536 generate final exe or dll. To mimic MSVC compiler ICL also defines
1537 _MSC_VER. The problem is that definition of this macro is based
1538 on a compiler option and do not necessarily reflect the MSVC lib
1539 version ICL is binded to. Fortunately the compiler options
1540 responsible of _MSC_VER definition (/Qvc6, /Qvc7...) is also
1541 responsible of name mangling so asking for a MSVC compiler
1542 compatibility different than the library ICL is binded to is
1543 not easy. But _STLP_MSVC_LIB has been kept as it makes STLport
1544 configuration more clean. Now MSVC compiler version is given
1545 by _STLP_MSVC macro and library version by _STLP_MSVC_LIB.
1546 All occurences of _MSC_VER in STLport code has been replaced
1547 by those macros.
1548
1549 * _STLP_USE_SECURIZED_BUF_FUNCTIONS replaced by the more
1550 intuitive _STLP_USE_SAFE_STRING_FUNCTIONS.
1551
1552 * stlport/stl/config/_msvc.h: Major refactoring to isolate
1553 MSVC compiler config and MSVC native library config.
1554
15552006-05-04 Francois Dumont <dums@stlport...>
1556
1557 * build/lib/configure.bat: And information to the --lib-motif
1558 option as advised by Ulrich Eckhardt. Add option parameter and
1559 relation with _STLP_LIB_NAME_MOTIF.
1560
1561 * src/messsage_facets.h: Removed implementation of private copy
1562 constructor and assignment operator.
1563
1564 * src/c_locale_win32/c_locale_win32.c: Made
1565 _Locale_extract_category_name locale function static.
1566
1567 * src/vc_warning_disable.h renamed in warning_disable.h as it is
1568 used by other compilers too (ICL)
1569
1570 * build/lib/msvc.mak, evc.mak: Removed forced inclusion of
1571 vc_warning_disable.h file. Now this file is included from
1572 stlport_prefix.h.
1573
1574 * build/test/unit/msvc.mak, evc.mak: Replace vc_warning_disable.h
1575 reference by warning_disable.h.
1576
1577 * src/stlport_prefix.h: Add inclusion of warning_disable.h.
1578
15792006-05-01 Francois Dumont <dums@stlport...>
1580
1581 * test/unit/vector_test.cpp, deque_test.cpp, string_test.cpp:
1582 Removed unreachable code, reported by ICL 9.0.
1583
1584 * test/unit/mvctor_test.cpp: Removed variable declaration hiding
1585 previous one + made local functions static.
1586
1587 * stlport/stl/config/_msvc.h: Only use abbreviate symbols for
1588 MSVC compiler and not for all compilers defining _MSC_VER. Also
1589 removed some ICL specific configuration.
1590
1591 * src/lock_free_slist.h: Removed 'no return statement' warning
1592 for ICL too.
1593
1594 * src/message_facets.h: Made _Message_impl copy constructor and
1595 assignment operator private to avoid warning as _M_cat member
1596 data has private copy constructor and assignment operator too.
1597
1598 * stlport/stl/_cstdlib.h: Made additional definition of
1599 div(long, long) based on native library (_MSC_VER) rather than on
1600 compiler used (_STLP_MSVC).
1601
1602 * stlport/stl/config/_intel.h: Fix Intel C++ 9.0 compiler
1603 configuration with and without /Qvc6 option.
1604
1605 * src/dll_main.cpp: Add std::unexpected implementation that ICL
1606 need but that is not part of MSVC6 native lib library.
1607
1608 * test/unit/test_main.cpp: Add std::unexpected implementation that
1609 ICL need but that is not part of MSVC6 native lib library.
1610
16112006-04-30 Francois Dumont <dums@stlport...>
1612
1613 * stlport/stl/_alloc.h: Moved __type_traits specialization for
1614 std::allocator class before use in _STLP_alloc_proxy
1615 instanciation.
1616
1617 * test/unit/istmit_test.cpp: Fixed macro checks to correctly
1618 report ignored test.
1619
16202006-04-27 Francois Dumont <dums@stlport...>
1621
1622 * test/unit/full_streambuf.h, deque_test.cpp, vector_test.cpp:
1623 Add STLPORT macro check when checking _STLP_USE_EXCEPTION macro.
1624
1625 * test/unit/string_test.cpp: Fix some macro checks to correctly
1626 report ignored tests.
1627
1628 * test/unit/mvctor_test.cpp: Fix tests to build it with native
1629 MSVC 2005 Standard library. Looks like this implementation do
1630 not follow atmortized constant time vector::push_back complexity.
1631
1632 * stlport/stl/config/_msvc.h: Clearly report status regarding build
1633 of STLport using the MSVC /clr option.
1634
1635 * stlport/stl/_threads.h: Remove MSVC .Net 2002 annoying warning.
1636
16372006-04-26 Francois Dumont <dums@stlport...>
1638
1639 * src/ctype.cpp: Fix ctype::scan_is and scan_not method behavior as
1640 required by C++ Standard 22.2.1.1.2.
1641
1642 * test/unit/locale_test.cpp: Fix ctype facet test according
1643 modifications above.
1644
16452006-04-25 Francois Dumont <dums@stlport...>
1646
1647 * stlport/stl/_istream.c: Small refactoring to avoid a uninitialized
1648 warning for __do_handle_exceptions local variable.
1649
1650 * stlport/stl/_deque.h: Ditto with __cur_node variable in
1651 _M_range_initialize method.
1652
1653 * stlport/stl/_deque.c: Ditto with __cur in _M_fill_initialize.
1654
1655 * stlport/stl/config/_auto_link.h: Removed auto link feature when
1656 building a C translation unit thanks Michael Fink.
1657
1658 * src/time_facets.cpp: Add missing calling convention on
1659 __write_formatted_time internal function.
1660
16612006-04-24 Francois Dumont <dums@stlport...>
1662
1663 * test/unit/cppunit/cppunit_mini.h: Limit scope of try/catch block to
1664 the test case call so that CppUnit function methods are correctly
1665 called.
1666
1667 * test/unit/type_traits_test.cpp: Fix use of
1668 CPPUNIT_IGNORE/CPPUNIT_STOP_IGNORE macros so that ignored tests are
1669 correctly reported as ignored.
1670
16712006-04-20 Francois Dumont <dums@stlport...>
1672
1673 * stlport/stl/config/_solaris.h: Replace C++ style comment
1674 in C style.
1675
1676 * stlport/stl/_cmath.h: Add macro definition for environment
1677 having long double but no float neither long double math functions
1678 This is a Solaris configuration.
1679
1680 * src/acquire_release.h, c_locale.h, locale.cpp,
1681 locale_catalog.cpp, locale_impl.cpp, locale_impl.h,
1682 message_facets.h, facets_byname.cpp: Add a locale hint feature
1683 to improve locale construction from name. This is used by
1684 Win32 locale implementation that broadcast the locale lcid
1685 thanks to this hint. With this modification, LocaleTest fixture
1686 runs 5 times faster.
1687
1688 * stlport/stl/_collate.h, _ctype.h, _monetary.h, _numpunct.h,
1689 _time_facets.h: Add _Locale_extract_hint function as friend
1690 to some locale facet in order to access locale implementation
1691 specific structure and potentially extract the hint.
1692
1693 * stlport/stl/_codecvt.h, _collate.h, _ctype.h, _messages_facets.h,
1694 _monetary.h, _numpunct.h, _time_facets.h: Add _Locale_name_hint pointer
1695 parameter to facet by name constructor.
1696
1697 * build/Makefiles/nmake/lib/clean.mak, rules-so.mak, rules-install-so.mak:
1698 Based on Dr Dobb's Richard Grimes article, change management of
1699 manifest file for STLport shared library. According this article
1700 .manifest file is not taken into account for a library, only .exe one is.
1701 Solution is to integrate .manifest file into the .dll as an unmanaged
1702 ressource with id 2. We now do so thanks to the mt manifest tool.
1703
1704 * stlport/stl/_pair.h: Remove __move_traits partial specialization for
1705 Borland free compiler, it was introducing weird compilation error.
1706
1707 * stlport/stl/_move_construct_fwk.h: Add a helper struct for __move_traits
1708 feature.
1709
1710 * build/test/unit/msvc.mak: Prepare makefile to easily build unit tests
1711 without STLport.
1712
17132006-04-15 Francois Dumont <dums@stlport...>
1714
1715 * stlport/stl/config/host.h, compat.h, debug/_debug.c: Removed
1716 _STLP_NO_DEBUG_EXCEPTIONS configuration macro that is similar
1717 to the new _STLP_DEBUG_MODE_THROWS except that new thrown macro
1718 is catchable (std::runtime_error exception) and contained message
1719 is more explicit.
1720
1721 * stlport/stl/debug/_tree.h: Add find template method STLport
1722 extension to the debug version of binary tree thanks Mike Flamming.
1723
17242006-04-11 Francois Dumont <dums@stlport...>
1725
1726 * src/complex_io_w.cpp: Removed, content moved to src/complex_io.cpp
1727 to avoid build of an empty translation unit that can generate linker
1728 warning (noticed with MSVC 2005 express)
1729
1730 * build/lib/Makefile.inc: Updated before of above modification.
1731
1732 * test/unit: Ignore many tests rather than hide it depending on
1733 build configuration.
1734
1735 * test/unit/cppunit/file_reporter.h: Restored output existing before
1736 introduction of monitoring feature.
1737
17382006-04-10 Francois Dumont <dums@stlport...>
1739
1740 * test/unit/cppunit/cppunit_timer.h, test_main.cpp, file_reporter.h:
1741 Add -m option to activate monitoring of unit tests. This option add
1742 timing for each test and a global timing information. Timer class has
1743 been created for Win32 API.
1744
1745 * stlport/stl/_bitset.h: Hide STLport bitset extensions _Find_first
1746 and _Find_next.
1747
1748 * test/unit/bitset_test.cpp: Adapt tests to previous modification.
1749
1750 * stlport/stl/_string.h: Replace memory include with stl/_alloc.h
1751 to limit header dependencies. Also add include of stl/_uninitialized.h.
1752
1753 * test/unit/fstream_test.cpp: Add missing memory include.
1754
1755 * test/unit/locale_test.cpp: Ditto.
1756
1757 * stlport/stl/_queue.h, _string.h, _rope.h, debug/_tree.h: Replace
1758 stl/_function.h include with the smaller _function_base.h include.
1759
17602006-04-07 Francois Dumont <dums@stlport...>
1761
1762 * stlport/stl/_new.h: Fixed management of _STLP_NO_BAD_ALLOC
1763 and _STLP_NEW_DONT_THROW_BAD_ALLOC macros.
1764
1765 * stlport/stl/config/_dm.h: Change DMC configuration, use STLport
1766 own namespace rather than std so that STLport can check config.
1767
1768 * stlport/typeinfo.h: Fix DMC configuration now that it uses own
1769 STLport namespace.
1770
17712006-04-05 Francois Dumont <dums@stlport...>
1772
1773 * stlport/stl/_tree.h, _list.h: Fixed swap implementation to
1774 correctly swap allocators instance. Moreover list swap implementation
1775 was wrong since list splice has been modified to correctly handled
1776 allocators with state.
1777
1778 * test/unit/slist_test.cpp, list_test.cpp, set_test.cpp: Add tests for
1779 above fix.
1780
1781 * stlport/stl/_deque.h: Fix swap method as deque has 2 allocator
1782 instances, this should perhaps be modified one day to only keep 1...
1783
1784 * stlport/stl/_rope.h: Fix swap method and removed assertion for
1785 equivalent allocator instances even if there are still other assertions
1786 in the implementation.
1787
1788 * stlport/stl/_function_base.h: Add swap method for less functor if
1789 partial template workaround is activated. This is for surprising
1790 compilers supporting partial template specialization but no template
1791 function partial ordering.
1792
1793 * stlport/stl/_algobase.h: Add Borland workaround for swap function
1794 thanks Eric Sanford.
1795
1796 * test/unit/type_traits_test.cpp: Borland workaround for is_convertible
1797 function thanks Eric Sanford.
1798
1799 * stlport/stl/config/_bc.h: Borland compilers do not support template
1800 function partial ordering thanks Eric Sanford.
1801
1802 * test/unit/stack_allocator.h: Add Borland workaround to correctly
1803 call StackAllocator::swap method when swaping STL containers in
1804 allocator_with_state tests.
1805
1806 * test/unit/config_test.cpp: New test
1807 ConfigTest::template_function_partial_ordering.
1808
1809 * test/unit/slist_test.cpp, list_test.cpp, set_test.cpp: Add swap tests
1810 with empty containers.
1811
1812 * src/vc_warning_disable.h: Remove deprecated comments.
1813
1814 * stlport/stl/_pair.h: Removed Borland checks thanks Eric Sanford.
1815
1816 * Patch from Michael Fink to remove Windows CE support that is
1817 no more supported by Microsoft.
1818
1819 * stlport/stl/config/_native_headers.h: New, contains all macros
1820 relative to native headers access that used to be in features.h.
1821
1822 * stlport/stl/config/_evc.h, _como.h: Add include of _native_headers.h
1823 as those compilers need to include native headers for correct
1824 configuration.
1825
1826 * stlport/stl/config/features.h: Use _native_headers.h.
1827
1828 * test/unit/locale_test.cpp: Made LocaleTest::facet_id test STLport
1829 specific rather than Borland specific. Moreover, without STLport, test
1830 is ignored rather than hidden.
1831
1832 * stlport/stl/_num_put.h, _num_put.c: Removed useless export of
1833 num_put<char, char*>, num_put<wchar_t, wchar_t*> not required by
1834 the Standard.
1835
1836 * stlport/stl/_num_get.h, _num_get.c: Ditto for
1837 num_get<char, const char*>, num_get<wchar_t, const wchar_t*>
1838
1839 * stlport/stl/_moneytary.h, _moneytary.c: Ditto for
1840 money_get<char, const char*>, money_get<wchar_t, const wchar_t*>,
1841 money_put<char, char*>, money_put<wchar_t, wchar_t*>
1842
1843 * stlport/stl/_time_facets.h, _time_facets.c: Ditto for
1844 time_get<char, const char*>, time_get<wchar_t, const wchar_t*>,
1845 time_put<char, char*>, time_put<wchar_t, wchar_t*>
1846
1847 * src/locale_impl.cpp: Removed id initialization of useless facets
1848 no more exported.
1849
1850 * stlport/new, stl/_new.h: Moved all STLport code in _new.h and
1851 modified new header so that it forwards include to native new
1852 when include comes from inside STLport.
1853
1854 * cppunit/file_reporter.h, cppunit_mini.h: Change support of
1855 CPPUNIT_CHECK macro, only report error once for all failures
1856 in a single test case.
1857
18582006-03-28 Francois Dumont <dums@stlport...>
1859
1860 * stlport/stl/_prolog.h: Fix macro check before inclusion of
1861 features.h.
1862
1863 * stlport/stl/char_traits.h: Fixed include of cstddef, in STLport
1864 code, Standard headers should never be included directly, their
1865 stlport/stl/_xxx.h counterpart should be used.
1866
1867 * stlport/stl/type_traits.h, type_manip.h: Patch from Eric Sanford
1868 for Borland compiler to fix _OKToMemCpy feature.
1869
1870 * stlport/stl/_alloc.h: Replace swap function for _STLP_alloc_proxy
1871 by a member method, it is more portable.
1872
1873 * stlport/stl/_bvector.h, _deque.h, _list.h, _slist.h, _string_base.h
1874 _tree.h: Replaced called to std::swap for _STLP_alloc_proxy instances
1875 by calls to member swap method.
1876
1877 * test/unit/hash_test.cpp: Ignore test rather than hide it.
1878
1879 * test/unit/map_test.cpp: Fixed StackAllocator instanciation.
1880
1881 * test/unit/stack_allocator.h: Add std::swap overload for
1882 StackAllocator<pair<const int, int>>.
1883
1884 * test/unit/string_test.cpp: Ignore tests rather than hide it.
1885
1886 * test/unit/unordered_test.cpp: Ditto.
1887
18882006-03-27 Francois Dumont <dums@stlport...>
1889
1890 * stlport/stl/_stdexcept_base.h: New internal header with
1891 __Named_exception implementation, improve segregation between
1892 <locale> and <stdexcept> Standard headers.
1893
1894 * test/unit/locale_test.cpp: Add missing <stdexcept> header include.
1895
1896 * stlport/stl/_function_base.h, _function.h: Move as many functor as
1897 possible from _function_base.h to _function.h to improve
1898 segregation between <functional> and <algorithm> Standard headers.
1899
1900 * test/unit: Add many missing references to <functional> header.
1901
1902 * test/unit: Made unit tests available for build without STLport, this
1903 will be a good way to compare Standard library implementations.
1904
1905 * stlport/stl/_string_base.h: Remove additional space for terminating
1906 null character, it was actually already reserved in the return
1907 expression.
1908
1909 * stlport/stl/_string.h: Restored basic_string capacity implementation
1910 that do not depend on use of the short string optimization or not. It
1911 might be hiding a real issue somewhere else in code even if unit tests
1912 are not showing any problem.
1913
1914 * stlport/stl/_alloc.h: Add swap overload for _STLP_alloc_proxy class
1915 in order to correctly call swap on the maybe rebound allocator as user
1916 that implement an allocator with a state might have implement a
1917 special swap function for it to correctly handle STL containers swap
1918 operation.
1919
19202006-03-24 Francois Dumont <dums@stlport...>
1921
1922 * build/lib/configure.bat: Removed script for defining INCLUDE
1923 environment variable for Borland ressource compiler as it depends
1924 on where STLport is install.
1925
1926 * build/lib/bcc.mak: Add check for INCLUDE environment variable
1927 definition.
1928
1929 * test/unit/string_test.cpp: Change basic_string::reserve test to
1930 check length_error exception rather than bad_alloc.
1931
19322006-03-22 Petr Ovtchenkov <complement@users.sourceforge.net>
1933
1934 * stlport/stl/_string.c: a bit code clean
1935
1936 * stlport/stl/_string_base.h: max_size should keep space for
1937 allocation of terminating null.
1938
19392006-03-19 Francois Dumont <dums@stlport...>
1940
1941 * stlport/stl/_alloc.h, _function_base.h, type_manips.h,
1942 type_traits.h, test/unit/type_traits_test.cpp: Patch for
1943 Eric Sanford for __bool2type Borland use.
1944
1945 * build/Makefiles/gmake/lib/clean.mak: Patch from Eric Sanford
1946 to fix files generated by dbg-shared and stldbg-shared rules.
1947
1948 * build/Makefiles/gmake/lib/bcc.mak: Patch from Eric Sanford to
1949 increase Borland page size to 64.
1950
19512006-03-16 Francois Dumont <dums@stlport...>
1952
1953 * stlport/stl/config/_evc.h, _msvc.h: Add some condition for
1954 definition of _STLP_MSVC macro which should only be defined for
1955 real Microsoft compilers and not for compiler emulating it.
1956
1957 * src/allocators.cpp: Use _STLP_STATIC_MUTEX macro in place
1958 of _STLP_mutex_base for mutex definition in per_thread_allocator
1959 implementation.
1960
1961 * stlport/stl/_pthread_alloc.h: Modified deallocate methods of
1962 pthread_allocator and per_thread_allocator implementation to accept
1963 null pointers.
1964
19652006-03-15 Francois Dumont <dums@stlport...>
1966
1967 * stlport/stl/_string_base.h, _string.c: Force call to
1968 _M_allocate_block even in short string optim mode in order
1969 to detect lenght error. Based basic_string max size implementation
1970 on allocator max_size.
1971
19722006-03-15 Petr Ovtchenkov <complement@users.sourceforge.net>
1973
1974 * stlport/stl/config/_system.h, _msvc.h, _evc.h: move _STLP_MSVC
1975 definition in proper place.
1976
19772006-03-14 Francois Dumont <dums@stlport...>
1978
1979 * src/allocators.cpp: Fixed thread safety issue in
1980 per_thread_allocator implementation thanks a very old William
1981 Power report.
1982
1983 * test/unit/allocator_test.cpp: Attempt to write a test case for
1984 previous bug but not yet complete as I need a better debugging
1985 environment than gdb under cygwin...
1986
1987 * stlport/stl/config/_system.h: Patch from Michael Fink to add
1988 missing _STLP_MSVC define for evc++ compilers.
1989
19902006-03-13 Francois Dumont <dums@stlport...>
1991
1992 * stlport/stl/_alloc.h, src/allocators.cpp: Hide declaration of
1993 malloc based allocator handler in library. Also limit scope of
1994 declspec to expose static members rather than the whole class.
1995
1996 * stlport/stl/_cstdlib.h: For Borland compiler add include of
1997 native process.h header, for reason see comment next to include
1998 in file.
1999
2000 * stlport/stl/_alloc.h: Add a new STLport extension to the
2001 std::allocator class: allocate(size_type, size_type&). This new
2002 overload of allocate returns in an output parameter, the real
2003 size of the allocated buffer that can be larger than the requested
2004 one. _STLP_alloc_proxy expose this new overload only for the
2005 STLport allocator and not for user defined allocators.
2006
2007 * stlport/stl/_vector.h, _vector.c, _string.h, _string.c: Use of the
2008 allocate overload extension method to set end of storage reference
2009 to the real memory block end rather than to the requested one.
2010
2011 * stlport/stl/_alloc.c: Adapt __debug_alloc::allocate method in order
2012 to return the real allocated memory block. Also add check on computed
2013 __real_n to allocate as it might roll on size_t and hide a case that
2014 should result in a bad_alloc exception.
2015
2016 * stlport/stl/_threads.h, src/allocators.cpp: Add WINVER macro
2017 check in addition to _WIN32_VERSION, according PSDK documentation
2018 WINVER is more generaly used accross different Windows platforms.
2019
2020 * test/unit/string_test.cpp: Add constructor test case to correctly
2021 handle build of a string with string::max_size elements which should
2022 result in a bad_alloc exception. Idem for reserve method.
2023
2024 * stlport/stl/_alloc.h, src/allocators.cpp: Add check of malloc
2025 result in __malloc_alloc implementation to throw an exception when
2026 result is NULL.
2027
2028 * src/locale_impl.cpp: Patch from Eric Sanford for Borland BDS 2006
2029 support. Mostly fix locale facet index issues.
2030
20312006-02-28 Petr Ovtchenkov <complement@users.sourceforge.net>
2032
2033 * stlport/stl/_string.h: capacity may return wrong value in case
2034 of no _STLP_USE_SHORT_STRING_OPTIM in use; thanks Rusty Koonce
2035 for report.
2036
2037 * test/unit/string_test.cpp: test for capacity issue.
2038
2039 * src/cxa.c: don't use cxa workaround for FreeBSD 6.0---it fine;
2040 this is rollback of changes 2006-01-24 [bad compiler was in use].
2041
20422006-02-15 Petr Ovtchenkov <complement@users.sourceforge.net>
2043
2044 * stlport/stl/_string.h: _STLP_FORCE_STRING_TERMINATION mode become
2045 default and only mode due to performance issue.
2046
2047 * stlport/stl/config/user_config.h: ditto.
2048
2049 * stlport/stl/config/features.h: ditto.
2050
20512006-02-14 Francois Dumont <dums@stlport...>
2052
2053 * stlport/stl/_hashtable.h, _hashtable.c: Add check in _STLP_DEBUG
2054 that equivalent key have same hash code. Fix _M_rehash method
2055 implementation that used to change elements order thanks Big Muscle
2056 effort to report this issue.
2057
2058 * build/lib/configure: Fix reference to STLport configuration file
2059 in --no-cygwin option description.
2060
20612006-02-13 Francois Dumont <dums@stlport...>
2062
2063 * stlport: Patch from Eric Sanford to remove many now useless
2064 Borland workaround.
2065
2066 * src/fstream.cpp: ditto
2067
2068 * stlport/stl/_monetary.h, _cwchar.h, _algobase.h: ditto
2069
20702006-02-10 Francois Dumont <dums@stlport...>
2071
2072 * stlport/stl/_iosfwd.h, _locale.h: Removed type attributes on type
2073 declaration, only useful on type definition.
2074
2075 * src/message_facets.h: Removed unused parameter in _Catalog_nl_catd_map
2076 erase method to avoid warning.
2077
2078 * src/num_put_float.cpp: Use more macro technique to avoid unused parameters
2079 in *_cvt functions.
2080
2081 * test/unit/cppunit/cppunit_mini.h: Comment unused parameter.
2082
2083 * test/unit/cppunit/file_reporter.h: Add base class initialization
2084 in FileReporter copy constructor definition.
2085
20862006-02-10 Petr Ovtchenkov <complement@users.sourceforge.net>
2087
2088 * src/num_put_float.cpp: remove usage of static buffers
2089 [potential vulnerabilities]; directly use __iostring instead.
2090
2091 * test/unit/floatio_test.cpp: test for fixed float output;
2092 cases when fixed float fail on Linux and Solaris, related
2093 with fcvt_r and fconvert calls respectivly commented.
2094
2095 * build/Makefiles/gmake/gcc.mak: workaround for bug in make 3.79.1
2096 on Solaris [not pass -D_STLP_DEBUG to CPPFLAGS].
2097
2098 * stlport/stl/_string.h: rollback 2006-01-25.
2099
21002006-02-08 Francois Dumont <dums@stlport...>
2101
2102 * build/Makefiles: Removed all references to BUILD=r in parameters
2103 to ressource compiler in release as there is no more 'r' appended
2104 to the library name in this mode.
2105
2106 * src/stlport.rc: Fix support for Borland and add check for BUILD
2107 definition before injecting it in original library file name.
2108
2109 * doc/README.borland: Update doc to signal new prerequisite for
2110 Borland ressource compiler.
2111
2112 * test/unit/unordered_test.cpp: Add test for unordered_multiset
2113 equal_range method.
2114
2115 * test/unit/partial_test.cpp: Add test for strict weak ordering
2116 predicate good behavior check.
2117
21182006-02-07 Francois Dumont <dums@stlport...>
2119
2120 * src/allocators.cpp: New simplification for _Node_Alloc_Lock,
2121 it do not have to be a template class anymore.
2122
2123 * stlport/stl/debug/_debug.c: Implement
2124 __stl_debug_engine<_Dummy>::_Message even when specifying
2125 _STLP_DEBUG_MESSAGE in order to have explicit instanciation correctly
2126 generated.
2127
2128 * stlport/stl/_heap.c, _tree.c, _list.c, _slist.c: Add strict
2129 weak ordering checks.
2130
2131 * stlport/stl/_debug.h, _debug.c: Add new error type: bad equivalent
2132 functor that has to be used in hash container implementation or in
2133 algorithm like find. Check for this functor is:
2134 if (pred(a, b)) assert(pred(b, a)
2135
2136 * stlport/stl/_hashtable.c: Add equivalent functor checks.
2137
2138 * stlport/stl/_debug.h, _debug.c: Check _STLP_DEBUG_MODE_THROW in
2139 __debug_engine::_Message method. Now thrown exception will contain
2140 description of the assertion rather than a generic message.
2141
2142 * build/Makefiles/gmake/bcc.mak: Fix Borland ressource compiler name,
2143 brcc32 not brc32.
2144
2145 * stlport/stl/_range_errors.h, src/dll_main.cpp: Add
2146 __stl_throw_runtime_error function used to throw exception in
2147 _STLP_DEBUG_MODE_THROW.
2148
21492006-02-06 Francois Dumont <dums@stlport...>
2150
2151 * build/Makefiles/nmake: Fixed regression generated by a side
2152 effect of Uli patch below.
2153
21542006-02-02 Francois Dumont <dums@stlport...>
2155
2156 * stlport/config/_stl_evc.h, stl/_config.h: Patch from Ulrich
2157 Eckhardt to signal endianess detection problem and set EVC
2158 endianess for MIPS SDK.
2159
2160 * src/allocators.cpp: Clean up _Node_Alloc_Lock definition, only
2161 specialization are now available for thread safe and not thread
2162 safe builds. Make easier definition of internal static mutex.
2163
2164 * stlport/float.h: Patch from Eric Sanford for Borland NaN management
2165
2166 * stlport/cfloat: Include STLport float.h rather than native one in
2167 order to use potential internal workaround.
2168
2169 * stlport/stl/config/_ibm.h: Replace all C++ comment by C comments.
2170
2171 * stlport/errno.h: For Borland, when building for a single threaded
2172 contex, errno is not a macro and is defined in std namespace so using
2173 have to get the symbol in this namespace.
2174
21752006-01-31 Francois Dumont <dums@stlport...>
2176
2177 * src/allocators.cpp: Reinforce move of allocators implementation
2178
2179 * stlport/stl/_alloc.h: Removed include of internal _thread.h no
2180 more necessary now that allocator implementation is in allocators.cpp.
2181
2182 * stlport/stl/_pthread_alloc.h: Removed pthread.h include.
2183
2184 * stlport/stl/_rope.h: Adopt classic macro check before inclusion
2185 of _threads.h.
2186
2187 * build/Makefiles/gmake/gcc.mak: Add -fno-inline option for debug
2188 builds.
2189
2190 * stlport/stl/_threads.h: Remove lock free singly linked list, avoid
2191 include of windows.h when using Win32 API lock free slist
2192 implementation.
2193
2194 * src/lock_free_slist.h: New place for the lock free singly linked
2195 list implementation.
2196
2197 * test/unit/mvctor_test.cpp, type_traits_test.cpp: Small workaround
2198 for gcc 4.0.1 build, looks like there is a conflict between glibc++
2199 __true_type and STLport one.
2200
22012006-01-30 Francois Dumont <dums@stlport...>
2202
2203 * Patch from Ulrich Eckhardt for EVC4 ICE + some documentation
2204 updates and fixes.
2205
22062006-01-29 Francois Dumont <dums@stlport...>
2207
2208 * stlport/stl/_hashtable.h, _limits.h: Add missing calling
2209 convention to static methods thanks Petr Supina
2210
22112006-01-28 Francois Dumont <dums@stlport...>
2212
2213 * stlport/stl/debug/_iterator.h: Fix Hp Acc configuration thanks
2214 Boris Gubenko.
2215
22162006-01-27 Francois Dumont <dums@stlport...>
2217
2218 * stlport/stl/_alloc.h, _old_alloc.h, _pthread_alloc.h,
2219 test/unit/rope_test.cpp: Fixed reference to _STLP_NO_IOSTREAMS,
2220 replaced by _STLP_USE_NO_IOSTREAMS.
2221
2222 * stlport/stl/_alloc.h: Move _MAX_BYTES definition out of
2223 _STLP_USE_NO_IOSTREAMS check scope as it is also used in deque
2224 implementation.
2225
2226 * stlport/stl/_algo.c, debug/_debug.h, _debug.c: Add check for
2227 bad predicate in safe STL mode (_STLP_DEBUG).
2228
2229 * test/unit/sort_test.cpp: Add test for correct invalid strict weak
2230 ordering predicate detection. Active only when STL safe mode throws
2231 exception rather than terminating application.
2232
2233 * test/unit/sort_test.cpp: Add a check that stable_sort is really
2234 stable.
2235
22362006-01-26 Francois Dumont <dums@stlport...>
2237
2238 * stlport/stl/_alloc.h, _alloc.c, _pthread_alloc.h: Many code moved
2239 to allocators.cpp.
2240
2241 * stlport/stl/_pthread_alloc.c: Removed, content moved to
2242 allocators.cpp.
2243
2244 * src/allocators.cpp: New, contains STLport node and per thread
2245 allocator implementation.
2246
2247 * src/dll_main.cpp: Remove references to former __node_alloc
2248 class.
2249
2250 * build/lib/Makefile.inc: Add allocators.cpp translation unit.
2251
2252 * stlport/stl/_alloc_old.h: Modified based on allocator classes new
2253 interface.
2254
2255 * stlport/stl/config/feature.h: Default allocator in _STLP_NO_IOSTREAMS
2256 mode is now the new/delete allocator, user can still use malloc/free
2257 one using config swtich in host.h.
2258
2259 * stlport/stl/config/_gcc.h: Cygwin/MinGW can now use default node
2260 allocator implementation without memory leak.
2261
22622006-01-25 Francois Dumont <dums@stlport...>
2263
2264 * test/unit/stream_test.cpp: Add check for ptrdiff_t output
2265 in streams operator when 64 bits portability issue detection
2266 feature is activated with MSVC compilers.
2267
22682006-01-25 Eric Sanford <...@comp...>
2269
2270 * stlport/stl/_exception.h: Delete obsolete workaround for
2271 legacy Borland compilers.
2272
2273 * stlport/stl/_string.h: Use an other implementation for the
2274 const_reference operator[](size_type _n) const
2275
2276 * stlport/stl/config/_bc.h: Restore unexpected exception handler
2277 (static and dynamic) and uncaught_exception handler (static only)
2278
2279 * build/Makefiles/gmake/lib/bcc.mak: Typo fix in linker flags.
2280
22812006-01-24 Petr Ovtchenkov <complement@users.sourceforge.net>
2282
2283 * test/unit/bind_test.cpp: add test for member function
2284 binding that show workaround for const function call.
2285
2286 * src/cxa.c: __cxa_finalize and __cxa_atexit present in libc
2287 in FreeBSD 5.3, but again absent in 6.0
2288
2289 * build/Makefiles/gmake/app/gcc.mak,
2290 build/Makefiles/gmake/lib/gcc.mak: detect whether gcc
2291 was builded with --disable-shared and use correct libgcc.
2292
2293 * build/lib/configure: add --use-static-gcc option to show
2294 that STLport should use static language support libraries from
2295 gcc if it was build with --enable-shared.
2296
22972006-01-23 Francois Dumont <dums@stlport...>
2298
2299 * build/Makefiles/gmake/app/clean.mak: Fix distclean rule for
2300 windows thanks Eric Sanford.
2301
2302 * stlport/stl/_cstddef.h, _cstdlib.h: When no new header support,
2303 include STLport C header rather than native one to use errno
2304 workaround.
2305
2306 * stlport/stddef.h: DMC also define errno in native stddef.h file.
2307
23082006-01-22 Francois Dumont <dums@stlport...>
2309
2310 * src/locale_impl.cpp, stlport/stl/_codecvt.h, _monetary.c,
2311 _num_get.c, _num_put.c, _time_facets.c: Borland workaround for
2312 locale facet id instanciation that were duplicated. Now static
2313 instances are no more defined from .c files but only from the
2314 .cpp and only for facets that are implemented by STLport. Users
2315 implementing facet inheriting from the STLport one will have to
2316 defined the static instance themself in their translation units.
2317
2318 * stlport/stl/type_manips.h: Fixed _UnCVType wrong implementation
2319 reported by Digital Mars compiler.
2320
2321 * stlport/stl/boost_type_traits.h: Fixed _OKMemCpy implementation
2322 remove_pointer call was wrong.
2323
2324 * src/dll_main.cpp: Hide force_link definition to MSVC compilers,
2325 was useless and producing a warning.
2326
2327 * build/Makefiles/gmake/cygming/rules-so.mak: Workaround for DMC
2328 linker weird behavior. Linker create the dll file even if link
2329 fail which confuse make dependency feature. As lib file is not
2330 generated, dll now depends on lib that depends on build files.
2331
2332 * stlport/stl/config/_warning_off.h: Disabled this used in initialization
2333 list warning, used in rope implementation.
2334
2335 * build/lib/configure: Fix --with-boost interpretation.
2336
2337 * build/Makefiles/gmake/dmc.mak: Use dm_link command for linker rather
2338 than link that is rather the MSVC like wrapper.
2339
2340 * build/Makefiles/gmake/cygming/targetsys.mak: Ditto for dm_lib rather
2341 than lib command.
2342
2343 * build/Makefiles/gmake/app/rules.mak: Use same linker command invocation
2344 for DMC and Borland.
2345
2346 * doc/README.borland: Documentation update about limitation on locale
2347 facets id instanciation.
2348
2349 * stlport/stdlib.h: DMC, like Borland and EVC, defines errno macro
2350 in stdlib.h
2351
2352 * stlport/stl/config/user_config.h, features.h: Inverse
2353 _STLP_FORCE_STRING_TERMINATION macro switch in
2354 _STLP_DONT_FORCE_STRING_TERMINATION. This is less dangerous for
2355 existing code.
2356
2357 * stlport/stl/_string.h: When _STLP_FORCE_STRING_TERMINATION
2358 is defined operator[] implementation is simpler.
2359
2360 * stlport/stl/debug/_string.h: Based implementation of []
2361 operator on the non STL safe internal instance, avoid duplication
2362 of check for access to the element of index size().
2363
2364 * test/unit/fstream_test.cpp: Add custom facet id definition for
2365 Borland.
2366
2367 * test/unit/hash_test.cpp: Now Borland support correctly hash container
2368 implementation.
2369
2370 * test/unit/rope_test.cpp: Fixed test implementation to build in
2371 _STLP_NO_IOSTREAMS mode.
2372
23732006-01-18 Francois Dumont <dums@stlport...>
2374
2375 * stlport/stl/_ostream.h, _ostream.c: Use size_t rather than
2376 unsigned int for MSVC compilers after VC6 in IO output operator
2377 to avoid 64 bits warning when trying to display a size_t type.
2378
2379 * test/unit/sstream_test.cpp: Add test that reveal the 64 bits
2380 warning.
2381
2382 * test/unit/string_test.cpp: Fixed unused variable warning.
2383
23842006-01-17 Petr Ovtchenkov <complement@users.sourceforge.net>
2385
2386 * src/c_locale_glibc/c_locale_glibc2.c: really implemented
2387 getting default locale categories from environment; replace
2388 a few strcpy by strncpy to protect from possible buffer overflow
2389 attack.
2390
2391 * stlport/new.h, stlport/stl/_typeinfo.h: few workarounds for ICC 9
2392 [suggested by Lim Hwan Cheol].
2393
23942006-01-14 Eric Sanford <...@comp...>
2395
2396 * build/test/eh/bcc.mak: Copied from build/test/unit/bcc.mak.
2397
2398 * stlport/stl/_rope.c: Restore Borland support for _Rope_rotate.
2399
2400 * stlport/stl/_rope.h: Fix Borland 5.5.1 internal compiler errors
2401 in _M_path_end and _M_tmp_buf structs. Restore Borland support for
2402 _Rope_rotate.
2403
2404 * test/eh/test_rope.cpp: Restore Borland exception test for rope.
2405
2406 * test/unit/rope_test.cpp: Restore Borland unit test for rope.
2407
24082006-01-13 Petr Ovtchenkov <complement@users.sourceforge.net>
2409
2410 * stlport/stl/_string.h, stlport/stl/debug/_string.h:
2411 const operator [n] should return CharT() in case of
2412 n == size(), ISO/IEC 14882:2003(E), 21.3.4; thanks Russ Miller.
2413
2414 * test/unit/string_test.cpp: test for fixed bug above.
2415
2416 * build/lib/configure: change --use-boost= onto --with-boost=
2417
24182006-01-13 Francois Dumont <dums@stlport...>
2419
2420 * test/unit/type_traits_test.cpp: Add boost specialization for
2421 any_pod_type in order to reproduce STLport behavior when using
2422 boost type traits.
2423
2424 * src/dll_main.cpp: Remove now invalid template explicit
2425 instanciation of _Bs_G that is no more a template.
2426
2427 * stlport/stl/config/_detect_dll_or_lib.h: When no iostreams mode,
2428 consider that we are in a static lib mode.
2429
2430 * stlport/stl/_limits.c, _hashtable.c: Add _STLP_CALL specification
2431 to _LimG and _Stl_prime methods implementation.
2432
2433 * stlport/stl/_limits.c: Put _Stl_prime methods implementation in
2434 a _STLP_EXPOSE_GLOBALS_IMPLEMENTATION macro check block. Those
2435 methods are supposed to come from libs when using iostreams.
2436
2437 * stlport/stl/_num_put.h, _num_get.h, _time_facets.h, _ios.h,
2438 _ios_base.h: Cleanup Borland workaround now useless.
2439
2440 * stlport/stl/boost_type_traits.h: Fixed _OKToMemCpy implementation
2441 using boost type traits to be closer to the STLport behavior.
2442
2443 * build/lib/configure.bat: Fixed reference to STLport user
2444 configuration file.
2445
2446 * build/lib/configure: Add --use-boost option to inject boost
2447 path during build process.
2448
24492006-01-12 Petr Ovtchenkov <complement@users.sourceforge.net>
2450
2451 * stlport/stl/_rope.h, stlport/stl/_rope.c: pass CharConsumer
2452 via reference, to take into account CharConsumer modifications.
2453 This has relation to find(char) in rope. Thanks Cristian Vlasceanu.
2454
2455 * test/unit/rope_test.cpp: test for fixed bug above.
2456
24572006-01-11 Francois Dumont <dums@stlport...>
2458
2459 * src/bitset.cpp: Add stlport_prefix.h include.
2460
2461 * stlport/stl/_bitset.h: Add an inline implementation for _S_count
2462 and _S_first_one static methods for _STLP_NO_IOSTREAMS mode. Should
2463 be slower than version coming with library but avoid link trouble.
2464
24652006-01-11 Petr Ovtchenkov <complement@users.sourceforge.net>
2466
2467 * stlport/stl/_bitset.h, stlport/stl/_bitset.c, src/bitset.cpp:
2468 make helper structure _Bs_G non-template [it used only as instance
2469 with unused bool argument only], and put static tables into library
2470 to avoid possible static instances duplication.
2471
2472 * build/lib/Makefile.inc: idem.
2473
24742006-01-10 Francois Dumont <dums@stlport...>
2475
2476 * stlport/stl/type_traits.h, config/_msvc.h, _mwerks.h: Integrate
2477 intrinsic type traits support for Visual 2005 and Metrowerk. Code
2478 based on boost library information and not tested for Metrowerk.
2479
2480 * test/unit/bind_test.cpp: Fix BindTest::bind2nd3 test case, had
2481 never been used.
2482
2483 * stlport/stl/boost_type_traits.h: Change boost type traits wrapping
2484 implementation to use meta programming operation on types rather
2485 than on numerical constant, MSVC6 prefer it.
2486
2487 * build/test/unit/msvc.mak: Systematically add /Zm800 for MSVC
2488 compilers, useful in a number of case and transparent in others.
2489
2490 * test/unit/type_traits_test.cpp: Add is_POD test case. Add dummy
2491 constructors, assignment operator and destructor to any_type struct
2492 to make the tests pass even with compilers having intrinsic type
2493 traits support.
2494
24952006-01-09 Francois Dumont <dums@stlport...>
2496
2497 * stlport/stl/debug: Fix move constructor to keep the container
2498 move constructor complete. When STLport user do no require no
2499 extension or Standard debug safe mode, iterators are also move
2500 with the container contents.
2501
2502 * stlport/stl/_list.h, _slist.h, _tree.h: Made iterator struct
2503 constructor from base class pointer explicit to forbid expression
2504 like: list.begin() == 0.
2505
2506 * stlport/stl/pointers/_slist.h, _list.h, _set.h: Fix implementation
2507 that was using former implicit contructor from pointer to base class.
2508
2509 * src/c_locale_win32/c_locale_win32.c: Fix implementation for
2510 compilers coming with a native lib implementing secure C functions
2511 like strncpy_s.
2512
2513 * src/iostream.cpp: Hide I/O streams declaration when defining
2514 them when compiler has no support for removing I/O streams
2515 from static global variable initialization segment. Avoid the
2516 stdio_istreambuf using directive when we do not use STLport
2517 private namespace.
2518
2519 * stlport/stl/_rope.h, _rope.c: Use internal, not _STLP_NO_EXTENSIONS
2520 dependant functions for implementation.
2521
2522 * stlport/rope, hash_map, hash_set: Add _STLP_NO_EXTENSIONS check
2523 that generate a #error if defined as those headers are STLport
2524 extensions.
2525
2526 * stlport/_uninitialized.h: Add __uninitialized_copy_n no dependant
2527 against _STLP_NO_EXTENSIONS for rope implementation.
2528
2529 * test/unit: Made tests ok to build even when _STLP_NO_EXTENSIONS or
2530 _STLP_NO_ANACHONISM or _STLP_NO_CUSTOM_IO is defined.
2531
2532 * stlport/stl/_num_put.h, _num_get.h: Fix definition scope of
2533 _STLP_MOVE_TO_STD_NAMESPACE that was wrong when _STLP_NO_CUSTOM_IO
2534 is defined.
2535
2536 * stlport/stl/boost_type_traits.h: Fixed _IsRef implementation based
2537 on boost type traits feature.
2538
2539 * build/nmake/extern.mak, lib/msvc.mak, test/unit/msvc.mak,
2540 test/eh/msvc.mak: Moved injection of boost include path for all targets
2541 in extern.mak. Also removed a useless double quote as make variable already
2542 contains it.
2543
2544 * stlport/stl/config/_bc.h, test/unit/floatio_test.cpp, cmath_test.cpp,
2545 limit_test.cpp: Borland patch from Eric Sanford.
2546
2547 * test/unit/string_test.cpp: Add template_wexpression test to check
2548 wstring template expression.
2549
25502006-01-05 Francois Dumont <dums@stlport...>
2551
2552 * stlport/stl/_stdexcept.h: Fix __Named_exception destructor
2553 implementation when _STLP_NO_IOSTREAMS is defined or when
2554 securized C function strcpy_s exists.
2555
2556 * stlport/stl/pointers/_set.h: Fixed implementation as _Identity
2557 is now in private namespace and const_reverse_* functions must
2558 return const_reverse_* iterators and not simply reverse_*.
2559
2560 * test/unit/bcompos_test.cpp, bind_test.cpp: Made the tests usable
2561 when _STLP_NO_EXTENSIONS is defined.
2562
2563 * build/lib/configure.bat: Fix name of msvc8 compiler.
2564
2565 * test/unit/mfunptr_test.cpp: Ignore find test when no class
2566 partial template specialization rather than commenting it.
2567
2568 * test/unit/type_traits_test.cpp: Ditto for reference_type test.
2569
2570 * build/Makefiles/nmake/top.mak: Fixed install-shared definition.
2571
2572 * build/Makefiles/gmake/gcc.mak: Add _STLP_USE_STATIC_LIB when
2573 building and using STLport static lib under MinGW/Cygwin.
2574
25752006-01-04 Francois Dumont <dums@stlport...>
2576
2577 * src/acquire_release.h: New file, expose __acquire_*
2578 functions used in different translation unit.
2579
2580 * src/num_put.h: Removed, content moved to num_put.cpp that
2581 was the only translation unit using exposed functions.
2582
2583 * src/*: Build with Intel C++ 9 compiler reveal that many
2584 static specification was missing.
2585
2586 * src/ctype.cpp: Filter out _WCharIndexT specialization for
2587 Intel compiler that consider wchar_t as unsigned, fixed a
2588 warning.
2589
2590 * _STLP_STATIC_ASSERT is now called without trailing ';' that
2591 is already in the macro definition.
2592
2593 * src/*: Removed reference to _SgI namespace replaced by the
2594 STLport private namespace.
2595
2596 * src/iostream.cpp: Add iostream include to expose cout, cin, cerr
2597 definition to declaration.
2598
25992006-01-03 Francois Dumont <dums@stlport...>
2600
2601 * stlport/stl/config/_gcc.h: Force use of new/delete based
2602 allocator under Cygwin/MinGW, default node allocator has
2603 problem because __node_allocator static datas are sometimes
2604 duplicated in a dll context.
2605
26062006-01-01 Francois Dumont <dums@stlport...>
2607
2608 * build/Makefiles/gmake/lib/gcc.mak, stlport/stl/config/_gcc.h:
2609 Change way of building dll with Cygwin/MinGW. No more export of
2610 all symbols, we use dllexport specification, makes import lib
2611 really shorter and dll too. Moreover use of the
2612 enable-auto-image-base linker option to make load of dll faster.
2613
2614 * stlport/stl/_time_facets.c, _num_put.c, _num_get.c, _monetary.c,
2615 debug/_debug.c: Adapt existing Cygwin/MinGW workaround for new
2616 way of generating dlls.
2617
26182005-12-31 Francois Dumont <dums@stlport...>
2619
2620 * doc: Add Borland doc and update cygwin, mingw and msvc.
2621
2622 * build/lib/README.options: Removed, replaced by configrure
2623 script.
2624
2625 * build/test/eh/bcc.mak: Added to build EH tests for Borland.
2626
26272005-12-29 Francois Dumont <dums@stlport...>
2628
2629 * src/c_locale_win32/c_locale_win32.c: Hide _Locale_mbtowc and
2630 _Locale_wctomb when no wchar_t support is detected thanks Eric
2631 Sanford.
2632
2633 * src/c_locale_win32/c_locale_win32.c: Add mapping from Borland
2634 facet macros to STLport associated string representation array index
2635 thanks Eric Sanford.
2636
2637 * stlport/stl/config/_evc.h: Patch from Michael Fink to generalized
2638 use of OutputDebugString for Windows CE when we need to trace
2639 information.
2640
2641 * build/Makefiles/gmake/bcc.mak, lib/bcc.mak, app/bcc.mak: Fix
2642 definition of START_OBJ thanks armpit33
2643
2644 * build/Makefiles/*: Generalize use of install-shared rather than
2645 list of all shared rules, idem for install-static.
2646
26472005-12-27 Francois Dumont <dums@stlport...>
2648
2649 * stlport/stl/_string_io.c: Generalized use of _STLP_STATIC_ASSERT
2650 macro rather that hand writen static assertion.
2651
2652 * stlport/stl/_fstream.c, _istream.c, src/fstream.cpp, strstream.cpp:
2653 Add some cast to avoid Borland suspicious pointer arithmetic warnings
2654 thanks Eric Sanford.
2655
2656 * stlport/stl/_limits.c: Fix Borland definition of NaNs and infinity
2657 for long double thanks Eric Sanford.
2658
2659 * stlport/stl/config/_system.h, _gcc.h: Fix config for Windows, MinGW
2660 and Cygwin platforms.
2661
2662 * stlport/stl/config/_windows.h: Can now be included by a pure C
2663 compiler.
2664
2665 * stlport/stl/config/_warning_off.h: Removed suspicious pointer
2666 arithmetic warning for Borland thanks Eric Sanford.
2667
2668 * stlport/stl/_construct.h: Removed now useless Borland workaround.
2669
2670 * src/stdio_streambuf.cpp: Ditto.
2671
2672 * stlport/stl/_alloc.h: Now allocator is tagged as an STLport class
2673 even without partial template specialization support. This is
2674 necessary because type_traits is specialized for allocator<char>,
2675 allocator<wchar_t> and allocator<void*> when partial template
2676 specialization is not available.
2677
2678 * test/unit/bitset_test.cpp: Add tests for the STLport
2679 bitset::_Find_first extension.
2680
26812005-12-27 Petr Ovtchenkov <complement@users.sourceforge.net>
2682
2683 * src/initial_mak: obsolete makes removed (sync with STLPORT_5_0
2684 branch).
2685
26862005-12-24 Petr Ovtchenkov <complement@users.sourceforge.net>
2687
2688 * stlport/stl/config/_gcc.h: gcc, builded by Apple is differ
2689 in behavior from original; in particular, in path to includes;
2690
2691 * build/Makefiles/gmake/app/gcc.mak: fix gcc options on MacOS X;
2692 STLport is free from libstdc++ on MacOS now;
2693
2694 * build/Makefiles/gmake/gcc.mak: fix gcc options on MacOS X; gcc,
2695 builded by Apple is differ in behavior from original;
2696 detect this;
2697
2698 * build/Makefiles/gmake/lib/gcc.mak: fix gcc on MacOS X;
2699 differentiate gcc from Apple and original;
2700 STLport is free from libstdc++ on MacOS X now;
2701
2702 * build/Makefiles/gmake/darwin/rules-so.mak: use
2703 gcc instead of c++ for linkage, if only C sources present.
2704
2705 * build/lib/gcc.mak, build/test/unit/gcc.mak: remove duplication
2706 of stlport includes.
2707
27082005-12-22 Petr Ovtchenkov <complement@users.sourceforge.net>
2709
2710 * stlport/stl/config/_windows.h: all system specific configuration
2711 in one place [moved from stlport/stl/_windows.h]
2712
2713 * stlport/stl/_windows.h: deleted; all system specific configuration
2714 in one place [moved to stlport/stl/config/_windows.h]
2715
2716 * stlport/stl/debug/_debug.c, stlport/stl/_threads.h:
2717 _windows.h included via _prolog.h [i.e. via stl/config/_system.h],
2718 see changes above.
2719
2720 * stlport/stl/config/_sunprocc.h: remove include of _solaris.h---it
2721 already included from _system.h
2722
2723 * stlport/stl/config/_kai.h: remove include of os configuration files,
2724 it should be included from _system.h
2725
2726 * stlport/stl/config/_intel.h: fix path after config headers
2727 reorganization.
2728
2729 * stlport/stl/config/_evc.h: idem
2730
2731 * stlport/stl/_exception.h: idem
2732
2733 * stlport/stl/config/_prolog.h: idem
2734
2735 * test/unit/fstream_header_test.cpp: idem
2736
2737 * test/unit/iomanip_header_test.cpp: idem
2738
2739 * test/unit/ios_header_test.cpp: idem
2740
2741 * test/unit/iostream_header_test.cpp: idem
2742
2743 * test/unit/istream_header_test.cpp: ditto
2744
2745 * test/unit/locale_header_test.cpp: idem
2746
2747 * test/unit/ostream_header_test.cpp: idem
2748
2749 * test/unit/sstream_header_test.cpp: idem
2750
2751 * test/unit/strstream_header_test.cpp: idem
2752
27532005-12-21 Francois Dumont <dums@stlport...>
2754
2755 * stlport/stl/debug/_debug.h, _debug.c, _string_sum_methods.h:
2756 Removed some unused parameters reported by Borland compiler.
2757
2758 * stlport/stl/config/_warnings_off.h: Disable unused parameters
2759 warning for Borland compiler.
2760
2761 * build/Makefiles/gmake/targetdirs.mak: Change config in order to
2762 have each generated application in a different bin folder.
2763
2764 * stlport/stl/_threads.h: Used _STLP_STATIC_ASSERT macro for a
2765 static assertion.
2766
27672005-12-19 Petr Ovtchenkov <complement@users.sourceforge.net>
2768
2769 * build/Makefiles/gmake/lib/gcc.mak: move LDSEARCH flags after
2770 possible -nostdlib
2771
2772 * build/lib/gcc.mak: don't add include path, it already included.
2773
2774 * src/c_locale.h: include stlport_prefix.h to add STLport's
2775 definitions that used below.
2776
2777 * stlport/stl_user_config.h, stlport/stl/_config.h: moved
2778 to stlport/stl/config catalog and renamed.
2779
2780 * stlport/stl/_config_compat.h, stlport/stl/_site_config.h: ditto.
2781
2782 * stlport/config: headers moved to stlport/stl/config catalog,
2783 renamed and reorganized.
2784
2785 * stlport/stl/_prolog.h, stlport/stl/_epilog.h, src/stlport_prefix.h:
2786 reflect changes in configuration files.
2787
27882005-12-17 Francois Dumont <dums@stlport...>
2789
2790 * stlport/stl/_config.h: Removed ';' in _STLP_STATIC_ASSERT
2791 definition.
2792
2793 * stlport/stl/_cwctype.h: Fix native namespace of wide char functions
2794 for MinGW runtime <= 3.0. Also fix a typo for FreeBDS.
2795
2796 * src/stdio_streambuf.cpp: Add missing 'defined' when checking
2797 __OS400__ macro existance.
2798
2799 * test/unit/resolve_name.cpp, set_test.cpp: Removed useless ';'
2800 reported by remarks from Intel C++ compiler.
2801
28022005-12-16 Francois Dumont <dums@stlport...>
2803
2804 * stlport/stl/_rope.h: Moved overload of __identity_element for
2805 _Rope_Concat_fn in STLport private namespace where orginal function
2806 declaration is. Also moved _Rope_Concat_fn at the same time, much more
2807 many elements of _rope.h should be moved to this namespace...
2808
2809 * stlport/stl/_monetary.c: Change implementation of __money_do_put for
2810 Borland compiler, looks like this compiler do not like ternary operator.
2811
2812 * src/c_locale_win32/c_locale_win32.c: Replace check of category in
2813 __Extract_locale_name from > LC_ALL by != LC_ALL, there is no reason
2814 for LC_ALL to be upper or lower to all other categories.
2815
2816 * build/Makefiles/gmake/cygming/rules-so.mak: Segregate different
2817 compilers linker calls and add reference to START_OBJ in Borland
2818 linker invocation.
2819
2820 * build/Makefiles/gmake/lib/rules-a.mak, cygming/targetsys.mak: Borland
2821 archiver add option is now '+', before being invocated archive is always
2822 deleted to avoid warnings because the Borland archiver do not have a
2823 real add or replace module option.
2824
2825 * stlport/stl/type_traits.h: Fix for compiler simulating partial
2826 template specialization (VC6)
2827
2828 * test/eh/test_rope.cpp: Removed rope test for Borland.
2829
2830 * test/unit/exception_test.cpp: Commented tests are now ignored.
2831
2832 * test/unit/locale_test.cpp, string_test.cpp: No more ignored test
2833 for Borland.
2834
28352005-12-14 Petr Ovtchenkov <complement@users.sourceforge.net>
2836
2837 * build/Makefiles/gmake/sysid.mak: parse two-token target
2838 system identification string along with three-token one
2839 [useful when vendor is omitted]; thanks Jonathan Sprinkle.
2840
2841 * stlport/cwctype, stlport/stl/_cwctype.h: wctype_t and
2842 others are in global namespace on FreeBSD.
2843
2844 * build/Makefiles/gmake/app/gcc.mak, lib/gcc.mak: use build
2845 with -nostdlib on Solaris.
2846
2847 * src/cxa.c: fix for Solaris
2848
2849 * stlport/config/stl_solaris.h, stlport/stl/_cmath.h:
2850 hmm, strange... sometimes MATH_L and MATH_F present on Solaris,
2851 sometimes not...
2852
28532005-12-14 Francois Dumont <dums@stlport...>
2854
2855 * test/unit/cppunit/cppunit_mini.h, file_reporter.h: Add ignore
2856 test feature, now tests should be ignored rather than commented.
2857 2 new macros for that CPPUNIT_IGNORE to add in tests declaration,
2858 all test following this macro won't be run; CPPUNIT_STOP_IGNORE
2859 optional macro to stop ignoring tests.
2860
2861 * test/unit/fstream_test.cpp: Ignore custom_facet test when not
2862 supported rather than comment it.
2863
2864 * test/unit/hash_test.cpp: Ignore hmap1 test for Borland and Digital
2865 Mars compilers, looks like rope class is too complicated for those
2866 compilers.
2867
2868 * test/unit/locale_test.cpp: Ignore locale_by_name test for compiler
2869 without exceptions support. Ignore money facet tests for Borland.
2870
2871 * test/unit/mvctor_test.cpp, rope_test.cpp: Some tests ignored
2872 depending on various configuration settings.
2873
2874 * test/unit/type_traits.cpp: Add test for _IsSTLportClass metaprogramming
2875 tool. Ignored for Borland.
2876
2877 * test/unit/unordered_test.cpp: Fix test for Digital Mars, unordered
2878 containers value_type are not necessarily with an immutable key, it is
2879 more portable to use value type rather than redefining it in the test.
2880
2881 * test/unit/string_test.cpp: Removed Windows CE macro check replaced
2882 by WaitForMultipleObjects returned code check, more portable and
2883 maintenable. Ignore a test for Digital Mars compiler.
2884
2885 * stlport/stl/type_manips.h, type_traits.h: Simplified metaprograming
2886 tools implementation; now avoid compilation constant replaced by
2887 type, Borland compiler has problem with constants.
2888
2889 * stlport/config/stl_bc.h: Made supported compiler check more accurate
2890 free compiler is 5.5.1 so it is the oldest supported version. Borland
2891 compiler do not support IEC559 specifications.
2892
2893 * build/Makefiles/gmake/bcc.mak: Put startup .obj to link with in
2894 START_OBJ rather than LDLIBS, thanks Eric Sanford.
2895
2896 * src/c_locale_win32/c_locale_win32.c: Temporarily removed category
2897 check in __Extract_locale_name function for Borland, looks like LC_ALL
2898 or LC_MAX has not the right value.
2899
29002005-12-13 Francois Dumont <dums@stlport...>
2901
2902 * src/cxa.c: Add include of stlport_prefix.h first, this file
2903 should be always included first in STLport translation units,
2904 it prepares some compilers config and define important for Wins
2905 __BUILDING_STLPORT macro.
2906
29072005-12-13 Petr Ovtchenkov <complement@users.sourceforge.net>
2908
2909 * build/Makefiles/gmake/targetdirs.mak: built-in
2910 test in /bin/sh on Solaris has no -e, use external instead.
2911
29122005-12-11 Francois Dumont <dums@stlport...>
2913
2914 * build/Makefiles/gmake/bcc.mak : Add -w-eff to disable 'useless'
2915 code warning, we had to chose between this warning and the 'used
2916 parameter' one.
2917
2918 * build/Makefiles/gmake/targetdirs.mak: Removed comment about folder
2919 creation action under windows platform. The action is identical to
2920 the one used in the nmake build system and no one complains about it
2921 so current situation is not so bad. Only users of Windows before Windows
2922 98 should eperiment troubles, this is a known limitation.
2923
2924 * build/Makefiles/gmake/dmc.mak, cygming/rules-so.mak: Change config,
2925 now we directly invoke the linker, we do not use a compiler call for it.
2926
2927 * build/Makefiles/gmake/app/bcc.mak: Fix linker option in order to generate
2928 a windows executable and not a dll, thanks Eric Sanford.
2929
2930 * build/Makefiles/gmake/app/rules-install.mak: Add install dir dependency
2931 rather than doing a folder existence check in rules actions.
2932
2933 * build/Makefiles/gmake/app/rules.mak: Restore slash rotation for Borland
2934 linker invocation and fix static rules dependencies to guaranty folder
2935 creations.
2936
2937 * build/Makefiles/gmake/lib/bcc.mak: Add missing archiver page size parameters.
2938
2939 * build/test/unit/bcc.mak: Add _STLP_DEBUG_UNINITIALIZED for static
2940 debug rules.
2941
2942 * build/Makefiles/gmake/lib/rules-a.mak: Segregate each archiver invocation.
2943
29442005-12-09 Francois Dumont <dums@stlport...>
2945
2946 * build/lib/configure.bat: Add Borland compiler to compilers
2947 able to mix a dll build with a static native runtime.
2948
2949 * build/Makefiles/gmake/bcc.mak, dmc.mak: Complete libs to link
2950 depending on STLport configuration.
2951
2952 * build/Makefiles/gmake/targetdirs.mak: roll back modif from Petr
2953 2005-12-08
2954
2955 * build/Makefiles/gmake/targets.mak: ditto
2956
2957 * build/Makefiles/gmake/cygming/lib.mak: Fix for static libs build
2958 with compiler different than gcc.
2959
2960 * build/Makefiles/gmake/cygming/targetsys.mak: Add missing info for
2961 static libs build with Borland and Digital Mars compilers.
2962
2963 * build/Makefiles/gmake/lib/rules-a.mak: Fix static builds commands
2964 to use info of above point.
2965
2966 * build/Makefiles/gmake/lib/rules-install-a.mak: Add install rule
2967 for windows and missing catalog in dependency tree.
2968
2969 * build/Makefiles/gmake/windows/rules-install-so.mak: Add missing
2970 catalog dependency.
2971
29722005-12-09 Petr Ovtchenkov <complement@users.sourceforge.net>
2973
2974 * build/lib/Makefile.inc: add cxa.c into compilation; this
2975 is useful for FreeBSD 4.11 C++ ABI workaround.
2976
2977 * src/cxa.c: use _cxa_atexit and related functions on
2978 FreeBSD 4.11 [workaround for missed C++ ABI functions].
2979
29802005-12-08 Francois Dumont <dums@stlport...>
2981
2982 * stlport/stl/_auto_ptr.h: Add missing Standard throw() specification
2983 on all auto_ptr members.
2984
2985 * stlport/config/stl_mycomp.h: Removed recently introduce macro
2986 _STLP_DFLT_PARAM_INSTANCIATION_BUG, already existing _STLP_DONT_SUP_DFLT_PARAM
2987 is enough for the moment.
2988
2989 * stlport/stl/_stream_iterator.h: Small implementation change to make
2990 Digital Mars compiler happy.
2991
2992 * stlport/stl/_unordered_map.h: Digital Mars compiler do not like
2993 immutable keys in associative containers.
2994
29952005-12-08 Petr Ovtchenkov <complement@users.sourceforge.net>
2996
2997 * stlport/ctype.h: forward-declaration for _exception struct
2998 for WinCE/eVC3; prevents warning message
2999 ../include/stdlib.h(817) : warning C4115:
3000 '_exception' : named type definition in parentheses
3001 [Michael Fink's suggestion]
3002
3003 * stlport/float.h, stlport/limits.h, stlport/setjmp.h: idem.
3004
3005 * stlport/stdarg.h, stlport/string.h, stlport/stdio.h: idem.
3006
3007 * build/Makefiles/gmake/gcc.mak: check configuration macro
3008 WITHOUT_STLPORT [useful for tests]; force usage of stlport
3009 headers first otherwise.
3010
3011 * build/Makefiles/gmake/targetdirs.mak: fix catalogs creation
3012 procedure [loop through catalogs required]; comment problematic
3013 code when we have no good tools.
3014
3015 * build/Makefiles/gmake/lib/gcc.mak: fix typo [FreeBSD]; fix
3016 set of libraries when link for FreeBSD; fix typo in macro name
3017 [FreeBSD again].
3018
3019 * build/Makefiles/gmake/app/gcc.mak: fix set of libraries when
3020 link for FreeBSD; insert stlport lib in STDLIB set [when STLPORT
3021 in force], to avoid set one in application's makefile.
3022
3023 * build/test/unit/gcc.mak: explicit refrence to libstlport in
3024 this makefile not required more [see message above].
3025
3026 * build/Makefiles/gmake/lib/gcc.mak: remove names inherited from
3027 Complement project.
3028
3029 * build/Makefiles/gmake/*/rules-install-so.mak: installation
3030 catalog was missed in dependency tree; ident string removed
3031 to simplify merge/diff
3032
3033 * Build: building library and unit tests with cross [gcc 3.4.5]
3034 on Linux for FreeBSD 5.3 (except cwctype_test).
3035
3036 * build/Makefiles/gmake/targets.mak: rotate slashes for BCC.
3037
3038 * build/Makefiles/gmake/app/macro.mak: remove name contruction
3039 for program; rotate slashes for wins.
3040
3041 * build/Makefiles/gmake/app/rules-install.mak: remove name
3042 contruction for program.
3043
3044 * build/Makefiles/gmake/app/rules.mak: remove name contruction
3045 for program; objects for static and for dynamic are the same.
3046
30472005-12-04 Francois Dumont <dums@stlport...>
3048
3049 * src/num_put_float.cpp: Filter inclusion of stdint.h, required for
3050 Digital Mars compiler, forbidden for Sun platform.
3051
3052 * stlport/stl/_cwctype.h: wide types and function are in global
3053 namespace.
3054
3055 * build/test/unit/gcc.mak: Modify cygwin/mingw config now that
3056 default settings for those platform is shared library.
3057
3058 * build/Makefiles/gmake: Add support of static targets, used
3059 especially for Borland C++ Compiler and Digital Mars Compiler.
3060
3061 * build/Makefiles/gmake/app/gcc.mak: Fix typo in FreeBSD
3062 configuration.
3063
30642005-12-02 Francois Dumont <dums@stlport...>
3065
3066 * stlport/config/stl_msvc.h: Fixed configuration detection when building
3067 STLport dll based on a static native runtime.
3068
3069 * stlport/stl/_locale.h: Fix warning convertion from size_t to
3070 __stl_atomic_t that can be of lower size.
3071
3072 * stlport/config/stl_gcc.h, doc/README.mingw, README.cygwin: Made dll
3073 default settings under cygwin/mingw.
3074
30752005-12-01 Francois Dumont <dums@stlport...>
3076
3077 * stlport/stl/_mbstate_t.h: Add workaround for alpha bad WCHAR_MIN and
3078 WCHAR_MAX definition.
3079
3080 * stlport/config/stl_gcc.h: Configure STLport for alpha platform as not
3081 supporting iec559 specification as quiet nan is not correct. If someone
3082 find the right value then this config will have to be rollbacked.
3083
3084 * build/Makefiles/gmake/gcc.mak: Restored Sun OS support that use the
3085 -pthreads option and not -pthread
3086
3087 * build/Makefiles/nmake/lib/macro.mak: Fixed library name generation
3088 when using cross runtime version thanks Alexey Ivanov report.
3089
30902005-11-29 Francois Dumont <dums@stlport...>
3091
3092 * stlport/stl_user_config.h: Add _STLP_LIB_NAME_MOTIF macro to give
3093 users a point of customization of the automatic linking feature.
3094
3095 * build/Makefiles/nmake/lib/macro.mak, gmake/cygming/lib.mak: Use
3096 STLP_BUILD_LIB_MOTIF in library name generation algorithm. Also take
3097 into account cross builds in library name generation.
3098
3099 * build/lib/configure.bat: Add --lib-motif option to give users a
3100 way to customize the generated library names.
3101
3102 * test/eh: Generalized use of msvc.mak rather than all the nmake-vc??.mak
3103 files. Idem for evc.mak instead of nmake-evc?.mak and icl.mak instead of
3104 nmake-icl.mak.
3105
3106 * stlport/stl/_exception.h: Change _msvc_warnings_off.h include in
3107 _warnings_off.h as this file now also turn off Borland warnings.
3108
3109 * stlport/config/_detect_dll_or_lib.h: Mutualization of code used to
3110 detect current STLport type of build or usage (dll or static lib).
3111
3112 * stlport/config/stl_msvc.h, stl_bc.h, stl_dmc.h: Integration of
3113 _detect_dll_or_lib.h
3114
3115 * stlport/config/_auto_link.h: Change auto link algo when we detect
3116 cross STLport usage that is to say use of STLport as a dll link with
3117 static native runtime or opposite.
3118
31192005-11-29 Petr Ovtchenkov <complement@users.sourceforge.net>
3120
3121 * src/cxa.c: mutex should be recursive-safe, due to __cxa_finalize
3122 may be called recursive.
3123
31242005-11-28 Francois Dumont <dums@stlport...>
3125
3126 * stlport/stl/_threads.h: Simplified expression used to instanciate
3127 _Atomic_swap_struct, gcc 2.95 had trouble with the one line expression.
3128
3129 * src/dll_main.cpp: Fix instanciation of _Swap_lock_struct that has been
3130 changed and renamed in _Atomic_swap_struct.
3131
3132 * test/unit/map_test.cpp, set_test.cpp: Simplified call to map constructor
3133 taking a functor and allocator instance, split it in a creation of a les<int>
3134 instance then passed to the constructor; gcc 2.95 had trouble with previous
3135 version.
3136
3137 * stlport/stl/_cmath.h, _cstdlib.h: Now those files includes each other to
3138 make sure that all abs overloads are defined when it is imported in STLport
3139 namespace. gcc 2.95 is very strict on this point and only consider the abs
3140 overloads existing at the first import calls, all overloads added after that
3141 are discarded silently.
3142
3143 * stlport/stl/_cmath.h: Removed unjustified abs function overloads done
3144 directly in STLport namespace for gcc 2.95 and before. Those overloads
3145 clashed on a Linux with gcc 2.95 from the sourceforge compiler farm.
3146
3147 * build/Makefiles/gmake/gcc.mak: Generalized definition of _REENTRANT under
3148 Linux to make detection of a multithreaded build from STLport code easier.
3149 Problem meet on an alpha linux platform from the sourceforge compiler farm.
3150
3151 * stlport/stl/_locale.h: Removed _M_delete locale::facet member variable,
3152 useless if facet instance reference counter is right.
3153
3154 * src/locale_impl.cpp, message.cpp: Change classic facets initialization code
3155 to simply set initial counter to 1 rather than incrementing it after construction.
3156
3157 * test/unit/evc.mak fix path to config file in existance check.
3158
3159 * stlport/stl/_move_construct_fwk.h, type_manips.h: Add workaround to use
3160 move constructor with Borland compiler.
3161
31622005-11-28 Petr Ovtchenkov <complement@users.sourceforge.net>
3163
3164 * build/Makefiles/gmake/targetdirs.mak: change names of .o output dirs
3165 to make bcc happy (bug with passing name that contain '-' from
3166 compiler to linker). Replacement: 'shared' -> 'so', 'static' -> 'ar',
3167 '-' -> '_' (i.e. obj/gcc/shared-stlg -> obj/gcc/so_stlg, a bit shorter)
3168 [Suggested by Francois Dumont].
3169
31702005-11-27 Petr Ovtchenkov <complement@users.sourceforge.net>
3171
3172 * build/Makefiles/gmake/targets.mak, app/rules.mak, linux/rules-so.mak:
3173 use gcc instead of c++ as linker if there are no C++ objects.
3174
3175 * src/cxa.c, build/misc/cxa_atexit/Makefile.inc, build/misc/cxa_atexit/gcc.mak:
3176 workaround for bugged __cxa_finalize; use builded libcxa.so in LD_PRELOAD or
3177 /etc/ld.so.preload in Linux system with bugged glibc. See also
3178 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24189
3179
31802005-11-27 Francois Dumont <dums@stlport...>
3181
3182 * stlport/stl/type_manips.h: Add import of __true_type and
3183 __false_type in STLport private namespace as the using namespace
3184 directive do not seems to be enough for latest gcc version.
3185
3186 * src/time_facets.cpp: Fix buffer size decrementation in __write_formatted_time
3187 function thanks Petr Ovtchenkov
3188
31892005-11-26 Francois Dumont <dums@stlport...>
3190
3191 * stlport/stl/_complex.h: Move implementation of generic abs, arg and polar
3192 after definition of double overload used in implementation. Thanks Kees de
3193 Bruin
3194
3195 * stlport/stl/_threads.h, _alloc.h, _alloc.c: Fix lock free node allocator
3196 implementation thanks Weis.
3197
3198 * stlport/stl/wrappers: Removed, no more maintained and complicated to fix
3199 with the debug and pointer specialization implementations.
3200
3201 * test/unit/stack_allocator.h: Creation of an allocator using a stack buffer.
3202 This allocator specificity is to not be stateless and not default constructible.
3203
3204 * test/unit/list_test.cpp, stlport/stl/_list.h, _list.c: Add of a test with the
3205 StackAllocator. Fix list implementation to correctly handle allocator state
3206 in the methods moving elements from a list instance to an other.
3207
3208 * stlport/stl/_carray.h: Creation of a new internal struct _CArray that mimic a C
3209 array with the additionnal feature of being able to be instanciated with a type
3210 without default constructor.
3211
3212 * stlport/stl/debug/_list.h: Adapt iterator invalidation according allocators
3213 compare result.
3214
3215 * test/unit/slist_test.cpp, stlport/stl/_slist.h, _slist.c: idem list.
3216
3217 * stlport/stl/_slist.h: Modification of the splice_after methods signature. Users
3218 now have to pass the source slist instance, this is mandatory in order to compare
3219 the 2 slists allocator instance before moving an element from a slist instance to
3220 an other.
3221
3222 * stlport/stl/_string_base.h: Fix _M_swap implementation for basic_string instanciation
3223 with allocator having a state.
3224
3225 * stlport/stl/_list.c, _slist.c: sort methods now throw an overflow exception when lists
3226 are too long to be sorted with the current algorithm. This is preferable to a buffer
3227 overrun.
3228
3229 * stlport/stl/_alogobase.c: Small equal_range optimization, upper_bound is not called
3230 anymore when lower_bound returned value is already not equivalent to the search value.
3231
3232 * build/Makefiles/gmake: Add build system for Digital Mars and Borland C++ compilers
3233
3234 * build/lib/configure.bat: Add following options
3235 --use-boost
3236 --not-thread-safe
3237 --no-rtti
3238 see script for explanation. --mingw removed, detected with --compiler option, if
3239 gcc, dmc or bcc then we are using MinGW tools.
3240
3241 * build/lib/configure: Add --not-thread-safe option
3242
3243 * build/Makefiles: Add build options to generate not thread safe libs and no rtti libs,
3244 all compilers option has not been updated.
3245
3246 * stlport/c*: Modification of C++ headers wrapping C ones. All code moved to internal
3247 headers in stlport/stl folder. Internal headers are only included if include comes from
3248 user code otherwise only native header is included. Limit dependency between STLport
3249 headers relations and native library once. Reported by problem building with Borland
3250 compiler.
3251
3252 * test/unit/cppunit/cppunit_mini.h: Replace cstring include with string.h to avoid
3253 references to std namespace in headers, should be more portable. Add typedef Base
3254 definition in CPPUNIT_TEST_SUITE macro, used in calls to base class methods, help
3255 Borland.
3256
3257 * Generalize use of secure string functions (strcpy_s for instance) for MSVC compilers
3258 supporting it and tagging former versions like deprecated. The pragma warning that used
3259 to disable this warning has been removed.
3260
3261 * stlport/BC50: Removed, no necassry anymore for supported Borland compiler versions.
3262
3263 * stlport/stl/debug: Implementation modification, now debug wrapper agregate a non debug
3264 instance rather than inheriting from it. Makes debug implementation clearer as we are now
3265 forced to implement the complete containers interfaces.
3266
3267 * stlport/stl/pointers: Fix implementation in order to support Standard compilers
3268 not accepting cast from function pointer to void*.
3269
3270 * *: Reinforce use of STLport private namespace (stlp_priv or stlport::priv) for all
3271 internals algorithms.
3272
32732005-11-21 Francois Dumont <dums@stlport...>
3274
3275 * Fix classic locale facet initial reference counter thanks
3276 Cabal
3277
32782005-11-20 Petr Ovtchenkov <complement@users.sourceforge.net>
3279
3280 * src/num_put.h: check that incoming string has enough
3281 digits for fractional part processing. This check includes
3282 check for empty incoming string. (Thanks Leonardo [leoapsilva]
3283 for the bug report).
3284
3285 * stlport/stl/_monetary.c: fix processing the case when
3286 number of digits in value less then number of digits in fraction.
3287
3288 * src/facets_byname.cpp: international currency symbol should
3289 be the first (not depends upon where currency symbol situated in
3290 the national format).
3291
3292 * test/unit/locale_test.cpp: tests for reproducing this problems.
3293
32942005-11-20 Gail Baker <baker88@users.sourceforge.net>
3295
3296 * build/Makefiles/gmake/CC.mak: Updated compiler option
3297 to compile larger inline functions inline.
3298
3299 * build/Makefiles/gmake/lib/CC.mak: Changed how the header
3300 file linking is done to only do it once instead of with
3301 every compile.
3302
3303 * build/lib/README: include instructions for SunPro compiler.
3304
3305 * build/test/unit/CC.mak: allow the STLP_DEBUG version to compile.
3306
33072005-11-19 Petr Ovtchenkov <complement@users.sourceforge.net>
3308
3309 * stlport/stdlib.h: replace C++ comments by C, to satisfy -ansi
3310 option of compiler.
3311
33122005-11-18 Francois Dumont <dums@stlport...>
3313
3314 * build/Makefiles/nmake/lib/rules-install-so.mak,
3315 app/rules-install-so.mak: Add copy of manifest file when exist
3316 rather than when compiler is Visual Studio 2005.
3317
3318 * src/stdio_streambuf.cpp: Removed warning for EVC 3 and 4 thanks
3319 Michael Fink patch.
3320
3321 * stlport/stl/math.h, stdlib.h: Fix EVC3 warning thanks Michael Fink
3322 patch.
3323
3324 * doc/README.evc3: doc update from Michael Fink.
3325
3326 * stlport/*, stlport/*, tests/*: Clean up of trailing blank charaters
3327 in all source files.
3328
33292005-11-17 Gail Baker <baker88@users.sourceforge.net>
3330
3331 * build/Makefiles/gmake/CC.mak, depend.mak, app/CC.mak, lib/CC.mak:
3332 support of SunPro 5.7 compiler.
3333
3334 * build/lib/CC.mak: ditto
3335
3336 * stlport/stl/_rope.c: Removed extra semi-colons.
3337
3338 * stlport/stl/_rope.h: Sunpro compiler had a problem with
3339 the __ROPE_DEPTH_SIZE macro doing an addition. Changed to
3340 a fixed value instead.
3341
3342 * stlport/cstdlib: Updated to allow the compiler to find abs and div
3343
3344 * stlport/config/stl_sunpro.h: Disabled _STLP_LINK_TIME_INSTANTIATION
3345 since this nolonger works with current files. The issue here is that
3346 a number of defines that are required in the C versions of the files
3347 use defines that are undefed at the end of the include. So, when
3348 the compiler finally compiles the C version at link time the defines
3349 are lost and the files don't compile. Also added a minor change
3350 to allow files that are compiled with cc to include stl_sunpro.h
3351 without bailing out.
3352
3353 * stlport/stl/_bvector.h: Added stl/_range_errors.h required by
3354 an exception that can be called.
3355
3356 * stlport/stl/_cmath.h: Changed to pull all math functions from std
3357 namespace for SunPro compiles only.
3358
3359 * test/unit/fstream_test.cpp: Added SunPro compile to the list
3360 of compilers that don't use the DO_CUSTOM_FACET_TEST.
3361
3362 * test/unit/string_test.cpp: Added Sun UI Threads to the list
3363 of supported thread types in the test.
3364
3365 * test/unit/valarray_test.cpp: The compiler was having trouble
3366 finding abs(). Added a "using std::abs" for the SunPro compiler
3367 which solved the problem.
3368
3369 * test/unit/cppunit/cppunit_mini.h: Added additional using statements
3370 for the str* commands.
3371
3372 * test/unit/cppunit/test_main.cpp: Added "using namespace std;"
3373 for the SunPro compiler.
3374
3375 * build/test/unit/CC.mak: support of SunPro 5.7 compiler
3376
33772005-11-17 Francois Dumont <dums@stlport...>
3378
3379 * stlport/stl/_messages_facets.h, src/messages.cpp: Move message facet
3380 constructor private to guaranty that it is only called from the _Locale_impl
3381 class for classic locale facets creation. Change constructor implementation
3382 as now passed _Message instance is dynamically instanciated so needs to be
3383 destroy on facet destruction; moreover the facet is also dynamically allocated
3384 and has to be destroyed when reference counter reach 0.
3385
3386 * src/locale_impl.cpp: Removed call to now useless free_classic_locale function.
3387 Change make_classic_locale implementation, now classic locale facets are
3388 allocated on the heap and have to be destroyed like any ordinary facets
3389 when reference counter reach 0.
3390
33912005-11-15 Petr Ovtchenkov <complement@users.sourceforge.net>
3392
3393 * stlport/stl/_tree.h: check iterator returned from lower_bound
3394 in equal_range_unique for end, to avoid increment [useful when
3395 key not available].
3396
3397 * test/unit/map_test.cpp: test for problem above.
3398
33992005-11-09 Francois Dumont <dums@stlport...>
3400
3401 * build/test/eh/gcc.mak: Fix build system for Cygwin/MinGW systems that
3402 was broken since library naming convention modification.
3403
34042005-11-07 Michael Fink <vividos@users.sourceforge...>
3405
3406 * build/lib/configure.bat: Fixed configuring for Visual Studio .NET 2003.
3407 Fixed jump target names for Win9x OSes: they must be 8 characters or
3408 shorter.
3409
34102005-11-07 Michael Fink <vividos@users.sourceforge...>
3411
3412 * build/Makefiles/nmake/evc3.mak, build/Makefiles/nmake/evc4.mak,
3413 build/lib/configure.bat, stlport/config/stl_evc.h: Added check if
3414 using x86 emulator configuration; using of proper include paths in
3415 case.
3416
3417 * doc/README.evc4: Documentation update
3418
34192005-11-01 Petr Ovtchenkov <complement@users.sourceforge.net>
3420
3421 * Repository: STLport 5.0, tag STLPORT_5_0_RELEASE
3422
3423 * Repository: merge HEAD and STLPORT_5_0 branch.
3424
3425 * build/Makefiles/gmake/app/rules-install.mak: install-shared rule
3426 added (patch by Michael Fink).
3427
3428 * build/Makefiles/gmake/lib/rules-install-a.mak: install-static rule
3429 added (patch by Michael Fink).
3430
34312005-10-12 Francois Dumont <dums@stlport...>
3432
3433 * stlport/stl/_threads.h, _threads.c: Fix regression for some platforms
3434 introduce by modification of _Atomic_swap_ptr implementation thanks
3435 Albrecht Fritzche.
3436
34372005-10-09 Petr Ovtchenkov <complement@users.sourceforge.net>
3438
3439 * repository: RC6, tag STLPORT_5_0_RC6
3440
34412005-10-09 Francois Dumont <dums@stlport...>
3442
3443 * stlport/config/stl_gcc.h: DEC alpha has not *l math functions
3444
34452005-10-08 Francois Dumont <dums@stlport...>
3446
3447 * stlport/stl/_config.h: Add endianess specification for DEC alpha thanks
3448 sourceforge compiler farm.
3449
3450 * stlport/config/stl_intel.h: Remove reference to _STLP_GLOBAL_NEW_HANDLER
3451 in this file as this macro depends on native Standard library which is
3452 the back end MSVC compiler one so macro set in stl_msvc.h.
3453
34542005-10-07 Francois Dumont <dums@stlport...>
3455
3456 * build/Makefiles/gmake/darwin/sys.mak, freebsd/sys.mak: Fix EXT_TEST
3457 definition to test rather than /usr/bin/test thanks sourceforge
3458 compiler farm.
3459
34602005-10-05 Francois Dumont <dums@stlport...>
3461
3462 * build/Makefiles/nmake/vc-common.mak: Remove /Fd option for the icl
3463 compiler that do not know it.
3464
34652005-10-04 Francois Dumont <dums@stlport...>
3466
3467 * stlport/stl/debug/_list.h: Fix resize method implementation in safe
3468 STL mode thanks Ethan Fenn report.
3469
3470 * test/unit/list_test.cpp: Add test case for list::resize method.
3471
3472 * build/Makefiles/nmake/lib/rules-install-a.mak, app/rules-install-a.mak:
3473 Install .pdb files only if exist, Intel C++ compiler do not generate them
3474 when building static libraries. Thanks Albrecht Fritzsche
3475
3476 * stlport/stl/_ostream.h, _ostream.c: Move _M_init function implementation
3477 from .c to .h as .c is not included when _STLP_NO_CUSTOM_IO is defined
3478 but _M_init might not be exported if compiler fully inline it.
3479
34802005-10-03 Francois Dumont <dums@stlport...>
3481
3482 * stlport/stl/_tree.h: Fix _S_value method definition that returns
3483 a value_type& rather than the reference typedef as reference might be,
3484 depending on the traits used to instanciate _Rb_tree, equivalent to
3485 a const_reference.
3486
34872005-09-30 Francois Dumont <dums@stlport...>
3488
3489 * INSTALL, README, doc/FAQ, doc/README.msvc: Documentation updates.
3490
3491 * doc/stlport_namespaces.txt: Small doc about STLport namespaces and how
3492 STLport replace native Standard library.
3493
34942005-09-26 Francois Dumont <dums@stlport...>
3495
3496 * build/*: Finished _STLP_LEAKS_PEDANTIC clean up from all make files.
3497
34982005-09-25 Francois Dumont <dums@stlport...>
3499
3500 * build/test/unit/gcc.mak: Remove _STLP_LEAKS_PEDANTIC option when building
3501 unit tests as this option is not defined when building the libs.
3502
35032005-09-22 Petr Ovtchenkov <complement@users.sourceforge.net>
3504
3505 * build/Makefiles/gmake/sysid.mak: add underscore in architecture recognition,
3506 to parse targets like x86_64-unknown-linux-gnu.
3507
35082005-09-21 Francois Dumont <dums@stlport...>
3509
3510 * src/locale.cpp, facets_byname.cpp: Use of _STLP_ATOMIC_INCREMENT rather than
3511 a lock on a mutex when the macro is available.
3512
35132005-09-21 Petr Ovtchenkov <complement@users.sourceforge.net>
3514
3515 * src/locale_impl.cpp: some internal functions used before declared.
3516 Thanks Thomas Kho for report.
3517
35182005-09-20 Francois Dumont <dums@stlport...>
3519
3520 * stlport/stl/_string.h, _string_workaround.h: code refactoring, substr method
3521 now use string constructor taking same parameters rather than the range
3522 constructor, thanks Felix Wyss report. Also add missing allocator parameter
3523 for non stateless allocators.
3524
3525 * build/Makefiles/gmake: Restore resource build for Cygwin and MinGW, add
3526 it for Windows.
3527
3528 * build/lib/configure.bat: Add --extra-cxxflag to inject additional compilation
3529 option in the nmake build system.
3530
35312005-09-20 Petr Ovtchenkov <complement@users.sourceforge.net>
3532
3533 * test/unit/ptrspec_test.cpp: gcc 2.95 fail to roll out template instantiation
3534 for pointers to member function, skip this test for gcc 2.95.
3535
3536 * build/Makefiles/gmake/gcc.mak: gcc 2.95 has no -fuse-cxa-atexit option.
3537
3538 * build/lib/gcc.mak: don't use LEAK_PEDANTIC with gcc 2.95 [but this not help,
3539 segfault at program termination still happens].
3540
3541 * stlport/config/stl_gcc.h: gcc 2.95 has problem with llabs, so force to use
3542 _STLP_NO_VENDOR_STDLIB_L; 2.95 fails to initialize builtin types.
3543
3544 * stlport/stl/_cmath.h: workaround for gcc 2.95---it has problem with 'using'
3545 directive [problem with 'abs' with float types as argument].
3546
3547 * stlport/stl/type_traits.h: workaround for gcc 2.95 [parentheses around
3548 template argument]. Thanks Thomas Kho.
3549
3550 * test/unit/fstream_test.cpp: custom facet test compilation fail for gcc 2.95
3551
3552 * build/Makefiles/gmake/icc.mak, build/test/unit/icc.mak: support icc 9.0,
3553 thanks John Fisher-Ogden and Thomas Kho.
3554
3555 * src/c_locale_glibc/c_locale_glibc2.c: use newlocale/freelocale for
3556 glibc 2.3.x, and __newlocale/__freelocale for glibc 2.2.x. Thanks Gail Baker.
3557
35582005-09-19 Francois Dumont <dums@stlport...>
3559
3560 * build/Makefiles/nmake/clean.mak, lib/clean.mak, app/clean.mak: Add check
3561 for file or folder existance before calling del or rd to avoid error
3562 messages that give a bad feed back to STLport users.
3563
3564 * build/Makefiles/gmake: Add support to use the GNU make tool in a Windows
3565 cmd console. For the moment it is used to build STLport using a simple
3566 MinGW distrib.
3567
3568 * stlport/stl/type_traits.h: Simplified code removing the _IsConvertibleIfNot
3569 that has never proved of being useful, it only introduces problem with some
3570 limited compilers.
3571
3572 * stlport/stl/_string_workaround.h, _string.h, debug/_string.h: Fix string
3573 range constructor bug in the VC6 specific workaround implementation that was
3574 resulting in a memory leak. Thanks Felix Wyss report.
3575
35762005-09-18 Petr Ovtchenkov <complement@users.sourceforge.net>
3577
3578 * stlport/stl/_hash_fun.h: add hash function for void *.
3579
3580 * src/facets_byname.cpp, src/message_facets.h: introduce map between
3581 nl_catd type [that is void * on Linux] and messages_base::catalog
3582 [that is int by Standard]; this should remove problems on platforms
3583 where sizeof(int) < sizeof(void *).
3584
35852005-09-16 Francois Dumont <dums@stlport...>
3586
3587 * stlport/cwchar: Add MinGW 3.8 runtime wide-char to multi-byte functions
3588 import within STLport namespace thanks Rene Riviera.
3589
35902005-09-14 Francois Dumont <dums@stlport...>
3591
3592 * stlport/config/stl_gcc.h: Mingw support string wide functions thanks
3593 Rene Riviera report.
3594
35952005-09-13 Petr Ovtchenkov <complement@users.sourceforge.net>
3596
3597 * stlport/stl/_thread.h: fix return type specification
3598 [volatile void * -> void *].
3599
36002005-09-12 Francois Dumont <dums@stlport...>
3601
3602 * stlport/stl/_thread.h: Fix _Atomic_swap_ptr implementation in single
3603 threaded mode and when there is no pointer atomic swap operation.
3604
3605 * stlport/stl/_site_config.h: Add _STLP_NO_CYGWIN macro to signal use
3606 of the -mno-cygwin cygwin option.
3607
3608 * build/lib/configure: Remove automatic generation of stlport/script_config.h.
3609
36102005-09-11 Petr Ovtchenkov <complement@users.sourceforge.net>
3611
3612 * build/Makefiles/gmake/sysid.mak: provide identification hosted platform.
3613
3614 * build/Makefiles/gmake/targetdirs.mak: CygWin/MinGW has no /usr/bin/test,
3615 but built-in test support -e; see record 2005-09-04.
3616
3617 * build/Makefiles/top.mak: separate hosted platform and target platform
3618 file extentions, tools, utilites.
3619
3620 * build/Makefiles/gmake/?/sys.mak, build/Makefiles/gmake/?/targetsys.mak:
3621 ditto.
3622
36232005-09-09 Francois Dumont <dums@stlport...>
3624
3625 * src/c_locale_win32.c: Fix _Locale_wchar_[tolower,toupper] implementation
3626 which was wrong when wint_t was not the same typedef as wchar_t.
3627
3628 * build/lib/configure: Removed obsolete configure options --with-msvc and
3629 --with-mssdk. And --no-cygwin option to make build of STLport using -mno-cygwin
3630 option easier.
3631
3632 * stlport/script_config.h: New header used to put additionnal macros defined
3633 by the configure script.
3634
3635 * stlport/stl/_config.h: Add script_config.h include.
3636
3637 * stlport/config/stl_gcc.h: Use of the new _STLP_NO_CYGWIN macro to set
3638 the right _STLP_NATIVE_INCLUDE_PATH macro value.
3639
3640 * build/Makefiles/gmake/gcc.mak: Change CC and CXX assignment from := to
3641 ?= to take into account an already existing definition.
3642
36432005-09-07 Francois Dumont <dums@stlport...>
3644
3645 * build/Makefiles/gmake: Adopt a more traditionnal unixes naming
3646 convention for cygwin and mingw.
3647
3648 * build/Makefiles/nmake: Attempt to make STLport library names more
3649 coherent between unixes and windows systems. Now windows use the 5.0
3650 extension like under unixes even if under unixes the file extension
3651 is before the 5.0 and under windows it will be after. The other
3652 difference is that the debug suffix is 'g' when using gcc and 'd' for
3653 the other compilers. This modification comes from a work to improve
3654 STLport integration within boost build system, bjam.
3655
3656 * stlport/config/stl_msvc.h: Modify MSVC auto link feature to reflect
3657 above modifications.
3658
36592005-09-06 Francois Dumont <dums@stlport...>
3660
3661 * stlport/config/stl_gcc.h: Fix cygwin config that do have native
3662 mbstate_t definition.
3663
36642005-09-05 Petr Ovtchenkov <complement@users.sourceforge.net>
3665
3666 * repository: RC5, tag STLPORT_5_0_RC5
3667
36682005-09-04 Petr Ovtchenkov <complement@users.sourceforge.net>
3669
3670 * build/Makefiles/gmake/targetdirs.mak: in sh's built-in 'test' no -e
3671 option on Solaris, use external 'test' instead.
3672
3673 * build/test/unit/gcc.mak: Fix LDSEARCH recursive problem; fix
3674 options for ld search path for some platforms.
3675
3676 * stlport/cstdlib, stlport/stl/_cmath.h: fix usage of native
3677 ?f and ?l math functions on Solaris; hypot for long double should't
3678 loose precision, if no native C function present.
3679
36802005-09-02 Francois Dumont <dums@stlport...>
3681
3682 * stlport/config/stl_msvc.h, stl/_move_construct_fwk.h: Add the
3683 _STLP_NO_MOVE_SEMANTIC configuration macro to remove move semantic
3684 support for MSVC .Net 2002 that seems to be unable to support it.
3685 Maybe we should rather remove this compiler version support...
3686
3687 * test/unit/mvctor_test.cpp: Add _STLP_NO_MOVE_SEMANTIC check.
3688
36892005-08-31 Francois Dumont <dums@stlport...>
3690
3691 * build/Makefiles/nmake: Enhance nmake build system to correctly take
3692 into account the .manifest files generated by VS 2005 Beta.
3693
36942005-08-29 Petr Ovtchenkov <complement@users.sourceforge.net>
3695
3696 * CVS repository: CVS repository master copied from cvs.stlport.com to SourceForge.
3697 All history preserved!
3698
36992005-08-27 Francois Dumont <dums@stlport...>
3700
3701 * stlport/stl/_hashtable.h: Fix move feature integration for the hash_multimap
3702 container.
3703
3704 * stlport/stl/_deque.h: Fix _Deque_base move constructor implementation.
3705
3706 * test/unit/mvctor_test.cpp: Change move constructor tests to use dynamically
3707 allocated string rather than static ones.
3708
3709 * build/test/unit/nmake-vc6.mak: Increase compiler maximum heap size to allow
3710 compilation with stldbg rules.
3711
3712 * build/test/unit/nmake-evc4.mak: Fix macro typo OPT_STLDBG_STATIC ->
3713 OPT_STATIC_STLDBG
3714
3715 * build/Makefiles/gmake/gcc.mak: Filter out the newly added -fuse-cxa-atexit
3716 compilation option for Cygwin and Mingw, the granted libc is not compatible
3717 with it.
3718
37192005-08-26 Petr Ovtchenkov <ptr@island...>
3720
3721 * stlport/config/stl_solaris.h: C++ comments replaced by C ones,
3722 this file may be included by C sources. Thanks Matti Rintala.
3723
37242005-08-25 Francois Dumont <dums@stlport...>
3725
3726 * stlport/stl/_config.h, _epilog.h: Move of stlport namespace alias
3727 definition from _epilog.h to _config.h to avoid redefinition as _epilog.h
3728 is reentrant. This is a workaround for a HPUX aCC compiler bug reported
3729 by Baker.
3730
37312005-08-25 Petr Ovtchenkov <ptr@island...>
3732
3733 * build/Makefiles/gmake/gcc.mak: usage of -fuse-cxa-atexit strongly
3734 required for correct order of static objects dtors calls. This is
3735 used in deinitialization of locale-related objects. Thanks Matti Rintala.
3736
3737 * stlport/stl/_config.h: use different namespaces for mulithreaded
3738 and non-multithreaded builds to avoid usage of non-multithreaded
3739 application with multithreaded libstlport and vice versa;
3740 [combination non-mt & mt lead to crash due to different instances
3741 and sizes of allocators for non-mt and mt cases].
3742
37432005-08-23 Francois Dumont <dums@stlport...>
3744
3745 * stlport/stl/_config_compat.h: Add check of _STLP_NO_OWN_IOSTREAMS
3746 macro to make remove of its support more explicit thanks to a #error
3747 directive.
3748
3749 * stlport/stl/_tree.h, _hashtable.h: Now reference and pointer types
3750 are taken from the _Traits template parameter used to instanciate
3751 the class. Doing so now set::reference and hash_set::reference are
3752 const_reference which is coherent with respective iterators that are
3753 immutable. Moreover it fixes a VC6 bug in reverse_iterator implementation
3754 that was trying to transform a const reference to a simple reference
3755 thanks Russell Miller report.
3756
3757 * test/unit/set_test.cpp: New test case for set reverse_iterator.
3758
37592005-08-23 Petr Ovtchenkov <ptr@island...>
3760
3761 * stlport/config/stl_gcc.h: seems HP-UX has no *f variants of math
3762 functions [ceilf, fabsf, etc.]
3763
37642005-08-21 Francois Dumont <dums@stlport...>
3765
3766 * stlport/stl/_string.h, _rope.h: Removed __move_traits specialization
3767 for string wstring crope and wrope. There is no reason to believe that
3768 its move construtor will be complete as an STLport user has the right
3769 to specialized the std::allocator<> with char or wchar_t.
3770
3771 * stlport/stl/_function_base.h, _alloc.h: Generalized use of the
3772 __stlport_class struct rather than introducing a new helper type
3773 (__stlport_less or __stlport_alloc) when we need to recognize STLport
3774 implementation from a user one.
3775
37762005-08-20 Francois Dumont <dums@stlport...>
3777
3778 * stlport/stl/_list.h, _slist.h: Fix move constructor implementation
3779 thanks Henrik Goldman (www.x-formation.com) report.
3780
3781 * stlport/stl/_alloc.h: Fix type_traits specialization for allocator
3782 type. Now specialization is only apply for the default STLport allocator
3783 implementation and not for potential user specialization.
3784
3785 * stlport/stl/_deque.h, _hashtable.h, _string.h, _tree.h, _vector.h:
3786 Simplification of the move framework application especially in the
3787 definition of the containers __move_traits specialization. Many
3788 _AsMoveSource call replaced by explicit call to the move constructor
3789 when we are sure that there is one.
3790
3791 * test/unit/mvctor_test.cpp: Add many tests to check move contructor
3792 implementations.
3793
3794 * stlport/stl/_function_base.h: Add type_traits specialization for the
3795 less functor to help the move framework when dealing with associative
3796 containers.
3797
3798 * test/unit/mvctor_test.cpp: Add a new test case checking correct move
3799 semantic support for all STL containers.
3800
3801 * stlport/stl/_rope.h: Add move semantic support to the rope class.
3802
38032005-08-19 Petr Ovtchenkov <ptr@island...>
3804
3805 * build/Makefiles/gmake/gcc.mak: fix extraction of gcc version.
3806 Thanks Thomas Kho.
3807
38082005-08-18 Francois Dumont <dums@stlport...>
3809
3810 * stlport/stl/_deque.c: Fix _M_erase range for movable types method
3811 implementation, same bug as below in vector.
3812
3813 * test/unit/mvctor.cpp: Improve test case on vector to reveal bug
3814 below and add same tests for deque which is the other container that
3815 use the move contructor feature.
3816
38172005-08-18 Petr Ovtchenkov <ptr@island...>
3818
3819 * INSTALL: add some words about multithread options and libraries.
3820
3821 * stlport/stl/_fstream.c: some code clean to reduce bogus compiler
3822 warnings with -Wall.
3823
3824 * stlport/config/stl_gcc.h: seems HP-UX has no llabs and lldiv.
3825
38262005-08-17 Francois Dumont <dums@stlport...>
3827
3828 * stlport/stl/_vector.h: Fix _M_erase range for movable types
3829 implementation thanks Sergej Zagursky.
3830
3831 * build/Makefiles/nmake/vc8.mak: removed /RTC1 compiler option, the platform
3832 SDK compiler do not support it. STLport users will just have to activate it
3833 by themself if they want to.
3834
3835 * stlport/stl/_complex.h: Fix some floating point literals thanks
3836 Ulrich Eckhardt report.
3837
3838 * stlport/stl/_time_facets.c: Complete integration of the '#' MS extension
3839 in the date/time format string, reported thanks to the recent locale time_get
3840 new test case.
3841
38422005-08-14 Francois Dumont <dums@stlport...>
3843
3844 * stlport/config/stl_msvc.h: Fix platform SDK compiler config, even latest
3845 version that announce to be similar to .Net 2005 beta do not throw bad_alloc
3846 from the new operator.
3847
3848 * stlport/cstdio, cstdlib: Replaced some _WIN64 checks by a
3849 _STLP_USING_PLATFORM_SDK_COMPILER check.
3850
3851 * test/unit/cmath_test.cpp: Complete test filtering for Microsoft platform SDK
3852 compiler.
3853
38542005-08-14 Petr Ovtchenkov <ptr@island...>
3855
3856 * test/unit/locale_test.cpp: tests for time_get facet.
3857
3858 * stlport/stl/_time_facets.c: fix processing of %p format
3859 [12:00 PM ~ 12:00, 12:00 AM ~ 00:00].
3860
3861 * src/time_facets.cpp: substitute expanded equivalent format strings
3862 instead of %T, %R, %r.
3863
3864 * stlport/pthread.h: Fix C++ comment in a potentially C header. Thanks Ali
3865
38662005-08-11 Francois Dumont <dums@stlport...>
3867
3868 * stlport/stl_user_config.h: Add _STLP_USING_PLATFORM_SDK_COMPILER so that
3869 STLport user can signal they are using platform SDK compiler.
3870
3871 * stlport/config/stl_msvc.h: Add use of _STLP_USING_PLATFORM_SDK_COMPILER.
3872
3873 * test/unit/cmath_test.cpp, valarray_test.cpp: Removed tanh calls when using
3874 AMD 64 platform SDK compiler, looks like they miss something...
3875
38762005-08-09 Francois Dumont <dums@stlport...>
3877
3878 * src/fstream.cpp: Final fix of basic_filebuf::open method. Now when open
3879 from a Win32 handle the file will be considered as in binary access with no
3880 append action.
3881
38822005-08-08 Francois Dumont <dums@stlport...>
3883
3884 * src/fstream.cpp: Fix annoying 64 warning and basic_filebuf::open method
3885 from a low level file descriptor or from an HANDLE (not yet complete).
3886 Thanks Yves Maliet report.
3887
38882005-08-07 Francois Dumont <dums@stlport...>
3889
3890 * test/unit/inner_product.cpp: Fix 64 bits portability warning.
3891
3892 * test/unit/cmath_test.cpp: Removed modf tests for Windows 64 platform
3893 as the SDK is missing the underlying modff implementation.
3894
3895 * stlport/cstdlib: Add a div function definition which is missing in the
3896 Windows 64 SDK.
3897
3898 * stlport/cstdio: Add vsnprintf definition which is missing in Windows
3899 64 SDK.
3900
3901 * stlport/exception: Add flexibility for definition of vendor terminate
3902 and uncaught_exception function namespace. Can now be defined independantly
3903 of the unexpected_exception namespace.
3904
3905 * src/dll_main.cpp: Removed explicit turn off of optimization for Microsoft
3906 compilers after .Net 2003. There were no comment to explain why optimizations
3907 were turned off so I guess it was a compiler bug. .Net 2003 being a major
3908 new version I hope this bug has vanish with this version.
3909
3910 * src/fstream.cpp: Removed static assertion for windows file handle to be 32
3911 bits. Under Windows 64, even if the API is still 32 bits handles are still
3912 defined as void*. We will see when code will run under a real Windows 64 platform
3913 if it is a problem.
3914
3915 * stlport/config/stl_msvc.h: Add configuration for Windows 64 Platform SDK.
3916 Expecially add automatic link to bufferoverflowU.lib to avoid modification
3917 of STLport build system and STLport users projects.
3918
39192005-08-06 Petr Ovtchenkov <ptr@island...>
3920
3921 * src/c_locale_glibc/c_locale_glibc2.c: add explicit type conversion
3922 to avoid warnings on 64-bits platforms; thanks Thomas Kho and
3923 Karol Szkudlarek for report.
3924
39252005-08-05 Francois Dumont <dums@stlport...>
3926
3927 * stlport/stl/_valarray.h: Add missing _debug.h header inclusion for
3928 _STLP_ASSERT macro definition.
3929
3930 * stlport/stl/debug/_hashtable.h: Fix typo in hashtable move constructor.
3931 Thanks arabesc report.
3932
39332005-08-05 Petr Ovtchenkov <ptr@island...>
3934
3935 * doc/FAQ: some words about cross-compilation.
3936
39372005-08-04 Francois Dumont <dums@stlport...>
3938
3939 * stlport/stl/_hashtable.c: Fix erase(range) implementation thanks
3940 arabesc.
3941
3942 * test/unit/hash_test.cpp: Add new test for previous fix.
3943
39442005-08-04 Petr Ovtchenkov <ptr@island...>
3945
3946 * stlport/csetjmp: sometimes, if native setjmp.h was included first,
3947 the setjmp functions situated in global namespace, not in vendor's
3948 std. This may confuse following csetjmp.
3949
3950 * test/unit/setjmp_header_test2.cpp: test for this.
3951
3952 * build/test/unit/Makefile.inc: ditto.
3953
39542005-08-03 Francois Dumont <dums@stlport...>
3955
3956 * INSTALL document updated to signal no longer support of the
3957 'wrapper' mode.
3958
39592005-08-02 Petr Ovtchenkov <ptr@island...>
3960
3961 * stlport/stl_user_config.h, stlport/stl/_site_config.h:
3962 fix some obsolete comments.
3963
39642005-07-31 Petr Ovtchenkov <ptr@island...>
3965
3966 * test/unit/math_aux.h, cmath_test.cpp: are_equals moved into
3967 math_aux.h to reuse in other tests.
3968
3969 * test/unit/sstream_test.cpp: check input to float, inspired by
3970 Jeff Williams.
3971
39722005-07-27 Francois Dumont <dums@stlport...>
3973
3974 * stlport/iomanip, stl/_algo.h: Removed some persistent occurences
3975 of __in and __out keywords reserved by Microsoft.
3976
3977 * stlport/stl/_pthread_alloc.c: Fix annoying warning reported by gcc.
3978
3979 * stlport/config/stl_msvc.h: Fix _STLP_VENDOR_UNEXPECTED_STD macro
3980 definition to empty rather than '1'. Could have produce a compilation
3981 error with compilers like Intel C++ used with the VC6 native Standard
3982 library.
3983
3984 * stlport/queue, stl/_ctraits_fns.h, _hashtable.h, _numeric.h, _string.h
3985 _tree.h: Fix macro guards used to avoid inclusion of _function.h or
3986 _function_base.h or functional thanks Dinesh Monga report.
3987
39882005-07-26 Petr Ovtchenkov <ptr@island...>
3989
3990 * doc/FAQ: description of pseudo-leaks, thanks Michael Fink.
3991
3992 * STLport (repository): STLport 5.0 RC4
3993
39942005-07-25 Francois Dumont <dums@stlport...>
3995
3996 * stlport/config/stl_evc.h: Move _DEBUG definition fix up before
3997 stl_msvc.h inclusion to have correct library link automatically.
3998 Thanks Michael Fink.
3999
40002005-07-24 Francois Dumont <dums@stlport...>
4001
4002 * stlport/stl/_string.c, _rope.c: Add instanciation of npos for all
4003 compilers thanks Simon.
4004
4005 * test/unit/string_test.cpp: Add creation of a reference to string::npos
4006 to force compiler to generate memory for it. Used to reveal a link error.
4007
4008 * test/unit/cppunit/cppunit_mini.h: Removed redondant semi column in
4009 CPPUNIT_TEST_SUITE_REGISTRATION macro definition.
4010
4011 * stlport/config/stl_msvc.h, stl_intel.h: Concidering that compilers
4012 emulating MSVC compilers use the same native Standard Library headers
4013 macros _STLP_NEW_PLATFORM_SDK and _STLP_NO_VENDOR_STDLIB_L has been moved
4014 outside the _STLP_MSVC scope. _STLP_GLOBAL_NEW_HANDLER is now defined
4015 only for Intel compiler versions before 9.0.
4016
4017 * stlport/cstdlib, stl/_cmath.h: Because of the previous remark about
4018 emulators of MSVC using MSVC headers, macro checks for global definition
4019 of C math functions has been changed from _STLP_MSVC to _MSC_VER.
4020
40212005-07-23 Michael Fink <vividos@users.sourceforge...>
4022
4023 * test/unit/locale_test.cpp: Added creating locale pointer in
4024 test_supported_locale() when no exception handling is available.
4025
4026 * src/stlport.rc: Added version info defines when not available through
4027 windows.h. Happens on evc3 MIPS and evc3 SH3.
4028
40292005-07-23 Francois Dumont <dums@stlport...>
4030
4031 * stlport/stl/_string_sum.h: Fix missing return statement in a compare
4032 method.
4033
40342005-07-22 Francois Dumont <dums@stlport...>
4035
4036 * stlport/stl/_algo.c: Fix search_n implementation for random access
4037 iterator thanks Jim Xochellis
4038
4039 * test/unit/algo_test.cpp: Add test case for the previous bug thanks
4040 Michael Fink.
4041
4042 * src/num_get_float.cpp: Fix gcc Mingwin and Cygwin special version with
4043 building with -O2 option.
4044
4045 * build/Makefiles/gmake/gcc.mak: Add -D_REENTRANT definition for cygwin and
4046 -mthreads for mingwin platform to make STLport thread safe like under the
4047 other supported platforms.
4048
40492005-06-30 Petr Ovtchenkov <ptr@island...>
4050
4051 * stlport/wchar.h, src/c_locale.c, stlport/stl/_threads.h: fix Netware
4052 wcs... functions.
4053
40542005-06-30 Francois Dumont <dums@stlport...>
4055
4056 * stlport/stl/_rope.h, _rope.c: Duplicate basic_string::npos definition code
4057 in rope implementation to use a "Standard" static const npos definition when
4058 possible depending on the compiler features. Thanks caldwed report.
4059
40602005-06-30 Michael Fink <vividos@users.sourceforge...>
4061
4062 * stlport/cstdlib, stdlib.h: Fixed issue with including stdlib.h after
4063 setjmp.h; fix from 2005-06-23 wasn't solving the problem.
4064
40652005-06-28 Francois Dumont <dums@stlport...>
4066
4067 * stlport/stl/_hash_func.h: For MSVC .Net compiler we grant the hash<size_t>
4068 specialization rather than the hash<unsigned int> one to avoid 64 bits
4069 warnings when instanciating a hashed container with the size_t key.
4070
4071 * stlport/stl/_istream_iterator.h: Modify istream_iterator implementation
4072 to avoid the default read from the istream even if the istream_iterator
4073 instance is not used.
4074
4075 * test/unit/istmit_test.cpp: Add many tests for the copy_n/istream_iterator
4076 combination. Those tests are no active for the moment as they are failing,
4077 will be fixed after 5.0 release.
4078
4079 * build/test/unit/nmake-vc-common.mak: Tests are no more built with the
4080 _STLP_NO_CUSTOM_IO option, see reason below.
4081
4082 * test/unit/fstream_test.cpp: Add custom_facet test to check that STLport
4083 support instanciation of basic_fstream with something else that the std::char_traits
4084 For the moment the test fail when we try to use the stream for I/O operations
4085 should be fixed after 5.0 release.
4086
40872005-06-27 Francois Dumont <dums@stlport...>
4088
4089 * src/locale_impl.cpp: Fix locale implementation to avoid to call facet
4090 destructor when user explicitely required not to do so.
4091
4092 * stlport/stl/_fstream.c: Fix _M_setup_codecvt method implementation to avoid
4093 a bad_cast exception on basic_filebuf construction. At this point the locale
4094 used to instanciate it is the classic locale that might not have the necessary
4095 codecvt facet. The user is then force to call imbue after basic_filebuf
4096 construction otherwise I/O operations will fail. When imbue is invoked, if
4097 the locale still do not have the necesary facet, the stream is put in the fail
4098 state. Thanks Alexander Pototskiy
4099
41002005-06-26 Francois Dumont <dums@stlport...>
4101
4102 * stlport/stl/_config_compat.h: Add _STLP_OWN_IOSTREAMS macro for backward
4103 compatibility with library checking it.
4104
41052005-06-23 Francois Dumont <dums@stlport...>
4106
4107 * src/complex.cpp, complex_trig.cpp, complex_exp.cpp: Removed code
4108 duplication between float, double and long double version thanks to
4109 some template functions. Thanks an Ulrich Eckhardt idear.
4110
4111 * stlport/cstdlib, stl/stdlib.h: Michael Fink patch to avoid setjmp.h
4112 inclusion problem as stdlib.h contains a setjmp macro definition.
4113
4114 * test/eh/main.cpp: Redirection of std::cout and std::cerr for WinCE
4115 thanks Michael Fink
4116
4117 * stlport/config/stl_evc.h: Restore long double support for WinCE, there
4118 is just no *l math functions. Only define _STLP_NATIVE_INCLUDE_PATH
4119 if not already defined, giving the user a chance to override the defaults
4120 for yet unknown SDKs. Thanks Michael Fink and Ulrich Eckhardt.
4121
4122 * build/Makefiles/nmake/evc3.mak, evc4.mak: removed unneeded set of CC
4123 for SHx; already done by setup batch. Thanks Michael Fink.
4124
41252005-06-21 Francois Dumont <dums@stlport...>
4126
4127 * stlport/stl/_ios.h, _ios_base.h, _num_get.c, _num_put.c, _complex.c,
4128 _istream.c, _time_facets.c: Fix cast expression for the cached facets,
4129 C casts replaced by static_cast and const added when missing.
4130 Thanks Oliver Stoeneberg report.
4131
4132 * test/unit/unary.h: Replaced old STLport with new style ones. Get sqrt
4133 function in global namespace rather than forcing use of the one in std
4134 namespace, avoids ambiguity with VC6.
4135
4136 * test/unit/resolve_name.cpp: Add _STLP_DO_IMPORT_CSTD_FUNCTIONS definition
4137 at the top of it to force import of C symbols in std even for limited
4138 compilers like VC6.
4139
4140 * stlport/stl/_valarray.h: Add global namespace scope to C function calls
4141 to avoid VC6 ambiguity problem.
4142
41432005-06-20 Francois Dumont <dums@stlport...>
4144
4145 * stlport/config/stl_gcc.h: Fix gcc 3.4.4 detection under cygwin thanks
4146 Ulrich Eckhardt report.
4147
4148 * stlport/stl/c_locale.h: Fix _Locale_mask_t definition for Mingwin.
4149
4150 * src/c_locale_win32/c_locale_win32.c: Add static assertion to check
4151 _Locale_mask_t size.
4152
4153 * src/complex_exp.cpp: Replaced complex log10 function static variables
4154 with global constant, avoid multithreaded init problem. Thanks Ulrich
4155 Eckhardt report.
4156
41572005-06-17 Francois Dumont <dums@stlport...>
4158
4159 * stlport/stl/_alloc.h: Add initialization of the memory buffer in
4160 allocator::allocate function and reset in allocator::deallocate to
4161 the _STLP_SHRED_BYTE motif when _STLP_DEBUG_UNINITIALIZED is defined
4162 to help track missing initialization issue.
4163
4164 * src/dll_main.cpp: Removed now useless _Node_alloc_helper class.
4165
4166 * stlport/stl/_alloc.c: Add complete cleanup of the __node_alloc static
4167 datas in the _S_chunk_dealloc method, this is important if the clean up
4168 occur before STLport shared lib is unloaded.
4169
4170 * stlport/stl/_alloc.c: Add a static instance of __node_alloc_cleaner in the
4171 _S_alloc_call method and change init number of allocation to 1 to force
4172 release of memory pool only on shared library unload.
4173
41742005-06-11 Francois Dumont <dums@stlport...>
4175
4176 * stlport/cstdlib, stl/_cmath.h: Add _STLP_NO_CSTD_FUNCTION_IMPORTS macro
4177 check before import of global C functions in STLport namespace. Required
4178 for VC6 compiler to avoid ambiguity issue.
4179
4180 * src/complex.cpp, complex_epx.cpp, complex_trig.cpp: Scope math function
4181 call with the global namespace to avoid VC6 ambiguity issue. It is safe
4182 for the other compilers as STLport do define those function in global
4183 namespace.
4184
41852005-06-10 Francois Dumont <dums@stlport...>
4186
4187 * stlport/stl/c_locale.h: Fix Cygwin configuration, separate alpha mask
4188 from lower and upper one to avoid all lower character to also be upper
4189 and opposite.
4190
4191 * src/ctype.cpp: Add static assertion to detect platform where
4192 alpha = lower | upper which is wrong for STLport use.
4193
41942005-06-10 Francois Dumont <dums@stlport...>
4195
4196 * stlport/stl/_hashtable.c: Fix max_load_factor management, Standard says
4197 that load_factor <= max_load_factor and not <; the function detecting need
4198 for rehash used to launch one even if the number of bucket do not change which
4199 was counter performant. Fix the _M_insert_noresize method that was breaking
4200 element order inserting elements in the middle of 2 equal elements.
4201 Thanks Dieter Freismuth report.
4202
4203 * stlport/config/stl_gcc.h: Fix relative include path for latest gcc cygwin
4204 package.
4205
42062005-06-10 Petr Ovtchenkov <ptr@island...>
4207
4208 * build/Makefiles/gmake/mwccnlm.mak: fix compiler version collection.
4209
4210 * build/Makefiles/gmake/netware/extern.mak: fix useful paths.
4211
4212 * src/c_locale.c: put here wrappers for some wfuncs, due to bogus
4213 system libs in Netware.
4214
4215 * stlport/cwchar: use STLport's wchar.h to take wchar_t/wint_t for
4216 Netware.
4217
4218 * stlport/wchar.h: use correct C declaration of some wfuncs, thanks
4219 again to ugly Netware libs.
4220
4221 * stlport/ciso646, stlport/iso646.h, stlport/wctype.h: headers absent
4222 for Novell Netware.
4223
4224 * stlport/cwctype: Metrowerks define __MSL__, but we don't use MSL libs
4225 if we have STLport for Netware.
4226
4227 * stlport/cstdlib: div function from Novell Netware clib and libc lead to
4228 system crash.
4229
42302005-06-08 Francois Dumont <dums@stlport...>
4231
4232 * build/test/unit: Removed references to the now useless CPPUNIT_MINI
4233 macro.
4234
4235 * test/unit/type_traits_test.cpp: Add new test case for trivial destructor
4236 detection.
4237
4238 * stlport/stl/_fstream.h: Add missing basic_fstream construction from a
4239 Win32 file handle, was already done for basic_ifstream and basic_ofstream,
4240 thanks Alex Cosealin report.
4241
42422005-06-07 Francois Dumont <dums@stlport...>
4243
4244 * build/test/unit/Makefile.inc: Fix syntax error at last line.
4245
42462005-06-06 Petr Ovtchenkov <ptr@island...>
4247
4248 * build/lib/configure: add config options for Metrowerks compiler for
4249 Novell NetWare platform [references to root of MW headers/libs and to Novell's
4250 SDK headers/libs].
4251
4252 * build/Makefiles/gmake/mwccnlm.mak: fixes for Metrowerk/NetWare.
4253
4254 * build/Makefiles/gmake/app/mwccnlm.mak: idem.
4255
4256 * build/Makefiles/gmake/netware/extern.mak: idem.
4257
4258 * build/lib/mwccnlm.mak: idem.
4259
4260 * build/test/unit/mwccnlm.mak: idem.
4261
42622005-06-03 Francois Dumont <dums@stlport...>
4263
4264 * test/unit/locale_test.cpp: Remove the very platform dependent LColl
4265 class that was listing supported locales. STLport already do so and
4266 report it using a runtime_error exception when not supported. When
4267 compiler do not support exception only the C locale is checked.
4268
4269 * build/Makefiles/nmake: Patches from Michael Fink to
4270 - check platform before linking to crtrtti.lib
4271 - check right configuration when using a nmake-evc?.mak file
4272 - update STATUS file.
4273
42742005-06-02 Francois Dumont <dums@stlport...>
4275
4276 * src/c_locale_win32/c_locale_win32.c: Add workaround for a Windows PSDK bug
4277 concerning currency international symbol, the separation character is missing.
4278
4279 * src/locale_impl.h, locale_impl.cpp: Fix implementation to make classic locale
4280 implementation a normal instance that is released when the counter reach 0, the
4281 only difference is that no delete is performed on this instance. Idem for classic
4282 locale implementation facets.
4283
4284 * stlport/cwctype: And _GLIBCPP_USE_WCHAR_T check when using GLibC as in this
4285 case wide char functions are not imported in std and must be imported from the
4286 global namespace.
4287
42882005-06-01 Francois Dumont <dums@stlport...>
4289
4290 * src/locale_impl.h, locale_impl.cpp: Change classic locale initialization
4291 implementation for limited compiler like MSVC6.
4292
42932005-06-01 Petr Ovtchenkov <ptr@island...>
4294
4295 * stlport/stl/c_locale.h: check gcc on MacOS X. Patch by Zdenek Nemec
4296
4297 * build/Makefiles/nmake/evc3.mak, evc4.mak, targets.mak:
4298 support SH3/SH4 platform. Patch by Michael Fink.
4299
4300 * build/Makefiles/nmake/app/evc3.mak, evc4.mak: ditto.
4301
4302 * build/Makefiles/nmake/lib/evc3.mak, evc4.mak: ditto.
4303
4304 * build/lib/configure.bat, src/stlport.rc: ditto.
4305
43062005-05-30 Francois Dumont <dums@stlport...>
4307
4308 * src/locale_impl.h, locale_impl.cpp, stlport/stl/_locale.h: An other pass
4309 throught the classic locale initialization. Now all needed static variables
4310 are in _Locale_impl::make_classic_locale method. Removed useless _Stl_aligned_buffer
4311 union use in this locale initialization. Removed now useless _Locale_impl::free_classic_locale
4312 method.
4313
43142005-05-30 Petr Ovtchenkov <ptr@island...>
4315
4316 * stlport/stl/_windows.h: worry about Windows CE when check Interlocked
4317 API for MIPS. Patch by Michael Fink.
4318
4319 * build/lib/configure.bat: remove the -p option by autodetecting platform.
4320 Patch by Michael Fink.
4321
4322 * build/Makefiles/nmake/evc3.mak, evc4.mak: corrects the evc4 makefiles
4323 to always use the /GF switch [string pooling]. Patch by Michael Fink.
4324
4325 * doc/README.evc3, doc/README.evc4: reflect changes above.
4326 Patch by Michael Fink.
4327
4328 * stlport/errno.h, stlport/time.h: when building for evc, including
4329 errno.h and time.h often outputs the message in the #pragma statement
4330 that including this file won't include the native one, since there is no
4331 native include file. Now the text is only output when not building the library
4332 and when the file is included directly, not via another STLport header file.
4333 [Patch by Michael Fink.]
4334
43352005-05-29 Francois Dumont <dums@stlport...>
4336
4337 * test/unit/locale_test.cpp: Add opendir returned value when listing
4338 installed locale under linux.
4339
4340 * build/Makefiles/gmake: Patch from Zdenek Nemec for Mac OS X support.
4341
43422005-05-27 Francois Dumont <dums@stlport...>
4343
4344 * src/locale_impl.cpp: Add an initialization segment specification to make
4345 global static variable ios_base::Init instance initialization prioritized
4346 compare to STLport static global variable. iostreams like cout can be used
4347 in global static variable initialization.
4348
43492005-05-26 Francois Dumont <dums@stlport...>
4350
4351 * build/Makefiles/nmake/evc4.mak: Patch from Ulrich Eckhardt to use CC
4352 environment variable defined by WCE*.bat script rather than redefining
4353 it.
4354
4355 * src/locale.cpp, locale_impl.cpp, locale_catalog.cpp: New pass to move
4356 static global variable in function to make initialization order clear.
4357
43582005-05-25 Francois Dumont <dums@stlport...>
4359
4360 * stlport/ciso646: Creation of this missing C++ standard header STLport
4361 wrapper.
4362
4363 * stlport/stl/_istream.h, _num_get.c, _algo.c, _monetary.c, _time_facets.h,
4364 _time_facets.c: Replaced occurences of __in and __out reserved by Microsoft.
4365
43662005-05-24 Francois Dumont <dums@stlport...>
4367
4368 * stlport/headers: Patch from Michael Fink to avoid inclusion of headers
4369 not available under evc3.
4370
4371 * test/unit/*_header_test.cpp: Fix tests for no iostreams mode.
4372
4373 * src/locale_impl.cpp, locale_impl.cpp: Modify implementation to force
4374 correct initialization order of static instances.
4375
4376 * stlport/strstream: Add _ioserr.h file to avoid inclusion in no iostreams
4377 mode.
4378
43792005-05-23 Petr Ovtchenkov <ptr@island...>
4380
4381 * stlport/stl/_config.h: detect endianness for Intel's 64bit Pentium and
4382 Itanium processors. Thanks Albrecht Fritzsche for contribution.
4383
43842005-05-20 Francois Dumont <dums@stlport...>
4385
4386 * build/test/eh: Patch from Michael Fink to add EVC4 support for this test
4387 suite.
4388
4389 * src/fstream.cpp: Use of Wlodek Szafran implementation for the _Filebuf_base::_M_read
4390 method which is more performant than the previous one.
4391
4392 * test/unit/fstream_test.cpp: Add of a test for the special Win32 file format.
4393
4394 * test/unit: Add of many test to check Standard C/C++ headers independancy
4395 and correct C header implementation.
4396
43972005-05-18 Francois Dumont <dums@stlport...>
4398
4399 * src/fstream.cpp: Fix buffer overflow in _Filebuf_base::_M_read method
4400 for the Win32 platform implementation thanks Wlodek Szafran report.
4401
4402 * src/c_locale_dummy/c_locale_dummy.c: Patch from Michael Fink for wrong C
4403 prototype.
4404
44052005-05-17 Petr Ovtchenkov <ptr@island...>
4406
4407 * test/unit/locale_test.cpp: some fixes in moneypunct test, related
4408 to international currency format; some problems still remains, due to
4409 unclear specifications---if international currency 3-chars abbreviation
4410 used in suffix form, additional space will be appended
4411 ['1 234.56 RUR ']. This is due to intl_fmp.curr_symbol() == "RUR ",
4412 and the last is conform to OpenGroup spec.
4413
44142005-05-16 Petr Ovtchenkov <ptr@island...>
4415
4416 * src/c_locale_stub.cpp: "stub" implemntation moved into
4417 c_locale_dummy/c_locale_dummy.c, this file removed
4418
4419 * src/c_locale.c: include c_locale_dummy/c_locale_dummy.c, in case of
4420 no real locale implementation.
4421
4422 * src/c_locale_dummy/c_locale_dummy.c: This is a "stub" implementation
4423 of the "c_locale.h" interface, intended for operating systems where
4424 we have not yet written a real implementation. A C++ library using
4425 this stub implementation is still standard-conforming, since
4426 the C++ standard does not require that any locales other
4427 than "C" be supported.
4428
4429 * build/lib/Makefile.inc: src/c_locale_stub.cpp removed.
4430
4431 * src/facets_by_name.cpp: add comments in the _Init_monetary_formats.
4432
4433 * src/c_locale_glibc/c_locale_glibc2.c: annotate some monetary-related
4434 functions.
4435
44362005-05-14 Petr Ovtchenkov <ptr@island...>
4437
4438 * build/Makefiles/gmake/aCC.mak: HP's aCC compiler and HP-UX os support.
4439 This isn't really checked and should be fixed on real system.
4440
4441 * build/Makefiles/gmake/app/aCC.mak, gmake/lib/aCC.mak: ditto.
4442
4443 * build/Makefiles/gmake/hp-ux/extern.mak, lib.mak: ditto.
4444
4445 * build/Makefiles/gmake/hp-ux/rules-install-so.mak, rules-so.mak: ditto.
4446
4447 * build/Makefiles/gmake/hp-ux/gmake/hp-ux/sys.mak: ditto.
4448
4449 * build/lib/aCC.mak: ditto.
4450
4451 * build/test/unit/aCC.mak: ditto.
4452
4453 * build/test/unit/gcc.mak: remove dbg-shared tag from default build;
4454 if you need unit tests with debug info and without _STLP_DEBUG, make this
4455 tag explicitly.
4456
44572005-05-14 Francois Dumont <dums@stlport...>
4458
4459 * stlport/stl/_config.h, _config_compat_post.h, _cwchar.h, _epilog.h:
4460 Patch from Albrecht Fritzsche to remove C++ comment from files accessible
4461 by a pure C compiler.
4462
4463 * stlport/stl/c_locale.h: idem.
4464
4465 * src/c_locale.h, c_locale_glibc/c_locale_glibc2.h: idem.
4466
4467 * src/gcc_localeinfo.h, c_locale_win32/c_locale_win32.c: idem.
4468
4469 * build/Makefiles/gmake/gcc.mak: Add the -ansi option to the C compiler
4470 command to know if any regression occur concerning use of C++ comment
4471 in C files.
4472
44732005-05-13 Francois Dumont <dums@stlport...>
4474
4475 * src/c_locale_win32/c_locale_win32.c: Improve the locale name recognition
4476 system to be more unix compliant. Now you can pass locale name like
4477 lang_country[.codepage] with lang being one of the ISO 639 values and
4478 country one of the ISO 3166 ones.
4479
4480 * test/unit/locale_test.cpp: Add a test case for the ctype facet.
4481
4482 * test/unit/locale_test.cpp: Now list all the installed locales under
4483 Win32 to test more locale than the simple french one.
4484
4485 * stlport/config/stl_msvc.h: Removed _WINDLL macro check when trying
4486 to guess what type of library (dynamic/static) the STLport user want
4487 to link with. _WINDLL is defined when generating a dll but it do not
4488 imply anything on the user wish.
4489
4490 * src/ctype.cpp: Improve the ctype::scan_is method, you can now scan
4491 for a character conforming to several ctype_base::mask and not only to one.
4492
4493 * src/ctype.cpp: Idem previous for ctype::scan_not which returns the first
4494 character that do not conform to any of the passed mask.
4495
4496 * test/eh: Restore exception handling test suite. Removed some equality
4497 tests that is no more valid for hash containers, this kind of test
4498 is better in the unit tests. Add makefiles for MSVC compilers.
4499
4500 * stlport/stl/_tree.c: Fix _M_insert method that was leaking in case of
4501 exception thrown by the comparison operator, reported by eh tests.
4502
45032005-05-09 Francois Dumont <dums@stlport...>
4504
4505 * stlport/stl/_ctype.h, src/ctype.cpp: Reenforce data encapsulation of the
4506 ctype<char> template specialization class. class static arrays
4507 _S_upper, _S_lower, _S_classic_table removed from the definition and hiden
4508 in the .cpp file.
4509
4510 * src/dll_main.cpp: Change _STLP_UNIX macro check in _STLP_PTHREADS check
4511 as per thread allocator is only supported if the Posix pthread API is used,
4512 thanks a Albrecht Fritzsche remarked.
4513
45142005-05-07 Francois Dumont <dums@stlport...>
4515
4516 * stlport/config/stl_gcc.h: Patch from John Smith for Mac OS X support.
4517
4518 * test/unit/locale_test.cpp: Idem previous.
4519
4520 * build/Makefiles/gmake/cygming/lib.mak, sys.mak: Import lib extension
4521 change from .lib to .dll.a for Mingw like under Cygwin. ld linker
4522 looks for .dll.a before .lib, avoid conflict with Cygwin lib.
4523
45242005-05-07 Petr Ovtchenkov <ptr@island...>
4525
4526 * stlport/errno.h: use C++ 'using' construction only for C++. Thanks Gary.
4527
4528 * build/Makefiles/gmake/lib/gcc.mak: option for libname for Darwin.
4529
4530 * build/Makefiles/gmake/app/mwccnlm.mak: build for Novell NetWare 5
4531 with MetroWerks 7 and 8 compilers.
4532
4533 * build/Makefiles/gmake/lib/mwccnlm.mak: ditto
4534
4535 * build/lib/mwccnlm.mak: ditto
4536
4537 * build/Makefiles/gmake/mwccnlm.mak: ditto
4538
4539 * build/Makefiles/gmake/netware/extern.mak: ditto
4540
4541 * build/Makefiles/gmake/netware/lib.mak, sys.mak: ditto
4542
4543 * src/_stdio_file.h, num_get_float.cpp, num_put_float.cpp: ditto
4544
4545 * stlport/cstdio, cwchar, cwctype, stdio.h, wchar.h: ditto
4546
4547 * stlport/config/stl_mwerks.h: ditto
4548
4549 * stlport/stl/_config.h, _fstream.h, _hashtable.c, _sstream.c: ditto
4550
4551 * stlport/stl/_threads.h, c_locale.h, char_traits.h: ditto
4552
4553 * build/Makefiles/gmake/sysid.mak: treat mwccnlm as cross-compiler,
4554 set correct TARGET_OS and OS-related macros.
4555
4556 * stlport/stl/_valarray.h: remove exhaustive this->.
4557
45582005-05-04 Francois Dumont <dums@stlport...>
4559
4560 * stlport/config/stl_msvc.h: Change configuration for MSVC .Net 2003 and
4561 2005 that seems to have a bug in the namespace management.
4562
4563 * stlport/stdlib.h: Add errno.h inclusion from this file for gcc mingw
4564 as this compiler version do define errno macro in stdlib.h as MSVC do.
4565
45662005-05-03 Francois Dumont <dums@stlport...>
4567
4568 * stlport/stl_user_config.h, stl/_site_config.h, config/stl_gcc.h, _prolog.h,
4569 _epilog.h: Use strict Ansi C comments (/**/) for headers accessible thought
4570 the STLport C headers.
4571
4572 * stlport/C headers: Cleaned from C++ style comments.
4573
45742005-05-02 Francois Dumont <dums@stlport...>
4575
4576 * build/Makefiles/nmake/vc-common.mak: Restore of LDFLAGS_A_REL introduce
4577 the 2004-10-30 and lost the 2005-04-16, it avoids warning due to use
4578 of the whole program optimization with VC.Net 2003 and 2005.
4579
4580 * stlport/stl/_string_io.c: Modification of the basic_string i/o operators
4581 in the way it deals with the size_type and streamsize difference; it is
4582 equivalent with the former one but do not generate warning with gcc
4583 (mingwin).
4584
4585 * stlport/stddef.h, stdlib.h, errno.h: Fix issue under MSVC compilers where
4586 native stdlib.h and stddef.h are defining errno macro without including
4587 errno.h forbiding STLport to do so. Now errno.h will report this problem with
4588 an explicit #error.
4589
4590 * test/unit/test_errno.cpp: Improvement of the test to reveal the previous
4591 issue.
4592
45932005-05-02 Petr Ovtchenkov <ptr@island...>
4594
4595 * makesystem (repository): restore experimental support of MetroWerks
4596 compiler for NetWare, with help of GNU make and Cygwin environment.
4597
45982005-04-29 Francois Dumont <dums@stlport...>
4599
4600 * stlport/stl/_time_facets.c: gcc warnings reveal that we were missing some
4601 ctype::widen method call to compare things like month or day names.
4602 Also simplified implementation of the __match and __get_formatted_time that
4603 do not really need all the template parameters passed to it.
4604
4605 * stlport/stl/_num_put.c: Add a cast to make call to the function min more
4606 clear, it will perhaps help EVC++ builds correctly.
4607
4608 * src/strstream.cpp, stlport/stl/_sstream.c: Removed static assertion
4609 replaced by modified implementation that takes into account the difference
4610 between size_t and streamsize.
4611
46122005-04-28 Francois Dumont <dums@stlport...>
4613
4614 * test/unit/limits_test.cpp: Improve integral types limit test for type
4615 of unknown sign. In this case we check the min value of this integral type,
4616 if 0 the type is unsigned. Moreover we check, except for the bool type,
4617 the sign of -1 cast to the integral type, bool is a special type that
4618 generate warning when built from -1 (MSVC).
4619
4620 * src/ctype.cpp: Creation of a small helper structure to check the validity
4621 of a wchar_t value used as an index. This helper struct takes into account
4622 the compiler representation of the wchar_t type, is it a sign type or not.
4623 This helper avoids warning when wchar_t is unsigned.
4624
4625 * src/num_get.cpp: Removed unused _Initialize_get_digit function and
4626 associated narrow_digits and narrow_xdigits arrays.
4627
46282005-04-28 Petr Ovtchenkov <ptr@island...>
4629
4630 * stlport/stl/_sstream.h, _num_put.c: __in replaced by __imode, __out
4631 by __omode or __oi due to MS privatize __in and __out. Thanks Michael Fink.
4632
46332005-04-27 Francois Dumont <dums@stlport...>
4634
4635 * src/fstream.cpp: Fix Win32-64 file stream implementation. _M_read and
4636 _M_write can now correctly handle respectively read and write of really
4637 big buffers ( > 2Go)
4638
4639 * using/iosfwd.h, stlport/strstream.h, stl/_rope.h, _rope.c, _complex.h: Removed
4640 references to the _STLP_USE_NEW_IOSTREAMS macro, STLport only support "new"
4641 iostreams.
4642
4643 * test/unit/max_test.cpp, min_test.cpp: Add tests to check that min and
4644 max are not defined as macros.
4645
4646 * test/fstream_test.cpp: Add check in creation of test_file.txt
4647 as following tests depends on its content.
4648
4649 * src/strstream.cpp, stdio_streambuf.cpp: Fix potential issue because of
4650 the difference between streamsize and size_t of ptrdiff_t.
4651 Add static assertion to clearly specify how streamsize must be to have
4652 a correct behavior.
4653
4654 * stlport/stl/_num_put.c, _num_get.c, _fstream.c, _moneraty.c: ditto.
4655
4656 * src/ctype.cpp: Restore check on wchar_t positivity as according
4657 2005-02-22 Petr Ovtchenkov reports wchar_t can be signed.
4658
46592005-04-26 Francois Dumont <dums@stlport...>
4660
4661 * src/num_get_float.cpp: Fix mingwin support for 64bits integer type
4662 thanks Wlodek Szafran
4663
46642005-04-25 Francois Dumont <dums@stlport...>
4665
4666 * stlport/stl/_time_facets.c: Fix __pos type in __match function and removed
4667 unused __max_pos definition and initialisation.
4668
4669 * src/c_locale_win32/c_locale_win32.c: Add some cast to remove warnings.
4670
4671 * stlport/stl/_moneraty.c: Fix __witdh definition to use streamsize rather
4672 than size_t to avoid warnings.
4673
46742005-04-25 Petr Ovtchenkov <ptr@island...>
4675
4676 * build/test/gcc.mak: workaround for [bug?] gmake, that sometimes lose
4677 increment of target-specific macro and, may be, under condition.
4678 Thanks Jeff Williams.
4679
4680 * build/Makefiles/gmake/icc.mak: add icc 8.1 compiler-specific libs
4681
4682 * build/Makefiles/gmake/icc.mak: detect icc version; add includes
4683 from compiler to include path
4684
4685 * test/unit/cppunit/test_main.cpp, cppunit_mini.h: add option -x, run all
4686 except specified CLASS::TEST.
4687
46882005-04-23 Francois Dumont <dums@stlport...>
4689
4690 * stlport/stl/_ioerr.h: #error message modification thanks Michael Fink.
4691
46922005-04-22 Francois Dumont <dums@stlport...>
4693
4694 * stlport/stl/_istream.c: Fix _M_read_buffered function implementation,
4695 there used to be a wrong implicit conversion from streamsize to ptrdiff_t,
4696 which fail when sizeof(streamsize) > sizeof(ptrdiff_t).
4697 See 2005-04-21 Petr report.
4698
4699 * test/unit/: Replaced all _STLP_NO_IOSTREAMS occurences with the STLport
4700 internal equivalent _STLP_USE_NO_IOSTREAMS. The first one is defined
4701 by the client while the second depends on the first and on the compiler
4702 abilities, makes the unit tests more portable.
4703
4704 * stlport/stl/_cmath.h: Fix for Intel C++ compiler that also have all
4705 C math functions in global namespace.
4706
47072005-04-21 Francois Dumont <dums@stlport...>
4708
4709 * stlport/stl/_hashtable.h: Extend the hashtable template methods extension
4710 to the method computing the bucket from the key thanks Dominik Siatkowski.
4711
4712 * stlport/stl/_threads.h: Disable 64 bits portability warning for
4713 MSVC compilers. MSVC do not see that the called function comes from
4714 a macro that is different under Win32 and Win64.
4715
47162005-04-21 Petr Ovtchenkov <ptr@island...>
4717
4718 * test/unit/sstream_test.cpp, fstream_test.cpp: integral type for
4719 ptrdiff_t shorter than for streamsize; this cause problem on
4720 Win32 platform, that support files larger than 4GB.
4721 Thanks Timothy Tenebekov for report.
4722
47232005-04-20 Francois Dumont <dums@stlport...>
4724
4725 * stlport/stl/debug/_debug.c: Small Borland compiler fix to avoid call to
4726 vsnprintf before version 0x550 thanks esanfo.
4727
4728 * src/dll_main.cpp: Fix bug reported by Intel C++ (icl) compiler.
4729
47302005-04-20 Petr Ovtchenkov <ptr@island...>
4731
4732 * src/num_get_float.c: use uint64_t for 64-bit, but unsigned long long
4733 for constants. This fix problem on linux x86_64 [amd64].
4734
47352005-04-16 Francois Dumont <dums@stlport...>
4736
4737 * test/unit/cppunit/test_main.cpp: Patch from Michael Fink to improve
4738 the macro filter for including windows.h (UNDER_CE rather than WIN32).
4739
4740 * build/test/unit/STATUS: Update from Michael Fink and myself.
4741
4742 * build/Makefiles/nmake: Apply Michael Fink patch to generate .pdb file
4743 even in release mode and to install them in bin and lib folders next to
4744 the .dll and .lib files.
4745
4746 * stlport/stl/_algobase.c: Add missing const in return type of the const
4747 version of find specialized for const char*.
4748
47492005-04-16 Petr Ovtchenkov <ptr@island...>
4750
4751 * stlport/stl/_algobase.c: memchr return NULL if value not found,
4752 while find() [specialization for char *] should return last
4753 [see record 2005-02-27 below]. Thanks Joshua Berne for report.
4754
4755 * test/unit/find_test.cpp: if char not found, char specialization of
4756 find() should return last, not NULL.
4757
47582005-04-14 Petr Ovtchenkov <ptr@island...>
4759
4760 * stlport/stl/_list.h, _slist.h: add this-> resolution to get_allocator
4761 [required in the member templates to resolve possible ambiguity]
4762
47632005-04-13 Francois Dumont <dums@stlport...>
4764
4765 * stlport/stl/_list.h, _slist.h: Add missing get_allocator() call when
4766 building temporary list or slist instances in insert methods.
4767
47682005-04-12 Petr Ovtchenkov <ptr@island...>
4769
4770 * stlport/errno.h: solution 2005-04-12 not useful. Simplified schema,
4771 semantically equivalent to Francois', but without extra function definition
4772 [see records 2005-03-31 and 2005-04-01]
4773
47742005-04-12 Petr Ovtchenkov <ptr@island...>
4775
4776 * stlport/errno.h: check if we undefine previously defined errno
4777
47782005-04-11 Petr Ovtchenkov <ptr@island...>
4779
4780 * stlport/errno.h: save original errno definition
4781
47822005-04-10 Petr Ovtchenkov <ptr@island...>
4783
4784 * STLport (repository): STLport 5.0 RC3
4785
47862005-04-08 Francois Dumont <dums@stlport...>
4787
4788 * test/unit/locale_test.cpp: Add __FreeBSD__ macro check for the workaround
4789 announced as Free BSD specific by the comment next to it.
4790
4791 * stlport/stl/_config.h: Add undef of _STLP_USE_DYNAMIC_LIB when in
4792 NO_IOSTREAMS mode, this macro was generating buggy code in this case
4793 for some commpilers (gcc mingwin).
4794
47952005-04-07 Francois Dumont <dums@stlport...>
4796
4797 * build/lib/nmake-vc-common.mak: Removed useless add of STLport/lib to
4798 library paths when building STLport lib.
4799
4800 * build/Makefiles/nmake/*: Removed useless specification of the MSVC default
4801 install directory, all the job is done by the vcvcars32.bat script that sets
4802 the LIB env variable to the real MSVC install directory.
4803
4804 * test/unit/unordered_test.cpp, locale_test.cpp: Removed gcc mingw warnings.
4805
4806 * build/Makefiles/nmake/icl.mak, app/icl.mak, lib/icl.mak: Removed the
4807 whole program optimization option, looks like it is confusing icl.
4808
4809 * stlport/stl/debug/*.h: Removed useless _Get_base non-const overload.
4810 In addition to being useless Intel compiler emit compilation error about it.
4811
48122005-04-06 Petr Ovtchenkov <ptr@island...>
4813
4814 * test/unit/cppunit/test_main.cpp: windows.h required here
4815 [see 2005-04-04; patch by Michael Fink].
4816
4817 * stlport/stl/_istream.h: __is replaced by __istr, due
4818 to MS privatize __is.
4819
4820 * stlport/stl/_num_get.h: __in replaced by __ii, due to MS
4821 privatize __in too.
4822
4823 * stlport/stl/_config.h: Visual C++ 8 uses _M_AMD64 to identify
4824 EM64T and AMD64 platforms [thanks Mike Roberts].
4825
48262005-04-05 Francois Dumont <dums@stlport...>
4827
4828 * stlport/config/stl_evc.h: apply patch from Michael Fink to add support for
4829 various EVC SDK.
4830
4831 * stlport/stl/_cmath.h: An other adaptation to the Intel C++ compiler.
4832
4833 * build/lib/nmake-vc-common.mak, test/unit/nmake-vc-common.mak: Removed check
4834 of STLP_BUILD_FORCE_[STATIC,DYNAMIC]_RUNTIME environment variables,
4835 moved in a common build system file.
4836
4837 * build/Makefiles/nmake/vc-common.mak: Add checks of
4838 STLP_BUILD_FORCE_[STATIC,DYNAMIC]_RUNTIME variables.
4839
4840 * build/lib/configure.bat: Add a clean option to remove the hidden
4841 Makefiles/config.mak file.
4842
4843 * stlport/stdexcept: Disable 'non dll-interface class used as base' warning
4844 when building STLport dll linked with the static runtime.
4845
48462005-04-04 Francois Dumont <dums@stlport...>
4847
4848 * test/unit/mfunptr_test.cpp: Add necessary macro checks for a test
4849 that require partial template specialization compiler support.
4850
48512005-04-04 Petr Ovtchenkov <ptr@island...>
4852
4853 * errno.h, time.h, test_errno.cpp: evc3 and evc4 has no errno.h
4854 and time.h headers [patch by Michael Fink].
4855
4856 * stl_evc.h, _windows.h, test_main.cpp: workaround to not include
4857 <windows.h> in STLport headers (it is still needed for building
4858 the lib and the unit tests, but that should be no problem).
4859 Occurences of GetCurrentProcess() used in _STLP_ABORT were replaced
4860 with the result of the inline function, which returns a pseudo-
4861 HANDLE value. [patch by Michael Fink]
4862
4863 * cwchar, wchar.h, stl/_cwchar.h: fix access to mbstate and wint_t
4864 for FreeBSD.
4865
4866 * build/Makefiles/gmake/sysid.mak, app/gcc.mak, lib/gcc.mak:
4867 FreeBSD before 5.3 require linkage with libc_r, while 5.3 and
4868 later use libpthread.
4869
4870 * test/unit/locale_test.cpp: add std:: namespace qualifier for
4871 gcc 3.3.2 and/or FreeBSD.
4872
4873 * libstlport, test/unit: library build and most tests pass for
4874 FreeBSD 5.3 and FreeBSD 4.10.
4875
48762005-04-02 Francois Dumont <dums@stlport...>
4877
4878 * stlport/cstdlib: Fix missing div taking long definition for VC71.
4879
48802005-04-01 Francois Dumont <dums@stlport...>
4881
4882 * stlport/errno.h: Add comments to explain the file code.
4883
4884 * stlport/stl/_string_io.h: Yet an other fix to the i/o basic_string
4885 operators that was not right under cygwin/mingwin.
4886
4887 * build/Makefiles/gmake/gcc.mak: Merge the 2 distinct cygmin blocks
4888 in one and add -Wall and -Wsign-promo warnings.
4889
48902005-04-01 Petr Ovtchenkov <ptr@island...>
4891
4892 * test/unit/test_errno.cpp: fix test, errno may be non-zero without
4893 any error, but it reflect error code after some function fail.
4894 This not the same.
4895
4896 * test/unit/mfunptr_test.cpp: add step-by-step test how compiler
4897 recognize bind of member function for find_if. Not all compilers may
4898 understand this. Thanks Markus for test idea.
4899
49002005-03-31 Francois Dumont <dums@stlport...>
4901
4902 * stlport/errno.h: Fixed for MSVC compilers, should still be fine for
4903 others.
4904
4905 * test/unit/test_errno.cpp: Modified to be a real unit test. Also test
4906 errno assignment.
4907
49082005-03-30 Francois Dumont <dums@stlport...>
4909
4910 * stlport/stl/_fstream.c: Try to fix ambiguous type deduction in a max
4911 call under WinCE.
4912
4913 * stlport/stl/_cmath.h: Fix missing non Standard hypot function under
4914 WinCE thanks Michael Fink.
4915
4916 * stlport/stl/_cmath.h: Attempt to fix the WinCE math function support
4917 where neither *f nor *l functions are present even if the compiler
4918 support the long double type.
4919
49202005-03-30 Petr Ovtchenkov <ptr@island...>
4921
4922 * stlport/assert.h, float.h, iso646.h, limits.h, errno.h:
4923 added in accordance with Standard D.5 [compatibility with standard
4924 C library] to prevent wrong std interpretation in ill-formed native
4925 headers [definition of namespace std in C headers].
4926
4927 * test/unit/test_errno.cpp: check correct processing of errno.h
4928 header.
4929
4930 * build/test/eh: build eh tests again.
4931
4932 * test/eh/LeakCheck.h, TestClass.cpp, TestClass.h: fix and clear.
4933
4934 * test/eh/test_hash_map.cpp, test_hash_set.cpp: hash_set/hash_map
4935 has no == operator [no container equality]; this fix is quick-and-dirty
4936
49372005-03-29 Petr Ovtchenkov <ptr@island...>
4938
4939 * build/Makefiles/gmake/app/rules.mak, freebsd/rules-so.mak,
4940 linux/rules-so.mak, openbsd/rules-so.mak, sunos/rules-so.mak:
4941 fix link sequence---the end objects should be really last, i.e. after libs.
4942 This affected by linkage without libstdc++.
4943
4944 * stlport/stl/_cwchar.h, stlport/wchar.h: workarounds for FreeBSD.
4945
4946 * due to change in link sequence most tests [including exceptions] pass
4947 for uClibc.
4948
4949 * stlport/mmemory.h: garbage, removed.
4950
4951 * stlport/export: ditto.
4952
49532005-03-28 Francois Dumont <dums@stlport...>
4954
4955 * stlport/stl/_istream.h, _ostream.h: Fix assignment operators prototypes
4956 for the sentry struct. Thanks -Weffc++ feature of gcc.
4957
4958 * build/Makefiles/gmake/cygmin/rules-install-so.mak: Add missing folder
4959 creation in the install process thanks Charlemagne report.
4960
4961 * build/Makefiles/nmake/icl.mak: Fix Intel compiler build system under
4962 Windows.
4963
49642005-03-28 Petr Ovtchenkov <ptr@island...>
4965
4966 * src/num_put_float.cpp: in FreeBSD no *cvt* functions now, use sprintf;
4967
4968 * stlport/config/stl_gcc.h: in FreeBSD no math *l functions and llabs.
4969
4970 * test/unit/string_test.cpp: more test with assignment.
4971
49722005-03-25 Petr Ovtchenkov <ptr@island...>
4973
4974 * stlport/stddef.h: fix typo in header id---this mistake prevent
4975 inclusion _epilog.h.
4976
4977 * test/unit/epilog_test.cpp: regression test for bug above.
4978
4979 * stlport/cstdio: fix header id to avoid possible errors.
4980
49812005-03-24 Petr Ovtchenkov <ptr@island...>
4982
4983 * build/Makefiles/gmake/lib/gcc.mak, build/Makefiles/gmake/app/gcc.mak:
4984 code reorganization to simplify platform configuration with or without
4985 -nostdlib [avoid link with libstdc++ or libestdc++]; now link without
4986 libstdc++/libestdc++ supported on Linux and OpenBSD.
4987
4988 * build/Makefiles/gmake/openbsd/rules-so.mak: idem.
4989
4990 * build/Makefiles/gmake/freebsd/rules-so.mak: idem.
4991
4992 * src/num_put_float.cpp: clean float convertions for OpenBSD and FreeBSD;
4993 OpenBSD and FreeBSD use STLport code instead of sprintf now.
4994
4995 * stlport/stl/_cwchar.h: allow masquarade to use mbstate_t from native
4996 cwchar header on OpenBSD.
4997
4998 * stlport/config/slt_gcc.h: llabs and *l math functions absent in OpenBSD;
4999 define __unix, that missed in OpenBSD.
5000
50012005-03-23 Petr Ovtchenkov <ptr@island...>
5002
5003 * build/Makefiles/gmake/app/gcc.mak, build/Makefiles/gmake/lib/gcc.mak:
5004 incorporate gcc language support library into libstlport.so
5005 [add ~100k to library], but libsupc++ don't required more in link stage
5006 for applications and libraries that use stlport, as in case with
5007 libstdc++.
5008
50092005-03-22 Francois Dumont <dums@stlport...>
5010
5011 * stlport/stl/_string_io.c: Fix basic_string stream output operator
5012 implementation for cygwin.
5013
5014 * stlport/stl/_cmath.h: Add fixes for cygwin support that handle long double
5015 but do not have *l maths function per default.
5016
5017 * src/complex_exp.cpp: Fix call to logl, replaced by call to log.
5018
5019 * src/complex_trig.cpp: Fix mingw support by checking M_LN2l existence
5020 before using it.
5021
5022 * test/unit/copy_test.cpp: Change test cases to avoid use of iostreams.
5023
5024 * test/unit/string_test.cpp: Add a small check to test use of istream width
5025 in the input operator.
5026
5027 * stlport/cstdlib, stlport/config/stl_msvc.h, stl_gcc.h: Creation of the
5028 _STLP_NO_VENDOR_STDLIB_L macro to report support of the llabs and lldiv
5029 function.
5030
50312005-03-21 Petr Ovtchenkov <ptr@island...>
5032
5033 * stlport/stl/_cmath.h: removed logf, expf, sinf, cosf; option
5034 -fno-builtin passed to gcc compiler solve the problem with uClibc;
5035 this imply same option in building uClibc, as it is in normal uClibc build.
5036 This is partial rollback of changes 2005-03-16.
5037
5038 * build/lib/configure, build/Makefiles/gmake/gcc.mak: add ability to pass
5039 extra flags to C++ compiler
5040
50412005-03-18 Francois Dumont <dums@stlport...>
5042
5043 * test/unit: Modified some test in order to check the _STLP_NO_IOSTREAMS
5044 mode. This new mode of tests reveals the following bugs:
5045
5046 * stlport/stl/_rope.c: Add check of _STLP_USE_NO_IOSTREAMS macro before
5047 include of iostream header.
5048
5049 * src/dll_main.cpp, stlport/stl/_string_fwd.h: Removed implementation
5050 of __get_c_string, moved to _string.h header, once string has been defined,
5051 as an inline function.
5052
50532005-03-18 Petr Ovtchenkov <ptr@island...>
5054
5055 * src/complex_trig.cpp: avoid call log functions during static
5056 initialization, if possible.
5057
50582005-03-17 Francois Dumont <dums@stlport...>
5059
5060 * stlport/stl/_string_io.h: Fix implementation that used to think that
5061 size_t and streamsize was simply aliases. Thanks Jay Amin report.
5062
5063 * stlport/config/_prolog.h: Add comment about the reason of alignment
5064 specification when using MSVC compilers. Fix alignment for Win64 platform.
5065
5066 * stlport/stl/_alloc.h: Fix _ALIGN enum definition for _Win64 platform.
5067
5068 * src/string_w.cpp: Fix wrong class export under debug mode thanks
5069 Charlemagne report.
5070
5071 * build/Makefiles/nmake: Preparation of the build system for icl (Intel cl
5072 compiler (mimic cl compiler from Microsoft).
5073
50742005-03-16 Petr Ovtchenkov <ptr@island...>
5075
5076 * stlport/stl/_cmath.h: added logf, expf, sinf, cosf---this fix
5077 uClibc 0.9.27/gcc problem. Fix one macro for declaration math
5078 functions in case of absent *f functions.
5079
50802005-03-16 Francois Dumont <dums@stlport...>
5081
5082 * stlport/config/*: Clean native header include path macro definition.
5083 Removed many useless definition simply recreating the default behavior.
5084 Removed the unreferenced _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH macro.
5085
5086 * stlport/stl/_site_config.h: Update relative path headers macros
5087 documentation to reflect more accurately default behavior and add
5088 the unreference _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH macro.
5089
50902005-03-15 Francois Dumont <dums@stlport...>
5091
5092 * stlport/stl/_fstream.h: Fix _Noconv_input helper class default implementation.
5093 Returns traits::eof() rather than 0.
5094
50952005-03-15 Petr Ovtchenkov <ptr@island...>
5096
5097 * src/complex.cpp, complex_exp.cpp, complex_io.cpp, complex_trig.cpp:
5098 use achievements in _cmath.h---use overloaded funcs; mascarade from
5099 complex_impl.h not required more.
5100
5101 * src/complex_impl.h: deleted.
5102
5103 * test/unit/cmath_test.cpp: check nested sqrt(sqrt)---possible problem with macro
5104
51052005-03-14 Francois Dumont <dums@stlport...>
5106
5107 * stlport/config/stl_msvc.h: _STLP_SAME_FUNCTION_NAME_RESOLUTION_BUG notion
5108 removed, impossible to reproduce, maybe fixed by the #pragma intrinsic/function
5109 directives.
5110
5111 * stlport/stl/_cmath.h, cstdlib: Fix .Net 2003 and .Net 2005 beta support.
5112
5113 * stlport/stl/_cmath.h: Removed _STLP_SAME_FUNCTION_NAME_RESOLUTION_BUG notion,
5114 no more _STLP_DO_* macros.
5115
5116 * test/unit/valarray_test.cpp: New tests to check right compilation of
5117 transcendentals valarray functions.
5118
5119 * stlport/stl/_valarray.h: Replaced all the _STLP_DO_* macros by real
5120 function calls.
5121
5122 * src/fstream.cpp: Add INVALID_SET_FILE_POINTER definition when missing for
5123 Win32 IO implementation thanks Michael Fink report. Add compilation check
5124 of right STLport file descriptor definition.
5125
51262005-03-12 Francois Dumont <dums@stlport...>
5127
5128 * stlport/stl/_tree.h: Fix equal_range_unique bug thanks Gunter.
5129
5130 * test/unit/map_test.cpp: Add of the test to reproduce the bug
5131 above.
5132
51332005-03-11 Petr Ovtchenkov <ptr@island...>
5134
5135 * build/test/unit/gcc.mak: don't write runtime path to libstlport
5136 in case of crosscompilation.
5137
5138 * stlport/stl/_cmath.h: exclude *f and *l variants of math functions
5139 if ones absent in system; add missed hypot function; few workarounds
5140 for uClibc and for VC.
5141
5142 * src/complex.cpp, complex_exp.cpp, complex_trig.cpp: workaround
5143 for systems without *f and *l variants of math functions.
5144
5145 * test/unit/resolve_name.cpp: exclude test line that confuse VC.
5146
5147 * stlport/cstdlib: div isn't intrinsic for VC.
5148
5149 * stlport/config/stl_gcc.h: don't use *f and *l math functions in
5150 case of uClibc.
5151
51522005-03-09 Petr Ovtchenkov <ptr@island...>
5153
5154 * doc/FAQ: FAQ was established.
5155
51562005-03-07 Francois Dumont <dums@stlport...>
5157
5158 * stlport/stl/_bitset.h, _bitset.c: Avoid include of istream when
5159 NO_IOSTREAMS mode thanks Bruno report.
5160
5161 * stlport/stl/char_traits.h: Modification of the streamoff and streamsize
5162 definition to take into account the 64 bits file access support.
5163
5164 * test/unit/fstream.cpp: New test for big files ( > 2Go) unactivated by
5165 default.
5166
51672005-03-06 Petr Ovtchenkov <ptr@island...>
5168
5169 * stlport/cstdlib, stlport/cmath, stlport/stl/_cmath.h: define
5170 overloaded functions in the scope of global namespace and then import
5171 all in stlp_std with 'using' directive. This is better than
5172 solution from 2005-03-04 below.
5173
5174 * stlport/cmath: include cstdlib, due to declarations of abs
5175 with integer types required in overload and when 'using'.
5176
5177 * src/complex.cpp, src/complex_exp.cpp, src/complex_trig.cpp: replace
5178 macros that possibly will be removed.
5179
51802005-03-05 Francois Dumont <dums@stlport...>
5181
5182 * stlport/stl/_construct.h: Simplification of the _Copy_Construct
5183 function, now only takes a single template parameter and only call
5184 the strict copy constructor. Creation of the _Param_Construct function
5185 that replace the former _Copy_Construct implementation.
5186
5187 * cstdlib: Fix abs definition for MSVC compilers.
5188
5189 * test/unit: Fixing 64 bits warnings in many tests.
5190
5191 * src/c_locale_win32/c_locale_win32.c: Fixing 64 bits warnings.
5192
5193 * src/fstream.cpp: Creation of the INVALID_STLP_FD constant to represent
5194 a portable invalid file descriptor.
5195
5196 * stlport/stl/_streambuf.c: Explicit instanciation of basic_streambuf
5197 for wchar_t removed, already exists in _streambuf.h thanks
5198 Charlemagne report.
5199
5200 * stlport/stl/char_traits.h: Setup modification, Windows platform now
5201 use ptrdiff_t to define streamoff, make the code more portable.
5202
52032005-03-04 Petr Ovtchenkov <ptr@island...>
5204
5205 * stlport/stl/_cmath.h: removed recursive include of cmath header
5206
5207 * src/complex_impl.h: include cmath instead of stl/_cmath.h
5208
5209 * stlport/stl/_complex.h: idem.
5210
5211 * stlport/stl/_valarray.h: idem.
5212
5213 * test/unit/unary.h: workaround for namespace resolution.
5214
5215 * test/unit/resolve_name.cpp: test to show problem with namespace resolution.
5216
5217 * stlport/cmath, stlport/stl/_cmath.h: standard require overloaded math
5218 functions for double and float arguments. Import with 'using' directive
5219 can't provide such overload. Removed import with 'using', used direct
5220 inline wrappers in namespace stlp_std instead. Cleaning code.
5221
5222 * stlport/cstdlib: complement to cmath---the same as above for abs.
5223
5224 * stlport/stl/_config.h: uClibc declare pthread_spin... but ones absent
5225 in the library indeed.
5226
52272005-03-02 Petr Ovtchenkov <ptr@island...>
5228
5229 * build/Makefiles/top.mak: move .PHONY target to the bottom, it work here
5230 as expected
5231
5232 * build/Makefiles/gmake/depend.mak, targetdirs.mak: reduce amount of dummy
5233 targets; fix creation of directories for install.
5234
5235 * build/Makefiles/gmake/linux/rules-install-so.mak: ditto.
5236
5237 * stlport/stl/_config.h, stlport/config/stl_gcc.h: support of gcc/linux/uClibc
5238
5239 * src/_stdio_file.h, num_put_float.cpp, stdio_streambuf.cpp: uClibc support
5240
5241 * stlport/cwchar: ditto.
5242
52432005-03-01 Francois Dumont <dums@stlport...>
5244
5245 * stlport/stl/_threads.h, _windows.h, _rope.c: Fix of a 64 bits portage issue
5246 in the rope implementation under Win64 thanks Patrick Bergeron report.
5247
52482005-02-28 Francois Dumont <dums@stlport...>
5249
5250 * stlport/stl/_hashtable.c: hashtable::erase fix thanks Patrick Bergeron.
5251
52522005-02-27 Francois Dumont <dums@stlport...>
5253
5254 * stlport/stl/_algobase.h, _algobase.c: Fix find algo overload for
5255 char* and const char*. Now the overload is on the __find underlying
5256 function.
5257
5258 * test/unit/alg_test.cpp: Add a test case for the search_n algo.
5259
5260 * stlport/stl/_algo.c: Integration of the search_n algo implementation
5261 for the random access iterator from Jim Xochellis.
5262
52632005-02-25 Francois Dumont <dums@stlport...>
5264
5265 * stlport/stl/_slist.h: Fix _M_splice_after method.
5266
5267 * stlport/stl/debug/_slist.h: Add of many missing checks for the special
5268 slist before_begin iterator which returns true to the _Dereferenceable
5269 function call but is not dereferenceable in reality. Passing this
5270 iterator to method like erase or insert was invalid but was not detected
5271 by the _Dereferenceable function.
5272
5273 * test/unit/slist_test.cpp: Add checks for insert, insert_after, splice
5274 splice_after methods.
5275
5276 * Patch from Ulrich Eckhardt:
5277 - Fix macro _MSC_VER macro checks, VC6 should be found using _MSC_VER < 1300
5278 check rather than _MSC_VER == 1200 to take into account compilers like
5279 EVC4 that is a VC6 based compiler with _MSC_VER == 1202.
5280
52812005-02-25 Petr Ovtchenkov <ptr@island...>
5282
5283 * stlport/stl/_algobase.h: wrong parameters order in call to memchr,
5284 thanks Patrick Bergeron.
5285
52862005-02-24 Francois Dumont <dums@stlport...>
5287
5288 * stlport/stl/char_traits.h: Patch from Ulrich Eckhardt fixing a wrong
5289 _STLP_CALL specification on member operators and some cosmetic changes.
5290
52912005-02-22 Petr Ovtchenkov <ptr@island...>
5292
5293 * test/unit/limits_test.cpp: wchar_t is treated as signed, except when it
5294 equiv to unsigned short on Wins systems.
5295
5296 * Repository: STLport 5.0 RC2
5297
52982005-02-20 Francois Dumont <dums@stlport...>
5299
5300 * Add many private definition of copy constructor and assignment operators
5301 to avoid very anoying warnings under some compilers (MSVC 7.0 7.1).
5302
5303 * build/Makefiles/gmake/cygmin/sys.mak, test/unit/string_test.cpp:
5304 Mingw fixes thanks Shura Zam.
5305
53062005-02-19 Francois Dumont <dums@stlport...>
5307
5308 * stlport/stdexcept: Removal of a MSVC 7.0 and 7.1 workaround. Those compilers
5309 have a bug resulting in the generation of very long compiler message as
5310 soon as a simple compiler warning or error occur. Those messages are
5311 template instanciation context of previous disabled warning. Warning message
5312 are correctly disable but template instanciation context is kept until
5313 an enable warning or an error happen. There is nothing to do against that
5314 at STLport level except fixing or disabling warnings for unit tests build.
5315
5316 * build/Makefiles/nmake/vc70.mak: Add missing file.
5317
53182005-02-18 Francois Dumont <dums@stlport...>
5319
5320 * stlport/stl/_hashtable.h, _unordered_set.h, _unordered_map.h: Code review
5321 based on the 12 April 2004 Technical Report document. Add missing hash policy
5322 and bucket_size methods. Fix of the rehash method behavior. erase method
5323 bug fix.
5324
53252005-02-14 Francois Dumont <dums@stlport...>
5326
5327 * stlport/string, /stl/_string.h: Modification of the include schema.
5328 _string_io.h no more included from _string.h to avoid circular headers
5329 dependencies as basic_string class is used in iostream implementation.
5330 This headers is now included from the Standard string header. Useless
5331 cctype include removed from _string.h. _string_hash.h also moved from
5332 _string.h to string for consistency.
5333
5334 * stlport/stl/_complex.c: Add of the _string_io.h header include that
5335 was missing after string include schema modification.
5336
5337 * stlport/stl/_string_base.h, _string.h: basic_string move traits STLport
5338 struct definition do not depends anymore on the _String_base struct to
5339 make definition more clear.
5340
53412005-02-08 Francois Dumont <dums@stlport...>
5342
5343 * stlport/stl/_config.h: Fix endianness for AMD 64 thanks Karol
5344 Szkudlarek.
5345
53462005-02-07 Boris Fomitchev <boris@stlport...>
5347
5348 * stlport/stl/_config_compat_post.h, stlport/stl/_relops_hash_cont.h
5349 stlport/stl/_list.h, stlport/stl/_slist.h, stlport/stl/_map.h,
5350 stlport/stl/_set.h: 4.6 compatibility fix
5351
53522005-02-04 Francois Dumont <dums@stlport...>
5353
5354 * stlport/stl/_alloc.c: Fix of the _S_refill method in the lock free
5355 implementation thanks Felix Wyss.
5356
5357 * stlport/stl/_hashtable.h: _M_get_elem_ite set as static when possible
5358 to fix a MSVC6 problem thanks Michael Fink report.
5359
5360 * stlport/new, config/stl_evc.h: EVC patch for MFC support from Michael Fink.
5361
5362 * build/Makefiles/nmake/evc3.mak, evc4.mak: Warning level raised to 4
5363 by Michael Fink.
5364
5365 * doc/README.evc3, README.evc4 doc update from Michael Fink.
5366
5367 * src/vc_warning_disable.h: Add warning 4201 and 4214 disabling for EVC.
5368
53692005-01-31 Francois Dumont <dums@stlport...>
5370
5371 * Mac OS X portage thanks Zdenek Nemec.
5372
5373 * stlport/stl/_hashtable.c: Fix of the _M_copy_from method thanks Jay.
5374
5375 * stlport/stl/_vector.c: Fix of the _M_insert_fill_aux method thanks
5376 Mike Roberts report.
5377
5378 * test/unit/unordered_test.cpp: Add of a test for the hashtable fix above.
5379
5380 * src/vc_warning_disable.h: Add of the missing 4503 warning disable for MSVC6.
5381
5382 * test/unit/nmake-vc-common.mak: Add of the _STLP_DEBUG_UNINITIALIZED macro
5383 definition for the debug and stldebug rules.
5384
53852005-01-28 Francois Dumont <dums@stlport...>
5386
5387 * Application of a patch from Michael Fink for EVC MIPS.
5388
53892005-01-27 Francois Dumont <dums@stlport...>
5390
5391 * stlport/deque, list, map, set, slist, stack, valarray: _STLP_WHOLE_VENDOR_STD
5392 replaced by the official _STLP_IMPORT_VENDOR_STD macro.
5393
5394 * stlport/stl/_algobase.h: Add find algo overload for char* and const char*
5395 forwarding the call to the memchr C function thanks Jim Xochellis report.
5396
5397 * test/unit/find_test.cpp: Add check for the new find overload.
5398
5399 * test/unit/cmath_test.cpp: Fix of the atan and atan2 tests to avoid precision
5400 problems.
5401
5402 * test/unit/ptrspec_test.cpp: Add check for containers of function pointers and
5403 member function pointers.
5404
5405 * test/unit/set_test.cpp: Add check for equal_range method when the search value
5406 is not in the set.
5407
5408 * stlport/stl/_tree.h: Fix equal_range implementation thanks Grisha Spivak report.
5409
5410 * stlport/stl/_vector.h, _vector.c: Fix of the movable types implementation thanks
5411 Mike Roberts report.
5412
5413 * test/unit/mvctor_test.cpp: Add of a test case for vector class.
5414
54152005-01-25 Francois Dumont <dums@stlport...>
5416
5417 * stlport/stl_user_config.h: Pointer specialization feature is now off
5418 by default as it do not handle pointer to function and pointer to member
5419 methods correctly yet. Feature documentation has been updated to report
5420 this limitation.
5421
5422 * src/ctype.h: removal of the '>= 0' check for wchar_t variables reported
5423 as a always true condition by gcc.
5424
5425 * stlport/stl/_hashtable.c: Removal of an unused variable in hashtable::resize
5426 method thanks Jeff Grills report.
5427
5428 * stlport/stl/_algo.c: Fix of the search_n algo thanks Jim Xochellis report.
5429
54302005-01-24 Francois Dumont <dums@stlport...>
5431
5432 * Some more warning fixes. Mostly add of missing char_traits::to_char_type calls.
5433
54342005-01-22 Francois Dumont <dums@stlport...>
5435
5436 * stlport/stl/_string_workaround.h, debug/_string_workaround.h: Fix of the
5437 call broadcast to the base class. Non debug workaround always call non debug
5438 base class methods, debug workaround always calls debug base class methods.
5439
5440 * Many fixes to avoid warnings using MSVC in level 4 warnings:
5441 - while (true) replaced by for(;;) which do not produce the conditional
5442 expression is constant warning
5443 - removal of unused parameters
5444 - modification of some template function signature to keep the character type
5445 information and avoid the wchar_t to char type warning which was surely an
5446 important warning for the wide streams support.
5447
5448 * stlport/stl/_monetary.c: removal of the call to the ctype::widen method
5449 on the result of the moneypunct<_CharT, false>::decimal_point call as this
5450 method is already supposed to return a wide character.
5451
54522005-01-19 Francois Dumont <dums@stlport...>
5453
5454 * src/msvc_warning_disablers.h: unused file, removed.
5455
5456 * test/unit/logic_test.cpp: Fix of the tests to avoid warning regarding int
5457 to bool cast.
5458
5459 * stlport/stl/pointers/_deque.h, _list.h: Fix of the exported class under MSVC
5460 compiler thanks Timothy Tenebekov report.
5461
5462 * build/test/unit/nmake-vc-common.mak, nmake-vc6.mak, nmake-vc70.mak: Modification
5463 of the make files to avoid useless inclusion of vc_warning_disable.h file for
5464 MSVC.Net 2003 and MSVC 8 compilers.
5465
5466 * src/locale_impl.h: Export of the locale facets container for MSVC compilers.
5467
5468 * src/vc_warning_disable.h: Modification to limit the number of disables depending
5469 on the compiler.
5470
54712005-01-18 Francois Dumont <dums@stlport...>
5472
5473 * stlport/stl/_algo.c: Modification of the stable_partition implementation
5474 to limit the size of the allocated temporary buffer of the begin and end
5475 of the range are already at the right place thanks a Stephen Howe idear.
5476
5477 * build/test/unit/nmake-vc-common.mak, nmake-evc-common.mak: Removal of the
5478 _STLP_USE_AUTO_LINK macro which is now the default.
5479
54802005-01-14 Francois Dumont <dums@stlport...>
5481
5482 * stlport/stl/_windows.h, char_traits.h, src/c_locale_win32/c_locale_win32.c:
5483 Patch from Patrick Bergeron to support 64 bits compilation under Windows using
5484 VC8.
5485
5486 * stlport/stl/boost_type_traits.h: boost support check and fixing.
5487
54882005-01-13 Francois Dumont <dums@stlport...>
5489
5490 * stlport/stl/_algobase.h: Improvment of the iter_swap algo to use the swap
5491 method when possible thanks David Abrahams and Aleksey Gurtovoy great book
5492 introduction.
5493
5494 * stlport/stl/_alloc.h: Deactivation of the lock free allocator implementation
5495 not mature enough to be release yet.
5496
5497 * stlport/stl/_uninitialized.h: Fix of non Standard algo signature:
5498 - uninitialized_fill_n
5499
5500 * stlport/stl/_iterator_base.h: Fix of non Standard algo signature:
5501 - distance
5502
5503 * stlport/stl/_algobase.h: Fix of non Standard algo signature:
5504 - fill_n
5505
5506 * stlport/stl/_algo.h: Fix of non Standard algo signature:
5507 - rotate
5508 - generate_n
5509
5510 * stlport/stl/_string.h, debug/_string.h: Fix of the non Standard basic_string
5511 default constructor.
5512
5513 * stlport/stl/_algobase.h, _function.h, _iterator_base.h, _move_construct_fwk.h,
5514 _ptr_specialize.h, char_traits.h, debug/_debug.h: Fix of the macro name check
5515 before including type_traits.h.
5516
55172005-01-08 Francois Dumont <dums@stlport...>
5518
5519 * stlport/stl/_codecvt.h: Add of a missing export declaration for the wchar_t
5520 specialization of the codecvt_byname class.
5521
5522 * src/stlport.rc: improvement of the information included in the ressource file.
5523 Especially add of the compiler options.
5524
5525 * stlport/stl/_stlport_version.h: Creation of a special file containing all the
5526 version informations; very useful to avoid problem with the ressource compiler.
5527
5528 * stlport/stl/_config.h: Removal of the unused _STLP_USING_VENDOR_STD macro.
5529 Inclusion of the _stlport_version.h file. Update of the comment explaining why
5530 _STLP_USE_DECLSPEC is undefined when user do not use iostreams.
5531
5532 * build/Makefiles/nmake/vc-common.mak, evc-common.mak, gmake/gcc.mak: Improvement
5533 of the ressource compiler options.
5534
55352005-01-06 Francois Dumont <dums@stlport...>
5536
5537 * stlport/config/stl_msvc.h: Move the _STLP_DONT_RETURN_VOID configuration
5538 macro to the specific MSVC6 compiler as it is the only one that has ever
5539 reveal this bug.
5540
55412005-01-05 Francois Dumont <dums@stlport...>
5542
5543 * stlport/stl/_string_sum_methods.h: Fixes reported by gcc.
5544
55452005-01-04 Francois Dumont <dums@stlport...>
5546
5547 * doc/README.evc3: patched by Michael Fink
5548
5549 * build/lib/configure.bat: warning fix thanks Michael Fink.
5550
5551 * build/test/unit/nmake-src-prefix.mak: fixed thanks Michael Fink.
5552
55532005-01-02 Francois Dumont <dums@stlport...>
5554
5555 * stlport/stl/_string_sum.h, _string_operators.h: Fix of an assignment bug
5556 in the append method taking a C string wrapper. Modification of the __bstr_sum
5557 get_allocator method to avoid a useless allocation.
5558
5559 * build/lib/nmake-src-prefix.mak: Add of missing rules for .c and .rc file type.
5560
55612004-12-29 Francois Dumont <dums@stlport...>
5562
5563 * stlport/stl/_hashtable.c: Fix missing allocator argument in new slist
5564 construction and bad number of buckets thanks See Wong report.
5565
5566 * test/unit/unordered_test.cpp: Add of a test to report the previous
5567 problem.
5568
5569 * build/Makefiles/nmake/vc-common.mak, evc-common.mak: Generalization of the
5570 /DMACRO compiler command rather than /D "MACRO".
5571
5572 * test/unit/string_test.cpp: Creation of a new test case for string template
5573 expression.
5574
5575 * stlport/stl/_string_sum.h, _string_sum_methods.h: Fixing of many bugs in the
5576 string template expressions implementation.
5577
5578 * stlport/stl/_tree.c: Add of a comment in the _M_increment method explaining
5579 a surprising checks thanks Ulrich Eckhardt.
5580
55812004-12-24 Petr Ovtchenkov <ptr@island...>
5582
5583 * build/Makefiles: makesystem moved here from src/Makefiles
5584
5585 * build/lib: makefiles moved here from src catalog.
5586
5587 * build/test/unit: makefiles moved here from test/unit catalog.
5588
5589 * INSTALL: updated.
5590
5591 * README: updated.
5592
55932004-12-23 Francois Dumont <dums@stlport...>
5594
5595 * stlport/stl/_vector.h, _vector.c: Fix of the code for movable types
5596 in call to push_back or insert of a value in case of auto referencing
5597 thanks Benjamin Redelings.
5598
5599 * stlport/stl/_hashtable.c: Fix of the _M_copy method thanks Timothy
5600 Tenebekov.
5601
56022004-12-22 Francois Dumont <dums@stlport...>
5603
5604 * stlport/stl/debug/_string.h: Fix of missing scopes thanks arabesc and
5605 Benjamin Redelings
5606
5607 *stlport/config/stl_gcc.h: include schema fix for gcc >= 4.0.0 thanks
5608 Oliver Stoeneberg
5609
56102004-12-21 Francois Dumont <dums@stlport...>
5611
5612 * stlport/stl/_hashtable.c: Fix copy method thanks KL report.
5613
5614 * stlport/stl/_vector.h, _deque.h: Fix implementation for vector of
5615 movable objects when calling erase of a null range thanks to arabesc report.
5616
5617 * stlport/stl/_string.h, _string_workaround.h, debug/_string.h,
5618 debug/_string_workaround.h: Implementation of the MSVC6 template method bug
5619 workaround exclusively for MSVC6 and not anymore for all compilers.
5620
56212004-12-21 Petr Ovtchenkov <ptr@island...>
5622
5623 * src: untested (lost support) .mak and installation files moved into
5624 initial_mak catalog.
5625
5626 * explore, src: explore catalog moved into src catalog. Makefiles from
5627 explore catalog become main makesystem of STLport.
5628
56292004-12-20 Francois Dumont <dums@stlport...>
5630
5631 * stlport/stl/_hashtable.h: Fix of the const begin and end methods of the
5632 new implementation thanks Timothy Tenebekov report.
5633
56342004-12-17 Francois Dumont <dums@stlport...>
5635
5636 * stlport/cmath, cstdlib, stl/_cmath.h, config/stl_msvc.h: Configuration
5637 fixes for .Net 2002.
5638
56392004-12-17 Boris Fomitchev <boris@stlport...>
5640
5641 * char_traits.h: fixed _STLP_NO_WCHAR_T case
5642
5643 * src/common_macros.mak: deleted locale.cpp
5644
56452004-12-17 Francois Dumont <dums@stlport...>
5646
5647 * src/explore/Makefiles/nmake/app/rules-install-a.mak, rules-install-so.mak
5648 lib/rules-install-so.mak: Creation of the install-shared and install-static
5649 from Michael Fink.
5650
56512004-12-16 Francois Dumont <dums@stlport...>
5652
5653 * stlport/stl/debug/_debug.h, _debug.c: Creation of functions to change iterators
5654 list owner.
5655
5656 * stlport/stl/debug/_list.h, _slist.h: Modification of the iterator owners in the
5657 splice, splice_after and merge method which do not invalidate iterators but only
5658 move them from a [s]list to an other.
5659
5660 * stlport/stl/_relops_hash_cont.h: removal of the == operator on hashed containers
5661 This operator is just impossible, or at least very complicated, to implement
5662 for this container which do not require any ordering operation on the type used
5663 to instanciate the container.
5664
5665 * test/unit/hash_test.cpp: Addition of a commented test showing why the == operator
5666 is invalid on hashed constainers.
5667
5668 * stlport/stl/_hashtable.h: Modification of the hashtable implementation based
5669 on a slist and a vector. Compared to the previous one the advantages are:
5670 - lighter hashtable::iterator
5671 - iterator increment operation do no require call to the hash function.
5672 - no more special implementation for the debug mode, once validated debug/_hashtable.h
5673 will be removed.
5674 The drawback is a small overhead on the insert/erase methods.
5675
5676 * stlport/unordered_set, unordered_map: Introduction of the almost Standard hash containers.
5677 The major difference with hash_set or hash_map containers from SGI is the load factor
5678 that gives the user the ability to change the container ratio of the number of elements per
5679 bucket.
5680
56812004-12-13 Francois Dumont <dums@stlport...>
5682
5683 * stlport/stdio.h: patch from Michael Fink to avoid warning on the EVC platform.
5684
5685 * doc/evc_workaround.txt: Documentation file from Ulrich Eckhardt about the EVC
5686 workaround to avoid annoying warnings.
5687
5688 * stlport/typeinfo: Patch from Ulrich Eckhardt to fix missing type_info struct
5689 under MSVC6 and EVC and also identation.
5690
56912004-12-10 Francois Dumont <dums@stlport...>
5692
5693 * stlport/stl/_collate.h, _locale.h: fix of the __locale_do_operator_call internal
5694 function to make traits and allocator also template parameters.
5695
5696 * stlport/stl/_locale.h, _collate.h, stlport/config/stl_msvc.h, src/locale.cpp,
5697 src/locale_impl.h: restoration of the MSVC6 workaround for the locale class to
5698 correctly handle the member template methods.
5699
57002004-12-09 Francois Dumont <dums@stlport...>
5701
5702 * stlport/stl/_messages_facets.h: fixed messages_base::catalog from long typedef
5703 to int thanks Ulrich Eckhardt report.
5704
5705 * stlport/stl_user_config.h, config/stl_msvc.h: addition of the _STLP_VERBOSE_AUTO_LINK
5706 config macro to make the automatic linking feature more verbose thanks Ulrich Eckhardt
5707 patch.
5708
5709 * stlport/exception: Add check of the _STLP_HAS_SPECIFIC_PROLOG_EPILOG macro before
5710 including _msvc_warning_off.h to avoid bad resulting warning status when the _epilog.h
5711 header is not included thanks Gail (baker88) report.
5712
5713 * stlport/cassert, cerrno, csignal, ctype.h, cwctype, stdarg.h, stdlib.h, string.h,
5714 config/stl_evc.h: Patch from Michael Fink to fix compilation problem using ressource
5715 compiler for evc3 and evc4 and problems with cerrno and cassert inclusions reported
5716 by Ulrich Eckhardt.
5717
57182004-12-01 Petr Ovtchenkov <ptr@island...>
5719
5720 * stlport/stdexcept: removes some warnings regarding the exception class being derived
5721 from a non-dll interface class on evc4. Michael Fink contribution.
5722
5723 * stlport/stl/_cmath.h: push/pop warning level for VCs. Michael Fink contribution.
5724
5725 * src/_stdio_file.h: Evc4 uses an ugly hack to implement file IO using a FILECE structure
5726 representing the internal FILE structure. For evc3 Michael Fink implemented a much simpler
5727 way that also works for evc4.
5728
5729 * stlport/config/stl_evc.h, stl_msvc.h, stlcomp.h: separate config stuff for stl_evc.h
5730 and stl_msvc.h. Now all Windows CE specific defines are in stl_evc.h only.
5731 Michael Fink contribution.
5732
5733 * stlport/stl/_codecvt.h, _ctype.h, _messages_facets.h, _monetary.h: add friend class
5734 _Locale_impl.
5735
5736 * stlport/stl/_num_get.h, _num_put.h, _numpunct.h, _time_facets.h: ditto.
5737
57382004-11-30 Petr Ovtchenkov <ptr@island...>
5739
5740 * src/explore/configure.bat: added quotes. Thanks Ulrich Eckhardt and Michael Fink.
5741
5742 * stlport/stl/_locale.h, src/locale_impl.h, src/locale_impl.cpp: added _STLP_DECLSPEC
5743 and _STLP_CALL for some functions. Thanks Ulrich Eckhardt.
5744
5745 * stlport/stl/_collate.h, _numpunct.h, _monetary.h, _codecvt.h, _time_facets.h:
5746 _Locale_imp made friend without relation to _STLP_LEAKS_PEDANTIC. Thanks Ulrich Eckhardt.
5747
5748 * stlport/stl/_locale.h: remove body of protected constructor to avoid warnings.
5749 Thanks Kidman and Ulrich Eckhardt.
5750
5751 * src/locale_impl.cpp: use simple resize of facets_vec; reserve space for facets_vec to be
5752 sure that allocation don't throw exception during vector resize in insert_*_facets functions.
5753 Thanks Ulrich Eckhardt.
5754
57552004-11-29 Petr Ovtchenkov <ptr@island...>
5756
5757 * stlport/stl/_cmath.h: patch from Michael Fink applied.
5758
5759 * stlport/stl/_locale.h: remove enclose class spec to avoid VC confuse.
5760 Thanks Ulrich Eckhardt.
5761
5762 * src/locale_impl.cpp, src/locale_impl.h: remove bogus _STLP_CALL decls.
5763 Thanks Ulrich Eckhardt.
5764
57652004-11-27 Petr Ovtchenkov <ptr@island...>
5766
5767 * stlport/stl/_threads.h: direct access to _M_ref_count isn't MT-safe;
5768 counter value returned by _M_incr and _M_decr methods only.
5769
5770 * stlport/stl/_rope.h, stlport/stl/_rope.c: adaptation to changes above;
5771 removed __GC macro dependent code, that was never defined in present
5772 sources.
5773
5774 * src/locale.cpp, locale_impl.cpp, locale_impl.h: general revision of locale
5775 implementation; code clean, corrected, concepts fixed, errors fixed,
5776 new bugs added.
5777
5778 * src/ctype.cpp, facets_byname.cpp, locale_catalog.cpp, messages.cpp, monetary.cpp:
5779 ditto.
5780
5781 * stlport/stl/_codecvt.h, _collate.h, _ctype.h, _locale.h, _messages_facets.h:
5782 ditto.
5783
5784 * _monetary.h, _num_get.h, _num_put.h, _numpunct.h, _time_facets.h: ditto.
5785
5786 * src/locale_nonclassic.h: removed due to code revision.
5787
5788 * src/explore/Makefile.inc: locale.cpp is directly included into locale_impl.cpp.
5789
5790 * src/explore/gcc.mak, test/unit/gcc.mak: use _STLP_LEAKS_PEDANTIC before release
5791 by default.
5792
57932004-11-24 Francois Dumont <dums@stlport...>
5794
5795 * stlport/stl/_cmath.h: Fix of the abs definition for the EVC platform
5796 thanks Michael Fink.
5797
5798 * stlport/stl/_cmath.h: Fix of the Internal Compiler Error from MSVC6
5799 when defining math functions in the STLport namespace thanks Ulrich
5800 Eckhardt and I.
5801
5802 * stlport/stl/debug: Creation of a debug iterator traits used to make
5803 an additional test when checking iterator deferencing status, on slist
5804 before_begin iterators are not dereferenceable but were not detected
5805 as so.
5806
5807 * stlport/math.h, stdexcept: patches from Michael Fink to avoid warning
5808 on the EVC platform.
5809
58102004-11-22 Francois Dumont <dums@stlport...>
5811
5812 * src/explore/Makefiles/nmake/evc3.mak, evc4.mak: removal of the useless
5813 /DPLATFORM macro definition thanks Ulrich Eckhardt report and Michael Fink
5814 patch.
5815
5816 * stlport/cstdlib: extension of the div overload for long input up to MSVC7.1
5817 thanks Michael Fink report.
5818
5819 * test/unit/string_test.cpp: patch from Michael Fink for EVC which has limited
5820 support of the WaitForMultipleObjects API function.
5821
5822 * stlport/cstdlib, cwchar, using/cstring: patch from Michael Fink to remove
5823 imports of missing native C functions.
5824
58252004-11-16 Francois Dumont <dums@stlport...>
5826
5827 * src/explore/configure.bat: Add of the --rtl-static and --rtl-dynamic
5828 configuration options to force use of static or dynamic C runtime thanks
5829 Michael Fink.
5830
5831 * stlport/config/stl_msvc.h: undef of the _STLP_USING_CROSS_NATIVE_RUNTIME_LIB
5832 for the evc platform that only have the static C runtime version thanks
5833 Michael Fink.
5834
5835 * stlport/config/stl_bc.h, stl_dmc.h, stl_solaris.h: Removal of all references
5836 to the deprecated _STLP_NO_OWN_IOSTREAMS and _STLP_NO_NEW_IOSTREAMS macros.
5837
5838 * stlport/cmath, stl/_cmath.h: Modification of the import of the pow function
5839 for MSVC6 that has a bugged overload thanks Michael Fink report.
5840
58412004-11-09 Francois Dumont <dums@stlport...>
5842
5843 * test/unit/config_test.cpp: Creation of a test case to check correct
5844 platform/compiler configuration.
5845
5846 * stlport/config/stl_msvc.h: Definition of the _STLP_HAS_NATIVE_FLOAT_ABS
5847 now start with MSVC6.
5848
5849 * stlport/cstdlib, stl/_cmath.h: Addition of some missing math function
5850 overloads for MSVC6.
5851
58522004-11-05 Francois Dumont <dums@stlport...>
5853
5854 * stlport/config/stl_msvc.h: Definition of the _STLP_HAS_NATIVE_FLOAT_ABS
5855 starting with MSVC .Net 2002 thanks Kevin Bluck report.
5856
5857 * test/unit/cmath_test.cpp: Creation of a test case to check correct import
5858 and extensions of C functions.
5859
58602004-11-04 Petr Ovtchenkov <ptr@island...>
5861
5862 * src/explore/Makefiles: added templates CC.mak for SunPro's CC compilers;
5863 ones should be checked and fixed with real compiler.
5864
58652004-11-04 Francois Dumont <dums@stlport...>
5866
5867 * stlport/stl/_function.h, _queue.h, _stack.h, _map.h, _iterator.h:
5868 restoration of the Standard names of the protected datas.
5869
5870 * stlport/stl/_alloc.h, _alloc.c: implementation of a lock free version
5871 of the default STLport node_allocator. Supported by the Win32 platform
5872 for the moment.
5873
5874 * src/ios.cpp, locale.cpp, locale_impl.cpp: use of atomic operations
5875 under Win32 platform rather than using synchronisation primitives.
5876
5877 * stlport/stl/_tree.h, _map.h, _set.h: creation of the erase_unique and
5878 equal_range_unique methods to use the unicity information of the map and
5879 set containers in binary tree searches.
5880
5881 * stlport/stl/_string.h: Add _STLP_USE_NO_IOSTREAMS check beforing deciding
5882 not to include _string.c thanks KL
5883
58842004-11-02 Francois Dumont <dums@stlport...>
5885
5886 * stlport/stl/pointers/_deque.h: Fix for the problem of the deque<void*>
5887 instanciation thanks Alex Cosealin report
5888
5889 * test/unit/ptrspec_test.cpp: Add of a test for the previous problem.
5890
58912004-10-31 Francois Dumont <dums@stlport...>
5892
5893 * stlport/stl/_rope.h: Fix of the apply_to_pieces qualification thanks Leeya.
5894
5895 * test/unit/rope_test.cpp: New test case for the previous fix.
5896
58972004-10-30 Francois Dumont <dums@stlport...>
5898
5899 * src/explore/Makefiles/nmake/vc-common.mak: introductions of the LDFLAGS_A_REL
5900 macro to fix config problem under VC71 and VC8 beta.
5901
59022004-10-29 Petr Ovtchenkov <ptr@island...>
5903
5904 * src/explore/Makefiles/gmake/app/gcc.mak: use -fPIC for gcc 2.95.x when build
5905 application---this is a workaround for bug with running code in static constructors.
5906
5907 * stlport/config/stl_gcc.h, stlport/stl/_config.h: force usage of mutex instead
5908 of spinlock for gcc 2.95.x, due to problems with initialization of statics.
5909 Initialization of mutex has variant with structure filling, while for spinlock
5910 initialization function call required.
5911
5912 * test/unit/locale_test.cpp: avoid static object for gcc 2.95.x, due to problems
5913 with initialization of statics.
5914
59152004-10-27 Francois Dumont <dums@stlport...>
5916
5917 * stlport/stl/_config.h, _fstream.h, _ios.h, _istream.h, _monetary.h, _num_get.h,
5918 _num_put.h, _ostream.h, _sstream.h, _streambuf.h, _string.h, _time_facets.h:
5919 Restoration of the _STLP_NO_CUSTOM_IO feature removed after cleanup reported
5920 in 2004-09-28 post from Petr.
5921
5922 * stlport/stl/stl_user_config.h, _config.h, stl_msvc.h: reactivation of the
5923 auto link feature for MSVC but only if activated by the client. Moreover the
5924 new implementation of this feature is more maintenable, stl_msvc.h won't have
5925 to be edited at each STLport release.
5926
5927 * test/unit/nmake-vc-common.mak, nmake-evc-common.mak: Adoption of the auto link
5928 process.
5929
59302004-10-25 Francois Dumont <dums@stlport...>
5931
5932 * stlport/stl/_config.h: Introduction of the _STLP_DONT_USE_EXCEPTIONS which
5933 means that the client do not want to use the C++ exception feature. It is
5934 different from the _STLP_NO_EXCEPTIONS which means that the compiler do not
5935 support exceptions at all. The distinction is important for some macros definition.
5936
5937 * test/unit: Modification of the _STLP_NO_EXCEPTIONS test to the more general
5938 _STLP_USE_EXCEPTION macro.
5939
5940 * stlport/stl/_ios_base.h, src/ios.cpp: rollback of the modifications of the
5941 2004-10-24.
5942
5943 * stlport/config/stl_msvc.h, stl_gcc.h: Those 2 compilers have a exception
5944 support switch, when exceptions are unactivated they now define
5945 _STLP_DONT_USE_EXCEPTIONS rather than _STLP_NO_EXCEPTIONS.
5946
59472004-10-25 Petr Ovtchenkov <ptr@island...>
5948
5949 * stlport/stl/_sstream.c: cur direction missed in seekoff. Thanks David Obermann.
5950
5951 * sstream_test.cpp: test for problem above.
5952
59532004-10-24 Francois Dumont <dums@stlport...>
5954
5955 * stlport/stl/_ios_base.h, src/ios.cpp: definition of the ios_base::failure
5956 nested class only when exception support is activated.
5957
5958 * stlport/stl/_deque.h, _deque.c: Modification of the deque implementation
5959 to use the internal move framework.
5960
5961 * test/unit/mvctor_test.cpp: New test case for the use of the move
5962 framework within the deque container.
5963
59642004-10-21 Francois Dumont <dums@stlport...>
5965
5966 * stlport/stl/_iostring_stream.h: Simplification of the __stl_alloc_rebind
5967 overload to make it less ambiguous for the compilers using it.
5968
59692004-10-18 Francois Dumont <dums@stlport...>
5970
5971 * stlport/stl/_vector.h, _vector.c: Add of checks to know if a reference
5972 is in *this before making a systematical copy of it.
5973
59742004-10-18 Petr Ovtchenkov <ptr@island...>
5975
5976 * stlport/stl/type_manips.h: replace template <> by macro.
5977
5978 * stlport/stl/debug/_debug.h, _debug.c: __check_if_not_owner should return true
5979 in case of incompatible types and do check different from __check_if_owner;
5980 added message for check __check_if_not_owner.
5981
5982 * test/unit/mvctor_test.cpp, test/unit/ptrspec_test.cpp: fix tests to satisfy
5983 changes related to 23.1.1 Table 67 in stlport/stl/debug/_vector.h, _deque.h---see
5984 record 2004-10-14 below.
5985
59862004-10-14 Francois Dumont <dums@stlport...>
5987
5988 * stlport/stl/debug/_iterator.h: Move of some _DBG_iter_base and _DBG_iter
5989 methods implementation outside struct definition to fix call on incomplete
5990 type compile error generated by the call to the _Incrementable or _Dereferenceable
5991 functions passing *this as input parameter thanks Alexey Sarytchev
5992
5993 * test/unit/sstream_test.cpp, fstream_test.cpp: Fix of the tests on streambuf
5994 throwing exception for platform with no exception support.
5995
5996 * stl/_string.h: Add of the missing compare methods on the basic_string
5997 implementation used by compilers supporting template methods thanks Patrick
5998 Bennett report.
5999
6000 * stlport/stl/debug/_vector.h, _deque.h: Add check on the insert range method,
6001 the inserted can not be pointing to the this instance where the insertion occur.
6002
60032004-10-13 Petr Ovtchenkov <ptr@island...>
6004
6005 * src/explore/Makefiles/gmake: a bit correction of compiled and installed names
6006 of executables on *nix systems, see record 2004-09-29 by Francois.
6007
60082004-10-12 Francois Dumont <dums@stlport...>
6009
6010 * stlport/stl/_config.h: typo fix thanks KL
6011
6012 * stlport/stl/_move_construct_fwk.h, _set.h, _map.h, _hash_set.h, _hash_map.h:
6013 Extra semicolons removal thanks Wlodek Szafran reports.
6014
60152004-10-11 Petr Ovtchenkov <ptr@island...>
6016
6017 * stlport/stl/_rope.h: add typename.
6018
60192004-10-08 Francois Dumont <dums@stlport...>
6020
6021 * stlport/stl/_deque.h, _hashtable.h, _tree.h, _bvector.h: Specialization of the
6022 __type_traits struct for the iterator types.
6023
6024 * stlport/stl/_uninitialized.h, _vector.h: Relax of the rules to perform some
6025 optimizations, no more POD check, rather use of the trivial copy constructor,
6026 trivial assignment operator informations.
6027
6028 * stlport/stl/_config.h, _epilog.h: Adoption of stlport as the official STLport
6029 namespace when users cannot use the std namespace.
6030
60312004-10-07 Francois Dumont <dums@stlport...>
6032
6033 * stlport/stl/_list.h: Specialization of the __type_traits struct for list iterators.
6034 Move of the == and != operators from the base iterator class to the iterator class
6035 to make iterator of different list instanciation not comparable anymore.
6036
6037 * stlport/stl/_slist.h: ditto.
6038
60392004-10-06 Francois Dumont <dums@stlport...>
6040
6041 * stlport/stl/_rope.h, _rope.c: Code review, use of general STLport tools rather
6042 than specific rope ones. Use of compile time checks rather than runtime.
6043
6044 * stlport/stl/_bvector.h: fix to make the vector<bool> specialization movable
6045 thanks a Kelly Thompson report.
6046
60472004-10-05 Francois Dumont <dums@stlport...>
6048
6049 * src/explore/Makefiles/nmake: Application of a patch from Michael Fink to simplify
6050 the evc make system.
6051
6052 * doc/README.evc4: New version from Zdenek Nemec.
6053
60542004-10-04 Francois Dumont <dums@stlport...>
6055
6056 * test/unit/type_traits_test.cpp: A new test case to check behavior of
6057 the numerous helper functions from type_traits.h and type_manips.h.
6058
6059 * stlport/stl/type_traits.h: Fix of some bugs and addition of the __type_traits
6060 specializations of const, volatile and const volatile native types.
6061
6062 * stlport/stl/type_manips.h: Modification of the __bool2type default value
6063 so that it consider any value as true and only the 0 value false.
6064
6065 * stlport/config/stl_msvc.h, stlport/stl/_config.h: Modification of the STLport
6066 std equivalent namespace to be sure that the user rebuild correctly the STLport
6067 library when he forces the use of the dynamic or static library.
6068
6069 * src/explore/Makefiles/nmake/lib/vc-common.mak, app/vc-common.mak: Creation
6070 of the STLP_BUILD_FORCE_STATIC_RUNTIME that forces use of the static version
6071 of the native runtime.
6072
6073 * test/unit: fix of some tests that failed to compile using the
6074 _STLP_NO_ANACHRONISMS macro.
6075
60762004-09-30 Petr Ovtchenkov <ptr@island...>
6077
6078 * test/regression: catalog removed---it obsolete and unsupported; use
6079 test/unit tests instead; all tests from test/regression was moved in test/unit,
6080 sometimes in redesigned form.
6081
60822004-09-29 Francois Dumont <dums@stlport...>
6083
6084 * stlport/stl/_string_io.c: Removal of the native library specific calls of
6085 use_facet, only the STLport standard one is used.
6086
6087 * stlport/stl/_alloc.h, _alloc.c, src/dll_main.cpp: Implementation of a clean
6088 process for the node_alloc allocator. This clean is active only when
6089 _STLP_LEAKS_PEDANTIC is defined and you are using STLport as a dynamic
6090 library under Win32.
6091
6092 * src/explore: Updates of several makefiles to conform to the new library
6093 and binary naming convention.
6094
6095 * src/c_locale_win32/c_locale_win32.c: fix of the message facet name management
6096 that was generating a memory leak.
6097
60982004-09-29 Petr Ovtchenkov <ptr@island...>
6099
6100 * stlport/stl/char_traits.h: WinCE seems don't declare off_t; thanks Michael Fink.
6101
61022004-09-28 Petr Ovtchenkov <ptr@island...>
6103
6104 * Repository: iostreams and string wrapper mode removed, due to ones has
6105 a lot of restrictions in usage and frequently lead to hard recognized problems.
6106 Tonns of *_STREAMS macro replaced by _STLP_USE_NO_IOSTREAMS or _STLP_NO_IOSTREAMS
6107 as configuration macro; *NATIVE_STRING macro removed by the same reasons.
6108
61092004-09-27 Petr Ovtchenkov <ptr@island...>
6110
6111 * test/unit/gcc.mak: fix stlport library name for STLP_DEBUG mode for Solaris,
6112 thanks for separate namespaces in normal and STLP_DEBUG mode, see record
6113 2004-09-10 below.
6114
61152004-09-24 Francois Dumont <dums@...>
6116
6117 * stlport/config/stl_gcc.h: Fix of the relative include path used to access the
6118 native gcc headers. Before version 3.4.0 the 0 patch level was not part of the
6119 include path.
6120
6121 * stlport/stl/type_traits.h, _vector.h, _algobase.h, _construct.h: Removal
6122 of the __action_on_move type traits replaced by a generalization of the
6123 already existing __move_traits.
6124
6125 * test/unit/mvctor_test.cpp: New test case for the __move_traits feature.
6126
61272004-09-24 Petr Ovtchenkov <ptr@island...>
6128
6129 * src/explore/Makefiles/gmake/sunos: 'explore' makesystem adopted to work
6130 under Solaris with GNU make.
6131
6132 * test/unit/gcc.mak: ditto.
6133
6134 * src/explore/Makefiles/gmake/app/gcc.mak: ditto.
6135
6136 * src/explore/Makefiles/gmake/lib/gcc.mak: ditto.
6137
6138 * stlport/cmath: fix some math calls for Solaris.
6139
6140 * test/unit/list_test.cpp: add illustration for list iterator/reverse_iterator questions.
6141
6142 * src/explore/Makefiles/gmake/unix/lib.mak: moved from linux/lib.mak, as
6143 common rules for all *nixes.
6144
6145 * src/explore/Makefiles/gmake/linux/lib.mak: use common for all *nixes rules
6146 in unix/lib.mak.
6147
6148 * src/explore/Makefiles/gmake/freebsd/lib.mak: ditto.
6149
6150 * src/explore/Makefiles/gmake/openbsd/lib.mak: ditto.
6151
6152 * src/explore/Makefiles/gmake/sunos/lib.mak: ditto.
6153
6154 * src/explore/Makefiles/gmake/unix/lib.mak, test/unit/gcc.mak: changed library name;
6155 libraries now named as libstlport, libstlportg, libstlportstlg for optimized, with
6156 debug symbols, and with debug symbols and _STLP_DEBUG mode libraries respectivly.
6157
61582004-09-21 Francois Dumont <dums@...>
6159
6160 * stlport/stl/debug: Modification of the __check_range class in the more general
6161 __check_construct. Now it also checks for null pointers in the string interface.
6162
6163 * src/explore: Adoption of the new library naming convention for all Microsoft
6164 compilers thanks Michael Fink
6165
61662004-09-20 Francois Dumont <dums@...>
6167
6168 * src/explore/Makefiles/gmake/cygwin, mingw: Build configuration files merges
6169 within a single build system: cygming. Future portage of STLport for compilers
6170 using the GNU tools will be available from both systems. Removal of the vc6 build
6171 under cygwin, for mono-platform compilers we support only one build system.
6172
6173 * stlport/stl/_vector.h: Modification of the destructor implementation to destroyed
6174 object instances in a reverse order taking advantage of the way elements are
6175 normaly added to this container.
6176
61772004-09-16 Francois Dumont <dums@...>
6178
6179 * test/unit/cppunit/cppunit_mini.h, cppunit_proxy.h: Adaptation of the CPPUNIT
6180 framework to take care of the exception as failures thanks Zdenek Nemec
6181
6182 * stlport/config/stl_msvc.h, stl_bc.h, stl_mwerks.h, stlport/stl_user_config.h:
6183 Removal of the non intuitive and difficult to maintain automatic linking feature.
6184
6185 * Fixing of the locale implementation mecanism. Classic locale implementation is
6186 also managed by a reference counter to be sure when it is possible to release
6187 the associated ressources. Fix of a missing locale impl ref counter decrement
6188 in the template locale constructor taking a facet, it was a possible source of
6189 memory leak . Addition of a static object within locale_impl.cpp in
6190 _STLP_LEAKS_PEDANTIC mode to decrement the global locale impl ref counter when
6191 STLport library is unloaded. Addition of all the missing classic locale facets
6192 destructor in free_classic_locale.
6193
6194 * src/locale_catalog.cpp: The locale by name constructor checks the "C" name
6195 to simply copy (increment the ref counter) the classic locale implementation
6196 rather than instanciating a new one.
6197
61982004-09-15 Francois Dumont <dums@...>
6199
6200 * stlport/stl/_list.c: Modification of the _S_sort implementation, the __carry
6201 list instance is created using the __that allocator instance copy to be more
6202 allocator friendly.
6203
62042004-09-11 Francois Dumont <dums@...>
6205
6206 * stlport/config/stl_intel.h: Configuration update for Win32 Intel 8.0
6207 compiler thanks Charlemagne.
6208
62092004-09-10 Francois Dumont <dums@...>
6210
6211 * stlport/stl/_config.h: The new official namespace is now stlp_std. _STL is
6212 just an alias. STLPORT macro still contains the STLport std namespace equivalent.
6213 Moreover in _STLP_DEBUG mode, which is not binary compatible with the release
6214 or debug mode, the namespace is stlpd_std to generate link error rather
6215 than runtime crash.
6216
62172004-09-09 Francois Dumont <dums@...>
6218
6219 * stlport/stl/_config.h: _STLP_DONT_USE_NESTED_TCLASS_THROUGHT_TPARAM
6220 renamed to the more intuitive _STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE.
6221
6222 * stlport/stl/_config.h: Introduction of a new namespace stlp_private
6223 defined in the global namespace. Everything that is STLport implementation
6224 details should be in this namespace to avoid polution of the std namespace.
6225
6226 * stlport/stl/_iterator_base.h: Modification of the macro used to create
6227 iterator traits for all tree and hashtable based containers to move it in
6228 the stlp_private namespace rather than defining it as nested struct, limits
6229 the symbol size.
6230
62312004-09-08 Francois Dumont <dums@...>
6232
6233 * test/unit/fstream_test.cpp: restauration of the test added by Petr
6234 the 2004-09-03, it is finaly a different test from the one in sstream_test.cpp.
6235 Some more checks have also been integrated.
6236
6237 * stlport/stl/_ostream.c: New fix of the _M_unbuffured_copy method that was
6238 still bugged in case of a throwing output streambuf, detected thanks to the
6239 test case.
6240
62412004-09-07 Francois Dumont <dums@...>
6242
6243 * stlport/config/stl_msvc.h: Add defines of the _STLP_USE_STATIC_LIB
6244 or _STLP_USE_DYNAMIC_LIB depending on the current kind of build.
6245
6246 * stlport/stl/_streambuf.h, _streambug.c: Fix an unresolved symbol
6247 problem for MSVC6 (and before?) when STLport is used as a static library.
6248
62492004-09-06 Francois Dumont <dums@...>
6250
6251 * test/unit/nmake-evc-common.mak: Use of the dynamic runtime for the
6252 *-shared rules rather than the previous static thanks Michael Fink.
6253
6254 * test/unit/nmake-evc*.mak: end of build code factorisation, use of
6255 nmake-evc-common.mak within all makefiles thanks Michael Fink.
6256
6257 * test/unit/locale_test.cpp: Application of a patch from Michael Fink
6258 to check the "C" locale on all platforms. Fix of the money_get_put test
6259 case for the "C" locale.
6260
6261 * test/unit/allocator_test.cpp: new test case for std::allocator checks.
6262
62632004-09-05 Francois Dumont <dums@...>
6264
6265 * stlport/stl/_string_hash.h: Performance improvement, multiplication
6266 replaced by shift operations thanks Greg S.
6267
6268 * stlport/config/stl_wince_4.h: removed, never used, stl_evc.h has been
6269 prefered.
6270
6271 * test/unit/string_test.cpp: addition of a new test short_string_optim_bug
6272 to check for a compiler bugs making the short string optim invalid thanks
6273 Michael Fink.
6274
6275 * stlport/config/stl_evc.h: Deactivation of the short string optimization
6276 because of a compiler bug thanks Michael Fink.
6277
6278 * src/explore: factorisation of the evc build makefiles thanks Michael Fink.
6279
6280 * src/explore/Makefiles/nmake/lib/clean.mak, macro.mak: Addition of some
6281 file clean up for the clobber rule thanks Michael Fink.
6282
62832004-09-03 Francois Dumont <dums@...>
6284
6285 * test/unit/fstream_test.cpp, sstream_test.cpp: Move of the test for the
6286 infinite loop from FstreamTest test case to SstreamTest, addition of some
6287 checks.
6288
6289 * test/unit/full_streambuf.h: streambuf implementation simulating full
6290 output.
6291
6292 * stlport/exception: restauration of some modification removed after the
6293 rollback of the 2004-09-01.
6294
6295 * stlport/config/stl_gcc.h: homogeneification of the coding standard used
6296 within STLport, 2 spaces indentations even for preprocessor directives.
6297 Doing so, discovered a weird configuration for Mac OS platform (__APPLE__)
6298 concerning the _STLP_NATIVE_INCLUDE_PATH macro definition, fixed.
6299
6300 * stlport/stl/config/stl_*.mak: removal of all references to the
6301 _STLP_REDEFINED_STD macro as it is now the default and only way STLport
6302 use to replace native Standard library.
6303
6304 * test/unit/nmake-vc-common.mak: add inclusion of the vc_warning_disable.h
6305 file to avoid warnings during build process thanks Michael Fink.
6306
63072004-09-03 Petr Ovtchenkov <ptr@Island...>
6308
6309 * stlport/stl/_ostream.c: removed infinite loop in case when outgoing stream
6310 can't accept more chars. Thanks Daniel White, Ulrich Eckhardt, Francois Dumont.
6311
6312 * test/unit/fstream_test.cpp: test for problem above. Thanks Ulrich Eckhardt.
6313
63142004-09-02 Francois Dumont <dums@...>
6315
6316 * stlport/exception, stlport/stl/_site_config.h, test/unit/exception_test.cpp:
6317 Creation of the _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT macro to signal support of
6318 the unexpected exception mecanism. Related type/function are only brought to the
6319 STLport namespace if correctly supported, exception_test.cpp check that.
6320
6321 * New modification of the _Rb_tree and _Hashtable associated iterator structs.
6322 Removal of the container_type pass through the iterator traits; iterator traits
6323 is the type that will make each derived container iterator type real different
6324 type making them uncomparable.
6325
6326 * stlport/ctype.h: rollback of the above rollback ;-) only of course for the
6327 Win CE code fix that was part of the previous commitment.
6328
63292004-09-01 Petr Ovtchenkov <ptr@Island...>
6330
6331 * Rollback include schema: code is broken.
6332
63332004-08-31 Francois Dumont <dums@...>
6334
6335 * _STLP_INCOMPLETE_EXCEPTION_HEADER replace by the more intuitive
6336 _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT macro.
6337
6338 * Modification of the include schema of all public headers in stlport folder
6339 that need to be reentrant. Now those files are fully guarded and the specific
6340 STLport code is only included once at the end of the inclusion, the reentrancy
6341 only concern inclusion of the native headers.
6342
63432004-08-30 Francois Dumont <dums@...>
6344
6345 * stlport/stl/_deque.c: Fix of a pseudo 'uninitialized variable used' thanks
6346 Oliver Stoeneberg.
6347
63482004-08-27 Francois Dumont <dums@...>
6349
6350 * .Net 2002 (VC70) portage.
6351
63522004-08-27 Petr Ovtchenkov <ptr@Island...>
6353
6354 * src/explore/Makefiles/gmake/gcc.mak, app/gcc.mak, lib/gcc.mak: buggy C++
6355 language support in libsupc++ in gcc before 3.3 not allow to use it;
6356 link with libstdc++ instead.
6357
6358 * stlport/config/stl_icc.h: fix features for icc 7.1; fix features for Linux
6359 platforms.
6360
63612004-08-24 Francois Dumont <dums@...>
6362
6363 * stlport/config/stl_gcc.h, stl_msvc.h: fixing of configuration concerning
6364 uncaught_exception and exception handling in general thanks John Roberts.
6365
6366 * stlport/stl/_tree.h, _tree.c: Modification of the _Rb_tree_iterator struct
6367 to be able to distiguish iterator types from different tree based containers
6368 Removal of the == and != member operators of the _Rb_tree_base_iterator struct
6369 replaced by global operators taking _Rb_tree_iterator as parameters and checking
6370 that the iterators are of the same container type thanks Haroon Nassiry report.
6371
6372 * stlport/stl/_map.h, _set.h: Modification of the iterator traits used to
6373 instanciate the _Rb_tree class.
6374
6375 * stlport/stl/_hashtable.h, _hashtable.c, _hash_set.h, _hash_map.h: Similar
6376 modifications to the previous one in order to make for instance the iterator
6377 from hash_map and hash_multimap not comparable anymore.
6378
6379 * stlport/config/stl_wince.h, stlport/ctype.h: Move of the isspace C function
6380 Windows CE specific code from the config file to the ctype.h file. This fix
6381 will also apply to Embedded C++ .Net thanks Dirk report.
6382
63832004-08-23 Petr Ovtchenkov <ptr@Island...>
6384
6385 * test/unit/cppunit/cppunit_proxy.h, test/init/gcc.mak: CPPUNIT_MINI removed.
6386
6387 * src/num_get_float.cpp: suggestion to fix problem with float input for gcc 3.4.x
6388 with optimization flag.
6389
6390 * test/unit/floatio_test.cpp: test for infinity and near
6391
6392 * src/explore/Makefiles/gmake/gcc.mak, app/gcc.mak, lib/gcc.mak: fix detection of
6393 gcc version; gcc before 3.x had libgcc.a that contains some language support,
6394 so link with it in case when we avoid link with libstd++. This has relation only
6395 for linux systems.
6396
63972004-08-19 Petr Ovtchenkov <ptr@Island...>
6398
6399 * src/explore/configure.bat: setting up compiling STLport under Windows.
6400 Contribution by Michael Fink.
6401
64022004-08-13 Francois Dumont <dums@...>
6403
6404 * test/unit/gcc.mak: Addition of the _STLP_NO_CUSTOM_IO define to make test
6405 build faster.
6406
6407 * stlport/stl/_limits.h, _limits.c: Modification of the _LimG class definition.
6408 Removal of the static variables, replaced by static method having the same role
6409 but more portable. Fix link problem with MSVC compilers family when using STLport
6410 static library.
6411
6412 * stlport/stl/_bitset.h, _bitset.c: Ditto for the _Bs_G class.
6413
6414 * stlport/stl/_hashtable.h, _hashtable.c: Ditto for the _Stl_prime class.
6415
6416 * src/dll_main.cpp: thanks to the previous modification, removal of the
6417 concerned code within force_link.
6418
64192004-08-13 Petr Ovtchenkov <ptr@Island...>
6420
6421 * test/unit/cppunit/cppunit_mini.h, file_reporter.h, test_main.cpp:
6422 add function to print mess; remove def of CPPUNIT_MINI, not required; add const
6423 qualifiers.
6424
6425 * test/unit/locale_test.cpp: print checked locale name; restore table with format
6426 symbols--partially rollback changes 2004-07-29; add test for possible locale
6427 init/deinit problem---I don't see problem. Test inspired by Alex Kosilin.
6428
64292004-08-11 Francois Dumont <dums@...>
6430
6431 * src/explore/Makefiles/nmake: extension of the new build system for VC.Net
6432 2005 (VC8).
6433
6434 * src/explore/Makefiles/nmake/app: restauration of the default behavior shared
6435 rules generates executable using the STLport dynamic library and static rules
6436 use the static libraries.
6437
6438 * stlport/stl/_string.h: Add check of _STLP_NO_IOSTREAMS to force inclusion of
6439 _string.c in this case.
6440
6441 * stlport/stl/_string.c: removal of the _STLP_LINK_TIME_INSTANTIATION macro check
6442 before inclusion as the check is already done to include _string.c from _string.h.
6443
6444 * stlport/stl/_istream.h _istream.c: removal of the _M_put_num function definition
6445 from the .h and removal of all the inline implementation of the >> operators.
6446 _M_put_num is now hidden in the .c to avoid to have to deal with export of this
6447 symbol. Fix errors while using the _STLP_NO_CUSTOM_IO macro.
6448
6449 * stlport/stl/_ostream.h _ostream.c, src/ostream.cpp: ditto but for the _M_get_num
6450 function.
6451
6452 * stlport/stl/_istream.h _istream.c: _M_init_skip and _M_init_noskip are now inline
6453 functions defined within the .h to fix link errors when using the _STLP_NO_CUSTOM_IO
6454 macro.
6455
64562004-08-10 Francois Dumont <dums@...>
6457
6458 * stlport/stl/_string.h: add check of the _STLP_EXPOSE_STREAM_IMPLEMENTATION
6459 macro to include the _string.c file. Improve compile time when _STLP_NO_CUSTOM_IO
6460 is defined.
6461
6462 * stlport/stl/_string.h, stlport/stl/debug/_string.h, _string_mem_t.h: restoration
6463 of the template method specialization for backward compatibility between compilers
6464 implementating template method and the most recent one. It is considered as an
6465 STLport extension.
6466
64672004-08-09 Petr Ovtchenkov <ptr@Island...>
6468
6469 * test/compiler: tests to check whether compiler understand or not some
6470 language construction. It is NOT tests for language support libraries,
6471 only tests for compiler. The main purposes of this tests is to help
6472 for developers to find correct workarounds, if compiler don't understand
6473 some language constructions.
6474
64752004-08-09 Francois Dumont <dums@...>
6476
6477 * stlport/stl/_limits.h, stlport/config/stl_mycomp.h: introduction of a new macro
6478 configuration to signal no support of the IEC 559 specification for floating point
6479 numbers.
6480
6481 * stlport/config/stl_msvc.h: fix of the config to signal no IEC 559 support before
6482 Visual C++ .Net even if the infinity value is fine.
6483
6484 * test/unit/limits_test.cpp: New test case to check the right numeric_limits class
6485 configuration. Do not check the signaling_NaN yet...
6486
6487 * stlport/config/stl_msvc.h: Visual .Net Beta 2005 portage.
6488
6489 * stlport/stl/_ios.h: Move of the basic_ios::narrow and widen member method
6490 specialization before the explicit instanciation of the basic_ios class for
6491 the char type.
6492
6493 * stlport/stl/_construct.h, _num_put.c: fix of some unused parameter warning
6494 thanks Oliver Stoeneberg report.
6495
64962004-08-05 Francois Dumont <dums@...>
6497
6498 * Fixes of the internal move framework for compilers not supporting partial
6499 template specialization. The problem was detected thanks to the boost regression
6500 test suite.
6501
65022004-08-04 Francois Dumont <dums@...>
6503
6504 * stlport/stl/debug/_list.h, _slist.h: small review of the stlport debug code.
6505 Removal of any Standard reference in the slist class debug implementation. Removal
6506 of some unjustified iterator invalidation.
6507
6508 * stlport/stl/_locale.h, _collate.h, src/locale.cpp, locale_catalog.cpp, locale_impl.cpp:
6509 Split of the locale class implementation into _LocaleBase base class with no member
6510 template methods which is exported and the locale class which is not exported. This
6511 is a workaround for the MSVC6 compiler.
6512
65132004-08-03 Francois Dumont <dums@...>
6514
6515 * stlport/stl/_iterator.h: Fix of the back_insert_iterator, front_insert_iterator
6516 and insert_iterator to make them assignable like specify in the Standard requirements
6517 of the output iterators.
6518
6519 * test/unit/insert_test.cpp, finsert_test.cpp, binsert_test.cpp: Addition of tests for
6520 the assignment operators on the output iterators.
6521
65222004-08-02 Francois Dumont <dums@...>
6523
6524 * stlport/stl/_string.h, _string.c, debug/_string.h: split of the basic_string
6525 implementation into a class with no member templates and one with the member
6526 templates. Only the one with no member templates is exported. This is a MSVC6
6527 bug workaround as this compiler try to look for the class method symbols within
6528 the dynamic library even if this symbol is the one of template method which is
6529 not exported. That also make the basic_string implementation more clean so it
6530 has been adopted for all compilers.
6531
65322004-07-29 Francois Dumont <dums@...>
6533
6534 * test/unit/locale_test.cpp: Fix bad macro _STLP_NO_EXCEPTIONS spelling
6535 and add of a check for real locale implementation. Patch done by
6536 Michael Fink.
6537
6538 * stlport/stl/debug/_debug.h, _debug.c, _iterator.h: Modification of the
6539 __check_same_owner_or_null function name to the more intuitive
6540 __check_same_or_null_owner thanks a Aleksey Sanin remark.
6541
65422004-07-26 Petr Ovtchenkov <ptr@Island...>
6543
6544 * src/explore/Makefiles/gmake/lib/gcc.mak: avoid linkage with libstd++
6545 for gcc compilers.
6546
6547 * src/explore/Makefiles/gmake/linux/rules-so.mak: ditto
6548
6549 * src/explore/Makefiles/gmake/lib/rules-a.mak: ditto
6550
6551 * src/explore/Makefiles/gmake/app/top.mak: ditto
6552
65532004-07-21 Francois Dumont <dums@...>
6554
6555 * stlport/config/stl_gcc.h: Fix of a gcc 3.3.0 test that did not handle
6556 the gcc 2.95.x correctly thanks Jordan Breeding.
6557
6558 * src/common_rules.mak: Addition of the stlport/stl/pointers folder within
6559 the folder to be install. Add of a call to ranlib under linux mandatory under
6560 Mac OS X and without impact under the other Unixes systems.
6561
65622004-07-17 Francois Dumont <dums@...>
6563
6564 * Application of a Mac OSX patch from John Daniel (www.etresoft.com)
6565
65662004-07-15 Francois Dumont <dums@...>
6567
6568 * stlport/stl/_epilog.h: systematical use of the redefined std namespace
6569 rather than using the namespace inclusion schema.
6570
6571 * test/unit/set_test.cpp: addition of a test case to show the problem of
6572 the namespace injection schema.
6573
65742004-07-13 Francois Dumont <dums@...>
6575
6576 * stlport/numeric: removal of the _function.h header include.
6577
6578 * test/unit/divide_test.cpp: add the missing functionnal header
6579 inclusion.
6580
6581 * doc/README.msvc: new doc specific to the MSVC++ family compiler.
6582
65832004-07-12 Petr Ovtchenkov <ptr@Island...>
6584
6585 * test/unit/fstream_test.cpp: tests for unformatted extraction bug.
6586
6587 * stlport/stl/_istream.c: _M_read_unbuffered should leave delimiter
6588 in the stream in case of unformatted input. Thanks Joerg Becker.
6589
65902004-07-09 Francois Dumont <dums@...>
6591
6592 * src/sgi_mipspro.mak: add the -LANG:libc_in_namespace_std:OFF
6593 thanks Jack Perdue.
6594
65952004-07-08 Francois Dumont <dums@...>
6596
6597 * doc/README.evc3: additionnal doc thanks Michael Fink
6598
65992004-07-08 Petr Ovtchenkov <ptr@Island...>
6600
6601 * test/unit/sstream_test.cpp: added two test for unformatted extraction
6602 and newline character. Inspired by Joerg Becker.
6603
66042004-07-07 Francois Dumont <dums@...>
6605
6606 * stlport/stl/_hashtable.h, stlport/stl/_hashtable.c,
6607 stlport/stl/_hash_set.h, stlport/stl/_hash_map.h: generalization
6608 of the iterator traits adopted on the tree class. Now iterator and
6609 const_iterator on hash_set and hash_multiset are different types
6610 even if iterator is still immutable.
6611
6612 * stlport/stl/_deque.h, stlport/stl/_list.h, stlport/stl/_slist.h:
6613 Modification of the iterator classes to only use the template
6614 parameter _Traits rather than using an external type traits. It is
6615 the way hash containers and sorted containers have their iterator
6616 struct working.
6617
6618 * stlport/stl/_iterator_base.h: Addition of the immutable traits
6619 struct _Const_Const_traits and _Nonconst_Const_traits for
6620 implementation of the set, multiset, hash_set, hash_multiset
6621 iterators.
6622
6623 * stlport/stl/c_locale.h, stlport/stl/debug/_debug.h: removal of
6624 unjustified _config.h inclusions
6625
6626 * stlport/stl/_iterator_base.h: inclusion of type_traits.h only
6627 for compilers that need it.
6628
6629 * stlport/stl/_algobase.h, stlport/stl/debug/_debug.h: add inclusion
6630 of type_traits.h.
6631
6632 * stlport/stl/_algo.h, stlport/stl/_algo.c: move of the _tempbuf.h
6633 inclusion from the .h to the .c that is the only one that need it.
6634
6635 * stlport/stl/_config.h: addition of the boost support section.
6636
66372004-07-07 Petr Ovtchenkov <ptr@Island...>
6638
6639 * stlport/stl/_monetary.c: iterator __str_first out of range,
6640 i.e. outside __str_last in 'mismatch' call in __get_string, if
6641 size of interval [__first, __last) is larger than size of interval
6642 [__str_first, __str_last).
6643
6644 * test/unit/fstream_test.cpp: test for correct report by tellg added.
6645
66462004-07-05 Francois Dumont <dums@...>
6647
6648 * stlport/stl/_map.h: internal type _Rep_type set as public for use
6649 in the __move_traits specialization thanks Oliver Stoeneberg.
6650
6651 * stlport/stl/_set.h: specialization of the __move_traits to make the
6652 set and multiset movable thanks Oliver Stoeneberg.
6653
6654 * stlport/stl/_function_base.h, stlport/stl/_heaps.h: removal of the
6655 unjustified _config.h inclusion that should only be included from the
6656 _prolog.h header.
6657
66582004-07-05 Petr Ovtchenkov <ptr@Island...>
6659
6660 * src/facets_byname.cpp: avoid pass address to member of derived class into
6661 base class via constructor.
6662
6663 * src/facets_byname.cpp: remove first member---EOF---of _M_byname_table---one
6664 not required and lead to wrong reference; this a fix for test in
6665 locale_test.cpp.
6666
6667 * src/ctype.cpp: ditto.
6668
6669 * src/c_locale_win32/c_locale_win32.c: ditto.
6670
6671 * stlport/stl/_ctype.h: ditto.
6672
66732004-07-02 Petr Ovtchenkov <ptr@Island...>
6674
6675 * src/c_locale_glibc/c_locale_glibc2.c: message catalog functions dealing
6676 with message catalog descriptor; but this descriptor not necessary to be
6677 int; Linux use here void *, i.e. pointer to mmap segment.
6678
6679 * stlport/stl/_messages_facets.h: ditto.
6680
6681 * src/messages.cpp: ditto.
6682
6683 * src/message_facets.h: ditto.
6684
6685 * src/facets_byname.cpp: ditto.
6686
6687 * src/c_locale_stub.cpp: ditto.
6688
6689 * src/c_locale.h: ditto.
6690
6691 * src/c_locale_glibc/c_locale_glibc2.c: fix _Locale_extract_*_name
6692 functions.
6693
66942004-07-01 Francois Dumont <dums@...>
6695
6696 * src/explore/Makefiles/nmake/lib/vc-common.mak: creation of the
6697 STLP_BUILD_FORCE_DYNAMIC_RUNTIME option to create STLport statix
6698 versions more easily.
6699
67002004-06-30 Francois Dumont <dums@...>
6701
6702 * stlport/stl/_function.h: Use a call_traits to avoid the reference
6703 to reference problem in struct like binder1st or binder2nd.
6704
67052004-06-26 Francois Dumont <dums@...>
6706
6707 * src/explore/: portage of the explore build system for the
6708 MSVC .Net 2003 compiler.
6709
67102004-06-24 Francois Dumont <dums@...>
6711
6712 * stlport/stl/_site_config.h: Addition of an entry for the per thread
6713 allocator configuration.
6714
6715 * stlport/stl/_config.h: Avoid use of the import/export technique
6716 when not using own iostreams. This way you can use the STLport debug
6717 mode without building the libraries.
6718
67192004-06-23 Francois Dumont <dums@...>
6720
6721 * extension of the cygwin link problem workaround for mingw32.
6722
6723 * src/locale_catalog.cpp: Move of the _STLP_lock object instance
6724 declaration to limit the critical section and improve performace.
6725
6726 * stlport/stl/_pthread_alloc.h: fix of the pthread_allocator and
6727 per_thread_allocator allocate method to check for the required
6728 number of element before multiplication with the size of the objects
6729 to instanciate.
6730
67312004-06-22 Francois Dumont <dums@...>
6732
6733 * src/locale_catalog.cpp: fix of the locale facets registration system.
6734 The hash container use string as key rather than char const* so that
6735 a copy of the facet name is stored rather than a copy of the string
6736 pointer that might be freed. We also extract the complete facet name
6737 before storing it to avoid store of facet aliases that cannot be retrieved
6738 at release.
6739
67402004-06-21 Francois Dumont <dums@s...>
6741
6742 * Restauration of the cygwin support (using gcc 3.3.1). Extension of the
6743 explore build system, workaround of a link problem when using shared
6744 libraries.
6745
67462004-06-13 Petr Ovtchenkov <ptr@Island...>
6747
6748 * src/c_locale_glibc/c_locale_glibc2.c: locale_data for glibc 2.3 is differ
6749 from one for glibc 2.2.
6750
67512004-06-11 Francois Dumont <dums@...>
6752
6753 * test/unit: Modification of some tests to make the assertion
6754 clearer. Mainly add of check of the streams state before check
6755 of the stream content.
6756
6757 * test/unit/locale_test.cpp: fix of the thousands separator which is
6758 0xa0 under Win32 and not a simple ' ' for the french locale.
6759
67602004-06-07 Francois Dumont <dums@...>
6761
6762 * stlport/stl/_algo.c: rollback of the sort algo implementation
6763 to the 4.5.3 version.
6764
67652004-06-03 Francois Dumont <dums@...>
6766
6767 * stlport/stl/pointers/README, doc/pointer_specialization.txt: move and
6768 rename of the doc about pointer partial template specialization feature.
6769
6770 * doc/README.ecv4: Creation of a documentation about the install and use
6771 of STLport within Embedded Visual C++ 4 thanks Zdenek Nemec.
6772
6773 * doc/README.ecv3: Creation of a documentation about the process installment
6774 with the Embedded Visual C++ 3 thanks Michael Fink.
6775
6776 * stlport/stl/_slist.h: fix of an invalid reference to a _M_node member data
6777 on a _Slist_node_base struct (thanks gcc 3.4.0).
6778
6779 * stlport/stl/_string.c, stlport/stl/_string.h: fix of missing scopes to
6780 access the base template class _String_base _DEFAULT_SIZE enum member.
6781 (thanks gcc 3.4.0)
6782
6783 * stlport/stl/_string_base.h: fix of the anonymous union used as a parameter
6784 of the template function swap. (thanks gcc 3.4.0)
6785
6786 * stlport/stl/_ostream.h: fixes of the missing scopes to access the basefield enum
6787 within the base template class basic_ios from the basic_ostream. (thanks gcc 3.4.0)
6788
6789 * stlport/stl/_debug.c: clean up of a no more use template function.
6790 (thanks gcc 3.4.0)
6791
6792 * stlport/stl/_rope.h: fix of the missing scope to access base template class
6793 data member. (thanks gcc 3.4.0)
6794
67952004-06-02 Petr Ovtchenkov <ptr@island...>
6796
6797 * src/num_put_float.cpp: some fixes for systems that use snprintf for
6798 output, i.e. for FreeBSD and OpenBSD
6799
6800 * test/unit/floatio_test.cpp: less precise request, this should work
6801 with static buffer for systems that use snprintf
6802
6803 * stlport/stl/_config.h: detect MT for OpenBSD
6804
6805 * stlport/stl/_threads.h: use original spinlock for OpenBSD
6806
68072004-05-28 Francois Dumont <dums@...>
6808
6809 * stlport/config/stl_gcc.h: fix for the gcc3.4.0 compiler. Modification
6810 of the include path macro to generate 3.4.0 rather than 3.4 . Need
6811 template keyword to reveal use of a nested template class.
6812
6813 * stlport/stl/_config.h: creation of the _STLP_LONG_DOUBLE macro that
6814 extend to long double on compiler supporting it and double on the other
6815 as a workaround.
6816
6817 * stlport/stl/_num_put.h, stlport/stl/_num_put.c, src/num_put_float.cpp:
6818 Addition of functions to get the digits from a long double for the monetary
6819 facet.
6820
6821 * stlport/stl/_monetary.h, stlport/stl/_monetary.c, src/monetary.cpp:
6822 Implementation of the missing money_put::put method taking a long double.
6823 Fixing of the grouping application.
6824
6825 * test/unit/Makefile.inc, test/unit/locale_test.cpp: Creation of a unit test
6826 for the locale support. At creation it tests the num_put, num_get, money_put,
6827 money_get facets.
6828
6829 * src/facets_byname.cpp: fix of the monetary format determination from
6830 the locale platform API informations.
6831
68322004-05-28 Petr Ovtchenkov <ptr@Island...>
6833
6834 * src/explore/Makefiles/gmake/sysid.mak: correctly detect Mingw
6835
6836 * src/explore/Makefiles/gmake/mingw: compilation under Mingw
6837
68382004-05-27 Petr Ovtchenkov <ptr@Island...>
6839
6840 * Makefiles/gmake/linux/extern.mak: fix lib catalog name in case of cross-compilation
6841
6842 * Makefiles/gmake/freebsd/extern.mak: ditto
6843
6844 * Makefiles/gmake/openbsd/extern.mak: ditto
6845
68462004-05-26 Petr Ovtchenkov <ptr@Island...>
6847
6848 * Repository: STLport 5.0 RC1
6849
68502004-05-24 Francois Dumont <dums@...>
6851
6852 * stlport/stl/_iostream_string.h:
6853 Fix of the iostring_allocator rebind embedded struct and implementation
6854 of the missing __stl_alloc_rebind and __stl_alloc_create useful for compiler
6855 not supporting or buggy on the member template feature (VC6 for instance).
6856
68572004-05-22 Francois Dumont <dums@...>
6858
6859 * src/num_put_float.cpp, stlport/stl/_num_put.h, stlport/stl/_num_put.c:
6860 Correction of the locale grouping schema application in case of the scientific
6861 output when there is no decimal point.
6862
68632004-05-19 Petr Ovtchenkov <ptr@Island...>
6864
6865 * stlport/stl/_tree.h, stlport/stl/debug/_tree.h: fix template parameters, see rec
6866 2004-05-14 below.
6867
68682004-05-16 Petr Ovtchenkov <ptr@Island...>
6869
6870 * Repository: STLport 5.0 branch
6871
68722004-05-14 Francois Dumont <dums@...>
6873
6874 * stlport/stl/_tree.h, stlport/stl/_tree.c, stlport/stl/_set.h, stlport/stl/_map.h:
6875 Modification of the _Rb_tree implementation to restore the non mutability of the set
6876 iterators but to keep distinct type between it and the const_iterator.
6877
68782004-05-13 Francois Dumont <dums@...>
6879
6880 * stlport/config/stl_evc.h, test/unit/nmake-evc3.mak: Portage to the WinCE 3 platform.
6881 Thanks Michael Fink.
6882
68832004-05-13 Francois Dumont <dums@s...>
6884
6885 * stlport/stl/_set.h: Addition of the const/non-const methods for many methods now that
6886 iterator are not const_iterator anymore. Correction of the multiset interface to be
6887 homogeneous with the set interface.
6888
68892004-05-09 Francois Dumont <dums@...>
6890
6891 * stlport/stl/char_traits.h: Addition of the specific wchar_t static methods similar
6892 to the one of the char specialization calling the wide functions.
6893
68942004-05-08 Petr Ovtchenkov <ptr@Island...>
6895
6896 * stlport/stl/_set.h: fix definition of const/non-const for find and *_bound
6897 methods. Thanks KL for report.
6898
68992004-05-07 Petr Ovtchenkov <ptr@Island...>
6900
6901 * stlport/stl/_set.h: fix definition of const/non-const iterators.
6902 Thanks Ilya Chvetsov for report.
6903
6904 * test/unit/set_test.cpp: test that detect bug above.
6905
69062004-04-27 Francois Dumont <dums@s...>
6907
6908 * stlport/stl/_complex.h: removal of a macro guard on the template != operator.
6909
6910 * test/unit/complex_test.cpp: creation of a test case for the complex class.
6911
69122004-04-26 Francois Dumont <dums@s...>
6913
6914 * stlport/stl/_fstream.h, src/fstream.cpp: extension of the fstream interface to accept Win32
6915 HANDLE on construction and in the open method.
6916
69172004-04-26 Petr Ovtchenkov <ptr@Island...>
6918
6919 * stlport/stl/_istream.h: don't change value while input error happens.
6920 Thanks Nix.
6921
6922 * test/unit/sstream_test.cpp, test/unit/fstream_test.cpp: added test for error
6923 flags and unchanged value when input error occur.
6924
69252004-04-23 Petr Ovtchenkov <ptr@Island...>
6926
6927 * stlport/stl/_rope.h: allow search of rope, like done in string
6928
69292004-04-21 Francois Dumont <dums@...>
6930
6931 * stlport/stl/pointers/README: Creation of a documentation on the new
6932 pointer partial specialization feature.
6933
69342004-04-20 Francois Dumont <dums@s...>
6935
6936 * stlport/stl/_pair.h: modification of the make_pair signature. After the latest
6937 Standard revision it takes params per value and not reference to const.
6938
69392004-04-20 Petr Ovtchenkov <ptr@Island...>
6940
6941 * stlport/stl/pointers/_list.h: 'clear' method was forgot.
6942
6943 * test/unit/list_test.cpp: check presence of 'clear'
6944
69452004-04-15 Petr Ovtchenkov <ptr@Island...>
6946
6947 * test/unit/partial_test.cpp: wrong comparison during test
6948
6949 * test/unit/sort_test.cpp: ditto
6950
6951 * test/unit/rm_cp_test.cpp: #ifndef not required---should work
6952
6953 * test/unit/unique_test.cpp: ditto
6954
69552004-04-14 Petr Ovtchenkov <ptr@Island...>
6956
6957 * stlport/typeinfo, stlport/config/stl_wince_4.h, stlport/stl/debug/_debug.c: adaptation for Win CE .NET;
6958 Thanks Zdenek Nemec.
6959
6960 * stlport/stl/_algobase.h: calculate difference once
6961
6962 * stlport/stl/pointers/_vector.h: missed returns. Thanks KL.
6963
6964 * stlport/stl/pointers/_list.h: idem.
6965
6966 * stlport/stl/pointers/_deque.h: idem.
6967
6968 * stlport/stl/pointers/_slist.h: idem.
6969
6970 * stlport/stl/_vector.c, stlport/stl/_vector.h: big enough functions moved to non-inline section
6971
6972 * stlport/stl/_iterator.h: use reference instead of pointer for stored container
6973
69742004-04-06 Petr Ovtchenkov <ptr@Island...>
6975
6976 * stlport/stl/_prolog.h: when we in _STLP_REDEFINE_STD mode, we really
6977 need to #undef std, see mistake 2004-02-19 below.
6978
6979 * stlport/config/stl_msvc.h: partially undo workaround 2004-03-30,
6980 not required; problem was solved by #undef std in _prolog.h
6981
6982 * stlport/stl/_abbrevs.h: add new abbrevs---VC6 has problems in debug mode
6983
69842004-04-03 Petr Ovtchenkov <ptr@Island...>
6985
6986 * stlport/stl_user_config.h: expose _STLP_DONT_FORCE_MSVC_LIB_NAME for
6987 configuration.
6988
6989 * stlport/config/stl_msvc.h: incorporate content of stl_select_lib.h and
6990 vc_select_lib.h; a bit cleaned.
6991
6992 * stlport/config/stl_select_lib.h: removed.
6993
6994 * stlport/config/vc_select_lib.h: removed.
6995
69962004-04-02 Petr Ovtchenkov <ptr@Island...>
6997
6998 * src/time_facets.cpp: add #include <cstdio> for sprintf; remove
6999 c_copy_string function.
7000
7001 * stlport/stl/_time_facets.h: fix for _STLP_LEAKS_PEDANTIC.
7002
70032004-04-01 Petr Ovtchenkov <ptr@Island...>
7004
7005 * stlport/stl/_string.h: reorder of in-class template and
7006 quazi-specialization function make VC happy, ref. 2004-03-29
7007
7008 * stlport/stl/debug/_string.h: fix insert and replace for
7009 iterators that refer to same string in _STLP_DEBUG mode.
7010
70112004-03-31 Petr Ovtchenkov <ptr@Island...>
7012
7013 * src/explore/nmake-evc4-arm.mak, src/explore/nmake-evc4-x86.mak, etc.:
7014 rules for eVC4 compilers---ARM and ix86 target architectures.
7015 Contribution by Zdenek Nemec.
7016
70172004-03-30 Petr Ovtchenkov <ptr@Island...>
7018
7019 * stlport/stl/_algo.c: workaround for VC compilers---ones pass reference
7020 to parent object directly, pay no regard for temporary object
7021
7022 * stlport/new, stlport/stl/_new.h, stlport/typeinfo, stlport/config/stl_msvc.h:
7023 workaround for VC6's problem with 'using' directive, while import native
7024 bad_alloc and some other classes into STLport's namespace
7025
7026 * stlport/stl/_streambuf.h: export template class, to make VCs to be happy.
7027
7028 * stlport/stl/_valarray.h: use <new>, not <stl/_new.h>
7029
7030 * src/explore/Makefiles/nmake/lib/macro.mak, test/unit/nmake-vc6.mak:
7031 fix static library names
7032
70332004-03-29 Petr Ovtchenkov <ptr@Island...>
7034
7035 * stlport/stl/_set.h: fix problems with erase functions.
7036
7037 * stlport/stl/_string.h: VC compiler expect only one variant---template
7038 or not---of replace function with four iterators in parameters.
7039
7040 * test/unit/nmake-src-prefix.mak: really know what do with sources
7041 in cppunit.
7042
70432004-03-25 Petr Ovtchenkov <ptr@Island...>
7044
7045 * stlport/stl/_string_base.h: enlarge default string static buffer size
7046
7047 * stlport/stl/debug/_string.h: avoid attempt to invalidate iterators beyond
7048 string size range.
7049
7050 * stlport/config/stl_gcc.h: instantiation scheme that idefault used---witout
7051 --repo option---in gcc 3 made void of sense explicit instantiation within
7052 library---nothing except increased library size.
7053 Define _STLP_NO_FORCE_INSTANTIATE is default now for gcc 3.x.
7054
7055 * stlport/stl/_streambuf.h: remove specialization of
7056 basic_streambuf<char, char_traits<char> >---reference to FILE struct here
7057 isn't required and really not used anyware. Functionality of standard io
7058 streams, including synchronization with C std io streams provided in
7059 src/stdio_streambuf.cpp
7060
7061 * stlport/stl/_iosfwd.h: same.
7062
7063 * src/fstream_impl.h, src/iostream.cpp, src/stdio_streambuf.cpp: same.
7064
7065 * src/streambuf.cpp: removed.
7066
7067 * stlport/stl/_stdio_file.h: moved...
7068 * src/_stdio_file.h: ...here
7069
7070 * stlport/stdio_streambuf: moved...
7071 * src/_stdio_file.h: ...here
7072
7073 * src/explore/Makefile.inc: remove streambuf.cpp
7074
70752004-03-24 Petr Ovtchenkov <ptr@Island...>
7076
7077 * c_locale_glibc2.c: real locale implementation for glibc 2.3.x.
7078
70792004-03-15 Petr Ovtchenkov <ptr@Island...>
7080
7081 * test/unit: unit test suite intended for test/regression replacement.
7082 Zdenek Nemec contribution.
7083
70842004-03-01 Francois Dumont <dums@s...>
7085
7086 * _hash_fun.h: Correction of the hash struct specialization for the _STLP_LONG_LONG
7087 type. Thanks Vianney Lecroard
7088
7089 * type_traits.h: Integration of the boost (www.boost.org) type traits within STLport.
7090
70912004-02-21 Francois Dumont <dums@s...>
7092
7093 * _tree.h: Modification of the base class implementtion to avoid the systematical
7094 dynamic allocation of a node as the root note of the RB tree.
7095
7096 * Addition of many missing macro guards in the stlport public headers to avoid to break
7097 the stlport prolog/epilog include framework.
7098
70992004-02-19 Petr Ovtchenkov <ptr@Island...>
7100
7101 * _slist.h, debug/_slist.h,, dll_main.cpp: remove excess slist redefinitions
7102
7103 * debug/_slist.h: comment explicit usage of namespace with functions---under
7104 some conditions this hangs gcc compilers.
7105
7106 * _config.h, _cwchar.h, _epilog.h, _iterator_base.h, debug/_debug.c: multiple import
7107 of _STL namespace into std, as multiple import VENDOR_CSTD namespace into _STL
7108 namespace lead to crash of gcc compilers. Import of _STL namespace into std
7109 namespace done once in the _config.h, not in _epilog.h.
7110
7111 * _prolog.h: undef std not required in all cases; instead this is useful only
7112 for redefinition of std namespace, and should be done in the _config.h.
7113
7114 * _epilog.h: include of _config.h has no sense here.
7115
7116 * _threads.h: wrong import of _STL namespace into global namespace
7117
71182004-02-18 Francois Dumont <dums@s...>
7119
7120 * _list.h: Modification of the base list class based on the slist implementation.
7121 The list do not allocate a node systematically anymore even for the empty list.
7122
71232004-02-14 Petr Ovtchenkov <ptr@Island...>
7124
7125 * debug/_relops_cont.h, debug/_string.h: fix typos in template specializations.
7126
71272004-02-12 Petr Ovtchenkov <ptr@Island...>
7128
7129 * explore/icc.mak: experimental make system support Intel's icc compiler
7130 on Linux.
7131
71322004-02-05 Petr Ovtchenkov <ptr@Island...>
7133
7134 * iostream.cpp, _ios_base.h, iostream, locale_impl.h, locale_impl.cpp:
7135 revise standard iostream and locale initialization, remove worrits about
7136 order of static objects initialization as soon as possible; all real
7137 initialization situated in the locale_impl.cpp; locale initialization
7138 moved to _Locale_impl constructor---locale will be correctly initialized
7139 either via direct locale usage, or during standard iostream initialization,
7140 as ios_base member. This changes may lead to problems with Digital Mars
7141 and Borland compilers---should be checked and fixed.
7142
71432004-02-03 Francois Dumont <dums@s...>
7144
7145 * integration of a portage to the Windows CE .NET (eMebedded Visual
7146 C++ 4) compiler thanks Zdenek Nemek
7147
71482004-02-02 Petr Ovtchenkov <ptr@Island...>
7149
7150 * _iostream_string.h: avoid usage of iostring in the _STLP_DEBUG mode,
7151 due to iostring::iterator not convertable into string::iterator in this
7152 mode.
7153
71542004-01-29 Petr Ovtchenkov <ptr@Island...>
7155
7156 * _string.c: avoid 'insert( iterator, const_iterator, const_iterator )'
7157 instantiation in the 'replace'---VC6 has problem here.
7158
71592004-01-29 Francois Dumont <dums@s...>
7160
7161 * facets_byname.cpp: correction of the typeid use thanks to Ulrich Eckhardt.
7162
7163 * _iostream_string.h: creation and integration of a special string used within
7164 the iostream implementation to display floating point numbers. It mixes a static
7165 buffer with a dynamic one to improve performance.
7166
71672004-01-22 Francois Dumont <dums@s...>
7168
7169 * _new.h: check of the _STLP_USE_EXCEPTIONS before correction of the new
7170 operator behavior and bad_alloc exception definition.
7171
7172 * _ios_base.h: removal of the _M_get_facet function not fully implemented
7173 and unused thanks Ulrich Eckhardt.
7174
7175 * _algo.h: correction of the __less_2 helper struct to remove
7176 copy thanks Sergey Volk
7177
71782004-01-19 Petr Ovtchenkov <ptr@Island...>
7179
7180 * _debug.c: avoid recursive locks in __owner_list's mutex---equivalent
7181 code use underlie iterators, not debug wrapper iterators. By the way this
7182 approach faster---no excessive checks; solved by Boris Fomitchev.
7183
7184 * _thread.h, _debug.h: recursive-safe mutex structure removed---not
7185 required more; see reason just above.
7186
71872004-01-09 Francois Dumont <dums@s...>
7188
7189 * type_manip.h: Correction of the _IsSame struct to have both partial template
7190 specialization version and the other behaving similarly.
7191
71922004-01-07 Francois Dumont <dums@s...>
7193
7194 * _deque.c: Mysterious copies of instance to store in the containers
7195 has been removed.
7196
71972004-01-05 Francois Dumont <dums@s...>
7198
7199 * _list.h, _slist.h: Implementation of the pointer specialization for list
7200 and slist.
7201
72022003-12-31 Petr Ovtchenkov <ptr@Island...>
7203
7204 * _vector.h, _vector.c, _hashtable.h: remove excess vector redefinitions
7205
7206 * debug/_vector.h: pointer specialization for vector not derived
7207 from _Vector_base, so we should avoid references on _Vector_base
7208 class members in debug wrapper.
7209
72102003-12-22 Francois Dumont <dums@s...>
7211
7212 * _string.h: use _STLP_FORCE_STRING_TERMINATION flag to enforce
7213 null-termination of data associated with string.
7214
72152003-12-20 Francois Dumont <dums@s...>
7216
7217 * _vector.h: Implementation of the pointer specialization for vector to
7218 avoid code bloat.
7219
72202003-11-29 Francois Dumont <dums@s...>
7221
7222 * _string.h: Implementation of the short string optimization.
7223 basic_string have now a short static buffer to avoid call
7224 to the allocator when the string is short.
7225
72262003-11-29 Petr Ovtchenkov <ptr@Island...>
7227
7228 * cwchar, _config.h, _cwchar.h, _stdio_file.h, c_locale.h:
7229 support for OpenBSD, gcc 3.3.1
7230
7231 * src/explore/Makefiles/gmake/...: support for OpenBSD, gcc 3.3.1
7232
72332003-11-17 Francois Dumont <dums@s...>
7234
7235 * _alloc.h: Move of the definition of _Alloc_Traits before inclusion
7236 of _pthread_alloc.h; thanks Diego Klabjan
7237
72382003-11-16 Petr Ovtchenkov <ptr@Island...>
7239
7240 * _algobase.h, _algo.c: iter_swap and __insertion_sort don't
7241 properly deduce value type of iterator, instead uses dereference's
7242 return type; this occur when dereference return some proxy object,
7243 convertible into value type.
7244 Thanks Przemek Kuczmierczyk <przemekk834@tlen.pl> for report, test
7245 and solution.
7246
7247 * iterswp0.cpp, iterswp1.cpp, iterswp.cpp, stl_test.cpp,
7248 stl_test.h, Makefile.inc (test/regression): move iterswp0_test,
7249 iterswp1_test into iterswp.cpp, add new tests for properly deduce
7250 value type of iterator, when dereference return some proxy object.
7251
72522003-11-15 Francois Dumont <dums@s...>
7253
7254 * _string.h: implementation of the expression template for string
7255 addition with other string or C string or char.
7256
7257 * _ostream.h: adoption of the classic (even if not clear in
7258 the standard) ouput for short and int negative values in hexa
7259 or octo bases that is display according its size for the compiler.
7260 thanks Tanaka.
7261
72622003-11-14 Petr Ovtchenkov <ptr@Island...>
7263
7264 * src/c_locale.c, src/c_locale_glibc/c_locale_glibc2.c: step to
7265 real locales support with glibc >= 2.2.x
7266
7267 * src/c_locale_glibc/c_locale_glibc.c: bit fixes for locales
7268 support with glibc < 1.90, and, possible, 1.90 <= glibc < 2.1;
7269 we can't support this old code, so file
7270 src/c_locale_glibc/c_locale_glibc.c is obsolete, and will be
7271 removed.
7272
7273 * src/explore, test/regression/explore: exprimental make system.
7274
72752003-11-13 Petr Ovtchenkov <ptr@island...>
7276
7277 * STLport (repository): current development moved to CVS HEAD stream.
7278
7279 * STLport (repository): current development stream marked as STLport 5.0.
7280
72812003-11-02 Francois Dumont <dums@s...>
7282
7283 * _limits.c: Correction of the quiet and signaling NaN that was inverted
7284 for several platform; thanks Alexey Sarytchev.
7285
72862003-11-01 Francois Dumont <dums@s...>
7287
7288 * _string.c: judicious correction for string::find_first_not_of to
7289 improve performance; thanks Stephen Cleary.
7290
7291 * _bitset.h: integration of a workaround for up to MSVC6 compilers
7292 for the bitset input and output operators; thanks Jesse Booher.
7293
7294 * _ostream.h, _istream.h: fix of a non-standard behavior of the seekp
7295 and seekg calls and conformance to the latest 2003 standard; thanks Tanaka.
7296
72972003-10-26 Francois Dumont <dums@s...>
7298
7299 * _monetary.c: fix an other memory overrun on monetary display;
7300 thanks Tanaka.
7301
73022003-10-26 Petr Ovtchenkov <ptr@island...>
7303
7304 * ioiter.cpp, gcc.mak, stl_test.h, stl_test.cpp, stl_test.exp
7305 (test/regression): tests for postfix increment operator and
7306 indirection of istreambuf_iterator.
7307
73082003-10-25 Petr Ovtchenkov <ptr@island...>
7309
7310 * _istreambuf_iterator.h: fix postfix increment operator
7311 of istreambuf_iterator to provide conformance with
7312 ISO/IEC 14882:1998(E), 24.1.1, p.511, i.e.
7313 *r++ equivalent to { T tmp = *r; ++r; return tmp; }.
7314 Thanks Tanaka for the report.
7315
73162003-10-23 Francois Dumont <dums@s...>
7317
7318 * debug/: modification of the invalidation of iterators to avoid
7319 invalidation of the end iterator for the associative containers,
7320 hashed containers and list on calls to clear/assign/assignment
7321 operator. (thanks Alexey Sarytchev)
7322
7323 * _rope.h: Correction of the rope::iterator and rope::const_iterator
7324 copy constructor and assignment operator (thanks Bradley Grainger)
7325
73262003-10-16 Francois Dumont <dums@s...>
7327
7328 * _alloc.h: Add of the throw() specification on allocator comparision.
7329
7330 * _iterator.h: Correction of the operator++(int) signature to conform
7331 to the standard.
7332
7333 * _ctype.h: tolower and toupper for wchar_t types.
7334
7335 * _valarray.h: gslice_array::operator = (const value_type&) not
7336 const anymore
7337
7338 * _valarray.h: slice_array idem
7339
7340 * _valarray.h: valarray<T> operator [](const gslice&) former version
7341 was taking a copy of gslice
7342
7343 * _codecvt.h: correction of the default codecvt class definition and
7344 correction of the out method
7345
7346 (all thanks Richard Peng)
7347
73482003-10-16 Francois Dumont <dums@s...>
7349
7350 * debug/: add of the iterator range check on all container constructors.
7351
7352 * _string.h: correction of a bug on string auto referencing throught
7353 some method like insert and replace. (thanks Tanaka)
7354
7355 * _valarray.h: correction of the missing slice_array copy constructor
7356 and assignment operator in the private section (thanks Tanaka)
7357
73582003-10-11 Petr Ovtchenkov <ptr@island...>
7359
7360 * _sstream.c: [io]?stringstream must do equivalent of seek at end,
7361 after opened with ios_base::ate; this behaviour useful only when buffer
7362 initialized by string; thanks Tanaka for the report.
7363
73642003-10-06 Francois Dumont <dums@s...>
7365
7366 * _istreambuf_iterator.h, _ostreambuf_iterator.h: correction
7367 of the missing iterator base class (Thanks Tanaka)
7368
73692003-10-05 Francois Dumont <dums@s...>
7370
7371 * _string.h: correction of the replace implementation badling form
7372 for self referencing
7373
7374 * _string.h, _string.c: Modification of the _M_copy method
7375 to _M_move as basic_string do not correctly handled self referecing;
7376 thanks Tanaka
7377
73782003-09-25 Francois Dumont <dums@s...>
7379
7380 * como 4.3.0 on linux support (thanks Synge Todo and Karel Gardas)
7381
7382 * Quazy-leak patch: make memory detection tools happier,
7383 option _STLP_LEAKS_PEDANTIC in _site_config.h. (thanks Petr Ovtchenkov)
7384
73852003-09-19 Francois Dumont <dums@s...>
7386
7387 * Support of the Linux Intel C++ support (thanks Blaine Kubesh)
7388
7389 * FreeBSD support update (thanks Guy Middleton).
7390
7391 ----
7392
7393 * codecvt.cpp: charcode correction in the do_in method (thanks J Hamilton report)
7394
7395 ----
7396
7397 * _valarray.h: Correction of the missing explicit keyword in front of one of the valarray constructors
7398 (thanks Stephen Clamage)
7399
7400 ----
74012003-08-10 Francois Dumont <dums@s...>
7402
7403 * stdexcept: Correction of the mysterious 50 messages from VC7.Net (thanks Krish S)
7404
7405 ----
7406
7407 * _vector.h: implementation of the max_size method based on the allocator::max_size method
7408 (thanks Gennaro Prota from the boost forum).
7409
7410 ----
7411
7412 * _vector.c: add of the standard length_error exception to the reserve method (thanks Steven Youngs).
7413
7414 ----
7415
7416 * _alloc.h: add of a check of the number of element require to allocator::allocate to avoid a possible
7417 size_type overflow (thanks Steven Youngs).
7418
7419 ----
7420
7421 * _istream.h: move of the ws implementation within the header to avoid undefined symbol
7422 under NO_CUSTOM_IO mode (thanks Ulrich Eckhardt)
7423
7424 ----
7425
7426 * ctype.cpp : charcode correction (thanks Markus Stier reports and Alberto Barbati correction)
7427
7428 ----
7429
7430 * _function.h : all function can now be used in a non-const world (thanks Alexey Kirjushkin)
7431
7432 ----
7433
7434 * move constructor framework integration (thanks Francois Dumont)
7435
7436 ----
7437
7438 * containers interface correction for standard compliance when using explicit
7439 intanciation of not default constructible type. (thanks Alexei Agafonov report)
7440
7441 ----
7442
7443 * iostream.cpp, locale_impl.cpp : static initialization made robust for case of
7444 dynamic loader circular dependancies (Thanks Alexey Sarytchev for the report)
7445
7446 ----
7447
7448 * _function.h : integration of a new workaround for mem_fun_* family
7449 for compiler having return void bug (Thanks Pavel Kuznetsov).
7450
7451 * stl_solaris.h : v8plus compilation fix (Thanks Mukesh Kapoor)
7452
7453 * num_put_float.cpp : FreeBSD fix
7454
7455 * _construct.h : fixed case for compilers with default integer
7456 constructor bug
7457
7458 ---
7459
7460 * fstream.cpp : text file stream position bug correction (thanks Christopher Kohlert)
7461
7462 ---
7463
7464 * _num_put.c : Correction of the display of the min 64 bits signed integer values
7465 like numeric_limits<__int64>::min() on WIN32 for instance (thanks Anders Dalvander)
7466
7467 ---
7468 * _num_put.c : Add of the '+' sign when requested for the unsigned integer display
7469 (thanks Francois Dumont)
7470
7471 ---
7472
7473 * debug : many missing iterator invalidation corrected (thanks Detlev V.Davidson and Francois Dumont)
7474
7475 ---
7476
7477 * _new.h : introduction of a new config compiler switch for those which do define
7478 bad_alloc but that do not throw it! (thanks ?)
7479 ---
7480 * _new.h : class nothrow_t changed to struct nothrow_t (Thanks Francois Dumont)
7481 ---
7482 * _bvector.h : Addition of the |= and &= operator on the _Bit_reference struct (thanks Ed Rice)
7483 ---
7484 * Performance bug in type_traits.h fixed (Thanks Francois Dumont)
7485 ---
7486 * Added Linux spin lock code ()
7487 ---
7488 * Added GCC-3.x configurations
7489
7490 * Fixed HP aCC support
7491
7492 * Added OpenWatcom support
7493
7494 * version numbers bumped
7495
7496 * iostreams ported to EMX (gcc on OS/2) (Thanks Martin Schaffoener)
7497
7498 * iostreams ported to CRAY Unicos C90, T90, and J90 (Thanks Geir Johansen)
7499
7500 * stl_sunpro.h : fixed mbstate definition for SUN 4.2 (thanks lengzq)
7501
7502 * complex.cpp, _complex.h : template<> used for specializations
7503
7504 * _num_put.c : unused locale variable removed (thanks Petr Ovtchenkov)
7505
7506 * _algo.h : __reverse beautified (thanks Kabanov)
7507
7508 * dll_main.cpp : force_link() forced to be linked in
7509
7510 * stl_msvc.h : config changes for .NET
7511
7512 * _auto_ptr.h : "struct" changed to "class"
7513
7514 * _istream.c : M_read_unbuffered fixed (thanks Stefan Schwarzer )
7515
7516 * stl_gcc.h : added missing inclusion for SCO platform (thanks Emmanuel Soden)
7517
7518 * _tree.c : optimized insert_unique (thanks Timothy)
7519
7520 * _algo.c : relaxed type requirements for lower_bound, upper_bound, binary_search
7521
7522 * _algo.h : adjacent_find() expressed with compare-function flavour
7523
7524 * cpp_runtime/typeinfo : made adjustments for .NET (Thanks Daniel)
7525
7526 * cstd/cassert : guard removed (thanks Evan Cheng)
7527
7528The following changes were made in 4.5.3 since 4.5.1 release:
7529
7530 * iostreams ported to Windows CE (thanks Andrew Waters)
7531
7532 * iostreams ported to AmigaOS (thanks Steven Solie)
7533
7534 * iostreams ported to NCR 3.x (thanks Emmanuel Soden)
7535
7536 * _hash_map::operator[] : enhanced to avoid calling default object constructor
7537 (Thanks Yuri Taranenko for the report)
7538
7539 * Identifier "__value" changed everywhere to "__val" to avoid clashes with Microsoft's "managed C++" keyword (thanks Crow for the report)
7540
7541 * Most containers : swap() fixed to swap non-stateless allocators correctly (thanks Scott Meyers)
7542
7543 * _sstream : fix to account for ios_base::app flag properly
7544
7545 * type_traits.h : _IsOKToMemCpy() fixed to only allow memcpy() for same type arguments (thanks Ed Brey for the report)
7546
7547 * stl/_num_put.c, stl/_list.c : workarounds for Debian gcc (thanks Levente Farkas)
7548
7549 * <typeinfo> : fixed MS workaround (thanks Wil Evers, Andrew Ushakov)
7550
7551 * _pthread_alloc.h : added per_thread_allocator class; returns memory to the same thread it's been allocated in.
7552
7553 * _iterator_old.h : restored ->() operator for MSVC (thanks Daniel Anderson)
7554
7555 * a bunch of MPW fixes (thanks Tsutomu Yoshida)
7556
7557 * _config_compat.h : fixed compatibility definition for _STLP_NO_EXCEPTIONS (thanks Nicolas)
7558
7559 * _fstream.c : fixed bug in _M_seek_init (thanks Pavel Kuznetsov)
7560
7561 * _rope.h : rope<>::swap() methods fixed for non-partial ordering case (thanks Eric Musser)
7562
7563 * comlex_trig.cpp : fixed bug on SGI (thanks Mortis)
7564
7565 * A bunch of fixes for HP aCC compilation with -AA option (thanks John Bossom)
7566
7567 * *.c files : added conditional inclusion of corresponding *.h file to fix xlC issues with -tempinc option (thanks Alla Bogolyubov for the report)
7568
7569 * _auto_ptr.h : "struct" changed to "class" (thanks Alex Pinsker for the report)
7570
7571 * _config.h/stl_user_config.h : handling of macro _STLP_WHOLE_VENDOR_STD rectified
7572
7573 * _num_put.c : do_put(const void*) changed to output pointers in hex format (thanks Alex Rosenberg)
7574
7575 * test/eh/test_algobase.cpp : fixed alignment to work on 64-bit architectures
7576
7577The following changes were made in 4.5.1 beta 1 since 4.5 release:
7578
7579 * _config.h, _epilog.h : new namespace inclusion schema implemented for own iostreams mode
7580 (no std:: redefinition; _STL:: namespace imported into std::, instead of std:: imported to _STL.
7581 C library header files wrappers become obsolete if this mode is used and no own namespace is selected.
7582 They will be moved out to distinct directory in the next release, and default is going to be no own namespace
7583 with own iostreams.)
7584 For some compilers (VC6), this only works with _STLP_NO_OWN_NAMESPACE and _STLP_OWN_IOSTREAMS settings.
7585
7586 * iostreams ported to SCO OpenServer (thanks Emmanuel Soden)
7587
7588 * sparc_atomic.s : added "stbar" to fix multiprocessor crashes on SPARC
7589
7590 * dll_main.cpp : forced link of Bs_G static data members (thanks Sandy Martel). Function wrapped in STLport namespace.
7591
7592 * _alloc.c : fixed _STLP_CHUNK_MALLOC for debug malloc configuration (thanks Markus Sch pflin)
7593
7594 * _config_compat.h : fixed compatibility section for _STLP_NO_OWN_IOSTREAMS
7595
7596 * fstram.cpp , vc6.unicode.mak : fixed bug in wide streams handling for VC6 (thanks Jim Dolter)
7597
7598 * etc/*.txt : files list broken up into several categories for future reorganization
7599
7600 * stl_msvc.h : fixed library selection for .NET (Thanks Franz Zetting)
7601
7602 * _ftsream.h, iostream.cpp : fixed compilation for _STLP_NO_EXTENSIONS case (thanks Ben Dorman for the report)
7603
7604 * char_traits.h : fpos<> operators == made members (thanks Thomas Witt)
7605
7606 * _threads.h : added using directive for Solaris x86 compile (thanks Mukesh Kapoor)
7607
7608 * _threads.h : fixed InterlockedXXX definitions for VC++ 6.0 SP5 (thanks AndreasM)
7609
7610 * gcc-install-apple-macosx.mak : INSTALL_STEP set to install_unix (Thanks Tron Thomas)
7611
7612 * common.mak : default install directory for Unix set to /usr/local
7613
7614 * _string.h : _M_null expressed via _STLP_DEFAULT_CONSTRUCTED (Thanks Anthony)
7615
7616 * _site_config.h : made sure _STLP_NO_THREADS are set if _NOTHREADS is on (Thanks Jeppe Madsen)
7617
7618 * _config.h : _STLP_WIN32THREADS is set (bugfix) ( thanks to Andreas Malzahn )
7619
7620 * _num_put.c, common_rules.mak : patches by Levente Farkas
7621
7622 * etc/STLport-4.5.1.spec : spec file to build STLport-4.5.1 RPM added (thanks Levente Farkas)
7623
7624 * _auto_ptr.h , _debug.c, _debug.h : debug check for auto_ptr pointer added (thanks Gerd Hoeren for the idea)
7625
7626 * debug/_vector.h : invalidation for erase() corrected not to invalidate current iterator (Thanks ALberto Barbati)
7627
7628 * stl_bc.h : restored automatic library link directive for cases when STLport is not a native library
7629
7630
7631 * _auto_ptr.h : template constructor conversion bug fixed (thanks mbergal)
7632
7633 * MIngw32 patches integrated (thanks Wu Yongwei)
7634
7635 * 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)
7636
7637 * dll_main.cpp : added __malloc_alloc instantiation (thanks Michael Ehrig)
7638
7639 * _debug.c : fixed race condition in _M_detach (thanks Achim Stremplat)
7640
7641 * test/*/hpacc.mak : fixed flags and libs (thanks Michael Ehrig)
7642
7643 * typeinfo : added fix for MS VC ::bad_cast confusion (thanks Alberto Barbati)
7644
7645 * debug/_vector.h : removed extra guard for MSCV around member template constructor (thanks Alberto Barbati)
7646
7647 * _fstream.h : added extension basic_fstream<> constructors taking protection parameter (thanks Mukesh Kapoor for the idea)
7648
7649 * stl_sunpro.h : added additional C include directory choice for Solaris 6&7 (thanks John E. Bossom)
7650
7651 * _vector.c : added _vector.h inclusion for _STLP_LINK_TIME_INSTANTIATION case (thanks Alex Vanic)
7652
7653
7654 * _num_put.c : fixed overflow case with grouping (thanks Will Evers)
7655
7656 * _istreambuf_iterator.h : fixed distance_type return type (thanks Anthony Williams)
7657
7658 * debug/_vector.h : debug version of push_back() added (thanks)
7659
7660 * Iostreams ported to LynxOS 3.0 (thanks Dmitry Azovtsev)
7661
7662 * wrappers/*.h : added inclusions of the master header to fix xlC 3.x compile (Thanks Dmitry Azovtsev)
7663
7664 * Changes for BCB6 integration (thanks Nathan York)
7665
7666 * Removed all dead code blocks marked by #if OBSOLETE and #if 0
7667
7668 * Updates build spec file for Linux rpm (thanks Levene Farkas, Harold van Oostrom)
7669
7670 * complex_trig.cpp : limits changed to be static, for performance optimization (thanks Sergei Nikolaev)
7671
7672 * _algo.c : eliminated default-constructed iterators, to lift unnecessary restriction (thanks Tonci Tomic )
7673
7674 * _vector.h : fixed bug in assign() : copy used instead of __copy_aux (Thanks Tim Finer)
7675
7676 * stl_sunpro.h : restored _STLP_HAS_NO_NEW_C_HEADERS switch for SUN CC 4.2
7677
7678 * <new> : __stl_new definition put into the namespace (thanks Satoshi Nakamura)
7679
7680 * bcb*.mak : fixed md command and DYN_LINK (thanks Kirby Zhou)
7681
7682 * stl_user_config.h : added _STLP_USE_CUSTOM_CHAR_TYPES_IO switch to optimize iostreams for default case
7683
7684 * debug/_vector.h : fixed debug check bug (thanks Gerd Hoeren)
7685
7686 * _alloc.h : allocator::construct uses std::_Construct (thanks Gert Grossmann)
7687
7688 * stl/_alloc_old.h : restored (thanks Gert Grossmann)
7689
7690 * stl/_threads.h : fixed _STLP_ATOMIC_xxx macros for DEC (thanks Gert Grossman)
7691
7692 * src/_locale_impl.cpp : added missing guards for codecvt<> in _STLP_NO_MBSTATE_T case
7693
7694
7695The following changes were made in 4.5 release since 4.5 beta 8 :
7696
7697 * _threads.h, debug/_debug.h etc : STLport iostreams library made binary compatible with user code compiler w/o multithreaded switch, for some platforms
7698
7699 * config/stl_msvc.h, <cmath> : corrected _STLP_NO_USING_FOR_GLOBAL_FUNCTIONS for VC++ 6.0 SP5
7700 (Thanks Alberto Barbati)
7701
7702 * src/vc6.mak : RC macro definition restored (Thanks Graham)
7703
7704 * stl/_cmath.h, <cmath> : parts of code moved to <cmath> as <valarray> uses it (Thanks Synge Todo)
7705
7706 * stl/_tree.c : fixed insert_unique() with a hint bug (Thanks Serge Pashkov)
7707
7708 * src/gcc-*.mak : removed -nostdinc++ option
7709
7710 * stl_solaris.h : definition of _STLP_SUNPRO_EXCLUDE made dependant on _XOPEN macro instead of SUN CC macros (Thanks ecohen for the report)
7711
7712 * fstream.cpp : mmap_chunk made to be 1M instead of 16M as was originally intended (thanks Alexey Starikovskiy)
7713 * stl_sunpro.h : _STLP_LIMITED_DEFAULT_TEMPLATES not defined for compat mode anymore ( thanks Michael Kopp)
7714 * dll_main.cpp : added instantiation for _Swap_lock_struct<> (thanks simonb)
7715
7716 * _ostream.c : fixed formatting bug for width()==1
7717
7718 * config/_epilog.h : added option pop section for Borland.
7719
7720 * stl/_threads.h : fixed InterlockedXXX declarations for MS .NET (thanks Piers Haken)
7721
7722 * vc7.mak makefile added for MS VC++ 7.0 (.NET)
7723
7724 * fixed _STLP_ITERATOR_CATEGORY, etc. for Mwerks CodeWarrior 5.0
7725
7726 * stl/_num_put.c : fixed operator<<(void*) to use _STLP_LONG_LONG where available.
7727
7728 * _STLP_WHOLE_VENDOR_STD option is back supported (Thanks anton ephanov for the input)
7729
7730 * _cmath.h : added guard to mask additional overloads (thanks Tim Smith)
7731
7732 * stl_solaris.h : mbstate_t stuff defined here, old-style C headers used (Thanks Mukesh Kapoor)
7733
7734 * type_traits.h : __default_constructed() inlined (Thanks Matt Davies)
7735
7736 * new.h : fix for gcc-3.0 to look in backward directory (Thanks Ken)
7737
7738 * stlport/using/h/streambuf.h added (Thanks Gennadiy)
7739
7740 * A bunch of changes for Borland static and DLL compile (Thanks Nathan York)
7741
7742 * stl/_algo.c : fixed find_end() bug (Thanks Alberto Barbati)
7743
7744 * stl/_queue.h : priority_queue<>::_comp renamed to "comp" as standard states (thanks Todd Greer)
7745
7746 * _limits.c : added correct data member representations for AS400 and Alpha machines (thanks Holger Stash)
7747
7748 * _vector.h : added check to avoid calling allocator<>::deallocate(0) (thanks Stephen Cleary)
7749
7750 * config/_prolog.h, config/_epilog.h : added push/pop pack(8) pragmas for MSVC (thanks Todd Greer, Alberto Barbati)
7751
7752 * gcc.mak's : default spelling for "-pthreads" option changed to "-pthread" as more platforms use that.
7753
7754
7755The following changes were made in 4.5 beta 8 since 4.5 beta 7 :
7756
7757 * stl/_fstream.c : _M_underflow bug fix for custom codecvt facets (thanks Alberto Barbati)
7758
7759 * bcc55.mak : c_locale.c added to the link command (thanks Steve Loves)
7760
7761 * _iterator_base.h & many other places : iterator tags are being accepted by const reference
7762 instead of value, to fix segmentation faults experienced on certain platforms with beta7.
7763 That also should improve efficiency on same platforms (apparently, empty unreferenced
7764 objects with no constructors/destructors were copied on the stack when passed by value).
7765 Accompanied change eliminates hardcoded deference hack used in previous beta.
7766 Thanks everybody who reported this.
7767
7768 * stl_user_config.h : added _STLP_GCC_USES_GNU_LD switch. This is for those platforms
7769 where native linker does not let gcc to implement automatic instantiation of static
7770 template data members (Tru64, AIX, HP-UX).
7771 It is being put in this file as there is no automatic way to check if we are using GNU ld or not.
7772
7773 * _range_erors.h : depandancy on <stdexcept> and <string> removed for own iostreams mode
7774 (thanks Doug Gilbert)
7775
7776 * debug/_list.h : "typename" added in new methods (thanks Doug Gilbert)
7777
7778 * _config.h, src/common_macros.mak : beta version number bumped
7779
7780 * src/ftream.cpp, c_locale_win32.c : fixes for UNICODE compilation (thanks Valo)
7781
7782 * stl_gcc.h, etc : changes for GCC support on Tru64 (thanks Tobias Ernst)
7783
7784 * _alloc.c : for MS VC, malloc_dbg only used when _STLP_DEBUG_ALLOC is set, not for all debug configs
7785 (Thanks Anton Ephanov)
7786
7787 * test/eh/gcc.mak : directories stuff fixed (Thanks Brodie)
7788
7789 * stl/_complex.h : fixed declarations for long double specializations (Thanks Tsutomu Yoshida)
7790
7791 * locale_byname.cpp, etc. : fixes for Apple compilers by Tsutomu Yoshida.
7792
7793 * _ios_base.h : __evenk id changed not to clash with MS VC++ 7 (thanks Paul Ghezzi)
7794
7795 * _fstream.c : added basic_filebuf constructor workaround for compiler which do not initialize builtins
7796 to zero when default constructed (thanks Alberto Barbati)
7797
7798 * _locale.h : relaxed guerd around templated locale constructor (thanks Alberto Barbati)
7799
7800 * stl_mwerks.h : changes to accomodate CodeWarrior 6.2 (thanks cprosser)
7801
7802 * stl/_cmath.h : extracted from <cmath> for better decoupling
7803
7804 * stl/_std_prolog.h, stl/_std_epilog.h : hooks for future alternative namespace inclusion style.
7805
7806 * config/stl_gcc.h : gcc-3.0 now supported
7807
7808 * src/gcc-beos.h : only static library is being built (dynamic stil don't work) (thanks John Maddock)
7809
7810 * using/iostream : included using/istream and using/ostream
7811
7812 * dll_main.cpp : force_link() fix to prevent numeric_limits static members and
7813 _M_increment/decrement from _tree.c from being optimized out by VC++
7814 (thanks Sofus Mortensen, Alberto Barbati )
7815
7816 * _alloc.c : added CHECK_NULL_ALLOC for _STLP_CHUNK_ALLOC with malloc, to throw exception if malloc returns 0 (thanks ghunt)
7817
7818 * stl_bc.h, <exception> : fixed Borland C++ import of unexpected handler stuff
7819
7820 * stl_ibm.h, etc. : fixes for IBM VisualAge 5.02 to compile
7821
7822 * type_traits.h : bool2type<> changed to be parameterized on int, to work around SUN CC bugs (probably others, too)
7823
7824The following changes were made in 4.5 beta 7 since 4.1 beta 6 :
7825
7826 * sparc_atomic.s : file missing from the distribution restored
7827
7828 * etc/ subdirectory created; miscellanous files moved there
7829
7830 * STLport ported to BeOs, complete with iostreams (thanks John Maddock)
7831
7832 * Macro _STLP_NO_SGI_IOSTREAMS renamed to _STLP_NO_OWN_IOSTREAMS, old references to SGI removed;
7833
7834 * "prepare" target added to all makefiles in src/; should be run before using STLport;
7835 on most platforms it's empty, on some of them it creates necessary symbolic links, etc.
7836
7837 * stl/_deque.h : deque<>::erase bug (introduced in 4.1b4) fixed (thanks to BruceFlorman)
7838 : default parameter in constructor bug fixed (Thanks to Alex Vanic)
7839
7840 * stl_msvc.h : explicit template function agruments enabled for VC++;
7841
7842 * stl_wince.h : added <windows.h> inclusion
7843
7844 * stl/_limits.h : numeric_limits<bool>::digits changed from 0 to 1 (Thanks Mukesh Kapoor)
7845
7846 * stl/_function_base.h : added __identity_element() (extension name), _numeric.h : this one used instead of identity_element() (Thanks Hafeez)
7847
7848 * stl_msvc.h : explicit template function agruments enabled for VC++;
7849
7850 use_facet<> now fully conforms to the standard with VC++. (Thanks Jeff Kohn for the input)
7851
7852 * fstream.cpp : LARGE_INTEGER used to work around Intel shift instruction bug (thanks Thomas Meischner)
7853 * fstream.cpp : ULL macro fixed for Win32
7854 * fstream.cpp : Added test for for INVALID_HANDLE_VALUE and NULL base and _M_view_id,
7855 for _M_close on Win32 (Thanks Stephen Baker)
7856 * fstream.cpp : Fixed corner case with mmap() on EOF (Thanks Jens Maurer)
7857
7858 * _istream.c : fixed _M_read_buffered sssso that it does not skip delimiters (Thanks Gerd Hoeren)
7859
7860 * stl/_string.h : operator __std_string() uses constructor with a size to correctly initialize string containing null chars (Thanks Armin)
7861
7862 * iomanip : added operator for setfill object and istream (was ostream only) (Thanks Mukesh Kapoor)
7863
7864 * stl/_locale.h , stl_intel.h : fixes for Intel 5.0 compiler (Thanks Anton and Marcello Pietrobon)
7865
7866 * stl_solaris.h : added _STLP_NO_NATIVE_WIDE_FUNCTIONS
7867
7868 * New makefiles added for Intel C++ 5.0 and VC++ 6.0 in src/, test/eh, test/regression (Thanks to Marcello Pietrobon)
7869
7870 * _STLP_NO_LONG_DOUBLE case handled for STLport iostreams as well (thanks John Daniel)
7871
7872 * SUN CC compiler template cache is being properly cleaned up (Thanks Whitney Kew)
7873
7874 * dll_main.cpp : added extern "C" around DllMain() (Thanks Danny Smith)
7875
7876 * type_traits.h : added bool parameter to shut up warnings on some compilers (Thanks glassman)
7877
7878 * stl/_rope.h/.c, src/mrcpp.mak, src/mrc.mak, stl/_tree.h : MPW & MRC fixes by Tsutomu Yoshida
7879
7880 * stl_gcc.h : added path for <exceptions> et al for gcc-2.95.3 on FreeBSD (Thanks to
7881
7882 * _tree.h /_tree.c : pointers used as return values instead of iterators for implementation
7883 functions, for efficiency.
7884
7885 * _algo.h/.c : added leading underscrore to some symbols (Thanks to Ed James-Beckerman for the report)
7886
7887 * dll_main.cpp : fixed nothrow object initialization (Thanks to Dan Ingold)
7888
7889 * beta suffix in common_macros.mak updated (thanks to Whitney Kew)
7890
7891 * c_locale_win32.c : incomple fix for locale completed (thanks to Alberto Barbati)
7892
7893 * c_locale.h : _Locale_ALPHA definition for VC++ and mingw32 fixed (thanks Danny Smith)
7894
7895 * _threads.h : fixed _DECTHREADS block to work on both DEC and HP
7896
7897 * _hash_set.h : fixed typo in MSVC++ bug workaround ( Thanks to Jon_Hanson for the report)
7898
7899 * stlport/strstream.h : fixed inclusion for MSVC 6 (Thanks Joachim Achtzehnter)
7900
7901 * _config.h : _STLP_RETHROW changed to avoid warnings with NO_EXCEPTIONS (thanks Richmond)
7902
7903 * _hashtable.c : prime list definition made consistent (thanks Rainer Schnitker)
7904
7905 * stl_hpacc.h : _STLP_FORCE_ALLOCATORS workaround used for Version 3.15 also (thanks Rainer Schnitker)
7906
7907 * stl/_string_io.c : fixed using directive in operator >>() (thanks Rainer Schnitker)
7908
7909 * debug/_deque.h : a check in erase() fixed (thanks Andreas Malzahn)
7910
7911 * debug/_list.h : added remove() to do iterator invalidation; range erase() fixed to do invalidation
7912
7913 * stl_watcom.h : added switches; disabled own iosterams by default;
7914 enabled ->() operator for iterators (thanks Steven Green)
7915
7916 * <exception> : added throw spec for what(); stl_sgi.h : made _STLP_NO_EXCEPTIONS depend on __EXCEPTIONS macro (Thanks Anton Ephanov)
7917
7918 * _string_io.c : operator << : fixed width() interpretation bug
7919
7920 * stl_hpacc.h/cmath : fixed HP aCC settings for -AA option (thanks Doug Gilbert)
7921
7922
7923
7924The following changes were made in 4.1 beta 6 since 4.1 beta 5 :
7925
7926 * _istream.h, _ostream.h, _ios.h, _fstream.h : guard macros fixed to not clash with .h files in "stlport" directory
7927 Also all uses of those macros fixed. (thanks to Gerd Hoeren for the report)
7928
7929 * _debug.c/_debug.h : fixed swap() for rb_tree and list (thanks to Gerd Hoeren for the report)
7930 swap() changed not to invalidate any iterators, as prescribed by the standard
7931
7932 * forced _REENTRANT to be defined when compiling with STLport iostreams and _STLP_DEBUG
7933 (without _STLP_DEBUG it seems to be binary compatible even without that)
7934
7935 * facets_byname.cpp source introduced to replace all xx_byname.cpp files;
7936 restored separate facets .cpp complilation (they used to be included in locale_impl.cpp)
7937
7938 * introduced _STLP_USE_PERTHREAD_ALLOC to optionally use per-thread allocator
7939 (_Pthread_alloc from _pthread_alloc.h) as the deafult node allocator. Only works with pthreads for now.
7940
7941 * Switches _STLP_DONT_REDEFINE_STD and _STLP_WHOLE_VENOR_STD are back (thanks to Anton Ephanov for the report)
7942
7943 * _vector.h : fixed bug in template version of insert (Thanks to Yotam Medini for the report)
7944
7945 * monetary.cpp : unneded hack for cygwin removed (thanks to Dean Sturtevant)
7946
7947 * <iostream> : fixed _STLP_OUTERMOST_HEADER_ID macro
7948
7949 * cin/cout/cerr redefined if no namespaces and SGI iostreams are used, for all compilers, just in case.
7950 * _sparc_atomic.h : fixed and improved atomic ops for gcc
7951
7952 * test/regression : non-backward-compatible old-style __STL_xx macros use changed to _STLP_xx
7953
7954 * config/st_gcc.h : disabled non-standard "extern" use for non-DLL templates
7955
7956 * mingw32 - used 'windows.h replacement' section in _threads.h (thanks to Danny Smith)
7957
7958 * locale Win32 bug fixed (thanks to Alberto Balbarti)
7959
7960 * mingw32 : _STLP_CONST_INIT_BUG defined for dll (thanks to Danny Smith)
7961
7962 * "make clean" glitches fixed (thanks to Whitney Kew for the report)
7963
7964 * _fstream.c : fixed codecvt bug for variable width encoding
7965
7966 * _STLP_ABORT macro introduced to avoid clashes with third-party sw redefining abort() (thanks to Jerry)
7967
7968 * c_locale_win32 : fixed parse bug in __ParseLocaleString (thanks to Danny Smith)
7969
7970 * extra declspecs removed from templates to fix VC++ 7.0 ; only concrete classes have specifiers (thanks to Holger Stasch for the report)
7971
7972 * stl_msvc.h, _hashtable.h/.c : fixes for IA64 compilation (thanks to Rainer Schnitker )
7973
7974 * fixed bugs in "make install" on Unix (thanks to Carlos Paniago)
7975
7976 * dll_main.cpp : DisableThreadLibraryCalls used for optimization (thanks to Alberto Barbati)
7977
7978 * dll_main.cpp : a dummy function added to force <limits> guts for static VC++ link (thanks to Alberto Barbati)
7979
7980 * gcc-linux.mak : flags fixed (thanks to Levente Farkas )
7981
7982 * stl_msvc.h, stl_intel.h : fixed __ICL version test (thanks to Serge Pashkov)
7983
7984 * versioning schema changed on Windows to have .dll extension (thanks everybody for the feedback)
7985
7986 * NetBSD makefiles fixed
7987
7988 * A bunch of fixes by Tsutomu Yoshida : MPW fixes plus :
7989 * stl/_config.h : I believe the definition for _STLP_STD under debug/non-debug configurations swapped.
7990
7991 * typeinfo.h : added check for _STLP_NO_NEW_HEADER for using declaration.
7992 Otherwise three classes will not be included in the namespace std when #include <typeinfo>.
7993
7994 * _istream.c : use of bind2nd (which required _function.h inclusion) changed to use alternate functor (thanks to Sergei Nikolaev)
7995
7996 * 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)
7997
7998 * _string_io.c : fixed Intel C++ compilation bug in native streams mode
7999
8000 * fstream.cpp : added write-sharing for fstream file handle (Thanks to Leland Best)
8001
8002 * 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.
8003
8004 * KAI C++ 4.0 is now supported on SUN
8005
8006 * MAC OS X compilation fixed (thanks Patrick Luby for the patch)
8007
8008 * HP aCC fixes by Michael Tsirkin
8009
8010 * "INF/NAN" string representation for uppercase changed to "Inf/NaN" to behave like printf() on most systems.
8011
8012 * debug/_iterator.c : fixed SUN 6.0 compiler internal error
8013
8014 * typeinfo.h : global scope used to import bad_cast, etc. (thanks to Val Melamed)
8015
8016 * debug/_list.h : missing template versions of remove_if(), merge() added. Missing regular sort() added.
8017 (Thanks to dgehri)
8018
8019 * debug/_slist.h : missing sort() (template and regular) interface added
8020
8021 * _istream.h : eliminated warning about comparison with unsigned (Thanks to Gerd Hoeren for the report)
8022
8023 * template constructors for containers changed to be one version with default allocator agrument, where possible.
8024
8025 * remaining _STL_ prefixes changed to _STLP_
8026
8027 * Solaris 7 compilation fixed
8028
8029 * fstream.cpp : seek() allowed to seek past the end of the stream (Thanks to Phillip Toland for the input)
8030The following changes were made in 4.1 beta 5 since 4.1 beta 4 :
8031
8032 * All internal macros changed to have prefix _STLP_ instead of __STL or __STLPORT or __SGI_STL.
8033 That is to allow seamless wrapping on platforms that use SGI STL as native STL/iostreams.
8034 For backward compatibility, most of user-settable __STL_xxx macros are accepted.
8035
8036 * Versioning of shared libraries made UNIX-compliant
8037
8038
8039 * Some temporary lifetime problems in SGI iostreams which may introduce memory corruption, fixed.
8040
8041 * <new> : fixed memory leak bug due to unclever macro expansion in __stl_new (thanks to Joachim Achtzehnter)
8042
8043 * stl/_tree.h : fixed several bugs in new code for corner cases in insert_equal()/insert_unique() with a hint
8044 (thanks to Micheal Tsirkin for the report and patch)
8045
8046 * _vector.h:284 : __copy call fixed to be __copy_aux (thanks to Alex Vanic)
8047
8048 * _config.h : fixed static build bug due to __STL_EXPOSE_GLOBALS_IMPLEMENTATION typo (thanks to Serge Pashkov)
8049
8050 * fstream.cpp: __pioinfo definition for mingw32 fixed (Thanks to Danny Smith)
8051
8052 * *.SUNWCCh files changed to regular files; moved to "stlport" directory
8053
8054 * pthread_alloc : split into <pthread_alloc>/<stl/_pthread_alloc.h>
8055
8056 * lightweight atomic ops used on SPARC v8plus and v9 (gcc and SUN CC)
8057
8058 * Mac OS X support introduced (thanks to Patrick Luby)
8059
8060 * SGI iostreams ported to DJGPP (thanks to Tanes Sriviroolchai)
8061
8062 * SGI iostreams ported to NetBSD (thanks to Michael Rauch)
8063
8064 * FreeBSD build fixed, now builds for wchar_t too
8065
8066 * DEC CXX build fixed; restricted to dynamic lib only
8067
8068 * SGI MIPSpro build fixed; GNU make has to be used
8069
8070 * Set of HP fixes by Michael Tsirkin
8071
8072 * Set of Watcom fixes by Ricardo Gayozo
8073
8074 * Bunch of Apple MRC/MPW fixes by Tsutomu Yoshida integrated
8075
8076 * Bunch of iostream fixes for Cygwin, Borland and Intel 4.5, by Serge Pashkov
8077
8078 * debug/_list.h : added checking versions of pop_back/pop_front (thanks to Per Liboriussen)
8079
8080 * src/c_locale_win32.c : fix for VC5sp3 (thanks to Petr Ovtchenkov), fix for day of week order (thanks to Danny Smith),
8081 fix for null-termination in my_ltoa (thanks to Serge Pashkov)
8082
8083 * Some warnings in debug mode fixed (thanks to Marco)
8084
8085 * type_traits.h : IsP functions return types changed to be more portable (thanks to Serge Pashkov for the suggestion),
8086 __cdecl added for Win (thanks to Todd Wilson)
8087
8088 * debug/_tree.h : added owner check for erase() (thanks to Alberto Barbati)
8089
8090 * stl/_ostream.h : << operator specializations added for compilers w/o partial ordering
8091 (thanks to Alberto Barbati for pointing this out).
8092
8093 * "make install" on UNIX : fixed the target not to remove lib directory;
8094 default installdir restored to be /usr/local (thanks to Jeff de Vries for the input)
8095
8096 * _construct.h : extra cast for __STL_SHRED_BYTE removed (thanks to khesin)
8097
8098 * _relops.h header obsoleted; some extra includes removed
8099
8100 * __STL_STATIC_CONST_INIT_BUG use normalized; now it's used for all compilers not able
8101 to treat const members as coplile-time constants; enum used for them (e.g VC++).
8102 Thanks to Dean Sturtevant and Gavin Collins for the ideas.
8103
8104 * stlport/cmath : fixed SUN CC 5.0 compatibility mode bug (thanks to ade for the report)
8105
8106 * debug/_hashtable.h : fixed equal_range() bug (thanks to decraft for the report)
8107
8108 * streambuf.cpp/_streambuf.h : fixes xsgetn() bug (thanks to Vadim Egorov)
8109
8110 * istreambuf_iterator<> : nonconforming behaviour fixed (thanks to Tom Widmer)
8111
8112 * _num_put.c : fixed corner case for 0x8000000 output.
8113
8114 * num_get<> : extra get() and do_get() members for "int" and "short" removed; istream operators changed accordingly
8115
8116 * _itreambuf_iterator.h/_ostreambuf_iterator.h introduced to decouple those from num_get/num_put
8117
8118 * gcc makefiles in src : "-fno-implement-inlines" removed
8119
8120 * Added workaround for gcc's limits.h and SUN Ultra with -mcpu=ultrasparc in 32-bit mode.
8121
8122 * ios_base:: type for constants made "int" for all compilers, as it more efficient and perfectly compliant.
8123
8124 * debug/_hashtable.h : fixed typo in swap() ( thanks to Gerd Hoeren for the report)
8125
8126 * debug/_string.h : +() operators defined unconditionally ( thanks to Gerd Hoeren for the report)
8127
8128 * _istream.c : removed dependancy on _function.h (thanks to Kenny Simpson for the report)
8129
8130 * _limits.c : fixed little-endian representation of infinity & NaN (thanks to Rene van Oostrum)
8131
8132 * _stdio_file.h : fixed postdecr macro for 64-bit Solaris (thanks to Jim Cole)
8133
8134
8135The following changes were made in 4.1 beta 4 since 4.1 beta 3 :
8136
8137 * Simulation of class partial specialization (thanks to Mat Marcus and Jesse Jones of Adobe)
8138 used to provide following enhancements :
8139
8140 - type_traits are automatically specialized for all pointer types for all compilers,
8141 which makes them able to utilize type_traits-based optimizations when dealing with pointer types,
8142 automatically.
8143
8144 - all functions specialized for pointers and optimized via __type_traits
8145 ( like copy()/copy_backward(), _uninitialized_xx) now enjoy this optimization for all compilers!
8146
8147 - generic __value_type()/__difference_type()/__iterator_category() are written so user does not have
8148 to supply any of its own even when partial specialization is not available.
8149 (Note : gcc-2.7 and VC++ 5.x, 6.x have bugs which prevents them from using this enhancement, still)
8150
8151 * <iterator> : by default, non-standard iterator query names like
8152 value_type()/difference_type()/iterator_category() are not used
8153
8154 * <algo> : major revision:
8155 - algorithms without explicit Compare() function expressed via the one that has it where possible.
8156 This considerably reduces header size and reduces code bloat for programs which use both flavours of
8157 those algorithms.
8158 - some function bodies moved between .c and .h
8159 - all functions used internally moved out to _algobase.h, so no other header includes <_algo.h> anymore
8160 - find() specialized for random access iterators regardless of partial spec.
8161
8162 * Dynamic libraries (.DLL and .so) : name versioning used to prevent clashes between STLport versions
8163
8164 * src/ : code regrouped between .cpp files to provide for less executable size with dumb linkers;
8165
8166 * locale subsystem initialization : startup changed to use statically allocated structures as much as possible;
8167
8168 * <stl/_function.h> : basic stuff moved to _function_base.h ;
8169 other STL headers now include _function_base.h instead
8170
8171 * _threads.h : MT support for OS/2 added (only tested with VAC++)
8172
8173 * _stdio_file.h : added support for Solaris in ELF64 mode (thanks to Holger Stasch)
8174
8175 * stl/_hashtable.h : [] operator for hash_map optimized to take no more than find() when element is present
8176 (Thanks to Thomas Witt et al.)
8177
8178 * _ostream.h : fix for default unsigned char (thanks to Holger Stasch)
8179
8180 * all __STL_ABBREVS abbreviations moved aside in _abbrevs.h header.
8181
8182 * Fujitsu C++ Compiler support added (thanks to Holger Stasch)
8183
8184 * Initial SGI iostreams port to OS/390 introduced (thanks to Holger Stasch).
8185
8186 * More on SGI iostreams port to xlC 5.0 (thanks to Holger Stasch).
8187
8188 * Fixes for SGI MIPSpro compilers (Thanks to Ralph)
8189
8190 * Fixes for HP aCC compiler (Thanks to Michael Tsirkin)
8191
8192 * stlport/SC5 directory : removed C library .h files to fix circular inclusion problem with WS6.0 + C programs.
8193
8194 * hash_map::swap() in debug mode fixed (thanks to Anton)
8195
8196 * __STL_COMPILE_INSTANTIATE hack for DEC removed (thanks to Ralph)
8197
8198 * __STL_INLINE_STRING_LITERAL_BUG defined for HP aCC ( thanks to Jason Taylor)
8199
8200 * _bitset.h - member workaround operators made const (thanks to dzwick)
8201
8202 * _bitset.h/.c, hashtable.h -- small bugfixes (thanks to Levente Farkas)
8203
8204 * <exception> - now includes exception.h if only that is available.
8205
8206 * vector::assign() inplemented for vector::iterator when member templates are not available (Thanks to dzwick)
8207
8208 * fstream.cpp : __pioinfo used for MinGW32 (thanks to Danny Smith)
8209
8210The following changes were made in 4.1 beta 3 since 4.1 beta 2 :
8211
8212 * list<>::clear() : protected access bug fixed
8213
8214 * __STL_MUTEX_INITIALIZER set back to PTHREAD_MUTEX_INITIALIZER for pthreads case,
8215 as some platforms (eg AIX) do not treat zero-initialized mutex as valid one (thanks to Alex Vanic, Jack Andrews for help)
8216
8217 * stl/_limits.c : fixed typo preventing numeric limits constants to be defined for __STL_LITTLE_ENDIAN,
8218 constants initialization fixed (thanks to Ingo Donasch)
8219
8220 * real implementation of locales for Win32 contributed by Anton Lapach (thanks !) merged in.
8221
8222 * stl_user_config.h, _config.h : changed default to not define relops:: operators
8223 in __STL_NO_NAMESPACES mode.
8224
8225 * _numeric_facets.c/num_put.cpp : printing of integer do not use sprintf() anymore
8226
8227 * "install" target implemented for UNIX & VC++ Makefiles. It now installs headers and libraries.
8228
8229 * "src" : files merged to get less compilation time and less space overhead for imperfect compilers
8230
8231 * "debug" flavour of STLport excluded from default build and auto-select ;
8232 please use __STL_USE_DEBUG_LIB and build debug STLport lib explicitly with "make debug_dynamic"
8233 if you really need it). "all" now builds 2 kinds : "release" and "STLdebug", for static and dynamic builds.
8234
8235 * stlport_prefix.h : WIN32_LEAN_AND_MEAN set for Win32 build of STLport library, for speed.
8236
8237 * FreeBSD compile fixed; makefiles added.
8238
8239 * All "__init" changed to "_Init" to fix clashes with DEC conventions (thanks to Holger Stasch)
8240
8241 * _range_errors.h -- fixed to always set __STL_EXTERN_RANGE_ERRORS for SGI iostreams (thanks to Serge Pashkov)
8242
8243 * *gcc* mak : some files renamed to gcc-platform mak
8244
8245 * "extern template" extension used for gcc & standard i/o classes, to reduce code bloat in application's .o
8246
8247 * "extern template" extension used for VC++ & standard i/o classes (was for DLL only)
8248
8249 * _iterator.h : added template(and non-template) assignment operator for reverse_iterator<> (thanks to psw). Obsolete HP-style code moved to _iterator_old.h
8250
8251 * _alloc.h : obsolete code for raw SGI allocators support moved to separate header, for compile-time improvement
8252
8253 * More iostreams code conditionally moved out for clients who only use standard i/o and can set __STL_NO_CUSTOM_IO flag
8254
8255 * <iostream>, <locale> : initialization of locale subsystem made independent of standard streams.
8256 sync_with_stdio call before iostream initialization now works.
8257
8258 * <fstream>, <fstream.h> : added initialization code for locale , same as in <locale>
8259 (thanks to George Trojan for the report)
8260
8261 * fstream.cpp : fixed resource leak in case memory map fails on Win32 (thanks to Mark Laffoon)
8262
8263 * <cmath>, <cstdlib> : added additonal overload signatures required by chapter 26.5 of ANSI (thanks to Levente Farkas for
8264 the suggestion), plus "long long" flavour where applicable.
8265
8266 * __STL_LONG_LONG generalized to support __int64 on Win32 (thanks to Adam Gates for the suggestion)
8267
8268 * _fstream.h : added constructor from file descriptor, as extension (thanks to eric_a_benson)
8269
8270 * _fstream.h : added basic_filebuf<>::fd() file descriptor accessor, as extension (thanks to George Trojan)
8271
8272 * stl_sunpro.h : strstream masked for CC 4.2 to avoid virtual table clash (thanks to Ken)
8273
8274 * stl_msvc.h : member templates allowed for VC5, it's capable of hadling most of them (same restrictions as VC6 -- inline).
8275
8276 * debug/_debug.c : slightly changed format of debug message to please VC++ IDE (thanks for Bruce Dawson for the suggestion)
8277
8278 * src/sgi_mipspro.mak added, for SGI MIPSPro compilation
8279
8280 * merged series of HP/SUN minor fixes by Petr Ovtchenkov
8281
8282 * merged series of Intel 4.5 fixes by Serge
8283
8284 * vc_common.mak : -Yd dropped, as obsolete (thanks to psw)
8285
8286 * _range_errors.h:95 : unused argument removed (thanks to George Trojan)
8287
8288 * _string_io.h : refined _WRTLING workaround for Watcom (thanks to Serge Pashkov)
8289
8290 * _threads.h : fixed SGI threads dafines for gcc on IRIX (thanks to Brett Denner for the report)
8291
8292 * <typeinfo.h>, <typeinfo> : mutually-exclusive machanism added to allow including both in same unit.
8293
8294 * Inclusion of SGI iostreams headers put to some order; _streambuf_iterator.h file introduced to resolve circular dependancies
8295
8296The following changes were made in 4.1 beta 2 since 4.1 beta 1 :
8297
8298 * _algobase.h : fixed __STL_DECLARE_COPY_TRIVIAL definition
8299 (thanks to Charles Burfoot for the report)
8300
8301 * _algobase.h : added copy_backward specializations for builtin types for compilers w/o partial spec.
8302
8303 * _char_traits.h : fixed zero-length check for copy (thanks to Michael Tsirkin)
8304
8305 * msvc_warnings_off.h : fixed "and" typo
8306 (thanks to Charles Burfoot for the report)
8307
8308 * num_put_float.cpp : fixed rounding for "g" format (thanks to Bernd Mohr for the report)
8309
8310 * Initial port of iostreams to xlC 5.0 added (thanks to Jack Andrews)
8311
8312 * stl_sunpro.h : a fix for Forte config (Thanks to Alex Vanic for the report)
8313
8314 * old_hp/iterator.h : fixed iterator_category()/etc. import
8315
8316 * _threads.h : __stl_atomic_t used instead of "unsigned long" (thanks to Alex Vanic for the report)
8317 * using/iomanip : old-streams path used for native iomanip.h (thanks to Michael Tsirkin for the report).
8318
8319 * _bitset.h , _bitset.c : direct STL_THROW replaced with __stl_throw_xxx calls (thanks to Michael Tsirkin for the report)
8320
8321 * range_errors.h/cpp : added functions to support throwing of overflow_error and invalid_argument
8322
8323 * _threads.h : enganced HP-specific guards for HP-UX 11 (thanks to Matthew Collins for the report)
8324
8325 * _string.h : compare() bugfix (thanks to Anton Sergeev)
8326
8327 * moneypunct_byname_w.cpp : rolled back wrong bugfix (thanks to Ken)
8328
8329 * _vector.h, _deque.h, _list.h : nonstandard versions of push_back()/push_front()
8330 moved under __STL_NO_ANACHRONISMS guard (thanks to Ed Brey)
8331
8332 * _tree.c, _list.c, _slist.c, _debug.c : compile-time improvements
8333
8334 * _tree.h/c, _list.h/c, _slist.h/c, _vector.h/c, _string.h/c : using directive for data members
8335 changed to explicit "this->".
8336
8337 * _complex.h : signatures of some methods changed to take value_type instead of const value_type&,
8338 for better conformance (thanks to Petr Ovtchenkov)
8339
8340 * Bunch of fixes to compile with gcc on HP-UX 10, 11 (thanks to Petr Ovtchenkov)
8341
8342 * Code duplication for __STL_INLINE_MEMBER_TEMPLATES removed -- corresponding methods are always inlined
8343
8344 * stl_sunpro.h : fix for "-compat" mode (thanks to Vijay Ramachandran)
8345
8346 * pthread.h : new wrapper added
8347
8348 * Added custom prolog/epilog for HP aCC to select kthreads on HP-UX 11 (Thanks to Michael Tsirkin)
8349
8350 * <new> : fixed throw specification for bad_alloc (has to be inherited)
8351
8352 * Macro __STL_NATIVE_CPP_RUNTIME_INCLUDE_PATH introduced to specify separate path for <exception>, <typeinfo>, <new>.
8353 (thanks to Bryan Byrnes)
8354
8355 * <stdio_streambuf> : moved from stlport/stl to stlport directory, for SGI compatibility
8356
8357The following changes were made in 4.1 beta 1 since 4.0 :
8358
8359 * Sun Forte 6.0 C++ configuration provided (thanks to Alexander Vanic for the input)
8360
8361 * _threads.h/_config.h : added efficient support for atomic operations for
8362 DEC CXX and Watcom (thanks to Ricardo Gayoso for the input).
8363 Macros __STL_ATOMIC_xxx introduced to facilitate this.
8364
8365 * _tree.h : optimizations to lower number of comparisons (thanks to Craig Powers for the patch)
8366
8367 * _tree.h, _hashtable.h and clients : added templated find() as an extension (thanks to Michael Tsirkin for the suggestion)
8368
8369 * _tree.h : changed some inlining for performance optimization
8370
8371 * __node_alloc:: allocate broken into two functions for better inlining
8372
8373 * _threads.h : added PTHREAD_MUTEX_INITIALIZER guard for HP workaround
8374
8375 * stl_bc.h : option set to control alignment and virtual table behaviour to be consistent;
8376 library name adjusted to stlport_bcc55_xxx
8377
8378 * _algobase.h, _uninitialized.h, char_traits.h -- optimized out empty memcpy() calls
8379 (thanks to Michael Tsirkin for the report).
8380
8381 * _iterator.h : fixed reverse_iterator::operator+(int, reverse_iterator) resolution
8382 (thanks to Anton Sergeev for the input)
8383
8384 * _bitset.h : bitset<>::test bugfix (thanks to Anton Sergeev for the patch)
8385
8386 * complex_trig.cpp : use of __STL_NO_LONG_DOUBLE made consistent, fixes for Borland on Linux
8387 (thanks to John Wiegley for the input)
8388
8389 * moneypunct_byname_w.cpp : bugfixes for string copying (thanks to Anton Sergeev for the input)
8390
8391 * Watcom-specific fixes (thanks to Ricardo Gayoso for the input)
8392
8393 * src/common_macros.mak : some intermediate targets added (thanks to Jeremy for the suggestion)
8394
8395 * _debug.c : fixes for Win CE (thanks to John Hynes for the patch)
8396
8397 * Intel CC 4.0-specific fixes (thanks to Sean Cavanaugh for the input)
8398
8399 * _list.c : workaround for Watcom C++ (thanks to Mike Steed for the report)
8400
8401 * __STL_NO_NATIVE_WIDE_STREAMS definition fixed (thanks to Glen Summers for the patch)
8402
8403 * cast macros fixed to be more robust (thanks to Geoff Oakham for the report)
8404
8405 * "strstream.h" native inclusion for VC 6.0 fixed (thanks to Sathish T C for the report)
8406
8407 * debug/_string.h : improvement to string with __STL_DEBUG w/o member templates
8408 (thanks to Paul Furnanz for the report)
8409
8410 * debug/_string.h : fixed internal compiler error for VC++ 5.x (thanks to chvetsov for the report)
8411
8412 * cstdio, stl/_streambuf.h : fixes to allow gcc compilation with -ansi flag
8413
8414 * workaround for cin/cout renaming on HPUX11 for -D_REENTRANT (thankf to Jeff Sparkes for the report)
8415
8416 * cin/cout/cerr/clog renaming in STLport for CC 4.0 and SGI iostreams,
8417 to avoid symbol clashes with native ones (thanks to Dirk Schreib for the report)
8418
8419 * type_info scope fixes for VC++ 6.0 (thanks to Sathish T C for the report)
8420
8421 * typeinfo.h using fixes (thanks to Glen Summers for the input)
8422
8423 * stlcomp.h : fixes to allow compilation of .c modules with VAC++, Sun CC, DEC CC, Watcom CC
8424 (thanks to Dmitry A.Steklenev, Jonathan Richardson for the report)
8425
8426 * debug/_tree.h : fixed insert_unique() bug (thanks to Ben Liblit for the report)
8427
8428 * regression/gcc.mak made non-dependant on "." in the path
8429 (thanks to Thomas Matelich for the report)
8430
8431 * hmset1.cpp fixed to compile under OS390 ( thanks to Andrey Khovanskiy for the report)
8432