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