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