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