ac324b3 by Petr Ovtchenkov at 2008-10-24 1
2008-10-25  Petr Ovtchenkov  <ptr@void-ptr.info>
2
3
	* assert.h, errno.h: do #include <assert.h> only if 
4
	assert not defined, but don't print error in other case;
5
	this allow bypass stlport's headers;
6
7
	* cassert, cerrno: do #include <assert.h> insead of
8
	#include_next <cassert>; this allow bypass problem with
9
	#includ_next <assert.h> in gcc 4.3.x, that include
10
	/usr/include/assert.h, not stlport/assert.h.
11
f0149df by complement at 2008-08-26 12
2008-08-26  Petr Ovtchenkov  <complement@users.sourceforge.net>
13
14
	* Repository: branch for STLport 5.2, r3618
15
cdd832f by complement at 2008-07-21 16
2008-07-21  Petr Ovtchenkov  <complement@users.sourceforge.net>
17
18
	* stlport/type_traits:  decay, conditional, ebable_if added.
19
20
2008-07-18  Francois Dumont  <dums@users.sourceforge.net>
21
7b52c58 by dums at 2008-07-18 22
	* configure.bat: Specifying the compiler is now mandatory and
23
	must be first.
24
1ef511b by dums at 2008-07-17 25
2008-07-17  Francois Dumont  <dums@users.sourceforge.net>
26
27
	* stlport/stdlib.h, cstdlib: Fix errno workaround for gcc MinGW.
28
	Latest gcc version (4.3.0) includes stdlib.h in cstdlib using
29
	include_next so skipping workaround in STLport stdlib.h. So errno.h
30
	must also be included from cstdlib.
31
0e698f7 by complement at 2008-07-17 32
2008-07-17  Petr Ovtchenkov  <complement@users.sourceforge.net>
33
34
	src/details/fstream_unistd.cpp: fix bug #2001222, opening with
35
	ios_base::app should rewind write pointer to the end of the file;
36
	fix treatment of ios_base::ate (it should rewind pointer
37
	to the end of the file once) and ios_base::app (offset will be set
38
	to the end of the file prior to each write); references ---
39
	http://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2008/n2691.pdf
40
	27.8.1.4; http://www.opengroup.org/onlinepubs/7990989775/xsh/fopen.html;
41
	http://www.opengroup.org/onlinepubs/7990989775/xsh/open.html
42
43
	test/unit/fstream_test.cpp: add sample with fopen as reference point.
44
9ee4507 by dums at 2008-07-14 45
2008-07-14  Francois Dumont  <dums@users.sourceforge.net>
46
47
	* build/Makefiles/gmake: Build system updated for gcc under Cygwin,
48
	MinGW. Under Cygwin, with or without -mno-cygwin option, STLport
49
	is now a full replacement for libstdc++, building an application
50
	with it do not require -lsupc++ anymore as it is completely
51
	integrated in STLport. Under MinGW it didn't work resulting in a
52
	crash when starting an application using STLport so -lsupc++ is
53
	necessary both when linking STLport _and_ when linking the
54
	application using it.
55
6caab7a by dums at 2008-07-10 56
2008-07-10  Francois Dumont  <dums@users.sourceforge.net>
57
58
	* src/num_put_float.cpp: Use an union based technique to find out
59
	the sign of floating point values. It will maybe replace use of
60
	platform specific functions in a future version.
61
0bee941 by dums at 2008-07-10 62
	* src/stdio_streambuf.cpp, test/unit/iostream_test.cpp: Change
63
	behavior of stdio_istreambuf implementation that now always return 0 on
64
	showmanyc call. Returning -1 means that reading attempt will
65
	necessarily fail which is not the case, 0 is prefered as it means that
66
	we don't know. It is also similar to other std implementations like
67
	libstdc++.
68
c311bb3 by dums at 2008-07-02 69
2008-07-02  Francois Dumont  <dums@users.sourceforge.net>
70
71
	* configure.bat: After a very interesting debate the consesus
72
	is to put configure scripts in root folder.
73
11d62ba by dums at 2008-07-02 74
	* stlport/stl/_string_sum_methods.h: Bug report #2003308,
75
	compilation error with _STLP_USE_TEMPLATE_EXPRESSION.
76
	Regression due to remove of POD type support in basic_string
77
	implementation.
78
06c90e3 by dums at 2008-06-26 79
2008-06-26  Francois Dumont  <dums@users.sourceforge.net>
80
81
	* stlport/stl/_fstream.c: Consider read file failure in
82
	_M_underflow_aux method to avoid infinite looping on some
83
	platforms. Thanks Pawel Sikora.
84
	
b1399f7 by complement at 2008-06-26 85
2008-06-26  Petr Ovtchenkov  <complement@users.sourceforge.net>
86
87
	* build/Makefiles/gmake/unix/rules-install-so.mak: do
88
	install-headers tags when make install or install-release-shared.
89
d8fcb61 by dums at 2008-06-24 90
2008-06-24  Francois Dumont  <dums@users.sourceforge.net>
91
92
	* build/Makefiles/gmake: Cygwin/MinGW upgrade, now build
93
	without referencing libstdc++.
94
e9d3597 by dums at 2008-06-24 95
	* stlport/stl/_threads.h: Move definition of __stl_atomic_t next
96
	to definition of atomic operations to guaranty coherency.
97
ab09624 by dums at 2008-06-18 98
2008-06-18  Francois Dumont  <dums@users.sourceforge.net>
99
100
	* build: configure.bat moved to build folder. lib/Makefile,
101
	test/unit/Makefile removed from SVN, now generated by configure
102
	scripts. Under GNU make use include rather than link to
103
	reference the right make file, link seems not supported by
104
	Cygwin/MinGW make. Remove default value of STLPORT_DIR,
105
	already set in internal make files and moreover the absolute
106
	path generated in the script leads to trouble under Cygwin/MinGW.
107
8e2af68 by dums at 2008-06-18 108
	* src/num_get_float.cpp: Use an union to generate double value
109
	from 64 bits int to avoid gcc type-punned pointer warning.
110
41a50fa by complement at 2008-06-16 111
2008-06-16  Petr Ovtchenkov  <complement@users.sourceforge.net>
112
113
	* build/test/unit/gcc.mak: pass runtime pathes as absolute;
049b7f0 by complement at 2008-06-16 114
	removed LDSEARCH macro, use LDFLAGS instead;
41a50fa by complement at 2008-06-16 115
116
	* Makefile: clean in test/unit too.
117
0cd3235 by dums at 2008-06-13 118
2008-06-13  Francois Dumont  <dums@users.sourceforge.net>
119
120
	* stlport/stl/_iterator_base.h: Add a funny feature, when
121
	using both STLport and native STLs it was not possible
122
	to use std iterators in STLport containers because of the
123
	missing iterator category that is defined in std:: and
124
	not in stlport::. So now STLport map std iterator categories
125
	in stlport ones. Now it is possible to write something like
126
	that:
127
	std::string stdstr("std");
128
	stlport::string stlportstr("stlport and ");
129
	stlportstr.append(stdstr.begin(), stdstr.end());
130
	However the other side is not supported except when STLport
131
	iterators are simply pointers.
132
3fe6b66 by dums at 2008-06-10 133
2008-06-05  Francois Dumont  <dums@users.sourceforge.net>
134
809c094 by dums at 2008-06-10 135
	* src/num_get_float.cpp: Remove useless skip of white
136
	space at begining of buffer in _Stl_string_to_double function.
137
	__read_float, the function that generate that buffer do not
138
	put white space at the first place.
139
be1ee93 by dums at 2008-06-10 140
	* stlport/stl/_new.h, _range_errors.c: Remove unused
141
	_STLP_RTTI_BUG macro. Moreover __stl_new was not correctly
142
	implemented with this macro, there was no check for failed
143
	allocation.
144
	
3fe6b66 by dums at 2008-06-10 145
	* test/unit/limits_test.cpp: Remove code supposed to hide
146
	numeric_limits::max value to MSVC 8 compiler, this code was
147
	introducing a test regression. If it is producing a warning
148
	a #pragma warning should be use to hide it.
149
150
	* test/unit/num_put_get_test.cpp: Add test showing problem
151
	with code that used to be in limits test. Those tests will be
152
	activated for 5.3 to check that there is really nothing wrong
153
	with it.
154
9c3a5ff by complement at 2008-06-07 155
2008-06-07  Petr Ovtchenkov  <complement@users.sourceforge.net>
156
157
	* configure: don't duplicate options in config.mak, that
158
	has default values in makefiles.
159
5aca496 by complement at 2008-06-06 160
2008-06-06  Petr Ovtchenkov  <complement@users.sourceforge.net>
161
162
	* configure: put it on common place for ./configure;
163
164
	* build/Makefiles/gmake/targetdirs.mak: use $(DESTDIR)
165
	as in common practice (change root of installation, but
166
	don't change run paths);
167
168
	* build: by default use make for gcc;
169
170
	* Makefile: top makefile for common project task;
171
172
	* build/Makefiles/gmake/depend.mak: fix options for ctags
29df3b0 by complement at 2008-06-06 173
	and etags;
174
175
	* configure, build/Makefiles/gmake/top.mak: take into account
176
	extra flags for linker.
5aca496 by complement at 2008-06-06 177
89ff842 by dums at 2008-06-05 178
2008-06-05  Francois Dumont  <dums@users.sourceforge.net>
179
180
	* stlport/stl/_function_adaptors.h: Fix instantiation of
181
	unary_function and binary_function as base type of _Mem_fun0_ref,
182
	_Mem_fun1_ref, _Const_mem_fun0_ref, _Const_mem_fun1_ref,
183
	_Void_mem_fun0_ref, _Void_mem_fun1_ref, _Void_const_mem_fun0_ref,
184
	_Void_const_mem_fun1_ref. Those classes are use as a workaround for
185
	compiler missing class partial template specialization or that don't
186
	support return of void. Instantiation is now done without reference
187
	qualifier as specified by the Standard and as done in the
188
	implementation used when workaround is not necessary.
189
424bcaa by dums at 2008-06-03 190
2008-06-03  Francois Dumont  <dums@users.sourceforge.net>
191
e098d0a by dums at 2008-06-03 192
	* src/ios.cpp, stlport/stl/_complex.c, _ios.c, _ios.h, _ios_base.h,
193
	_istream.c, _num_get.c, _num_put.c: Remove invalid cached facet
194
	pointers in ios_base class. This class can be used in a char or
195
	wchar_t instantiation context making cast to ctype<char> or
196
	ctype<wchar_t> invalid resulting in an application crashed. The
197
	only safe access to facet instances from a ios_base instance is through
198
	the use_facet<Facet>(getloc()) function. Only _M_cached_ctype has been
199
	kept in basic_ios class even if small bench hasn't show real
200
	enhancement compared to using use_facet. 
201
202
	* stlport/stl/_time_facets.c: In addition to above modifications
203
	time_get implementation has been simplified as localized info are
204
	now stored as wchar_t for wide char instantiation. We do not need
205
	to use ctype.widen method anymore.
206
207
	* test/unit/time_facets_test.cpp: Add test for time_get wchar_t
208
	instantiation.
209
424bcaa by dums at 2008-06-03 210
	* test/unit/cppunit/cppunit_mini.h: Fix report of ignored/explicit
211
	tests.
212
6ad0e26 by dums at 2008-05-27 213
2008-05-27  Francois Dumont  <dums@users.sourceforge.net>
214
1f110cc by dums at 2008-05-28 215
	* stlport/stl/_alloc.h: Code simplification, clean up null
216
	pointer checks as allocators should never return it but rather
217
	throw a bad_alloc exception.
218
219
2008-05-27  Francois Dumont  <dums@users.sourceforge.net>
220
6ad0e26 by dums at 2008-05-27 221
	* test/unit/cppunit/cppunit_mini.h, file_reporter.h: Fix
222
	counting of failed test, won't report more failures than tests
223
	anymore. Now also report explicit tests.
224
c9339f2 by dums at 2008-05-15 225
2008-05-15  Francois Dumont  <dums@users.sourceforge.net>
226
227
	* src/allocators.cpp, locale_catalog.cpp, num_put_float.cpp:
228
	Use static method returning static instance to mutex rather than
229
	direct access to a static mutex instance to control initialization
230
	order of static variables thanks Peter Hrenka report.
231
f42d84e by dums at 2008-05-12 232
2008-04-26  Francois Dumont  <dums@users.sourceforge.net>
233
234
	* stlport/stl/_function.h, type_traits.h: Adoption of Defect Report 109
235
	Missing binders for non-const sequence elements.
236
237
	* test/unit/bind_test.cpp: Test for DR above.
238
8884421 by complement at 2008-05-11 239
2008-05-11  Petr Ovtchenkov  <complement@users.sourceforge.net>
240
241
	* stlport/stl/_string.c: from formal (ISO/IEC 14882:2003) point of view 
242
	string s; string::size_type p = s.find( "", 0, 0 ); should return 0 in p,
243
	i.e. position out-of-bound of string; people near Standard commete has
244
	opinion that Standard correct in this point and not require clarification
ad900fe by dums at 2008-05-12 245
	(opposite to my opinion); even if it looks like bogus behavior for me,
8884421 by complement at 2008-05-11 246
	it fixed to conform standard; see bugreport #1872656;
247
248
	* test/unit/string_test.cpp: test for issue above.
249
802e1ae by complement at 2008-05-10 250
2008-05-10  Petr Ovtchenkov  <complement@users.sourceforge.net>
251
8884421 by complement at 2008-05-11 252
	* stlport/stl/_istream.c, stlport/stl/_ostream.h: ISO/IEC 14882:2003
802e1ae by complement at 2008-05-10 253
	(and 1998 too) assume change as get as put positions with
254
	seekg and seekp (27.6.1.3, par 38; 27.6.2.4 par 2), but this
255
	contradict to common practice and proposed draft N2588
8884421 by complement at 2008-05-11 256
	(27.6.1.3, par 41; 27.6.2.5, par 4); now STLport implement
ad900fe by dums at 2008-05-12 257
	(i.e. change present behavior) the draft's point of view;
802e1ae by complement at 2008-05-10 258
	this reflect patch #1650657 by Jan Echternach;
259
	
260
	* test/unit/sstream_test.cpp: test for issue above.
261
9ba82ae by dums at 2008-04-26 262
2008-04-26  Francois Dumont  <dums@users.sourceforge.net>
263
264
	* Patches #1940126, #1941267, #1941814 from Johan Andersson for evc8
265
	Pocket PC support and build of tests without warnings.
266
2558ec5 by dums at 2008-04-24 267
2008-04-24  Francois Dumont  <dums@users.sourceforge.net>
268
2438ce0 by dums at 2008-04-24 269
	* Patch 1937823 from Johan Andersson to add Microsoft Visual
270
	Studio 2008 support.
271
272
	* stlport/stl/_algobase.h: Patch 1935497 from Andrey Semashev to
273
	apply a common optimization in STLport algos for random access
274
	iterators to fill and fill_n algos.
2558ec5 by dums at 2008-04-24 275
656d464 by complement at 2008-04-23 276
2008-04-23  Petr Ovtchenkov  <complement@users.sourceforge.net>
277
278
	* src/num_put.cpp: remove ambiguity of char to int conversion
279
	(comparison with integers, check for negative value); remove
280
	ambiguity with postfix increment in index in conditional
281
	expression.
282
4cf8f74 by complement at 2008-04-22 283
2008-04-22  Petr Ovtchenkov  <complement@users.sourceforge.net>
284
285
	* build/Makefiles/gmake/gcc.mak, build/lib/configure: take
286
	into account CFLAGS, EXTRA_CFLAGS, because of C compiler in use too.
287
ad900fe by dums at 2008-05-12 288
2008-04-17  Francois Dumont  <dums@users.sourceforge.net>
289
290
	* stlport/stl/_string.h: Remove support for non POD type in basic_string
291
	implementation.
292
4b0b6eb by complement at 2008-04-08 293
2008-04-08  Petr Ovtchenkov  <complement@users.sourceforge.net>
294
a19995e by complement at 2008-04-08 295
	* build/Makefiles/gmake/lib/gcc.mak: try to create $(PRE_OUTPUT_DIR) before
296
	run lipo; impact only MacOS;
297
298
	* build/Makefiles/gmake/sysid.mak: uname -m on MacOS return
299
	power-macintosh, but identify architechture as ppc.
4b0b6eb by complement at 2008-04-08 300
c1484aa by dums at 2008-03-28 301
2008-03-28  Francois Dumont  <dums@users.sourceforge.net>
302
303
	* stlport/assert.h: Bug #1894882: Apply a technique similar to the
304
	one used in errno.h to detect when assert has been defined before
305
	including assert.h.
306
8ff02c4 by dums at 2008-03-21 307
2008-03-21  Francois Dumont  <dums@users.sourceforge.net>
308
309
	* Patch 1876529 from Johan Andersson to add support for VS 2005
310
	bundled Pocket PC 2003 SDK.
311
072b942 by complement at 2008-03-18 312
2008-03-18  Petr Ovtchenkov  <complement@users.sourceforge.net>
313
314
	* stlport/stl/_string.c: derived from patch #1914475, wrong
315
	replace for selfreferencing string; thanks Farid Zaripov;
316
317
	* test/unit/string_test.cpp: test for problem above.
318
72961a8 by dums at 2008-03-17 319
2008-03-17  Francois Dumont  <dums@users.sourceforge.net>
320
321
	* stlport/stl/_stdexcept_base.h, _stdexcept_base.c,
322
	type_manips.h, src/num_put_float.cpp,
323
	test/unit/num_put_get_test.cpp: Borland patch from Eric Sanford.
324
	No need for a __Named_exception workaround anymore. Force
325
	floating point control word when testing special floating point
326
	operations. Change implementation _Copyable and add a workaround
327
	to correctly render long double max value that is consider as
328
	equal to double max value.
329
0713d09 by dums at 2008-03-10 330
2008-03-10  Francois Dumont  <dums@users.sourceforge.net>
331
332
	* build/Makefiles: Normalization of --with-static-rtl and
333
	--with-dynamic-rtl extended to configure script for Borland
334
	and DMC compilers.
335
3fbc473 by dums at 2008-03-08 336
2008-03-08  Francois Dumont  <dums@users.sourceforge.net>
337
338
	* test/unit/cppunit/cppunit_mini.h: New mini cppunit framework
339
	feature, the explicit tests that have to be explicitly tested
340
	thanks to the -t option to run.
341
342
	* test/unit/unordered_test.cpp: benchmark1 and benchmark2 tests
343
	are now explicit.
344
920397b by dums at 2008-03-08 345
	* stlport/stl/_stdexcept_base.h, _stdexcept_base.c:
346
	__Named_exception that contains dynamically allocated memory
347
	require a copy constructor and assignment operator. Thanks bug
348
	report #1908626 from Ilya Dogadaev.
349
c24514a by dums at 2008-03-08 350
	* build/Makefiles: Normalized some configure options:
351
	--without-thread, --without-rtti, --with-lib-motif. 
352
4c9efd3 by dums at 2008-03-06 353
2008-03-06  Francois Dumont  <dums@users.sourceforge.net>
354
355
	* Fix rtti management:
356
	 - no rtti support do not imply no type_info struct definition.
357
	 - #error message in typeinfo to signal missing rtti support
358
	has been removed.
359
	 - locale implementation do not use typeid anymore to enhance
360
	runtime_error message thrown by combine message when we cannot
361
	find the combined facet. It was introducing an annoying dependency
362
	making use of the lib without rtti support impossible.
363
c007604 by dums at 2008-03-05 364
2008-03-05  Francois Dumont  <dums@users.sourceforge.net>
365
366
	* stlport/stl/_range_errors.h: Signal function responsible
367
	for throwing excepions as not returning to the DMC compiler.
368
a68aeec by dums at 2008-03-03 369
2008-03-03  Francois Dumont  <dums@users.sourceforge.net>
370
371
	* build/Makefiles/gmake: Eric Sanford patch to make generation
372
	of debug symbols optional when using Borland compiler to build
373
	unit tests.
374
8ed420a by dums at 2008-03-03 375
	* stlport/stl/config: Normalization of verbose mode used to get
376
	feedback about build context when using STLport.
377
	_STLP_VERBOSE_AUTO_LINK has been renamed in _STLP_VERBOSE and
378
	report additional information like rtti, exception support,
379
	mono/multi threaded, static/dynamic library.
380
381
	* stlport/stl/_check_config.h: Unused, removed.
382
81a59ef by dums at 2008-03-03 383
	* stlport/typeinfo: Report use of this header when there is no
384
	RTTI support, only when we can detect it of course.
385
c33d336 by dums at 2008-02-29 386
2008-02-29  Francois Dumont  <dums@users.sourceforge.net>
387
05bd7df by dums at 2008-02-29 388
	* build/Makefiles/gmake: Several modif for Digital Mars support.
389
c33d336 by dums at 2008-02-29 390
	* stlport/stl/_function_base.h: Hide protected constructor not
391
	supported by Borland compiler.
392
393
	* stlport/stl/config/_bc.h: Now detect Rtti support.
394
68d221f by complement at 2008-02-28 395
2008-02-28  Petr Ovtchenkov  <complement@users.sourceforge.net>
396
397
	* build/Makefiles/gmake/gcc.mak: use more convenient option
398
	-dumpversion to detect compiler's revision; check that
399
	-fuse-cxa-atexit really required; remove -fident option;
400
401
	* build/Makefiles/gmake/targetdirs.mak: take into account DESTDIR;
402
bcdee47 by complement at 2008-02-28 403
	* build/lib/configure: write DESTDIR as prefix for installation pathes;
404
405
	* stlport/type_traits:  type traits, close to JTC1/SC22/WG21
406
	C++ 0x working draft
407
	[http://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2008/n2521.pdf]
68d221f by complement at 2008-02-28 408
c922c51 by dums at 2008-02-26 409
2008-02-26  Francois Dumont  <dums@users.sourceforge.net>
410
411
	* Rationalization in detection of real localization implementation.
412
	_STLP_REAL_LOCALE_IMPLEMENTED removed, the whole detection mecanism
413
	is now in c_locale.h/c_locale.c and is based on API specific macros.
414
	For the moment real localization is used for windows platforms
415
	(_STLP_WIN32 except Windows CE) and when Glibc 2.2 or newer with
416
	GNU extensions (_GNU_SOURCE) is detected.
417
a2955ad by dums at 2008-02-25 418
2008-02-25  Francois Dumont  <dums@users.sourceforge.net>
419
420
	* stlport/stl/type_traits.h: Generalize technique used by Borland
421
	compiler to detect pointer types const or volatile qualified and
422
	avoid trivial copy in this case.
423
495a00f by dums at 2008-02-25 424
	* Eric Sanford patch for Borland compiler for Linux.
425
89d6f55 by dums at 2008-02-22 426
2008-02-22  Francois Dumont  <dums@users.sourceforge.net>
427
428
	* stlport/stl/c_locale.h, src/c_locale.h,
429
	c_locale_win32/c_locale_win32.c, c_wlocale_win32.c: Major code
430
	simplification. Definition of _Locale_UPPER, _Locale_LOWER, etc...
431
	used to be platform dependant requiring a lot of macro checks and
432
	additionnaly exposing STLport to wrong definitions. When for
433
	instance _Locale_PRINT was defined as
434
	_Locale_UPPER|_Locale_LOWER|..., marking a character as printable
435
	was also making it a upper and lower character!
436
	In fact those masks have to be platform specific only when
437
	STLport directly expose platform masks which is only the case when
438
	using GlibC. So now those mask are hard coded in STLport using
439
	values defined in the C++ Standard 22.2.1. Under Windows the
440
	localisation implementation has been adapted to map Win32 mask values
441
	to the STLport ones. A number of now useless workaround has been
442
	removed.
443
444
	* src/c_locale_dummy/c_locale_dummy.c, ctype.cpp,
445
	test/unit/ctype_facets_test.cpp: Removed the hard coded table of
446
	character types that was duplicating the one in src/ctype.cpp. Now
447
	a table is build during library initialisation using C functions
448
	isspace, isalpha... Doing so and adding a test in
449
	LocaleTest::ctype_by_name will show if STLport and the C runtime
450
	agree on character classification.
451
43ee18c by dums at 2008-02-20 452
2008-02-20  Francois Dumont  <dums@users.sourceforge.net>
453
454
	* src/allocators.cpp: Change management of _S_heap_size, now bit
455
	translation is done on the value used to increment it rather than
456
	when using _S_heap_size. Thanks to this modif, when _S_heap_size is only a 32
457
	bits value it won't roll before 16Go has been allocated. Thanks to
458
	an additional unsigned cast the effect won't be notice before 32 Go
459
	are allocated.
460
5abda4f by dums at 2008-02-19 461
2008-02-19  Francois Dumont  <dums@users.sourceforge.net>
462
463
	* src/c_locale_dummy/c_locale_dummy.c: Fix implementation of
464
	_WLocale_toupper/_WLocale_tolower, call to respectively
465
	towupper/towlower was inverted.
466
55b68bf by dums at 2008-02-19 467
	* src/allocators.cpp: __stlp_chunk_malloc/__stlp_chunck_free
468
	renamed respectively in __stlp_new_chunk/__stlp_delete_chunck as
469
	those functions behavior are closer to the new operator behavior
470
	rather than to malloc. __stlp_new_chunk implementation fixed, it
471
	was using _STLP_CHECK_NULL_ALLOC reserved to check allocations
472
	performed through new operator. Fix code to correctly take into account
473
	bad_alloc exceptions.
474
8e70c92 by dums at 2008-02-18 475
2008-02-18  Francois Dumont  <dums@users.sourceforge.net>
476
477
	* stlport/stl/_algobase.h: Removed namespace specification on
478
	swap invocation in iter_swap implemenation because it was breaking
479
	template function resolution for gcc. Whether this is a gcc bug
480
	or simply correct Standard C++ is not clear yet so namespace has
481
	been removed independant of compiler in use.
482
4896d64 by dums at 2008-02-18 483
	* stlport/stl/_alloc.h, _new.h, src/locale.cpp, locale_impl.cp:
484
	Generalize use of _STLP_THROW_BAD_ALLOC macro to throw the
485
	bad_alloc exception. Definition of this macro is now in _new.h
486
	header.
487
488
	* stlport/stl/_valarray.h: Use __stl_new rather than malloc to get
489
	exception management without additional code. It also gives users
490
	a Standard way to detect memory starvation through the new handler.
491
ebf6be8 by dums at 2008-02-16 492
2008-02-16  Francois Dumont  <dums@users.sourceforge.net>
493
494
	* Removed anachronous and unmaintained raw SGI allocator mode.
495
1aa2da0 by dums at 2008-02-15 496
2008-02-15  Francois Dumont  <dums@users.sourceforge.net>
497
498
	* src/details/fstream_win32io.cpp: Fix wrong use of Win32 API.
499
	SetFilePointer do not take SEEK_CUR macro but FILE_CURRENT.
500
f756ea0 by dums at 2008-02-15 501
	* src/allocators.cpp, stlport/stl/_alloc.h, _alloc_old.h,
502
	_construct.h, _new.h, _pthread_alloc.h, _rope.h, config/_evc.h,
503
	features.h: Code cleanup; __THROW_BAD_ALLOC normalized in
504
	_STLP_THROW_BAD_ALLOC; _STLP_NEW, _STLP_PLACEMENT_NEW and
505
	_STLP_BROKEN_BAD_ALLOC_CLASS macros removed.
506
bff004d by dums at 2008-02-14 507
2008-02-14  Francois Dumont  <dums@users.sourceforge.net>
508
509
	* src/c_locale_glibc/c_locale_glibc2.c: Manualy handle the "C" locale
510
	to guaranty consistency with the default "C" facet implementations in
511
	the lib.
512
513
	* * test/unit/time_facets_test.cpp, num_facets_test.cpp,
514
	monetary_facets_test.cpp, ctype_facets_test.cpp: Enhance tests by using
515
	a third way of generating locale instance from names.
516
e80f188 by dums at 2008-02-13 517
2008-02-13  Francois Dumont  <dums@users.sourceforge.net>
518
519
	* src/fstream_impl.h, details/fstream_win32io.cpp,
520
	fstream_unitstd.cpp, fstream_stdio.cpp, stdio_streambuf.cpp: __stdin_size
521
	function revomed making fstream_impl.h useless.
522
1028fe1 by dums at 2008-02-12 523
2008-02-12  Francois Dumont  <dums@users.sourceforge.net>
524
525
	* stlport/stl/type_manips.h, type_traits.h: Borland patch from Eric
526
	Sanford to fix regressions introduced with recent modifications of
527
	some helper struct used to detect potential optimizations.
528
fb6252d by dums at 2008-02-12 529
	* config/_bc.h, features.h: New configuration, Borland do not support
530
	following syntax: 
531
	typename std::iterator_traits<>::value_type. It breaks on association
532
	of typename keyword with namespace specification. As Borland do not
533
	require typename keyword in this case it is now possible avoid it
534
	thanks to the _STLP_NO_TYPENAME_BEFORE_NAMESPACE macro.
1028fe1 by dums at 2008-02-12 535
536
	* stlport/stl/_limits.c: Borland, like gcc 4, prefer additional brackets
537
	in initialization of struct associated to computation of numeric limits
538
	values.
539
98cd7c9 by dums at 2008-02-01 540
2008-02-01  Francois Dumont  <dums@users.sourceforge.net>
541
542
	* General code review to look for Standard or internal functions
543
	called with namespace scope in order to avoid ambiguous calls
544
	when compiler implement Argument Dependant Lookup. See ListTest::adl
545
	test case to see what it means.
546
547
	* stlport/stl/config/features.h: _STLP_PRIV now contains full
548
	namespace path starting at global namespace that is to say
549
	::stlport::priv:: when private namespace is in use and ::stlport::
550
	when it is not. Idem for _STLP_TR1 that now contains ::stlport::tr1::.
551
552
	* stlport/stl/debug/_string.h: Call to std::distance removed to avoid
553
	reading input iterators before reading their contents. Now all
554
	basic_string::assign methods invalidate all iterators like other
555
	containers.
556
557
	* stlport/stl/_iterator_base.h: Remove implementation of __value_type
558
	__distance_type and __iterator_category when compiler support partial
559
	template specialization. In this case we directly use iterator_traits,
560
	we do not need those functions. Removed special __distance implementations
561
	use in an anachronous implementation of distance taking an initial value
562
	to start counting. Now this function use __distance functions already
563
	used by the std::distance function. The MSVC _Distance function is also
564
	considered as anachronous.
565
56183ee by dums at 2008-01-31 566
2008-01-31  Francois Dumont  <dums@users.sourceforge.net>
567
568
	* stlport/stl/_string.h, test/unit/string_test.cpp: Add swap
569
	implementation when there is no support for template function
570
	partial ordering.
571
4488597 by dums at 2008-01-30 572
2008-01-30  Francois Dumont  <dums@users.sourceforge.net>
573
574
	* src/fstream_impl.h, details/fstream_stdio.cpp, fstream_unistd.cpp,
575
	fstream_win32io.cpp, stdio_streambuf.h, stdio_streambuf.cpp: Hide
576
	__is_regular_file only used in fsteam implementation specific files.
577
	Rename __file_size in __stdin_size as this function is only used
578
	to get stdin FILE* size. Under Win32 this function now always returns
579
	0 as it looks like Windows do not consider FILE* as allowing
580
	position operations. Move platform specific code from stdio_streambuf
581
	implementation to associated fstream_*.cpp file.
582
2fd70cd by complement at 2008-01-29 583
2008-01-29  Petr Ovtchenkov  <complement@users.sourceforge.net>
584
585
	* build/test/unit/gcc.mak: option for run-time path to libstlport
586
	on HP-UX;
587
588
	* build/Makefiles/gmake/hp-ux/targetsys.mak: HP-UX IA64 use so
589
	as shared object extention, while PA-RISC use sl;
590
591
	* build/Makefiles/gmake/gcc.mak: use -fno-reorder-blocks for PA-RISC;
592
593
	* src/cxa.c: use cxa_atexit fix similar to trick on Solaris and FreeBSD;
594
595
	* src/num_get_float.cpp: stdint.h on HP-UX;
596
597
	* stlport/wctype.h, stlport/stl/_cwctype.h: HP-UX has problems with
598
	wchars; changes suggested by KBac.
599
8a094e8 by dums at 2008-01-28 600
2008-01-28  Francois Dumont  <dums@users.sourceforge.net>
601
602
	* stlport/stl/config/_cygwin.h: Cygwin do not define _STLP_USE_GLIBC
603
	anymore, platform API is closer to a Standard C lib than to the Gnu
604
	lib C.
605
e576445 by dums at 2008-01-26 606
2008-01-26  Francois Dumont  <dums@users.sourceforge.net>
607
608
	* src/fstream_stdio.cpp, fstream_win32io.cpp, fstream_unistd.cpp:
609
	Removed unused uint64.h include and definition of ULL macro.
610
611
	* src/uin64.h: Removed, _compound_int class defined in it is simply
612
	not used anymore.
613
55639ca by dums at 2008-01-26 614
	* src/_stdio_file.h: Major cleanup, only _FILE_fd is still in use.
615
85043ab by dums at 2008-01-26 616
	* src/locale.cpp, locale_impl.cpp, build/lib/Makefile.inc: Restore
617
	independency between those 2 translation units, code duplication is
618
	very limited. This is a 1st step to make build of STLport easier by
619
	having all sources in src folder buildable.
1ec59bf by dums at 2008-01-26 620
621
	* src/locale_impl.h, locale_impl.cpp: _copy_Locale_impl removed,
622
	only use to create initial global locale that can simply reference
623
	classic locale incrementing its reference counter by one.
5bbf237 by dums at 2008-01-26 624
625
	* stlport/stl/_locale.h: Fix locale implementation when MSVC6 workaround
626
	is used. The base class _NoMem_loc do not have to have a virtual
627
	destructor, it only need a protected one. Moreover fix constructor
628
	taking an other locale instance and a facet instance, _M_impl was
629
	not released before being assigned resulting in a memory leak.
85043ab by dums at 2008-01-26 630
	
83cce3c by dums at 2008-01-26 631
	* src/fstream_stdio.cpp, fstream_unistd.cpp, fstream_win32io.cpp:
632
	Moved to details sub-folder. Now building STLport means build all
633
	.cpp, .c and optionnaly .rc files from src folder.
634
f94b6d4 by complement at 2008-01-22 635
2008-01-22  Petr Ovtchenkov  <complement@users.sourceforge.net>
636
637
	* build/test/unit/gcc.mak: check confguration and set
638
	ALL_TAGS before inclusion top.mak, to correctly set
639
	targets for 'all'.
640
bd155d2 by dums at 2008-01-21 641
2008-01-21  Francois Dumont  <dums@users.sourceforge.net>
642
643
	* build/test/unit/icl.mak: Add /fp:strict option to build unit tests
644
	as we need strict floating point number operations respect to have
645
	numeric limits to work correctly.
646
647
	* stlport/stl/config/_intel.h: Looks like ICL since version 9 support
648
	static constant correctly.
649
483be40 by dums at 2008-01-21 650
	* stlport/stl/config/features.h, src/c_locale_win32/c_locale_win32.c:
651
	New macro _STLP_MARK_PARAMETER_AS_UNUSED to offer a compiler specific
652
	way of marking parameters as unused. Default behavior is to cast the
653
	parameter to void*.
654
12d59ed by dums at 2008-01-21 655
	* src/c_locale_win32/c_wlocale_win32.c: Fix _WLocale_strxfrm function
656
	implementation thanks Kai Khcyt. Despite taking a pointer to wchar_t*
657
	LCMapStringW writes bytes to it.
658
22bd8bc by dums at 2008-01-21 659
	* build/Makefiles/gmake/bcc.mak, lib/bcc.mak, app/bcc.mak, stlport/cerrno,
660
	errno.h, stl/type_manips.h, type_traits.h: Borland patch from Eric
661
	Sanford to build Borland libs with GNU make build system.
662
16b8d32 by dums at 2008-01-18 663
2008-01-18  Francois Dumont  <dums@users.sourceforge.net>
664
665
	* test/unit/locale_test.cpp, ctype_facets_test.cpp,
666
	money_facets_test.cpp, num_facets_test.cpp, time_facets_test.cpp:
667
	test_supported_locale function do not have to be template, might
668
	avoid ICL wring code generation.
669
d0b312c by dums at 2008-01-18 670
	* stlport/stl/_function_base.h: Based on an idea from Herb Sutter in
671
	his excellent book "Exceptional C++ Style", derived class destructor
672
	should be protected non virtual or public virtual. unary_function
673
	and binary_function struct are intended to be derived but they
674
	are not polymorphic so destructor should be protected non virtual.
675
	According the book it is even not breaking library Standard conformity
676
	in doing so. What is sure is that it will help users detect bad
677
	code.
678
067d55c by dums at 2008-01-17 679
2008-01-17  Francois Dumont  <dums@users.sourceforge.net>
680
681
	* stlport/stl/debug/_list.h: Remove use of std::distance in STL
682
	safe mode, it is invalid for pure input iterators. Now assign
683
	invalidate all iterators which make the code simpler.
684
03c8976 by dums at 2008-01-17 685
	* Remove the difficult to implement and maintain _AreSameUnCVTypes,
686
	doing so has a number of impact on the lib:
687
	- Remove usage of it in debug/_string.h and debug/_deque.h, we
688
	rather use function specialization to detect self reference. In string
689
	implementation it is almost impossible to detect self referencing in
690
	insert and assign method even with use of _AreSameUnCVTypes, so
691
	we systematically creation an intermediate string instance.
692
	- Creation of _AreCopyable helper class to detect when it is safe
693
	to do a memcpy or memmove between 2 types. This class returns false
694
	when any type is volatile qualified or when trying to copy to a const
695
	qualified type.
696
	- Creation of _AreSameTypes only really implemented thanks to partial
697
	template specialization, only used in _IsOkToSwap struct.
698
699
	* test/unit/copy_test.cpp: Add test showing bug 1806558.
700
	
bb762f7 by complement at 2008-01-16 701
2008-01-17  Petr Ovtchenkov  <complement@users.sourceforge.net>
702
703
	* build/lib/configure: Don't override COMPILER_NAME, if already
704
	defined;
705
706
	* stlport/stl/config/_prolog.h: remove suspicious comments.
707
95b7347 by complement at 2008-01-14 708
2008-01-15  Petr Ovtchenkov  <complement@users.sourceforge.net>
709
710
	* stlport/stl/config/_hpux.h: define _POSIX_C_SOURCE 199506;
711
	suggested by KBac, patch #1869229.
712
c5a11e2 by dums at 2008-01-14 713
2008-01-14  Francois Dumont  <dums@users.sourceforge.net>
714
715
	* stlport/stl/_string.h, _string.c: Restore code to support non-POD
716
	types in basic_string implementation as specified in basic_string
717
	comments.
718
76309c1 by dums at 2008-01-14 719
	* stlport/stl/_limits.c: Use double numeric limits for long double
720
	when sizeof(double) == sizeof(long double).
721
7041c06 by dums at 2008-01-14 722
	* stlport/stl/debug/_debug.h, _deque.h, _list.h, _vector.h: Prefer to
723
	use overloading of member method to activate additional check of
724
	23.1.1 table 67 Standard conformity rather than using metaprogrammng
725
	technique.
726
4dd1da4 by complement at 2008-01-11 727
2008-01-12  Petr Ovtchenkov  <complement@users.sourceforge.net>
728
729
	* build/Makefiles/gmake/lib/gcc.mak: gcc 3.3 has useful
730
	libsupc++, but some builds not; prefer normal situation,
731
	not marginal; see record 2007-10-10;
732
733
	* build/Makefiles/gmake/gcc.mak: fix reference to _FORCE_CXX macro;
734
735
	* build/Makefiles/gmake/CC.mak: ditto;
736
737
	* build/Makefiles/gmake/aCC.mak: ditto;
738
739
	* build/lib/configure: keep compiler and default compiler --- gcc
740
	is most common defualt and plans to switch to default makefile.
741
77ea9dd by dums at 2008-01-11 742
2008-01-11  Francois Dumont  <dums@users.sourceforge.net>
743
744
	* stlport/stl/_limits.c: Adapt long double numeric limits for
745
	Intel C++ compiler 9 for Windows.
746
c9e7bf0 by dums at 2008-01-11 747
	* test/unit/cppunit/test_main.cpp: Add command usage output when
748
	option is not recognise.
749
2f12ede by dums at 2008-01-11 750
	* build/lib/configure: Remove specification of COMPILER_NAME default
751
	value gcc. COMPILER_NAME is already set in all root make scripts like
752
	gcc.mak, aCC.mak, dmc.mak ... Doing so forces users to specify their
753
	compiler family using configure script which is redundant.
754
c3d2923 by dums at 2008-01-10 755
2008-01-10  Francois Dumont  <dums@users.sourceforge.net>
756
757
	* stlport/stl/_prolog.h: Remove code duplication by including
758
	_cprolog.h.
759
1b51faa by dums at 2008-01-10 760
	* stlport/errno.h, cerrno: Move import of errno from errno.h to
761
	cerrno.
762
0affe37 by dums at 2008-01-10 763
	* src/ctype.cpp, facets_byname.cpp, time_facets.cpp,
764
	test/unit/codecvt_test.cpp: Several small modifications to make
765
	Intel C++ compiler happier. Mostly avoid warnings and use
766
	unary_function to avoid some typedef.
767
88c79df by dums at 2008-01-09 768
2008-01-09  Francois Dumont  <dums@users.sourceforge.net>
769
770
	* stlport/stl/_uninitialized.h: Fix implementation of
771
	__uninitialized_copy_copy in order to make the function exception
772
	safe. Detected thanks to the EH test suite.
773
582ee39 by dums at 2008-01-08 774
2008-01-08  Francois Dumont  <dums@users.sourceforge.net>
775
776
	* stlport/stl/_ios_base.h: _S_was_synced renamed in _S_is_synced
777
	because it reflects what the sync state is and not what it was.
778
779
	* src/iostream.cpp: Use auto_ptr to avoid use of the catch(...)
780
	blocks. Changed management of the _STLP_REDIRECT_STDSTREAMS macro.
781
	cout, cerr and clog streams are not ofstream anymore but classic
782
	ostream instances, only streambuf is a filebuf when the macro is
783
	defined. Improve _S_initialize robustness to exceptions, now
784
	exceptions like bad_alloc are not silently eaten. _S_initialize
785
	guaranty that on exception, Standard streams will be valid, it do
786
	not offer however strong guaranty, global state might still have
787
	been modified. Idem for sync_with_stdio. Moreover this method is
788
	now Standard compliant, it returns the new sync state and not the
789
	old one.
790
3f5f56d by dums at 2008-01-07 791
2008-01-07  Francois Dumont  <dums@users.sourceforge.net>
792
793
	* src/c_locale_dummy/c_locale_dummy.c: Upgrade to take into account
794
	recent localization Api modifications.
795
a885260 by dums at 2008-01-04 796
2008-01-04  Francois Dumont  <dums@users.sourceforge.net>
797
798
	* src/fstream_win32.cpp: Change detection of regular file, only reject
799
	handlers identified as folders.
800
1cd3aeb by dums at 2008-01-04 801
	* stlport/stl/_codecvt.h: Add assertion to check buffer ranges pass to
802
	the codecvt facet.
803
72005fe by dums at 2008-01-04 804
	* src/fstream.cpp, stlport/stl/_fstream.c: Complete bug #1854345 fix,
805
	get buffer was not reset at the right place.
806
807
	* stlport/stl/_fstream.h, _fstream.c: Several modifications in the
808
	seekoff method:
809
	- Remove limitation of positioning to binary file stream, setting
810
	position in a text file stream is not a problem.
811
	- Fix mbstate_t instance returned in the file_pos instance when
812
	getting position in a file stream with variable encoding.
813
	- Move all the sanity check code to the debug mode.
814
f500e43 by dums at 2008-01-02 815
2008-01-02  Francois Dumont  <dums@users.sourceforge.net>
816
817
	* test/unit/fstream_test.cpp: Change FstreamTest::seek test to reveal
818
	bug #1854345.
819
820
	* src/fstream.cpp: #1854345 bug fixed.
821
455490a by dums at 2008-01-01 822
2008-01-01  Francois Dumont  <dums@users.sourceforge.net>
823
824
	* stlport/stl/_time_facets.h, _time_facets.c, src/time_facet.cpp,
825
	c_locale_glibc/c_locale_glibc2.c: Restore GlibC++ support after
826
	2007-12-27 modifications.
827
d980815 by dums at 2007-12-29 828
2007-12-29  Francois Dumont  <dums@users.sourceforge.net>
829
830
	* Borland patch from Eric Sanford mainly to enable move constructor.
8d84e4f by dums at 2007-12-29 831
832
	* stlport/stl/_string_base.h, _string.h, _string.c,
833
	_string_sum_methods.h: Attempt to make string implementation more
834
	clear: _M_allocated renamed in _M_start_of_storage,
835
	_M_Buffers._M_dynamic_buffer renamed in _M_Buffers._M_end_of_storage,
836
	_M_end_block renamed in _M_end_of_storage too. To respect current
837
	naming convention _capacity has been renamed in _M_capacity and
838
	_rest in _M_rest.
839
840
	* stlport/stl/_string_workaround.h: Updated to take into account recent
841
	modification in string data model.
842
	
843
	* etc/autoexp.dat: Updated to take into account string data model
844
	modifications, new model is really simpler to map to.
845
4ae21bf by dums at 2007-12-27 846
2007-12-27  Francois Dumont  <dums@users.sourceforge.net>
847
848
	* src/c_locale.h, c_locale_dummy/c_locale_dummy.c,
849
	c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c,
850
	c_locale_win32/c_locale_win32.c, facets_byname.cpp, time_facets.cpp,
851
	stlport/stl/_codecvt.h, _ctype.h, _numpunct.h, _time_facets.c,
852
	_time_facets.h: Major internal localization API modification. Add
853
	several _WLocale_* functions to allow native support of access to
854
	wide char representation of localization information. The time facet
855
	support has been the most impacted. GlibC based implementation
856
	still have to be updated.
857
e31abad by dums at 2007-12-23 858
2007-12-23  Francois Dumont  <dums@users.sourceforge.net>
859
1fce6bd by dums at 2007-12-23 860
	* build/Makefiles/nmake/evc8.mak, targets.mak, src/_stdio_file.h,
861
	fstream_win32io.cpp, iostream.cpp, locale_catalog.cpp: Patch from
862
	Johan Anderson for Evc 3/4/8 to:
863
	- fix the opening console issue on this platform.
864
	- add EVC8 SH4 support.
865
e31abad by dums at 2007-12-23 866
	* test/unit: Add CPPUNIT_FAIL macro to force failure without
867
	using a constant conditional expression. Many tests updated to
868
	use this new macro.
869
f5b2fde by dums at 2007-12-23 870
	* stlport/stl/config/_evc.h, debug/_debug.h, _debug.c: Patch
871
	from Michael Fink to allow _STLP_DEBUG mode when using WCE ARM
872
	platform.
873
dc46f09 by dums at 2007-12-20 874
2007-12-20  Francois Dumont  <dums@users.sourceforge.net>
875
276d932 by dums at 2007-12-20 876
	* stlport/stl/_monetary.c: Remove test of existing space at end of
877
	stream when last pattern field is none because on ouput stream
878
	space are only added optionaly. Small code duplication removed.
879
b8c173f by dums at 2007-12-20 880
	* build/lib/configure.bat, evc.mak, msvc.mak, test/unit/evc.mak,
881
	msvc.mak: Config file moved to Makefiles/nmake folder. Add
882
	--without-stlport option to build unit tests without STLport.
883
dc46f09 by dums at 2007-12-20 884
	* test/unit/money_facets_test.cpp: Add validation that moneypunct
885
	"C" facet is identical to the one contained in locale::classic().
886
887
	* src/c_locale_dummy/c_locale_dummy.c,
888
	c_locale_win32/c_locale_win32.c, facets_byname.cpp: Fix to have
889
	moneypunct by name facet build from "C" similar to locale::classic()
890
	one. Now default format in _Init_monetary_formats is the C++ default
891
	one.
892
270116e by complement at 2007-12-20 893
2007-12-20  Petr Ovtchenkov  <complement@users.sourceforge.net>
894
895
	* test/unit/fstream_test.cpp: test for seek, inspired by Soren
896
	(stsoe, #1854345); report not confirmed.
897
d6db729 by dums at 2007-12-18 898
2007-12-17  Francois Dumont  <dums@users.sourceforge.net>
899
900
	* stlport/stl/_limits.c: Add brackets on union initialization for gcc
901
	starting with version 4.
902
5104e02 by complement at 2007-12-17 903
2007-12-17  Petr Ovtchenkov  <complement@users.sourceforge.net>
904
905
	* stlport/stl/config/_linux.h: if not explicitly specified another,
906
	use threads.
907
907f8cf by dums at 2007-12-14 908
2007-12-14  Francois Dumont  <dums@users.sourceforge.net>
909
910
	* src/c_locale_win32/c_locale_win32.c: Fix implementation of
911
	_Locale_mbtowc and _Locale_wctomb functions. Reveal limitation of
912
	the MultiByteToWideChar function that cannot be used to implement
913
	more complicated encodings that have a real shift state like the
914
	JIS one. Add support for UTF7 and UTF8 encodings.
915
916
	* test/unit/codecvt_test.cpp: New test case to check support for
917
	2 encodings, the Windows specific code page 936 and the UTF8 one.
918
	Those tests are coming from chinese test samples proposed by Victor
919
	Xie.
920
8a2ad04 by complement at 2007-12-14 921
2007-12-14  Petr Ovtchenkov  <complement@users.sourceforge.net>
922
923
	* stlport/stl/_string_base.h, stlport/stl/_string.h, stlport/stl/_string.c:
924
	experimental string buffer---start of buffer in _M_allocated._M_data now,
925
	end of buffer either end of local short buffer, or stored in pointer
926
	within local short buffer; this potentially reduce amount of pointer
927
	arithmetic; prefer Traits::assign to uninitialized fill, it more
928
	optimized for POD types, such as chars [experimental too].
929
8ce6c4a by dums at 2007-12-13 930
2007-12-13  Francois Dumont  <dums@users.sourceforge.net>
931
932
	* src/c_locale.h, c_locale_dummy/c_locale_dummy.c,
933
	c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c,
934
	c_locale_win32/c_locale_win32.c: Remove unused _Locale_wctob and
935
	_Locale_btowc localization API functions.
936
71dca02 by complement at 2007-12-13 937
2007-12-13  Petr Ovtchenkov  <complement@users.sourceforge.net>
938
939
	* build/test/unit/gcc.mak, test/unit/...: allow build unit tests
940
	with libstdc++, without STLport; useful for reference and comparison.
941
eb08407 by complement at 2007-12-12 942
2007-12-12  Petr Ovtchenkov  <complement@users.sourceforge.net>
943
944
	* build/Makefiles/gmake/unix/rules-install-so.mak, build/lib/gcc.mak:
945
	install-headers usable; it use user-defined macro HEADERS_BASE
946
	[catalog and all files, keeping	directory structure] and HEADERS
947
	[for single files]; target catalog is INSTALL_HDR_DIR, by default
948
	it is ${BASE_INSTALL_DIR}/include.
949
3b431ca by complement at 2007-12-07 950
2007-12-07  Petr Ovtchenkov  <complement@users.sourceforge.net>
951
952
	* stlport/stl/_uninitialized.h: comment unused parameter;
953
40f9465 by complement at 2007-12-07 954
	* stlport/stl/_limits.c: 64-bits systems may has [and really has]
955
	size of long double 16, not 12; but IEEE 854 still in force, and
956
	only 10 bytes of long double taken into account. This should fix
957
	limits<long double> on 64-bits systems. Thanks joebishop
958
	[aka Denis Cheremisov] for granted access to 64-bit linux.
959
45ad725 by dums at 2007-12-05 960
2007-12-05  Francois Dumont  <dums@users.sourceforge.net>
961
dca66e9 by dums at 2007-12-06 962
	* src/c_locale_glibc/c_locale_glibc2.c: Fix a one byte memory overrun
963
	when passing a very locale name.
964
4f9f100 by dums at 2007-12-06 965
	* src/c_locale_win32/c_locale_win32.c: Simplified Win32 localization
966
	code. Remove useless calls to strcpy. Remove useless call to the
967
	__Extract_locale_name once in the _Locale_*_create functions as
968
	name has already been extracted at this moment.
969
dca66e9 by dums at 2007-12-06 970
2007-12-05  Francois Dumont  <dums@users.sourceforge.net>
971
45ad725 by dums at 2007-12-05 972
	* src/c_locale_glibc/c_locale_glibc2.c: Removed many checks useless
973
	as the C functions are called in a well defined and safe context. Also
974
	remove useless strcpy calls when it is safe to return the internal
975
	string.
976
80c0286 by dums at 2007-12-04 977
2007-12-04  Francois Dumont  <dums@users.sourceforge.net>
978
979
	* Add the _Locale_codecvt localization data structure for 2 purposes:
980
	- in the win32 implementation it simplify _Locale_ctype data structure.
981
	- in the glibc implementation it helps making clear that this
982
	implementation do not support the codecvt facet for the moment.
983
3329e34 by dums at 2007-12-03 984
2007-12-03  Francois Dumont  <dums@users.sourceforge.net>
985
986
	* src/fstream_win32io.cpp: Fix management of Ctrl-Z when reading
987
	text file stream thanks Hector Chu patch.
988
6e2fc9c by dums at 2007-11-30 989
2007-11-30  Francois Dumont  <dums@users.sourceforge.net>
990
991
	* src/acquire_release.h, facets_byname.cpp, locale.cpp,
992
	locale_impl.cpp, locale_impl.h, messages.cpp, time_facets.cpp:
993
	Localization code modification, now locale instances will adopt
994
	a normalized name rather than the name used to create them. This
995
	way identical locale instances will compare equals even if created
996
	from name aliases like 'french' and 'fr_FR'. Moreover default
997
	locale built from an empty string won't have an empty name.
3216ce5 by dums at 2007-11-30 998
999
	* test/unit/locale_test.cpp, ctype_facets_test.cpp,
1000
	money_facets_test.cpp, num_facets_test.cpp, time_facets_test.cpp:
1001
	Enhance localization tests, add test of default locale when possible.
1002
	Add test for the locale instances built from a mix of the
1003
	locale::classic instance and a named category.
6e2fc9c by dums at 2007-11-30 1004
	
3edf07f by dums at 2007-11-27 1005
2007-11-27  Francois Dumont  <dums@users.sourceforge.net>
1006
1007
	* stlport/stl/_ios_base.h, _ios.c: Add qualification on the cached
1008
	ctype and numpunct facets, we can keep them as const pointers.
1009
	Moreover, prefer to use the use_facet function rather than _M_get_facet
1010
	to access those instances to avoid direct reference to the facet::id
1011
	static instance.
1012
ba7b874 by complement at 2007-11-29 1013
	* Some evolution in the localization code:
1014
	- Hide _Locale_name_hint in internal implementation, facets *_byname
1015
	constructor are now respecting the C++ Standard signature.
1016
	- numpunct facet: Remove unused _M_grouping field, move hard coded
1017
	values of the "C" facet in the sources. Only the numpunct_byname<wchar_t>
1c9cec9 by dums at 2007-11-27 1018
	keeps internal wstring representation of true and false names.
ba7b874 by complement at 2007-11-29 1019
	- time facets: Use the non template time_base class for initialization
1020
	of the _Time_Info instance, it is more coherent with other facets
1021
	implementations. Many functions like __acquire_time and __release_time
1c9cec9 by dums at 2007-11-27 1022
	are now hidden in the library.
1023
6597831 by dums at 2007-11-26 1024
2007-11-26  Francois Dumont  <dums@users.sourceforge.net>
1025
1026
	* stlport/stl/char_traits.h, _stdexcept_base.c: Borland patch
1027
	from Eric Sanford, add a missing header and change
1028
	__Named_exception implementation because of a Borland compiler
1029
	bug.
bfc7917 by dums at 2007-11-26 1030
1031
	* src/c_locale_win32/c_locale_win32.c: Add LANG_INVARIANT
1032
	definition when SDK are missing it.
1033
ac7a4b0 by dums at 2007-11-24 1034
2007-11-24  Francois Dumont  <dums@users.sourceforge.net>
1035
1036
	* stlport/stl/_monetary.h: Add missing explicit keyword on
1037
	money_get and money_put constructors.
1038
710e10b by dums at 2007-11-24 1039
	* stlport/stl/_numpunct.h: Removed friend relation between
1040
	numpunct and num_get, looks like it is useless with current
1041
	implementation.
1042
1d2c277 by dums at 2007-11-24 1043
	* stlport/stl/config/stl_mycomp.h, features.h, _watcom.h, _sunprocc.h,
1044
	_mwerks.h, _msvc.h, _ibm.h, _dec_vms.h, _dec.h, _as400.h: Removed
1045
	_STLP_NO_FRIEND_TEMPLATES, _STLP_FRIEND_TEMPLATES macros unused
1046
	since fix above regarding numpunct/num_get friend relation.
1047
7de8749 by dums at 2007-11-24 1048
	* test/unit/collate_facets_test.cpp: Fix "C" facet by name test,
1049
	Standard do not define any special behavior for the "C" transform
1050
	method so transformed result should simply follow the normal transform
1051
	behavior.
1052
41a4bc2 by dums at 2007-11-24 1053
	* src/locale_impl.cpp: Removed useless holes in locale facets table.
1054
	Now the table contains 26 non null entries rather than 38 entries with
1055
	some begin null.
1056
16c55ae by dums at 2007-11-23 1057
2007-11-23  Francois Dumont  <dums@users.sourceforge.net>
1058
1059
	* src/locale.cpp, locale_impl.h, locale_impl.cpp: Some small
1060
	modifications to limit necessary friend class _Locale_impl
1061
	declaration in several facet classes.  Moreover, num_get, num_put,
1062
	money_get, money_put facets that do not depend on any name are
1063
	not allocated anymore in the functions responsible for generating
1064
	facets for a given category.
1065
1066
	* stlport/stl/_codecvt.h, _collate.h, _ctype.h, _messages_facets.h,
1067
	_monetary.h, _num_get.h, _num_put.h, _numpunct.h, _time_facets.h:
1068
	Removed many useless friend class _Locale_impl declarations.
1069
9ddd5ea by complement at 2007-11-23 1070
2007-11-23  Petr Ovtchenkov  <complement@users.sourceforge.net>
1071
1072
	* build/lib/configure: make configuration suitable for installation
1073
	procedure and package building.
1074
5bf9434 by dums at 2007-11-22 1075
2007-11-22  Francois Dumont  <dums@users.sourceforge.net>
1076
1077
	* src/c_locale_dummy/c_locale_dummy.c: Now implements the "C" locale
1078
	to respect the C++ Standard.
1079
1080
	* test/unit/collate_facets_test.cpp: Fix test checking that collate
1081
	facet build from the "C" name behave like the one coming from the
1082
	locale::classic() locale.
1083
12e6627 by dums at 2007-11-22 1084
	* src/c_locale.h, locale.cpp, c_locale_glibc/c_locale_glibc.c,
1085
	c_locale_glic2.c, c_locale_win32/c_locale_win32.c, locale.cpp: Removed
1086
	_Locale_compose_name from the STLport internal localization API.
1087
	Composition of locale names will now be the responsibility of STLport
1088
	itself and not of the platform localization implementations one.
1089
3433e52 by dums at 2007-11-20 1090
2007-11-20  Francois Dumont  <dums@users.sourceforge.net>
1091
1092
	* stlport/stl/_iterator_base.h, _ptrs_specialize.h: Avoid inclusion
1093
	of _ptrs_specialize.h while still in stlport namespace scope thanks
1094
	Christof Meerwald report.
1095
401d871 by dums at 2007-11-19 1096
2007-11-17  Francois Dumont  <dums@users.sourceforge.net>
1097
1098
	* _STLP_STATIC_MEMBER_DECLSPEC workaround removed. Thanks to
1099
	_GetFacetId other workaround it should now be useless. There
1100
	are still some tests to confirm especially testing the
1101
	gcc visibility feature.
1102
760f71a by dums at 2007-11-16 1103
2007-11-16  Francois Dumont  <dums@users.sourceforge.net>
1104
1105
	* stlport/stl/_fstream.c: Fix implementation of
1106
	basic_filebuf<_CharT, _Traits>::_M_underflow_aux() to take
1107
	into consideration already read external buffer even if
1108
	reading from file failed. Thanks Hector Chu report and patch.
1109
1110
	* test/unit/codecvt_test.cpp: New test for problem above,
1111
	CodecvtTest::imbue_while_reading thanks Hector Chu.
1112
5c91748 by dums at 2007-11-16 1113
	* test/unit/fstream_test.cpp: Remove useless
1114
	FstreamTest::special_encoding test replaced by new test in
1115
	CodecvtTest. Fix FstreamTest::custom_facet test that is now using
1116
	a specialization of codecvt rather than a class inheriting from
1117
	codecvt.
1118
99b6493 by dums at 2007-11-14 1119
2007-11-14  Francois Dumont  <dums@users.sourceforge.net>
1120
1121
	* src/c_locale_win32/c_locale_win32.c: Fix to support creation
1122
	of locale facet from the 'C' name.
1123
1124
	* test/unit/collate_facets_test.cpp, locale_test.cpp,
1125
	money_facets_test.cpp, num_facets_test.cpp, time_facets_test.cpp:
1126
	Add test to check build from names "" or "C", on platform without
1127
	real localization support, "" should result in "C". Also check
1128
	for some facets that the one build from "C" name is similar to
1129
	the one taken from locale::classic() locale.
1130
b26be71 by complement at 2007-11-12 1131
2007-11-12  Petr Ovtchenkov  <complement@users.sourceforge.net>
1132
1133
	* test/unit/fstream_test.cpp: testcase for bug #1830513;
1134
	__read_unbuffered wrongly process valid streamsize 0;
1135
	[was derived from original report of Anton Samokhvalov and Oleg Obolenskiy]
1136
1137
	* stlport/stl/_istream.c: fix for bug #1830513 above;
1138
	check boundary condition in the beginning of loop.
1139
936780a by dums at 2007-11-09 1140
2007-11-09  Francois Dumont  <dums@users.sourceforge.net>
1141
16ada15 by dums at 2007-11-09 1142
	* build/Makefiles/gmake: Add missing cygming folder comming
c311bb3 by dums at 2008-07-02 1143
	from task branch, required for Cygwin/MinGW builds.
16ada15 by dums at 2007-11-09 1144
936780a by dums at 2007-11-09 1145
	* stlport/stl/_bvector.h, _deque.h, _hashtable.h, _list.h,
1146
	_rope.h, _slist.h, _string_base.h, _tree.h, _vector.h: Removed
c311bb3 by dums at 2008-07-02 1147
	useless instantiation of _Alloc_traits to define nested
936780a by dums at 2007-11-09 1148
	allocator_type in several containers. STLport users will simply
c311bb3 by dums at 2008-07-02 1149
	have to correctly instantiate containers when they specify
936780a by dums at 2007-11-09 1150
	the allocator to use.
1151
169befb by dums at 2007-10-31 1152
2007-10-30  Francois Dumont  <dums@users.sourceforge.net>
1153
1154
	* etc/autoexp.dat: New file containing description of STLport
1155
	data structures in the Visual Studio C++ debugger language.
1156
c550440 by dums at 2007-10-21 1157
2007-10-21  Francois Dumont  <dums@users.sourceforge.net>
1158
1159
	* Merged with STLPORT_5_1 up to revision 3229.
1160
61d982d by dums at 2007-10-20 1161
2007-10-20  Francois Dumont  <dums@users.sourceforge.net>
1162
1163
	* _STLP_NO_MBSTATE_T removed, STLport cannot really live without
1164
	any mbstate_t definition. Moreover we were already defining our own
1165
	definition when _STLP_NO_MBSTATE_T is defined, we now simply generalize
1166
	this behavior. So definition of _STLP_NO_MBSTATE_T has been replaced
1167
	with _STLP_NO_NATIVE_MBSTATE_T.
1168
7c50d17 by dums at 2007-10-14 1169
2007-10-14  Francois Dumont  <dums@users.sourceforge.net>
1170
1171
	* src/bitset.cpp: Add const qualifier on static arrays used in
1172
	bitset implementation. Thanks a Andrey Semachev remark.
1173
f96860f by dums at 2007-10-12 1174
2007-10-12  Francois Dumont  <dums@users.sourceforge.net>
1175
1176
	* stlport/stl/_hash_map.h, _hash_set.h, _unordered_set.h,
1177
	_unordered_map.h: Because of the hashtable data model, number
1178
	of bucket should not be to high compare to the number of
1179
	elements. For this reason, default constructor of all hash
1180
	containers is now passing 0 as the initial size rather than 100.
1181
1182
	* stlport/stl/_hashtable.h, _hashtable.c: For the same reason exposed
1183
	above, the hashtable number of buckets is decrease when removing
1184
	elements from the container. All is done in the newly introduce
1185
	_M_reduce method that should be called each time elements are
1186
	removed.
1187
1188
	* test/unit/unordered_test.cpp: Two new test in UnorderedTest test
1189
	fixture, benchmark1 and benchmark2. Those tests are rather, as indicated
1190
	by their name, bench to compare performance of hashed containers.
1191
	It can be used with the -m unit test console option that display
1192
	timing of tests. For instance, thanks to the reduction policy exposed
1193
	above, benchmark1 is running 20 times faster while benchmark2 is
1194
	almost identical.
1195
1196
	* stlport/stl/_hashtable.h: Container might now be rehash when user
1197
	modified max load factor in order to respect
1198
	load_factor() <= max_load_factor() rule. hashtable::resize fixed,
1199
	according SGI doc it should behave as Standard unordered_*::rehash that
1200
	is to say it gives number of buckets and not number of elements.
1201
1202
	* stlport/stl/_hashtable.c: Fix Code warrior workaround that was only
1203
	showing a limited number of prime numbers.
1204
112ffa3 by complement at 2007-10-10 1205
2007-10-10  Petr Ovtchenkov  <complement@users.sourceforge.net>
1206
1207
	* build/Makefiles: merge r2883:3223 from tasks/STLport-Makefiles;
1208
	revision of build system, from 'complement' project, adopted for
1209
	STLport requirements; support build of static lib and build unit
1210
	tests with this lib; gmake-specific files moved into gmake catalog;
1211
	top.mak (gmake-specific) moved into gmake catalog; add include
1212
	option for boost's headers, if STLP_BUILD_BOOST_PATH defined;
1213
	config.mak has make-dependent features, so it moved to gmake or
1214
	nmake catalog; settings from gmake/windows/sysid.mak should
1215
	be present in common gmake/sysid.mak file; gcc 3.3 has bad or
1216
	absent libsupc++, at least in debian; don't use -lstlport, when
1217
	build it; removed windows platform support that used to represent
1218
	the environment given by the cmd shell with MinGW additional commands
1219
	i.e. MinGW require not only gmake, but other POSIX file utils too;
1220
	install target by default install to /usr/local/lib on POSIX-like
1221
	platforms; added distclean target; added install-headers target;
1222
1223
	* build/test/unit: top.mak (gmake-specific) moved into gmake catalog;
1224
1225
	* build/test/unit/gcc.mak: see just build stlport libs, not
1226
	installation path [default install path is /usr/local/lib on POSIX-like
1227
	platforms].
1228
b0af0c8 by dums at 2007-10-07 1229
2007-10-07  Francois Dumont  <dums@users.sourceforge.net>
1230
1231
	* 5.1.4 released, trunk merged with STLPORT_5_1 branch up to
1232
	revision 3221.
1233
be0637d by dums at 2007-10-04 1234
2007-10-04  Francois Dumont  <dums@users.sourceforge.net>
1235
1236
	* stlport/stl/_codecvt.h, _fstream.c, src/codecvt.cpp: Fix non
1237
	Standard conformity in codecvt::length and associated
1238
	codecvt::do_length methods. Those methods was taking const reference
1239
	to mbstate_t but the Standard specify that it must be a simple
1240
	reference.
1241
1242
	* src/facets_byname.cpp: Add a real implementation of
1243
	codecvt<wchar_t, char, mbstate_t>::do_length based on the
1244
	_Locale_mbtowc locale API function.
1245
1246
	* test/unit/codecvt_test.cpp: Add a test for codecvt::length.
1247
1248
	* test/unit/fstream_test.cpp: Add a test that indirectly test
1249
	codecvt facet and integration of it in the basic_filebuf
1250
	implementation.
1251
	
387cf78 by dums at 2007-10-02 1252
2007-10-02  Francois Dumont  <dums@users.sourceforge.net>
1253
1254
	* test/unit/deque_test.cpp, hash_test.cpp, list_test.cpp, map_test.cpp,
1255
	set_test.cpp, slist_test.cpp, unordered_test.cpp, vector_test.cpp:
1256
	Allow test on incomplete types even when pointer specialization is
1257
	activated as long as partial template specialization is supported.
1258
13829f5 by dums at 2007-10-02 1259
	* stlport/stl/_fstream.c, src/facets_byname.cpp,
1260
	test/unit/codecvt_test.cpp:
1261
	Fixed codecvt_byname<wchar_t, char, mbstate_t>::do_in and do_out
1262
	methods. They now both correctly take into account to_end pointer.
1263
	Thanks Vistor (finalvistory) report on sourceforge Developer forum.
1264
58bec04 by dums at 2007-09-28 1265
2007-09-28  Francois Dumont  <dums@users.sourceforge.net>
1266
1267
	* src/num_put_float.cpp: Modification in _Stl_ecvtR and _Stl_fcvtR
1268
	long double overloads, if value can be converted to double without
1269
	precision loss we can rely on the double overload. Moreover _Stl_fcvtR
1270
	has been fixed.
1271
5957535 by dums at 2007-09-28 1272
	* stlport/stl/pointer/_tools.h: Use class partial specialization to
1273
	enhance usability of the container pointer specialization feature.
1274
	Thanks to it, container can be instanciated with incomplete types.
1275
	Modification based on bug report 1799048 from Andrey Semashev.
1276
f928e69 by dums at 2007-09-28 1277
	* trunk merged with STLPORT_5_1 up to revision 3211.
1278
97037ab by dums at 2007-09-27 1279
2007-09-27  Francois Dumont  <dums@users.sourceforge.net>
1280
1281
	* src: Modification in the internal localization API.
1282
	_Locale_errno removed, now an int pointer is passed to all
1283
	_Locale_*_create and all _Locale_extract_*_name functions so
1284
	that they can return an error code. This method avoid multithreaded
1285
	issues.
1286
1287
	* src/locale_catalog.cpp: Modification in __acquire_category
1288
	function. If create_obj return null, the null pointer is not
1289
	stored anymore in cached as creation failure reason might be
1290
	temporary like in case of memory starvation.
1291
1292
	* stlport/stl/_locale.h: Error reporting enhancement. In combine
1293
	method we use a typeid call to report the unknown facet type. In other
1294
	situation we report both the facet category being built and the name
1295
	used to build it.
1296
1297
	* test/unit/locale_test.cpp, collate_facets_test.cpp,
1298
	messages_facet_test.cpp, money_facets_test.cpp, num_facets_test.cpp,
1299
	time_facets_test.cpp: Add checks for construction of facets from
1300
	very long facet name.
1301
e187a35 by complement at 2007-09-27 1302
2007-09-27  Petr Ovtchenkov  <complement@users.sourceforge.net>
1303
1304
	* test/unit/find_test.cpp: array initialization missed.
1305
42b74a4 by dums at 2007-09-19 1306
2007-09-19  Francois Dumont  <dums@users.sourceforge.net>
1307
1308
	* trunk merged with STLPORT_5_1 up to revision 3193.
1309
e187a35 by complement at 2007-09-27 1310
2007-09-11  Petr Ovtchenkov  <complement@users.sourceforge.net>
2318ff9 by complement at 2007-09-11 1311
1312
	* stlport/stl/_algobase.c: keep check for symmetry in
1313
	lexicographical compare---algorithm assume symmetry comparator;
1314
	remove check for symmetrical comparator in search and find,
1315
	due to double checks not better then single (the same check
1316
	done in algorithm, and algorithm not require symmetrical
1317
	comparator);
1318
1319
	* stlport/stl/debug/_hashtable.h: idem;
1320
1321
	* stlport/stl/debug/_tree.h: idem;
1322
1323
	* stlport/stl/debug/_debug.h: __symetrical_strict_weak_call
1324
	and __symetrical_equal_call not used anyware.
1325
b6ab990 by dums at 2007-09-10 1326
2007-09-10  Francois Dumont  <dums@users.sourceforge.net>
1327
1328
	* stlport/stl/_algo.c: Add check for symetrical functor
1329
	in max_element and min_element algo.
1330
1331
	* stlport/stl/_algobase.c: Restore symetrical functor checks.
1332
	Sometimes simply because the algo was already considering the
1333
	functor as symetrical as in lexicographical_compare. Sometimes
1334
	using specific helpers functions (see below).
1335
1336
	* stlport/stl/debug/_debug.h: Add __symetrical_strict_weak_call
1337
	and __symetrical_equal_call helper functions to check for
1338
	symetric functors only when invocating the symetrical functor
1339
	is valid that is to say when both parameters are of the same
1340
	type.
1341
1342
	* stlport/stl/debug/_hashtable.h: Make use of 
1343
	__symetrical_equal_call to check that equivalence functor used
1344
	in hashtable instanciation is correctly implemented.
1345
1346
	* stlport/stl/debug/_tree.h: Make use of
1347
	__symetrical_strict_weak_call to check that functor predicate
1348
	use in tree instanciation is correctly implemented.
1349
9007de8 by complement at 2007-09-09 1350
2007-09-10  Petr Ovtchenkov  <complement@users.sourceforge.net>
1351
1352
	* stlport/stl/_string.c: fix bugs in string rfind, find_last_of,
1353
	find_last_not_of [bug #1788700, position 0 was wrongly excluded];
1354
1355
	* test/unit/string_test.cpp: test for problems above. Thanks
1356
	to Bred Bored for bug report and initial test.
1357
0243fcd by complement at 2007-09-09 1358
2007-09-09  Petr Ovtchenkov  <complement@users.sourceforge.net>
1359
1360
	* test/unit/rope_test.cpp, stlport/stl/_rope.h: test for
1361
	bug #1788615 [bug during copy of rope's iterator] and fix;
1362
	suggested by John Maddock.
1363
ae54f1f by complement at 2007-09-07 1364
2007-09-07  Petr Ovtchenkov  <complement@users.sourceforge.net>
1365
1366
	* test/unit/alg_test.cpp: add #include <string>, required for
1367
	comparator symmetry test;
1368
8f9e195 by complement at 2007-09-07 1369
	* test/unit/string_test.cpp: test for bug in find_last_of,
1370
	bug #1788700, submitted by Bred Bored.
1371
5a34f7f by complement at 2007-09-05 1372
2007-09-05  Petr Ovtchenkov  <complement@users.sourceforge.net>
1373
1374
	* stlport/stl/_algobase.c: symmetry not required for
1375
	comparator in case of two different sequences comparison or
1376
	searching; symmetrical comparator just may not exist;
1377
1378
	* stlport/stl/debug/_hashtable.h: symmetry not required for
1379
	comparator in hashtable in case of containers extention;
1380
	symmetrical comparator just may not exist;
1381
1382
	* test/unit/alg_test.cpp: test for problem above, thanks
1383
	Oleg Obolenskiy.
1384
3d16b91 by complement at 2007-09-03 1385
2007-09-03  Petr Ovtchenkov  <complement@users.sourceforge.net>
1386
1387
	* src/dll_main.cpp, stlport/stl/debug/_debug.c: removed
1388
	macro _STLP_STATIC_TEMPLATE_DATA, __PUT_STATIC_DATA_MEMBERS_HERE,
1389
	_STLP_NO_STATIC_TEMPLATE_DATA; only few old compilers
1390
	require this and are good enough to work with STL;
1391
1392
	* test/eh/test_rope.cpp, stlport/stl/_num_get.c: idem;
1393
1394
	* stlport/stl/_time_facets.c, stlport/stl/_codecvt.h: idem;
1395
1396
	* stlport/stl/_monetary.c, stlport/stl/_num_put.c: idem;
1397
1398
	* stlport/stl/_rope.c, stlport/stl/_rope.h: idem;
1399
1400
	* stlport/stl/config/user_config.h: idem;
1401
1402
	* stlport/stl/config/stl_mycomp.h: idem;
1403
1404
	* stlport/stl/config/_gcc.h: idem;
1405
1406
	* stlport/stl/_threads.c: idem.
1407
08191a0 by dums at 2007-09-02 1408
2007-09-02  Francois Dumont  <dums@users.sourceforge.net>
1409
1410
	* stlport/stl/_algobase.c: Small optimization, add an
1411
	intermediate __eq function to detect when both iterator types
1412
	are identicals. Thanks Jim Xochellis idear.
1413
4c2244e by dums at 2007-09-02 1414
	* stlport/stl/_threads.h, _threads.c: Fully apply modification
1415
	of _S_nsec_sleep implementation for Win32 platforms contained
1416
	in bug report 1720635 from Taras Overchuck. It is an optimization
1417
	of the spin lock mutex specifically targetting the multiprocessor
1418
	platforms.
1419
d91f217 by dums at 2007-08-29 1420
2007-08-29  Francois Dumont  <dums@users.sourceforge.net>
1421
1422
	* stlport/stl/_algobase.c, _string.c: Some modification in
1423
	__find_first_of_aux2 implementation to reduce number of iterator
1424
	dereferencements.
1425
61db6a2 by dums at 2007-08-26 1426
2007-08-26  Francois Dumont  <dums@users.sourceforge.net>
1427
ce0c5f1 by dums at 2007-08-26 1428
	* stlport/stl/config/user_config.h, host.h: Moved administrative
1429
	_STLP_USE_UNIX_IO, _STLP_USE_STDIO_IO, _STLP_USE_WIN32_IO
1430
	macros to host.h.
1431
61db6a2 by dums at 2007-08-26 1432
	* Merged with STLPORT_5_1 branch up to revision 3151.
1433
0be9c03 by complement at 2007-08-23 1434
2007-08-23  Petr Ovtchenkov  <complement@users.sourceforge.net>
1435
1436
	* stlport/stl/debug/_vector.h: only random access iterators
1437
	allow operations 'less-then' and distance; for bidirectional
1438
	iterators removed usage of 'less-then', and for others
1439
	[like forward and input iterators] removed as usage of 'less-then'
5a34f7f by complement at 2007-09-05 1440
	as distance; thanks Oleg Obolenskiy for bug report;
0be9c03 by complement at 2007-08-23 1441
1442
	* test/unit/ioiter_test.cpp: test for problem above.
1443
8d29879 by dums at 2007-08-18 1444
2007-08-18  Francois Dumont  <dums@users.sourceforge.net>
1445
1446
	* stlport/stl/config/host.h: Removed _STLP_NO_CYGWIN macro
1447
	unused since we are using include_next.
1448
7b65c7e by dums at 2007-08-16 1449
2007-08-16  Francois Dumont  <dums@users.sourceforge.net>
1450
1451
	* stlport/stl/config/_gcc.h: Avoid conflict in link model, gcc
1452
	visibility for many platforms or dllimport/dllexport for
1453
	Cygwin/MinGW.
1454
5d995b1 by dums at 2007-08-16 1455
	* build/Makefiles/gmake/gcc.mak: Looks like Cygwin/MinGW won't
1456
	support visibility for the moment.
1457
5d95a06 by complement at 2007-08-15 1458
2007-08-15  Petr Ovtchenkov  <complement@users.sourceforge.net>
1459
1460
	* stlport/stl/char_traits.h, src/fstream_unistd.cpp: use 64-bits
1461
	file operations calls, if available on system; streamoff is
1462
	always off64_t, if _LARGEFILE_SOURCE or _LARGEFILE64_SOURCE
1463
	defined, i.e. if 64-bits file operations present;
1464
1465
	* src/fstream_stdio.cpp, src/stdio_streambuf.cpp: ditto;
1466
1467
	* stlport/stl/config/user_config.h: add _STLP_USE_DEFAULT_FILE_OFFSET,
1468
	force use off_t for streamoff and appropriate file operations calls;
1469
	note, that this may lead to problems, for example if _FILE_OFFSET_BITS
1470
	defined as 64 somewhere in user's code;
1471
1472
	* test/unit/fstream_test.cpp: test 64 bits type for filesize and
1473
	file offset.
1474
6296cc6 by dums at 2007-08-13 1475
2007-08-13  Francois Dumont  <dums@users.sourceforge.net>
1476
1477
	* test/unit/memory_test.cpp: MSVC6 do not support this test,
1478
	ignored.
1479
b5b2104 by dums at 2007-08-13 1480
	* stlport/stl/_string.h: Internal _String_reserve_t moved to
1481
	private namespace.
1482
14ddc36 by dums at 2007-08-13 1483
	* stlport/stl/_algobase.c, _string.c, char_traits.h: Adoption of
1484
	the find_first_of trick below in string::find_first_of, find_last_of,
1485
	find_first_not_of and find_last_not_of.
1486
4e7ebed by dums at 2007-08-12 1487
2007-08-12  Francois Dumont  <dums@users.sourceforge.net>
1488
1489
	* stlport/stl/_algo.h, _algobase.h, _algobase.c: find_first_of
1490
	algorithm enhancement based on the Jim Xochellis analysis that you
1491
	can find here:
1492
	http://www.codeproject.com/vcpp/stl/find_first_of.asp.
1493
1494
	* test/unit/alg_test.cpp: Add several tests to challenge the above
1495
	enhancement.
1496
b9c0258 by dums at 2007-08-08 1497
2007-08-08  Francois Dumont  <dums@users.sourceforge.net>
1498
1499
	* stlport/stl/config/feature.h: Removed useless workaround, there
1500
	is no more platform using Win32 threading API and missing bool
1501
	type.
1502
a561a69 by dums at 2007-08-08 1503
	* src/num_put_float.cpp, num_get_float.cpp: Fixes for DMC, DMC has
1504
	real long double so it now uses ieee854_long_double Glibc type. DMC
1505
	do not use anymore the sprintf workaround to write floating point
1506
	numbers.
1507
3bd18d3 by dums at 2007-08-08 1508
	* stlport/stl/_auto_ptr.h, test/unit/memory_test.cpp: Fix auto_ptr
1509
	implementation, removed a useless const_cast and change a reinterpret_cast
1510
	in static_cast. Add support for instanciation with the volatile qualifier.
1511
	Thanks Ulrich Eckhardt report.
1512
b7f0690 by dums at 2007-08-03 1513
2007-08-03  Francois Dumont  <dums@users.sourceforge.net>
1514
1515
	* src/c_locale_win32/c_locale_win32.c: Fix some static buffer size
1516
	to always have a free place for the trailing zero.
1517
ec1d66b by dums at 2007-08-03 1518
	* test/unit/locale_test.cpp: Add a test when passing a very long name
76757d6 by dums at 2007-08-03 1519
	as the LC_CTYPE facet name to the locale constructor.
1520
ec1d66b by dums at 2007-08-03 1521
	* src/system_api.h, system_api.c, build/lib/Makefile.inc,
1522
	src/num_put_float.cpp: Removed system_api workaround to access
1523
	isinfinite, isnan, isinf C functions used with gcc under Hp unix.
1524
	Now __format_nan_or_inf has an implementation entirely based on
1525
	numeric_limits values that avoids access to platform functions.
1526
74e297c by dums at 2007-07-30 1527
2007-07-30  Francois Dumont  <dums@users.sourceforge.net>
1528
1529
	* stlport/stl/_facets_fwd.h, _num_put.h, _num_get.h, _monetary.h,
1530
	_time_facets.h, _locale.h: Fix _GetFacetId workaround for compilers
1531
	like gcc since 3.4 that consider only the context at point on template
1532
	definition and not at the point of instantiation when resolving
1533
	_GetFacetId calls in has_facet or use_facets template functions.
1534
6385fa7 by dums at 2007-07-22 1535
2007-07-20  Francois Dumont  <dums@users.sourceforge.net>
1536
1537
	* stlport/stl/_mbstate_t.h: We have to define mbstate_t ourself
1538
	on platforms having mbstate_t in cwchar when we want to only use
1539
	C headers.
1540
c0de566 by complement at 2007-07-22 1541
2007-07-22  Petr Ovtchenkov  <complement@users.sourceforge.net>
1542
3405c86 by complement at 2007-07-22 1543
	* src/fstream_unistd.cpp: force use lseek64/mmap64 for HP-UX,
c0de566 by complement at 2007-07-22 1544
	if _LARGEFILE64_SOURCE defined; thanks for Michael Klein.
1545
a15cfc5 by dums at 2007-07-20 1546
2007-07-20  Francois Dumont  <dums@users.sourceforge.net>
1547
1548
	* stlport/stl/config/_gcc.h, stl_mycomp.h: Removed unused
1549
	_STLP_WEAK_ATTRIBUTE macro.
1550
1551
	* stlport/stl/config/_msvc.h, _intel.h, _gcc.h, features.h: Some
1552
	cleanup concerning _STLP_STATIC_TEMPLATE_DATA macro.
1553
e43d6f8 by dums at 2007-07-18 1554
2007-07-18  Francois Dumont  <dums@users.sourceforge.net>
1555
1556
	* stlport/stl/_num_put.h: Removed __string_to_float declarations only
1557
	used in a num_get context.
1558
1559
	* src/num_get_float.cpp:
1560
	- Import Glibc ieee854_long_double union for compilers having a real
1561
	long double type but no runtime support to correctly generate it. This
1562
	union is used by gcc under Cygwin and MinGW and by Borland compiler.
1563
	- _Stl_string_to_long_double removed, it was so similar to
1564
	_Stl_string_to_double that everything is done with this function now.
1565
	- Removed check on exponent value while parsing it from buffer, check is
1566
	only done when combining this value with the digits read.
1567
1568
	* src/num_get_float.cpp:
1569
	- Generalize synchronization code arround the ecvt/fcvt functions when
1570
	the platform do not grant reentrant functions.
1571
	- In __format_float_scientific, removed useless rz temporary variable, removed
1572
	limitation in the number of appended trailing zeros.
1573
	- In __format_float_fixed, removed limitation of number of trailing zeros
1574
	added after decimal point, it is only limited by precision.
1575
	- __format_float: Code to detect infinity or NaN has been moved before call
1576
	to platform specific ecvt/fcvt functions. Thanks to this modification, this
1577
	function is not template anymore.
1578
	- Add _Stl_ecvt/_Stl_fcvt emulation functions when platform do not grant
1579
	the necessary ecvt/fcvt functions for long double. Emulation is based on
1580
	sprintf function using 'L' modifier.
1581
	- In __write_floatT function, fix size of static buffer used by _Stl_ecvt/fcvt
1582
	functions. Fix number of digits in calls to _Stl_fcvt/ecvt in both modes,
1583
	fixed or scientific.
1584
1585
	* test/unit/num_put_get_test.cpp: Add some tests, somes with a really high
1586
	precision that show problem with static buffer size.
1587
a6a634e by complement at 2007-07-17 1588
2007-07-17  Petr Ovtchenkov  <complement@users.sourceforge.net>
1589
1590
	* stlport/stl/_algo.c, stlport/stl/_algobase.c: search, the __tmp and
1591
	__p1 iterators always point at the same position, hence one of them
1592
	is redundant;
1593
1594
	* stlport/stl/_algobase.c: in the main-loop of search there are two
1595
	successive while-loops doing exactly the same thing; one of them is
1596
	redundant and, since it is inside the main-loop, it slows down
1597
	the algorithm significantly;
1598
1599
	* stlport/stl/_algo.c, stlport/stl/_algobase.c: in the search the main-loop 
1600
	condition "while (__first1 != __last1)" is always true and consequently
1601
	redundant; this is because the initial adn in-loop conditions virtually
1602
	act as guards and will never let the main-loop condition to fail; since
1603
	this condition is evaluated in every main-loop iteration, its removal
1604
	will also improve the performance of the algorithm; thanks for
1605
	Jim Xochellis for this suggestions.
1606
89687f3 by complement at 2007-07-15 1607
2007-07-15  Petr Ovtchenkov  <complement@users.sourceforge.net>
1608
1609
	* src/strstream.cpp: "get end" pointer should be initialized
1610
	to the "begin of get + N" in obsolete strstream; bug #1536503,
1611
	thanks for Jean-Eric Cuendet;
1612
1613
	* test/unit/strstream_buffer_read_test.cpp, build/test/unit/Makefile.inc:
1614
	test for bug above; [submitted by Jean-Eric Cuendet].
1615
91c3cd0 by dums at 2007-07-05 1616
2007-07-05  Francois Dumont  <dums@users.sourceforge.net>
1617
1618
	* build/Makefiles/nmake/vc8.mak: Removed _CRT_SECURE_NO_DEPRECATE
1619
	when building STLport. Not secured version of functions _ecvt and
1620
	_fcvt functions used for floating point numbers output are not
1621
	reentrant.
1622
a09f5cf by complement at 2007-07-04 1623
2007-07-04  Petr Ovtchenkov  <complement@users.sourceforge.net>
1624
1625
	* src/num_get_float.cpp: reorder code, one condition go away.
1626
83c4ef3 by dums at 2007-07-03 1627
2007-07-03  Francois Dumont  <dums@users.sourceforge.net>
1628
1629
	* src/num_put_float.cpp: _Stl_ecvtR, _Stl_fcvtR, _Stl_qecvtR,
1630
	_Stl_qfcvtR functions, pass buffer size as a parameter when the
1631
	platform functions need it rather than duplicating the size
1632
	definition. This modification has been applied to the DECC platforms
1633
	and when the GLibC is in use.
1634
	Removed useless islong __format_float_scientific parameter. Removed
1635
	useless x __format_float_fixed parameter, islong parameter
1636
	replaced with direct specification of the maxfsig value.
1637
	In __format_float function, first attempt in detection of NaN or
1638
	infinity is done thanks to the std::numeric_limits and compiler
1639
	support, _Stl_is_nan_or_inf do not correctly handled long double
1640
	values. long double values larger than max double values were always
1641
	displayed as Inf.
1642
1643
	* src/num_get_float.cpp: Removed useless null buffer checks in
1644
	_Stl_atod functions, we know how this function is called. Replaced
1645
	some hard coded constant with numeric_limits values. Add check that
1646
	there is less than 64 digits before hiding hidden bits in vv.i64, for
1647
	long double it was generating wrong long double value.
1648
1649
	* test/unit/num_put_get_test.cpp: Add numerous tests to check both
1650
	long double input and output.
1651
4bf776d by complement at 2007-06-29 1652
2007-06-29  Petr Ovtchenkov  <complement@users.sourceforge.net>
1653
1654
	* stlport/memory: more forward declarations; fix typo;
1655
1656
	* stlport/functional: more tricks to compile with boost
1657
	and tr1;
1658
1659
	* test/unit/boost_check.cpp: problems trace; set 1 in
1660
	appropriate places to check presence of problem, but only
1661
	use one case at a time.
1662
898be3f by dums at 2007-06-28 1663
2007-06-28  Francois Dumont  <dums@users.sourceforge.net>
1664
1665
	* src/locale.cpp, locale_impl.h, stlport/stl/_locale.h,
1666
	config/features.h: Runtime check system do not fully use the
1667
	MSVC6 workaround anymore, it only use the locale workaround,
1668
	not the basic_string one.
1669
1670
	* src/string.cpp: Fix wrong explicit instanciation.
1671
1672
	* test/unit/cppunit/cppunit_mini.h, file_reporter.h: Fix 
1673
	computation of test failure when both CPPUNIT_CHECK and
1674
	CPPUNIT_ASSERT are used.
1675
b7c6a30 by complement at 2007-06-28 1676
2007-06-28  Petr Ovtchenkov  <complement@users.sourceforge.net>
1677
1678
	* stlport/stl/boost_type_traits.h: reread boost/config.h
1679
	to force usage of stlport in boost and force read essential
1680
	macros from boost/config/suffix.hpp; this is because boost
1681
	included within stlport from one side, and stlport included
1682
	within boost from another side; this make sense with
1683
	_STLP_USE_BOOST_SUPPORT defined in user_config.h;
1684
	checked for boost 1.34;
1685
1686
	* test/unit/boost_check.cpp, build/test/unit/Makefile.inc:
1687
	test for problem above; this simulate problem when boost's
1688
	header was included before any stlport's one;
1689
1690
	* stlport/stl/config/features.h: remove definition of
1691
	BOOST_STDLIB_CONFIG, due to it unconditionally defined
1692
	in boost.
1693
1694
	* stlport/memory: forward declarations for boost required,
1695
	by the same reasons as described above.
1696
1697
2007-06-24  Petr Ovtchenkov  <complement@users.sourceforge.net>
960e9c8 by complement at 2007-06-26 1698
1699
	* stlport/stl/_function.h, stlport/functional: fix import
1700
	of boost::shared_ptr---moved from _function.h to functional;
1701
	import mem_fn, bind, bad_function_call, function, swap from
1702
	boost to std::tr1.
1703
27b4d9b by dums at 2007-06-23 1704
2007-06-23  Francois Dumont  <dums@users.sourceforge.net>
1705
1706
	* stlport/stl/_string.h, _string_workaround.h: Some fix for gcc
1707
	that is now expose to the VC6 workaround because of the runtime
1708
	check mechanism under MinGW.
1709
daae95a by dums at 2007-06-21 1710
2007-06-21  Francois Dumont  <dums@users.sourceforge.net>
1711
1712
	* test/unit/cstring_test.cpp, limits_test.cpp: Small modif to avoid
1713
	MSVC compiler warning in release build.
1714
8822de5 by dums at 2007-06-21 1715
	* stlport/stl/_cwchar.h: Replace a _STLP_MSVC check with a _STLP_MSVC_LIB
1716
	check as WCHAR_MIN and WCHAR_MAX macros definition depends on library
1717
	and not on compiler.
1718
1363d0b by complement at 2007-06-20 1719
2007-06-20  Petr Ovtchenkov  <complement@users.sourceforge.net>
1720
1721
	* stlport/memory: import shared_ptr from boost to std::tr1 namespace,
1722
	if no _STLP_NO_EXTENSIONS and present _STLP_USE_BOOST_SUPPORT;
1723
	see ISO/IEC DTR 19768,
1724
	http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf
1725
1726
	* test/unit/shared_ptr_test.cpp: test for shared_ptr.
1727
88dd8af by dums at 2007-06-19 1728
2007-06-19  Francois Dumont  <dums@users.sourceforge.net>
1729
90caf90 by dums at 2007-06-19 1730
	* stlport/stl/debug/_debug.h, _debug.c: Replace __in_range with
1731
	stlp_in_range, __in_range is a macro in the Windows Vista PSDK.
1732
0478393 by dums at 2007-06-19 1733
	* src/locale.cpp, stlport_prefix.h, warning_disable.h,
1734
	stlport/stl/_locale.h, _string.h, config/features.h: Fix some
1735
	regression introduce with the improvment of the runtime compatibility
1736
	check mecanism.
1737
0ccb75c by dums at 2007-06-19 1738
	* src/c_locale_glibc/c_locale_glibc2.c: Fix implementation of
1739
	_Locale_strcmp and _Locale_strwcmp functions.
1740
88dd8af by dums at 2007-06-19 1741
	* stlport/stl/_limits.c: Change technique used to generate NaN or
1742
	infinity floating point numbers. No more reinterpret_cast of a buffer,
1743
	we now use an union based technique. gcc prefer this cleaner method
1744
	especially in release mode.
1745
1746
	* test/unit/limits_test.cpp: Small test modification as gcc was still
1747
	performing some weird optimization in release mode resulting in
1748
	unexpected behavior.
1749
4fe7af9 by complement at 2007-06-19 1750
2007-06-19  Petr Ovtchenkov  <complement@users.sourceforge.net>
1751
1752
	* stlport/stl/_function.h: import reference_wrapper from boost to
1753
	std::tr1 namespace, if no _STLP_NO_EXTENSIONS and present
1754
	_STLP_USE_BOOST_SUPPORT; see ISO/IEC DTR 19768,
1755
	http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf
1756
1757
	* test/unit/reference_wrapper_test.cpp: test for reference_wrapper.
1758
a1291f7 by complement at 2007-06-15 1759
2007-06-15  Petr Ovtchenkov  <complement@users.sourceforge.net>
1760
1761
	* build/test/unit/Makefile.inc: macro_checks.cpp instead of cwchar.cpp.
1762
e6be0fe by dums at 2007-06-14 1763
2007-06-14  Francois Dumont  <dums@users.sourceforge.net>
1764
1765
	* src/dll_main.cpp, locale.cpp, locale_impl.h, locale_impl.cpp,
1766
	stlport/stl/_locale.h, _rope.h, config/_windows.h, features.h:
1767
	Enhance the runtime compatibility mecanism used to detect build
1768
	inconsistency under Windows. We now use the locale class with the
1769
	VC6 workaround coming with it to force a call to the compatibility
1770
	check function. Inconsistency detection is activated if _DEBUG
1771
	or _STLP_DEBUG is defined. If an inconsistency is detected it is
1772
	reported by the linker thanks to an unresolved symbol
1773
	building_for_up_to_windows95_but_library_built_for_at_least_windows98
1774
	or
1775
	building_for_at_least_windows98_but_library_built_for_up_to_windows95
1776
	that are self describing.
1777
e903f2d by dums at 2007-06-14 1778
	* test/unit/cwchar.cpp: Renamed in macro_checks.cpp, add many tests for
1779
	all C Standard macros like CHAR_MIN, CHAR_MAX, INT_MIN, INT_MAX...
1780
88dd8af by dums at 2007-06-19 1781
	* stlport/stl/_cwchar.h: Add MSVC compilers before Visual Studio 2005
e903f2d by dums at 2007-06-14 1782
	as not defining WCHAR_MAX correctly.
1783
4585aaf by dums at 2007-06-11 1784
2007-06-11  Francois Dumont  <dums@users.sourceforge.net>
1785
1786
	* src/lock_free_list.h: Fix check of _WIN32_WINNT rather than _WIN32_WINDOWS.
1787
1788
	* stlport/stl/_threads.c: In the Win32 implementation, add a call to
1789
	the SwitchToThread function to potentially avoid a costly call to
1790
	Sleep(1) that can take more time than expected. If SwitchToThread fail
1791
	we call Sleep(1) again. Based on Taras Overchuk bug report 1720635.
1792
2384ebb by complement at 2007-06-11 1793
2007-06-11  Petr Ovtchenkov  <complement@users.sourceforge.net>
1794
1795
	* src/fstream.cpp: integration file; code clean, three implementations
1796
	sublimated, unix-emulation approach removed; this is reorganization
1797
	changeset, functionality was not changed;
1798
	
1799
	* src/fstream_win32io.cpp: win32io-based implementation of _Filebuf_base,
1800
	i.e. based on Windows calls CreateFile/CloseHandle/ReadFile/WriteFile +
1801
	CreateFileMapping, MapViewOfFile;
1802
1803
	* src/fstream_unistd.cpp: unistdio-based implementation of _Filebuf_base,
1804
	based on unistd open/close/read/write + mmap;
1805
1806
	* src/fstream_stdio.cpp: stdio-based implementation of _Filebuf_base,
1807
	based on stdio fopen/flose/fread/fwrite;
1808
1809
	* stlport/stl/_fstream.h: detect of _Filebuf_base implementation moved
1810
	into stlport/stl/config files;
1811
1812
	* stlport/stl/config/*.h: iostreams underline technique depends upon
1813
	OE or user's preferences;
1814
1815
	* stlport/stl/config/features.h: some system-specific macro moved to
1816
	system- or compiler-specific files;
1817
1818
	* stlport/stl/_rope.h: rewritten suspicion code, functionality not changed.
1819
d6cf890 by dums at 2007-06-08 1820
2007-06-08  Francois Dumont  <dums@users.sourceforge.net>
1821
a4b37ce by dums at 2007-06-08 1822
	* stlport/stl/_complex.h: Clean unused _STLP_NO_COMPLEX_SPECIALIZATIONS
1823
	macro and code coming with it.
1824
d6cf890 by dums at 2007-06-08 1825
	* build/lib/configure, configure.bat: Removed --windows95 option, it is
1826
	useless now that STLport includes windows.h when building the libraries.
1827
1828
	* build/Makefiles/gmake/bcc.mak, dmc.mak, gcc.mak, nmake/vc-common.mak:
1829
	Removed references to Windows 95 build, if STLport users want to target
1830
	a specific Windows OS they will only have to use --extra-cxxflags to
1831
	give WINVER, _WIN32_WINDOWS or _WIN32_WINNT values.
1832
b8edadc by dums at 2007-06-07 1833
2007-06-05  Francois Dumont  <dums@users.sourceforge.net>
1834
1835
	* stlport/stl/config/features.h: Removed unused _STLP_LDOUBLE_* macros giving
1836
	real long double size.
1837
1838
	* stlport/stl/_limits.h, _limits.c: Major code upgrade, now computation
1839
	of infinity and NaN is done thanks to some code extracted from the boost
1840
	library (www.boost.org). This code is more portable as it adapts to compiler
1841
	representation of float, double and long double and do not require many
1842
	compiler macro checks. Additionaly STLport numeric_limits now handle real
1843
	denorm_min values.
1844
1845
	* test/unit/limit_test.cpp: Add many test on dernomalized float and
1846
	some other values of numeric_limits.
1847
1848
	* stlport/stl/config/_cray.h, _gcc.h, _msvc.h, stl_mycomp.h: Removed
1849
	_STLP_NO_IEC559_SUPPORT macro, meaning was not clear and impact was
1850
	localized to the _limits.h file so use of a global macro was rather
1851
	useless.
1852
7f57f76 by dums at 2007-05-29 1853
2007-05-29  Francois Dumont  <dums@users.sourceforge.net>
1854
1855
	* stlport/stl/_num_get_.c: Small refactoring, all num_get::do_get for
1856
	float, double and long double are now calling the same __do_get_float
1857
	function. Moreover, when __read_float failed, __sring_to_float is not
1858
	called anymore.
1859
1a8806e by dums at 2007-05-28 1860
2007-05-28  Francois Dumont  <dums@users.sourceforge.net>
1861
3bc196b by dums at 2007-05-28 1862
	* test/unit/limits_test.cpp: Add test checking that numeric_limits
1863
	min is really min and max really max.
1864
1a8806e by dums at 2007-05-28 1865
	* src/allocators.cpp, locales.cpp, stlport/stl/_threads.h,
1866
	config/_windows.h: Fix detection of Windows OS having limited
1867
	implementation of Interlocked[Increment,Decrement] Win32 API
1868
	functions. _STLP_WIN95 macro has been rename _STLP_WIN95_LIKE
1869
	as it do not only signal Windows 95 build context but also former
1870
	OS versions.
1871
f584f04 by dums at 2007-05-22 1872
2007-05-22  Francois Dumont  <dums@users.sourceforge.net>
1873
1874
	* src/c_locale_win32/c_locale_win32.c: gcc MinGW has no thread
1875
	locale storage intrisinc support so for this compiler, locale
1876
	creation failure will always be reported with runtime_error
1877
	exception.
1878
3ff953b by dums at 2007-05-22 1879
	* stlport/stl/config/_msvc.h: Configuration fix, check that _STLP_MSVC
1880
	is defined before activating MSVC6 workaround
1881
	(_STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND macro).
1882
60b7f00 by dums at 2007-05-21 1883
2007-05-21  Francois Dumont  <dums@users.sourceforge.net>
1884
1885
	* src/c_locale.h, locale.cpp, locale_impl.cpp,
1886
	c_locale_dummy/c_locale_dummy.c, c_locale_win32/c_locale_win32.c,
1887
	c_locale_glic/c_locale_glibc.c, c_locale_glibc2.c: Add a _Locale_errno
1888
	function to the small localization framework in order to report more
1889
	accurate locale creation failure. For the moment there are 3 possible
1890
	failure reasons, no more memory, unsupported locale, no platform support.
1891
	In case of memory starvation, we throw a bad_alloc exception.
1892
656df1b by dums at 2007-05-19 1893
2007-05-19  Francois Dumont  <dums@users.sourceforge.net>
1894
1895
	* stlport/stl/_valarray.h, _valarray.c: Add many assertion checks to
1896
	track potential undefined behaviors mostly regarding invalid argument
1897
	size.
1898
9083e1c by dums at 2007-05-17 1899
2007-05-17  Francois Dumont  <dums@users.sourceforge.net>
1900
1901
	* stlport/stl/_prolog.h: Hide _debug.h when including C standard
1902
	headers. Some platforms (Win32) include C headers in an 'extern "C"'
1903
	scope that do not accept templates exposed in _debug.h.
1904
762a6a3 by dums at 2007-05-16 1905
2007-05-16  Francois Dumont  <dums@users.sourceforge.net>
1906
1907
	* stlport/stl/config/_auto_link.h, build/Makefiles/gmake/cygming/lib.mak,
1908
	build/Makefiles/nmake/lib/macro.mak: Removed version information
1909
	from static libs name for consistency among all supported compilers/
1910
	platform.
1911
084f0f3 by dums at 2007-05-16 1912
2007-05-15  Francois Dumont  <dums@users.sourceforge.net>
1913
1914
	* stlport/stl/_range_errors.c, _stdexcept_base.c: New files
1915
	containing codes that used to be duplicated in dll_main.cpp.
1916
1917
	* src/dll_main.cpp: Include _range_errors.c and _stdexcept_base.c
1918
	when necessary.
1919
1920
	* stlport/stl/_stdexcept_base.h, _stdexcept_base.c: __Names_exception
1921
	do not truncate anymore exception message when longer than internal
1922
	static buffer, a dynamic buffer is allocated through malloc in this
1923
	case. I haven't use __iostring class in this case as it would
1924
	have introduce a cyclic dependency between classes.
a41e823 by dums at 2007-05-15 1925
575562b by dums at 2007-05-11 1926
2007-05-11  Francois Dumont  <dums@users.sourceforge.net>
1927
b2ddfc4 by dums at 2007-05-11 1928
	* src/c_locale.h, c_locale_glibc/c_locale_glibc2.c: Some fixes to
1929
	avoid gcc warnings when compiled with -Wall -Wmissing_prototypes.
1930
1931
	* stlport/stl/_num_put.c: Fix a cast to avoid a signed/unsigned
1932
	comparison warning.
1933
dafb093 by dums at 2007-05-11 1934
	* c_locale_glibc/c_locale_glibc2.c: Use __locale_t __names field
1935
	rather than __locales to access to category names. Thanks to this
1936
	modification we do not need the Glib internal locale_data struct
1937
	definition anymore.
1938
f6ecdb7 by dums at 2007-05-11 1939
	* test/unit/fstream_test.cpp: Port the FstreamTest::null_stream for
1940
	unixes platforms that use /dev/null, the test is not ignored anymore.
1941
575562b by dums at 2007-05-11 1942
	* src/fstream.cpp: Under Windows, check that the file we are
1943
	opening is a real file before trying to truncate it or move to
1944
	the end. Allow use of special file like "NUL" with C++ fstream.
1945
09724f9 by dums at 2007-05-10 1946
2007-05-10  Francois Dumont  <dums@users.sourceforge.net>
1947
1948
	* src/stdio_streambuf.cpp: Add checks of error codes returned
1949
	by ftell and fseek functions in stdio_istreambuf::showmanyc
1950
	Windows CE special implementation.
1951
3b237ab by dums at 2007-05-10 1952
	* test/unit/fstream_test.cpp: Add new test case to check file streams
1953
	built from platform dependent null pipe (NUL under Windows, /dev/null
1954
	under unixes). Ignored for the moment.
1955
2eb586a by dums at 2007-05-04 1956
2007-05-04  Francois Dumont  <dums@users.sourceforge.net>
1957
1958
	* src/locale.cpp, allocators.cpp, stlport/stl/_threads.h,
1959
	config/_windows.h: Change macro checks to detect Windows 95 platform.
1960
	Windows 95 and NT4 has both WINVER == 0x0400 but only Windows 95 has
1961
	limitation impacting STLport code. Distinction between both platforms
1962
	is done thanks to the _WIN32_WINNT macro only defined for NT4. New
1963
	_STLP_WIN95 macro signals Windows 95 platform, it replaces
1964
	_STLP_WIN32_VERSION. Thanks Jan Echternach patch 1707963.
1965
c2c7d6a by dums at 2007-05-04 1966
	* src/c_locale_win32/c_locale_win32.c: Remove all code concerning the
1967
	messages facet, Windows platform do not support it.
1968
37169a3 by dums at 2007-05-04 1969
	* src/fstream.cpp: Fix use of fseek in _Filebuf_base::_M_seek in
1970
	_STLP_USE_STDIO_IO mode. fseek do not return the position in file
1971
	but a boolean value indicating if call has succeeded or not, and
1972
	call to ftell to get file position. Thanks Marco Jez bug report
1973
	1704843. I have also integrated a number of small fixes to use
1974
	_STLP_USE_STDIO_IO mode under MSVC or GCC MinGW, it shouldn't be
1975
	really nececarry but it costs nothing and help testing this mode.
1976
903c905 by dums at 2007-05-03 1977
2007-05-03  Francois Dumont  <dums@users.sourceforge.net>
1978
1979
	* stlport/stl/_numpunct.h, _time_facets.h, _ctype.h, _monetary.h,
1980
	_messages_facets.h: Remove friend _Locale_extract_hint function
1981
	declaration replace by the more simple friend class
1982
	_Locale_impl expression.
1983
1984
	* src/locale_impl.cpp: Change implementation of
1985
	_Locale_impl::insert_*_facets methods. Now only facets used internally
1986
	for iostreams implementation are considered as mandatory when
1987
	instanciating a locale from a name. Other facets like collate or
1988
	messages won't generate a runtime_error exception if the platform is
1989
	not able to grant an implementation. This will make STLport more
1990
	flexible in regards of platform possibilities.
1991
1992
	* stlport/stl/_messages_facets.h, src/facets_byname.cpp, messages.cpp:
1993
	Simplification of the messages facet implementation. _Messages class
1994
	has no virtual method anymore, _Messages_Impl has been removed. Now
1995
	messages class implementation is a dummy implementation that do not
1996
	allow access to platform messages, real messages implementation is
1997
	available thanks to the messages_byname class.
1998
1999
	* stlport/stl/_time_facets.h: _Locale_time instance is not kept
2000
	anymore in the facet implementation, it is only used on construction
2001
	to initiliaze _Time_Info struct instance.
2002
47bd2bc by dums at 2007-05-02 2003
2007-05-02  Francois Dumont  <dums@users.sourceforge.net>
2004
2005
	* test/unit/codecvt_test.cpp: Fixed comparison with char_traits::eof
2006
	to use eq_int_type in order to be compatible with platform having
2007
	a default unsigned char built-in type. Thanks Marco Jez report.
2008
afe0a4e by dums at 2007-04-20 2009
2007-04-19  Francois Dumont  <dums@users.sourceforge.net>
2010
2011
	* stlport/stl/_valarray.h: Integrate C++ Standard defect 253
2012
	signaling that slice_array, gslice_array, mask_array and
2013
	indirect_array copy constructor cannot be private.
2014
2015
	* test/unit/valarray_test.cpp: Add compilation test to check that
2016
	valarray operator[] taking a slice, gslice, valarray<bool> and
2017
	valarray<size_t> can be called.
2018
ae58a06 by dums at 2007-04-16 2019
2007-04-16  Francois Dumont  <dums@users.sourceforge.net>
2020
2021
	* src/locale.cpp: Simplified locale::_M_throw_runtime_error
2022
	implementation using std::string rather than C string functions.
2023
	Also change exception message generation to make failure reason
2024
	more obvious.
2025
2026
	* src/facets_byname.cpp: As, according Standard, *_byname facet
2027
	constructor should behave as locale constructor taking a name
2028
	STLport now throws a runtime_error instance when building
2029
	a facet from a null name.
2030
2031
	* src/messages.cpp: Now contains all classes implementation involved
2032
	in messages facet support.
2033
2034
	* stlport/stl/_messages_facets.h, src/messages_facets.h, messages.cpp:
2035
	Simplification of the messages facet implementation. Major modification
2036
	is that the C messages facet has now only one representation which is
2037
	the one given by the _Message class. There used to be an other one
2038
	based on _Messages_impl class using __acquire_messages("C").
2039
2040
	* src/messages_facets.h: Internal classes _Messages and _Messages_impl
2041
	are not exported anymore.
2042
2043
	* test/unit/locale_test.cpp: Facet tests has been moved to facet
2044
	category test files.
2045
2046
	* test/unit/collate_facets_test.cpp, ctype_facets_test.cpp,
2047
	messages_facets_test.cpp, money_facets_test.cpp, num_facets_test.cpp,
2048
	time_facets_test.cpp, build/test/unit/Makefile.inc: New test cases for
2049
	each facet category.
2050
2051
	* stlport/stl/config/features.h: Define _STLP_NO_TYPEINFO when _STLP_NO_RTTI
2052
	is defined.
2053
115f683 by dums at 2007-04-15 2054
2007-04-15  Francois Dumont  <dums@users.sourceforge.net>
2055
2056
	* src/dll_main.cpp: Removed useless _Atomic_swap_struct export
2057
	that has already been removed from _threads.h and that was generating
2058
	compilation error with MSVC 2005.
2059
4c61119 by dums at 2007-04-10 2060
2007-04-10  Francois Dumont  <dums@users.sourceforge.net>
2061
2062
	* stlport/stl/pointers/_deque.h, _list.h, _set.h, _slist.h:
2063
	Eric Sanford DMC patch to allow pointer specialization feature.
2064
2065
	* test/unit/map_test.cpp, set_test.cpp, slist_test.cpp,
2066
	unordered_test.cpp: Remove DMC check hiding pointer specialization
2067
	tests.
2068
2069
	* build/Makefiles/gmake/dmc.mak, app/dmc.mak: Additional fixes from
2070
	Eric Sanford.
2071
387a2db by dums at 2007-04-09 2072
2007-04-09  Francois Dumont  <dums@users.sourceforge.net>
2073
2074
	* stlport/stl/_pair.h, _vector.h, config/_bc.h: Borland patch
2075
	from Eric Sanford, remove move semantic for free compiler.
2076
2077
	* test/unit/mvctor_test.h: Eric Sanford patch to restore 2 tests
2078
	that has been lost in a previous test modification,
2079
	movable_declaration_assoc and movable_declaration_hash.
2080
2081
	* test/unit/mvctor_traits_test.cpp: Add some _STLP_NO_MOVE_SEMANTIC
2082
	checks when using __move_traits.
2083
ee973ea by dums at 2007-04-05 2084
2007-04-05  Francois Dumont  <dums@users.sourceforge.net>
2085
2086
	* stlport/stl/config/_gcc.h: Removed undef of _STLP_NEW_PLATFORM_SDK,
2087
	under MinGW, MinGW can use a new SDK and not the one coming with
2088
	MinGW.
2089
6d136de by dums at 2007-04-05 2090
	* Merged with STLPORT_5_1 branch up to revision 2994.
2091
7d7933b by complement at 2007-04-05 2092
2007-04-05  Petr Ovtchenkov  <complement@users.sourceforge.net>
2093
2094
	* src/ctype.cpp: move declaration from loop;
2095
2096
	* stlport/stl/debug/_debug.c: stl/_cstdlib.h already included;
2097
2098
	* stlport/stl/_cprolog.h: prolog for C headers can't include
2099
	files with C++ constructions;
2100
2101
	* stlport/*.h: C headers use prolog that don't include C++
2102
	constructions;
2103
2104
	* test/unit/stldbg_include.cpp, build/test/unit/Makefile.inc:
2105
	test for problem with inclusion C++ constructions from
2106
	C header.
2107
cb2dad3 by dums at 2007-04-04 2108
2007-04-04  Francois Dumont  <dums@users.sourceforge.net>
2109
2110
	* build/lib/configure.bat: Change advise command to build
2111
	STLport after configuration, it is now 'clean all' rather
2112
	than default build command.
2113
9d15028 by dums at 2007-03-22 2114
2007-03-22  Francois Dumont  <dums@users.sourceforge.net>
2115
2116
	* src/c_locale_dummy/c_locale_dummy.c: Fixed dummy definition
2117
	for a number of localization functions that are now type safe.
2118
7b90f76 by dums at 2007-03-20 2119
2007-03-20  Francois Dumont  <dums@users.sourceforge.net>
2120
2121
	* stlport/stl/_prolog.h, config/features.h, debug/_debug.h:
2122
	Normalize the way STLport debug mode macros are defined. All
2123
	debug macro definition are now coming from _debug.h and not
2124
	anymore partially from features.h. _debug.h is now included from
2125
	_prolog.h after all configuration has been completed.
2126
2127
	* stlport/stl/_alloc.h, _iterator_base.h, _valarray.h: Removed
2128
	_debug.h references now fully integrated in STLport configuration
2129
	phase.
22c6187 by dums at 2007-03-20 2130
2131
	* stlport/stl/config/_windows.h: Add some Windows macro before
2132
	inclusion of windows.h when building library to limit Windows
2133
	pollution (NOMINMAX, STRICT). Moreover add definition of
2134
	_STLP_OUTERMOST_HEADER_ID macro before windows.h inclusion to
2135
	avoid indirect include of STLport stuff throught C Standard headers
2136
	included in windows.h as at this moment STLport is not yet completely
2137
	configured.
2138
ee973ea by dums at 2007-04-05 2139
	* stlport/stl/config/_evc.h: Removed unjustified macro definition to
2140
	limit inclusion from windows.h, it is a user decision not an STLport one.
291c591 by dums at 2007-03-20 2141
2142
	* build/Makefiles/nmake/vc8.mak: Fix definition of DEFS in this file
2143
	to keep current DEFS value that might exist if configure --extra-cxxflag
2144
	option has been used.
f9eda78 by dums at 2007-03-20 2145
2146
	* src/allocators.cpp: Add _STLP_NEW_PLATFORM_SDK macro check to
2147
	perform necessary const_cast in _STLP_ATOMIC_ADD macro definition.
7b90f76 by dums at 2007-03-20 2148
b1edd9a by dums at 2007-03-17 2149
2007-03-17  Francois Dumont  <dums@users.sourceforge.net>
2150
2151
	* build/Makefiles/gmake/bcc.mak, dmc.mak, gcc.mak, nmake/vc-common.mak:
2152
	Add WINVER definition when building libraries to signal required OS
2153
	compatibility, per default it is Windows 98 and later ones.
2154
2155
	* build/lib/configure, configure.bat: Add new configuration option
2156
	--windows95 to signal that we want Windows 95 compatibility.
2157
2158
	* stlport/stl/_threads.h, config/_windows.h, src/allocators.cpp:
2159
	Move _STLP_ATOMIC_ADD macro definition in source files where it is
2160
	used.
2161
2162
	* stlport/stl/config/_windows.h:
2163
	  - When building the libraries we always include windows.h, when using
2164
	the library we always use own function declaration to avoid windows.h
2165
	inclusion.
2166
	  - InterlockedExchangeAdd is not declared anymore.
2167
	  - InterlockedExchangePointer is only used when detecting 64 bits
2168
	    platform thanks to the _WIN64 macro, otherwise InterlockedExchange
2169
	    is used.
2170
1c34c47 by dums at 2007-03-15 2171
2007-03-15  Francois Dumont  <dums@users.sourceforge.net>
2172
2173
	* build/Makefiles/nmake/vc8.mak: Default MSVC 2005 build is now done
2174
	without safe string functions for performance reasons.
2175
45ca036 by dums at 2007-03-15 2176
	* stlport/stl/_locale.h, _alloc.h, _rope.h: Moved
42a2763 by dums at 2007-11-09 2177
	_STLP_CHECK_RUNTIME_COMPATIBILITY_AT_LINK_TIME invocation where problem
45ca036 by dums at 2007-03-15 2178
	might happen which is in the rope implementation for current use. A future
2179
	use will need to guess where this function has to be invoked.
2180
2181
	* stlport/stl/config/feature.h: Fixed _STLP_USE_NO_IOSTREAMS check to undef
2182
	_STLP_CHECK_RUNTIME_COMPATIBILITY_AT_LINK_TIME macro.
2183
2184
	* stlport/stl/config/_windows.h: For performance reason
2185
	_STLP_CHECK_RUNTIME_COMPATIBILITY_AT_LINK_TIME system is only used in debug
2186
	mode (detected thanks to _DEBUG macro).
2187
3c7f99d by dums at 2007-03-13 2188
2007-03-13  Francois Dumont  <dums@users.sourceforge.net>
2189
77be045 by dums at 2007-03-13 2190
	* Merged with STLPORT_5_1 branch revision 2963.
2191
f0fe4a9 by dums at 2007-03-13 2192
	* src/locale_catalog.cpp: Use C cast for C struct like _Locale_ctype,
2193
	it makes Borland compiler happier.
2194
2abe7e5 by dums at 2007-03-13 2195
	* stlport/stl/_string.h: Made inheritance relation between basic_string
2196
	and _String_base class public for DMC.
2197
3c7f99d by dums at 2007-03-13 2198
	* src/dll_main.cpp, stlport/stl/config/features.h,
2199
	stlport/stl/_locale.h, _alloc.h: Add a new mecanism to detect library
2200
	build/use inconsisteny at link time.
2201
	_STLP_CHECK_RUNTIME_COMPATIBILITY_AT_LINK_TIME macro contains a
2202
	function name declared in features.h and defined in dll_main.cpp.
2203
	This function name depends on the build context. If, when using the
2204
	library, this macro contains an other function name because of a
2205
	different configuration context an unresolved symbol will appear at
2206
	link time showing the missing function symbol. Function name should
2207
	be chosen carefully to make problem as explicit as possible. For the
2208
	moment function is called in arbitrary places, in std::use_facet
2209
	function and std::allocator constructor. 
2210
2211
	* stlport/stl/config/_windows.h: Use
2212
	_STLP_CHECK_RUNTIME_COMPATIBILITY_AT_LINK_TIME macro to detect
2213
	inconsistency when building STLport for Windows 95 and using it
2214
	in Windows XP or opposite. Depending on targetted platform,
2215
	_Refcount_Base has a different sizeof which lead to undefined
2216
	behavior at runtime if we do not use this trick.
2217
0d23323 by complement at 2007-03-13 2218
2007-03-13  Petr Ovtchenkov  <complement@users.sourceforge.net>
2219
2220
	* test/unit/string_test.cpp: add test for trivial compare with plain
2221
	char array;
2222
2223
	* test/unit/exception_test.cpp: add test for what().
2224
ae031ed by complement at 2007-03-13 2225
2007-03-10  Francois Dumont  <dums@users.sourceforge.net>
18f2fdb by dums at 2007-03-10 2226
509b78c by dums at 2007-03-10 2227
	* stlport/stl/config/_windows.h: Major modification, when building
2228
	STLport libs windows.h or afx.h, when _STLP_USE_MFC is defined, is
2229
	systematically included in order to detect the SDK version used to
2230
	the libraries. _windows.h is now the only place is the library where
2231
	windows.h is included.
2232
2233
	* src/dll_main.cpp, fstream.cpp, lock_free_slist.h,
2234
	c_locale_win32/c_locale_win32.c: Removed references to windows.h now
2235
	included from _windows.h.
2236
2237
	* stlport/stl/_istream.c: Add parenthesis on a use_facet call to make
2238
	VC6 happy when building the library.
2239
0a5191c by dums at 2007-03-10 2240
	* test/unit: Disable tests checking instanciation and use of
2241
	containers with an incomplete type when pointer specialization is
2242
	enable.
2243
2244
	* stlport/stl/config/user_config.h: Add comment about limitation
2245
	of pointer specialization.
2246
14cea2d by dums at 2007-03-10 2247
	* stlport/stl/_string.h, _string_workaround.h: Now that _STLP_DEBUG
2248
	mode do not use inheritance anymore, use private rather than
2249
	protected members in basic_string implementation. Only exception
2250
	is when using VC6 workaround, this is what _STLP_PRIVATE macro is
42a2763 by dums at 2007-11-09 2251
	for.
14cea2d by dums at 2007-03-10 2252
18f2fdb by dums at 2007-03-10 2253
	* src/allocators.cpp, stlport/stl/config/features.h: Removed
2254
	unjustified _STLP_PRIVATE macro.
2255
d025591 by complement at 2007-03-09 2256
2007-03-09  Petr Ovtchenkov  <complement@users.sourceforge.net>
2257
169befb by dums at 2007-10-31 2258
	* stlport/stl/config/_msvc.h: use MS's safe string functions only
d025591 by complement at 2007-03-09 2259
	if _CRT_SECURE_NO_DEPRECATE not defined (see bug #1674974).
2260
	Thanks Bronek Kozicki.
2261
c2bb8a0 by complement at 2007-03-08 2262
2007-03-08  Petr Ovtchenkov  <complement@users.sourceforge.net>
2263
2264
	* src/num_get_float.cpp: experimental support of correct input
2265
	of long doubles on Linuxes.
2266
169befb by dums at 2007-10-31 2267
	* test/unit/num_put_get_test.cpp: test for correct input of float,
c2bb8a0 by complement at 2007-03-08 2268
	double and long double, including values out of type range.
2269
2e077ad by complement at 2007-03-08 2270
	* stlport/stl/config/_linux.h: mark that Alpha, PowerPC,
2271
	32-bit SPARC, 32-bit MIPS, ARM, SH4 has no long double.
2272
92a1f3e by dums at 2007-03-05 2273
2007-03-05  Francois Dumont  <dums@users.sourceforge.net>
2274
2275
	* Synchronization with STLPORT_5_1 branch revision 2945.
2276
4626dfc by dums at 2007-02-19 2277
2007-02-19  Francois Dumont  <dums@users.sourceforge.net>
2278
2279
	* stlport/stl: swap workaround review, now when swap implementation
2280
	detect that a STLport class is being swapped it calls the
2281
	_M_swap_workaround member method. We do not use the swap method
2282
	anymore because the way the workaround is implemented would have
2283
	forces us to add a swap method to queue, priority_queue and stack
2284
	containers that do not have a swap method according the C++ Standard.
2285
4dd7016 by dums at 2007-02-15 2286
2007-02-15  Francois Dumont  <dums@users.sourceforge.net>
2287
2288
	* Synchronization with STLPORT_5_1 branch up to revision 2918.
2289
3c3955f by dums at 2007-02-13 2290
2007-02-13  Francois Dumont  <dums@users.sourceforge.net>
2291
9f3de57 by dums at 2007-02-13 2292
	* stlport/stl/config/features.h, _msvc.h, stl_mycomp.h: Removed
2293
	_STLP_USING_NAMESPACE_BUG macro config. STLport private namespace
2294
	is now always nested in stlport one. Makes namespace management
2295
	easier.
2296
3c3955f by dums at 2007-02-13 2297
	* stlport/stl/_algobase.h: Restore workaround for compilers
2298
	not supporting template function partial ordering feature, was
2299
	resulting in regression for a number of compilers, VC6, Borlands.
2300
	A template class like _SwapImplemented do not have to be specialized
2301
	to be useful, this class is used to detect types having a swap
2302
	method. Detection is based on the class being flagged as STLport
2303
	class thanks to the __stlport_class inheritance.
2304
2305
	* test/unit/swap_test.cpp: Add macro checks to ignore test for
2306
	compilers we know not being able to support it.
2307
ab6aa43 by dums at 2007-02-12 2308
2007-02-12  Francois Dumont  <dums@users.sourceforge.net>
2309
2310
	* stlport/stl/config/features.h: Add necessary macro to work
2311
	with tr1 namespace of the C++ technical report.
2312
2313
	* stlport/stl/_unordered_set.h, _unordered_map.h: Put unordered
2314
	containers in tr1 namespace.
2315
2316
	* test/unit/unordered_test.cpp, mvctor_test.cpp,
2317
	mvctor_declaration_test.cpp: Add necessary using directive
2318
	to access tr1 namespace.
2319
fd60329 by complement at 2007-02-12 2320
2007-02-12  Petr Ovtchenkov  <complement@users.sourceforge.net>
dfadc90 by complement at 2007-02-09 2321
fd60329 by complement at 2007-02-12 2322
	* Repository: revert back r2908;
dfadc90 by complement at 2007-02-09 2323
fd60329 by complement at 2007-02-12 2324
	* test/unit/swap_test.cpp: test that swap( a, b ) has specialization
2325
	a.swap( b ), when required;
dfadc90 by complement at 2007-02-09 2326
fd60329 by complement at 2007-02-12 2327
	* stlport/stl/_algobase.h: _SwapImplemented useless, because it never
2328
	specialized elsewhere---remove swap specialization here, use instead
2329
	swap specialization from _relops_cont.h, when required.
dfadc90 by complement at 2007-02-09 2330
31c2610 by dums at 2007-02-07 2331
2007-02-07  Francois Dumont  <dums@users.sourceforge.net>
2332
2333
	* locale_impl.cpp, monetary.cpp, num_get.cpp, num_put.cpp,
2334
	time_facets.cpp: Moved all _GetFacetId implementations in
2335
	the same translation unit as the one where id are initialized.
2336
0a742ba by dums at 2007-02-05 2337
2007-02-05  Francois Dumont  <dums@users.sourceforge.net>
2338
2339
	* stlport/stl/_alloc.h, allocators.cpp: Moved _ALIGN and
2340
	_ALIGN_SHIFT constant definition in source file where it is used
2341
	_MAX_BYTES is used in deque implementation. Moreover those
2342
	constant value now depends on sizeof(void*) to avoid preprocessor
2343
	check like _WIN64.
2344
41f9ba0 by dums at 2007-02-05 2345
	* stlport/stl/_vector.h, _vector.c: Moved __type_traits
2346
	instanciations in methods that need it in order to be able to
2347
	access nested types like iterator even if type used to instanciate
2348
	the vector is not yet completely defined.
2349
169befb by dums at 2007-10-31 2350
	* stlport/stl/_deque.h, _deque.c: Removed useless __type_traits
41f9ba0 by dums at 2007-02-05 2351
	instanciations. For the same reason than above, __buffer_size
2352
	constant has been replaced by a function computing deque buffer
2353
	size at runtime.
2354
2355
	* stlport/stl/_hashtable.h, _hashtable.c: For the same reason than
2356
	above, hashtable do not contains anymore an instance of the _ExK type
2357
	which is used to extract the key part from a value instance. This
2358
	instance was not returned in any method of the hashtable type. An
2359
	unused constructor taking an instance of this type has been removed.
2360
2361
	* test/unit/vector_test.cpp, deque_test.cpp, list_test.cpp,
2362
	slist_test.cpp, map_test.cpp, set_test.cpp, hash_test.cpp,
2363
	unordered_test.cpp: Add compilation tests to check that the container
2364
	iterator nested type is accessible  even if type used to instanciate
2365
	the container is not yet completely defined.
2366
24a1e69 by dums at 2007-02-08 2367
2007-02-02  Francois Dumont  <dums@users.sourceforge.net>
2368
2369
	* src/c_locale.h: Add type information for the following functions
2370
	of the localization support API:
2371
	  - _Locale_*_create
2372
	  - _Locale_*_destroy
2373
	  - _Locale_*_name
2374
	Also add some variable name to make associated documentation more
2375
	explicit.
2376
2377
	* src/c_locale_win32/c_locale_win32.c,
2378
	src/c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c: Adapted to
2379
	conform to new localization API functions prototypes. Adaptation
2380
	in glibc before 2.2 has been updated but compilation hasn't been
2381
	completed because of the lack of the glibc required version.
2382
2383
	* src/locale_catalog.cpp: Now wrapper functions are used to
2384
	offer a homogeneous prototype to type safe localization API
2385
	functions.
2386
11624bb by complement at 2007-02-02 2387
2007-02-02  Petr Ovtchenkov  <complement@users.sourceforge.net>
2388
2389
	* test/unit/hash_test.cpp: add test for hash_multimap, equivalent
2390
	keys problem on some data sets [this is regression test, suggested
2391
	by tef for 5.0.2, bug report #1606308].
2392
a4dfaf7 by complement at 2007-01-29 2393
2007-01-29  Petr Ovtchenkov  <complement@users.sourceforge.net>
2394
2395
	* stlport/stl/debug/_deque.h: typename required.
2396
2397
	* test/unit/sstream_test.cpp: test for seekp added.
2398
0a742ba by dums at 2007-02-05 2399
2007-01-28  Francois Dumont  <dums@users.sourceforge.net>
73c15a8 by dums at 2007-01-28 2400
2401
	* build/Makefiles/gmake: Borland patch from Eric Sanford to install
2402
	.tds file for Borland debugger.
2403
e0c7dcd by dums at 2007-02-02 2404
	* trunk synchronized with STLPORT_5_1 branch up to revision 2895.
5dde32c by dums at 2007-01-28 2405
3783624 by dums at 2007-01-28 2406
	* stlport/stl/_threads.h: Changed way of including headers for
2407
	_STLP_UITHREADS platform. We now include internal STLport headers
2408
	rather than Standard ones. It was especially important for Sun
2409
	Studio compiler that natively include Standard headers only once.
2410
14ecbe8 by complement at 2007-01-25 2411
2007-01-25  Petr Ovtchenkov  <complement@users.sourceforge.net>
2412
2413
	* src/facets_byname.cpp: we search within scope, specified by mask,
2414
	so _Locale_wchar_ctype return can't be beyond of this mask.
2415
2416
	* src/c_locale_glibc/c_locale_glibc2.c: _Locale_wchar_ctype
2417
	implemented.
2418
2419
	* test/unit/locale_test.cpp: test for ctype facet for wchar_t added.
2420
0a742ba by dums at 2007-02-05 2421
2007-01-23  Francois Dumont  <dums@users.sourceforge.net>
abef8fb by dums at 2007-01-23 2422
2423
	* stlport/stl/_locale.h: Introduction of the _GetFacetId function
2424
	to isolate access to facet id instance in one place. It guaranty that
2425
	the facet id instances initialized in _Stl_loc_assign_ids function
169befb by dums at 2007-10-31 2426
	are the same as the ones used by streams to format output. Many compilers
abef8fb by dums at 2007-01-23 2427
	have problem with template class static variable and duplicate them
2428
	arround the different shared library depending on STLport.
2429
2430
	* stlport/stl/_monetary.h, _num_get.h, _num_put.h, _time_facets.h:
2431
	Add _GetFacetId overloads for money_get, money_put, num_get, num_put,
2432
	time_get, time_put facets that are exposed as template facets. Other
2433
	facets are fully specialized template classes whose id should be
2434
	correctly handle by compilers like for any static variable in a non
2435
	template class.
2436
2437
	* src/monetary.cpp, num_get.cpp, num_put.cpp, time_facets.cpp: Add
2438
	_GetFacetId implementation.
2439
2440
	* stlport/stl/_collate.h: Use _GetFacetId in __locale_do_operator_call
2441
	implementation, not required but more consistent.
2442
2443
	* stlport/stl/_monetary.c, _num_put.c, _num_get.c, _time_facets.c,
2444
	src/locale_impl.cpp: Removed now useless gcc Cygwin or MinGW and
2445
	Borland workarounds.
2446
2447
	* test/unit/locale_test.cpp: Removed facet_id test case, facet id
2448
	indexes are STLport internal stuff that shouldn't be part of a unit
2449
	test. Wrong facet id management will be shown by other tests. Moreover
2450
	this test was failing for compilers duplicating template class
2451
	static instances.
2452
0a742ba by dums at 2007-02-05 2453
2007-01-20  Francois Dumont  <dums@users.sourceforge.net>
1bdb78c by dums at 2007-01-20 2454
2455
	* stlport/stl/_cmath.h, _cstdlib.h, config/_watcom.h: Small
2456
	evolution for Open Watcom support.
2457
2ec196d by dums at 2007-01-20 2458
	* Synchronization of trunk from STLPORT_5_1 branch from revision
734e813 by dums at 2007-01-25 2459
	2750 to revision 2871.
2ec196d by dums at 2007-01-20 2460
5498f21 by dums at 2007-01-20 2461
	* stlport/stl/config/features.h, _gcc.h, _intel.h, _msvc.h, _sgi.h:
2462
	Major exception policy modification, _STLP_NOTHROW default value
2463
	is now throw() when exception support is activated. Compilers not
2464
	supporting is should define this macro as empty. Configuration files
2465
	of compilers already managing this feature have been updated.
2466
eca2bc8 by complement at 2007-01-19 2467
2007-01-19  Petr Ovtchenkov  <complement@users.sourceforge.net>
2468
2469
	* stlport/stl/config/host.h: define one of __SunOS_5_x macro
2470
	for gcc (during installation?) on Solaris; note, that Solaris
2471
	system may has patch with MATH_F and MATH_L functions.
2472
2473
	* stlport/stl/config/_solaris.h: reminder for __SunOS_5_x
2474
	macro definition for gcc; turn on/off MATH_F/MATH_L functions
2475
	present: see beacon that depends upon Solaris version and patch present,
2476
	as defined by SunPro compilers or in host.h. Thanks to Graham Reed.
2477
984edc1 by complement at 2007-01-19 2478
	* stlport/stl/config/_sunprocc.h: if use new-c-headers, SunPro
2479
	include iso/stdlib_iso.h instead of stdlib.h; note, that this exclude
2480
	usage of long double, long long, etc. functions, even when ones present
2481
	in OS. Thanks to Graham Reed. Bugreport 1630943.
2482
0a742ba by dums at 2007-02-05 2483
2007-01-18  Francois Dumont  <dums@users.sourceforge.net>
8c10134 by dums at 2007-01-18 2484
2485
	* stlport/stl/_num_put.c: Add cast to avoid gcc warning.
2486
2487
	* stlport/stl/_pair.h, _construct.h: Add _STLP_NO_MOVE_SEMANTIC
2488
	before inclusion of _move_construct_fwk.h.
2489
2490
	* stlport/stl/_istream.c: Removed useless cast to num_get facet.
2491
2492
	* src/system_api.c: Move macro check to at least include math.h
2493
	in order to avoid an empty translation unit which can generate
2494
	compilation warning.
2495
423c749 by complement at 2007-01-17 2496
2007-01-17  Petr Ovtchenkov  <complement@users.sourceforge.net>
2497
2498
	* stlport/stl/_cmath.h: move hypot in global namespace for SunSoft;
2499
	suggested by Graham Reed.
2500
0a742ba by dums at 2007-02-05 2501
2007-01-15  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2502
2503
	* test/unit/locale_test.cpp: Upgrade Russian currency abbreviation
2504
	'RUR' to 'RUB'. Thanks Tiziano Muller, bug report 1634886.
2505
2506
	* test/unit/cstring_test.cpp: Fix test to avoid some gcc warnings.
2507
2508
	* stlport/stl/config/_gcc.h: Add _STLP_NOTHROW definition for
2509
	this compiler for C++ Standard compliancy. It might also help the
2510
	compiler not to emit false warning about potential use of
2511
	uninitialized variable (-Wall mode).
2512
2513
	* build/lib/Makefile.inc, src/system_api.h, system_api.c: New source
2514
	file used for platform exposing some features only to C compiler. for
2515
	the moment used under Hp Unix for GNU compiler access to platform
2516
	isfinite, isnan and isinf functions.
2517
2518
	* src/num_put_float.cpp: Replace a lot of unofficial Hp Unix specific
2519
	code to access functions isfinite, isinf or isnan. Replaced by
2520
	system_api.h.
2521
2522
	* build/Makefiles/gmake/hp-ux/sys.mak: Looks like install command
2523
	on this platform is rather exotic, use cp instead.
2524
0a742ba by dums at 2007-02-05 2525
2007-01-14  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2526
2527
	* stlport/stl/config/_system.h: Add __SUNPRO_C macro check to
2528
	detect Sun Pro C compiler. Thanks Graham Reed bug report 1630916.
2529
2530
	* stlport/stl/_cstdlib.h: Add __SUNPRO_CC macro check before
2531
	defining abs(long) and div(long, long) as Sun pro already
2532
	defined them. Thanks Graham Reed bug report 1630972.
2533
0a742ba by dums at 2007-02-05 2534
2007-01-07  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2535
2536
	* stlport/stl: Add _STLP_NO_MOVE_SEMANTIC macro checks to
2537
	completely hide move semantic framework when not necessary.
2538
0a742ba by dums at 2007-02-05 2539
2007-01-05  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2540
2541
	* test/unit/bitset_test.cpp: Check _STLP_NON_TYPE_TMPL_PARAM_BUG
2542
	macro before doing tests that depends on it.
2543
2544
	* stlport/stl/_list.h: Add assertion to signal potential stack
2545
	overflow in recurssive calls to list::insert and list::splice thanks
2546
	Aleksey Sanin idear.
2547
2548
	* build/Makefiles/gmake/lib/gcc.mak: Removed obsolete -C ld option
2549
	on Hp Unix platform.
2550
2551
	* stlport/stl/_mbstate_t.h: Attempt to fix STLport config for compilers
2552
	coming with a native lib defining mbstate_t only for C++ compilers.
2553
	For those compilers native mbstate_t definition won't be used for
2554
	the moment, STLport simply grant a dummy definition in C. Test
2555
	under Hp Unix has shown that it works.
2556
0a742ba by dums at 2007-02-05 2557
2006-12-29  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2558
2559
	* src/iostream.cpp, stlport/stdio.h, stl/_cstdio.h: Eric Sanford
2560
	patch to move a Borland workaround from cstdio to stdio.h.
2561
2562
	* stlport/stl/debug: Generalize _STLP_NO_MOVE_SEMANTIC check
2563
	to hide move constructors like already done in non debug
2564
	implementation.
2565
2566
	* stlport/stl/config/_msvc.h: Restore move semantic for MSVC6. AFAIR
2567
	only MSVC .Net 2002 had problem with it.
2568
2569
	* test/unit/strstream_test.cpp: Made the tests for _STLP_LONG_LONG
2570
	a little bit more portable.
2571
0a742ba by dums at 2007-02-05 2572
2006-12-20  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2573
2574
	* test/unit/strstream_test.cpp: New test case for sourceforge
2575
	bug report 1615554. Not confirm for the moment.
2576
2577
	* test/unit/math_aux.h, mvctor_test.h, string_test.cpp: Fixes
2578
	to correctly take into account _STLP_USE_NAMESPACES.
2579
0a742ba by dums at 2007-02-05 2580
2006-12-19  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2581
2582
	* test/unit/bvector_test.cpp: Fix macro check for namespace
2583
	support.
2584
2585
	* test/unit/num_put_get_test.cpp: disable warning about float
2586
	overflow for MSVC.
2587
0a742ba by dums at 2007-02-05 2588
2006-12-17  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2589
2590
	* test/unit: One more cleanup for compilers not supporting the
2591
	namespace feature. This time we avoid namespace specification when
2592
	doing template specialisation of Standard functor like less or
2593
	allocator.
2594
0a742ba by dums at 2007-02-05 2595
2006-12-15  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2596
2597
	* stlport/stl/config/_dm.h, test/unit/map_test.cpp: Eric Sanford
2598
	patch for DMC.
2599
0a742ba by dums at 2007-02-05 2600
2006-12-13  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2601
2602
	* test/unit/test_main.cpp: Clean up use of namespace feature.
2603
2604
	* test/unit: Clean up use of std namespace or ignore tests if
2605
	necessary.
2606
2607
2006-12-13  Petr Ovtchenkov  <complement@users.sourceforge.net>
2608
2609
	* stlport, src: Orphan code removed [Symantec without maintainance a long time;
2610
	gcc prior 2.95 and 2.96 can't work with current code in any case;
2611
	NetWare unsupported too]
2612
0a742ba by dums at 2007-02-05 2613
2006-12-13  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2614
2615
	* stlport/stl/config/feature.h: Fix and generalize the mutable
2616
	workaround for compilers missing this feature. Replace
2617
	_STLP_ASSIGN_MUTABLE with _STLP_MUTABLE macro that is more flexible
2618
	as not limited to assignment.
2619
2620
	* stlport/stl/_istreambuf_iterator.h, _stream_iterator.h, _string_sum.h:
2621
	Use _STLP_MUTABLE rather than manually handle _STLP_NEED_MUTABLE macro.
2622
2623
	* stlport/stl/_sstream.h: Removed useless mutable qualifier for
2624
	basic_stringbuf _M_str member.
2625
2626
	* test/unit/bind_test.cpp: Use STLport mutable workaround.
2627
2628
	* src/message_facets.h, facets_byname.cpp: Limit use of the mutable
2629
	qualified to one member in _Message_Impl class and use _STLP_MUTABLE
2630
	in class implementation.
2631
0a742ba by dums at 2007-02-05 2632
2006-12-11  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2633
2634
	* test/unit/mvctor_test.cpp: Split in 2 other translation unit
2635
	mvctor_declaration_test.cpp and mvctor_traits_test.cpp without
2636
	impacting number of test case. It helps DMC to perform a correct
2637
	link.
2638
2639
	* stlport/stl/type_manips.h: Check _STLP_DONT_USE_PRIV_NAMESPACE before
2640
	importing __true_type and __false_type in private namespace.
2641
2642
	* stlport/stl/config/_dec.h, _apcc.h: Removed references to unused
2643
	_STLP_HAS_NO_NEW_IOSTREAMS macro.
2644
2645
2006-12-11  Petr Ovtchenkov  <complement@users.sourceforge.net>
2646
2647
	* src/fstream.cpp, stlport/stl/_fstream.h: non-template friend function
2648
	of template class isn't good idea. Fixed.
2649
0a742ba by dums at 2007-02-05 2650
2006-12-09  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2651
2652
	* stlport/stl/_range_errors.h: To complete 2006-12-04 modification
2653
	fix inclusion to access to string definition. In normal mode we include
2654
	stlport/stl/_string.h rather than string header. There is a special case
2655
	however if cumulating _STLP_NO_IOSTREAMS, _STLP_DONT_REDEFINE_STD and
2656
	_STLP_WHOLE_NATIVE_STD then functions defined in _range_errors.h will
2657
	throw exception from std namespace rather than from stlport.
2658
2659
	* stlport/stl/config/user_config.h: Documented above modification.
2660
2661
	* stlport/stl/config/features.h: Modify _STLP_VENDOR_STD definition. This
2662
	internal macro do not have to use __std_alias, within STLport code std is
2663
	not a macro and can be used as the vendor namespace.
2664
0a742ba by dums at 2007-02-05 2665
2006-12-07  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2666
2667
	* stlport/stl/_algobase.c, config/features.h: Removed unused
2668
	_STLP_MPW_EXTRA_CONST macro.
2669
2670
	* stlport/stl/config/_watcom.h, _dm.h, feature.h: Add new 
2671
	_STLP_NO_CONST_IN_PAIR macro config to avoid instanciation of
2672
	pair with a const qualified type. _STLP_CONST is defined based
2673
	on _STLP_NO_CONST_IN_PAIR.
2674
2675
	* stlport/stl/_map.h, _hash_map.h, _unordered_map.h: Add use of
2676
	_STLP_CONST.
2677
2678
	* stlport/stl/_num_put.c: Introduce __do_put_bool function containing
2679
	all codes to render bool values. We do not use anymore
2680
	__copy_integer_and_fill function that was difficult to instanciate for
2681
	Open Watcom compiler. Moreover this function was not really adapted for
2682
	being use in this context, code duplication is very limitated and
2683
	absolute number of lines of code hasn't been modified.
2684
2685
	* stlport/stl/_fstream.h, src/fstream.cpp: Removed useless declaration
2686
	of template specialization for _Noconv_input _Noconv_output and _Underflow.
2687
	_Underflow template specialization now use a function __Underflow_doit
2688
	to avoid the complex syntax of the implementation of a member method of
2689
	a template class specialization in fstream.cpp.
2690
2691
	* src/message_facets.h: Add missing allocator parameter in hash_map
2692
	instanciation, required for compiler lacking default template parameters
2693
	support.
2694
2695
	* src/num_get_float.cpp: Add unsigned 64 bits support for Open Watcom.
2696
2697
	* stlport/stl/_cmath.h, _cstdlib.h: Signal that Open Watcom has already
2698
	all math functions C++ overloads in global namespace.
2699
	
2700
	* Cleanup of all workarounds for MSVC before version 6.
2701
2702
	* build/Makefiles/gmake/gcc.mak: Hide -fvisibility option for windows as
2703
	in this context we are not able to correctly detect gcc version in use. 
2704
2705
	* stlport/stl/_fstream.h: Reorder member variables in _Filebuf_base
2706
	to avoid gcc warning.
2707
0a742ba by dums at 2007-02-05 2708
2006-12-06  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2709
2710
	* STLport 5.1.0 released based on STLPORT_5_1 branch revision 2750.
2711
2712
	* Merge STLPORT_5_1 branch from revision 2711 to 2749.
2713
2714
	* stlport/stl/config/_hpux.h: Specify that Hp Unix is a unix platform
2715
	_STLP_UNIX. This platform was already recognise as a unix platform
2716
	but it is more clear to put it in Hp Unix configuration file.
2717
2718
	* src/num_put_float.cpp: Limit Hp Unix workaround to access isfinite
2719
	isnan and some other system functions to the gcc compiler, aCC has
2720
	natively access to it. Tests done by Boris Gubenko.
2721
0a742ba by dums at 2007-02-05 2722
2006-12-04  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2723
2724
	* stlport/fstream, iomanip, ios, iosfwd, iostream, istream, locale,
2725
	ostream, sstream, streambuf, strstream: Allow use of iostream headers
2726
	even when _STLP_NO_IOSTREAMS is defined if using _STLP_WHOLE_NATIVE_STD.
2727
0a742ba by dums at 2007-02-05 2728
2006-12-02  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2729
2730
	* stlport/stl/_string.c: Use find_end algo rather than internal
2731
	__find_end function, find_end contains workaround for limited
2732
	compilers.
2733
2734
	* stlport/stl/_algo.c: Avoid a useless default value for last
de9fe41 by dums at 2007-02-02 2735
	parameter of __stable_partition_aux_aux function.
423c749 by complement at 2007-01-17 2736
2737
	* src/num_put.cpp: In __insert_grouping_aux, use template parameter
2738
	Str to get iterator definition rather than getting definition from
2739
	basic_string.
2740
2741
	* stlport/stl/_num_get.c, _num_put.c: Complete basic_string
2742
	definition for compiler not supporting default template parameters.
2743
2744
	* stlport/cmath, cstdio, typeinfo: Modified to be reentrant once.
2745
2746
	* stlport/stl/_alloc.h, _bvector.h, _construct.h, _deque.h,
2747
	_hash_map.h, _hash_set.h, _hashtable.h, _list.h, _map.h, _pair.h,
2748
	_queue.h, _rope.h, _set.h, _slist.h, _stack.h, _string.h,
2749
	_string_base.h, _string_workaround.h, _tree.h, _unordered_map.h,
2750
	_unordered_set.h, _vector.h: Now _STLP_NO_MOVE_SEMANTIC hide all
2751
	calls to _AsMoveSource function. 
2752
0a742ba by dums at 2007-02-05 2753
2006-11-30  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2754
2755
	* test/unit/stack_allocator.h: Fixed StackAllocator implementation
2756
	for Borland and DMC that required a workaround.
2757
2758
	* stlport/stl/config/_gcc.h: Starting with gcc 4, use visibility
2759
	feature.
2760
2761
	* build/Makefiles/gmake/gcc.mak: Starting with gcc 4, add
2762
	-fvisibility=hidden compilation option.
2763
0a742ba by dums at 2007-02-05 2764
2006-11-28  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2765
2766
	* stlport/stl/_alloc.h: Avoid explicit instanciation of template
2767
	function _AsMoveSource. Replace internal allocator::allocate function
2768
	with _M_allocate to avoid use of overloading.
2769
2770
	* stlport/utility: Fix header reentrancy.
2771
2772
	* stlport/stl/_ptrs_specialize.h: Fixed instanciation of
2773
	__type_traits_aux.
2774
0a742ba by dums at 2007-02-05 2775
2006-11-25  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2776
2777
	* stlport/climits, iosfwd, mem.h, string.h, typeinfo.h, wchar.h,
2778
	stl/char_traits:
2779
	Eric Sanford patch to complete use of include_next with Borland
2780
	compilers.
2781
2782
	* stlport/using/cstring: Fix macro check for Borland compiler.
2783
2784
	* test/unit/locale_test.cpp: Add test for Borland _fpclass.
2785
2786
	* src/num_put_float.cpp: Fix potential error in _Stl_is_neg_nan
2787
	for Borland compiler after 0x581.
2788
0a742ba by dums at 2007-02-05 2789
2006-11-24  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2790
2791
	* Eric Sanford patch for DMC compiler, allow access to associative
2792
	containers extension.
2793
2794
	* stlport/typeinfo.h, exception: Workaround for DMC that force
2795
	inclusion of typeinfo.h at the begining of all translation units.
2796
0a742ba by dums at 2007-02-05 2797
2006-11-23  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2798
2799
	* test/unit/cstring_test.cpp: New test case to check import of all
2800
	C functions from string.h in STLport namespace.
2801
2802
	* stlport/using/cstring: Fix import of strcmp and strcpy for Borland.
2803
0a742ba by dums at 2007-02-05 2804
2006-11-20  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2805
2806
	* stlport/iosfwd, stl/type_manips.h, config/_bc.h, pointers/_tools.h:
2807
	Patch from Eric Sanford to remove useless Borland workaround for
169befb by dums at 2007-10-31 2808
	pointer specialisation and use include_next feature for versions after
423c749 by complement at 2007-01-17 2809
	0x580.
2810
2811
2006-11-20  Petr Ovtchenkov  <complement@users.sourceforge.net>
2812
2813
	* src/monetary.cpp: template header not allowed in member definition
2814
	of explicitly specialized class
2815
0a742ba by dums at 2007-02-05 2816
2006-11-19  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2817
2818
	* stlport/stl/_ios_base.h: Replace wrong external utility inclusion
2819
	with internal _pair.h header.
2820
0a742ba by dums at 2007-02-05 2821
2006-11-17  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2822
2823
	* stlport/stl/config/features.h: Modification of the static constant
2824
	workaround implementation to use something similar to the boost
2825
	workaround. _STLP_STATIC_CONST_INIT_BUG macro change definition of
2826
	newly introduce _STLP_STATIC_CONSTANT macro which use an enum or a
2827
	real static const variable. Moreover the new
169befb by dums at 2007-10-31 2828
	_STLP_NO_STATIC_CONST_DEFINITION will hide static constant definition
423c749 by complement at 2007-01-17 2829
	when defined.
2830
2831
	* src/ctype.cpp, ios.cpp, locale.cpp: Add check for
2832
	_STLP_NO_STATIC_CONST_DEFITION.
2833
2834
	* src/monetary.cpp: Add intl static constant definitions.
2835
2836
	* stlport/stl/_ctype.h, _ios_base.h, _limits.h, _monetary.h: Use
2837
	_STLP_STATIC_CONSTANT.
2838
2839
	* stlport/stl/_limits.h: Limits a workaround for long long and unsigned
42a2763 by dums at 2007-11-09 2840
	long long types that used to be applied for gcc after 2.96 up to version
2841
	3.0.
423c749 by complement at 2007-01-17 2842
2843
	* stlport/stl/_limits.c: Clean all static constant values duplicated from
2844
	_limits.h that was not used in this file. Add static constant definition
2845
	necessary for long long and unsigned long long types for gcc between 2.96
2846
	and 3.0 (see above).
2847
2848
	* stlport/stl/debug/_string.h: Removed npos static constant definition
2849
	that is only necessary in stlport/stl/_string.c.
2850
2851
	* stlport/stl/config/_msvc.h: Use real static constant starting with
2852
	VS .Net 2003 (_MSC_VER >= 1310).
2853
2854
	* test/unit/limits_test.cpp: Modified test to reveal potentially missing
2855
	static constant definitions.
2856
0a742ba by dums at 2007-02-05 2857
2006-11-13  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2858
2859
	* stlport/stl/config/stl_confix.h: Add some STLport config options based
2860
	on EDG version information using boost common_edg.hpp content.
2861
2862
	* stlport/stl/: Patch from Eric Sanford for Borland compiler. Allow
2863
	associative container extension (member methods) and use of pointer
2864
	specialization.
2865
0a742ba by dums at 2007-02-05 2866
2006-11-07  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2867
2868
	* stlport/stl/config/_hpacc.h, stl_confix.h: Thanks to additional info
2869
	from Boris Gubenko STLport now check __EDG_VERSION__ to detect EDG based
2870
	compilers. It use this macro to activate include_next feature. Moreover
2871
	a workaround has been added for aCC6 that was not defining __EDG_VERSION__
2872
	as expected. _hpacc.h has also been cleaned of obsolete config.
2873
0a742ba by dums at 2007-02-05 2874
2006-11-07  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2875
2876
	* stlport: All C++ Standard headers are now using the same schema. If
2877
	included from outside (_STLP_OUTERMOST_HEADER_ID not defined) it first
2878
	included internal header (in stl folder) and then, if _STLP_WHOLE_NATIVE
2879
	is defined, include the equivalent native Standard header. If included
2880
	from inside, simply forward to native header include. This schema has
2881
	several advantages:
2882
	- Less dependancy on native library headers interdependancy.
2883
	- Less code included as STLport code is only exposed if headers are
2884
	included from the outside.
2885
	- Restore _STLP_WHOLE_NATIVE_STD configuration (tested with gcc, msvc, bcc)
2886
	The condition for this schema to work is that STLport never include Standard
2887
	headers internaly when it wants to access some STLport code.
2888
2889
	* stlport/stl/_iomanip.h: New file containing all STLport code that used
2890
	to be in stlport/iomanip.
2891
2892
	* stlport/stl/_complex.h, _rope.h, _stream_iterator.h, _string_fwd.h: Use
2893
	stl/_iomanip.h rather than iomanip.
2894
2895
	* stlport/stl/_rope.c: Use stl/_ostream.h and stl/_istream.h rather than
2896
	iostream.
2897
2898
	* stlport/stl/config/_kai.h, _msvc.h, feature.h: _STLP_MINIMUM_IMPORT_STD
2899
	macro removed, it was only used in vector header to avoid include of
2900
	native vector header even when _STLP_IMPORT_VENDOR_STD was defined. MSVC6
2901
	used to define it but removing it hasn't make compilation failed when
2902
	importing all native std stuff. Looks like it was a workaround necessary
2903
	when STLport was not as clean as it is now or for the former wrapper mode
2904
	that has been removed.
2905
2906
	* stlport/stl/config/features.h: Add a #error to signal that
2907
	_STLP_WHOLE_NATIVE_STD and _STLP_NO_OWN_NAMESPACE are incompatible
2908
	options.
2909
2910
	* stlport/stl/config/stl_confix.h
2911
0a742ba by dums at 2007-02-05 2912
2006-11-05  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2913
169befb by dums at 2007-10-31 2914
	* stlport/stl/_sstream.h, _sstream.c: Add 2 helper functions _S_start and
2915
	_S_finish to hide complexity of code required to have read access to the
423c749 by complement at 2007-01-17 2916
	aggregated string instance internal buffer. Those 2 functions help keeping
2917
	basic_stringbuf implementation simple without requiring a friend
2918
	declaration in basic_string class and use of inheritance in _STLP_DEBUG
2919
	mode between the debug string and the non debug one.
2920
2921
	* stlport/stl/_string.h, debug/_string.h, _string_sum_methods.h: Removed
2922
	friend declaration and inheritance (see above). This also avoids to restore
2923
	some workarounds that used to be necessary when _STLP_DEBUG mode was using
2924
	inheritance in all the debug containers.
2925
0a742ba by dums at 2007-02-05 2926
2006-11-04  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2927
2928
	* src/num_put_float.cpp: According C Standard number of digits in the
2929
	exponent part of scientific output should be at least 2, C99 even says
169befb by dums at 2007-10-31 2930
	that we shouldn't add zeros if there are more than 3 significant digits.
423c749 by complement at 2007-01-17 2931
2932
	* test/unit/complete_digits.h: Modified according to above rules.
2933
0a742ba by dums at 2007-02-05 2934
2006-11-02  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2935
2936
	* Repository: Merged STLPORT_5_1_RC3 tag changes up to r2771 into the trunk.
2937
	Now trunk is really in sync with STLPORT_5_1 branch.
2938
2939
	* etc/ChangeLog: Now contains only trunk modif, 5.1 changes are in
2940
	ChangeLog-5.1.
2941
2942
2006-11-02  Petr Ovtchenkov  <complement@users.sourceforge.net>
2943
2944
	* Repository: merged from 5.1 branch.
2945
0a742ba by dums at 2007-02-05 2946
2006-11-01  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2947
2948
	* stlport/stl/_stdexcept_base.h: Patch from Uli to simplify
2949
	__Named_Exception implementation.
2950
0a742ba by dums at 2007-02-05 2951
2006-10-31  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2952
2953
	* build/test/unit/Makefile.inc: Restore STLport version information that
2954
	had mysteriously disappeared in a previous modification.
2955
2956
	* stlport/stl/_num_put.c: Disable warning for MSVC that signal problem in
2957
	cast from pointer to unsigned long.
2958
2959
	* src/num_put_float.cpp: Fix buffer overflow introduce by a previous
2960
	modification. Now STLport appends '0' so that floating point scientific
2961
	output has a constant size. MAXESIZ renamed in MAXEDIGITS to make macro
2962
	signification more obvious.
2963
2964
	* test/unit/complete_digits.h: New file containing the function giving
2965
	platform dependant number of digits in STLport scientific output of
2966
	floating point types.
2967
2968
	* test/unit/num_put_get_test.cpp, locale_test.cpp: Adapt tests to latest
2969
	STLport modifications.
2970
0a742ba by dums at 2007-02-05 2971
2006-10-30  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 2972
2973
	* stlport/stl/_stlport_version.h: Upgrade STLport version information
2974
	to reflect built libraries.
2975
2976
2006-10-24  Petr Ovtchenkov  <complement@users.sourceforge.net>
2977
2978
	* stlport/stl/config/host.h, _linux.h: force usage malloc_alloc as default
2979
	allocator on systems with glibc 2.3.x and later	due to better performance.
2980
2981
	* stlport/stl/_alloc.h: remove _STLP_MALLOC_USABLE_SIZE dependant
2982
	code---not really used.
2983
	
2984
	* stlport/stl/_alloc.c: remove recalculation of __n [Francois was right];
2985
	remove _STLP_MALLOC_USABLE_SIZE dependant code---not really used.
2986
2987
	* src/allocators.cpp: remove additional __malloc_alloc_impl class---not
2988
	required; add mutex lock for custom __malloc_alloc oom handler change/use
2989
	[in multi-threaded environment].
2990
2991
2006-10-16  Petr Ovtchenkov  <complement@users.sourceforge.net>
2992
2993
	* stlport/stl/c_locale.h, _mbstate_t.h, src/c_locale.h, c_locale.c:
2994
	merge changes from STLPORT_5_1 branch, see 2006-10-12 [Francois Dumont];
2995
	may be problems on Solaris, and FreeBSD---more check required.
2996
2997
2006-10-13  Petr Ovtchenkov  <complement@users.sourceforge.net>
2998
2999
	* Repository: merge changes [not all] 2006-10-12 from STLPORT_5_1 branch
3000
3001
2006-10-12  Petr Ovtchenkov  <complement@users.sourceforge.net>
3002
3003
	* Repository: merge changes from STLPORT_5_1 branch (records
3004
	from 2006-10-06 to 2006-10-04).
3005
3006
	* stlport/stl/_alloc.c: Hmm, looks like deallocation size in
3007
	2006-10-06 is wrong.
3008
3009
	* stlport/stl/_num_put.c: print pointer as in fix width form, and
3010
	with base 0x, independent, zero pointer or not.
3011
3012
	* test/unit/num_put_get_test.cpp: test for issue above.
3013
3014
	* test/unit/string_test.cpp: test for overloaded operators
3015
	and temporary string; inspired by problems with some compilers.
3016
3017
	* stlport/stl/_mbstate_t.h: revert back changes from STLPORT_5_1 branch;
3018
	mbstate_t couple with wchar closely, and sometimes has compex and implicit
3019
	dependance; include wchar.h first required! 
3020
3021
2006-09-12  Petr Ovtchenkov  <complement@users.sourceforge.net>
3022
3023
	* test/unit/string_test.cpp: add test for bug report #1541499,
3024
	problem not detected; looks like gcc 4.1.1 can compile te_tmp test
3025
	correctly [sum operations under class derived from string, with
3026
	_STLP_USE_TEMPLATE_EXPRESSION].
3027
3028
2006-09-08  Petr Ovtchenkov  <complement@users.sourceforge.net>
3029
3030
	* stlport/stl/_sstream.h, _sstream.c: remove double buffering
3031
	on write only underlying string as buffer. Use knowlege about
3032
	string implementation, this should improve performance, and,
3033
	at least simplify code and avoid logic that already present in
3034
	string implementation.
3035
3036
	* stlport/stl/_string_base.h: basic_streambuf is friend, to access
3037
	to internal function (access to storage pointers).
3038
3039
	* stlport/stl/debug/_string.h, _string_sum_methods.h: change usage
3040
	of 'non-debug string', from 'use of' relation to 'inherit' releation.
3041
	Useful for access basic_streambuf to string storage in _STLP_DEBUG
3042
	mode too.
3043
		
3044
	* test/unit/sstream_test.cpp: test for tellp call; change test
3045
	with inited ostringstream in accordance with another Standard
3046
	treatment.
3047
	
3048
	* stlport/stl/_streambuf.h: remove ancient code, that can't
3049
	work with present code in any case.
3050
3051
	* src/c_locale.c: ditto
3052
3053
	* build/lib/Makefile.inc: bump minor version (5.2.0)
3054
0a742ba by dums at 2007-02-05 3055
2006-07-27  Francois Dumont  <dums@users.sourceforge.net>
423c749 by complement at 2007-01-17 3056
3057
	* stlport: Adopt include_next GNU extension for the following reasons:
3058
	- Standard headers do not have to be categorised anymore to be
3059
	included, we could have a wrong include order if headers are not
3060
	correctly categorized.
3061
	- Package builder can use any folder structure they want for gcc,
3062
	STLport won't have to be customized anymore.
3063
	- Make STLport usable with other library that also use the shadow
3064
	header trick to modify native headers content.
3065
3066
	* stlport/stl/config/_gcc.h: Add definition of _STLP_HAS_INCLUDE_NEXT
3067
	macro to signal that this compiler preprocessor support include_next.
3068
	Removed all definition of native headers path that are now useless.
3069
3070
2006-03-27  Petr Ovtchenkov  <complement@users.sourceforge.net>
3071
3072
	* src/num_put_float.cpp: use buffers that at least longer
3073
	than maximal double [or long double] exponent, so avoid
3074
	potential vulnerabilities; this allow to read really long
169befb by dums at 2007-10-31 3075
	fix-float numbers [with lost of significant digits, of course].
423c749 by complement at 2007-01-17 3076
3077
	* test/unit/floatio_test.cpp: add test for issue above
3078
3079
2006-03-23  Petr Ovtchenkov  <complement@users.sourceforge.net>
3080
3081
	* src/cxa.c: remove wrong exclusion of lock for Solaris.