blob: 135650e563914cad420f900c84075a5e54fb9ed0 [file] [log] [blame]
2007-10-21 Francois Dumont <dums@users.sourceforge.net>
* src/allocators.cpp: Add missing const_cast in lock free
allocator implementation when _STLP_LEAKS_PEDANTIC is defined.
Thanks trungantran on forum.
2007-10-07 Francois Dumont <dums@users.sourceforge.net>
* STLport 5.1.4 released based on revision 3219. STLport-5.1.4
tag created.
* stlport/stl/_stlport_version.h, build/lib/Makefile.inc: Patch
version bump to 5 to prepare next potential patch release.
2007-10-05 Francois Dumont <dums@users.sourceforge.net>
* stlport/stl/debug/_iterator.h, _string.h, src/string.cpp:
Removed useless and even invalid workaround used when
_STLP_USE_MSVC6_MEM_T_BUG_WORKAROUND is defined. There is now
only one construct check class __construct_checker,
__msvc6_construct_checker has been removed.
2007-09-28 Petr Ovtchenkov <complement@users.sourceforge.net>
* Platform tested: gcc 4.1.2 20060928 (prerelease)
(Ubuntu 4.1.1-13ubuntu5), i686 GNU/Linux, glibc 2.4;
* release-shared: fail on list_test.cpp:392
[CPPUNIT_ASSERT(lint1.size() == 20)], suspected compiler's bug;
1 fail from 395 tests;
* stldbg-shared: passed 395 tests;
* Platform tested: gcc 4.1.2, i686 GNU/Linux, glibc 2.4;
* release-shared: fail on list_test.cpp:392
[CPPUNIT_ASSERT(lint1.size() == 20)], suspected compiler's bug;
1 fail from 395 tests;
* stldbg-shared: passed 395 tests;
* Platform tested: gcc 4.2.1, i686 GNU/Linux, glibc 2.4;
* release-shared: passed 395 tests;
* stldbg-shared: passed 395 tests;
* Platform tested: gcc 4.1.1, i686 athlon-4 i386 GNU/Linux,
glibc 2.3.6;
* release-shared: passed 395 tests;
* stldbg-shared: passed 395 tests;
* src/c_locale_glibc/c_locale_glibc2.c: this is a C, so
decl allowd only on top of block;
* Platform tested: gcc 2.95.4 (debian), i686 GNU/Linux,
glibc 2.3.2;
* release-shared: build success, as library as unit tests,
but run unit tests fail---stalling on spinlock during library
load; looks like problem with correct initialization of
statics;
* stldbg-shared: fail build library, stlport/stl/debug/_hashtable.h:49:
declaration of `operator ==' as non-function
2007-09-27 Francois Dumont <dums@users.sourceforge.net>
* src/facets_byname.cpp: In collate::do_transform, consider
low == high as a special case, returns empty string in this
case.
2007-09-27 Petr Ovtchenkov <complement@users.sourceforge.net>
* test/unit/find_test.cpp: array initialization missed.
2007-09-17 Francois Dumont <dums@users.sourceforge.net>
* stlport/stl/_num_get.h: Add _STLP_DECLSPEC specification to
several functions that might be access by external code when
num_get facet is instantiated with something else than the
Standard required instantiation.
2007-09-11 Francois Dumont <dums@users.sourceforge.net>
* src/c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c: Fix
_Locale_strxfrm and _Locale_wcxfrm implementation to take
into account strings that are not zero terminated.
* test/unit/locale_test.cpp: Add check that collate.tranform
method build a key only for chars in the range pass to method.
2007-09-10 Francois Dumont <dums@users.sourceforge.net>
* src/facets_byname.cpp: John Maddock bug report 1788618 fix.
Moreover remove use of an intermediate buffer to get result
of _Locale_strxfrm.
* test/unit/locale_test.cpp: Add tests for collate::transform
facet method.
* src/c_locale_win32/c_locale_win32.c: Small modification,
_Locale_strxfrm is supposed to return the number of chars
required to store the generated sorted key without the trailing
zero.
* src/c_locale_glibc/c_locale_glibc.c, c_locale_glibc2.c: Fix
implementation of _Locale_strxfrm, it should never return -1.
2007-09-10 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/_string.c: fix bugs in string rfind, find_last_of,
find_last_not_of [bug #1788700, position 0 was wrongly excluded];
* test/unit/string_test.cpp: test for problems above. Thanks
to Bred Bored for bug report and initial test.
* unit tests: Linux 2.6.16.26 (athlon-4), gcc 4.1.1, glibc 2.3.6
"OK 395 tests" for release-shared and stldbg-shared targets.
2007-09-09 Petr Ovtchenkov <complement@users.sourceforge.net>
* test/unit/rope_test.cpp, stlport/stl/_rope.h: test for
bug #1788615 [bug during copy of rope's iterator] and fix;
suggested by John Maddock.
* stlport/stl/_algobase.c: symmetry not required for
comparator in case of two different sequences comparison or
searching; symmetrical comparator just may not exist;
* stlport/stl/debug/_hashtable.h: symmetry not required for
comparator in hashtable in case of containers extention;
symmetrical comparator just may not exist;
* test/unit/alg_test.cpp: test for problem above, thanks
Oleg Obolenskiy.
2007-09-06 Francois Dumont <dums@users.sourceforge.net>
* test/unit/strstream_buffer_read_test.cpp: Remove useless
strdup call that was moreover introducing a memory leak.
2007-09-04 Francois Dumont <dums@users.sourceforge.net>
* src/allocators.cpp: Fix implementation of _S_chunk_dealloc when
lock free implementation is not in use. Thanks bug report 1787636
from Sergej Zagursky.
2007-08-31 Francois Dumont <dums@users.sourceforge.net>
* stlport/stl/_cstdio.h, _ctime.h: Add missing macro definition
test before using _WIN32_WCE thanks bug report 1784174.
* stlport/stl/_bitset.h: Change macro tests in order to check
macro definition before using it thanks bug report 1785679.
* test/unit/bitset_test.cpp: Bitset::iostream new test to check
correct input/output of bitset class.
* build/Makefiles/gmake/gcc.mak: Add -Wundef gcc option when building
with gcc under Cygwin MinGW, it is an interesting option to detect
macro check errors.
2007-08-26 Francois Dumont <dums@users.sourceforge.net>
* stlport/stl/config/user_config.h, host.h: Moved the administrative
_STLP_USE_DEFAULT_FILE_OFFSET macro from user_config.h to host.h.
* stlport/stl/config/_gcc.h: Under MinGW we now use C symbols in
global namespace. Tests with 4.2.1 gcc version shows that C symbols
are not necessarily put in std namespace.
2007-08-23 Francois Dumont <dums@users.sourceforge.net>
* stlport/stl/_complex.h: As in _iosfwd.h, removed useless
_STLP_CLASS_DECLSPEC attribute on complex class declaration.
2007-08-23 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/debug/_vector.h: only random access iterators
allow operations 'less-than' and distance; for bidirectional
iterators removed usage of 'less-than', and for others
[like forward and input iterators] removed as usage of 'less-than'
as distance; thanks Oleg Obolenskiy for bug report;
* test/unit/ioiter_test.cpp: test for problem above.
2007-08-18 Francois Dumont <dums@users.sourceforge.net>
* stlport/stl/_iosfwd.h: Removed useless _STLP_CLASS_DECLSPEC attribute
on class declaration. Latest gcc versions are reporting a warning about
it.
2007-08-16 Francois Dumont <dums@users.sourceforge.net>
* src/dll_main.cpp: Removed useless _Atomic_swap_struct explicit
instantiation, moreover, MSVC 2005 do not support it.
2007-08-15 Petr Ovtchenkov <complement@users.sourceforge.net>
* Repository: bump lib version to 5.1.4;
* stlport/stl/char_traits.h, src/fstream.cpp: use 64-bits
file operations calls, if available on system; streamoff is
always off64_t, if _LARGEFILE_SOURCE or _LARGEFILE64_SOURCE
defined, i.e. if 64-bits file operations present;
* stlport/stl/config/user_config.h: add _STLP_USE_DEFAULT_FILE_OFFSET,
force use off_t for streamoff and appropriate file operations calls;
note, that this may lead to problems, for example if _FILE_OFFSET_BITS
defined as 64 somewhere in user's code;
* test/unit/fstream_test.cpp: test 64 bits type for filesize and
file offset.
2007-07-22 Petr Ovtchenkov <complement@users.sourceforge.net>
* src/fstream.cpp: force use lseek64/mmap64 for HP-UX, if _LARGEFILE64_SOURCE
defined; thanks for Michael Klein.
2007-07-17 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/_algo.c, stlport/stl/_algobase.c: search, the __tmp and
__p1 iterators always point at the same position, hence one of them
is redundant;
* stlport/stl/_algobase.c: in the main-loop of search there are two
successive while-loops doing exactly the same thing; one of them is
redundant and, since it is inside the main-loop, it slows down
the algorithm significantly;
* stlport/stl/_algo.c, stlport/stl/_algobase.c: in the search the main-loop
condition "while (__first1 != __last1)" is always true and consequently
redundant; this is because the initial adn in-loop conditions virtually
act as guards and will never let the main-loop condition to fail; since
this condition is evaluated in every main-loop iteration, its removal
will also improve the performance of the algorithm; thanks for
Jim Xochellis for this suggestions.
2007-07-15 Petr Ovtchenkov <complement@users.sourceforge.net>
* src/strstream.cpp: "get end" pointer should be initialized
to the "begin of get + N" in obsolete strstream; bug #1536503,
thanks for Jean-Eric Cuendet;
* test/unit/strstream_buffer_read_test.cpp, build/test/unit/Makefile.inc:
test for bug above; [submitted by Jean-Eric Cuendet].
2007-04-02 Francois Dumont <dums@stlport...>
* 5.1.3 released based on revision 2983. STLport-5.1.3 tag created.
2007-03-30 Francois Dumont <dums@stlport...>
* build/lib/configure.bat: Restore TARGET_PROC_SUBTYPE definition
to distinguish between ARM architectures.
2007-03-22 Francois Dumont <dums@stlport...>
* stlport/stl/config/_msvc.h, _deque.h, _bvector.h: Portage from
Ulrich Echkardt to EVC 8.
* doc/README.evc8, README.wince: New documentations about Windows
CE and EVC 8 from Ulrich Echkardt.
* doc/evc_workaround.txt, doc/README.evc3, First file merged to the
second one.
* stlport/stl/_stlport_version.h: Bump patch level to 3.
2007-03-07 Francois Dumont <dums@stlport...>
* src/dll_main.cpp, stlport/stl/_stdexcept_base.h: Change strncpy_s
invocation to pass _TRUNCATE parameter rather than number of chars
to put in destination string. Default strncpy_s behavior is not to
truncate string if necessary but to report the issue throught a handler
which lead to an application crash if no handler has been set. Thanks
Bronek Kozicki bug report 1674974.
* stlport/stl/type_traits.h: Add a default constructor declaration
in _TpWithState class to make gcc happy when class is instanciated
with a class with no default constructor.
* stlport/stl/config/_windows.h: Change definition of
_STLP_WIN32_VERSION macro. We do not report definition inconsistency
between WINVER and _WIN32_VERSION anymore, WINVER is prefered.
2007-03-01 Francois Dumont <dums@stlport...>
* test/unit/bitset_test.cpp: Add test for the to_string member
method.
* stlport/stl/config/_msvc.h, test/unit/locale_test.cpp: Change
MSVC6 configuration that now defines _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS.
Even if MSVC6 supports explicit specification of function template
parameters it do not support the explicit specification for
template methods, unit tests are showing this problem.
* stlport/stl/type_traits.h, _alloc.h: Small change in stateless
class detection feature. Introduce _IsStateless helper struct for
this purpose even if it can only be used with pure class type and
not with build-in types or enum or union. It avoids MSVC8 warnings.
2007-02-25 Francois Dumont <dums@stlport...>
* 5.1.2 released based on revision 2937, tag STLport-5.1.2 created.
* stlport/stl/config/_prolog.h, build/Makefiles/gmake/bcc.mak,
Patch from Eric Sanford to remove empty base class optimization
for Borland compilers.
* test/unit/vector_test.cpp: Enable VectorTest::ebo test for Borland
compilers.
2007-02-22 Francois Dumont <dums@stlport...>
* stlport/stl/_alloc.h: Add a workaround for compilers with buggy
empty base class optimization which is used in _STLP_alloc_proxy
class.
* test/unit/vector_test.cpp: New test case VectorTest::ebo to show
problem above.
2007-02-21 Francois Dumont <dums@stlport...>
* src/c_locale_win32/c_locale_win32.c: Fixed __ConvertDate and
__ConvertTime to avoid potential infinite loop (bug report
1663604)
2007-02-16 Francois Dumont <dums@stlport...>
* STLport 5.1.1 released based on revision 2919. STLport-5.1.1
tag created.
2007-02-14 Francois Dumont <dums@stlport...>
* stlport/stl/config/_intel.h: Configuration fix, Intel compiler
before 8.1 have problem with template method specialization. Thanks
Dragan Tubic.
2007-02-09 Francois Dumont <dums@stlport...>
* test/unit/locale_test.cpp: Enhance LocaleTest::collate_facet
test case to reveal a bug in glibc localization portage.
* src/c_locale_glibc/c_locale_glibc2.c: Fixed _Locale_strcmp
and _Locale_strcmp and _Locale_strwcmp implementation to take
into account buffer size, comparison used to always been done on the
whole input strings up to the termination character.
* stlport/stl/type_manips.h, test/unit/mvctor_test.cpp,
type_traits_test.cpp: Remove relation between STLport __true_type and
__false_type and homonyms ones in libstd++. Add workaround in the 2
test suite requiring use of those types.
2007-02-08 Francois Dumont <dums@stlport...>
* stlport/stl/_threads.h, src/locale.cpp: Add missing parenthesis
in some macro checks thanks Jan Echternash bug report 1653966.
* test/unit/locale_test.cpp: Made LocaleTest::collate_facet test
really meaningful even if it requires french locale support for
part of it.
2007-02-01 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/config/_solaris.h: __LONG_MAX__ defined on
64-bits SPARCs. Thanks Aleksey Sanin.
* stlport/stl/_sparc_atomic.h, stlport/stl/_threads.h:
fixes for modern SPARCs. Thanks Aleksey Sanin.
2007-01-28 Francois Dumont <dums@stlport...>
* stlport/stl/debug/_deque.h: Fix iterator invalidation in erase
of an iterator range thanks to Steve Lobasso indirect report (bug
1645657).
* test/unit/deque_test.cpp: New test case for deque erase methods.
2007-01-19 Francois Dumont <dums@stlport...>
* stlport/stl/_locale.h, src/locale.cpp: Add throw() specification
on locale default constructor. Add const qualifier on locale::combine
method. Fixed combine implementation to correctly combine
*this with other locale instance.
* src/locale_impl.h: Removed _get_Locale_impl and
_copy_Nameless_Locale_impl already defined in stlport/stl/_locale.h.
* src/locale_impl.cpp: In _Locale_impl::insert add check that we
are working on 2 different facet instances before substitution.
* test/unit/locale_test.cpp: Add test case for locale::combine
method.
2007-01-12 Francois Dumont <dums@stlport...>
* c_locale.h, c_locale_dummy.c, c_locale_glibc.c, c_locale_glibc2.c,
c_locale_win32.c: Creation of 2 new functions in the localization
framework _Locale_init and _Locale_final to allow localization
implementations to initialize and release any necessary resources.
* src/iostream.cpp: Call _Locale_init during io streams initialization
and _Locale_final at end.
* c_locale_win32/c_locale_win32.c: Add synchronization for locale
lcid look up from name required in multithreaded environment. Two
threads instanciating two facet instances from a given name might
have collide resulting in an undefined behavior. Critical section
used for synchronization is initialized in _Locale_init and freed
in _Locale_final.
* c_locale_win32/c_locale_win32.c: Add several fields in
_Locale_time struct to avoid use of static buffers in some locale
support functions like _Locale_d_t_fmt _Locale_long_d_t_fmt...
Moreover time format cannot be truncated anymore.
2007-01-08 Francois Dumont <dums@stlport...>
* stlport/stl/_deque.c: Patch from Kevin Lin to fix iterator
returned by insert at position method.
* test/unit/deque_test.cpp: Add test case for the deque::insert
methods.
2006-12-06 Francois Dumont <dums@stlport...>
* STLport 5.1.0 released based on STLPORT_5_1 branch revision 2750.
2006-11-27 Francois Dumont <dums@stlport...>
* stlport/stl/config/_windows.h: Patch from Michael Fink to check
inclusion of winbase.h and windows.h.
2006-11-24 Francois Dumont <dums@stlport...>
* stlport/stl/_fstream.h, src/fstream.cpp, iostream.cpp: Restore
computation of the system dependant page size that was hardcoded
to 4096. Initialisation code has been moved to a static method
called just after Standard iostream initialisation. This code used
to be in the _Filebuf_base constructor that might have been called
simultaneously by several threads.
2006-11-17 Francois Dumont <dums@stlport...>
* stlport/stl/config/_macosx.h: Add endianess configuration.
2006-11-16 Francois Dumont <dums@stlport...>
* test/unit/resolve_name.cpp: Clean most of MSVC6 workaround, only
one has been kept to have the test pass.
2006-11-13 Francois Dumont <dums@stlport...>
* stlport/stl/_cwchar.h: Patch from Michael Fink to fix EVC3
missing mbstate_t definition.
2006-11-07 Francois Dumont <dums@stlport...>
* stlport/stl/_threads.h: Removed _Atomic_swap_struct export
that should be useless as completely inlined. Moreover it was
generating a compilation error using MSVC 2005 under Windows
64 bits.
2006-10-26 Francois Dumont <dums@stlport...>
* test/unit/codecvt_test.cpp: Removed try/catch blocks not
supported by platform missing exception support and moreover
useless as we know the code called in the try and this code
do not throw (thanks Michael Fink report).
* build/Makefiles/nmake/targetdirs.mak, lib/clean.mak, app/clean.mak:
Complete clobber and distclean rules to really clean all generated
stuffs.
* build/Makefiles/nmake/top.mak: Patch from Gary Bartlett to make nmake
'all' rule the default rule.
2006-10-25 Francois Dumont <dums@stlport...>
* src/dll_main.cpp: Fix syntax error '>>' rather than '> >' in
a _STLP_alloc_proxy explicit instanciation.
* stlport/stl/_unordered_set.h: Fix template method for the
associative container extension, use _KT type rather than key_type.
2006-10-20 Francois Dumont <dums@stlport...>
* stlport/stl/config: Removed some used macros
_STLP_AUTOMATIC_TYPE_TRAITS
_STLP_UNINITIALIZABLE_PRIVATE
_STLP_STATIC_ARRAY_BUG
_STLP_FULL_ADL_IMPLEMENTED
* test/unit/codecvt_test.cpp: Ignore test when
_STLP_NO_MEMBER_TEMPLATES defined.
2006-10-20 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/_cwchar.h: fix HP-UX problem with WCHAR_MIN, WCHAR_MAX
[Boris Gubenko].
2006-10-19 Petr Ovtchenkov <complement@users.sourceforge.net>
* test/unit/sstream_test.cpp: check bugreport #1580020, not confirmed;
[bug in gcc 4.1.2-svn, compiler under development].
2006-10-17 Francois Dumont <dums@stlport...>
* stlport/stl/_cwchar.h: Restore code to define potentially missing
WCHAR_MIN, WCHAR_MAX macros. It used to be in _mbstate_t.h but was
missing some native includes to work, in _cwchar.h everything should
be fine.
* test/unit/codecvt_test.cpp: Fix C cast that was losing const
qualifier.
* stlport/stl/_mbstate_t.h: Avoid definition of _STLP_NO_MBSTATE_T when
using own mbstate_t definition in _STLP_USE_NO_IOSTREAMS mode. This macro
is not supported anymore and should be fixed or removed in future version.
Own mbstate_t will be defined even in no iostreams mode.
* stlport/stl/config/_evc.h: Now that mbstate_t situation is clear EVC3
defines _STLP_NO_NATIVE_MBSTATE_T rather than directly defining it in
the config file.
* test/unit: Several fixes to build with _STLP_NO_EXTENSIONS and
_STLP_NO_ANACHRONISMS.
2006-10-16 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/_mbstate_t.h: this header may be included from system
stddef.h, without wchar.h---defines of wchar limits isn't good place
here [WCHAR_MAX, etc.].
* test/unit/cwchar.cpp: correct test to hilight problem above.
2006-10-14 Petr Ovtchenkov <complement@users.sourceforge.net>
* test/unit/cwchar.cpp, build/test/unit/Makefile.inc: test a few macros
related to wchar. Inspired by problems in STLPORT_5_1 and boost::regex.
2006-10-12 Francois Dumont <dums@stlport...>
* stlport/stl/_numpunct.h, src/numpunct.cpp: numpunct facet _M_truename
_M_falsename and _M_grouping are not static anymore. This seems useless
and moreover was introducing static initialisation order and threading
issues.
* stlport/stl/c_locale.h, _mbstate_t.h, src/c_locale.h, c_locale.c:
New mbstate_t policy. When no mbstate_t in native library STLport defines
one for its own need in localisation support. This mbstate_t is simply
an int defined in global namespace and imported to STLport namespace.
Internal localisation framework is nt anymore in STLport namespace but
in the global one as it is normaly a C framework.
* stlport/stl/config/_bc.h: Defines _STLP_NO_NATIVE_MBSTATE_T rather
than internal _STLP_USE_OWN_MBSTATE_T macro.
* stlport/stl/config/_evc.h: Add comment for EVC3 users, this platform
should define _STLP_NO_NATIVE_MBSTATE_T, but I have not the platform
to check...
* build/Makefiles/gmake/bcc.mak: Do not force anymore built of C sources
as C++.
* test/unit/string_test.cpp, istmit_test.cpp: Fixed macro checks to make
tests buildable even when _STLP_NO_IOSTREAMS is defined.
2006-10-09 Francois Dumont <dums@stlport...>
* test/unit/codecvt_test.cpp: Fix use of mbstate_t to make it more
portable.
2006-10-06 Francois Dumont <dums@stlport...>
* stlport/stl/_alloc.h, _alloc.c: Fixed __debug_alloc implementation
to avoid unjustified assertion about wrong size of buffer to
deallocate, thanks David Deakins and verntx on sourceforge.
* test/unit/vector_test.cpp: Add test for bug above.
* stlport/wchar.h, stl/_cwchar.h, _istream.h, _limits.h, _locale.h,
_threads.h, char_traits.h, type_traits.h, _mbstate_t.h: Fix regression
introduce by inclusion of mbstate_t.h in wchar.h. Now _mbstate_t.h is
only included at end of wchar.h and _cwchar.h. All places where _mbstate_t.h
was used are now including _cwchar.h.
2006-10-05 Francois Dumont <dums@stlport...>
* build/Makefiles/gmake/bcc.mak: Use -P compiler to force build of C
translation as C++ because of the mbstate_t problem.
* build/Makefiles/gmake/lib/bcc.mak, rules-a.mak: Fix Borland tlib call
syntax thanks mbkenny.
* stlport/stl/wchar.h: Add include of internal _mbstate_t.h file to
know STLport status regarding mbstate_t configuration.
* stlport/stl/c_locale.h: When building platform localisation support
as C++ struct declaration are done in STLport namespace.
* src/c_locale.h: Removed _mbstate_t.h include that is now included
from wchar.h or _cwchar.h depending on C or C++ build. Removed #error
done too early (see next comment).
* src/c_locale.c: Add #error statement when building STLport on a platform
having real localisation support but no native mbstate_t definition. In this
case c_locale.c must be built as a C++ translation unit.
* src/c_locale_win32/c_locale_win32.c: Add Borland workaround to avoid
compilation error now that it is build as a C++ translation unit.
* stlport/stl/_mbstate_t.h: Now that this file is not included from outside
world we can include internal _cwchar.h rather than cwchar. Removed
a wint_t workaround already existing in _cwchar.h. Removed Borland workaround
that was defining mbstate_t when using this file in a C context, it was
moreover different than the definition in C++ ! Add a pure C declaration of
mbstate_t when in C.
2006-10-04 Francois Dumont <dums@stlport...>
* src/c_locale.h: Add #error to signal issue when building c_locale.c
as a C source when STLport uses its own mbstate_t definition.
* src/num_put_float.cpp: Modification in Cygwin native lib headers
revealed that we were missing ieeefp.h include.
* src/dll_main.cpp, stlport/stl/_threads.h: Fix export of
_Atomic_swap_struct for compilers supporting export of templates.
* stlport/stl/config/_hpacc.h: Some cleanup (unknown _STLP_NO_KOENIG_LOOKUP
macro) and formating fixes.
* stlport/stl/_bvector.h: Use _STLP_DECLARE_RANDOM_ACCESS_REVERSE_ITERATORS
rather than reproducing the workaround hidden by this macro.
* test/unit/vector_test.cpp: Add test case to check iterators comparisons.
2006-09-26 Francois Dumont <dums@stlport...>
* src/allocators.cpp: Reorder code blocks to fix build when using
_STLP_LEAKS_PEDANTIC.
* stlport/stl/_num_put.c: Restore __len >= 2 check in
__copy_integer_and_fill function. It has been removed on the
2006-07-11, at this time STLport always add the base information
even for 0 value. This modification has been rollback but not this
check.
* test/unit/num_put_get_test.cpp: Add check for above fix.
2006-09-26 Francois Dumont <dums@stlport...>
* src/c_locale_win32/c_locale_win32.c: Add check of code page when
specified in locale name.
* src/c_locale_win32/c_locale_win32.c: Add checks in __ConvertDate
and _Locale_t_fmt to avoid potential buffer overflow.
* src/c_locale_win32/c_locale_win32.c: Create __GetLocaleInfoUsingACP
function that merge a call to GetLocaleInfoA and a call to
__ConvertFromACP in one call, the latter function has been removed.
* src/c_locale.h: Restore _STLP_BEGIN_NAMESPACE when STLport use
its own mbstate_t definition which is only available in STLport
namespace. Fix Borland regression.
* stlport/stl/_mbstate_t.h: Replace stl/_cwchar.h include with
a cwchar one as this file is included from the outside world when
building STLport lib.
2006-09-25 Francois Dumont <dums@stlport...>
* test/unit/codecvt_test.cpp: New test case for the codecvt
facet.
* test/unit/unordered_test.cpp: size_t replace by int to avoid
64bits issue warning.
2006-09-21 Francois Dumont <dums@stlport...>
* stlport/stl/c_locale.h: Patch from Boris Gubenko to avoid
direct inclusion of internal header from this header that is
access from the outside world when building STLport lib.
2006-09-20 Francois Dumont <dums@stlport...>
* test/unit/allocator_test.cpp: Add new test case for allocation of
empty buffer.
* test/unit/fstream_test.cpp: Use a variable to always point to the same
test file and adopt a 'Standard' file name 'test_file.txt'.
* stlport/stl/_hash_fun.h: Rollback 2006-08-26 Petr modification that
was introducing a regression with MSVC compilers.
* stlport/stl/_fstream.c: First attempt to fix seekoff basic_filebuf
implementation when dealing with a codecvt facet having variable
encoding. This fix is surely not complete, discussion with Uli is not
over.
2006-09-13 Francois Dumont <dums@stlport...>
* stlport/stl/_exception.h: Made a previously general Windows 64 bits
workaround specific to the cross compiler coming with PSDK. Thanks
Igor Pavlov.
2006-09-11 Francois Dumont <dums@stlport...>
* stlport/stl/_num_put.c: Modification in __do_put_integer to avoid
a Hp aCC workaround.
2006-09-11 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/_algo.c: search_n with predicate fail in case
when subsequence size is 1; thanks Timmie Smith.
* test/unit/alg_test.cpp: test for problem.
2006-09-08 Francois Dumont <dums@stlport...>
* src/c_locale_win32/c_locale_win32.c: Modification in __GetLCIDFromName
to support the Chinese_Taiwan locale. Add of a __GetLCID call when first
call to it using non NLS mapping fails.
* src/c_locale_win32/c_locale_win32.c: Change __ParseLocaleString
implementation to correctly handle locale with a name having '.' in
the language or country part like in 'Chinese_Hong Kong S.A.R..950'.
2006-09-05 Francois Dumont <dums@stlport...>
* build/lib/configure.bat: Fixed comment for --rtl-dynamic and
--rtl-static options, impact on macros to uncomment in hosts.h
config file was inversed. Thanks Igor Pavlov.
* build/lib/configure.bat, doc/FAQ, doc/README.msvc,
stlport/stl/config/user_config.h, _hpacc.h: Replaced references to
_site_config.h by hosts.h. Thanks Igor Pavlov.
2006-08-30 Francois Dumont <dums@stlport...>
* stlport/stl/_cmath.h, _cstdlib.h: Patch from Boris Gubenko, Hp aCC
native Standard lib already define math functions in global namespace.
* stlport/stl/_num_put.c: Patch from Boris Gubenko, Hp aCC before version
60000 do not consider 'const ptrdiff_t' as const enough to be used in a
static buffer declaration.
2006-08-26 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/_hashtable.c: allow smaller bucket counts for
hashtable. Thanks Herbert Duerr.
* stlport/stl/_hash_fun.h: use primary types for hasher, not
typedefs.
* stlport/stl/type_manips.h: workaround for __true_type/__false_type
for various versions gcc (oh, yes, gcc, it's real pain to detect
real version of libstdc++)
2006-08-10 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stdlib.h: include errno.h for aCC, in case of -mt option in force.
This solve errno problem on HP-UX. Thanks Boris Gubenko.
2006-08-09 Francois Dumont <dums@stlport...>
* stlport/stl/config/_msvc.h: Add _STLP_NORETURN_FUNCTION for MSVC
compilers.
* stlport: Move place of _STLP_FUNCTION_THROWS in function declaration to
make msvc compiler happier, gcc do not care about position of this
attribute.
* stlport/stl/_ioserr.h: Fixed specification of STLport configuration file
in #error statement.
2006-08-04 Francois Dumont <dums@stlport...>
* stlport: Create _STLP_FUNCTION_THROWS depending on _STLP_NORETURN_FUNCTION
and also taking into account exception handling configuration.
* test/unit/alg_test.cpp, istmit_test.cpp: Fixes to make test buildable with
native compiler Standard library.
2006-08-03 Francois Dumont <dums@stlport...>
* build/Makefiles/nmake/evc8.mak: Patch from Ulrich Echkardt to activate
whole program optimization.
2006-07-31 Francois Dumont <dums@stlport...>
* Patch from Michael Fink to fix EVC emulator build.
2006-07-26 Francois Dumont <dums@stlport...>
* src/fstream.cpp: Fixed MMAP_CHUNK definition, an offset type is signed.
* Creation of the 5.1.0 RC2 package.
* Creation of STLPORT_5_1_RC2 tag
2006-07-25 Francois Dumont <dums@stlport...>
* stlport/stl/config/_system.h, _windows.h: Fixed MinGW config that also
need _windows.h.
* stlport/stl/config/_mingw.h: Removed, conflict with platform system
header.
2006-07-22 Francois Dumont <dums@stlport...>
* stlport/stl/config: Add _STLP_PLATFORM and _STLP_COMPILER repectively
containing STLport detected platform and compiler names. Some names
are surely not accurate and will be fixed but introducing those macros,
especially _STLP_COMPILER, help to report detection issue.
* stlport/stl/config/_system.h: Change macro checks in order to guaranty
that only one platform and only one compiler configuration file will be
included.
* stlport/stl/config/_cygwin.h, _mingw.h: Added
* stlport/stl/config/features.h: Removed _STLP_NO_MEMBER_TEMPLATE_CLASSES
check when _STLP_USE_TEMPLATE_EXPRESSION is activated.
* stlport/stl/config/_gcc.h, features.h: Add _STLP_NORETURN_FUNCTION
to signal function not returning, under gcc we use __attribute__((noreturn)).
* src/locale_impl.h, stlport/stl/_ios_base.h, _locale.h, _range_errors.h,
_rope.h, _string_base.h, _vector.h, debug/_debug.h: Add
_STLP_NORETURN_FUNCTION to function that encapsulate raising of exceptions.
This help to limit warnings about uninitialized variable before use under
gcc.
2006-07-18 Francois Dumont <dums@stlport...>
* test/unit/unordered_test.cpp: Change Key data type from size_t
to the more portable int. Fix what seems to be a bad code generation
of gcc under Linux 64 bits resulting in a test failure.
2006-07-17 Francois Dumont <dums@stlport...>
* test/unit/alg_test.cpp: New test for find_first_of algo.
* stlport/stl/config/user_config.h, features.h: string template
expressions is not a transparent feature, some compilers (VC6)
are experimenting ICE with it or some other (gcc) do not accept
it when extending string class (see mystring in
test/unit/string_test.cpp). So default STLport configuration will
be without string template expression, _STLP_DONT_USE_TEMPLATE_EXPRESSION
has been replaced by _STLP_USE_TEMPLATE_EXPRESSION.
2006-07-16 Francois Dumont <dums@stlport...>
* test/unit/mvctor_test.cpp: Patch from Michael Fink to avoid a EVC
ARM crash.
2006-07-13 Francois Dumont <dums@stlport...>
* stlport/stl/_num_put.c: Rollback modif above, according C printf doc
0 value shouldn't show their base.
* stlport/stl/type_traits.h: Avoid instanciation of _IsCVConvertible if
not dealing with pointers. Systematical instanciation was giving
compilation error as soon as type had a special memory alignment, such
types cannot be pass by value in function calls. Thanks andy2222 from
sourceforge.
* build/Makefiles/nmake/evc3.mak, evc4.mak, evc8.mak: Patch from Ulrich
Eckhardt to remove commctrl.lib dependency, for the moment evc3 and evc4
only contains a note about this potentially useless dependency.
* stlport/stl/debug/_string.h: Add missing copy methods in the debug
string implementation thanks Patrick Bennett report.
* test/unit/string_test.cpp: New copy test case for string::copy.
* stlport/stl/_algo.h: Add missing _STLP_PRIV namespace scope in calls
to __find_first_of thanks Patrick Bennett report.
2006-07-11 Francois Dumont <dums@stlport...>
* stlport/stl/debug/_deque.h, _list.h, _slist.h, _string.h, _vector.h:
Extend use of _Non_Dbg_iter function in all template methods dealing
with iterator range.
* _num_put.c: Fix to show base in octal or hexadecimal mode even for
0 value.
* stlport/stl/_istream.c: Avoid modification of value to extract in
formatted input of short and int when value would overflow.
* test/unit/num_put_get_test.cpp: Add some tests for above fixes.
* test/unit/iostream_test.cpp: New tests for general stream
manipulations.
* stlport/stl/_istream.h: Fix ws iostream function, it do not set failbit
anymore when stream is in eof state.
* build/lib/msvc.mak: Generation of config.mak is not mandatory anymore
as Intel compiler do not need it for the moment. Only a COMPILER_NAME
is mandatory which is given by icl.mak for Intel compilers and by
config.mak for Microsoft ones.
2006-07-10 Francois Dumont <dums@stlport...>
* stlport/stl/debug/_iterator.h: Creation of _Non_Dbg_iter function
returning native iterator of special debug iterator with
compilers supporting partial template function ordering. Fix
a MSVC .Net 2003 issue that seems to be related to a too important
template depth.
* stlport/stl/debug/_deque.h, _list.h, _slist.h, _string.h, _vector.h:
Use new _Non_Dbg_iter function in constructors from iterator
range.
2006-07-07 Petr Ovtchenkov <complement@users.sourceforge.net>
* build/lib/configure: rollback changes 4 Jul 2006 19:42:55,
it's definitely wrong (phrase with quotes ['] requires double
quotes ["]).
2006-07-06 Francois Dumont <dums@stlport...>
* stlport/stl/_num_put.c: Small refactoring with introduction
of the __do_put_integer function for integer types output. Moreover
static buffer size used for formating is now based on output
type sizeof.
* stlport/stl/_ostream.c: Add some assertion before cast to check that
no significant digit is lost. Add cast to long in int and short output
in order to make type of expression more explicit and correct. This
fix the bug report from Geoffrey Bache on sourceforge about output of
-1 ont value on 64bits linux.
* test/unit/floatio_test.cpp: Removed, all code moved to NumPutGetTest
test fixture.
* test/unit/num_put_get_test.cpp: New, contains all tests regarding
input/output of numeric values (locale independant).
* test/unit/locale_test.cpp: locale independant tests of numeric input/
output moved to NumPutGetTest test fixture.
2006-07-04 Francois Dumont <dums@stlport...>
* stlport/stl/_rope.h, _rope.c: Patch from Peter Hercek to fix a
missing null termination in rope constructor from a character
and a buffer overrun.
* stlport/stl/_rope.h: Removed special _S_rounded_up implementation
for other types than char and wchar_t. rope implementation is
expecting this method to always return a size > to the given size in
order to store the terminating null character.
* stlport/stl/_rope.c: Fix reference counter management to avoid memory
leak in _S_destr_concat_char_iter.
2006-06-30 Francois Dumont <dums@stlport...>
* src/num_put.cpp, num_put_float.cpp: Patch from Glen Summers
to fix float output using locale with grouping and float value
has no decimal.
* test/unit/locale_test.cpp: Add some tests showing above bug.
2006-06-29 Francois Dumont <dums@stlport...>
* stlport/stl/_algo.h, _algo.c, _algobase.h, _algobase.c,
_hashtable.c: Patch from Andriy Syrovenko to fix implementation
of __equal_range, __lower_bound, __upper_bound when dealing with
a key whom type is different from the value_type of the iterator.
* test/unit/equal_test.cpp: Add some tests to show above bug.
2006-06-28 Francois Dumont <dums@stlport...>
* stlport/stl/_string_sum_methods.h, debug/_string_sum_methods.h:
Small refactoring and simplification of code to avoid a parameter
with default value. This fixing an ICE using MSVC6.
* test/unit/string_test.cpp: Ignore the newly introduce te_tmp
test using MSVC6.
2006-06-27 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/_list.h: fix bug in list.swap, thanks Viktor Govako.
* test/unit/list_test.cpp: test for bug above.
2006-06-27 Francois Dumont <dums@stlport...>
* build/lib/configure: Add --with-lib_motif option to grant STLport
users the possibility of tweaking the generated libraries name.
* build/Makefiles/gmake/unix/lib.mak: Add code to take into account
configured lib motif in generated library name.
* build/Makefiles/gmake/netware/lib.mak: Looks like it needs same
defines as the ones in cygming/lib.mak so we simply include this
file.
* stlport/stl/config/_evc.h: Patch from Michael Fink to fix a
compilation error.
* test/unit/cppunit/cppunit_mini.h: Patch from Michael Fink to
avoid unused parameter warning.
2006-06-23 Francois Dumont <dums@stlport...>
* stlport/stl/_pair.h, _bvector.h, config/_evc.h: Patch from
Ulrich Eckhardt to extend an evc4 MIPS workaround for eVC8
and to generalize little endian configuration.
* DMC patch from Eric Sanford. Define _STLP_NO_FUNTION_TMPL_PARTIAL_ORDER
so that many ignored unit test could be now passed. Also specify
Intel 386 instruction set during compilation to limit link errors.
2006-06-22 Francois Dumont <dums@stlport...>
* stlport/stl/_algobase.c: Removed check of equivalent predicate
commutativity in find algorithm. In this case, equivalence relation
might have been implemented using a member operator == which is
not commutative thanks Grisha Spivak report. Other checks that are
using an explicit predicate parameter has been kept even if it forces
STLport users to implement commutative functor.
* test/unit/find_test.cpp: Add test to show above issue.
* stlport/stl/_hashtable.c: Removed equivalent predicate checks
that are useless as in _STLP_DEBUG mode the debug wrapping add this
check in the functor used to instanciate the non debug hashtable
implementation.
2006-06-19 Francois Dumont <dums@stlport...>
* STLport 5.1.0 candidate released. STLPORT_5_1 branch created in
CVS. Version tagged STLPORT_5_1_RC1.
2006-06-17 Francois Dumont <dums@stlport...>
* test/unit/type_traits_test.cpp, uninitialized_test.cpp: Add
explicit public inheritance relation to avoid an ICL warning.
* stlport/stl/config/features.h: Add definition of
_STLP_DEBUG_LEVEL to _STLP_STLPORT_DBG_LEVEL when _STLP_DEBUG
is defined but _STLP_DEBUG_LEVEL hasn't been set.
(thanks an ICL warning report)
* stlport/stl/config/_intel.h: Remove undef of
_STLP_NO_UNEXPECTED_EXCEPT_SUPPORT, even if the linker complains
about not finding unexpected_exception it looks like it finally do
not use it.
* test/unit/cppunit/test_main.cpp: Filter definition of
unexpected_exception when building unit test with static STLport
lib.
2006-06-15 Francois Dumont <dums@stlport...>
* stlport/stl/config/features.h: Several macro renamed:
- _STLP_LONG_DOUBLE -> _STLP_LONGEST_FLOAT_TYPE
- __DFL_TMPL_PARAM -> _STLP_DFL_TMPL_PARAM
- __DFL_TYPE_PARAM -> _STLP_DFL_TYPE_PARAM
- __DFL_NON_TYPE_PARAM -> _STLP_DFL_NON_TYPE_PARAM
__DFL_TYPE_ARG removed.
* stlport/stl: Add char_traits template parameter in all
istreambuf_iterator and ostreambuf_iterator instanciation where it
was missing as some compiler might not have supported it.
* stlport/stl/_time_facets.h, src/locale_impl.cpp: Finaly adopt a
specific gcc workaround for definition of _Locale_time_extract_hint
as friend of time_get_byname facet. Gcc 2.95 prefers to see a template
method otherwise it emits a warning, we want to avoid STLport users
to have to disable this warning. Other compilers will use a simple
function which seems to be more portable.
* stlport/stl/_vector.h, _pair.h: Patch from Eric Sanford for a
really weird Borland compiler workaround that consists in adding
a _Ret typedef in __move_traits or __type_traits traits struct
that do not normally contain it.
* stlport/stl/config/_bc.h: Borland free compiler do not support
STLport container extension of template methods.
2006-06-14 Francois Dumont <dums@stlport...>
* test/unit: Patch from Ulrich Eckhardt to fix storage of string
literals to const char* rather than simple char*.
* build/Makefiles/nmake: Ulrich Eckhardt patch:
- /MACHINE:IX86 is obsolete and only supported for backward
compatibility as alias for X86. Replaced all cases of IX86
with X86.
- /NODEFAULTLIB:OLDNAMES.lib seems to also be universal so I
moved it to the base, too.
- In order to use main() as entry point under CE, use linker
option /ENTRY:mainACRTStartup. This was already done for
evc3,4,8 but I moved it to app/evc-common.mak and documented
it.
* stlport/stl/_cmath.h, config/_evc.h: Uli patch to activate long
double support for EVC and use _hypot to implement STLport
overload.
* src/complex.cpp: Remove internal __stlp_hypot that is not necessary
anymore now that STLport always define a hypot function (thanks Uli
remark).
* stlport/stl/config: Ulrich Eckhardt VC8/CE patch:
- Adapt the code to construct the paths to the native includes
so that it matches the changed structure. This is currently
only for ARM and might need more work for other targets (x86
works though).
- Make a distinction between the desktop and CE variants concerning
the exception support functions. These now use the same compiler
versions so that can't be used anymore.
- MS' safe string functions are not available under CE - I think,
need to take a closer look at Platform Builder.
* stlport/stl: Ulrich Eckhardt to adapt STLport to VC8/CE limited
native C library.
2006-06-13 Francois Dumont <dums@stlport...>
* stlport/stl/pointers/_tools.h: Add partial specialization for
_IteWrapper helper struct so that when type to store and stored
type are identical input iterators are not wrapped. Otherwise input
iterators are wrapped to perform necessary casts between pointer type
and void*.
* stlport/stl/_cmath.h: Fixed macros definition used to define all
math functions for compilers supporting long double but not having
float nor long double C math functions. Thanks Ulrich Eckhardt report.
2006-06-12 Francois Dumont <dums@stlport...>
* test/unit/set_test.cpp, map_test.cpp: Replace size_t with the
more portable int type when possible.
* stlport/stl/pointers/_tools.h: Check that type to store is a
pointer type before modifying predicate type for set container.
Wrapping less functor in all cases was making move semantic tests
to fail as predicate is not then detected as being the STLport
less predicate.
* stlport/stl: DMC patch from Eric Sanford. DMC do not like __ss
variable that is a reserved keyword.
2006-06-11 Francois Dumont <dums@stlport...>
* build/Makefiles/nmake: Patch from Ulrich Eckhardt to use
main rather than WinMain for EVC platform.
* build/test/unit/gcc.mak: Removed redondant macro definition
_STLP_USE_STATIC_LIB under cygwin/mingw as those definition
are part of base make files.
* stlport/stl/type_manips.h, _hashtable.h: Eric Sanford workaround
for Borland.
2006-06-09 Francois Dumont <dums@stlport...>
* test/unit/cppunit: Patch from Ulrich Eckhardt to
- Removed a few superfluous semicolons.
- Made some constructors explicit.
- Documented the meaning of FileReporter::_myStream.
- Reformatted some things to not exceed 100 chars per
line or use several expressions/statements in one line.
* build/Makefiles/nmake: Patch from Ulrich Eckhardt to
- adds support for x86 (running on e.g. a PC, so-called CEPC).
- adds support for MIPS or more specifically MIPSII, other MIPS
subtypes can easily be added.
- removes a line "DEFS_COMMON = /D%TARGETCPU%" from the config.mak
file generated for MIPS, the same functionality was moved to the
CPU-specific setups where it is done for other CPUs.
- adds an additional compiler flag so that diagnostics better
match what the VC8 IDE expects.
* stlport/stl: Patch from Ulrich Eckhardt to
- removes several unnecessary semicolons (typically, when
inlining functions like "void foo() {};" where it in fact doesn't
hurt (due to something I consider an oversight in the standard)
but also doesn't make sense.
- fixes inconsistent indentation in three cases, one with the
preprocessor and two with memberfunction bodies.
* stlport/stl/pointers/_tools.h: Add missing template method
in _CastTraits helper struct used on compiler with no partial
template specialization support.
2006-06-08 Francois Dumont <dums@stlport...>
* stlport/stl/pointers/_tools.h, _set.h: Fix problems reported by
gcc that seems to do more check that MSVC on explicit
instanciation of templates. Especially fixed problem introduce
by STLport extension of set template methods.
* build/Makefiles/gmake/aCC.mak, lib/aCC.mak: Patch from Boris
Gubenko for Hp aCC build.
2006-06-07 Francois Dumont <dums@stlport...>
* stlport/stl/pointers: Restore pointer specialization feature.
Major modifications are:
- vector specialization is done using a qualified void pointer
in order to keep optimization oportunities when working on
pointers. Using a strict void* was forcing wrapping of iterators
in template method making _BothPtrTypes struct helper failing to
detect both pointer types.
- Fixed set specialization thanks to explicit instanciation added
in ptrspec_test.cpp.
- Refactoring of algorithm to find storage type from value type.
2006-06-02 Francois Dumont <dums@stlport...>
* build/Makefiles/nmake: Patch from Ulrich Eckhardt for
cleanup. Some script refactoring, wrong OPT_STLDBG_STATIC references
replaced by OPT_STATIC_STLDBG.
* src: Patch from Ulrich Eckhardt to cleanup locale implementation
and fix time facet creation when using dummy locale implementation.
* stlport/stl/config/_evc.h: Patch from Ulrich Eckhardt to fix
endianess definition.
* stlport/stl/debug/_hashtable.h: Create a _DbgEqual functor to
check correct equivalent predicate implementation. Add also
missing hash_func and key_eq methods in this mode.
* stlport/stl/debug/_tree.h: Small refactoring in _DbgCompare
functor.
* stlport/stl/type_traits.h, boost_type_traits.h: Restore boost
support.
2006-06-01 Francois Dumont <dums@stlport...>
* stlport/stl/_tree.h, _set.h, _map.h, debug/_tree.h: Removed
erase template method extension, might conflict with erase
overload taking an iterator. User workaround will be to use
erase(find(key)).
* stlport/stl/_hashtable.h, _map.h, _set.h, _unordered_set.h,
_unordered_map.h, debug/_hastable.h: Add template methods extension.
* stlport/stl/config/features.h: Add management of containers template
method extension.
* stlport/stl/config/_apple.h, _symantec.h: Config update based on
config that used to be in _tree.h and _hashtable.h to remove
container template methods extensions.
2006-05-31 Francois Dumont <dums@stlport...>
* stlport/stl/config/_evc.h: Patch from Michael Fink to add ptrdiff_t
definition and forbid use of _STLP_DEBUG mode for evc 3/4 on ARM.
* build: Ulrich Eckhardt patch for Microsoft Visual Studio 2005 for
Embedded C++ portage.
2006-05-30 Francois Dumont <dums@stlport...>
* stlport/stl/type_traits.h: Rename _Is_Integer<_Tp>::_Integral and
_Is_Rational<_Tp>::_Rational in respectively _IsIntegral<_Tp>::_Ret
and _IsRational<_Tp>::_Ret for naming convention coherency.
* stlport/stl/type_traits.h: Add _TrivialNativeTypeCopy helper to
handle a number of oportunities to use memcpy/memmove in
uninitialized_* or copy algorithms that was not cover by simply
checking type_traits has_trivial* features.
* stlport/stl/type_traits.h, boost_type_traits.h: Refactor _BothPtrType
implementation, only one version is necessary as it uses _IsPtr that
has a variable implementation depending on config.
* stlport/stl/_vector.h: Add _DefaultZeroValue specialization for
vector container so that a vector of vector is simply initialized
using a memset to set everything to 0.
* test/unit/vector_test.cpp: Add check that previous optimization
works as expected.
* stlport/typeinfo.h: Borland patch from Eric Sanford.
* DMC patch from Eric Sanford
* stlport/stl/debug/_tree.h: Patch from Ulrich Eckhardt to add missing
count template method.
* src/dll_main.cpp: Patch from Ulrich Eckhardt to fix strncpy
usage.
2006-05-23 Francois Dumont <dums@stlport...>
* stlport/stl/_deque.h, _deque.c: Change implementation to use
_TrivialInit new feature.
* stlport/stl/boost_type_traits.h: Add _TrivialInit implementation
using boost type traits.
2006-05-22 Francois Dumont <dums@stlport...>
* stlport/stl/type_traits.h: Add _TrivialInit helper struct to
report if a type is trivial to initialize or not that is to say
if the type has a trivial default constructor. Handle native types
exception that are consider as having a trivial default constructor
but that required a 0 initialization on explicit constructor
call.
* stlport/stl/_uninitialize.h: Add a helper function
__uninitialize_init that result in a no-op if _TrivialInit returns
__true_type.
* stlport/stl/_vector.h: Modification of vector constructor to
destect when it is called without an explicit default value so
that we can call __uninitialized_init.
* test/unit/uninitialized_test.cpp: Add test to check correct
detection of useless initialization.
2006-05-19 Francois Dumont <dums@stlport...>
* test/unit/uninitialized_test.cpp: Patch from Ulrich Eckhardt
to replace vector instance in uninitialized_copy_test by static
array so that we are always working on pointers iterator.
* stlport/stl/_string_operators.h: Patch from Ulrich Eckhardt to
add missing != operators when using string template expression.
* stlport/stl/ctype.h, config/_evc.h, _msvc.h, _windows.h,
features.h: Patch from Michael Fink for evc3/4 platform.
* test/unit/mvctor_test.cpp: Add of a specific Borland test case
to report what seems to be a compiler bug but that is only
revealed when using STLport.
* stlport/stl/_tree.h, _set.h, _map.h, debug/_tree.h,
pointer/_set.h: Generalized already existing extension of template
find method on associative containers to all look up methods:
count, erase, lower_bound, upper_bound, equal_range.
* test/unit/set_test.cpp: Add test case for set template methods
extension.
* stlport/stl/_tree.c, debug/_tree.h: Removed debug check from
non debug implementation, now debug check is injected in tree
implementation from the tree debug implementation thanks to
a wrapping of the predicate.
2006-05-18 Francois Dumont <dums@stlport...>
* stlport/stl/c_locale.h: Fix declaration of _Locale_name_hint
struct so that compilers do not think that this struct is in
the STLport namespace because of friend declaration.
2006-05-17 Francois Dumont <dums@stlport...>
* stlport/stl/_abbrevs.h: Update list of abbreviations.
* stlport/stl/_hashtable.c: Removed _Node macro and fixed
macros defined when _STLP_NESTED_TYPE_PARAM_BUG is defined.
2006-05-16 Francois Dumont <dums@stlport...>
* test/unit/type_traits_test.cpp: Add test case to check
_TrivialUCopy helper metaprogramming class behavior.
* stlport/stl/_vector.h, _vector.c: Replaced _TrivialAss by
_TrivialCopy and _TrivialUCpy by _TrivialUCopy for coherency
with type_traits.h names.
* test/unit/type_traits_test.cpp: Add small test for correct
impact of trivial_destructor meta info in vector implementation.
* build/lib/configure.bat: Add comment to explain weird TARGETCPU
check.
2006-05-15 Francois Dumont <dums@stlport...>
* stlport/stl/_hashtable.h, _list.h, _deque.h, _slist.h,
_string.h, _vector.h, _move_construct_fwk.h, _rope.h:
Fix impact of _STLP_NO_MOVE_SEMANTIC macro on library. Now,
if defined, no move will ever happen.
* stlport/stl/_uninitialized.h: Simplified __uninitialized_copy_fill
prototype, only one type of iterator is allowed. It also fix
implementation as this one was not taking into account both
iterator value_type to consider if the operation was trivial
or not.
* stlport/stl/_uninitialized.h: Major code review. Remove use of
_OKToMemcpy, remove dependency on std::copy of std::fill, all
implementation is now similar to the one of std::copy algorithms
except that uninitialized algo are using
__type_traits::has_trivial_copy_constructor meta information and
copy __type_traits::has_trivial_assign_operator.
* test/unit/deque_test.cpp, vector_test.cpp: New test case for
over optimization problem.
* test/unit/map_test.cpp, locale_test.cpp, list_test.cpp, slist_test.cpp,
unordered_test.cpp, fstream_test.cpp, stack_allocator.h: Fixed
implementation to build with _STLP_NO_MEMBER_TEMPLATES.
* stlport/stl/debug/_vector.h, _list.h: Add non template assign
methods used when _STLP_NO_MEMBER_TEMPLATES is defined.
* stlport/stl/_slist.c: Fixed sort _Slist_sort implementation, now
call _Slist_merge template function rather than slist::merge method
as this method do not take any predicate when _STLP_NO_MEMBER_TEMPLATES
is defined.
* build/test/unit/Makefile.inc, test/unit/uninitialized_test.cpp:
New test for uninitialized_copy algo.
* stlport/stl/type_traits.h: OKToMemCpy rename in _TrivialCopy for
coherency with _TrivialUCopy. Moreover, thanks to refactoring in
uninitialized_* algorithms, _TrivialUCopy now only takes into account
__type_traits::has_trivial_copy_constructor meta information and
not has_trivial_assign_operator.
* stlport/stl/boost_type_traits.h: Fixed to reflect STLport
__type_traits modifications.
* stlport/stl/_uninitialized.h: Major code review proposed by
Ulrich Eckhardt
* stlport/stl/_algobase.h, _deque.h, _deque.c, _vector.h, _vector.c,
_rope.h, _rope.c, _string.h, _string.c: Impact of previous point.
2006-05-05 Francois Dumont <dums@stlport...>
* test/unit/iter_test.cpp: Removed unreachable code.
* Introduction of a new configuration macro _STLP_MSVC_LIB
This macro is set to _MSC_VER value but can be overloaded to
an other value. First intension was to make STLport more flexible
for Intel C++ compiler. This compiler comes without any native
lib and you have to bind it to a MSVC install, Intel compiler
generate MSVC compatible code so that MSVC linker can correctly
generate final exe or dll. To mimic MSVC compiler ICL also defines
_MSC_VER. The problem is that definition of this macro is based
on a compiler option and do not necessarily reflect the MSVC lib
version ICL is binded to. Fortunately the compiler options
responsible of _MSC_VER definition (/Qvc6, /Qvc7...) is also
responsible of name mangling so asking for a MSVC compiler
compatibility different than the library ICL is binded to is
not easy. But _STLP_MSVC_LIB has been kept as it makes STLport
configuration more clean. Now MSVC compiler version is given
by _STLP_MSVC macro and library version by _STLP_MSVC_LIB.
All occurences of _MSC_VER in STLport code has been replaced
by those macros.
* _STLP_USE_SECURIZED_BUF_FUNCTIONS replaced by the more
intuitive _STLP_USE_SAFE_STRING_FUNCTIONS.
* stlport/stl/config/_msvc.h: Major refactoring to isolate
MSVC compiler config and MSVC native library config.
2006-05-04 Francois Dumont <dums@stlport...>
* build/lib/configure.bat: And information to the --lib-motif
option as advised by Ulrich Eckhardt. Add option parameter and
relation with _STLP_LIB_NAME_MOTIF.
* src/messsage_facets.h: Removed implementation of private copy
constructor and assignment operator.
* src/c_locale_win32/c_locale_win32.c: Made
_Locale_extract_category_name locale function static.
* src/vc_warning_disable.h renamed in warning_disable.h as it is
used by other compilers too (ICL)
* build/lib/msvc.mak, evc.mak: Removed forced inclusion of
vc_warning_disable.h file. Now this file is included from
stlport_prefix.h.
* build/test/unit/msvc.mak, evc.mak: Replace vc_warning_disable.h
reference by warning_disable.h.
* src/stlport_prefix.h: Add inclusion of warning_disable.h.
2006-05-01 Francois Dumont <dums@stlport...>
* test/unit/vector_test.cpp, deque_test.cpp, string_test.cpp:
Removed unreachable code, reported by ICL 9.0.
* test/unit/mvctor_test.cpp: Removed variable declaration hiding
previous one + made local functions static.
* stlport/stl/config/_msvc.h: Only use abbreviate symbols for
MSVC compiler and not for all compilers defining _MSC_VER. Also
removed some ICL specific configuration.
* src/lock_free_slist.h: Removed 'no return statement' warning
for ICL too.
* src/message_facets.h: Made _Message_impl copy constructor and
assignment operator private to avoid warning as _M_cat member
data has private copy constructor and assignment operator too.
* stlport/stl/_cstdlib.h: Made additional definition of
div(long, long) based on native library (_MSC_VER) rather than on
compiler used (_STLP_MSVC).
* stlport/stl/config/_intel.h: Fix Intel C++ 9.0 compiler
configuration with and without /Qvc6 option.
* src/dll_main.cpp: Add std::unexpected implementation that ICL
need but that is not part of MSVC6 native lib library.
* test/unit/test_main.cpp: Add std::unexpected implementation that
ICL need but that is not part of MSVC6 native lib library.
2006-04-30 Francois Dumont <dums@stlport...>
* stlport/stl/_alloc.h: Moved __type_traits specialization for
std::allocator class before use in _STLP_alloc_proxy
instanciation.
* test/unit/istmit_test.cpp: Fixed macro checks to correctly
report ignored test.
2006-04-27 Francois Dumont <dums@stlport...>
* test/unit/full_streambuf.h, deque_test.cpp, vector_test.cpp:
Add STLPORT macro check when checking _STLP_USE_EXCEPTION macro.
* test/unit/string_test.cpp: Fix some macro checks to correctly
report ignored tests.
* test/unit/mvctor_test.cpp: Fix tests to build it with native
MSVC 2005 Standard library. Looks like this implementation do
not follow atmortized constant time vector::push_back complexity.
* stlport/stl/config/_msvc.h: Clearly report status regarding build
of STLport using the MSVC /clr option.
* stlport/stl/_threads.h: Remove MSVC .Net 2002 annoying warning.
2006-04-26 Francois Dumont <dums@stlport...>
* src/ctype.cpp: Fix ctype::scan_is and scan_not method behavior as
required by C++ Standard 22.2.1.1.2.
* test/unit/locale_test.cpp: Fix ctype facet test according
modifications above.
2006-04-25 Francois Dumont <dums@stlport...>
* stlport/stl/_istream.c: Small refactoring to avoid a uninitialized
warning for __do_handle_exceptions local variable.
* stlport/stl/_deque.h: Ditto with __cur_node variable in
_M_range_initialize method.
* stlport/stl/_deque.c: Ditto with __cur in _M_fill_initialize.
* stlport/stl/config/_auto_link.h: Removed auto link feature when
building a C translation unit thanks Michael Fink.
* src/time_facets.cpp: Add missing calling convention on
__write_formatted_time internal function.
2006-04-24 Francois Dumont <dums@stlport...>
* test/unit/cppunit/cppunit_mini.h: Limit scope of try/catch block to
the test case call so that CppUnit function methods are correctly
called.
* test/unit/type_traits_test.cpp: Fix use of
CPPUNIT_IGNORE/CPPUNIT_STOP_IGNORE macros so that ignored tests are
correctly reported as ignored.
2006-04-20 Francois Dumont <dums@stlport...>
* stlport/stl/config/_solaris.h: Replace C++ style comment
in C style.
* stlport/stl/_cmath.h: Add macro definition for environment
having long double but no float neither long double math functions
This is a Solaris configuration.
* src/acquire_release.h, c_locale.h, locale.cpp,
locale_catalog.cpp, locale_impl.cpp, locale_impl.h,
message_facets.h, facets_byname.cpp: Add a locale hint feature
to improve locale construction from name. This is used by
Win32 locale implementation that broadcast the locale lcid
thanks to this hint. With this modification, LocaleTest fixture
runs 5 times faster.
* stlport/stl/_collate.h, _ctype.h, _monetary.h, _numpunct.h,
_time_facets.h: Add _Locale_extract_hint function as friend
to some locale facet in order to access locale implementation
specific structure and potentially extract the hint.
* stlport/stl/_codecvt.h, _collate.h, _ctype.h, _messages_facets.h,
_monetary.h, _numpunct.h, _time_facets.h: Add _Locale_name_hint pointer
parameter to facet by name constructor.
* build/Makefiles/nmake/lib/clean.mak, rules-so.mak, rules-install-so.mak:
Based on Dr Dobb's Richard Grimes article, change management of
manifest file for STLport shared library. According this article
.manifest file is not taken into account for a library, only .exe one is.
Solution is to integrate .manifest file into the .dll as an unmanaged
ressource with id 2. We now do so thanks to the mt manifest tool.
* stlport/stl/_pair.h: Remove __move_traits partial specialization for
Borland free compiler, it was introducing weird compilation error.
* stlport/stl/_move_construct_fwk.h: Add a helper struct for __move_traits
feature.
* build/test/unit/msvc.mak: Prepare makefile to easily build unit tests
without STLport.
2006-04-15 Francois Dumont <dums@stlport...>
* stlport/stl/config/host.h, compat.h, debug/_debug.c: Removed
_STLP_NO_DEBUG_EXCEPTIONS configuration macro that is similar
to the new _STLP_DEBUG_MODE_THROWS except that new thrown macro
is catchable (std::runtime_error exception) and contained message
is more explicit.
* stlport/stl/debug/_tree.h: Add find template method STLport
extension to the debug version of binary tree thanks Mike Flamming.
2006-04-11 Francois Dumont <dums@stlport...>
* src/complex_io_w.cpp: Removed, content moved to src/complex_io.cpp
to avoid build of an empty translation unit that can generate linker
warning (noticed with MSVC 2005 express)
* build/lib/Makefile.inc: Updated before of above modification.
* test/unit: Ignore many tests rather than hide it depending on
build configuration.
* test/unit/cppunit/file_reporter.h: Restored output existing before
introduction of monitoring feature.
2006-04-10 Francois Dumont <dums@stlport...>
* test/unit/cppunit/cppunit_timer.h, test_main.cpp, file_reporter.h:
Add -m option to activate monitoring of unit tests. This option add
timing for each test and a global timing information. Timer class has
been created for Win32 API.
* stlport/stl/_bitset.h: Hide STLport bitset extensions _Find_first
and _Find_next.
* test/unit/bitset_test.cpp: Adapt tests to previous modification.
* stlport/stl/_string.h: Replace memory include with stl/_alloc.h
to limit header dependencies. Also add include of stl/_uninitialized.h.
* test/unit/fstream_test.cpp: Add missing memory include.
* test/unit/locale_test.cpp: Ditto.
* stlport/stl/_queue.h, _string.h, _rope.h, debug/_tree.h: Replace
stl/_function.h include with the smaller _function_base.h include.
2006-04-07 Francois Dumont <dums@stlport...>
* stlport/stl/_new.h: Fixed management of _STLP_NO_BAD_ALLOC
and _STLP_NEW_DONT_THROW_BAD_ALLOC macros.
* stlport/stl/config/_dm.h: Change DMC configuration, use STLport
own namespace rather than std so that STLport can check config.
* stlport/typeinfo.h: Fix DMC configuration now that it uses own
STLport namespace.
2006-04-05 Francois Dumont <dums@stlport...>
* stlport/stl/_tree.h, _list.h: Fixed swap implementation to
correctly swap allocators instance. Moreover list swap implementation
was wrong since list splice has been modified to correctly handled
allocators with state.
* test/unit/slist_test.cpp, list_test.cpp, set_test.cpp: Add tests for
above fix.
* stlport/stl/_deque.h: Fix swap method as deque has 2 allocator
instances, this should perhaps be modified one day to only keep 1...
* stlport/stl/_rope.h: Fix swap method and removed assertion for
equivalent allocator instances even if there are still other assertions
in the implementation.
* stlport/stl/_function_base.h: Add swap method for less functor if
partial template workaround is activated. This is for surprising
compilers supporting partial template specialization but no template
function partial ordering.
* stlport/stl/_algobase.h: Add Borland workaround for swap function
thanks Eric Sanford.
* test/unit/type_traits_test.cpp: Borland workaround for is_convertible
function thanks Eric Sanford.
* stlport/stl/config/_bc.h: Borland compilers do not support template
function partial ordering thanks Eric Sanford.
* test/unit/stack_allocator.h: Add Borland workaround to correctly
call StackAllocator::swap method when swaping STL containers in
allocator_with_state tests.
* test/unit/config_test.cpp: New test
ConfigTest::template_function_partial_ordering.
* test/unit/slist_test.cpp, list_test.cpp, set_test.cpp: Add swap tests
with empty containers.
* src/vc_warning_disable.h: Remove deprecated comments.
* stlport/stl/_pair.h: Removed Borland checks thanks Eric Sanford.
* Patch from Michael Fink to remove Windows CE support that is
no more supported by Microsoft.
* stlport/stl/config/_native_headers.h: New, contains all macros
relative to native headers access that used to be in features.h.
* stlport/stl/config/_evc.h, _como.h: Add include of _native_headers.h
as those compilers need to include native headers for correct
configuration.
* stlport/stl/config/features.h: Use _native_headers.h.
* test/unit/locale_test.cpp: Made LocaleTest::facet_id test STLport
specific rather than Borland specific. Moreover, without STLport, test
is ignored rather than hidden.
* stlport/stl/_num_put.h, _num_put.c: Removed useless export of
num_put<char, char*>, num_put<wchar_t, wchar_t*> not required by
the Standard.
* stlport/stl/_num_get.h, _num_get.c: Ditto for
num_get<char, const char*>, num_get<wchar_t, const wchar_t*>
* stlport/stl/_moneytary.h, _moneytary.c: Ditto for
money_get<char, const char*>, money_get<wchar_t, const wchar_t*>,
money_put<char, char*>, money_put<wchar_t, wchar_t*>
* stlport/stl/_time_facets.h, _time_facets.c: Ditto for
time_get<char, const char*>, time_get<wchar_t, const wchar_t*>,
time_put<char, char*>, time_put<wchar_t, wchar_t*>
* src/locale_impl.cpp: Removed id initialization of useless facets
no more exported.
* stlport/new, stl/_new.h: Moved all STLport code in _new.h and
modified new header so that it forwards include to native new
when include comes from inside STLport.
* cppunit/file_reporter.h, cppunit_mini.h: Change support of
CPPUNIT_CHECK macro, only report error once for all failures
in a single test case.
2006-03-28 Francois Dumont <dums@stlport...>
* stlport/stl/_prolog.h: Fix macro check before inclusion of
features.h.
* stlport/stl/char_traits.h: Fixed include of cstddef, in STLport
code, Standard headers should never be included directly, their
stlport/stl/_xxx.h counterpart should be used.
* stlport/stl/type_traits.h, type_manip.h: Patch from Eric Sanford
for Borland compiler to fix _OKToMemCpy feature.
* stlport/stl/_alloc.h: Replace swap function for _STLP_alloc_proxy
by a member method, it is more portable.
* stlport/stl/_bvector.h, _deque.h, _list.h, _slist.h, _string_base.h
_tree.h: Replaced called to std::swap for _STLP_alloc_proxy instances
by calls to member swap method.
* test/unit/hash_test.cpp: Ignore test rather than hide it.
* test/unit/map_test.cpp: Fixed StackAllocator instanciation.
* test/unit/stack_allocator.h: Add std::swap overload for
StackAllocator<pair<const int, int>>.
* test/unit/string_test.cpp: Ignore tests rather than hide it.
* test/unit/unordered_test.cpp: Ditto.
2006-03-27 Francois Dumont <dums@stlport...>
* stlport/stl/_stdexcept_base.h: New internal header with
__Named_exception implementation, improve segregation between
<locale> and <stdexcept> Standard headers.
* test/unit/locale_test.cpp: Add missing <stdexcept> header include.
* stlport/stl/_function_base.h, _function.h: Move as many functor as
possible from _function_base.h to _function.h to improve
segregation between <functional> and <algorithm> Standard headers.
* test/unit: Add many missing references to <functional> header.
* test/unit: Made unit tests available for build without STLport, this
will be a good way to compare Standard library implementations.
* stlport/stl/_string_base.h: Remove additional space for terminating
null character, it was actually already reserved in the return
expression.
* stlport/stl/_string.h: Restored basic_string capacity implementation
that do not depend on use of the short string optimization or not. It
might be hiding a real issue somewhere else in code even if unit tests
are not showing any problem.
* stlport/stl/_alloc.h: Add swap overload for _STLP_alloc_proxy class
in order to correctly call swap on the maybe rebound allocator as user
that implement an allocator with a state might have implement a
special swap function for it to correctly handle STL containers swap
operation.
2006-03-24 Francois Dumont <dums@stlport...>
* build/lib/configure.bat: Removed script for defining INCLUDE
environment variable for Borland ressource compiler as it depends
on where STLport is install.
* build/lib/bcc.mak: Add check for INCLUDE environment variable
definition.
* test/unit/string_test.cpp: Change basic_string::reserve test to
check length_error exception rather than bad_alloc.
2006-03-22 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/_string.c: a bit code clean
* stlport/stl/_string_base.h: max_size should keep space for
allocation of terminating null.
2006-03-19 Francois Dumont <dums@stlport...>
* stlport/stl/_alloc.h, _function_base.h, type_manips.h,
type_traits.h, test/unit/type_traits_test.cpp: Patch for
Eric Sanford for __bool2type Borland use.
* build/Makefiles/gmake/lib/clean.mak: Patch from Eric Sanford
to fix files generated by dbg-shared and stldbg-shared rules.
* build/Makefiles/gmake/lib/bcc.mak: Patch from Eric Sanford to
increase Borland page size to 64.
2006-03-16 Francois Dumont <dums@stlport...>
* stlport/stl/config/_evc.h, _msvc.h: Add some condition for
definition of _STLP_MSVC macro which should only be defined for
real Microsoft compilers and not for compiler emulating it.
* src/allocators.cpp: Use _STLP_STATIC_MUTEX macro in place
of _STLP_mutex_base for mutex definition in per_thread_allocator
implementation.
* stlport/stl/_pthread_alloc.h: Modified deallocate methods of
pthread_allocator and per_thread_allocator implementation to accept
null pointers.
2006-03-15 Francois Dumont <dums@stlport...>
* stlport/stl/_string_base.h, _string.c: Force call to
_M_allocate_block even in short string optim mode in order
to detect lenght error. Based basic_string max size implementation
on allocator max_size.
2006-03-15 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/config/_system.h, _msvc.h, _evc.h: move _STLP_MSVC
definition in proper place.
2006-03-14 Francois Dumont <dums@stlport...>
* src/allocators.cpp: Fixed thread safety issue in
per_thread_allocator implementation thanks a very old William
Power report.
* test/unit/allocator_test.cpp: Attempt to write a test case for
previous bug but not yet complete as I need a better debugging
environment than gdb under cygwin...
* stlport/stl/config/_system.h: Patch from Michael Fink to add
missing _STLP_MSVC define for evc++ compilers.
2006-03-13 Francois Dumont <dums@stlport...>
* stlport/stl/_alloc.h, src/allocators.cpp: Hide declaration of
malloc based allocator handler in library. Also limit scope of
declspec to expose static members rather than the whole class.
* stlport/stl/_cstdlib.h: For Borland compiler add include of
native process.h header, for reason see comment next to include
in file.
* stlport/stl/_alloc.h: Add a new STLport extension to the
std::allocator class: allocate(size_type, size_type&). This new
overload of allocate returns in an output parameter, the real
size of the allocated buffer that can be larger than the requested
one. _STLP_alloc_proxy expose this new overload only for the
STLport allocator and not for user defined allocators.
* stlport/stl/_vector.h, _vector.c, _string.h, _string.c: Use of the
allocate overload extension method to set end of storage reference
to the real memory block end rather than to the requested one.
* stlport/stl/_alloc.c: Adapt __debug_alloc::allocate method in order
to return the real allocated memory block. Also add check on computed
__real_n to allocate as it might roll on size_t and hide a case that
should result in a bad_alloc exception.
* stlport/stl/_threads.h, src/allocators.cpp: Add WINVER macro
check in addition to _WIN32_VERSION, according PSDK documentation
WINVER is more generaly used accross different Windows platforms.
* test/unit/string_test.cpp: Add constructor test case to correctly
handle build of a string with string::max_size elements which should
result in a bad_alloc exception. Idem for reserve method.
* stlport/stl/_alloc.h, src/allocators.cpp: Add check of malloc
result in __malloc_alloc implementation to throw an exception when
result is NULL.
* src/locale_impl.cpp: Patch from Eric Sanford for Borland BDS 2006
support. Mostly fix locale facet index issues.
2006-02-28 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/_string.h: capacity may return wrong value in case
of no _STLP_USE_SHORT_STRING_OPTIM in use; thanks Rusty Koonce
for report.
* test/unit/string_test.cpp: test for capacity issue.
* src/cxa.c: don't use cxa workaround for FreeBSD 6.0---it fine;
this is rollback of changes 2006-01-24 [bad compiler was in use].
2006-02-15 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/_string.h: _STLP_FORCE_STRING_TERMINATION mode become
default and only mode due to performance issue.
* stlport/stl/config/user_config.h: ditto.
* stlport/stl/config/features.h: ditto.
2006-02-14 Francois Dumont <dums@stlport...>
* stlport/stl/_hashtable.h, _hashtable.c: Add check in _STLP_DEBUG
that equivalent key have same hash code. Fix _M_rehash method
implementation that used to change elements order thanks Big Muscle
effort to report this issue.
* build/lib/configure: Fix reference to STLport configuration file
in --no-cygwin option description.
2006-02-13 Francois Dumont <dums@stlport...>
* stlport: Patch from Eric Sanford to remove many now useless
Borland workaround.
* src/fstream.cpp: ditto
* stlport/stl/_monetary.h, _cwchar.h, _algobase.h: ditto
2006-02-10 Francois Dumont <dums@stlport...>
* stlport/stl/_iosfwd.h, _locale.h: Removed type attributes on type
declaration, only useful on type definition.
* src/message_facets.h: Removed unused parameter in _Catalog_nl_catd_map
erase method to avoid warning.
* src/num_put_float.cpp: Use more macro technique to avoid unused parameters
in *_cvt functions.
* test/unit/cppunit/cppunit_mini.h: Comment unused parameter.
* test/unit/cppunit/file_reporter.h: Add base class initialization
in FileReporter copy constructor definition.
2006-02-10 Petr Ovtchenkov <complement@users.sourceforge.net>
* src/num_put_float.cpp: remove usage of static buffers
[potential vulnerabilities]; directly use __iostring instead.
* test/unit/floatio_test.cpp: test for fixed float output;
cases when fixed float fail on Linux and Solaris, related
with fcvt_r and fconvert calls respectivly commented.
* build/Makefiles/gmake/gcc.mak: workaround for bug in make 3.79.1
on Solaris [not pass -D_STLP_DEBUG to CPPFLAGS].
* stlport/stl/_string.h: rollback 2006-01-25.
2006-02-08 Francois Dumont <dums@stlport...>
* build/Makefiles: Removed all references to BUILD=r in parameters
to ressource compiler in release as there is no more 'r' appended
to the library name in this mode.
* src/stlport.rc: Fix support for Borland and add check for BUILD
definition before injecting it in original library file name.
* doc/README.borland: Update doc to signal new prerequisite for
Borland ressource compiler.
* test/unit/unordered_test.cpp: Add test for unordered_multiset
equal_range method.
* test/unit/partial_test.cpp: Add test for strict weak ordering
predicate good behavior check.
2006-02-07 Francois Dumont <dums@stlport...>
* src/allocators.cpp: New simplification for _Node_Alloc_Lock,
it do not have to be a template class anymore.
* stlport/stl/debug/_debug.c: Implement
__stl_debug_engine<_Dummy>::_Message even when specifying
_STLP_DEBUG_MESSAGE in order to have explicit instanciation correctly
generated.
* stlport/stl/_heap.c, _tree.c, _list.c, _slist.c: Add strict
weak ordering checks.
* stlport/stl/_debug.h, _debug.c: Add new error type: bad equivalent
functor that has to be used in hash container implementation or in
algorithm like find. Check for this functor is:
if (pred(a, b)) assert(pred(b, a)
* stlport/stl/_hashtable.c: Add equivalent functor checks.
* stlport/stl/_debug.h, _debug.c: Check _STLP_DEBUG_MODE_THROW in
__debug_engine::_Message method. Now thrown exception will contain
description of the assertion rather than a generic message.
* build/Makefiles/gmake/bcc.mak: Fix Borland ressource compiler name,
brcc32 not brc32.
* stlport/stl/_range_errors.h, src/dll_main.cpp: Add
__stl_throw_runtime_error function used to throw exception in
_STLP_DEBUG_MODE_THROW.
2006-02-06 Francois Dumont <dums@stlport...>
* build/Makefiles/nmake: Fixed regression generated by a side
effect of Uli patch below.
2006-02-02 Francois Dumont <dums@stlport...>
* stlport/config/_stl_evc.h, stl/_config.h: Patch from Ulrich
Eckhardt to signal endianess detection problem and set EVC
endianess for MIPS SDK.
* src/allocators.cpp: Clean up _Node_Alloc_Lock definition, only
specialization are now available for thread safe and not thread
safe builds. Make easier definition of internal static mutex.
* stlport/float.h: Patch from Eric Sanford for Borland NaN management
* stlport/cfloat: Include STLport float.h rather than native one in
order to use potential internal workaround.
* stlport/stl/config/_ibm.h: Replace all C++ comment by C comments.
* stlport/errno.h: For Borland, when building for a single threaded
contex, errno is not a macro and is defined in std namespace so using
have to get the symbol in this namespace.
2006-01-31 Francois Dumont <dums@stlport...>
* src/allocators.cpp: Reinforce move of allocators implementation
* stlport/stl/_alloc.h: Removed include of internal _thread.h no
more necessary now that allocator implementation is in allocators.cpp.
* stlport/stl/_pthread_alloc.h: Removed pthread.h include.
* stlport/stl/_rope.h: Adopt classic macro check before inclusion
of _threads.h.
* build/Makefiles/gmake/gcc.mak: Add -fno-inline option for debug
builds.
* stlport/stl/_threads.h: Remove lock free singly linked list, avoid
include of windows.h when using Win32 API lock free slist
implementation.
* src/lock_free_slist.h: New place for the lock free singly linked
list implementation.
* test/unit/mvctor_test.cpp, type_traits_test.cpp: Small workaround
for gcc 4.0.1 build, looks like there is a conflict between glibc++
__true_type and STLport one.
2006-01-30 Francois Dumont <dums@stlport...>
* Patch from Ulrich Eckhardt for EVC4 ICE + some documentation
updates and fixes.
2006-01-29 Francois Dumont <dums@stlport...>
* stlport/stl/_hashtable.h, _limits.h: Add missing calling
convention to static methods thanks Petr Supina
2006-01-28 Francois Dumont <dums@stlport...>
* stlport/stl/debug/_iterator.h: Fix Hp Acc configuration thanks
Boris Gubenko.
2006-01-27 Francois Dumont <dums@stlport...>
* stlport/stl/_alloc.h, _old_alloc.h, _pthread_alloc.h,
test/unit/rope_test.cpp: Fixed reference to _STLP_NO_IOSTREAMS,
replaced by _STLP_USE_NO_IOSTREAMS.
* stlport/stl/_alloc.h: Move _MAX_BYTES definition out of
_STLP_USE_NO_IOSTREAMS check scope as it is also used in deque
implementation.
* stlport/stl/_algo.c, debug/_debug.h, _debug.c: Add check for
bad predicate in safe STL mode (_STLP_DEBUG).
* test/unit/sort_test.cpp: Add test for correct invalid strict weak
ordering predicate detection. Active only when STL safe mode throws
exception rather than terminating application.
* test/unit/sort_test.cpp: Add a check that stable_sort is really
stable.
2006-01-26 Francois Dumont <dums@stlport...>
* stlport/stl/_alloc.h, _alloc.c, _pthread_alloc.h: Many code moved
to allocators.cpp.
* stlport/stl/_pthread_alloc.c: Removed, content moved to
allocators.cpp.
* src/allocators.cpp: New, contains STLport node and per thread
allocator implementation.
* src/dll_main.cpp: Remove references to former __node_alloc
class.
* build/lib/Makefile.inc: Add allocators.cpp translation unit.
* stlport/stl/_alloc_old.h: Modified based on allocator classes new
interface.
* stlport/stl/config/feature.h: Default allocator in _STLP_NO_IOSTREAMS
mode is now the new/delete allocator, user can still use malloc/free
one using config swtich in host.h.
* stlport/stl/config/_gcc.h: Cygwin/MinGW can now use default node
allocator implementation without memory leak.
2006-01-25 Francois Dumont <dums@stlport...>
* test/unit/stream_test.cpp: Add check for ptrdiff_t output
in streams operator when 64 bits portability issue detection
feature is activated with MSVC compilers.
2006-01-25 Eric Sanford <...@comp...>
* stlport/stl/_exception.h: Delete obsolete workaround for
legacy Borland compilers.
* stlport/stl/_string.h: Use an other implementation for the
const_reference operator[](size_type _n) const
* stlport/stl/config/_bc.h: Restore unexpected exception handler
(static and dynamic) and uncaught_exception handler (static only)
* build/Makefiles/gmake/lib/bcc.mak: Typo fix in linker flags.
2006-01-24 Petr Ovtchenkov <complement@users.sourceforge.net>
* test/unit/bind_test.cpp: add test for member function
binding that show workaround for const function call.
* src/cxa.c: __cxa_finalize and __cxa_atexit present in libc
in FreeBSD 5.3, but again absent in 6.0
* build/Makefiles/gmake/app/gcc.mak,
build/Makefiles/gmake/lib/gcc.mak: detect whether gcc
was builded with --disable-shared and use correct libgcc.
* build/lib/configure: add --use-static-gcc option to show
that STLport should use static language support libraries from
gcc if it was build with --enable-shared.
2006-01-23 Francois Dumont <dums@stlport...>
* build/Makefiles/gmake/app/clean.mak: Fix distclean rule for
windows thanks Eric Sanford.
* stlport/stl/_cstddef.h, _cstdlib.h: When no new header support,
include STLport C header rather than native one to use errno
workaround.
* stlport/stddef.h: DMC also define errno in native stddef.h file.
2006-01-22 Francois Dumont <dums@stlport...>
* src/locale_impl.cpp, stlport/stl/_codecvt.h, _monetary.c,
_num_get.c, _num_put.c, _time_facets.c: Borland workaround for
locale facet id instanciation that were duplicated. Now static
instances are no more defined from .c files but only from the
.cpp and only for facets that are implemented by STLport. Users
implementing facet inheriting from the STLport one will have to
defined the static instance themself in their translation units.
* stlport/stl/type_manips.h: Fixed _UnCVType wrong implementation
reported by Digital Mars compiler.
* stlport/stl/boost_type_traits.h: Fixed _OKMemCpy implementation
remove_pointer call was wrong.
* src/dll_main.cpp: Hide force_link definition to MSVC compilers,
was useless and producing a warning.
* build/Makefiles/gmake/cygming/rules-so.mak: Workaround for DMC
linker weird behavior. Linker create the dll file even if link
fail which confuse make dependency feature. As lib file is not
generated, dll now depends on lib that depends on build files.
* stlport/stl/config/_warning_off.h: Disabled this used in initialization
list warning, used in rope implementation.
* build/lib/configure: Fix --with-boost interpretation.
* build/Makefiles/gmake/dmc.mak: Use dm_link command for linker rather
than link that is rather the MSVC like wrapper.
* build/Makefiles/gmake/cygming/targetsys.mak: Ditto for dm_lib rather
than lib command.
* build/Makefiles/gmake/app/rules.mak: Use same linker command invocation
for DMC and Borland.
* doc/README.borland: Documentation update about limitation on locale
facets id instanciation.
* stlport/stdlib.h: DMC, like Borland and EVC, defines errno macro
in stdlib.h
* stlport/stl/config/user_config.h, features.h: Inverse
_STLP_FORCE_STRING_TERMINATION macro switch in
_STLP_DONT_FORCE_STRING_TERMINATION. This is less dangerous for
existing code.
* stlport/stl/_string.h: When _STLP_FORCE_STRING_TERMINATION
is defined operator[] implementation is simpler.
* stlport/stl/debug/_string.h: Based implementation of []
operator on the non STL safe internal instance, avoid duplication
of check for access to the element of index size().
* test/unit/fstream_test.cpp: Add custom facet id definition for
Borland.
* test/unit/hash_test.cpp: Now Borland support correctly hash container
implementation.
* test/unit/rope_test.cpp: Fixed test implementation to build in
_STLP_NO_IOSTREAMS mode.
2006-01-18 Francois Dumont <dums@stlport...>
* stlport/stl/_ostream.h, _ostream.c: Use size_t rather than
unsigned int for MSVC compilers after VC6 in IO output operator
to avoid 64 bits warning when trying to display a size_t type.
* test/unit/sstream_test.cpp: Add test that reveal the 64 bits
warning.
* test/unit/string_test.cpp: Fixed unused variable warning.
2006-01-17 Petr Ovtchenkov <complement@users.sourceforge.net>
* src/c_locale_glibc/c_locale_glibc2.c: really implemented
getting default locale categories from environment; replace
a few strcpy by strncpy to protect from possible buffer overflow
attack.
* stlport/new.h, stlport/stl/_typeinfo.h: few workarounds for ICC 9
[suggested by Lim Hwan Cheol].
2006-01-14 Eric Sanford <...@comp...>
* build/test/eh/bcc.mak: Copied from build/test/unit/bcc.mak.
* stlport/stl/_rope.c: Restore Borland support for _Rope_rotate.
* stlport/stl/_rope.h: Fix Borland 5.5.1 internal compiler errors
in _M_path_end and _M_tmp_buf structs. Restore Borland support for
_Rope_rotate.
* test/eh/test_rope.cpp: Restore Borland exception test for rope.
* test/unit/rope_test.cpp: Restore Borland unit test for rope.
2006-01-13 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/_string.h, stlport/stl/debug/_string.h:
const operator [n] should return CharT() in case of
n == size(), ISO/IEC 14882:2003(E), 21.3.4; thanks Russ Miller.
* test/unit/string_test.cpp: test for fixed bug above.
* build/lib/configure: change --use-boost= onto --with-boost=
2006-01-13 Francois Dumont <dums@stlport...>
* test/unit/type_traits_test.cpp: Add boost specialization for
any_pod_type in order to reproduce STLport behavior when using
boost type traits.
* src/dll_main.cpp: Remove now invalid template explicit
instanciation of _Bs_G that is no more a template.
* stlport/stl/config/_detect_dll_or_lib.h: When no iostreams mode,
consider that we are in a static lib mode.
* stlport/stl/_limits.c, _hashtable.c: Add _STLP_CALL specification
to _LimG and _Stl_prime methods implementation.
* stlport/stl/_limits.c: Put _Stl_prime methods implementation in
a _STLP_EXPOSE_GLOBALS_IMPLEMENTATION macro check block. Those
methods are supposed to come from libs when using iostreams.
* stlport/stl/_num_put.h, _num_get.h, _time_facets.h, _ios.h,
_ios_base.h: Cleanup Borland workaround now useless.
* stlport/stl/boost_type_traits.h: Fixed _OKToMemCpy implementation
using boost type traits to be closer to the STLport behavior.
* build/lib/configure.bat: Fixed reference to STLport user
configuration file.
* build/lib/configure: Add --use-boost option to inject boost
path during build process.
2006-01-12 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/_rope.h, stlport/stl/_rope.c: pass CharConsumer
via reference, to take into account CharConsumer modifications.
This has relation to find(char) in rope. Thanks Cristian Vlasceanu.
* test/unit/rope_test.cpp: test for fixed bug above.
2006-01-11 Francois Dumont <dums@stlport...>
* src/bitset.cpp: Add stlport_prefix.h include.
* stlport/stl/_bitset.h: Add an inline implementation for _S_count
and _S_first_one static methods for _STLP_NO_IOSTREAMS mode. Should
be slower than version coming with library but avoid link trouble.
2006-01-11 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/_bitset.h, stlport/stl/_bitset.c, src/bitset.cpp:
make helper structure _Bs_G non-template [it used only as instance
with unused bool argument only], and put static tables into library
to avoid possible static instances duplication.
* build/lib/Makefile.inc: idem.
2006-01-10 Francois Dumont <dums@stlport...>
* stlport/stl/type_traits.h, config/_msvc.h, _mwerks.h: Integrate
intrinsic type traits support for Visual 2005 and Metrowerk. Code
based on boost library information and not tested for Metrowerk.
* test/unit/bind_test.cpp: Fix BindTest::bind2nd3 test case, had
never been used.
* stlport/stl/boost_type_traits.h: Change boost type traits wrapping
implementation to use meta programming operation on types rather
than on numerical constant, MSVC6 prefer it.
* build/test/unit/msvc.mak: Systematically add /Zm800 for MSVC
compilers, useful in a number of case and transparent in others.
* test/unit/type_traits_test.cpp: Add is_POD test case. Add dummy
constructors, assignment operator and destructor to any_type struct
to make the tests pass even with compilers having intrinsic type
traits support.
2006-01-09 Francois Dumont <dums@stlport...>
* stlport/stl/debug: Fix move constructor to keep the container
move constructor complete. When STLport user do no require no
extension or Standard debug safe mode, iterators are also move
with the container contents.
* stlport/stl/_list.h, _slist.h, _tree.h: Made iterator struct
constructor from base class pointer explicit to forbid expression
like: list.begin() == 0.
* stlport/stl/pointers/_slist.h, _list.h, _set.h: Fix implementation
that was using former implicit contructor from pointer to base class.
* src/c_locale_win32/c_locale_win32.c: Fix implementation for
compilers coming with a native lib implementing secure C functions
like strncpy_s.
* src/iostream.cpp: Hide I/O streams declaration when defining
them when compiler has no support for removing I/O streams
from static global variable initialization segment. Avoid the
stdio_istreambuf using directive when we do not use STLport
private namespace.
* stlport/stl/_rope.h, _rope.c: Use internal, not _STLP_NO_EXTENSIONS
dependant functions for implementation.
* stlport/rope, hash_map, hash_set: Add _STLP_NO_EXTENSIONS check
that generate a #error if defined as those headers are STLport
extensions.
* stlport/_uninitialized.h: Add __uninitialized_copy_n no dependant
against _STLP_NO_EXTENSIONS for rope implementation.
* test/unit: Made tests ok to build even when _STLP_NO_EXTENSIONS or
_STLP_NO_ANACHONISM or _STLP_NO_CUSTOM_IO is defined.
* stlport/stl/_num_put.h, _num_get.h: Fix definition scope of
_STLP_MOVE_TO_STD_NAMESPACE that was wrong when _STLP_NO_CUSTOM_IO
is defined.
* stlport/stl/boost_type_traits.h: Fixed _IsRef implementation based
on boost type traits feature.
* build/nmake/extern.mak, lib/msvc.mak, test/unit/msvc.mak,
test/eh/msvc.mak: Moved injection of boost include path for all targets
in extern.mak. Also removed a useless double quote as make variable already
contains it.
* stlport/stl/config/_bc.h, test/unit/floatio_test.cpp, cmath_test.cpp,
limit_test.cpp: Borland patch from Eric Sanford.
* test/unit/string_test.cpp: Add template_wexpression test to check
wstring template expression.
2006-01-05 Francois Dumont <dums@stlport...>
* stlport/stl/_stdexcept.h: Fix __Named_exception destructor
implementation when _STLP_NO_IOSTREAMS is defined or when
securized C function strcpy_s exists.
* stlport/stl/pointers/_set.h: Fixed implementation as _Identity
is now in private namespace and const_reverse_* functions must
return const_reverse_* iterators and not simply reverse_*.
* test/unit/bcompos_test.cpp, bind_test.cpp: Made the tests usable
when _STLP_NO_EXTENSIONS is defined.
* build/lib/configure.bat: Fix name of msvc8 compiler.
* test/unit/mfunptr_test.cpp: Ignore find test when no class
partial template specialization rather than commenting it.
* test/unit/type_traits_test.cpp: Ditto for reference_type test.
* build/Makefiles/nmake/top.mak: Fixed install-shared definition.
* build/Makefiles/gmake/gcc.mak: Add _STLP_USE_STATIC_LIB when
building and using STLport static lib under MinGW/Cygwin.
2006-01-04 Francois Dumont <dums@stlport...>
* src/acquire_release.h: New file, expose __acquire_*
functions used in different translation unit.
* src/num_put.h: Removed, content moved to num_put.cpp that
was the only translation unit using exposed functions.
* src/*: Build with Intel C++ 9 compiler reveal that many
static specification was missing.
* src/ctype.cpp: Filter out _WCharIndexT specialization for
Intel compiler that consider wchar_t as unsigned, fixed a
warning.
* _STLP_STATIC_ASSERT is now called without trailing ';' that
is already in the macro definition.
* src/*: Removed reference to _SgI namespace replaced by the
STLport private namespace.
* src/iostream.cpp: Add iostream include to expose cout, cin, cerr
definition to declaration.
2006-01-03 Francois Dumont <dums@stlport...>
* stlport/stl/config/_gcc.h: Force use of new/delete based
allocator under Cygwin/MinGW, default node allocator has
problem because __node_allocator static datas are sometimes
duplicated in a dll context.
2006-01-01 Francois Dumont <dums@stlport...>
* build/Makefiles/gmake/lib/gcc.mak, stlport/stl/config/_gcc.h:
Change way of building dll with Cygwin/MinGW. No more export of
all symbols, we use dllexport specification, makes import lib
really shorter and dll too. Moreover use of the
enable-auto-image-base linker option to make load of dll faster.
* stlport/stl/_time_facets.c, _num_put.c, _num_get.c, _monetary.c,
debug/_debug.c: Adapt existing Cygwin/MinGW workaround for new
way of generating dlls.
2005-12-31 Francois Dumont <dums@stlport...>
* doc: Add Borland doc and update cygwin, mingw and msvc.
* build/lib/README.options: Removed, replaced by configrure
script.
* build/test/eh/bcc.mak: Added to build EH tests for Borland.
2005-12-29 Francois Dumont <dums@stlport...>
* src/c_locale_win32/c_locale_win32.c: Hide _Locale_mbtowc and
_Locale_wctomb when no wchar_t support is detected thanks Eric
Sanford.
* src/c_locale_win32/c_locale_win32.c: Add mapping from Borland
facet macros to STLport associated string representation array index
thanks Eric Sanford.
* stlport/stl/config/_evc.h: Patch from Michael Fink to generalized
use of OutputDebugString for Windows CE when we need to trace
information.
* build/Makefiles/gmake/bcc.mak, lib/bcc.mak, app/bcc.mak: Fix
definition of START_OBJ thanks armpit33
* build/Makefiles/*: Generalize use of install-shared rather than
list of all shared rules, idem for install-static.
2005-12-27 Francois Dumont <dums@stlport...>
* stlport/stl/_string_io.c: Generalized use of _STLP_STATIC_ASSERT
macro rather that hand writen static assertion.
* stlport/stl/_fstream.c, _istream.c, src/fstream.cpp, strstream.cpp:
Add some cast to avoid Borland suspicious pointer arithmetic warnings
thanks Eric Sanford.
* stlport/stl/_limits.c: Fix Borland definition of NaNs and infinity
for long double thanks Eric Sanford.
* stlport/stl/config/_system.h, _gcc.h: Fix config for Windows, MinGW
and Cygwin platforms.
* stlport/stl/config/_windows.h: Can now be included by a pure C
compiler.
* stlport/stl/config/_warning_off.h: Removed suspicious pointer
arithmetic warning for Borland thanks Eric Sanford.
* stlport/stl/_construct.h: Removed now useless Borland workaround.
* src/stdio_streambuf.cpp: Ditto.
* stlport/stl/_alloc.h: Now allocator is tagged as an STLport class
even without partial template specialization support. This is
necessary because type_traits is specialized for allocator<char>,
allocator<wchar_t> and allocator<void*> when partial template
specialization is not available.
* test/unit/bitset_test.cpp: Add tests for the STLport
bitset::_Find_first extension.
2005-12-27 Petr Ovtchenkov <complement@users.sourceforge.net>
* src/initial_mak: obsolete makes removed (sync with STLPORT_5_0
branch).
2005-12-24 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/config/_gcc.h: gcc, builded by Apple is differ
in behavior from original; in particular, in path to includes;
* build/Makefiles/gmake/app/gcc.mak: fix gcc options on MacOS X;
STLport is free from libstdc++ on MacOS now;
* build/Makefiles/gmake/gcc.mak: fix gcc options on MacOS X; gcc,
builded by Apple is differ in behavior from original;
detect this;
* build/Makefiles/gmake/lib/gcc.mak: fix gcc on MacOS X;
differentiate gcc from Apple and original;
STLport is free from libstdc++ on MacOS X now;
* build/Makefiles/gmake/darwin/rules-so.mak: use
gcc instead of c++ for linkage, if only C sources present.
* build/lib/gcc.mak, build/test/unit/gcc.mak: remove duplication
of stlport includes.
2005-12-22 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/config/_windows.h: all system specific configuration
in one place [moved from stlport/stl/_windows.h]
* stlport/stl/_windows.h: deleted; all system specific configuration
in one place [moved to stlport/stl/config/_windows.h]
* stlport/stl/debug/_debug.c, stlport/stl/_threads.h:
_windows.h included via _prolog.h [i.e. via stl/config/_system.h],
see changes above.
* stlport/stl/config/_sunprocc.h: remove include of _solaris.h---it
already included from _system.h
* stlport/stl/config/_kai.h: remove include of os configuration files,
it should be included from _system.h
* stlport/stl/config/_intel.h: fix path after config headers
reorganization.
* stlport/stl/config/_evc.h: idem
* stlport/stl/_exception.h: idem
* stlport/stl/config/_prolog.h: idem
* test/unit/fstream_header_test.cpp: idem
* test/unit/iomanip_header_test.cpp: idem
* test/unit/ios_header_test.cpp: idem
* test/unit/iostream_header_test.cpp: idem
* test/unit/istream_header_test.cpp: ditto
* test/unit/locale_header_test.cpp: idem
* test/unit/ostream_header_test.cpp: idem
* test/unit/sstream_header_test.cpp: idem
* test/unit/strstream_header_test.cpp: idem
2005-12-21 Francois Dumont <dums@stlport...>
* stlport/stl/debug/_debug.h, _debug.c, _string_sum_methods.h:
Removed some unused parameters reported by Borland compiler.
* stlport/stl/config/_warnings_off.h: Disable unused parameters
warning for Borland compiler.
* build/Makefiles/gmake/targetdirs.mak: Change config in order to
have each generated application in a different bin folder.
* stlport/stl/_threads.h: Used _STLP_STATIC_ASSERT macro for a
static assertion.
2005-12-19 Petr Ovtchenkov <complement@users.sourceforge.net>
* build/Makefiles/gmake/lib/gcc.mak: move LDSEARCH flags after
possible -nostdlib
* build/lib/gcc.mak: don't add include path, it already included.
* src/c_locale.h: include stlport_prefix.h to add STLport's
definitions that used below.
* stlport/stl_user_config.h, stlport/stl/_config.h: moved
to stlport/stl/config catalog and renamed.
* stlport/stl/_config_compat.h, stlport/stl/_site_config.h: ditto.
* stlport/config: headers moved to stlport/stl/config catalog,
renamed and reorganized.
* stlport/stl/_prolog.h, stlport/stl/_epilog.h, src/stlport_prefix.h:
reflect changes in configuration files.
2005-12-17 Francois Dumont <dums@stlport...>
* stlport/stl/_config.h: Removed ';' in _STLP_STATIC_ASSERT
definition.
* stlport/stl/_cwctype.h: Fix native namespace of wide char functions
for MinGW runtime <= 3.0. Also fix a typo for FreeBDS.
* src/stdio_streambuf.cpp: Add missing 'defined' when checking
__OS400__ macro existance.
* test/unit/resolve_name.cpp, set_test.cpp: Removed useless ';'
reported by remarks from Intel C++ compiler.
2005-12-16 Francois Dumont <dums@stlport...>
* stlport/stl/_rope.h: Moved overload of __identity_element for
_Rope_Concat_fn in STLport private namespace where orginal function
declaration is. Also moved _Rope_Concat_fn at the same time, much more
many elements of _rope.h should be moved to this namespace...
* stlport/stl/_monetary.c: Change implementation of __money_do_put for
Borland compiler, looks like this compiler do not like ternary operator.
* src/c_locale_win32/c_locale_win32.c: Replace check of category in
__Extract_locale_name from > LC_ALL by != LC_ALL, there is no reason
for LC_ALL to be upper or lower to all other categories.
* build/Makefiles/gmake/cygming/rules-so.mak: Segregate different
compilers linker calls and add reference to START_OBJ in Borland
linker invocation.
* build/Makefiles/gmake/lib/rules-a.mak, cygming/targetsys.mak: Borland
archiver add option is now '+', before being invocated archive is always
deleted to avoid warnings because the Borland archiver do not have a
real add or replace module option.
* stlport/stl/type_traits.h: Fix for compiler simulating partial
template specialization (VC6)
* test/eh/test_rope.cpp: Removed rope test for Borland.
* test/unit/exception_test.cpp: Commented tests are now ignored.
* test/unit/locale_test.cpp, string_test.cpp: No more ignored test
for Borland.
2005-12-14 Petr Ovtchenkov <complement@users.sourceforge.net>
* build/Makefiles/gmake/sysid.mak: parse two-token target
system identification string along with three-token one
[useful when vendor is omitted]; thanks Jonathan Sprinkle.
* stlport/cwctype, stlport/stl/_cwctype.h: wctype_t and
others are in global namespace on FreeBSD.
* build/Makefiles/gmake/app/gcc.mak, lib/gcc.mak: use build
with -nostdlib on Solaris.
* src/cxa.c: fix for Solaris
* stlport/config/stl_solaris.h, stlport/stl/_cmath.h:
hmm, strange... sometimes MATH_L and MATH_F present on Solaris,
sometimes not...
2005-12-14 Francois Dumont <dums@stlport...>
* test/unit/cppunit/cppunit_mini.h, file_reporter.h: Add ignore
test feature, now tests should be ignored rather than commented.
2 new macros for that CPPUNIT_IGNORE to add in tests declaration,
all test following this macro won't be run; CPPUNIT_STOP_IGNORE
optional macro to stop ignoring tests.
* test/unit/fstream_test.cpp: Ignore custom_facet test when not
supported rather than comment it.
* test/unit/hash_test.cpp: Ignore hmap1 test for Borland and Digital
Mars compilers, looks like rope class is too complicated for those
compilers.
* test/unit/locale_test.cpp: Ignore locale_by_name test for compiler
without exceptions support. Ignore money facet tests for Borland.
* test/unit/mvctor_test.cpp, rope_test.cpp: Some tests ignored
depending on various configuration settings.
* test/unit/type_traits.cpp: Add test for _IsSTLportClass metaprogramming
tool. Ignored for Borland.
* test/unit/unordered_test.cpp: Fix test for Digital Mars, unordered
containers value_type are not necessarily with an immutable key, it is
more portable to use value type rather than redefining it in the test.
* test/unit/string_test.cpp: Removed Windows CE macro check replaced
by WaitForMultipleObjects returned code check, more portable and
maintenable. Ignore a test for Digital Mars compiler.
* stlport/stl/type_manips.h, type_traits.h: Simplified metaprograming
tools implementation; now avoid compilation constant replaced by
type, Borland compiler has problem with constants.
* stlport/config/stl_bc.h: Made supported compiler check more accurate
free compiler is 5.5.1 so it is the oldest supported version. Borland
compiler do not support IEC559 specifications.
* build/Makefiles/gmake/bcc.mak: Put startup .obj to link with in
START_OBJ rather than LDLIBS, thanks Eric Sanford.
* src/c_locale_win32/c_locale_win32.c: Temporarily removed category
check in __Extract_locale_name function for Borland, looks like LC_ALL
or LC_MAX has not the right value.
2005-12-13 Francois Dumont <dums@stlport...>
* src/cxa.c: Add include of stlport_prefix.h first, this file
should be always included first in STLport translation units,
it prepares some compilers config and define important for Wins
__BUILDING_STLPORT macro.
2005-12-13 Petr Ovtchenkov <complement@users.sourceforge.net>
* build/Makefiles/gmake/targetdirs.mak: built-in
test in /bin/sh on Solaris has no -e, use external instead.
2005-12-11 Francois Dumont <dums@stlport...>
* build/Makefiles/gmake/bcc.mak : Add -w-eff to disable 'useless'
code warning, we had to chose between this warning and the 'used
parameter' one.
* build/Makefiles/gmake/targetdirs.mak: Removed comment about folder
creation action under windows platform. The action is identical to
the one used in the nmake build system and no one complains about it
so current situation is not so bad. Only users of Windows before Windows
98 should eperiment troubles, this is a known limitation.
* build/Makefiles/gmake/dmc.mak, cygming/rules-so.mak: Change config,
now we directly invoke the linker, we do not use a compiler call for it.
* build/Makefiles/gmake/app/bcc.mak: Fix linker option in order to generate
a windows executable and not a dll, thanks Eric Sanford.
* build/Makefiles/gmake/app/rules-install.mak: Add install dir dependency
rather than doing a folder existence check in rules actions.
* build/Makefiles/gmake/app/rules.mak: Restore slash rotation for Borland
linker invocation and fix static rules dependencies to guaranty folder
creations.
* build/Makefiles/gmake/lib/bcc.mak: Add missing archiver page size parameters.
* build/test/unit/bcc.mak: Add _STLP_DEBUG_UNINITIALIZED for static
debug rules.
* build/Makefiles/gmake/lib/rules-a.mak: Segregate each archiver invocation.
2005-12-09 Francois Dumont <dums@stlport...>
* build/lib/configure.bat: Add Borland compiler to compilers
able to mix a dll build with a static native runtime.
* build/Makefiles/gmake/bcc.mak, dmc.mak: Complete libs to link
depending on STLport configuration.
* build/Makefiles/gmake/targetdirs.mak: roll back modif from Petr
2005-12-08
* build/Makefiles/gmake/targets.mak: ditto
* build/Makefiles/gmake/cygming/lib.mak: Fix for static libs build
with compiler different than gcc.
* build/Makefiles/gmake/cygming/targetsys.mak: Add missing info for
static libs build with Borland and Digital Mars compilers.
* build/Makefiles/gmake/lib/rules-a.mak: Fix static builds commands
to use info of above point.
* build/Makefiles/gmake/lib/rules-install-a.mak: Add install rule
for windows and missing catalog in dependency tree.
* build/Makefiles/gmake/windows/rules-install-so.mak: Add missing
catalog dependency.
2005-12-09 Petr Ovtchenkov <complement@users.sourceforge.net>
* build/lib/Makefile.inc: add cxa.c into compilation; this
is useful for FreeBSD 4.11 C++ ABI workaround.
* src/cxa.c: use _cxa_atexit and related functions on
FreeBSD 4.11 [workaround for missed C++ ABI functions].
2005-12-08 Francois Dumont <dums@stlport...>
* stlport/stl/_auto_ptr.h: Add missing Standard throw() specification
on all auto_ptr members.
* stlport/config/stl_mycomp.h: Removed recently introduce macro
_STLP_DFLT_PARAM_INSTANCIATION_BUG, already existing _STLP_DONT_SUP_DFLT_PARAM
is enough for the moment.
* stlport/stl/_stream_iterator.h: Small implementation change to make
Digital Mars compiler happy.
* stlport/stl/_unordered_map.h: Digital Mars compiler do not like
immutable keys in associative containers.
2005-12-08 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/ctype.h: forward-declaration for _exception struct
for WinCE/eVC3; prevents warning message
../include/stdlib.h(817) : warning C4115:
'_exception' : named type definition in parentheses
[Michael Fink's suggestion]
* stlport/float.h, stlport/limits.h, stlport/setjmp.h: idem.
* stlport/stdarg.h, stlport/string.h, stlport/stdio.h: idem.
* build/Makefiles/gmake/gcc.mak: check configuration macro
WITHOUT_STLPORT [useful for tests]; force usage of stlport
headers first otherwise.
* build/Makefiles/gmake/targetdirs.mak: fix catalogs creation
procedure [loop through catalogs required]; comment problematic
code when we have no good tools.
* build/Makefiles/gmake/lib/gcc.mak: fix typo [FreeBSD]; fix
set of libraries when link for FreeBSD; fix typo in macro name
[FreeBSD again].
* build/Makefiles/gmake/app/gcc.mak: fix set of libraries when
link for FreeBSD; insert stlport lib in STDLIB set [when STLPORT
in force], to avoid set one in application's makefile.
* build/test/unit/gcc.mak: explicit refrence to libstlport in
this makefile not required more [see message above].
* build/Makefiles/gmake/lib/gcc.mak: remove names inherited from
Complement project.
* build/Makefiles/gmake/*/rules-install-so.mak: installation
catalog was missed in dependency tree; ident string removed
to simplify merge/diff
* Build: building library and unit tests with cross [gcc 3.4.5]
on Linux for FreeBSD 5.3 (except cwctype_test).
* build/Makefiles/gmake/targets.mak: rotate slashes for BCC.
* build/Makefiles/gmake/app/macro.mak: remove name contruction
for program; rotate slashes for wins.
* build/Makefiles/gmake/app/rules-install.mak: remove name
contruction for program.
* build/Makefiles/gmake/app/rules.mak: remove name contruction
for program; objects for static and for dynamic are the same.
2005-12-04 Francois Dumont <dums@stlport...>
* src/num_put_float.cpp: Filter inclusion of stdint.h, required for
Digital Mars compiler, forbidden for Sun platform.
* stlport/stl/_cwctype.h: wide types and function are in global
namespace.
* build/test/unit/gcc.mak: Modify cygwin/mingw config now that
default settings for those platform is shared library.
* build/Makefiles/gmake: Add support of static targets, used
especially for Borland C++ Compiler and Digital Mars Compiler.
* build/Makefiles/gmake/app/gcc.mak: Fix typo in FreeBSD
configuration.
2005-12-02 Francois Dumont <dums@stlport...>
* stlport/config/stl_msvc.h: Fixed configuration detection when building
STLport dll based on a static native runtime.
* stlport/stl/_locale.h: Fix warning convertion from size_t to
__stl_atomic_t that can be of lower size.
* stlport/config/stl_gcc.h, doc/README.mingw, README.cygwin: Made dll
default settings under cygwin/mingw.
2005-12-01 Francois Dumont <dums@stlport...>
* stlport/stl/_mbstate_t.h: Add workaround for alpha bad WCHAR_MIN and
WCHAR_MAX definition.
* stlport/config/stl_gcc.h: Configure STLport for alpha platform as not
supporting iec559 specification as quiet nan is not correct. If someone
find the right value then this config will have to be rollbacked.
* build/Makefiles/gmake/gcc.mak: Restored Sun OS support that use the
-pthreads option and not -pthread
* build/Makefiles/nmake/lib/macro.mak: Fixed library name generation
when using cross runtime version thanks Alexey Ivanov report.
2005-11-29 Francois Dumont <dums@stlport...>
* stlport/stl_user_config.h: Add _STLP_LIB_NAME_MOTIF macro to give
users a point of customization of the automatic linking feature.
* build/Makefiles/nmake/lib/macro.mak, gmake/cygming/lib.mak: Use
STLP_BUILD_LIB_MOTIF in library name generation algorithm. Also take
into account cross builds in library name generation.
* build/lib/configure.bat: Add --lib-motif option to give users a
way to customize the generated library names.
* test/eh: Generalized use of msvc.mak rather than all the nmake-vc??.mak
files. Idem for evc.mak instead of nmake-evc?.mak and icl.mak instead of
nmake-icl.mak.
* stlport/stl/_exception.h: Change _msvc_warnings_off.h include in
_warnings_off.h as this file now also turn off Borland warnings.
* stlport/config/_detect_dll_or_lib.h: Mutualization of code used to
detect current STLport type of build or usage (dll or static lib).
* stlport/config/stl_msvc.h, stl_bc.h, stl_dmc.h: Integration of
_detect_dll_or_lib.h
* stlport/config/_auto_link.h: Change auto link algo when we detect
cross STLport usage that is to say use of STLport as a dll link with
static native runtime or opposite.
2005-11-29 Petr Ovtchenkov <complement@users.sourceforge.net>
* src/cxa.c: mutex should be recursive-safe, due to __cxa_finalize
may be called recursive.
2005-11-28 Francois Dumont <dums@stlport...>
* stlport/stl/_threads.h: Simplified expression used to instanciate
_Atomic_swap_struct, gcc 2.95 had trouble with the one line expression.
* src/dll_main.cpp: Fix instanciation of _Swap_lock_struct that has been
changed and renamed in _Atomic_swap_struct.
* test/unit/map_test.cpp, set_test.cpp: Simplified call to map constructor
taking a functor and allocator instance, split it in a creation of a les<int>
instance then passed to the constructor; gcc 2.95 had trouble with previous
version.
* stlport/stl/_cmath.h, _cstdlib.h: Now those files includes each other to
make sure that all abs overloads are defined when it is imported in STLport
namespace. gcc 2.95 is very strict on this point and only consider the abs
overloads existing at the first import calls, all overloads added after that
are discarded silently.
* stlport/stl/_cmath.h: Removed unjustified abs function overloads done
directly in STLport namespace for gcc 2.95 and before. Those overloads
clashed on a Linux with gcc 2.95 from the sourceforge compiler farm.
* build/Makefiles/gmake/gcc.mak: Generalized definition of _REENTRANT under
Linux to make detection of a multithreaded build from STLport code easier.
Problem meet on an alpha linux platform from the sourceforge compiler farm.
* stlport/stl/_locale.h: Removed _M_delete locale::facet member variable,
useless if facet instance reference counter is right.
* src/locale_impl.cpp, message.cpp: Change classic facets initialization code
to simply set initial counter to 1 rather than incrementing it after construction.
* test/unit/evc.mak fix path to config file in existance check.
* stlport/stl/_move_construct_fwk.h, type_manips.h: Add workaround to use
move constructor with Borland compiler.
2005-11-28 Petr Ovtchenkov <complement@users.sourceforge.net>
* build/Makefiles/gmake/targetdirs.mak: change names of .o output dirs
to make bcc happy (bug with passing name that contain '-' from
compiler to linker). Replacement: 'shared' -> 'so', 'static' -> 'ar',
'-' -> '_' (i.e. obj/gcc/shared-stlg -> obj/gcc/so_stlg, a bit shorter)
[Suggested by Francois Dumont].
2005-11-27 Petr Ovtchenkov <complement@users.sourceforge.net>
* build/Makefiles/gmake/targets.mak, app/rules.mak, linux/rules-so.mak:
use gcc instead of c++ as linker if there are no C++ objects.
* src/cxa.c, build/misc/cxa_atexit/Makefile.inc, build/misc/cxa_atexit/gcc.mak:
workaround for bugged __cxa_finalize; use builded libcxa.so in LD_PRELOAD or
/etc/ld.so.preload in Linux system with bugged glibc. See also
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24189
2005-11-27 Francois Dumont <dums@stlport...>
* stlport/stl/type_manips.h: Add import of __true_type and
__false_type in STLport private namespace as the using namespace
directive do not seems to be enough for latest gcc version.
* src/time_facets.cpp: Fix buffer size decrementation in __write_formatted_time
function thanks Petr Ovtchenkov
2005-11-26 Francois Dumont <dums@stlport...>
* stlport/stl/_complex.h: Move implementation of generic abs, arg and polar
after definition of double overload used in implementation. Thanks Kees de
Bruin
* stlport/stl/_threads.h, _alloc.h, _alloc.c: Fix lock free node allocator
implementation thanks Weis.
* stlport/stl/wrappers: Removed, no more maintained and complicated to fix
with the debug and pointer specialization implementations.
* test/unit/stack_allocator.h: Creation of an allocator using a stack buffer.
This allocator specificity is to not be stateless and not default constructible.
* test/unit/list_test.cpp, stlport/stl/_list.h, _list.c: Add of a test with the
StackAllocator. Fix list implementation to correctly handle allocator state
in the methods moving elements from a list instance to an other.
* stlport/stl/_carray.h: Creation of a new internal struct _CArray that mimic a C
array with the additionnal feature of being able to be instanciated with a type
without default constructor.
* stlport/stl/debug/_list.h: Adapt iterator invalidation according allocators
compare result.
* test/unit/slist_test.cpp, stlport/stl/_slist.h, _slist.c: idem list.
* stlport/stl/_slist.h: Modification of the splice_after methods signature. Users
now have to pass the source slist instance, this is mandatory in order to compare
the 2 slists allocator instance before moving an element from a slist instance to
an other.
* stlport/stl/_string_base.h: Fix _M_swap implementation for basic_string instanciation
with allocator having a state.
* stlport/stl/_list.c, _slist.c: sort methods now throw an overflow exception when lists
are too long to be sorted with the current algorithm. This is preferable to a buffer
overrun.
* stlport/stl/_alogobase.c: Small equal_range optimization, upper_bound is not called
anymore when lower_bound returned value is already not equivalent to the search value.
* build/Makefiles/gmake: Add build system for Digital Mars and Borland C++ compilers
* build/lib/configure.bat: Add following options
--use-boost
--not-thread-safe
--no-rtti
see script for explanation. --mingw removed, detected with --compiler option, if
gcc, dmc or bcc then we are using MinGW tools.
* build/lib/configure: Add --not-thread-safe option
* build/Makefiles: Add build options to generate not thread safe libs and no rtti libs,
all compilers option has not been updated.
* stlport/c*: Modification of C++ headers wrapping C ones. All code moved to internal
headers in stlport/stl folder. Internal headers are only included if include comes from
user code otherwise only native header is included. Limit dependency between STLport
headers relations and native library once. Reported by problem building with Borland
compiler.
* test/unit/cppunit/cppunit_mini.h: Replace cstring include with string.h to avoid
references to std namespace in headers, should be more portable. Add typedef Base
definition in CPPUNIT_TEST_SUITE macro, used in calls to base class methods, help
Borland.
* Generalize use of secure string functions (strcpy_s for instance) for MSVC compilers
supporting it and tagging former versions like deprecated. The pragma warning that used
to disable this warning has been removed.
* stlport/BC50: Removed, no necassry anymore for supported Borland compiler versions.
* stlport/stl/debug: Implementation modification, now debug wrapper agregate a non debug
instance rather than inheriting from it. Makes debug implementation clearer as we are now
forced to implement the complete containers interfaces.
* stlport/stl/pointers: Fix implementation in order to support Standard compilers
not accepting cast from function pointer to void*.
* *: Reinforce use of STLport private namespace (stlp_priv or stlport::priv) for all
internals algorithms.
2005-11-21 Francois Dumont <dums@stlport...>
* Fix classic locale facet initial reference counter thanks
Cabal
2005-11-20 Petr Ovtchenkov <complement@users.sourceforge.net>
* src/num_put.h: check that incoming string has enough
digits for fractional part processing. This check includes
check for empty incoming string. (Thanks Leonardo [leoapsilva]
for the bug report).
* stlport/stl/_monetary.c: fix processing the case when
number of digits in value less then number of digits in fraction.
* src/facets_byname.cpp: international currency symbol should
be the first (not depends upon where currency symbol situated in
the national format).
* test/unit/locale_test.cpp: tests for reproducing this problems.
2005-11-20 Gail Baker <baker88@users.sourceforge.net>
* build/Makefiles/gmake/CC.mak: Updated compiler option
to compile larger inline functions inline.
* build/Makefiles/gmake/lib/CC.mak: Changed how the header
file linking is done to only do it once instead of with
every compile.
* build/lib/README: include instructions for SunPro compiler.
* build/test/unit/CC.mak: allow the STLP_DEBUG version to compile.
2005-11-19 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stdlib.h: replace C++ comments by C, to satisfy -ansi
option of compiler.
2005-11-18 Francois Dumont <dums@stlport...>
* build/Makefiles/nmake/lib/rules-install-so.mak,
app/rules-install-so.mak: Add copy of manifest file when exist
rather than when compiler is Visual Studio 2005.
* src/stdio_streambuf.cpp: Removed warning for EVC 3 and 4 thanks
Michael Fink patch.
* stlport/stl/math.h, stdlib.h: Fix EVC3 warning thanks Michael Fink
patch.
* doc/README.evc3: doc update from Michael Fink.
* stlport/*, stlport/*, tests/*: Clean up of trailing blank charaters
in all source files.
2005-11-17 Gail Baker <baker88@users.sourceforge.net>
* build/Makefiles/gmake/CC.mak, depend.mak, app/CC.mak, lib/CC.mak:
support of SunPro 5.7 compiler.
* build/lib/CC.mak: ditto
* stlport/stl/_rope.c: Removed extra semi-colons.
* stlport/stl/_rope.h: Sunpro compiler had a problem with
the __ROPE_DEPTH_SIZE macro doing an addition. Changed to
a fixed value instead.
* stlport/cstdlib: Updated to allow the compiler to find abs and div
* stlport/config/stl_sunpro.h: Disabled _STLP_LINK_TIME_INSTANTIATION
since this nolonger works with current files. The issue here is that
a number of defines that are required in the C versions of the files
use defines that are undefed at the end of the include. So, when
the compiler finally compiles the C version at link time the defines
are lost and the files don't compile. Also added a minor change
to allow files that are compiled with cc to include stl_sunpro.h
without bailing out.
* stlport/stl/_bvector.h: Added stl/_range_errors.h required by
an exception that can be called.
* stlport/stl/_cmath.h: Changed to pull all math functions from std
namespace for SunPro compiles only.
* test/unit/fstream_test.cpp: Added SunPro compile to the list
of compilers that don't use the DO_CUSTOM_FACET_TEST.
* test/unit/string_test.cpp: Added Sun UI Threads to the list
of supported thread types in the test.
* test/unit/valarray_test.cpp: The compiler was having trouble
finding abs(). Added a "using std::abs" for the SunPro compiler
which solved the problem.
* test/unit/cppunit/cppunit_mini.h: Added additional using statements
for the str* commands.
* test/unit/cppunit/test_main.cpp: Added "using namespace std;"
for the SunPro compiler.
* build/test/unit/CC.mak: support of SunPro 5.7 compiler
2005-11-17 Francois Dumont <dums@stlport...>
* stlport/stl/_messages_facets.h, src/messages.cpp: Move message facet
constructor private to guaranty that it is only called from the _Locale_impl
class for classic locale facets creation. Change constructor implementation
as now passed _Message instance is dynamically instanciated so needs to be
destroy on facet destruction; moreover the facet is also dynamically allocated
and has to be destroyed when reference counter reach 0.
* src/locale_impl.cpp: Removed call to now useless free_classic_locale function.
Change make_classic_locale implementation, now classic locale facets are
allocated on the heap and have to be destroyed like any ordinary facets
when reference counter reach 0.
2005-11-15 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/_tree.h: check iterator returned from lower_bound
in equal_range_unique for end, to avoid increment [useful when
key not available].
* test/unit/map_test.cpp: test for problem above.
2005-11-09 Francois Dumont <dums@stlport...>
* build/test/eh/gcc.mak: Fix build system for Cygwin/MinGW systems that
was broken since library naming convention modification.
2005-11-07 Michael Fink <vividos@users.sourceforge...>
* build/lib/configure.bat: Fixed configuring for Visual Studio .NET 2003.
Fixed jump target names for Win9x OSes: they must be 8 characters or
shorter.
2005-11-07 Michael Fink <vividos@users.sourceforge...>
* build/Makefiles/nmake/evc3.mak, build/Makefiles/nmake/evc4.mak,
build/lib/configure.bat, stlport/config/stl_evc.h: Added check if
using x86 emulator configuration; using of proper include paths in
case.
* doc/README.evc4: Documentation update
2005-11-01 Petr Ovtchenkov <complement@users.sourceforge.net>
* Repository: STLport 5.0, tag STLPORT_5_0_RELEASE
* Repository: merge HEAD and STLPORT_5_0 branch.
* build/Makefiles/gmake/app/rules-install.mak: install-shared rule
added (patch by Michael Fink).
* build/Makefiles/gmake/lib/rules-install-a.mak: install-static rule
added (patch by Michael Fink).
2005-10-12 Francois Dumont <dums@stlport...>
* stlport/stl/_threads.h, _threads.c: Fix regression for some platforms
introduce by modification of _Atomic_swap_ptr implementation thanks
Albrecht Fritzche.
2005-10-09 Petr Ovtchenkov <complement@users.sourceforge.net>
* repository: RC6, tag STLPORT_5_0_RC6
2005-10-09 Francois Dumont <dums@stlport...>
* stlport/config/stl_gcc.h: DEC alpha has not *l math functions
2005-10-08 Francois Dumont <dums@stlport...>
* stlport/stl/_config.h: Add endianess specification for DEC alpha thanks
sourceforge compiler farm.
* stlport/config/stl_intel.h: Remove reference to _STLP_GLOBAL_NEW_HANDLER
in this file as this macro depends on native Standard library which is
the back end MSVC compiler one so macro set in stl_msvc.h.
2005-10-07 Francois Dumont <dums@stlport...>
* build/Makefiles/gmake/darwin/sys.mak, freebsd/sys.mak: Fix EXT_TEST
definition to test rather than /usr/bin/test thanks sourceforge
compiler farm.
2005-10-05 Francois Dumont <dums@stlport...>
* build/Makefiles/nmake/vc-common.mak: Remove /Fd option for the icl
compiler that do not know it.
2005-10-04 Francois Dumont <dums@stlport...>
* stlport/stl/debug/_list.h: Fix resize method implementation in safe
STL mode thanks Ethan Fenn report.
* test/unit/list_test.cpp: Add test case for list::resize method.
* build/Makefiles/nmake/lib/rules-install-a.mak, app/rules-install-a.mak:
Install .pdb files only if exist, Intel C++ compiler do not generate them
when building static libraries. Thanks Albrecht Fritzsche
* stlport/stl/_ostream.h, _ostream.c: Move _M_init function implementation
from .c to .h as .c is not included when _STLP_NO_CUSTOM_IO is defined
but _M_init might not be exported if compiler fully inline it.
2005-10-03 Francois Dumont <dums@stlport...>
* stlport/stl/_tree.h: Fix _S_value method definition that returns
a value_type& rather than the reference typedef as reference might be,
depending on the traits used to instanciate _Rb_tree, equivalent to
a const_reference.
2005-09-30 Francois Dumont <dums@stlport...>
* INSTALL, README, doc/FAQ, doc/README.msvc: Documentation updates.
* doc/stlport_namespaces.txt: Small doc about STLport namespaces and how
STLport replace native Standard library.
2005-09-26 Francois Dumont <dums@stlport...>
* build/*: Finished _STLP_LEAKS_PEDANTIC clean up from all make files.
2005-09-25 Francois Dumont <dums@stlport...>
* build/test/unit/gcc.mak: Remove _STLP_LEAKS_PEDANTIC option when building
unit tests as this option is not defined when building the libs.
2005-09-22 Petr Ovtchenkov <complement@users.sourceforge.net>
* build/Makefiles/gmake/sysid.mak: add underscore in architecture recognition,
to parse targets like x86_64-unknown-linux-gnu.
2005-09-21 Francois Dumont <dums@stlport...>
* src/locale.cpp, facets_byname.cpp: Use of _STLP_ATOMIC_INCREMENT rather than
a lock on a mutex when the macro is available.
2005-09-21 Petr Ovtchenkov <complement@users.sourceforge.net>
* src/locale_impl.cpp: some internal functions used before declared.
Thanks Thomas Kho for report.
2005-09-20 Francois Dumont <dums@stlport...>
* stlport/stl/_string.h, _string_workaround.h: code refactoring, substr method
now use string constructor taking same parameters rather than the range
constructor, thanks Felix Wyss report. Also add missing allocator parameter
for non stateless allocators.
* build/Makefiles/gmake: Restore resource build for Cygwin and MinGW, add
it for Windows.
* build/lib/configure.bat: Add --extra-cxxflag to inject additional compilation
option in the nmake build system.
2005-09-20 Petr Ovtchenkov <complement@users.sourceforge.net>
* test/unit/ptrspec_test.cpp: gcc 2.95 fail to roll out template instantiation
for pointers to member function, skip this test for gcc 2.95.
* build/Makefiles/gmake/gcc.mak: gcc 2.95 has no -fuse-cxa-atexit option.
* build/lib/gcc.mak: don't use LEAK_PEDANTIC with gcc 2.95 [but this not help,
segfault at program termination still happens].
* stlport/config/stl_gcc.h: gcc 2.95 has problem with llabs, so force to use
_STLP_NO_VENDOR_STDLIB_L; 2.95 fails to initialize builtin types.
* stlport/stl/_cmath.h: workaround for gcc 2.95---it has problem with 'using'
directive [problem with 'abs' with float types as argument].
* stlport/stl/type_traits.h: workaround for gcc 2.95 [parentheses around
template argument]. Thanks Thomas Kho.
* test/unit/fstream_test.cpp: custom facet test compilation fail for gcc 2.95
* build/Makefiles/gmake/icc.mak, build/test/unit/icc.mak: support icc 9.0,
thanks John Fisher-Ogden and Thomas Kho.
* src/c_locale_glibc/c_locale_glibc2.c: use newlocale/freelocale for
glibc 2.3.x, and __newlocale/__freelocale for glibc 2.2.x. Thanks Gail Baker.
2005-09-19 Francois Dumont <dums@stlport...>
* build/Makefiles/nmake/clean.mak, lib/clean.mak, app/clean.mak: Add check
for file or folder existance before calling del or rd to avoid error
messages that give a bad feed back to STLport users.
* build/Makefiles/gmake: Add support to use the GNU make tool in a Windows
cmd console. For the moment it is used to build STLport using a simple
MinGW distrib.
* stlport/stl/type_traits.h: Simplified code removing the _IsConvertibleIfNot
that has never proved of being useful, it only introduces problem with some
limited compilers.
* stlport/stl/_string_workaround.h, _string.h, debug/_string.h: Fix string
range constructor bug in the VC6 specific workaround implementation that was
resulting in a memory leak. Thanks Felix Wyss report.
2005-09-18 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/_hash_fun.h: add hash function for void *.
* src/facets_byname.cpp, src/message_facets.h: introduce map between
nl_catd type [that is void * on Linux] and messages_base::catalog
[that is int by Standard]; this should remove problems on platforms
where sizeof(int) < sizeof(void *).
2005-09-16 Francois Dumont <dums@stlport...>
* stlport/cwchar: Add MinGW 3.8 runtime wide-char to multi-byte functions
import within STLport namespace thanks Rene Riviera.
2005-09-14 Francois Dumont <dums@stlport...>
* stlport/config/stl_gcc.h: Mingw support string wide functions thanks
Rene Riviera report.
2005-09-13 Petr Ovtchenkov <complement@users.sourceforge.net>
* stlport/stl/_thread.h: fix return type specification
[volatile void * -> void *].
2005-09-12 Francois Dumont <dums@stlport...>
* stlport/stl/_thread.h: Fix _Atomic_swap_ptr implementation in single
threaded mode and when there is no pointer atomic swap operation.
* stlport/stl/_site_config.h: Add _STLP_NO_CYGWIN macro to signal use
of the -mno-cygwin cygwin option.
* build/lib/configure: Remove automatic generation of stlport/script_config.h.
2005-09-11 Petr Ovtchenkov <complement@users.sourceforge.net>
* build/Makefiles/gmake/sysid.mak: provide identification hosted platform.
* build/Makefiles/gmake/targetdirs.mak: CygWin/MinGW has no /usr/bin/test,
but built-in test support -e; see record 2005-09-04.
* build/Makefiles/top.mak: separate hosted platform and target platform
file extentions, tools, utilites.
* build/Makefiles/gmake/?/sys.mak, build/Makefiles/gmake/?/targetsys.mak:
ditto.
2005-09-09 Francois Dumont <dums@stlport...>
* src/c_locale_win32.c: Fix _Locale_wchar_[tolower,toupper] implementation
which was wrong when wint_t was not the same typedef as wchar_t.
* build/lib/configure: Removed obsolete configure options --with-msvc and
--with-mssdk. And --no-cygwin option to make build of STLport using -mno-cygwin
option easier.
* stlport/script_config.h: New header used to put additionnal macros defined
by the configure script.
* stlport/stl/_config.h: Add script_config.h include.
* stlport/config/stl_gcc.h: Use of the new _STLP_NO_CYGWIN macro to set
the right _STLP_NATIVE_INCLUDE_PATH macro value.
* build/Makefiles/gmake/gcc.mak: Change CC and CXX assignment from := to
?= to take into account an already existing definition.
2005-09-07 Francois Dumont <dums@stlport...>
* build/Makefiles/gmake: Adopt a more traditionnal unixes naming
convention for cygwin and mingw.
* build/Makefiles/nmake: Attempt to make STLport library names more
coherent between unixes and windows systems. Now windows use the 5.0
extension like under unixes even if under unixes the file extension
is before the 5.0 and under windows it will be after. The other
difference is that the debug suffix is 'g' when using gcc and 'd' for
the other compilers. This modification comes from a work to improve
STLport integration within boost build system, bjam.
* stlport/config/stl_msvc.h: Modify MSVC auto link feature to reflect
above modifications.
2005-09-06 Francois Dumont <dums@stlport...>
* stlport/config/stl_gcc.h: Fix cygwin config that do have native
mbstate_t definition.
2005-09-05 Petr Ovtchenkov <complement@users.sourceforge.net>
* repository: RC5, tag STLPORT_5_0_RC5
2005-09-04 Petr Ovtchenkov <complement@users.sourceforge.net>
* build/Makefiles/gmake/targetdirs.mak: in sh's built-in 'test' no -e
option on Solaris, use external 'test' instead.
* build/test/unit/gcc.mak: Fix LDSEARCH recursive problem; fix
options for ld search path for some platforms.
* stlport/cstdlib, stlport/stl/_cmath.h: fix usage of native
?f and ?l math functions on Solaris; hypot for long double should't
loose precision, if no native C function present.
2005-09-02 Francois Dumont <dums@stlport...>
* stlport/config/stl_msvc.h, stl/_move_construct_fwk.h: Add the
_STLP_NO_MOVE_SEMANTIC configuration macro to remove move semantic
support for MSVC .Net 2002 that seems to be unable to support it.
Maybe we should rather remove this compiler version support...
* test/unit/mvctor_test.cpp: Add _STLP_NO_MOVE_SEMANTIC check.
2005-08-31 Francois Dumont <dums@stlport...>
* build/Makefiles/nmake: Enhance nmake build system to correctly take
into account the .manifest files generated by VS 2005 Beta.
2005-08-29 Petr Ovtchenkov <complement@users.sourceforge.net>
* CVS repository: CVS repository master copied from cvs.stlport.com to SourceForge.
All history preserved!
2005-08-27 Francois Dumont <dums@stlport...>
* stlport/stl/_hashtable.h: Fix move feature integration for the hash_multimap
container.
* stlport/stl/_deque.h: Fix _Deque_base move constructor implementation.
* test/unit/mvctor_test.cpp: Change move constructor tests to use dynamically
allocated string rather than static ones.
* build/test/unit/nmake-vc6.mak: Increase compiler maximum heap size to allow
compilation with stldbg rules.
* build/test/unit/nmake-evc4.mak: Fix macro typo OPT_STLDBG_STATIC ->
OPT_STATIC_STLDBG
* build/Makefiles/gmake/gcc.mak: Filter out the newly added -fuse-cxa-atexit
compilation option for Cygwin and Mingw, the granted libc is not compatible
with it.
2005-08-26 Petr Ovtchenkov <ptr@island...>
* stlport/config/stl_solaris.h: C++ comments replaced by C ones,
this file may be included by C sources. Thanks Matti Rintala.
2005-08-25 Francois Dumont <dums@stlport...>
* stlport/stl/_config.h, _epilog.h: Move of stlport namespace alias
definition from _epilog.h to _config.h to avoid redefinition as _epilog.h
is reentrant. This is a workaround for a HPUX aCC compiler bug reported
by Baker.
2005-08-25 Petr Ovtchenkov <ptr@island...>
* build/Makefiles/gmake/gcc.mak: usage of -fuse-cxa-atexit strongly
required for correct order of static objects dtors calls. This is
used in deinitialization of locale-related objects. Thanks Matti Rintala.
* stlport/stl/_config.h: use different namespaces for mulithreaded
and non-multithreaded builds to avoid usage of non-multithreaded
application with multithreaded libstlport and vice versa;
[combination non-mt & mt lead to crash due to different instances
and sizes of allocators for non-mt and mt cases].
2005-08-23 Francois Dumont <dums@stlport...>
* stlport/stl/_config_compat.h: Add check of _STLP_NO_OWN_IOSTREAMS
macro to make remove of its support more explicit thanks to a #error
directive.
* stlport/stl/_tree.h, _hashtable.h: Now reference and pointer types
are taken from the _Traits template parameter used to instanciate
the class. Doing so now set::reference and hash_set::reference are
const_reference which is coherent with respective iterators that are
immutable. Moreover it fixes a VC6 bug in reverse_iterator implementation
that was trying to transform a const reference to a simple reference
thanks Russell Miller report.
* test/unit/set_test.cpp: New test case for set reverse_iterator.
2005-08-23 Petr Ovtchenkov <ptr@island...>
* stlport/config/stl_gcc.h: seems HP-UX has no *f variants of math
functions [ceilf, fabsf, etc.]
2005-08-21 Francois Dumont <dums@stlport...>
* stlport/stl/_string.h, _rope.h: Removed __move_traits specialization
for string wstring crope and wrope. There is no reason to believe that
its move construtor will be complete as an STLport user has the right
to specialized the std::allocator<> with char or wchar_t.
* stlport/stl/_function_base.h, _alloc.h: Generalized use of the
__stlport_class struct rather than introducing a new helper type
(__stlport_less or __stlport_alloc) when we need to recognize STLport
implementation from a user one.
2005-08-20 Francois Dumont <dums@stlport...>
* stlport/stl/_list.h, _slist.h: Fix move constructor implementation
thanks Henrik Goldman (www.x-formation.com) report.
* stlport/stl/_alloc.h: Fix type_traits specialization for allocator
type. Now specialization is only apply for the default STLport allocator
implementation and not for potential user specialization.
* stlport/stl/_deque.h, _hashtable.h, _string.h, _tree.h, _vector.h:
Simplification of the move framework application especially in the
definition of the containers __move_traits specialization. Many
_AsMoveSource call replaced by explicit call to the move constructor
when we are sure that there is one.
* test/unit/mvctor_test.cpp: Add many tests to check move contructor
implementations.
* stlport/stl/_function_base.h: Add type_traits specialization for the
less functor to help the move framework when dealing with associative
containers.
* test/unit/mvctor_test.cpp: Add a new test case checking correct move
semantic support for all STL containers.
* stlport/stl/_rope.h: Add move semantic support to the rope class.
2005-08-19 Petr Ovtchenkov <ptr@island...>
* build/Makefiles/gmake/gcc.mak: fix extraction of gcc version.
Thanks Thomas Kho.
2005-08-18 Francois Dumont <dums@stlport...>
* stlport/stl/_deque.c: Fix _M_erase range for movable types method
implementation, same bug as below in vector.
* test/unit/mvctor.cpp: Improve test case on vector to reveal bug
below and add same tests for deque which is the other container that
use the move contructor feature.
2005-08-18 Petr Ovtchenkov <ptr@island...>
* INSTALL: add some words about multithread options and libraries.
* stlport/stl/_fstream.c: some code clean to reduce bogus compiler
warnings with -Wall.
* stlport/config/stl_gcc.h: seems HP-UX has no llabs and lldiv.
2005-08-17 Francois Dumont <dums@stlport...>
* stlport/stl/_vector.h: Fix _M_erase range for movable types
implementation thanks Sergej Zagursky.
* build/Makefiles/nmake/vc8.mak: removed /RTC1 compiler option, the platform
SDK compiler do not support it. STLport users will just have to activate it
by themself if they want to.
* stlport/stl/_complex.h: Fix some floating point literals thanks
Ulrich Eckhardt report.
* stlport/stl/_time_facets.c: Complete integration of the '#' MS extension
in the date/time format string, reported thanks to the recent locale time_get
new test case.
2005-08-14 Francois Dumont <dums@stlport...>
* stlport/config/stl_msvc.h: Fix platform SDK compiler config, even latest
version that announce to be similar to .Net 2005 beta do not throw bad_alloc
from the new operator.
* stlport/cstdio, cstdlib: Replaced some _WIN64 checks by a
_STLP_USING_PLATFORM_SDK_COMPILER check.
* test/unit/cmath_test.cpp: Complete test filtering for Microsoft platform SDK
compiler.
2005-08-14 Petr Ovtchenkov <ptr@island...>
* test/unit/locale_test.cpp: tests for time_get facet.
* stlport/stl/_time_facets.c: fix processing of %p format
[12:00 PM ~ 12:00, 12:00 AM ~ 00:00].
* src/time_facets.cpp: substitute expanded equivalent format strings
instead of %T, %R, %r.
* stlport/pthread.h: Fix C++ comment in a potentially C header. Thanks Ali
2005-08-11 Francois Dumont <dums@stlport...>
* stlport/stl_user_config.h: Add _STLP_USING_PLATFORM_SDK_COMPILER so that
STLport user can signal they are using platform SDK compiler.
* stlport/config/stl_msvc.h: Add use of _STLP_USING_PLATFORM_SDK_COMPILER.
* test/unit/cmath_test.cpp, valarray_test.cpp: Removed tanh calls when using
AMD 64 platform SDK compiler, looks like they miss something...
2005-08-09 Francois Dumont <dums@stlport...>
* src/fstream.cpp: Final fix of basic_filebuf::open method. Now when open
from a Win32 handle the file will be considered as in binary access with no
append action.
2005-08-08 Francois Dumont <dums@stlport...>
* src/fstream.cpp: Fix annoying 64 warning and basic_filebuf::open method
from a low level file descriptor or from an HANDLE (not yet complete).
Thanks Yves Maliet report.
2005-08-07 Francois Dumont <dums@stlport...>
* test/unit/inner_product.cpp: Fix 64 bits portability warning.
* test/unit/cmath_test.cpp: Removed modf tests for Windows 64 platform
as the SDK is missing the underlying modff implementation.
* stlport/cstdlib: Add a div function definition which is missing in the
Windows 64 SDK.
* stlport/cstdio: Add vsnprintf definition which is missing in Windows
64 SDK.
* stlport/exception: Add flexibility for definition of vendor terminate
and uncaught_exception function namespace. Can now be defined independantly
of the unexpected_exception namespace.
* src/dll_main.cpp: Removed explicit turn off of optimization for Microsoft
compilers after .Net 2003. There were no comment to explain why optimizations
were turned off so I guess it was a compiler bug. .Net 2003 being a major
new version I hope this bug has vanish with this version.
* src/fstream.cpp: Removed static assertion for windows file handle to be 32
bits. Under Windows 64, even if the API is still 32 bits handles are still
defined as void*. We will see when code will run under a real Windows 64 platform
if it is a problem.
* stlport/config/stl_msvc.h: Add configuration for Windows 64 Platform SDK.
Expecially add automatic link to bufferoverflowU.lib to avoid modification
of STLport build system and STLport users projects.
2005-08-06 Petr Ovtchenkov <ptr@island...>
* src/c_locale_glibc/c_locale_glibc2.c: add explicit type conversion
to avoid warnings on 64-bits platforms; thanks Thomas Kho and
Karol Szkudlarek for report.
2005-08-05 Francois Dumont <dums@stlport...>
* stlport/stl/_valarray.h: Add missing _debug.h header inclusion for
_STLP_ASSERT macro definition.
* stlport/stl/debug/_hashtable.h: Fix typo in hashtable move constructor.
Thanks arabesc report.
2005-08-05 Petr Ovtchenkov <ptr@island...>
* doc/FAQ: some words about cross-compilation.
2005-08-04 Francois Dumont <dums@stlport...>
* stlport/stl/_hashtable.c: Fix erase(range) implementation thanks
arabesc.
* test/unit/hash_test.cpp: Add new test for previous fix.
2005-08-04 Petr Ovtchenkov <ptr@island...>
* stlport/csetjmp: sometimes, if native setjmp.h was included first,
the setjmp functions situated in global namespace, not in vendor's
std. This may confuse following csetjmp.
* test/unit/setjmp_header_test2.cpp: test for this.
* build/test/unit/Makefile.inc: ditto.
2005-08-03 Francois Dumont <dums@stlport...>
* INSTALL document updated to signal no longer support of the
'wrapper' mode.
2005-08-02 Petr Ovtchenkov <ptr@island...>
* stlport/stl_user_config.h, stlport/stl/_site_config.h:
fix some obsolete comments.
2005-07-31 Petr Ovtchenkov <ptr@island...>
* test/unit/math_aux.h, cmath_test.cpp: are_equals moved into
math_aux.h to reuse in other tests.
* test/unit/sstream_test.cpp: check input to float, inspired by
Jeff Williams.
2005-07-27 Francois Dumont <dums@stlport...>
* stlport/iomanip, stl/_algo.h: Removed some persistent occurences
of __in and __out keywords reserved by Microsoft.
* stlport/stl/_pthread_alloc.c: Fix annoying warning reported by gcc.
* stlport/config/stl_msvc.h: Fix _STLP_VENDOR_UNEXPECTED_STD macro
definition to empty rather than '1'. Could have produce a compilation
error with compilers like Intel C++ used with the VC6 native Standard
library.
* stlport/queue, stl/_ctraits_fns.h, _hashtable.h, _numeric.h, _string.h
_tree.h: Fix macro guards used to avoid inclusion of _function.h or
_function_base.h or functional thanks Dinesh Monga report.
2005-07-26 Petr Ovtchenkov <ptr@island...>
* doc/FAQ: description of pseudo-leaks, thanks Michael Fink.
* STLport (repository): STLport 5.0 RC4
2005-07-25 Francois Dumont <dums@stlport...>
* stlport/config/stl_evc.h: Move _DEBUG definition fix up before
stl_msvc.h inclusion to have correct library link automatically.
Thanks Michael Fink.
2005-07-24 Francois Dumont <dums@stlport...>
* stlport/stl/_string.c, _rope.c: Add instanciation of npos for all
compilers thanks Simon.
* test/unit/string_test.cpp: Add creation of a reference to string::npos
to force compiler to generate memory for it. Used to reveal a link error.
* test/unit/cppunit/cppunit_mini.h: Removed redondant semi column in
CPPUNIT_TEST_SUITE_REGISTRATION macro definition.
* stlport/config/stl_msvc.h, stl_intel.h: Concidering that compilers
emulating MSVC compilers use the same native Standard Library headers
macros _STLP_NEW_PLATFORM_SDK and _STLP_NO_VENDOR_STDLIB_L has been moved
outside the _STLP_MSVC scope. _STLP_GLOBAL_NEW_HANDLER is now defined
only for Intel compiler versions before 9.0.
* stlport/cstdlib, stl/_cmath.h: Because of the previous remark about
emulators of MSVC using MSVC headers, macro checks for global definition
of C math functions has been changed from _STLP_MSVC to _MSC_VER.
2005-07-23 Michael Fink <vividos@users.sourceforge...>
* test/unit/locale_test.cpp: Added creating locale pointer in
test_supported_locale() when no exception handling is available.
* src/stlport.rc: Added version info defines when not available through
windows.h. Happens on evc3 MIPS and evc3 SH3.
2005-07-23 Francois Dumont <dums@stlport...>
* stlport/stl/_string_sum.h: Fix missing return statement in a compare
method.
2005-07-22 Francois Dumont <dums@stlport...>
* stlport/stl/_algo.c: Fix search_n implementation for random access
iterator thanks Jim Xochellis
* test/unit/algo_test.cpp: Add test case for the previous bug thanks
Michael Fink.
* src/num_get_float.cpp: Fix gcc Mingwin and Cygwin special version with
building with -O2 option.
* build/Makefiles/gmake/gcc.mak: Add -D_REENTRANT definition for cygwin and
-mthreads for mingwin platform to make STLport thread safe like under the
other supported platforms.
2005-06-30 Petr Ovtchenkov <ptr@island...>
* stlport/wchar.h, src/c_locale.c, stlport/stl/_threads.h: fix Netware
wcs... functions.
2005-06-30 Francois Dumont <dums@stlport...>
* stlport/stl/_rope.h, _rope.c: Duplicate basic_string::npos definition code
in rope implementation to use a "Standard" static const npos definition when
possible depending on the compiler features. Thanks caldwed report.
2005-06-30 Michael Fink <vividos@users.sourceforge...>
* stlport/cstdlib, stdlib.h: Fixed issue with including stdlib.h after
setjmp.h; fix from 2005-06-23 wasn't solving the problem.
2005-06-28 Francois Dumont <dums@stlport...>
* stlport/stl/_hash_func.h: For MSVC .Net compiler we grant the hash<size_t>
specialization rather than the hash<unsigned int> one to avoid 64 bits
warnings when instanciating a hashed container with the size_t key.
* stlport/stl/_istream_iterator.h: Modify istream_iterator implementation
to avoid the default read from the istream even if the istream_iterator
instance is not used.
* test/unit/istmit_test.cpp: Add many tests for the copy_n/istream_iterator
combination. Those tests are no active for the moment as they are failing,
will be fixed after 5.0 release.
* build/test/unit/nmake-vc-common.mak: Tests are no more built with the
_STLP_NO_CUSTOM_IO option, see reason below.
* test/unit/fstream_test.cpp: Add custom_facet test to check that STLport
support instanciation of basic_fstream with something else that the std::char_traits
For the moment the test fail when we try to use the stream for I/O operations
should be fixed after 5.0 release.
2005-06-27 Francois Dumont <dums@stlport...>
* src/locale_impl.cpp: Fix locale implementation to avoid to call facet
destructor when user explicitely required not to do so.
* stlport/stl/_fstream.c: Fix _M_setup_codecvt method implementation to avoid
a bad_cast exception on basic_filebuf construction. At this point the locale
used to instanciate it is the classic locale that might not have the necessary
codecvt facet. The user is then force to call imbue after basic_filebuf
construction otherwise I/O operations will fail. When imbue is invoked, if
the locale still do not have the necesary facet, the stream is put in the fail
state. Thanks Alexander Pototskiy
2005-06-26 Francois Dumont <dums@stlport...>
* stlport/stl/_config_compat.h: Add _STLP_OWN_IOSTREAMS macro for backward
compatibility with library checking it.
2005-06-23 Francois Dumont <dums@stlport...>
* src/complex.cpp, complex_trig.cpp, complex_exp.cpp: Removed code
duplication between float, double and long double version thanks to
some template functions. Thanks an Ulrich Eckhardt idear.
* stlport/cstdlib, stl/stdlib.h: Michael Fink patch to avoid setjmp.h
inclusion problem as stdlib.h contains a setjmp macro definition.
* test/eh/main.cpp: Redirection of std::cout and std::cerr for WinCE
thanks Michael Fink
* stlport/config/stl_evc.h: Restore long double support for WinCE, there
is just no *l math functions. Only define _STLP_NATIVE_INCLUDE_PATH
if not already defined, giving the user a chance to override the defaults
for yet unknown SDKs. Thanks Michael Fink and Ulrich Eckhardt.
* build/Makefiles/nmake/evc3.mak, evc4.mak: removed unneeded set of CC
for SHx; already done by setup batch. Thanks Michael Fink.
2005-06-21 Francois Dumont <dums@stlport...>
* stlport/stl/_ios.h, _ios_base.h, _num_get.c, _num_put.c, _complex.c,
_istream.c, _time_facets.c: Fix cast expression for the cached facets,
C casts replaced by static_cast and const added when missing.
Thanks Oliver Stoeneberg report.
* test/unit/unary.h: Replaced old STLport with new style ones. Get sqrt
function in global namespace rather than forcing use of the one in std
namespace, avoids ambiguity with VC6.
* test/unit/resolve_name.cpp: Add _STLP_DO_IMPORT_CSTD_FUNCTIONS definition
at the top of it to force import of C symbols in std even for limited
compilers like VC6.
* stlport/stl/_valarray.h: Add global namespace scope to C function calls
to avoid VC6 ambiguity problem.
2005-06-20 Francois Dumont <dums@stlport...>
* stlport/config/stl_gcc.h: Fix gcc 3.4.4 detection under cygwin thanks
Ulrich Eckhardt report.
* stlport/stl/c_locale.h: Fix _Locale_mask_t definition for Mingwin.
* src/c_locale_win32/c_locale_win32.c: Add static assertion to check
_Locale_mask_t size.
* src/complex_exp.cpp: Replaced complex log10 function static variables
with global constant, avoid multithreaded init problem. Thanks Ulrich
Eckhardt report.
2005-06-17 Francois Dumont <dums@stlport...>
* stlport/stl/_alloc.h: Add initialization of the memory buffer in
allocator::allocate function and reset in allocator::deallocate to
the _STLP_SHRED_BYTE motif when _STLP_DEBUG_UNINITIALIZED is defined
to help track missing initialization issue.
* src/dll_main.cpp: Removed now useless _Node_alloc_helper class.
* stlport/stl/_alloc.c: Add complete cleanup of the __node_alloc static
datas in the _S_chunk_dealloc method, this is important if the clean up
occur before STLport shared lib is unloaded.
* stlport/stl/_alloc.c: Add a static instance of __node_alloc_cleaner in the
_S_alloc_call method and change init number of allocation to 1 to force
release of memory pool only on shared library unload.
2005-06-11 Francois Dumont <dums@stlport...>
* stlport/cstdlib, stl/_cmath.h: Add _STLP_NO_CSTD_FUNCTION_IMPORTS macro
check before import of global C functions in STLport namespace. Required
for VC6 compiler to avoid ambiguity issue.
* src/complex.cpp, complex_epx.cpp, complex_trig.cpp: Scope math function
call with the global namespace to avoid VC6 ambiguity issue. It is safe
for the other compilers as STLport do define those function in global
namespace.
2005-06-10 Francois Dumont <dums@stlport...>
* stlport/stl/c_locale.h: Fix Cygwin configuration, separate alpha mask
from lower and upper one to avoid all lower character to also be upper
and opposite.
* src/ctype.cpp: Add static assertion to detect platform where
alpha = lower | upper which is wrong for STLport use.
2005-06-10 Francois Dumont <dums@stlport...>
* stlport/stl/_hashtable.c: Fix max_load_factor management, Standard says
that load_factor <= max_load_factor and not <; the function detecting need
for rehash used to launch one even if the number of bucket do not change which
was counter performant. Fix the _M_insert_noresize method that was breaking
element order inserting elements in the middle of 2 equal elements.
Thanks Dieter Freismuth report.
* stlport/config/stl_gcc.h: Fix relative include path for latest gcc cygwin
package.
2005-06-10 Petr Ovtchenkov <ptr@island...>
* build/Makefiles/gmake/mwccnlm.mak: fix compiler version collection.
* build/Makefiles/gmake/netware/extern.mak: fix useful paths.
* src/c_locale.c: put here wrappers for some wfuncs, due to bogus
system libs in Netware.
* stlport/cwchar: use STLport's wchar.h to take wchar_t/wint_t for
Netware.
* stlport/wchar.h: use correct C declaration of some wfuncs, thanks
again to ugly Netware libs.
* stlport/ciso646, stlport/iso646.h, stlport/wctype.h: headers absent
for Novell Netware.
* stlport/cwctype: Metrowerks define __MSL__, but we don't use MSL libs
if we have STLport for Netware.
* stlport/cstdlib: div function from Novell Netware clib and libc lead to
system crash.
2005-06-08 Francois Dumont <dums@stlport...>
* build/test/unit: Removed references to the now useless CPPUNIT_MINI
macro.
* test/unit/type_traits_test.cpp: Add new test case for trivial destructor
detection.
* stlport/stl/_fstream.h: Add missing basic_fstream construction from a
Win32 file handle, was already done for basic_ifstream and basic_ofstream,
thanks Alex Cosealin report.
2005-06-07 Francois Dumont <dums@stlport...>
* build/test/unit/Makefile.inc: Fix syntax error at last line.
2005-06-06 Petr Ovtchenkov <ptr@island...>
* build/lib/configure: add config options for Metrowerks compiler for
Novell NetWare platform [references to root of MW headers/libs and to Novell's
SDK headers/libs].
* build/Makefiles/gmake/mwccnlm.mak: fixes for Metrowerk/NetWare.
* build/Makefiles/gmake/app/mwccnlm.mak: idem.
* build/Makefiles/gmake/netware/extern.mak: idem.
* build/lib/mwccnlm.mak: idem.
* build/test/unit/mwccnlm.mak: idem.
2005-06-03 Francois Dumont <dums@stlport...>
* test/unit/locale_test.cpp: Remove the very platform dependent LColl
class that was listing supported locales. STLport already do so and
report it using a runtime_error exception when not supported. When
compiler do not support exception only the C locale is checked.
* build/Makefiles/nmake: Patches from Michael Fink to
- check platform before linking to crtrtti.lib
- check right configuration when using a nmake-evc?.mak file
- update STATUS file.
2005-06-02 Francois Dumont <dums@stlport...>
* src/c_locale_win32/c_locale_win32.c: Add workaround for a Windows PSDK bug
concerning currency international symbol, the separation character is missing.
* src/locale_impl.h, locale_impl.cpp: Fix implementation to make classic locale
implementation a normal instance that is released when the counter reach 0, the
only difference is that no delete is performed on this instance. Idem for classic
locale implementation facets.
* stlport/cwctype: And _GLIBCPP_USE_WCHAR_T check when using GLibC as in this
case wide char functions are not imported in std and must be imported from the
global namespace.
2005-06-01 Francois Dumont <dums@stlport...>
* src/locale_impl.h, locale_impl.cpp: Change classic locale initialization
implementation for limited compiler like MSVC6.
2005-06-01 Petr Ovtchenkov <ptr@island...>
* stlport/stl/c_locale.h: check gcc on MacOS X. Patch by Zdenek Nemec
* build/Makefiles/nmake/evc3.mak, evc4.mak, targets.mak:
support SH3/SH4 platform. Patch by Michael Fink.
* build/Makefiles/nmake/app/evc3.mak, evc4.mak: ditto.
* build/Makefiles/nmake/lib/evc3.mak, evc4.mak: ditto.
* build/lib/configure.bat, src/stlport.rc: ditto.
2005-05-30 Francois Dumont <dums@stlport...>
* src/locale_impl.h, locale_impl.cpp, stlport/stl/_locale.h: An other pass
throught the classic locale initialization. Now all needed static variables
are in _Locale_impl::make_classic_locale method. Removed useless _Stl_aligned_buffer
union use in this locale initialization. Removed now useless _Locale_impl::free_classic_locale
method.
2005-05-30 Petr Ovtchenkov <ptr@island...>
* stlport/stl/_windows.h: worry about Windows CE when check Interlocked
API for MIPS. Patch by Michael Fink.
* build/lib/configure.bat: remove the -p option by autodetecting platform.
Patch by Michael Fink.
* build/Makefiles/nmake/evc3.mak, evc4.mak: corrects the evc4 makefiles
to always use the /GF switch [string pooling]. Patch by Michael Fink.
* doc/README.evc3, doc/README.evc4: reflect changes above.
Patch by Michael Fink.
* stlport/errno.h, stlport/time.h: when building for evc, including
errno.h and time.h often outputs the message in the #pragma statement
that including this file won't include the native one, since there is no
native include file. Now the text is only output when not building the library
and when the file is included directly, not via another STLport header file.
[Patch by Michael Fink.]
2005-05-29 Francois Dumont <dums@stlport...>
* test/unit/locale_test.cpp: Add opendir returned value when listing
installed locale under linux.
* build/Makefiles/gmake: Patch from Zdenek Nemec for Mac OS X support.
2005-05-27 Francois Dumont <dums@stlport...>
* src/locale_impl.cpp: Add an initialization segment specification to make
global static variable ios_base::Init instance initialization prioritized
compare to STLport static global variable. iostreams like cout can be used
in global static variable initialization.
2005-05-26 Francois Dumont <dums@stlport...>
* build/Makefiles/nmake/evc4.mak: Patch from Ulrich Eckhardt to use CC
environment variable defined by WCE*.bat script rather than redefining
it.
* src/locale.cpp, locale_impl.cpp, locale_catalog.cpp: New pass to move
static global variable in function to make initialization order clear.
2005-05-25 Francois Dumont <dums@stlport...>
* stlport/ciso646: Creation of this missing C++ standard header STLport
wrapper.
* stlport/stl/_istream.h, _num_get.c, _algo.c, _monetary.c, _time_facets.h,
_time_facets.c: Replaced occurences of __in and __out reserved by Microsoft.
2005-05-24 Francois Dumont <dums@stlport...>
* stlport/headers: Patch from Michael Fink to avoid inclusion of headers
not available under evc3.
* test/unit/*_header_test.cpp: Fix tests for no iostreams mode.
* src/locale_impl.cpp, locale_impl.cpp: Modify implementation to force
correct initialization order of static instances.
* stlport/strstream: Add _ioserr.h file to avoid inclusion in no iostreams
mode.
2005-05-23 Petr Ovtchenkov <ptr@island...>
* stlport/stl/_config.h: detect endianness for Intel's 64bit Pentium and
Itanium processors. Thanks Albrecht Fritzsche for contribution.
2005-05-20 Francois Dumont <dums@stlport...>
* build/test/eh: Patch from Michael Fink to add EVC4 support for this test
suite.
* src/fstream.cpp: Use of Wlodek Szafran implementation for the _Filebuf_base::_M_read
method which is more performant than the previous one.
* test/unit/fstream_test.cpp: Add of a test for the special Win32 file format.
* test/unit: Add of many test to check Standard C/C++ headers independancy
and correct C header implementation.
2005-05-18 Francois Dumont <dums@stlport...>
* src/fstream.cpp: Fix buffer overflow in _Filebuf_base::_M_read method
for the Win32 platform implementation thanks Wlodek Szafran report.
* src/c_locale_dummy/c_locale_dummy.c: Patch from Michael Fink for wrong C
prototype.
2005-05-17 Petr Ovtchenkov <ptr@island...>
* test/unit/locale_test.cpp: some fixes in moneypunct test, related
to international currency format; some problems still remains, due to
unclear specifications---if international currency 3-chars abbreviation
used in suffix form, additional space will be appended
['1 234.56 RUR ']. This is due to intl_fmp.curr_symbol() == "RUR ",
and the last is conform to OpenGroup spec.
2005-05-16 Petr Ovtchenkov <ptr@island...>
* src/c_locale_stub.cpp: "stub" implemntation moved into
c_locale_dummy/c_locale_dummy.c, this file removed
* src/c_locale.c: include c_locale_dummy/c_locale_dummy.c, in case of
no real locale implementation.
* src/c_locale_dummy/c_locale_dummy.c: This is a "stub" implementation
of the "c_locale.h" interface, intended for operating systems where
we have not yet written a real implementation. A C++ library using
this stub implementation is still standard-conforming, since
the C++ standard does not require that any locales other
than "C" be supported.
* build/lib/Makefile.inc: src/c_locale_stub.cpp removed.
* src/facets_by_name.cpp: add comments in the _Init_monetary_formats.
* src/c_locale_glibc/c_locale_glibc2.c: annotate some monetary-related
functions.
2005-05-14 Petr Ovtchenkov <ptr@island...>
* build/Makefiles/gmake/aCC.mak: HP's aCC compiler and HP-UX os support.
This isn't really checked and should be fixed on real system.
* build/Makefiles/gmake/app/aCC.mak, gmake/lib/aCC.mak: ditto.
* build/Makefiles/gmake/hp-ux/extern.mak, lib.mak: ditto.
* build/Makefiles/gmake/hp-ux/rules-install-so.mak, rules-so.mak: ditto.
* build/Makefiles/gmake/hp-ux/gmake/hp-ux/sys.mak: ditto.
* build/lib/aCC.mak: ditto.
* build/test/unit/aCC.mak: ditto.
* build/test/unit/gcc.mak: remove dbg-shared tag from default build;
if you need unit tests with debug info and without _STLP_DEBUG, make this
tag explicitly.
2005-05-14 Francois Dumont <dums@stlport...>
* stlport/stl/_config.h, _config_compat_post.h, _cwchar.h, _epilog.h:
Patch from Albrecht Fritzsche to remove C++ comment from files accessible
by a pure C compiler.
* stlport/stl/c_locale.h: idem.
* src/c_locale.h, c_locale_glibc/c_locale_glibc2.h: idem.
* src/gcc_localeinfo.h, c_locale_win32/c_locale_win32.c: idem.
* build/Makefiles/gmake/gcc.mak: Add the -ansi option to the C compiler
command to know if any regression occur concerning use of C++ comment
in C files.
2005-05-13 Francois Dumont <dums@stlport...>
* src/c_locale_win32/c_locale_win32.c: Improve the locale name recognition
system to be more unix compliant. Now you can pass locale name like
lang_country[.codepage] with lang being one of the ISO 639 values and
country one of the ISO 3166 ones.
* test/unit/locale_test.cpp: Add a test case for the ctype facet.
* test/unit/locale_test.cpp: Now list all the installed locales under
Win32 to test more locale than the simple french one.
* stlport/config/stl_msvc.h: Removed _WINDLL macro check when trying
to guess what type of library (dynamic/static) the STLport user want
to link with. _WINDLL is defined when generating a dll but it do not
imply anything on the user wish.
* src/ctype.cpp: Improve the ctype::scan_is method, you can now scan
for a character conforming to several ctype_base::mask and not only to one.
* src/ctype.cpp: Idem previous for ctype::scan_not which returns the first
character that do not conform to any of the passed mask.
* test/eh: Restore exception handling test suite. Removed some equality
tests that is no more valid for hash containers, this kind of test
is better in the unit tests. Add makefiles for MSVC compilers.
* stlport/stl/_tree.c: Fix _M_insert method that was leaking in case of
exception thrown by the comparison operator, reported by eh tests.
2005-05-09 Francois Dumont <dums@stlport...>
* stlport/stl/_ctype.h, src/ctype.cpp: Reenforce data encapsulation of the
ctype<char> template specialization class. class static arrays
_S_upper, _S_lower, _S_classic_table removed from the definition and hiden
in the .cpp file.
* src/dll_main.cpp: Change _STLP_UNIX macro check in _STLP_PTHREADS check
as per thread allocator is only supported if the Posix pthread API is used,
thanks a Albrecht Fritzsche remarked.
2005-05-07 Francois Dumont <dums@stlport...>
* stlport/config/stl_gcc.h: Patch from John Smith for Mac OS X support.
* test/unit/locale_test.cpp: Idem previous.
* build/Makefiles/gmake/cygming/lib.mak, sys.mak: Import lib extension
change from .lib to .dll.a for Mingw like under Cygwin. ld linker
looks for .dll.a before .lib, avoid conflict with Cygwin lib.
2005-05-07 Petr Ovtchenkov <ptr@island...>
* stlport/errno.h: use C++ 'using' construction only for C++. Thanks Gary.
* build/Makefiles/gmake/lib/gcc.mak: option for libname for Darwin.
* build/Makefiles/gmake/app/mwccnlm.mak: build for Novell NetWare 5
with MetroWerks 7 and 8 compilers.
* build/Makefiles/gmake/lib/mwccnlm.mak: ditto
* build/lib/mwccnlm.mak: ditto
* build/Makefiles/gmake/mwccnlm.mak: ditto
* build/Makefiles/gmake/netware/extern.mak: ditto
* build/Makefiles/gmake/netware/lib.mak, sys.mak: ditto
* src/_stdio_file.h, num_get_float.cpp, num_put_float.cpp: ditto
* stlport/cstdio, cwchar, cwctype, stdio.h, wchar.h: ditto
* stlport/config/stl_mwerks.h: ditto
* stlport/stl/_config.h, _fstream.h, _hashtable.c, _sstream.c: ditto
* stlport/stl/_threads.h, c_locale.h, char_traits.h: ditto
* build/Makefiles/gmake/sysid.mak: treat mwccnlm as cross-compiler,
set correct TARGET_OS and OS-related macros.
* stlport/stl/_valarray.h: remove exhaustive this->.
2005-05-04 Francois Dumont <dums@stlport...>
* stlport/config/stl_msvc.h: Change configuration for MSVC .Net 2003 and
2005 that seems to have a bug in the namespace management.
* stlport/stdlib.h: Add errno.h inclusion from this file for gcc mingw
as this compiler version do define errno macro in stdlib.h as MSVC do.
2005-05-03 Francois Dumont <dums@stlport...>
* stlport/stl_user_config.h, stl/_site_config.h, config/stl_gcc.h, _prolog.h,
_epilog.h: Use strict Ansi C comments (/**/) for headers accessible thought
the STLport C headers.
* stlport/C headers: Cleaned from C++ style comments.
2005-05-02 Francois Dumont <dums@stlport...>
* build/Makefiles/nmake/vc-common.mak: Restore of LDFLAGS_A_REL introduce
the 2004-10-30 and lost the 2005-04-16, it avoids warning due to use
of the whole program optimization with VC.Net 2003 and 2005.
* stlport/stl/_string_io.c: Modification of the basic_string i/o operators
in the way it deals with the size_type and streamsize difference; it is
equivalent with the former one but do not generate warning with gcc
(mingwin).
* stlport/stddef.h, stdlib.h, errno.h: Fix issue under MSVC compilers where
native stdlib.h and stddef.h are defining errno macro without including
errno.h forbiding STLport to do so. Now errno.h will report this problem with
an explicit #error.
* test/unit/test_errno.cpp: Improvement of the test to reveal the previous
issue.
2005-05-02 Petr Ovtchenkov <ptr@island...>
* makesystem (repository): restore experimental support of MetroWerks
compiler for NetWare, with help of GNU make and Cygwin environment.
2005-04-29 Francois Dumont <dums@stlport...>
* stlport/stl/_time_facets.c: gcc warnings reveal that we were missing some
ctype::widen method call to compare things like month or day names.
Also simplified implementation of the __match and __get_formatted_time that
do not really need all the template parameters passed to it.
* stlport/stl/_num_put.c: Add a cast to make call to the function min more
clear, it will perhaps help EVC++ builds correctly.
* src/strstream.cpp, stlport/stl/_sstream.c: Removed static assertion
replaced by modified implementation that takes into account the difference
between size_t and streamsize.
2005-04-28 Francois Dumont <dums@stlport...>
* test/unit/limits_test.cpp: Improve integral types limit test for type
of unknown sign. In this case we check the min value of this integral type,
if 0 the type is unsigned. Moreover we check, except for the bool type,
the sign of -1 cast to the integral type, bool is a special type that
generate warning when built from -1 (MSVC).
* src/ctype.cpp: Creation of a small helper structure to check the validity
of a wchar_t value used as an index. This helper struct takes into account
the compiler representation of the wchar_t type, is it a sign type or not.
This helper avoids warning when wchar_t is unsigned.
* src/num_get.cpp: Removed unused _Initialize_get_digit function and
associated narrow_digits and narrow_xdigits arrays.
2005-04-28 Petr Ovtchenkov <ptr@island...>
* stlport/stl/_sstream.h, _num_put.c: __in replaced by __imode, __out
by __omode or __oi due to MS privatize __in and __out. Thanks Michael Fink.
2005-04-27 Francois Dumont <dums@stlport...>
* src/fstream.cpp: Fix Win32-64 file stream implementation. _M_read and
_M_write can now correctly handle respectively read and write of really
big buffers ( > 2Go)
* using/iosfwd.h, stlport/strstream.h, stl/_rope.h, _rope.c, _complex.h: Removed
references to the _STLP_USE_NEW_IOSTREAMS macro, STLport only support "new"
iostreams.
* test/unit/max_test.cpp, min_test.cpp: Add tests to check that min and
max are not defined as macros.
* test/fstream_test.cpp: Add check in creation of test_file.txt
as following tests depends on its content.
* src/strstream.cpp, stdio_streambuf.cpp: Fix potential issue because of
the difference between streamsize and size_t of ptrdiff_t.
Add static assertion to clearly specify how streamsize must be to have
a correct behavior.
* stlport/stl/_num_put.c, _num_get.c, _fstream.c, _moneraty.c: ditto.
* src/ctype.cpp: Restore check on wchar_t positivity as according
2005-02-22 Petr Ovtchenkov reports wchar_t can be signed.
2005-04-26 Francois Dumont <dums@stlport...>
* src/num_get_float.cpp: Fix mingwin support for 64bits integer type
thanks Wlodek Szafran
2005-04-25 Francois Dumont <dums@stlport...>
* stlport/stl/_time_facets.c: Fix __pos type in __match function and removed
unused __max_pos definition and initialisation.
* src/c_locale_win32/c_locale_win32.c: Add some cast to remove warnings.
* stlport/stl/_moneraty.c: Fix __witdh definition to use streamsize rather
than size_t to avoid warnings.
2005-04-25 Petr Ovtchenkov <ptr@island...>
* build/test/gcc.mak: workaround for [bug?] gmake, that sometimes lose
increment of target-specific macro and, may be, under condition.
Thanks Jeff Williams.
* build/Makefiles/gmake/icc.mak: add icc 8.1 compiler-specific libs
* build/Makefiles/gmake/icc.mak: detect icc version; add includes
from compiler to include path
* test/unit/cppunit/test_main.cpp, cppunit_mini.h: add option -x, run all
except specified CLASS::TEST.
2005-04-23 Francois Dumont <dums@stlport...>
* stlport/stl/_ioerr.h: #error message modification thanks Michael Fink.
2005-04-22 Francois Dumont <dums@stlport...>
* stlport/stl/_istream.c: Fix _M_read_buffered function implementation,
there used to be a wrong implicit conversion from streamsize to ptrdiff_t,
which fail when sizeof(streamsize) > sizeof(ptrdiff_t).
See 2005-04-21 Petr report.
* test/unit/: Replaced all _STLP_NO_IOSTREAMS occurences with the STLport
internal equivalent _STLP_USE_NO_IOSTREAMS. The first one is defined
by the client while the second depends on the first and on the compiler
abilities, makes the unit tests more portable.
* stlport/stl/_cmath.h: Fix for Intel C++ compiler that also have all
C math functions in global namespace.
2005-04-21 Francois Dumont <dums@stlport...>
* stlport/stl/_hashtable.h: Extend the hashtable template methods extension
to the method computing the bucket from the key thanks Dominik Siatkowski.
* stlport/stl/_threads.h: Disable 64 bits portability warning for
MSVC compilers. MSVC do not see that the called function comes from
a macro that is different under Win32 and Win64.
2005-04-21 Petr Ovtchenkov <ptr@island...>
* test/unit/sstream_test.cpp, fstream_test.cpp: integral type for
ptrdiff_t shorter than for streamsize; this cause problem on
Win32 platform, that support files larger than 4GB.
Thanks Timothy Tenebekov for report.
2005-04-20 Francois Dumont <dums@stlport...>
* stlport/stl/debug/_debug.c: Small Borland compiler fix to avoid call to
vsnprintf before version 0x550 thanks esanfo.
* src/dll_main.cpp: Fix bug reported by Intel C++ (icl) compiler.
2005-04-20 Petr Ovtchenkov <ptr@island...>
* src/num_get_float.c: use uint64_t for 64-bit, but unsigned long long
for constants. This fix problem on linux x86_64 [amd64].
2005-04-16 Francois Dumont <dums@stlport...>
* test/unit/cppunit/test_main.cpp: Patch from Michael Fink to improve
the macro filter for including windows.h (UNDER_CE rather than WIN32).
* build/test/unit/STATUS: Update from Michael Fink and myself.
* build/Makefiles/nmake: Apply Michael Fink patch to generate .pdb file
even in release mode and to install them in bin and lib folders next to
the .dll and .lib files.
* stlport/stl/_algobase.c: Add missing const in return type of the const
version of find specialized for const char*.
2005-04-16 Petr Ovtchenkov <ptr@island...>
* stlport/stl/_algobase.c: memchr return NULL if value not found,
while find() [specialization for char *] should return last
[see record 2005-02-27 below]. Thanks Joshua Berne for report.
* test/unit/find_test.cpp: if char not found, char specialization of
find() should return last, not NULL.
2005-04-14 Petr Ovtchenkov <ptr@island...>
* stlport/stl/_list.h, _slist.h: add this-> resolution to get_allocator
[required in the member templates to resolve possible ambiguity]
2005-04-13 Francois Dumont <dums@stlport...>
* stlport/stl/_list.h, _slist.h: Add missing get_allocator() call when
building temporary list or slist instances in insert methods.
2005-04-12 Petr Ovtchenkov <ptr@island...>
* stlport/errno.h: solution 2005-04-12 not useful. Simplified schema,
semantically equivalent to Francois', but without extra function definition
[see records 2005-03-31 and 2005-04-01]
2005-04-12 Petr Ovtchenkov <ptr@island...>
* stlport/errno.h: check if we undefine previously defined errno
2005-04-11 Petr Ovtchenkov <ptr@island...>
* stlport/errno.h: save original errno definition
2005-04-10 Petr Ovtchenkov <ptr@island...>
* STLport (repository): STLport 5.0 RC3
2005-04-08 Francois Dumont <dums@stlport...>
* test/unit/locale_test.cpp: Add __FreeBSD__ macro check for the workaround
announced as Free BSD specific by the comment next to it.
* stlport/stl/_config.h: Add undef of _STLP_USE_DYNAMIC_LIB when in
NO_IOSTREAMS mode, this macro was generating buggy code in this case
for some commpilers (gcc mingwin).
2005-04-07 Francois Dumont <dums@stlport...>
* build/lib/nmake-vc-common.mak: Removed useless add of STLport/lib to
library paths when building STLport lib.
* build/Makefiles/nmake/*: Removed useless specification of the MSVC default
install directory, all the job is done by the vcvcars32.bat script that sets
the LIB env variable to the real MSVC install directory.
* test/unit/unordered_test.cpp, locale_test.cpp: Removed gcc mingw warnings.
* build/Makefiles/nmake/icl.mak, app/icl.mak, lib/icl.mak: Removed the
whole program optimization option, looks like it is confusing icl.
* stlport/stl/debug/*.h: Removed useless _Get_base non-const overload.
In addition to being useless Intel compiler emit compilation error about it.
2005-04-06 Petr Ovtchenkov <ptr@island...>
* test/unit/cppunit/test_main.cpp: windows.h required here
[see 2005-04-04; patch by Michael Fink].
* stlport/stl/_istream.h: __is replaced by __istr, due
to MS privatize __is.
* stlport/stl/_num_get.h: __in replaced by __ii, due to MS
privatize __in too.
* stlport/stl/_config.h: Visual C++ 8 uses _M_AMD64 to identify
EM64T and AMD64 platforms [thanks Mike Roberts].
2005-04-05 Francois Dumont <dums@stlport...>
* stlport/config/stl_evc.h: apply patch from Michael Fink to add support for
various EVC SDK.
* stlport/stl/_cmath.h: An other adaptation to the Intel C++ compiler.
* build/lib/nmake-vc-common.mak, test/unit/nmake-vc-common.mak: Removed check
of STLP_BUILD_FORCE_[STATIC,DYNAMIC]_RUNTIME environment variables,
moved in a common build system file.
* build/Makefiles/nmake/vc-common.mak: Add checks of
STLP_BUILD_FORCE_[STATIC,DYNAMIC]_RUNTIME variables.
* build/lib/configure.bat: Add a clean option to remove the hidden
Makefiles/config.mak file.
* stlport/stdexcept: Disable 'non dll-interface class used as base' warning
when building STLport dll linked with the static runtime.
2005-04-04 Francois Dumont <dums@stlport...>
* test/unit/mfunptr_test.cpp: Add necessary macro checks for a test
that require partial template specialization compiler support.
2005-04-04 Petr Ovtchenkov <ptr@island...>
* errno.h, time.h, test_errno.cpp: evc3 and evc4 has no errno.h
and time.h headers [patch by Michael Fink].
* stl_evc.h, _windows.h, test_main.cpp: workaround to not include
<windows.h> in STLport headers (it is still needed for building
the lib and the unit tests, but that should be no problem).
Occurences of GetCurrentProcess() used in _STLP_ABORT were replaced
with the result of the inline function, which returns a pseudo-
HANDLE value. [patch by Michael Fink]
* cwchar, wchar.h, stl/_cwchar.h: fix access to mbstate and wint_t
for FreeBSD.
* build/Makefiles/gmake/sysid.mak, app/gcc.mak, lib/gcc.mak:
FreeBSD before 5.3 require linkage with libc_r, while 5.3 and
later use libpthread.
* test/unit/locale_test.cpp: add std:: namespace qualifier for
gcc 3.3.2 and/or FreeBSD.
* libstlport, test/unit: library build and most tests pass for
FreeBSD 5.3 and FreeBSD 4.10.
2005-04-02 Francois Dumont <dums@stlport...>
* stlport/cstdlib: Fix missing div taking long definition for VC71.
2005-04-01 Francois Dumont <dums@stlport...>
* stlport/errno.h: Add comments to explain the file code.
* stlport/stl/_string_io.h: Yet an other fix to the i/o basic_string
operators that was not right under cygwin/mingwin.
* build/Makefiles/gmake/gcc.mak: Merge the 2 distinct cygmin blocks
in one and add -Wall and -Wsign-promo warnings.
2005-04-01 Petr Ovtchenkov <ptr@island...>
* test/unit/test_errno.cpp: fix test, errno may be non-zero without
any error, but it reflect error code after some function fail.
This not the same.
* test/unit/mfunptr_test.cpp: add step-by-step test how compiler
recognize bind of member function for find_if. Not all compilers may
understand this. Thanks Markus for test idea.
2005-03-31 Francois Dumont <dums@stlport...>
* stlport/errno.h: Fixed for MSVC compilers, should still be fine for
others.
* test/unit/test_errno.cpp: Modified to be a real unit test. Also test
errno assignment.
2005-03-30 Francois Dumont <dums@stlport...>
* stlport/stl/_fstream.c: Try to fix ambiguous type deduction in a max
call under WinCE.
* stlport/stl/_cmath.h: Fix missing non Standard hypot function under
WinCE thanks Michael Fink.
* stlport/stl/_cmath.h: Attempt to fix the WinCE math function support
where neither *f nor *l functions are present even if the compiler
support the long double type.
2005-03-30 Petr Ovtchenkov <ptr@island...>
* stlport/assert.h, float.h, iso646.h, limits.h, errno.h:
added in accordance with Standard D.5 [compatibility with standard
C library] to prevent wrong std interpretation in ill-formed native
headers [definition of namespace std in C headers].
* test/unit/test_errno.cpp: check correct processing of errno.h
header.
* build/test/eh: build eh tests again.
* test/eh/LeakCheck.h, TestClass.cpp, TestClass.h: fix and clear.
* test/eh/test_hash_map.cpp, test_hash_set.cpp: hash_set/hash_map
has no == operator [no container equality]; this fix is quick-and-dirty
2005-03-29 Petr Ovtchenkov <ptr@island...>
* build/Makefiles/gmake/app/rules.mak, freebsd/rules-so.mak,
linux/rules-so.mak, openbsd/rules-so.mak, sunos/rules-so.mak:
fix link sequence---the end objects should be really last, i.e. after libs.
This affected by linkage without libstdc++.
* stlport/stl/_cwchar.h, stlport/wchar.h: workarounds for FreeBSD.
* due to change in link sequence most tests [including exceptions] pass
for uClibc.
* stlport/mmemory.h: garbage, removed.
* stlport/export: ditto.
2005-03-28 Francois Dumont <dums@stlport...>
* stlport/stl/_istream.h, _ostream.h: Fix assignment operators prototypes
for the sentry struct. Thanks -Weffc++ feature of gcc.
* build/Makefiles/gmake/cygmin/rules-install-so.mak: Add missing folder
creation in the install process thanks Charlemagne report.
* build/Makefiles/nmake/icl.mak: Fix Intel compiler build system under
Windows.
2005-03-28 Petr Ovtchenkov <ptr@island...>
* src/num_put_float.cpp: in FreeBSD no *cvt* functions now, use sprintf;
* stlport/config/stl_gcc.h: in FreeBSD no math *l functions and llabs.
* test/unit/string_test.cpp: more test with assignment.
2005-03-25 Petr Ovtchenkov <ptr@island...>
* stlport/stddef.h: fix typo in header id---this mistake prevent
inclusion _epilog.h.
* test/unit/epilog_test.cpp: regression test for bug above.
* stlport/cstdio: fix header id to avoid possible errors.
2005-03-24 Petr Ovtchenkov <ptr@island...>
* build/Makefiles/gmake/lib/gcc.mak, build/Makefiles/gmake/app/gcc.mak:
code reorganization to simplify platform configuration with or without
-nostdlib [avoid link with libstdc++ or libestdc++]; now link without
libstdc++/libestdc++ supported on Linux and OpenBSD.
* build/Makefiles/gmake/openbsd/rules-so.mak: idem.
* build/Makefiles/gmake/freebsd/rules-so.mak: idem.
* src/num_put_float.cpp: clean float convertions for OpenBSD and FreeBSD;
OpenBSD and FreeBSD use STLport code instead of sprintf now.
* stlport/stl/_cwchar.h: allow masquarade to use mbstate_t from native
cwchar header on OpenBSD.
* stlport/config/slt_gcc.h: llabs and *l math functions absent in OpenBSD;
define __unix, that missed in OpenBSD.
2005-03-23 Petr Ovtchenkov <ptr@island...>
* build/Makefiles/gmake/app/gcc.mak, build/Makefiles/gmake/lib/gcc.mak:
incorporate gcc language support library into libstlport.so
[add ~100k to library], but libsupc++ don't required more in link stage
for applications and libraries that use stlport, as in case with
libstdc++.
2005-03-22 Francois Dumont <dums@stlport...>
* stlport/stl/_string_io.c: Fix basic_string stream output operator
implementation for cygwin.
* stlport/stl/_cmath.h: Add fixes for cygwin support that handle long double
but do not have *l maths function per default.
* src/complex_exp.cpp: Fix call to logl, replaced by call to log.
* src/complex_trig.cpp: Fix mingw support by checking M_LN2l existence
before using it.
* test/unit/copy_test.cpp: Change test cases to avoid use of iostreams.
* test/unit/string_test.cpp: Add a small check to test use of istream width
in the input operator.
* stlport/cstdlib, stlport/config/stl_msvc.h, stl_gcc.h: Creation of the
_STLP_NO_VENDOR_STDLIB_L macro to report support of the llabs and lldiv
function.
2005-03-21 Petr Ovtchenkov <ptr@island...>
* stlport/stl/_cmath.h: removed logf, expf, sinf, cosf; option
-fno-builtin passed to gcc compiler solve the problem with uClibc;
this imply same option in building uClibc, as it is in normal uClibc build.
This is partial rollback of changes 2005-03-16.
* build/lib/configure, build/Makefiles/gmake/gcc.mak: add ability to pass
extra flags to C++ compiler
2005-03-18 Francois Dumont <dums@stlport...>
* test/unit: Modified some test in order to check the _STLP_NO_IOSTREAMS
mode. This new mode of tests reveals the following bugs:
* stlport/stl/_rope.c: Add check of _STLP_USE_NO_IOSTREAMS macro before
include of iostream header.
* src/dll_main.cpp, stlport/stl/_string_fwd.h: Removed implementation
of __get_c_string, moved to _string.h header, once string has been defined,
as an inline function.
2005-03-18 Petr Ovtchenkov <ptr@island...>
* src/complex_trig.cpp: avoid call log functions during static
initialization, if possible.
2005-03-17 Francois Dumont <dums@stlport...>
* stlport/stl/_string_io.h: Fix implementation that used to think that
size_t and streamsize was simply aliases. Thanks Jay Amin report.
* stlport/config/_prolog.h: Add comment about the reason of alignment
specification when using MSVC compilers. Fix alignment for Win64 platform.
* stlport/stl/_alloc.h: Fix _ALIGN enum definition for _Win64 platform.
* src/string_w.cpp: Fix wrong class export under debug mode thanks
Charlemagne report.
* build/Makefiles/nmake: Preparation of the build system for icl (Intel cl
compiler (mimic cl compiler from Microsoft).
2005-03-16 Petr Ovtchenkov <ptr@island...>
* stlport/stl/_cmath.h: added logf, expf, sinf, cosf---this fix
uClibc 0.9.27/gcc problem. Fix one macro for declaration math
functions in case of absent *f functions.
2005-03-16 Francois Dumont <dums@stlport...>
* stlport/config/*: Clean native header include path macro definition.
Removed many useless definition simply recreating the default behavior.
Removed the unreferenced _STLP_NATIVE_OLD_STREAMS_INCLUDE_PATH macro.
* stlport/stl/_site_config.h: Update relative path headers macros
documentation to reflect more accurately default behavior and add
the unreference _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH macro.
2005-03-15 Francois Dumont <dums@stlport...>
* stlport/stl/_fstream.h: Fix _Noconv_input helper class default implementation.
Returns traits::eof() rather than 0.
2005-03-15 Petr Ovtchenkov <ptr@island...>
* src/complex.cpp, complex_exp.cpp, complex_io.cpp, complex_trig.cpp:
use achievements in _cmath.h---use overloaded funcs; mascarade from
complex_impl.h not required more.
* src/complex_impl.h: deleted.
* test/unit/cmath_test.cpp: check nested sqrt(sqrt)---possible problem with macro
2005-03-14 Francois Dumont <dums@stlport...>
* stlport/config/stl_msvc.h: _STLP_SAME_FUNCTION_NAME_RESOLUTION_BUG notion
removed, impossible to reproduce, maybe fixed by the #pragma intrinsic/function
directives.
* stlport/stl/_cmath.h, cstdlib: Fix .Net 2003 and .Net 2005 beta support.
* stlport/stl/_cmath.h: Removed _STLP_SAME_FUNCTION_NAME_RESOLUTION_BUG notion,
no more _STLP_DO_* macros.
* test/unit/valarray_test.cpp: New tests to check right compilation of
transcendentals valarray functions.
* stlport/stl/_valarray.h: Replaced all the _STLP_DO_* macros by real
function calls.
* src/fstream.cpp: Add INVALID_SET_FILE_POINTER definition when missing for
Win32 IO implementation thanks Michael Fink report. Add compilation check
of right STLport file descriptor definition.
2005-03-12 Francois Dumont <dums@stlport...>
* stlport/stl/_tree.h: Fix equal_range_unique bug thanks Gunter.
* test/unit/map_test.cpp: Add of the test to reproduce the bug
above.
2005-03-11 Petr Ovtchenkov <ptr@island...>
* build/test/unit/gcc.mak: don't write runtime path to libstlport
in case of crosscompilation.
* stlport/stl/_cmath.h: exclude *f and *l variants of math functions
if ones absent in system; add missed hypot function; few workarounds
for uClibc and for VC.
* src/complex.cpp, complex_exp.cpp, complex_trig.cpp: workaround
for systems without *f and *l variants of math functions.
* test/unit/resolve_name.cpp: exclude test line that confuse VC.
* stlport/cstdlib: div isn't intrinsic for VC.
* stlport/config/stl_gcc.h: don't use *f and *l math functions in
case of uClibc.
2005-03-09 Petr Ovtchenkov <ptr@island...>
* doc/FAQ: FAQ was established.
2005-03-07 Francois Dumont <dums@stlport...>
* stlport/stl/_bitset.h, _bitset.c: Avoid include of istream when
NO_IOSTREAMS mode thanks Bruno report.
* stlport/stl/char_traits.h: Modification of the streamoff and streamsize
definition to take into account the 64 bits file access support.
* test/unit/fstream.cpp: New test for big files ( > 2Go) unactivated by
default.
2005-03-06 Petr Ovtchenkov <ptr@island...>
* stlport/cstdlib, stlport/cmath, stlport/stl/_cmath.h: define
overloaded functions in the scope of global namespace and then import
all in stlp_std with 'using' directive. This is better than
solution from 2005-03-04 below.
* stlport/cmath: include cstdlib, due to declarations of abs
with integer types required in overload and when 'using'.
* src/complex.cpp, src/complex_exp.cpp, src/complex_trig.cpp: replace
macros that possibly will be removed.
2005-03-05 Francois Dumont <dums@stlport...>
* stlport/stl/_construct.h: Simplification of the _Copy_Construct
function, now only takes a single template parameter and only call
the strict copy constructor. Creation of the _Param_Construct function
that replace the former _Copy_Construct implementation.
* cstdlib: Fix abs definition for MSVC compilers.
* test/unit: Fixing 64 bits warnings in many tests.
* src/c_locale_win32/c_locale_win32.c: Fixing 64 bits warnings.
* src/fstream.cpp: Creation of the INVALID_STLP_FD constant to represent
a portable invalid file descriptor.
* stlport/stl/_streambuf.c: Explicit instanciation of basic_streambuf
for wchar_t removed, already exists in _streambuf.h thanks
Charlemagne report.
* stlport/stl/char_traits.h: Setup modification, Windows platform now
use ptrdiff_t to define streamoff, make the code more portable.
2005-03-04 Petr Ovtchenkov <ptr@island...>
* stlport/stl/_cmath.h: removed recursive include of cmath header
* src/complex_impl.h: include cmath instead of stl/_cmath.h
* stlport/stl/_complex.h: idem.
* stlport/stl/_valarray.h: idem.
* test/unit/unary.h: workaround for namespace resolution.
* test/unit/resolve_name.cpp: test to show problem with namespace resolution.
* stlport/cmath, stlport/stl/_cmath.h: standard require overloaded math
functions for double and float arguments. Import with 'using' directive
can't provide such overload. Removed import with 'using', used direct
inline wrappers in namespace stlp_std instead. Cleaning code.
* stlport/cstdlib: complement to cmath---the same as above for abs.
* stlport/stl/_config.h: uClibc declare pthread_spin... but ones absent
in the library indeed.
2005-03-02 Petr Ovtchenkov <ptr@island...>
* build/Makefiles/top.mak: move .PHONY target to the bottom, it work here
as expected
* build/Makefiles/gmake/depend.mak, targetdirs.mak: reduce amount of dummy
targets; fix creation of directories for install.
* build/Makefiles/gmake/linux/rules-install-so.mak: ditto.
* stlport/stl/_config.h, stlport/config/stl_gcc.h: support of gcc/linux/uClibc
* src/_stdio_file.h, num_put_float.cpp, stdio_streambuf.cpp: uClibc support
* stlport/cwchar: ditto.
2005-03-01 Francois Dumont <dums@stlport...>
* stlport/stl/_threads.h, _windows.h, _rope.c: Fix of a 64 bits portage issue
in the rope implementation under Win64 thanks Patrick Bergeron report.
2005-02-28 Francois Dumont <dums@stlport...>
* stlport/stl/_hashtable.c: hashtable::erase fix thanks Patrick Bergeron.
2005-02-27 Francois Dumont <dums@stlport...>
* stlport/stl/_algobase.h, _algobase.c: Fix find algo overload for
char* and const char*. Now the overload is on the __find underlying
function.
* test/unit/alg_test.cpp: Add a test case for the search_n algo.
* stlport/stl/_algo.c: Integration of the search_n algo implementation
for the random access iterator from Jim Xochellis.
2005-02-25 Francois Dumont <dums@stlport...>
* stlport/stl/_slist.h: Fix _M_splice_after method.
* stlport/stl/debug/_slist.h: Add of many missing checks for the special
slist before_begin iterator which returns true to the _Dereferenceable
function call but is not dereferenceable in reality. Passing this
iterator to method like erase or insert was invalid but was not detected
by the _Dereferenceable function.
* test/unit/slist_test.cpp: Add checks for insert, insert_after, splice
splice_after methods.
* Patch from Ulrich Eckhardt:
- Fix macro _MSC_VER macro checks, VC6 should be found using _MSC_VER < 1300
check rather than _MSC_VER == 1200 to take into account compilers like
EVC4 that is a VC6 based compiler with _MSC_VER == 1202.
2005-02-25 Petr Ovtchenkov <ptr@island...>
* stlport/stl/_algobase.h: wrong parameters order in call to memchr,
thanks Patrick Bergeron.
2005-02-24 Francois Dumont <dums@stlport...>
* stlport/stl/char_traits.h: Patch from Ulrich Eckhardt fixing a wrong
_STLP_CALL specification on member operators and some cosmetic changes.
2005-02-22 Petr Ovtchenkov <ptr@island...>
* test/unit/limits_test.cpp: wchar_t is treated as signed, except when it
equiv to unsigned short on Wins systems.
* Repository: STLport 5.0 RC2
2005-02-20 Francois Dumont <dums@stlport...>
* Add many private definition of copy constructor and assignment operators
to avoid very anoying warnings under some compilers (MSVC 7.0 7.1).
* build/Makefiles/gmake/cygmin/sys.mak, test/unit/string_test.cpp:
Mingw fixes thanks Shura Zam.
2005-02-19 Francois Dumont <dums@stlport...>
* stlport/stdexcept: Removal of a MSVC 7.0 and 7.1 workaround. Those compilers
have a bug resulting in the generation of very long compiler message as
soon as a simple compiler warning or error occur. Those messages are
template instanciation context of previous disabled warning. Warning message
are correctly disable but template instanciation context is kept until
an enable warning or an error happen. There is nothing to do against that
at STLport level except fixing or disabling warnings for unit tests build.
* build/Makefiles/nmake/vc70.mak: Add missing file.
2005-02-18 Francois Dumont <dums@stlport...>
* stlport/stl/_hashtable.h, _unordered_set.h, _unordered_map.h: Code review
based on the 12 April 2004 Technical Report document. Add missing hash policy
and bucket_size methods. Fix of the rehash method behavior. erase method
bug fix.
2005-02-14 Francois Dumont <dums@stlport...>
* stlport/string, /stl/_string.h: Modification of the include schema.
_string_io.h no more included from _string.h to avoid circular headers
dependencies as basic_string class is used in iostream implementation.
This headers is now included from the Standard string header. Useless
cctype include removed from _string.h. _string_hash.h also moved from
_string.h to string for consistency.
* stlport/stl/_complex.c: Add of the _string_io.h header include that
was missing after string include schema modification.
* stlport/stl/_string_base.h, _string.h: basic_string move traits STLport
struct definition do not depends anymore on the _String_base struct to
make definition more clear.
2005-02-08 Francois Dumont <dums@stlport...>
* stlport/stl/_config.h: Fix endianness for AMD 64 thanks Karol
Szkudlarek.
2005-02-07 Boris Fomitchev <boris@stlport...>
* stlport/stl/_config_compat_post.h, stlport/stl/_relops_hash_cont.h
stlport/stl/_list.h, stlport/stl/_slist.h, stlport/stl/_map.h,
stlport/stl/_set.h: 4.6 compatibility fix
2005-02-04 Francois Dumont <dums@stlport...>
* stlport/stl/_alloc.c: Fix of the _S_refill method in the lock free
implementation thanks Felix Wyss.
* stlport/stl/_hashtable.h: _M_get_elem_ite set as static when possible
to fix a MSVC6 problem thanks Michael Fink report.
* stlport/new, config/stl_evc.h: EVC patch for MFC support from Michael Fink.
* build/Makefiles/nmake/evc3.mak, evc4.mak: Warning level raised to 4
by Michael Fink.
* doc/README.evc3, README.evc4 doc update from Michael Fink.
* src/vc_warning_disable.h: Add warning 4201 and 4214 disabling for EVC.
2005-01-31 Francois Dumont <dums@stlport...>
* Mac OS X portage thanks Zdenek Nemec.
* stlport/stl/_hashtable.c: Fix of the _M_copy_from method thanks Jay.
* stlport/stl/_vector.c: Fix of the _M_insert_fill_aux method thanks
Mike Roberts report.
* test/unit/unordered_test.cpp: Add of a test for the hashtable fix above.
* src/vc_warning_disable.h: Add of the missing 4503 warning disable for MSVC6.
* test/unit/nmake-vc-common.mak: Add of the _STLP_DEBUG_UNINITIALIZED macro
definition for the debug and stldebug rules.
2005-01-28 Francois Dumont <dums@stlport...>
* Application of a patch from Michael Fink for EVC MIPS.
2005-01-27 Francois Dumont <dums@stlport...>
* stlport/deque, list, map, set, slist, stack, valarray: _STLP_WHOLE_VENDOR_STD
replaced by the official _STLP_IMPORT_VENDOR_STD macro.
* stlport/stl/_algobase.h: Add find algo overload for char* and const char*
forwarding the call to the memchr C function thanks Jim Xochellis report.
* test/unit/find_test.cpp: Add check for the new find overload.
* test/unit/cmath_test.cpp: Fix of the atan and atan2 tests to avoid precision
problems.
* test/unit/ptrspec_test.cpp: Add check for containers of function pointers and
member function pointers.
* test/unit/set_test.cpp: Add check for equal_range method when the search value
is not in the set.
* stlport/stl/_tree.h: Fix equal_range implementation thanks Grisha Spivak report.
* stlport/stl/_vector.h, _vector.c: Fix of the movable types implementation thanks
Mike Roberts report.
* test/unit/mvctor_test.cpp: Add of a test case for vector class.
2005-01-25 Francois Dumont <dums@stlport...>
* stlport/stl_user_config.h: Pointer specialization feature is now off
by default as it do not handle pointer to function and pointer to member
methods correctly yet. Feature documentation has been updated to report
this limitation.
* src/ctype.h: removal of the '>= 0' check for wchar_t variables reported
as a always true condition by gcc.
* stlport/stl/_hashtable.c: Removal of an unused variable in hashtable::resize
method thanks Jeff Grills report.
* stlport/stl/_algo.c: Fix of the search_n algo thanks Jim Xochellis report.
2005-01-24 Francois Dumont <dums@stlport...>
* Some more warning fixes. Mostly add of missing char_traits::to_char_type calls.
2005-01-22 Francois Dumont <dums@stlport...>
* stlport/stl/_string_workaround.h, debug/_string_workaround.h: Fix of the
call broadcast to the base class. Non debug workaround always call non debug
base class methods, debug workaround always calls debug base class methods.
* Many fixes to avoid warnings using MSVC in level 4 warnings:
- while (true) replaced by for(;;) which do not produce the conditional
expression is constant warning
- removal of unused parameters
- modification of some template function signature to keep the character type
information and avoid the wchar_t to char type warning which was surely an
important warning for the wide streams support.
* stlport/stl/_monetary.c: removal of the call to the ctype::widen method
on the result of the moneypunct<_CharT, false>::decimal_point call as this
method is already supposed to return a wide character.
2005-01-19 Francois Dumont <dums@stlport...>
* src/msvc_warning_disablers.h: unused file, removed.
* test/unit/logic_test.cpp: Fix of the tests to avoid warning regarding int
to bool cast.
* stlport/stl/pointers/_deque.h, _list.h: Fix of the exported class under MSVC
compiler thanks Timothy Tenebekov report.
* build/test/unit/nmake-vc-common.mak, nmake-vc6.mak, nmake-vc70.mak: Modification
of the make files to avoid useless inclusion of vc_warning_disable.h file for
MSVC.Net 2003 and MSVC 8 compilers.
* src/locale_impl.h: Export of the locale facets container for MSVC compilers.
* src/vc_warning_disable.h: Modification to limit the number of disables depending
on the compiler.
2005-01-18 Francois Dumont <dums@stlport...>
* stlport/stl/_algo.c: Modification of the stable_partition implementation
to limit the size of the allocated temporary buffer of the begin and end
of the range are already at the right place thanks a Stephen Howe idear.
* build/test/unit/nmake-vc-common.mak, nmake-evc-common.mak: Removal of the
_STLP_USE_AUTO_LINK macro which is now the default.
2005-01-14 Francois Dumont <dums@stlport...>
* stlport/stl/_windows.h, char_traits.h, src/c_locale_win32/c_locale_win32.c:
Patch from Patrick Bergeron to support 64 bits compilation under Windows using
VC8.
* stlport/stl/boost_type_traits.h: boost support check and fixing.
2005-01-13 Francois Dumont <dums@stlport...>
* stlport/stl/_algobase.h: Improvment of the iter_swap algo to use the swap
method when possible thanks David Abrahams and Aleksey Gurtovoy great book
introduction.
* stlport/stl/_alloc.h: Deactivation of the lock free allocator implementation
not mature enough to be release yet.
* stlport/stl/_uninitialized.h: Fix of non Standard algo signature:
- uninitialized_fill_n
* stlport/stl/_iterator_base.h: Fix of non Standard algo signature:
- distance
* stlport/stl/_algobase.h: Fix of non Standard algo signature:
- fill_n
* stlport/stl/_algo.h: Fix of non Standard algo signature:
- rotate
- generate_n
* stlport/stl/_string.h, debug/_string.h: Fix of the non Standard basic_string
default constructor.
* stlport/stl/_algobase.h, _function.h, _iterator_base.h, _move_construct_fwk.h,
_ptr_specialize.h, char_traits.h, debug/_debug.h: Fix of the macro name check
before including type_traits.h.
2005-01-08 Francois Dumont <dums@stlport...>
* stlport/stl/_codecvt.h: Add of a missing export declaration for the wchar_t
specialization of the codecvt_byname class.
* src/stlport.rc: improvement of the information included in the ressource file.
Especially add of the compiler options.
* stlport/stl/_stlport_version.h: Creation of a special file containing all the
version informations; very useful to avoid problem with the ressource compiler.
* stlport/stl/_config.h: Removal of the unused _STLP_USING_VENDOR_STD macro.
Inclusion of the _stlport_version.h file. Update of the comment explaining why
_STLP_USE_DECLSPEC is undefined when user do not use iostreams.
* build/Makefiles/nmake/vc-common.mak, evc-common.mak, gmake/gcc.mak: Improvement
of the ressource compiler options.
2005-01-06 Francois Dumont <dums@stlport...>
* stlport/config/stl_msvc.h: Move the _STLP_DONT_RETURN_VOID configuration
macro to the specific MSVC6 compiler as it is the only one that has ever
reveal this bug.
2005-01-05 Francois Dumont <dums@stlport...>
* stlport/stl/_string_sum_methods.h: Fixes reported by gcc.
2005-01-04 Francois Dumont <dums@stlport...>
* doc/README.evc3: patched by Michael Fink
* build/lib/configure.bat: warning fix thanks Michael Fink.
* build/test/unit/nmake-src-prefix.mak: fixed thanks Michael Fink.
2005-01-02 Francois Dumont <dums@stlport...>
* stlport/stl/_string_sum.h, _string_operators.h: Fix of an assignment bug
in the append method taking a C string wrapper. Modification of the __bstr_sum
get_allocator method to avoid a useless allocation.
* build/lib/nmake-src-prefix.mak: Add of missing rules for .c and .rc file type.
2004-12-29 Francois Dumont <dums@stlport...>
* stlport/stl/_hashtable.c: Fix missing allocator argument in new slist
construction and bad number of buckets thanks See Wong report.
* test/unit/unordered_test.cpp: Add of a test to report the previous
problem.
* build/Makefiles/nmake/vc-common.mak, evc-common.mak: Generalization of the
/DMACRO compiler command rather than /D "MACRO".
* test/unit/string_test.cpp: Creation of a new test case for string template
expression.
* stlport/stl/_string_sum.h, _string_sum_methods.h: Fixing of many bugs in the
string template expressions implementation.
* stlport/stl/_tree.c: Add of a comment in the _M_increment method explaining
a surprising checks thanks Ulrich Eckhardt.
2004-12-24 Petr Ovtchenkov <ptr@island...>
* build/Makefiles: makesystem moved here from src/Makefiles
* build/lib: makefiles moved here from src catalog.
* build/test/unit: makefiles moved here from test/unit catalog.
* INSTALL: updated.
* README: updated.
2004-12-23 Francois Dumont <dums@stlport...>
* stlport/stl/_vector.h, _vector.c: Fix of the code for movable types
in call to push_back or insert of a value in case of auto referencing
thanks Benjamin Redelings.
* stlport/stl/_hashtable.c: Fix of the _M_copy method thanks Timothy
Tenebekov.
2004-12-22 Francois Dumont <dums@stlport...>
* stlport/stl/debug/_string.h: Fix of missing scopes thanks arabesc and
Benjamin Redelings
*stlport/config/stl_gcc.h: include schema fix for gcc >= 4.0.0 thanks
Oliver Stoeneberg
2004-12-21 Francois Dumont <dums@stlport...>
* stlport/stl/_hashtable.c: Fix copy method thanks KL report.
* stlport/stl/_vector.h, _deque.h: Fix implementation for vector of
movable objects when calling erase of a null range thanks to arabesc report.
* stlport/stl/_string.h, _string_workaround.h, debug/_string.h,
debug/_string_workaround.h: Implementation of the MSVC6 template method bug
workaround exclusively for MSVC6 and not anymore for all compilers.
2004-12-21 Petr Ovtchenkov <ptr@island...>
* src: untested (lost support) .mak and installation files moved into
initial_mak catalog.
* explore, src: explore catalog moved into src catalog. Makefiles from
explore catalog become main makesystem of STLport.
2004-12-20 Francois Dumont <dums@stlport...>
* stlport/stl/_hashtable.h: Fix of the const begin and end methods of the
new implementation thanks Timothy Tenebekov report.
2004-12-17 Francois Dumont <dums@stlport...>
* stlport/cmath, cstdlib, stl/_cmath.h, config/stl_msvc.h: Configuration
fixes for .Net 2002.
2004-12-17 Boris Fomitchev <boris@stlport...>
* char_traits.h: fixed _STLP_NO_WCHAR_T case
* src/common_macros.mak: deleted locale.cpp
2004-12-17 Francois Dumont <dums@stlport...>
* src/explore/Makefiles/nmake/app/rules-install-a.mak, rules-install-so.mak
lib/rules-install-so.mak: Creation of the install-shared and install-static
from Michael Fink.
2004-12-16 Francois Dumont <dums@stlport...>
* stlport/stl/debug/_debug.h, _debug.c: Creation of functions to change iterators
list owner.
* stlport/stl/debug/_list.h, _slist.h: Modification of the iterator owners in the
splice, splice_after and merge method which do not invalidate iterators but only
move them from a [s]list to an other.
* stlport/stl/_relops_hash_cont.h: removal of the == operator on hashed containers
This operator is just impossible, or at least very complicated, to implement
for this container which do not require any ordering operation on the type used
to instanciate the container.
* test/unit/hash_test.cpp: Addition of a commented test showing why the == operator
is invalid on hashed constainers.
* stlport/stl/_hashtable.h: Modification of the hashtable implementation based
on a slist and a vector. Compared to the previous one the advantages are:
- lighter hashtable::iterator
- iterator increment operation do no require call to the hash function.
- no more special implementation for the debug mode, once validated debug/_hashtable.h
will be removed.
The drawback is a small overhead on the insert/erase methods.
* stlport/unordered_set, unordered_map: Introduction of the almost Standard hash containers.
The major difference with hash_set or hash_map containers from SGI is the load factor
that gives the user the ability to change the container ratio of the number of elements per
bucket.
2004-12-13 Francois Dumont <dums@stlport...>
* stlport/stdio.h: patch from Michael Fink to avoid warning on the EVC platform.
* doc/evc_workaround.txt: Documentation file from Ulrich Eckhardt about the EVC
workaround to avoid annoying warnings.
* stlport/typeinfo: Patch from Ulrich Eckhardt to fix missing type_info struct
under MSVC6 and EVC and also identation.
2004-12-10 Francois Dumont <dums@stlport...>
* stlport/stl/_collate.h, _locale.h: fix of the __locale_do_operator_call internal
function to make traits and allocator also template parameters.
* stlport/stl/_locale.h, _collate.h, stlport/config/stl_msvc.h, src/locale.cpp,
src/locale_impl.h: restoration of the MSVC6 workaround for the locale class to
correctly handle the member template methods.
2004-12-09 Francois Dumont <dums@stlport...>
* stlport/stl/_messages_facets.h: fixed messages_base::catalog from long typedef
to int thanks Ulrich Eckhardt report.
* stlport/stl_user_config.h, config/stl_msvc.h: addition of the _STLP_VERBOSE_AUTO_LINK
config macro to make the automatic linking feature more verbose thanks Ulrich Eckhardt
patch.
* stlport/exception: Add check of the _STLP_HAS_SPECIFIC_PROLOG_EPILOG macro before
including _msvc_warning_off.h to avoid bad resulting warning status when the _epilog.h
header is not included thanks Gail (baker88) report.
* stlport/cassert, cerrno, csignal, ctype.h, cwctype, stdarg.h, stdlib.h, string.h,
config/stl_evc.h: Patch from Michael Fink to fix compilation problem using ressource
compiler for evc3 and evc4 and problems with cerrno and cassert inclusions reported
by Ulrich Eckhardt.
2004-12-01 Petr Ovtchenkov <ptr@island...>
* stlport/stdexcept: removes some warnings regarding the exception class being derived
from a non-dll interface class on evc4. Michael Fink contribution.
* stlport/stl/_cmath.h: push/pop warning level for VCs. Michael Fink contribution.
* src/_stdio_file.h: Evc4 uses an ugly hack to implement file IO using a FILECE structure
representing the internal FILE structure. For evc3 Michael Fink implemented a much simpler
way that also works for evc4.
* stlport/config/stl_evc.h, stl_msvc.h, stlcomp.h: separate config stuff for stl_evc.h
and stl_msvc.h. Now all Windows CE specific defines are in stl_evc.h only.
Michael Fink contribution.
* stlport/stl/_codecvt.h, _ctype.h, _messages_facets.h, _monetary.h: add friend class
_Locale_impl.
* stlport/stl/_num_get.h, _num_put.h, _numpunct.h, _time_facets.h: ditto.
2004-11-30 Petr Ovtchenkov <ptr@island...>
* src/explore/configure.bat: added quotes. Thanks Ulrich Eckhardt and Michael Fink.
* stlport/stl/_locale.h, src/locale_impl.h, src/locale_impl.cpp: added _STLP_DECLSPEC
and _STLP_CALL for some functions. Thanks Ulrich Eckhardt.
* stlport/stl/_collate.h, _numpunct.h, _monetary.h, _codecvt.h, _time_facets.h:
_Locale_imp made friend without relation to _STLP_LEAKS_PEDANTIC. Thanks Ulrich Eckhardt.
* stlport/stl/_locale.h: remove body of protected constructor to avoid warnings.
Thanks Kidman and Ulrich Eckhardt.
* src/locale_impl.cpp: use simple resize of facets_vec; reserve space for facets_vec to be
sure that allocation don't throw exception during vector resize in insert_*_facets functions.
Thanks Ulrich Eckhardt.
2004-11-29 Petr Ovtchenkov <ptr@island...>
* stlport/stl/_cmath.h: patch from Michael Fink applied.
* stlport/stl/_locale.h: remove enclose class spec to avoid VC confuse.
Thanks Ulrich Eckhardt.
* src/locale_impl.cpp, src/locale_impl.h: remove bogus _STLP_CALL decls.
Thanks Ulrich Eckhardt.
2004-11-27 Petr Ovtchenkov <ptr@island...>
* stlport/stl/_threads.h: direct access to _M_ref_count isn't MT-safe;
counter value returned by _M_incr and _M_decr methods only.
* stlport/stl/_rope.h, stlport/stl/_rope.c: adaptation to changes above;
removed __GC macro dependent code, that was never defined in present
sources.
* src/locale.cpp, locale_impl.cpp, locale_impl.h: general revision of locale
implementation; code clean, corrected, concepts fixed, errors fixed,
new bugs added.
* src/ctype.cpp, facets_byname.cpp, locale_catalog.cpp, messages.cpp, monetary.cpp:
ditto.
* stlport/stl/_codecvt.h, _collate.h, _ctype.h, _locale.h, _messages_facets.h:
ditto.
* _monetary.h, _num_get.h, _num_put.h, _numpunct.h, _time_facets.h: ditto.
* src/locale_nonclassic.h: removed due to code revision.
* src/explore/Makefile.inc: locale.cpp is directly included into locale_impl.cpp.
* src/explore/gcc.mak, test/unit/gcc.mak: use _STLP_LEAKS_PEDANTIC before release
by default.
2004-11-24 Francois Dumont <dums@stlport...>
* stlport/stl/_cmath.h: Fix of the abs definition for the EVC platform
thanks Michael Fink.
* stlport/stl/_cmath.h: Fix of the Internal Compiler Error from MSVC6
when defining math functions in the STLport namespace thanks Ulrich
Eckhardt and I.
* stlport/stl/debug: Creation of a debug iterator traits used to make
an additional test when checking iterator deferencing status, on slist
before_begin iterators are not dereferenceable but were not detected
as so.
* stlport/math.h, stdexcept: patches from Michael Fink to avoid warning
on the EVC platform.
2004-11-22 Francois Dumont <dums@stlport...>
* src/explore/Makefiles/nmake/evc3.mak, evc4.mak: removal of the useless
/DPLATFORM macro definition thanks Ulrich Eckhardt report and Michael Fink
patch.
* stlport/cstdlib: extension of the div overload for long input up to MSVC7.1
thanks Michael Fink report.
* test/unit/string_test.cpp: patch from Michael Fink for EVC which has limited
support of the WaitForMultipleObjects API function.
* stlport/cstdlib, cwchar, using/cstring: patch from Michael Fink to remove
imports of missing native C functions.
2004-11-16 Francois Dumont <dums@stlport...>
* src/explore/configure.bat: Add of the --rtl-static and --rtl-dynamic
configuration options to force use of static or dynamic C runtime thanks
Michael Fink.
* stlport/config/stl_msvc.h: undef of the _STLP_USING_CROSS_NATIVE_RUNTIME_LIB
for the evc platform that only have the static C runtime version thanks
Michael Fink.
* stlport/config/stl_bc.h, stl_dmc.h, stl_solaris.h: Removal of all references
to the deprecated _STLP_NO_OWN_IOSTREAMS and _STLP_NO_NEW_IOSTREAMS macros.
* stlport/cmath, stl/_cmath.h: Modification of the import of the pow function
for MSVC6 that has a bugged overload thanks Michael Fink report.
2004-11-09 Francois Dumont <dums@stlport...>
* test/unit/config_test.cpp: Creation of a test case to check correct
platform/compiler configuration.
* stlport/config/stl_msvc.h: Definition of the _STLP_HAS_NATIVE_FLOAT_ABS
now start with MSVC6.
* stlport/cstdlib, stl/_cmath.h: Addition of some missing math function
overloads for MSVC6.
2004-11-05 Francois Dumont <dums@stlport...>
* stlport/config/stl_msvc.h: Definition of the _STLP_HAS_NATIVE_FLOAT_ABS
starting with MSVC .Net 2002 thanks Kevin Bluck report.
* test/unit/cmath_test.cpp: Creation of a test case to check correct import
and extensions of C functions.
2004-11-04 Petr Ovtchenkov <ptr@island...>
* src/explore/Makefiles: added templates CC.mak for SunPro's CC compilers;
ones should be checked and fixed with real compiler.
2004-11-04 Francois Dumont <dums@stlport...>
* stlport/stl/_function.h, _queue.h, _stack.h, _map.h, _iterator.h:
restoration of the Standard names of the protected datas.
* stlport/stl/_alloc.h, _alloc.c: implementation of a lock free version
of the default STLport node_allocator. Supported by the Win32 platform
for the moment.
* src/ios.cpp, locale.cpp, locale_impl.cpp: use of atomic operations
under Win32 platform rather than using synchronisation primitives.
* stlport/stl/_tree.h, _map.h, _set.h: creation of the erase_unique and
equal_range_unique methods to use the unicity information of the map and
set containers in binary tree searches.
* stlport/stl/_string.h: Add _STLP_USE_NO_IOSTREAMS check beforing deciding
not to include _string.c thanks KL
2004-11-02 Francois Dumont <dums@stlport...>
* stlport/stl/pointers/_deque.h: Fix for the problem of the deque<void*>
instanciation thanks Alex Cosealin report
* test/unit/ptrspec_test.cpp: Add of a test for the previous problem.
2004-10-31 Francois Dumont <dums@stlport...>
* stlport/stl/_rope.h: Fix of the apply_to_pieces qualification thanks Leeya.
* test/unit/rope_test.cpp: New test case for the previous fix.
2004-10-30 Francois Dumont <dums@stlport...>
* src/explore/Makefiles/nmake/vc-common.mak: introductions of the LDFLAGS_A_REL
macro to fix config problem under VC71 and VC8 beta.
2004-10-29 Petr Ovtchenkov <ptr@island...>
* src/explore/Makefiles/gmake/app/gcc.mak: use -fPIC for gcc 2.95.x when build
application---this is a workaround for bug with running code in static constructors.
* stlport/config/stl_gcc.h, stlport/stl/_config.h: force usage of mutex instead
of spinlock for gcc 2.95.x, due to problems with initialization of statics.
Initialization of mutex has variant with structure filling, while for spinlock
initialization function call required.
* test/unit/locale_test.cpp: avoid static object for gcc 2.95.x, due to problems
with initialization of statics.
2004-10-27 Francois Dumont <dums@stlport...>
* stlport/stl/_config.h, _fstream.h, _ios.h, _istream.h, _monetary.h, _num_get.h,
_num_put.h, _ostream.h, _sstream.h, _streambuf.h, _string.h, _time_facets.h:
Restoration of the _STLP_NO_CUSTOM_IO feature removed after cleanup reported
in 2004-09-28 post from Petr.
* stlport/stl/stl_user_config.h, _config.h, stl_msvc.h: reactivation of the
auto link feature for MSVC but only if activated by the client. Moreover the
new implementation of this feature is more maintenable, stl_msvc.h won't have
to be edited at each STLport release.
* test/unit/nmake-vc-common.mak, nmake-evc-common.mak: Adoption of the auto link
process.
2004-10-25 Francois Dumont <dums@stlport...>
* stlport/stl/_config.h: Introduction of the _STLP_DONT_USE_EXCEPTIONS which
means that the client do not want to use the C++ exception feature. It is
different from the _STLP_NO_EXCEPTIONS which means that the compiler do not
support exceptions at all. The distinction is important for some macros definition.
* test/unit: Modification of the _STLP_NO_EXCEPTIONS test to the more general
_STLP_USE_EXCEPTION macro.
* stlport/stl/_ios_base.h, src/ios.cpp: rollback of the modifications of the
2004-10-24.
* stlport/config/stl_msvc.h, stl_gcc.h: Those 2 compilers have a exception
support switch, when exceptions are unactivated they now define
_STLP_DONT_USE_EXCEPTIONS rather than _STLP_NO_EXCEPTIONS.
2004-10-25 Petr Ovtchenkov <ptr@island...>
* stlport/stl/_sstream.c: cur direction missed in seekoff. Thanks David Obermann.
* sstream_test.cpp: test for problem above.
2004-10-24 Francois Dumont <dums@stlport...>
* stlport/stl/_ios_base.h, src/ios.cpp: definition of the ios_base::failure
nested class only when exception support is activated.
* stlport/stl/_deque.h, _deque.c: Modification of the deque implementation
to use the internal move framework.
* test/unit/mvctor_test.cpp: New test case for the use of the move
framework within the deque container.
2004-10-21 Francois Dumont <dums@stlport...>
* stlport/stl/_iostring_stream.h: Simplification of the __stl_alloc_rebind
overload to make it less ambiguous for the compilers using it.
2004-10-18 Francois Dumont <dums@stlport...>
* stlport/stl/_vector.h, _vector.c: Add of checks to know if a reference
is in *this before making a systematical copy of it.
2004-10-18 Petr Ovtchenkov <ptr@island...>
* stlport/stl/type_manips.h: replace template <> by macro.
* stlport/stl/debug/_debug.h, _debug.c: __check_if_not_owner should return true
in case of incompatible types and do check different from __check_if_owner;
added message for check __check_if_not_owner.
* test/unit/mvctor_test.cpp, test/unit/ptrspec_test.cpp: fix tests to satisfy
changes related to 23.1.1 Table 67 in stlport/stl/debug/_vector.h, _deque.h---see
record 2004-10-14 below.
2004-10-14 Francois Dumont <dums@stlport...>
* stlport/stl/debug/_iterator.h: Move of some _DBG_iter_base and _DBG_iter
methods implementation outside struct definition to fix call on incomplete
type compile error generated by the call to the _Incrementable or _Dereferenceable
functions passing *this as input parameter thanks Alexey Sarytchev
* test/unit/sstream_test.cpp, fstream_test.cpp: Fix of the tests on streambuf
throwing exception for platform with no exception support.
* stl/_string.h: Add of the missing compare methods on the basic_string
implementation used by compilers supporting template methods thanks Patrick
Bennett report.
* stlport/stl/debug/_vector.h, _deque.h: Add check on the insert range method,
the inserted can not be pointing to the this instance where the insertion occur.
2004-10-13 Petr Ovtchenkov <ptr@island...>
* src/explore/Makefiles/gmake: a bit correction of compiled and installed names
of executables on *nix systems, see record 2004-09-29 by Francois.
2004-10-12 Francois Dumont <dums@stlport...>
* stlport/stl/_config.h: typo fix thanks KL
* stlport/stl/_move_construct_fwk.h, _set.h, _map.h, _hash_set.h, _hash_map.h:
Extra semicolons removal thanks Wlodek Szafran reports.
2004-10-11 Petr Ovtchenkov <ptr@island...>
* stlport/stl/_rope.h: add typename.
2004-10-08 Francois Dumont <dums@stlport...>
* stlport/stl/_deque.h, _hashtable.h, _tree.h, _bvector.h: Specialization of the
__type_traits struct for the iterator types.
* stlport/stl/_uninitialized.h, _vector.h: Relax of the rules to perform some
optimizations, no more POD check, rather use of the trivial copy constructor,
trivial assignment operator informations.
* stlport/stl/_config.h, _epilog.h: Adoption of stlport as the official STLport
namespace when users cannot use the std namespace.
2004-10-07 Francois Dumont <dums@stlport...>
* stlport/stl/_list.h: Specialization of the __type_traits struct for list iterators.
Move of the == and != operators from the base iterator class to the iterator class
to make iterator of different list instanciation not comparable anymore.
* stlport/stl/_slist.h: ditto.
2004-10-06 Francois Dumont <dums@stlport...>
* stlport/stl/_rope.h, _rope.c: Code review, use of general STLport tools rather
than specific rope ones. Use of compile time checks rather than runtime.
* stlport/stl/_bvector.h: fix to make the vector<bool> specialization movable
thanks a Kelly Thompson report.
2004-10-05 Francois Dumont <dums@stlport...>
* src/explore/Makefiles/nmake: Application of a patch from Michael Fink to simplify
the evc make system.
* doc/README.evc4: New version from Zdenek Nemec.
2004-10-04 Francois Dumont <dums@stlport...>
* test/unit/type_traits_test.cpp: A new test case to check behavior of
the numerous helper functions from type_traits.h and type_manips.h.
* stlport/stl/type_traits.h: Fix of some bugs and addition of the __type_traits
specializations of const, volatile and const volatile native types.
* stlport/stl/type_manips.h: Modification of the __bool2type default value
so that it consider any value as true and only the 0 value false.
* stlport/config/stl_msvc.h, stlport/stl/_config.h: Modification of the STLport
std equivalent namespace to be sure that the user rebuild correctly the STLport
library when he forces the use of the dynamic or static library.
* src/explore/Makefiles/nmake/lib/vc-common.mak, app/vc-common.mak: Creation
of the STLP_BUILD_FORCE_STATIC_RUNTIME that forces use of the static version
of the native runtime.
* test/unit: fix of some tests that failed to compile using the
_STLP_NO_ANACHRONISMS macro.
2004-09-30 Petr Ovtchenkov <ptr@island...>
* test/regression: catalog removed---it obsolete and unsupported; use
test/unit tests instead; all tests from test/regression was moved in test/unit,
sometimes in redesigned form.
2004-09-29 Francois Dumont <dums@stlport...>
* stlport/stl/_string_io.c: Removal of the native library specific calls of
use_facet, only the STLport standard one is used.
* stlport/stl/_alloc.h, _alloc.c, src/dll_main.cpp: Implementation of a clean
process for the node_alloc allocator. This clean is active only when
_STLP_LEAKS_PEDANTIC is defined and you are using STLport as a dynamic
library under Win32.
* src/explore: Updates of several makefiles to conform to the new library
and binary naming convention.
* src/c_locale_win32/c_locale_win32.c: fix of the message facet name management
that was generating a memory leak.
2004-09-29 Petr Ovtchenkov <ptr@island...>
* stlport/stl/char_traits.h: WinCE seems don't declare off_t; thanks Michael Fink.
2004-09-28 Petr Ovtchenkov <ptr@island...>
* Repository: iostreams and string wrapper mode removed, due to ones has
a lot of restrictions in usage and frequently lead to hard recognized problems.
Tonns of *_STREAMS macro replaced by _STLP_USE_NO_IOSTREAMS or _STLP_NO_IOSTREAMS
as configuration macro; *NATIVE_STRING macro removed by the same reasons.
2004-09-27 Petr Ovtchenkov <ptr@island...>
* test/unit/gcc.mak: fix stlport library name for STLP_DEBUG mode for Solaris,
thanks for separate namespaces in normal and STLP_DEBUG mode, see record
2004-09-10 below.
2004-09-24 Francois Dumont <dums@...>
* stlport/config/stl_gcc.h: Fix of the relative include path used to access the
native gcc headers. Before version 3.4.0 the 0 patch level was not part of the
include path.
* stlport/stl/type_traits.h, _vector.h, _algobase.h, _construct.h: Removal
of the __action_on_move type traits replaced by a generalization of the
already existing __move_traits.
* test/unit/mvctor_test.cpp: New test case for the __move_traits feature.
2004-09-24 Petr Ovtchenkov <ptr@island...>
* src/explore/Makefiles/gmake/sunos: 'explore' makesystem adopted to work
under Solaris with GNU make.
* test/unit/gcc.mak: ditto.
* src/explore/Makefiles/gmake/app/gcc.mak: ditto.
* src/explore/Makefiles/gmake/lib/gcc.mak: ditto.
* stlport/cmath: fix some math calls for Solaris.
* test/unit/list_test.cpp: add illustration for list iterator/reverse_iterator questions.
* src/explore/Makefiles/gmake/unix/lib.mak: moved from linux/lib.mak, as
common rules for all *nixes.
* src/explore/Makefiles/gmake/linux/lib.mak: use common for all *nixes rules
in unix/lib.mak.
* src/explore/Makefiles/gmake/freebsd/lib.mak: ditto.
* src/explore/Makefiles/gmake/openbsd/lib.mak: ditto.
* src/explore/Makefiles/gmake/sunos/lib.mak: ditto.
* src/explore/Makefiles/gmake/unix/lib.mak, test/unit/gcc.mak: changed library name;
libraries now named as libstlport, libstlportg, libstlportstlg for optimized, with
debug symbols, and with debug symbols and _STLP_DEBUG mode libraries respectivly.
2004-09-21 Francois Dumont <dums@...>
* stlport/stl/debug: Modification of the __check_range class in the more general
__check_construct. Now it also checks for null pointers in the string interface.
* src/explore: Adoption of the new library naming convention for all Microsoft
compilers thanks Michael Fink
2004-09-20 Francois Dumont <dums@...>
* src/explore/Makefiles/gmake/cygwin, mingw: Build configuration files merges
within a single build system: cygming. Future portage of STLport for compilers
using the GNU tools will be available from both systems. Removal of the vc6 build
under cygwin, for mono-platform compilers we support only one build system.
* stlport/stl/_vector.h: Modification of the destructor implementation to destroyed
object instances in a reverse order taking advantage of the way elements are
normaly added to this container.
2004-09-16 Francois Dumont <dums@...>
* test/unit/cppunit/cppunit_mini.h, cppunit_proxy.h: Adaptation of the CPPUNIT
framework to take care of the exception as failures thanks Zdenek Nemec
* stlport/config/stl_msvc.h, stl_bc.h, stl_mwerks.h, stlport/stl_user_config.h:
Removal of the non intuitive and difficult to maintain automatic linking feature.
* Fixing of the locale implementation mecanism. Classic locale implementation is
also managed by a reference counter to be sure when it is possible to release
the associated ressources. Fix of a missing locale impl ref counter decrement
in the template locale constructor taking a facet, it was a possible source of
memory leak . Addition of a static object within locale_impl.cpp in
_STLP_LEAKS_PEDANTIC mode to decrement the global locale impl ref counter when
STLport library is unloaded. Addition of all the missing classic locale facets
destructor in free_classic_locale.
* src/locale_catalog.cpp: The locale by name constructor checks the "C" name
to simply copy (increment the ref counter) the classic locale implementation
rather than instanciating a new one.
2004-09-15 Francois Dumont <dums@...>
* stlport/stl/_list.c: Modification of the _S_sort implementation, the __carry
list instance is created using the __that allocator instance copy to be more
allocator friendly.
2004-09-11 Francois Dumont <dums@...>
* stlport/config/stl_intel.h: Configuration update for Win32 Intel 8.0
compiler thanks Charlemagne.
2004-09-10 Francois Dumont <dums@...>
* stlport/stl/_config.h: The new official namespace is now stlp_std. _STL is
just an alias. STLPORT macro still contains the STLport std namespace equivalent.
Moreover in _STLP_DEBUG mode, which is not binary compatible with the release
or debug mode, the namespace is stlpd_std to generate link error rather
than runtime crash.
2004-09-09 Francois Dumont <dums@...>
* stlport/stl/_config.h: _STLP_DONT_USE_NESTED_TCLASS_THROUGHT_TPARAM
renamed to the more intuitive _STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE.
* stlport/stl/_config.h: Introduction of a new namespace stlp_private
defined in the global namespace. Everything that is STLport implementation
details should be in this namespace to avoid polution of the std namespace.
* stlport/stl/_iterator_base.h: Modification of the macro used to create
iterator traits for all tree and hashtable based containers to move it in
the stlp_private namespace rather than defining it as nested struct, limits
the symbol size.
2004-09-08 Francois Dumont <dums@...>
* test/unit/fstream_test.cpp: restauration of the test added by Petr
the 2004-09-03, it is finaly a different test from the one in sstream_test.cpp.
Some more checks have also been integrated.
* stlport/stl/_ostream.c: New fix of the _M_unbuffured_copy method that was
still bugged in case of a throwing output streambuf, detected thanks to the
test case.
2004-09-07 Francois Dumont <dums@...>
* stlport/config/stl_msvc.h: Add defines of the _STLP_USE_STATIC_LIB
or _STLP_USE_DYNAMIC_LIB depending on the current kind of build.
* stlport/stl/_streambuf.h, _streambug.c: Fix an unresolved symbol
problem for MSVC6 (and before?) when STLport is used as a static library.
2004-09-06 Francois Dumont <dums@...>
* test/unit/nmake-evc-common.mak: Use of the dynamic runtime for the
*-shared rules rather than the previous static thanks Michael Fink.
* test/unit/nmake-evc*.mak: end of build code factorisation, use of
nmake-evc-common.mak within all makefiles thanks Michael Fink.
* test/unit/locale_test.cpp: Application of a patch from Michael Fink
to check the "C" locale on all platforms. Fix of the money_get_put test
case for the "C" locale.
* test/unit/allocator_test.cpp: new test case for std::allocator checks.
2004-09-05 Francois Dumont <dums@...>
* stlport/stl/_string_hash.h: Performance improvement, multiplication
replaced by shift operations thanks Greg S.
* stlport/config/stl_wince_4.h: removed, never used, stl_evc.h has been
prefered.
* test/unit/string_test.cpp: addition of a new test short_string_optim_bug
to check for a compiler bugs making the short string optim invalid thanks
Michael Fink.
* stlport/config/stl_evc.h: Deactivation of the short string optimization
because of a compiler bug thanks Michael Fink.
* src/explore: factorisation of the evc build makefiles thanks Michael Fink.
* src/explore/Makefiles/nmake/lib/clean.mak, macro.mak: Addition of some
file clean up for the clobber rule thanks Michael Fink.
2004-09-03 Francois Dumont <dums@...>
* test/unit/fstream_test.cpp, sstream_test.cpp: Move of the test for the
infinite loop from FstreamTest test case to SstreamTest, addition of some
checks.
* test/unit/full_streambuf.h: streambuf implementation simulating full
output.
* stlport/exception: restauration of some modification removed after the
rollback of the 2004-09-01.
* stlport/config/stl_gcc.h: homogeneification of the coding standard used
within STLport, 2 spaces indentations even for preprocessor directives.
Doing so, discovered a weird configuration for Mac OS platform (__APPLE__)
concerning the _STLP_NATIVE_INCLUDE_PATH macro definition, fixed.
* stlport/stl/config/stl_*.mak: removal of all references to the
_STLP_REDEFINED_STD macro as it is now the default and only way STLport
use to replace native Standard library.
* test/unit/nmake-vc-common.mak: add inclusion of the vc_warning_disable.h
file to avoid warnings during build process thanks Michael Fink.
2004-09-03 Petr Ovtchenkov <ptr@Island...>
* stlport/stl/_ostream.c: removed infinite loop in case when outgoing stream
can't accept more chars. Thanks Daniel White, Ulrich Eckhardt, Francois Dumont.
* test/unit/fstream_test.cpp: test for problem above. Thanks Ulrich Eckhardt.
2004-09-02 Francois Dumont <dums@...>
* stlport/exception, stlport/stl/_site_config.h, test/unit/exception_test.cpp:
Creation of the _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT macro to signal support of
the unexpected exception mecanism. Related type/function are only brought to the
STLport namespace if correctly supported, exception_test.cpp check that.
* New modification of the _Rb_tree and _Hashtable associated iterator structs.
Removal of the container_type pass through the iterator traits; iterator traits
is the type that will make each derived container iterator type real different
type making them uncomparable.
* stlport/ctype.h: rollback of the above rollback ;-) only of course for the
Win CE code fix that was part of the previous commitment.
2004-09-01 Petr Ovtchenkov <ptr@Island...>
* Rollback include schema: code is broken.
2004-08-31 Francois Dumont <dums@...>
* _STLP_INCOMPLETE_EXCEPTION_HEADER replace by the more intuitive
_STLP_NO_UNCAUGHT_EXCEPT_SUPPORT macro.
* Modification of the include schema of all public headers in stlport folder
that need to be reentrant. Now those files are fully guarded and the specific
STLport code is only included once at the end of the inclusion, the reentrancy
only concern inclusion of the native headers.
2004-08-30 Francois Dumont <dums@...>
* stlport/stl/_deque.c: Fix of a pseudo 'uninitialized variable used' thanks
Oliver Stoeneberg.
2004-08-27 Francois Dumont <dums@...>
* .Net 2002 (VC70) portage.
2004-08-27 Petr Ovtchenkov <ptr@Island...>
* src/explore/Makefiles/gmake/gcc.mak, app/gcc.mak, lib/gcc.mak: buggy C++
language support in libsupc++ in gcc before 3.3 not allow to use it;
link with libstdc++ instead.
* stlport/config/stl_icc.h: fix features for icc 7.1; fix features for Linux
platforms.
2004-08-24 Francois Dumont <dums@...>
* stlport/config/stl_gcc.h, stl_msvc.h: fixing of configuration concerning
uncaught_exception and exception handling in general thanks John Roberts.
* stlport/stl/_tree.h, _tree.c: Modification of the _Rb_tree_iterator struct
to be able to distiguish iterator types from different tree based containers
Removal of the == and != member operators of the _Rb_tree_base_iterator struct
replaced by global operators taking _Rb_tree_iterator as parameters and checking
that the iterators are of the same container type thanks Haroon Nassiry report.
* stlport/stl/_map.h, _set.h: Modification of the iterator traits used to
instanciate the _Rb_tree class.
* stlport/stl/_hashtable.h, _hashtable.c, _hash_set.h, _hash_map.h: Similar
modifications to the previous one in order to make for instance the iterator
from hash_map and hash_multimap not comparable anymore.
* stlport/config/stl_wince.h, stlport/ctype.h: Move of the isspace C function
Windows CE specific code from the config file to the ctype.h file. This fix
will also apply to Embedded C++ .Net thanks Dirk report.
2004-08-23 Petr Ovtchenkov <ptr@Island...>
* test/unit/cppunit/cppunit_proxy.h, test/init/gcc.mak: CPPUNIT_MINI removed.
* src/num_get_float.cpp: suggestion to fix problem with float input for gcc 3.4.x
with optimization flag.
* test/unit/floatio_test.cpp: test for infinity and near
* src/explore/Makefiles/gmake/gcc.mak, app/gcc.mak, lib/gcc.mak: fix detection of
gcc version; gcc before 3.x had libgcc.a that contains some language support,
so link with it in case when we avoid link with libstd++. This has relation only
for linux systems.
2004-08-19 Petr Ovtchenkov <ptr@Island...>
* src/explore/configure.bat: setting up compiling STLport under Windows.
Contribution by Michael Fink.
2004-08-13 Francois Dumont <dums@...>
* test/unit/gcc.mak: Addition of the _STLP_NO_CUSTOM_IO define to make test
build faster.
* stlport/stl/_limits.h, _limits.c: Modification of the _LimG class definition.
Removal of the static variables, replaced by static method having the same role
but more portable. Fix link problem with MSVC compilers family when using STLport
static library.
* stlport/stl/_bitset.h, _bitset.c: Ditto for the _Bs_G class.
* stlport/stl/_hashtable.h, _hashtable.c: Ditto for the _Stl_prime class.
* src/dll_main.cpp: thanks to the previous modification, removal of the
concerned code within force_link.
2004-08-13 Petr Ovtchenkov <ptr@Island...>
* test/unit/cppunit/cppunit_mini.h, file_reporter.h, test_main.cpp:
add function to print mess; remove def of CPPUNIT_MINI, not required; add const
qualifiers.
* test/unit/locale_test.cpp: print checked locale name; restore table with format
symbols--partially rollback changes 2004-07-29; add test for possible locale
init/deinit problem---I don't see problem. Test inspired by Alex Kosilin.
2004-08-11 Francois Dumont <dums@...>
* src/explore/Makefiles/nmake: extension of the new build system for VC.Net
2005 (VC8).
* src/explore/Makefiles/nmake/app: restauration of the default behavior shared
rules generates executable using the STLport dynamic library and static rules
use the static libraries.
* stlport/stl/_string.h: Add check of _STLP_NO_IOSTREAMS to force inclusion of
_string.c in this case.
* stlport/stl/_string.c: removal of the _STLP_LINK_TIME_INSTANTIATION macro check
before inclusion as the check is already done to include _string.c from _string.h.
* stlport/stl/_istream.h _istream.c: removal of the _M_put_num function definition
from the .h and removal of all the inline implementation of the >> operators.
_M_put_num is now hidden in the .c to avoid to have to deal with export of this
symbol. Fix errors while using the _STLP_NO_CUSTOM_IO macro.
* stlport/stl/_ostream.h _ostream.c, src/ostream.cpp: ditto but for the _M_get_num
function.
* stlport/stl/_istream.h _istream.c: _M_init_skip and _M_init_noskip are now inline
functions defined within the .h to fix link errors when using the _STLP_NO_CUSTOM_IO
macro.
2004-08-10 Francois Dumont <dums@...>
* stlport/stl/_string.h: add check of the _STLP_EXPOSE_STREAM_IMPLEMENTATION
macro to include the _string.c file. Improve compile time when _STLP_NO_CUSTOM_IO
is defined.
* stlport/stl/_string.h, stlport/stl/debug/_string.h, _string_mem_t.h: restoration
of the template method specialization for backward compatibility between compilers
implementating template method and the most recent one. It is considered as an
STLport extension.
2004-08-09 Petr Ovtchenkov <ptr@Island...>
* test/compiler: tests to check whether compiler understand or not some
language construction. It is NOT tests for language support libraries,
only tests for compiler. The main purposes of this tests is to help
for developers to find correct workarounds, if compiler don't understand
some language constructions.
2004-08-09 Francois Dumont <dums@...>
* stlport/stl/_limits.h, stlport/config/stl_mycomp.h: introduction of a new macro
configuration to signal no support of the IEC 559 specification for floating point
numbers.
* stlport/config/stl_msvc.h: fix of the config to signal no IEC 559 support before
Visual C++ .Net even if the infinity value is fine.
* test/unit/limits_test.cpp: New test case to check the right numeric_limits class
configuration. Do not check the signaling_NaN yet...
* stlport/config/stl_msvc.h: Visual .Net Beta 2005 portage.
* stlport/stl/_ios.h: Move of the basic_ios::narrow and widen member method
specialization before the explicit instanciation of the basic_ios class for
the char type.
* stlport/stl/_construct.h, _num_put.c: fix of some unused parameter warning
thanks Oliver Stoeneberg report.
2004-08-05 Francois Dumont <dums@...>
* Fixes of the internal move framework for compilers not supporting partial
template specialization. The problem was detected thanks to the boost regression
test suite.
2004-08-04 Francois Dumont <dums@...>
* stlport/stl/debug/_list.h, _slist.h: small review of the stlport debug code.
Removal of any Standard reference in the slist class debug implementation. Removal
of some unjustified iterator invalidation.
* stlport/stl/_locale.h, _collate.h, src/locale.cpp, locale_catalog.cpp, locale_impl.cpp:
Split of the locale class implementation into _LocaleBase base class with no member
template methods which is exported and the locale class which is not exported. This
is a workaround for the MSVC6 compiler.
2004-08-03 Francois Dumont <dums@...>
* stlport/stl/_iterator.h: Fix of the back_insert_iterator, front_insert_iterator
and insert_iterator to make them assignable like specify in the Standard requirements
of the output iterators.
* test/unit/insert_test.cpp, finsert_test.cpp, binsert_test.cpp: Addition of tests for
the assignment operators on the output iterators.
2004-08-02 Francois Dumont <dums@...>
* stlport/stl/_string.h, _string.c, debug/_string.h: split of the basic_string
implementation into a class with no member templates and one with the member
templates. Only the one with no member templates is exported. This is a MSVC6
bug workaround as this compiler try to look for the class method symbols within
the dynamic library even if this symbol is the one of template method which is
not exported. That also make the basic_string implementation more clean so it
has been adopted for all compilers.
2004-07-29 Francois Dumont <dums@...>
* test/unit/locale_test.cpp: Fix bad macro _STLP_NO_EXCEPTIONS spelling
and add of a check for real locale implementation. Patch done by
Michael Fink.
* stlport/stl/debug/_debug.h, _debug.c, _iterator.h: Modification of the
__check_same_owner_or_null function name to the more intuitive
__check_same_or_null_owner thanks a Aleksey Sanin remark.
2004-07-26 Petr Ovtchenkov <ptr@Island...>
* src/explore/Makefiles/gmake/lib/gcc.mak: avoid linkage with libstd++
for gcc compilers.
* src/explore/Makefiles/gmake/linux/rules-so.mak: ditto
* src/explore/Makefiles/gmake/lib/rules-a.mak: ditto
* src/explore/Makefiles/gmake/app/top.mak: ditto
2004-07-21 Francois Dumont <dums@...>
* stlport/config/stl_gcc.h: Fix of a gcc 3.3.0 test that did not handle
the gcc 2.95.x correctly thanks Jordan Breeding.
* src/common_rules.mak: Addition of the stlport/stl/pointers folder within
the folder to be install. Add of a call to ranlib under linux mandatory under
Mac OS X and without impact under the other Unixes systems.
2004-07-17 Francois Dumont <dums@...>
* Application of a Mac OSX patch from John Daniel (www.etresoft.com)
2004-07-15 Francois Dumont <dums@...>
* stlport/stl/_epilog.h: systematical use of the redefined std namespace
rather than using the namespace inclusion schema.
* test/unit/set_test.cpp: addition of a test case to show the problem of
the namespace injection schema.
2004-07-13 Francois Dumont <dums@...>
* stlport/numeric: removal of the _function.h header include.
* test/unit/divide_test.cpp: add the missing functionnal header
inclusion.
* doc/README.msvc: new doc specific to the MSVC++ family compiler.
2004-07-12 Petr Ovtchenkov <ptr@Island...>
* test/unit/fstream_test.cpp: tests for unformatted extraction bug.
* stlport/stl/_istream.c: _M_read_unbuffered should leave delimiter
in the stream in case of unformatted input. Thanks Joerg Becker.
2004-07-09 Francois Dumont <dums@...>
* src/sgi_mipspro.mak: add the -LANG:libc_in_namespace_std:OFF
thanks Jack Perdue.
2004-07-08 Francois Dumont <dums@...>
* doc/README.evc3: additionnal doc thanks Michael Fink
2004-07-08 Petr Ovtchenkov <ptr@Island...>
* test/unit/sstream_test.cpp: added two test for unformatted extraction
and newline character. Inspired by Joerg Becker.
2004-07-07 Francois Dumont <dums@...>
* stlport/stl/_hashtable.h, stlport/stl/_hashtable.c,
stlport/stl/_hash_set.h, stlport/stl/_hash_map.h: generalization
of the iterator traits adopted on the tree class. Now iterator and
const_iterator on hash_set and hash_multiset are different types
even if iterator is still immutable.
* stlport/stl/_deque.h, stlport/stl/_list.h, stlport/stl/_slist.h:
Modification of the iterator classes to only use the template
parameter _Traits rather than using an external type traits. It is
the way hash containers and sorted containers have their iterator
struct working.
* stlport/stl/_iterator_base.h: Addition of the immutable traits
struct _Const_Const_traits and _Nonconst_Const_traits for
implementation of the set, multiset, hash_set, hash_multiset
iterators.
* stlport/stl/c_locale.h, stlport/stl/debug/_debug.h: removal of
unjustified _config.h inclusions
* stlport/stl/_iterator_base.h: inclusion of type_traits.h only
for compilers that need it.
* stlport/stl/_algobase.h, stlport/stl/debug/_debug.h: add inclusion
of type_traits.h.
* stlport/stl/_algo.h, stlport/stl/_algo.c: move of the _tempbuf.h
inclusion from the .h to the .c that is the only one that need it.
* stlport/stl/_config.h: addition of the boost support section.
2004-07-07 Petr Ovtchenkov <ptr@Island...>
* stlport/stl/_monetary.c: iterator __str_first out of range,
i.e. outside __str_last in 'mismatch' call in __get_string, if
size of interval [__first, __last) is larger than size of interval
[__str_first, __str_last).
* test/unit/fstream_test.cpp: test for correct report by tellg added.
2004-07-05 Francois Dumont <dums@...>
* stlport/stl/_map.h: internal type _Rep_type set as public for use
in the __move_traits specialization thanks Oliver Stoeneberg.
* stlport/stl/_set.h: specialization of the __move_traits to make the
set and multiset movable thanks Oliver Stoeneberg.
* stlport/stl/_function_base.h, stlport/stl/_heaps.h: removal of the
unjustified _config.h inclusion that should only be included from the
_prolog.h header.
2004-07-05 Petr Ovtchenkov <ptr@Island...>
* src/facets_byname.cpp: avoid pass address to member of derived class into
base class via constructor.
* src/facets_byname.cpp: remove first member---EOF---of _M_byname_table---one
not required and lead to wrong reference; this a fix for test in
locale_test.cpp.
* src/ctype.cpp: ditto.
* src/c_locale_win32/c_locale_win32.c: ditto.
* stlport/stl/_ctype.h: ditto.
2004-07-02 Petr Ovtchenkov <ptr@Island...>
* src/c_locale_glibc/c_locale_glibc2.c: message catalog functions dealing
with message catalog descriptor; but this descriptor not necessary to be
int; Linux use here void *, i.e. pointer to mmap segment.
* stlport/stl/_messages_facets.h: ditto.
* src/messages.cpp: ditto.
* src/message_facets.h: ditto.
* src/facets_byname.cpp: ditto.
* src/c_locale_stub.cpp: ditto.
* src/c_locale.h: ditto.
* src/c_locale_glibc/c_locale_glibc2.c: fix _Locale_extract_*_name
functions.
2004-07-01 Francois Dumont <dums@...>
* src/explore/Makefiles/nmake/lib/vc-common.mak: creation of the
STLP_BUILD_FORCE_DYNAMIC_RUNTIME option to create STLport statix
versions more easily.
2004-06-30 Francois Dumont <dums@...>
* stlport/stl/_function.h: Use a call_traits to avoid the reference
to reference problem in struct like binder1st or binder2nd.
2004-06-26 Francois Dumont <dums@...>
* src/explore/: portage of the explore build system for the
MSVC .Net 2003 compiler.
2004-06-24 Francois Dumont <dums@...>
* stlport/stl/_site_config.h: Addition of an entry for the per thread
allocator configuration.
* stlport/stl/_config.h: Avoid use of the import/export technique
when not using own iostreams. This way you can use the STLport debug
mode without building the libraries.
2004-06-23 Francois Dumont <dums@...>
* extension of the cygwin link problem workaround for mingw32.
* src/locale_catalog.cpp: Move of the _STLP_lock object instance
declaration to limit the critical section and improve performace.
* stlport/stl/_pthread_alloc.h: fix of the pthread_allocator and
per_thread_allocator allocate method to check for the required
number of element before multiplication with the size of the objects
to instanciate.
2004-06-22 Francois Dumont <dums@...>
* src/locale_catalog.cpp: fix of the locale facets registration system.
The hash container use string as key rather than char const* so that
a copy of the facet name is stored rather than a copy of the string
pointer that might be freed. We also extract the complete facet name
before storing it to avoid store of facet aliases that cannot be retrieved
at release.
2004-06-21 Francois Dumont <dums@s...>
* Restauration of the cygwin support (using gcc 3.3.1). Extension of the
explore build system, workaround of a link problem when using shared
libraries.
2004-06-13 Petr Ovtchenkov <ptr@Island...>
* src/c_locale_glibc/c_locale_glibc2.c: locale_data for glibc 2.3 is differ
from one for glibc 2.2.
2004-06-11 Francois Dumont <dums@...>
* test/unit: Modification of some tests to make the assertion
clearer. Mainly add of check of the streams state before check
of the stream content.
* test/unit/locale_test.cpp: fix of the thousands separator which is
0xa0 under Win32 and not a simple ' ' for the french locale.
2004-06-07 Francois Dumont <dums@...>
* stlport/stl/_algo.c: rollback of the sort algo implementation
to the 4.5.3 version.
2004-06-03 Francois Dumont <dums@...>
* stlport/stl/pointers/README, doc/pointer_specialization.txt: move and
rename of the doc about pointer partial template specialization feature.
* doc/README.ecv4: Creation of a documentation about the install and use
of STLport within Embedded Visual C++ 4 thanks Zdenek Nemec.
* doc/README.ecv3: Creation of a documentation about the process installment
with the Embedded Visual C++ 3 thanks Michael Fink.
* stlport/stl/_slist.h: fix of an invalid reference to a _M_node member data
on a _Slist_node_base struct (thanks gcc 3.4.0).
* stlport/stl/_string.c, stlport/stl/_string.h: fix of missing scopes to
access the base template class _String_base _DEFAULT_SIZE enum member.
(thanks gcc 3.4.0)
* stlport/stl/_string_base.h: fix of the anonymous union used as a parameter
of the template function swap. (thanks gcc 3.4.0)
* stlport/stl/_ostream.h: fixes of the missing scopes to access the basefield enum
within the base template class basic_ios from the basic_ostream. (thanks gcc 3.4.0)
* stlport/stl/_debug.c: clean up of a no more use template function.
(thanks gcc 3.4.0)
* stlport/stl/_rope.h: fix of the missing scope to access base template class
data member. (thanks gcc 3.4.0)
2004-06-02 Petr Ovtchenkov <ptr@island...>
* src/num_put_float.cpp: some fixes for systems that use snprintf for
output, i.e. for FreeBSD and OpenBSD
* test/unit/floatio_test.cpp: less precise request, this should work
with static buffer for systems that use snprintf
* stlport/stl/_config.h: detect MT for OpenBSD
* stlport/stl/_threads.h: use original spinlock for OpenBSD
2004-05-28 Francois Dumont <dums@...>
* stlport/config/stl_gcc.h: fix for the gcc3.4.0 compiler. Modification
of the include path macro to generate 3.4.0 rather than 3.4 . Need
template keyword to reveal use of a nested template class.
* stlport/stl/_config.h: creation of the _STLP_LONG_DOUBLE macro that
extend to long double on compiler supporting it and double on the other
as a workaround.
* stlport/stl/_num_put.h, stlport/stl/_num_put.c, src/num_put_float.cpp:
Addition of functions to get the digits from a long double for the monetary
facet.
* stlport/stl/_monetary.h, stlport/stl/_monetary.c, src/monetary.cpp:
Implementation of the missing money_put::put method taking a long double.
Fixing of the grouping application.
* test/unit/Makefile.inc, test/unit/locale_test.cpp: Creation of a unit test
for the locale support. At creation it tests the num_put, num_get, money_put,
money_get facets.
* src/facets_byname.cpp: fix of the monetary format determination from
the locale platform API informations.
2004-05-28 Petr Ovtchenkov <ptr@Island...>
* src/explore/Makefiles/gmake/sysid.mak: correctly detect Mingw
* src/explore/Makefiles/gmake/mingw: compilation under Mingw
2004-05-27 Petr Ovtchenkov <ptr@Island...>
* Makefiles/gmake/linux/extern.mak: fix lib catalog name in case of cross-compilation
* Makefiles/gmake/freebsd/extern.mak: ditto
* Makefiles/gmake/openbsd/extern.mak: ditto
2004-05-26 Petr Ovtchenkov <ptr@Island...>
* Repository: STLport 5.0 RC1
2004-05-24 Francois Dumont <dums@...>
* stlport/stl/_iostream_string.h:
Fix of the iostring_allocator rebind embedded struct and implementation
of the missing __stl_alloc_rebind and __stl_alloc_create useful for compiler
not supporting or buggy on the member template feature (VC6 for instance).
2004-05-22 Francois Dumont <dums@...>
* src/num_put_float.cpp, stlport/stl/_num_put.h, stlport/stl/_num_put.c:
Correction of the locale grouping schema application in case of the scientific
output when there is no decimal point.
2004-05-19 Petr Ovtchenkov <ptr@Island...>
* stlport/stl/_tree.h, stlport/stl/debug/_tree.h: fix template parameters, see rec
2004-05-14 below.
2004-05-16 Petr Ovtchenkov <ptr@Island...>
* Repository: STLport 5.0 branch
2004-05-14 Francois Dumont <dums@...>
* stlport/stl/_tree.h, stlport/stl/_tree.c, stlport/stl/_set.h, stlport/stl/_map.h:
Modification of the _Rb_tree implementation to restore the non mutability of the set
iterators but to keep distinct type between it and the const_iterator.
2004-05-13 Francois Dumont <dums@...>
* stlport/config/stl_evc.h, test/unit/nmake-evc3.mak: Portage to the WinCE 3 platform.
Thanks Michael Fink.
2004-05-13 Francois Dumont <dums@s...>
* stlport/stl/_set.h: Addition of the const/non-const methods for many methods now that
iterator are not const_iterator anymore. Correction of the multiset interface to be
homogeneous with the set interface.
2004-05-09 Francois Dumont <dums@...>
* stlport/stl/char_traits.h: Addition of the specific wchar_t static methods similar
to the one of the char specialization calling the wide functions.
2004-05-08 Petr Ovtchenkov <ptr@Island...>
* stlport/stl/_set.h: fix definition of const/non-const for find and *_bound
methods. Thanks KL for report.
2004-05-07 Petr Ovtchenkov <ptr@Island...>
* stlport/stl/_set.h: fix definition of const/non-const iterators.
Thanks Ilya Chvetsov for report.
* test/unit/set_test.cpp: test that detect bug above.
2004-04-27 Francois Dumont <dums@s...>
* stlport/stl/_complex.h: removal of a macro guard on the template != operator.
* test/unit/complex_test.cpp: creation of a test case for the complex class.
2004-04-26 Francois Dumont <dums@s...>
* stlport/stl/_fstream.h, src/fstream.cpp: extension of the fstream interface to accept Win32
HANDLE on construction and in the open method.
2004-04-26 Petr Ovtchenkov <ptr@Island...>
* stlport/stl/_istream.h: don't change value while input error happens.
Thanks Nix.
* test/unit/sstream_test.cpp, test/unit/fstream_test.cpp: added test for error
flags and unchanged value when input error occur.
2004-04-23 Petr Ovtchenkov <ptr@Island...>
* stlport/stl/_rope.h: allow search of rope, like done in string
2004-04-21 Francois Dumont <dums@...>
* stlport/stl/pointers/README: Creation of a documentation on the new
pointer partial specialization feature.
2004-04-20 Francois Dumont <dums@s...>
* stlport/stl/_pair.h: modification of the make_pair signature. After the latest
Standard revision it takes params per value and not reference to const.
2004-04-20 Petr Ovtchenkov <ptr@Island...>
* stlport/stl/pointers/_list.h: 'clear' method was forgot.
* test/unit/list_test.cpp: check presence of 'clear'
2004-04-15 Petr Ovtchenkov <ptr@Island...>
* test/unit/partial_test.cpp: wrong comparison during test
* test/unit/sort_test.cpp: ditto
* test/unit/rm_cp_test.cpp: #ifndef not required---should work
* test/unit/unique_test.cpp: ditto
2004-04-14 Petr Ovtchenkov <ptr@Island...>
* stlport/typeinfo, stlport/config/stl_wince_4.h, stlport/stl/debug/_debug.c: adaptation for Win CE .NET;
Thanks Zdenek Nemec.
* stlport/stl/_algobase.h: calculate difference once
* stlport/stl/pointers/_vector.h: missed returns. Thanks KL.
* stlport/stl/pointers/_list.h: idem.
* stlport/stl/pointers/_deque.h: idem.
* stlport/stl/pointers/_slist.h: idem.
* stlport/stl/_vector.c, stlport/stl/_vector.h: big enough functions moved to non-inline section
* stlport/stl/_iterator.h: use reference instead of pointer for stored container
2004-04-06 Petr Ovtchenkov <ptr@Island...>
* stlport/stl/_prolog.h: when we in _STLP_REDEFINE_STD mode, we really
need to #undef std, see mistake 2004-02-19 below.
* stlport/config/stl_msvc.h: partially undo workaround 2004-03-30,
not required; problem was solved by #undef std in _prolog.h
* stlport/stl/_abbrevs.h: add new abbrevs---VC6 has problems in debug mode
2004-04-03 Petr Ovtchenkov <ptr@Island...>
* stlport/stl_user_config.h: expose _STLP_DONT_FORCE_MSVC_LIB_NAME for
configuration.
* stlport/config/stl_msvc.h: incorporate content of stl_select_lib.h and
vc_select_lib.h; a bit cleaned.
* stlport/config/stl_select_lib.h: removed.
* stlport/config/vc_select_lib.h: removed.
2004-04-02 Petr Ovtchenkov <ptr@Island...>
* src/time_facets.cpp: add #include <cstdio> for sprintf; remove
c_copy_string function.
* stlport/stl/_time_facets.h: fix for _STLP_LEAKS_PEDANTIC.
2004-04-01 Petr Ovtchenkov <ptr@Island...>
* stlport/stl/_string.h: reorder of in-class template and
quazi-specialization function make VC happy, ref. 2004-03-29
* stlport/stl/debug/_string.h: fix insert and replace for
iterators that refer to same string in _STLP_DEBUG mode.
2004-03-31 Petr Ovtchenkov <ptr@Island...>
* src/explore/nmake-evc4-arm.mak, src/explore/nmake-evc4-x86.mak, etc.:
rules for eVC4 compilers---ARM and ix86 target architectures.
Contribution by Zdenek Nemec.
2004-03-30 Petr Ovtchenkov <ptr@Island...>
* stlport/stl/_algo.c: workaround for VC compilers---ones pass reference
to parent object directly, pay no regard for temporary object
* stlport/new, stlport/stl/_new.h, stlport/typeinfo, stlport/config/stl_msvc.h:
workaround for VC6's problem with 'using' directive, while import native
bad_alloc and some other classes into STLport's namespace
* stlport/stl/_streambuf.h: export template class, to make VCs to be happy.
* stlport/stl/_valarray.h: use <new>, not <stl/_new.h>
* src/explore/Makefiles/nmake/lib/macro.mak, test/unit/nmake-vc6.mak:
fix static library names
2004-03-29 Petr Ovtchenkov <ptr@Island...>
* stlport/stl/_set.h: fix problems with erase functions.
* stlport/stl/_string.h: VC compiler expect only one variant---template
or not---of replace function with four iterators in parameters.
* test/unit/nmake-src-prefix.mak: really know what do with sources
in cppunit.
2004-03-25 Petr Ovtchenkov <ptr@Island...>
* stlport/stl/_string_base.h: enlarge default string static buffer size
* stlport/stl/debug/_string.h: avoid attempt to invalidate iterators beyond
string size range.
* stlport/config/stl_gcc.h: instantiation scheme that idefault used---witout
--repo option---in gcc 3 made void of sense explicit instantiation within
library---nothing except increased library size.
Define _STLP_NO_FORCE_INSTANTIATE is default now for gcc 3.x.
* stlport/stl/_streambuf.h: remove specialization of
basic_streambuf<char, char_traits<char> >---reference to FILE struct here
isn't required and really not used anyware. Functionality of standard io
streams, including synchronization with C std io streams provided in
src/stdio_streambuf.cpp
* stlport/stl/_iosfwd.h: same.
* src/fstream_impl.h, src/iostream.cpp, src/stdio_streambuf.cpp: same.
* src/streambuf.cpp: removed.
* stlport/stl/_stdio_file.h: moved...
* src/_stdio_file.h: ...here
* stlport/stdio_streambuf: moved...
* src/_stdio_file.h: ...here
* src/explore/Makefile.inc: remove streambuf.cpp
2004-03-24 Petr Ovtchenkov <ptr@Island...>
* c_locale_glibc2.c: real locale implementation for glibc 2.3.x.
2004-03-15 Petr Ovtchenkov <ptr@Island...>
* test/unit: unit test suite intended for test/regression replacement.
Zdenek Nemec contribution.
2004-03-01 Francois Dumont <dums@s...>
* _hash_fun.h: Correction of the hash struct specialization for the _STLP_LONG_LONG
type. Thanks Vianney Lecroard
* type_traits.h: Integration of the boost (www.boost.org) type traits within STLport.
2004-02-21 Francois Dumont <dums@s...>
* _tree.h: Modification of the base class implementtion to avoid the systematical
dynamic allocation of a node as the root note of the RB tree.
* Addition of many missing macro guards in the stlport public headers to avoid to break
the stlport prolog/epilog include framework.
2004-02-19 Petr Ovtchenkov <ptr@Island...>
* _slist.h, debug/_slist.h,, dll_main.cpp: remove excess slist redefinitions
* debug/_slist.h: comment explicit usage of namespace with functions---under
some conditions this hangs gcc compilers.
* _config.h, _cwchar.h, _epilog.h, _iterator_base.h, debug/_debug.c: multiple import
of _STL namespace into std, as multiple import VENDOR_CSTD namespace into _STL
namespace lead to crash of gcc compilers. Import of _STL namespace into std
namespace done once in the _config.h, not in _epilog.h.
* _prolog.h: undef std not required in all cases; instead this is useful only
for redefinition of std namespace, and should be done in the _config.h.
* _epilog.h: include of _config.h has no sense here.
* _threads.h: wrong import of _STL namespace into global namespace
2004-02-18 Francois Dumont <dums@s...>
* _list.h: Modification of the base list class based on the slist implementation.
The list do not allocate a node systematically anymore even for the empty list.
2004-02-14 Petr Ovtchenkov <ptr@Island...>
* debug/_relops_cont.h, debug/_string.h: fix typos in template specializations.
2004-02-12 Petr Ovtchenkov <ptr@Island...>
* explore/icc.mak: experimental make system support Intel's icc compiler
on Linux.
2004-02-05 Petr Ovtchenkov <ptr@Island...>
* iostream.cpp, _ios_base.h, iostream, locale_impl.h, locale_impl.cpp:
revise standard iostream and locale initialization, remove worrits about
order of static objects initialization as soon as possible; all real
initialization situated in the locale_impl.cpp; locale initialization
moved to _Locale_impl constructor---locale will be correctly initialized
either via direct locale usage, or during standard iostream initialization,
as ios_base member. This changes may lead to problems with Digital Mars
and Borland compilers---should be checked and fixed.
2004-02-03 Francois Dumont <dums@s...>
* integration of a portage to the Windows CE .NET (eMebedded Visual
C++ 4) compiler thanks Zdenek Nemek
2004-02-02 Petr Ovtchenkov <ptr@Island...>
* _iostream_string.h: avoid usage of iostring in the _STLP_DEBUG mode,
due to iostring::iterator not convertable into string::iterator in this
mode.
2004-01-29 Petr Ovtchenkov <ptr@Island...>
* _string.c: avoid 'insert( iterator, const_iterator, const_iterator )'
instantiation in the 'replace'---VC6 has problem here.
2004-01-29 Francois Dumont <dums@s...>
* facets_byname.cpp: correction of the typeid use thanks to Ulrich Eckhardt.
* _iostream_string.h: creation and integration of a special string used within
the iostream implementation to display floating point numbers. It mixes a static
buffer with a dynamic one to improve performance.
2004-01-22 Francois Dumont <dums@s...>
* _new.h: check of the _STLP_USE_EXCEPTIONS before correction of the new
operator behavior and bad_alloc exception definition.
* _ios_base.h: removal of the _M_get_facet function not fully implemented
and unused thanks Ulrich Eckhardt.
* _algo.h: correction of the __less_2 helper struct to remove
copy thanks Sergey Volk
2004-01-19 Petr Ovtchenkov <ptr@Island...>
* _debug.c: avoid recursive locks in __owner_list's mutex---equivalent
code use underlie iterators, not debug wrapper iterators. By the way this
approach faster---no excessive checks; solved by Boris Fomitchev.
* _thread.h, _debug.h: recursive-safe mutex structure removed---not
required more; see reason just above.
2004-01-09 Francois Dumont <dums@s...>
* type_manip.h: Correction of the _IsSame struct to have both partial template
specialization version and the other behaving similarly.
2004-01-07 Francois Dumont <dums@s...>
* _deque.c: Mysterious copies of instance to store in the containers
has been removed.
2004-01-05 Francois Dumont <dums@s...>
* _list.h, _slist.h: Implementation of the pointer specialization for list
and slist.
2003-12-31 Petr Ovtchenkov <ptr@Island...>
* _vector.h, _vector.c, _hashtable.h: remove excess vector redefinitions
* debug/_vector.h: pointer specialization for vector not derived
from _Vector_base, so we should avoid references on _Vector_base
class members in debug wrapper.
2003-12-22 Francois Dumont <dums@s...>
* _string.h: use _STLP_FORCE_STRING_TERMINATION flag to enforce
null-termination of data associated with string.
2003-12-20 Francois Dumont <dums@s...>
* _vector.h: Implementation of the pointer specialization for vector to
avoid code bloat.
2003-11-29 Francois Dumont <dums@s...>
* _string.h: Implementation of the short string optimization.
basic_string have now a short static buffer to avoid call
to the allocator when the string is short.
2003-11-29 Petr Ovtchenkov <ptr@Island...>
* cwchar, _config.h, _cwchar.h, _stdio_file.h, c_locale.h:
support for OpenBSD, gcc 3.3.1
* src/explore/Makefiles/gmake/...: support for OpenBSD, gcc 3.3.1
2003-11-17 Francois Dumont <dums@s...>
* _alloc.h: Move of the definition of _Alloc_Traits before inclusion
of _pthread_alloc.h; thanks Diego Klabjan
2003-11-16 Petr Ovtchenkov <ptr@Island...>
* _algobase.h, _algo.c: iter_swap and __insertion_sort don't
properly deduce value type of iterator, instead uses dereference's
return type; this occur when dereference return some proxy object,
convertible into value type.
Thanks Przemek Kuczmierczyk <przemekk834@tlen.pl> for report, test
and solution.
* iterswp0.cpp, iterswp1.cpp, iterswp.cpp, stl_test.cpp,
stl_test.h, Makefile.inc (test/regression): move iterswp0_test,
iterswp1_test into iterswp.cpp, add new tests for properly deduce
value type of iterator, when dereference return some proxy object.
2003-11-15 Francois Dumont <dums@s...>
* _string.h: implementation of the expression template for string
addition with other string or C string or char.
* _ostream.h: adoption of the classic (even if not clear in
the standard) ouput for short and int negative values in hexa
or octo bases that is display according its size for the compiler.
thanks Tanaka.
2003-11-14 Petr Ovtchenkov <ptr@Island...>
* src/c_locale.c, src/c_locale_glibc/c_locale_glibc2.c: step to
real locales support with glibc >= 2.2.x
* src/c_locale_glibc/c_locale_glibc.c: bit fixes for locales
support with glibc < 1.90, and, possible, 1.90 <= glibc < 2.1;
we can't support this old code, so file
src/c_locale_glibc/c_locale_glibc.c is obsolete, and will be
removed.
* src/explore, test/regression/explore: exprimental make system.
2003-11-13 Petr Ovtchenkov <ptr@island...>
* STLport (repository): current development moved to CVS HEAD stream.
* STLport (repository): current development stream marked as STLport 5.0.
2003-11-02 Francois Dumont <dums@s...>
* _limits.c: Correction of the quiet and signaling NaN that was inverted
for several platform; thanks Alexey Sarytchev.
2003-11-01 Francois Dumont <dums@s...>
* _string.c: judicious correction for string::find_first_not_of to
improve performance; thanks Stephen Cleary.
* _bitset.h: integration of a workaround for up to MSVC6 compilers
for the bitset input and output operators; thanks Jesse Booher.
* _ostream.h, _istream.h: fix of a non-standard behavior of the seekp
and seekg calls and conformance to the latest 2003 standard; thanks Tanaka.
2003-10-26 Francois Dumont <dums@s...>
* _monetary.c: fix an other memory overrun on monetary display;
thanks Tanaka.
2003-10-26 Petr Ovtchenkov <ptr@island...>
* ioiter.cpp, gcc.mak, stl_test.h, stl_test.cpp, stl_test.exp
(test/regression): tests for postfix increment operator and
indirection of istreambuf_iterator.
2003-10-25 Petr Ovtchenkov <ptr@island...>
* _istreambuf_iterator.h: fix postfix increment operator
of istreambuf_iterator to provide conformance with
ISO/IEC 14882:1998(E), 24.1.1, p.511, i.e.
*r++ equivalent to { T tmp = *r; ++r; return tmp; }.
Thanks Tanaka for the report.
2003-10-23 Francois Dumont <dums@s...>
* debug/: modification of the invalidation of iterators to avoid
invalidation of the end iterator for the associative containers,
hashed containers and list on calls to clear/assign/assignment
operator. (thanks Alexey Sarytchev)
* _rope.h: Correction of the rope::iterator and rope::const_iterator
copy constructor and assignment operator (thanks Bradley Grainger)
2003-10-16 Francois Dumont <dums@s...>
* _alloc.h: Add of the throw() specification on allocator comparision.
* _iterator.h: Correction of the operator++(int) signature to conform
to the standard.
* _ctype.h: tolower and toupper for wchar_t types.
* _valarray.h: gslice_array::operator = (const value_type&) not
const anymore
* _valarray.h: slice_array idem
* _valarray.h: valarray<T> operator [](const gslice&) former version
was taking a copy of gslice
* _codecvt.h: correction of the default codecvt class definition and
correction of the out method
(all thanks Richard Peng)
2003-10-16 Francois Dumont <dums@s...>
* debug/: add of the iterator range check on all container constructors.
* _string.h: correction of a bug on string auto referencing throught
some method like insert and replace. (thanks Tanaka)
* _valarray.h: correction of the missing slice_array copy constructor
and assignment operator in the private section (thanks Tanaka)
2003-10-11 Petr Ovtchenkov <ptr@island...>
* _sstream.c: [io]?stringstream must do equivalent of seek at end,
after opened with ios_base::ate; this behaviour useful only when buffer
initialized by string; thanks Tanaka for the report.
2003-10-06 Francois Dumont <dums@s...>
* _istreambuf_iterator.h, _ostreambuf_iterator.h: correction
of the missing iterator base class (Thanks Tanaka)
2003-10-05 Francois Dumont <dums@s...>
* _string.h: correction of the replace implementation badling form
for self referencing
* _string.h, _string.c: Modification of the _M_copy method
to _M_move as basic_string do not correctly handled self referecing;
thanks Tanaka
2003-09-25 Francois Dumont <dums@s...>
* como 4.3.0 on linux support (thanks Synge Todo and Karel Gardas)
* Quazy-leak patch: make memory detection tools happier,
option _STLP_LEAKS_PEDANTIC in _site_config.h. (thanks Petr Ovtchenkov)
2003-09-19 Francois Dumont <dums@s...>
* Support of the Linux Intel C++ support (thanks Blaine Kubesh)
* FreeBSD support update (thanks Guy Middleton).
----
* codecvt.cpp: charcode correction in the do_in method (thanks J Hamilton report)
----
* _valarray.h: Correction of the missing explicit keyword in front of one of the valarray constructors
(thanks Stephen Clamage)
----
2003-08-10 Francois Dumont <dums@s...>
* stdexcept: Correction of the mysterious 50 messages from VC7.Net (thanks Krish S)
----
* _vector.h: implementation of the max_size method based on the allocator::max_size method
(thanks Gennaro Prota from the boost forum).
----
* _vector.c: add of the standard length_error exception to the reserve method (thanks Steven Youngs).
----
* _alloc.h: add of a check of the number of element require to allocator::allocate to avoid a possible
size_type overflow (thanks Steven Youngs).
----
* _istream.h: move of the ws implementation within the header to avoid undefined symbol
under NO_CUSTOM_IO mode (thanks Ulrich Eckhardt)
----
* ctype.cpp : charcode correction (thanks Markus Stier reports and Alberto Barbati correction)
----
* _function.h : all function can now be used in a non-const world (thanks Alexey Kirjushkin)
----
* move constructor framework integration (thanks Francois Dumont)
----
* containers interface correction for standard compliance when using explicit
intanciation of not default constructible type. (thanks Alexei Agafonov report)
----
* iostream.cpp, locale_impl.cpp : static initialization made robust for case of
dynamic loader circular dependancies (Thanks Alexey Sarytchev for the report)
----
* _function.h : integration of a new workaround for mem_fun_* family
for compiler having return void bug (Thanks Pavel Kuznetsov).
* stl_solaris.h : v8plus compilation fix (Thanks Mukesh Kapoor)
* num_put_float.cpp : FreeBSD fix
* _construct.h : fixed case for compilers with default integer
constructor bug
---
* fstream.cpp : text file stream position bug correction (thanks Christopher Kohlert)
---
* _num_put.c : Correction of the display of the min 64 bits signed integer values
like numeric_limits<__int64>::min() on WIN32 for instance (thanks Anders Dalvander)
---
* _num_put.c : Add of the '+' sign when requested for the unsigned integer display
(thanks Francois Dumont)
---
* debug : many missing iterator invalidation corrected (thanks Detlev V.Davidson and Francois Dumont)
---
* _new.h : introduction of a new config compiler switch for those which do define
bad_alloc but that do not throw it! (thanks ?)
---
* _new.h : class nothrow_t changed to struct nothrow_t (Thanks Francois Dumont)
---
* _bvector.h : Addition of the |= and &= operator on the _Bit_reference struct (thanks Ed Rice)
---
* Performance bug in type_traits.h fixed (Thanks Francois Dumont)
---
* Added Linux spin lock code ()
---
* Added GCC-3.x configurations
* Fixed HP aCC support
* Added OpenWatcom support
* version numbers bumped
* iostreams ported to EMX (gcc on OS/2) (Thanks Martin Schaffoener)
* iostreams ported to CRAY Unicos C90, T90, and J90 (Thanks Geir Johansen)
* stl_sunpro.h : fixed mbstate definition for SUN 4.2 (thanks lengzq)
* complex.cpp, _complex.h : template<> used for specializations
* _num_put.c : unused locale variable removed (thanks Petr Ovtchenkov)
* _algo.h : __reverse beautified (thanks Kabanov)
* dll_main.cpp : force_link() forced to be linked in
* stl_msvc.h : config changes for .NET
* _auto_ptr.h : "struct" changed to "class"
* _istream.c : M_read_unbuffered fixed (thanks Stefan Schwarzer )
* stl_gcc.h : added missing inclusion for SCO platform (thanks Emmanuel Soden)
* _tree.c : optimized insert_unique (thanks Timothy)
* _algo.c : relaxed type requirements for lower_bound, upper_bound, binary_search
* _algo.h : adjacent_find() expressed with compare-function flavour
* cpp_runtime/typeinfo : made adjustments for .NET (Thanks Daniel)
* cstd/cassert : guard removed (thanks Evan Cheng)
The following changes were made in 4.5.3 since 4.5.1 release:
* iostreams ported to Windows CE (thanks Andrew Waters)
* iostreams ported to AmigaOS (thanks Steven Solie)
* iostreams ported to NCR 3.x (thanks Emmanuel Soden)
* _hash_map::operator[] : enhanced to avoid calling default object constructor
(Thanks Yuri Taranenko for the report)
* Identifier "__value" changed everywhere to "__val" to avoid clashes with Microsoft's "managed C++" keyword (thanks Crow for the report)
* Most containers : swap() fixed to swap non-stateless allocators correctly (thanks Scott Meyers)
* _sstream : fix to account for ios_base::app flag properly
* type_traits.h : _IsOKToMemCpy() fixed to only allow memcpy() for same type arguments (thanks Ed Brey for the report)
* stl/_num_put.c, stl/_list.c : workarounds for Debian gcc (thanks Levente Farkas)
* <typeinfo> : fixed MS workaround (thanks Wil Evers, Andrew Ushakov)
* _pthread_alloc.h : added per_thread_allocator class; returns memory to the same thread it's been allocated in.
* _iterator_old.h : restored ->() operator for MSVC (thanks Daniel Anderson)
* a bunch of MPW fixes (thanks Tsutomu Yoshida)
* _config_compat.h : fixed compatibility definition for _STLP_NO_EXCEPTIONS (thanks Nicolas)
* _fstream.c : fixed bug in _M_seek_init (thanks Pavel Kuznetsov)
* _rope.h : rope<>::swap() methods fixed for non-partial ordering case (thanks Eric Musser)
* comlex_trig.cpp : fixed bug on SGI (thanks Mortis)
* A bunch of fixes for HP aCC compilation with -AA option (thanks John Bossom)
* *.c files : added conditional inclusion of corresponding *.h file to fix xlC issues with -tempinc option (thanks Alla Bogolyubov for the report)
* _auto_ptr.h : "struct" changed to "class" (thanks Alex Pinsker for the report)
* _config.h/stl_user_config.h : handling of macro _STLP_WHOLE_VENDOR_STD rectified
* _num_put.c : do_put(const void*) changed to output pointers in hex format (thanks Alex Rosenberg)
* test/eh/test_algobase.cpp : fixed alignment to work on 64-bit architectures
The following changes were made in 4.5.1 beta 1 since 4.5 release:
* _config.h, _epilog.h : new namespace inclusion schema implemented for own iostreams mode
(no std:: redefinition; _STL:: namespace imported into std::, instead of std:: imported to _STL.
C library header files wrappers become obsolete if this mode is used and no own namespace is selected.
They will be moved out to distinct directory in the next release, and default is going to be no own namespace
with own iostreams.)
For some compilers (VC6), this only works with _STLP_NO_OWN_NAMESPACE and _STLP_OWN_IOSTREAMS settings.
* iostreams ported to SCO OpenServer (thanks Emmanuel Soden)
* sparc_atomic.s : added "stbar" to fix multiprocessor crashes on SPARC
* dll_main.cpp : forced link of Bs_G static data members (thanks Sandy Martel). Function wrapped in STLport namespace.
* _alloc.c : fixed _STLP_CHUNK_MALLOC for debug malloc configuration (thanks Markus Sch pflin)
* _config_compat.h : fixed compatibility section for _STLP_NO_OWN_IOSTREAMS
* fstram.cpp , vc6.unicode.mak : fixed bug in wide streams handling for VC6 (thanks Jim Dolter)
* etc/*.txt : files list broken up into several categories for future reorganization
* stl_msvc.h : fixed library selection for .NET (Thanks Franz Zetting)
* _ftsream.h, iostream.cpp : fixed compilation for _STLP_NO_EXTENSIONS case (thanks Ben Dorman for the report)
* char_traits.h : fpos<> operators == made members (thanks Thomas Witt)
* _threads.h : added using directive for Solaris x86 compile (thanks Mukesh Kapoor)
* _threads.h : fixed InterlockedXXX definitions for VC++ 6.0 SP5 (thanks AndreasM)
* gcc-install-apple-macosx.mak : INSTALL_STEP set to install_unix (Thanks Tron Thomas)
* common.mak : default install directory for Unix set to /usr/local
* _string.h : _M_null expressed via _STLP_DEFAULT_CONSTRUCTED (Thanks Anthony)
* _site_config.h : made sure _STLP_NO_THREADS are set if _NOTHREADS is on (Thanks Jeppe Madsen)
* _config.h : _STLP_WIN32THREADS is set (bugfix) ( thanks to Andreas Malzahn )
* _num_put.c, common_rules.mak : patches by Levente Farkas
* etc/STLport-4.5.1.spec : spec file to build STLport-4.5.1 RPM added (thanks Levente Farkas)
* _auto_ptr.h , _debug.c, _debug.h : debug check for auto_ptr pointer added (thanks Gerd Hoeren for the idea)
* debug/_vector.h : invalidation for erase() corrected not to invalidate current iterator (Thanks ALberto Barbati)
* stl_bc.h : restored automatic library link directive for cases when STLport is not a native library
* _auto_ptr.h : template constructor conversion bug fixed (thanks mbergal)
* MIngw32 patches integrated (thanks Wu Yongwei)
* src/complex_impl.h : case for DEC CXX changed to general, instead of extension functions for float and long double, to get it compliled with CC 6.1 (thanks Tony McConnell)
* dll_main.cpp : added __malloc_alloc instantiation (thanks Michael Ehrig)
* _debug.c : fixed race condition in _M_detach (thanks Achim Stremplat)
* test/*/hpacc.mak : fixed flags and libs (thanks Michael Ehrig)
* typeinfo : added fix for MS VC ::bad_cast confusion (thanks Alberto Barbati)
* debug/_vector.h : removed extra guard for MSCV around member template constructor (thanks Alberto Barbati)
* _fstream.h : added extension basic_fstream<> constructors taking protection parameter (thanks Mukesh Kapoor for the idea)
* stl_sunpro.h : added additional C include directory choice for Solaris 6&7 (thanks John E. Bossom)
* _vector.c : added _vector.h inclusion for _STLP_LINK_TIME_INSTANTIATION case (thanks Alex Vanic)
* _num_put.c : fixed overflow case with grouping (thanks Will Evers)
* _istreambuf_iterator.h : fixed distance_type return type (thanks Anthony Williams)
* debug/_vector.h : debug version of push_back() added (thanks)
* Iostreams ported to LynxOS 3.0 (thanks Dmitry Azovtsev)
* wrappers/*.h : added inclusions of the master header to fix xlC 3.x compile (Thanks Dmitry Azovtsev)
* Changes for BCB6 integration (thanks Nathan York)
* Removed all dead code blocks marked by #if OBSOLETE and #if 0
* Updates build spec file for Linux rpm (thanks Levene Farkas, Harold van Oostrom)
* complex_trig.cpp : limits changed to be static, for performance optimization (thanks Sergei Nikolaev)
* _algo.c : eliminated default-constructed iterators, to lift unnecessary restriction (thanks Tonci Tomic )
* _vector.h : fixed bug in assign() : copy used instead of __copy_aux (Thanks Tim Finer)
* stl_sunpro.h : restored _STLP_HAS_NO_NEW_C_HEADERS switch for SUN CC 4.2
* <new> : __stl_new definition put into the namespace (thanks Satoshi Nakamura)
* bcb*.mak : fixed md command and DYN_LINK (thanks Kirby Zhou)
* stl_user_config.h : added _STLP_USE_CUSTOM_CHAR_TYPES_IO switch to optimize iostreams for default case
* debug/_vector.h : fixed debug check bug (thanks Gerd Hoeren)
* _alloc.h : allocator::construct uses std::_Construct (thanks Gert Grossmann)
* stl/_alloc_old.h : restored (thanks Gert Grossmann)
* stl/_threads.h : fixed _STLP_ATOMIC_xxx macros for DEC (thanks Gert Grossman)
* src/_locale_impl.cpp : added missing guards for codecvt<> in _STLP_NO_MBSTATE_T case
The following changes were made in 4.5 release since 4.5 beta 8 :
* _threads.h, debug/_debug.h etc : STLport iostreams library made binary compatible with user code compiler w/o multithreaded switch, for some platforms
* config/stl_msvc.h, <cmath> : corrected _STLP_NO_USING_FOR_GLOBAL_FUNCTIONS for VC++ 6.0 SP5
(Thanks Alberto Barbati)
* src/vc6.mak : RC macro definition restored (Thanks Graham)
* stl/_cmath.h, <cmath> : parts of code moved to <cmath> as <valarray> uses it (Thanks Synge Todo)
* stl/_tree.c : fixed insert_unique() with a hint bug (Thanks Serge Pashkov)
* src/gcc-*.mak : removed -nostdinc++ option
* stl_solaris.h : definition of _STLP_SUNPRO_EXCLUDE made dependant on _XOPEN macro instead of SUN CC macros (Thanks ecohen for the report)
* fstream.cpp : mmap_chunk made to be 1M instead of 16M as was originally intended (thanks Alexey Starikovskiy)
* stl_sunpro.h : _STLP_LIMITED_DEFAULT_TEMPLATES not defined for compat mode anymore ( thanks Michael Kopp)
* dll_main.cpp : added instantiation for _Swap_lock_struct<> (thanks simonb)
* _ostream.c : fixed formatting bug for width()==1
* config/_epilog.h : added option pop section for Borland.
* stl/_threads.h : fixed InterlockedXXX declarations for MS .NET (thanks Piers Haken)
* vc7.mak makefile added for MS VC++ 7.0 (.NET)
* fixed _STLP_ITERATOR_CATEGORY, etc. for Mwerks CodeWarrior 5.0
* stl/_num_put.c : fixed operator<<(void*) to use _STLP_LONG_LONG where available.
* _STLP_WHOLE_VENDOR_STD option is back supported (Thanks anton ephanov for the input)
* _cmath.h : added guard to mask additional overloads (thanks Tim Smith)
* stl_solaris.h : mbstate_t stuff defined here, old-style C headers used (Thanks Mukesh Kapoor)
* type_traits.h : __default_constructed() inlined (Thanks Matt Davies)
* new.h : fix for gcc-3.0 to look in backward directory (Thanks Ken)
* stlport/using/h/streambuf.h added (Thanks Gennadiy)
* A bunch of changes for Borland static and DLL compile (Thanks Nathan York)
* stl/_algo.c : fixed find_end() bug (Thanks Alberto Barbati)
* stl/_queue.h : priority_queue<>::_comp renamed to "comp" as standard states (thanks Todd Greer)
* _limits.c : added correct data member representations for AS400 and Alpha machines (thanks Holger Stash)
* _vector.h : added check to avoid calling allocator<>::deallocate(0) (thanks Stephen Cleary)
* config/_prolog.h, config/_epilog.h : added push/pop pack(8) pragmas for MSVC (thanks Todd Greer, Alberto Barbati)
* gcc.mak's : default spelling for "-pthreads" option changed to "-pthread" as more platforms use that.
The following changes were made in 4.5 beta 8 since 4.5 beta 7 :
* stl/_fstream.c : _M_underflow bug fix for custom codecvt facets (thanks Alberto Barbati)
* bcc55.mak : c_locale.c added to the link command (thanks Steve Loves)
* _iterator_base.h & many other places : iterator tags are being accepted by const reference
instead of value, to fix segmentation faults experienced on certain platforms with beta7.
That also should improve efficiency on same platforms (apparently, empty unreferenced
objects with no constructors/destructors were copied on the stack when passed by value).
Accompanied change eliminates hardcoded deference hack used in previous beta.
Thanks everybody who reported this.
* stl_user_config.h : added _STLP_GCC_USES_GNU_LD switch. This is for those platforms
where native linker does not let gcc to implement automatic instantiation of static
template data members (Tru64, AIX, HP-UX).
It is being put in this file as there is no automatic way to check if we are using GNU ld or not.
* _range_erors.h : depandancy on <stdexcept> and <string> removed for own iostreams mode
(thanks Doug Gilbert)
* debug/_list.h : "typename" added in new methods (thanks Doug Gilbert)
* _config.h, src/common_macros.mak : beta version number bumped
* src/ftream.cpp, c_locale_win32.c : fixes for UNICODE compilation (thanks Valo)
* stl_gcc.h, etc : changes for GCC support on Tru64 (thanks Tobias Ernst)
* _alloc.c : for MS VC, malloc_dbg only used when _STLP_DEBUG_ALLOC is set, not for all debug configs
(Thanks Anton Ephanov)
* test/eh/gcc.mak : directories stuff fixed (Thanks Brodie)
* stl/_complex.h : fixed declarations for long double specializations (Thanks Tsutomu Yoshida)
* locale_byname.cpp, etc. : fixes for Apple compilers by Tsutomu Yoshida.
* _ios_base.h : __evenk id changed not to clash with MS VC++ 7 (thanks Paul Ghezzi)
* _fstream.c : added basic_filebuf constructor workaround for compiler which do not initialize builtins
to zero when default constructed (thanks Alberto Barbati)
* _locale.h : relaxed guerd around templated locale constructor (thanks Alberto Barbati)
* stl_mwerks.h : changes to accomodate CodeWarrior 6.2 (thanks cprosser)
* stl/_cmath.h : extracted from <cmath> for better decoupling
* stl/_std_prolog.h, stl/_std_epilog.h : hooks for future alternative namespace inclusion style.
* config/stl_gcc.h : gcc-3.0 now supported
* src/gcc-beos.h : only static library is being built (dynamic stil don't work) (thanks John Maddock)
* using/iostream : included using/istream and using/ostream
* dll_main.cpp : force_link() fix to prevent numeric_limits static members and
_M_increment/decrement from _tree.c from being optimized out by VC++
(thanks Sofus Mortensen, Alberto Barbati )
* _alloc.c : added CHECK_NULL_ALLOC for _STLP_CHUNK_ALLOC with malloc, to throw exception if malloc returns 0 (thanks ghunt)
* stl_bc.h, <exception> : fixed Borland C++ import of unexpected handler stuff
* stl_ibm.h, etc. : fixes for IBM VisualAge 5.02 to compile
* type_traits.h : bool2type<> changed to be parameterized on int, to work around SUN CC bugs (probably others, too)
The following changes were made in 4.5 beta 7 since 4.1 beta 6 :
* sparc_atomic.s : file missing from the distribution restored
* etc/ subdirectory created; miscellanous files moved there
* STLport ported to BeOs, complete with iostreams (thanks John Maddock)
* Macro _STLP_NO_SGI_IOSTREAMS renamed to _STLP_NO_OWN_IOSTREAMS, old references to SGI removed;
* "prepare" target added to all makefiles in src/; should be run before using STLport;
on most platforms it's empty, on some of them it creates necessary symbolic links, etc.
* stl/_deque.h : deque<>::erase bug (introduced in 4.1b4) fixed (thanks to BruceFlorman)
: default parameter in constructor bug fixed (Thanks to Alex Vanic)
* stl_msvc.h : explicit template function agruments enabled for VC++;
* stl_wince.h : added <windows.h> inclusion
* stl/_limits.h : numeric_limits<bool>::digits changed from 0 to 1 (Thanks Mukesh Kapoor)
* stl/_function_base.h : added __identity_element() (extension name), _numeric.h : this one used instead of identity_element() (Thanks Hafeez)
* stl_msvc.h : explicit template function agruments enabled for VC++;
use_facet<> now fully conforms to the standard with VC++. (Thanks Jeff Kohn for the input)
* fstream.cpp : LARGE_INTEGER used to work around Intel shift instruction bug (thanks Thomas Meischner)
* fstream.cpp : ULL macro fixed for Win32
* fstream.cpp : Added test for for INVALID_HANDLE_VALUE and NULL base and _M_view_id,
for _M_close on Win32 (Thanks Stephen Baker)
* fstream.cpp : Fixed corner case with mmap() on EOF (Thanks Jens Maurer)
* _istream.c : fixed _M_read_buffered sssso that it does not skip delimiters (Thanks Gerd Hoeren)
* stl/_string.h : operator __std_string() uses constructor with a size to correctly initialize string containing null chars (Thanks Armin)
* iomanip : added operator for setfill object and istream (was ostream only) (Thanks Mukesh Kapoor)
* stl/_locale.h , stl_intel.h : fixes for Intel 5.0 compiler (Thanks Anton and Marcello Pietrobon)
* stl_solaris.h : added _STLP_NO_NATIVE_WIDE_FUNCTIONS
* New makefiles added for Intel C++ 5.0 and VC++ 6.0 in src/, test/eh, test/regression (Thanks to Marcello Pietrobon)
* _STLP_NO_LONG_DOUBLE case handled for STLport iostreams as well (thanks John Daniel)
* SUN CC compiler template cache is being properly cleaned up (Thanks Whitney Kew)
* dll_main.cpp : added extern "C" around DllMain() (Thanks Danny Smith)
* type_traits.h : added bool parameter to shut up warnings on some compilers (Thanks glassman)
* stl/_rope.h/.c, src/mrcpp.mak, src/mrc.mak, stl/_tree.h : MPW & MRC fixes by Tsutomu Yoshida
* stl_gcc.h : added path for <exceptions> et al for gcc-2.95.3 on FreeBSD (Thanks to
* _tree.h /_tree.c : pointers used as return values instead of iterators for implementation
functions, for efficiency.
* _algo.h/.c : added leading underscrore to some symbols (Thanks to Ed James-Beckerman for the report)
* dll_main.cpp : fixed nothrow object initialization (Thanks to Dan Ingold)
* beta suffix in common_macros.mak updated (thanks to Whitney Kew)
* c_locale_win32.c : incomple fix for locale completed (thanks to Alberto Barbati)
* c_locale.h : _Locale_ALPHA definition for VC++ and mingw32 fixed (thanks Danny Smith)
* _threads.h : fixed _DECTHREADS block to work on both DEC and HP
* _hash_set.h : fixed typo in MSVC++ bug workaround ( Thanks to Jon_Hanson for the report)
* stlport/strstream.h : fixed inclusion for MSVC 6 (Thanks Joachim Achtzehnter)
* _config.h : _STLP_RETHROW changed to avoid warnings with NO_EXCEPTIONS (thanks Richmond)
* _hashtable.c : prime list definition made consistent (thanks Rainer Schnitker)
* stl_hpacc.h : _STLP_FORCE_ALLOCATORS workaround used for Version 3.15 also (thanks Rainer Schnitker)
* stl/_string_io.c : fixed using directive in operator >>() (thanks Rainer Schnitker)
* debug/_deque.h : a check in erase() fixed (thanks Andreas Malzahn)
* debug/_list.h : added remove() to do iterator invalidation; range erase() fixed to do invalidation
* stl_watcom.h : added switches; disabled own iosterams by default;
enabled ->() operator for iterators (thanks Steven Green)
* <exception> : added throw spec for what(); stl_sgi.h : made _STLP_NO_EXCEPTIONS depend on __EXCEPTIONS macro (Thanks Anton Ephanov)
* _string_io.c : operator << : fixed width() interpretation bug
* stl_hpacc.h/cmath : fixed HP aCC settings for -AA option (thanks Doug Gilbert)
The following changes were made in 4.1 beta 6 since 4.1 beta 5 :
* _istream.h, _ostream.h, _ios.h, _fstream.h : guard macros fixed to not clash with .h files in "stlport" directory
Also all uses of those macros fixed. (thanks to Gerd Hoeren for the report)
* _debug.c/_debug.h : fixed swap() for rb_tree and list (thanks to Gerd Hoeren for the report)
swap() changed not to invalidate any iterators, as prescribed by the standard
* forced _REENTRANT to be defined when compiling with STLport iostreams and _STLP_DEBUG
(without _STLP_DEBUG it seems to be binary compatible even without that)
* facets_byname.cpp source introduced to replace all xx_byname.cpp files;
restored separate facets .cpp complilation (they used to be included in locale_impl.cpp)
* introduced _STLP_USE_PERTHREAD_ALLOC to optionally use per-thread allocator
(_Pthread_alloc from _pthread_alloc.h) as the deafult node allocator. Only works with pthreads for now.
* Switches _STLP_DONT_REDEFINE_STD and _STLP_WHOLE_VENOR_STD are back (thanks to Anton Ephanov for the report)
* _vector.h : fixed bug in template version of insert (Thanks to Yotam Medini for the report)
* monetary.cpp : unneded hack for cygwin removed (thanks to Dean Sturtevant)
* <iostream> : fixed _STLP_OUTERMOST_HEADER_ID macro
* cin/cout/cerr redefined if no namespaces and SGI iostreams are used, for all compilers, just in case.
* _sparc_atomic.h : fixed and improved atomic ops for gcc
* test/regression : non-backward-compatible old-style __STL_xx macros use changed to _STLP_xx
* config/st_gcc.h : disabled non-standard "extern" use for non-DLL templates
* mingw32 - used 'windows.h replacement' section in _threads.h (thanks to Danny Smith)
* locale Win32 bug fixed (thanks to Alberto Balbarti)
* mingw32 : _STLP_CONST_INIT_BUG defined for dll (thanks to Danny Smith)
* "make clean" glitches fixed (thanks to Whitney Kew for the report)
* _fstream.c : fixed codecvt bug for variable width encoding
* _STLP_ABORT macro introduced to avoid clashes with third-party sw redefining abort() (thanks to Jerry)
* c_locale_win32 : fixed parse bug in __ParseLocaleString (thanks to Danny Smith)
* extra declspecs removed from templates to fix VC++ 7.0 ; only concrete classes have specifiers (thanks to Holger Stasch for the report)
* stl_msvc.h, _hashtable.h/.c : fixes for IA64 compilation (thanks to Rainer Schnitker )
* fixed bugs in "make install" on Unix (thanks to Carlos Paniago)
* dll_main.cpp : DisableThreadLibraryCalls used for optimization (thanks to Alberto Barbati)
* dll_main.cpp : a dummy function added to force <limits> guts for static VC++ link (thanks to Alberto Barbati)
* gcc-linux.mak : flags fixed (thanks to Levente Farkas )
* stl_msvc.h, stl_intel.h : fixed __ICL version test (thanks to Serge Pashkov)
* versioning schema changed on Windows to have .dll extension (thanks everybody for the feedback)
* NetBSD makefiles fixed
* A bunch of fixes by Tsutomu Yoshida : MPW fixes plus :
* stl/_config.h : I believe the definition for _STLP_STD under debug/non-debug configurations swapped.
* typeinfo.h : added check for _STLP_NO_NEW_HEADER for using declaration.
Otherwise three classes will not be included in the namespace std when #include <typeinfo>.
* _istream.c : use of bind2nd (which required _function.h inclusion) changed to use alternate functor (thanks to Sergei Nikolaev)
* stl_msvc.h : removed erroneous _STLP_USE_TEMPLATE_EXPORT setting which caused major code bloat for native streams builds on VC++ (Thanks to Johannes Brunen for the report)
* _string_io.c : fixed Intel C++ compilation bug in native streams mode
* fstream.cpp : added write-sharing for fstream file handle (Thanks to Leland Best)
* stl_gcc.h : disabled wide function imports for linux (some xx_POSIX macro should be really used; disabled for all linuxes for now). Thanks everybody for the reports.
* KAI C++ 4.0 is now supported on SUN
* MAC OS X compilation fixed (thanks Patrick Luby for the patch)
* HP aCC fixes by Michael Tsirkin
* "INF/NAN" string representation for uppercase changed to "Inf/NaN" to behave like printf() on most systems.
* debug/_iterator.c : fixed SUN 6.0 compiler internal error
* typeinfo.h : global scope used to import bad_cast, etc. (thanks to Val Melamed)
* debug/_list.h : missing template versions of remove_if(), merge() added. Missing regular sort() added.
(Thanks to dgehri)
* debug/_slist.h : missing sort() (template and regular) interface added
* _istream.h : eliminated warning about comparison with unsigned (Thanks to Gerd Hoeren for the report)
* template constructors for containers changed to be one version with default allocator agrument, where possible.
* remaining _STL_ prefixes changed to _STLP_
* Solaris 7 compilation fixed
* fstream.cpp : seek() allowed to seek past the end of the stream (Thanks to Phillip Toland for the input)
The following changes were made in 4.1 beta 5 since 4.1 beta 4 :
* All internal macros changed to have prefix _STLP_ instead of __STL or __STLPORT or __SGI_STL.
That is to allow seamless wrapping on platforms that use SGI STL as native STL/iostreams.
For backward compatibility, most of user-settable __STL_xxx macros are accepted.
* Versioning of shared libraries made UNIX-compliant
* Some temporary lifetime problems in SGI iostreams which may introduce memory corruption, fixed.
* <new> : fixed memory leak bug due to unclever macro expansion in __stl_new (thanks to Joachim Achtzehnter)
* stl/_tree.h : fixed several bugs in new code for corner cases in insert_equal()/insert_unique() with a hint
(thanks to Micheal Tsirkin for the report and patch)
* _vector.h:284 : __copy call fixed to be __copy_aux (thanks to Alex Vanic)
* _config.h : fixed static build bug due to __STL_EXPOSE_GLOBALS_IMPLEMENTATION typo (thanks to Serge Pashkov)
* fstream.cpp: __pioinfo definition for mingw32 fixed (Thanks to Danny Smith)
* *.SUNWCCh files changed to regular files; moved to "stlport" directory
* pthread_alloc : split into <pthread_alloc>/<stl/_pthread_alloc.h>
* lightweight atomic ops used on SPARC v8plus and v9 (gcc and SUN CC)
* Mac OS X support introduced (thanks to Patrick Luby)
* SGI iostreams ported to DJGPP (thanks to Tanes Sriviroolchai)
* SGI iostreams ported to NetBSD (thanks to Michael Rauch)
* FreeBSD build fixed, now builds for wchar_t too
* DEC CXX build fixed; restricted to dynamic lib only
* SGI MIPSpro build fixed; GNU make has to be used
* Set of HP fixes by Michael Tsirkin
* Set of Watcom fixes by Ricardo Gayozo
* Bunch of Apple MRC/MPW fixes by Tsutomu Yoshida integrated
* Bunch of iostream fixes for Cygwin, Borland and Intel 4.5, by Serge Pashkov
* debug/_list.h : added checking versions of pop_back/pop_front (thanks to Per Liboriussen)
* src/c_locale_win32.c : fix for VC5sp3 (thanks to Petr Ovtchenkov), fix for day of week order (thanks to Danny Smith),
fix for null-termination in my_ltoa (thanks to Serge Pashkov)
* Some warnings in debug mode fixed (thanks to Marco)
* type_traits.h : IsP functions return types changed to be more portable (thanks to Serge Pashkov for the suggestion),
__cdecl added for Win (thanks to Todd Wilson)
* debug/_tree.h : added owner check for erase() (thanks to Alberto Barbati)
* stl/_ostream.h : << operator specializations added for compilers w/o partial ordering
(thanks to Alberto Barbati for pointing this out).
* "make install" on UNIX : fixed the target not to remove lib directory;
default installdir restored to be /usr/local (thanks to Jeff de Vries for the input)
* _construct.h : extra cast for __STL_SHRED_BYTE removed (thanks to khesin)
* _relops.h header obsoleted; some extra includes removed
* __STL_STATIC_CONST_INIT_BUG use normalized; now it's used for all compilers not able
to treat const members as coplile-time constants; enum used for them (e.g VC++).
Thanks to Dean Sturtevant and Gavin Collins for the ideas.
* stlport/cmath : fixed SUN CC 5.0 compatibility mode bug (thanks to ade for the report)
* debug/_hashtable.h : fixed equal_range() bug (thanks to decraft for the report)
* streambuf.cpp/_streambuf.h : fixes xsgetn() bug (thanks to Vadim Egorov)
* istreambuf_iterator<> : nonconforming behaviour fixed (thanks to Tom Widmer)
* _num_put.c : fixed corner case for 0x8000000 output.
* num_get<> : extra get() and do_get() members for "int" and "short" removed; istream operators changed accordingly
* _itreambuf_iterator.h/_ostreambuf_iterator.h introduced to decouple those from num_get/num_put
* gcc makefiles in src : "-fno-implement-inlines" removed
* Added workaround for gcc's limits.h and SUN Ultra with -mcpu=ultrasparc in 32-bit mode.
* ios_base:: type for constants made "int" for all compilers, as it more efficient and perfectly compliant.
* debug/_hashtable.h : fixed typo in swap() ( thanks to Gerd Hoeren for the report)
* debug/_string.h : +() operators defined unconditionally ( thanks to Gerd Hoeren for the report)
* _istream.c : removed dependancy on _function.h (thanks to Kenny Simpson for the report)
* _limits.c : fixed little-endian representation of infinity & NaN (thanks to Rene van Oostrum)
* _stdio_file.h : fixed postdecr macro for 64-bit Solaris (thanks to Jim Cole)
The following changes were made in 4.1 beta 4 since 4.1 beta 3 :
* Simulation of class partial specialization (thanks to Mat Marcus and Jesse Jones of Adobe)
used to provide following enhancements :
- type_traits are automatically specialized for all pointer types for all compilers,
which makes them able to utilize type_traits-based optimizations when dealing with pointer types,
automatically.
- all functions specialized for pointers and optimized via __type_traits
( like copy()/copy_backward(), _uninitialized_xx) now enjoy this optimization for all compilers!
- generic __value_type()/__difference_type()/__iterator_category() are written so user does not have
to supply any of its own even when partial specialization is not available.
(Note : gcc-2.7 and VC++ 5.x, 6.x have bugs which prevents them from using this enhancement, still)
* <iterator> : by default, non-standard iterator query names like
value_type()/difference_type()/iterator_category() are not used
* <algo> : major revision:
- algorithms without explicit Compare() function expressed via the one that has it where possible.
This considerably reduces header size and reduces code bloat for programs which use both flavours of
those algorithms.
- some function bodies moved between .c and .h
- all functions used internally moved out to _algobase.h, so no other header includes <_algo.h> anymore
- find() specialized for random access iterators regardless of partial spec.
* Dynamic libraries (.DLL and .so) : name versioning used to prevent clashes between STLport versions
* src/ : code regrouped between .cpp files to provide for less executable size with dumb linkers;
* locale subsystem initialization : startup changed to use statically allocated structures as much as possible;
* <stl/_function.h> : basic stuff moved to _function_base.h ;
other STL headers now include _function_base.h instead
* _threads.h : MT support for OS/2 added (only tested with VAC++)
* _stdio_file.h : added support for Solaris in ELF64 mode (thanks to Holger Stasch)
* stl/_hashtable.h : [] operator for hash_map optimized to take no more than find() when element is present
(Thanks to Thomas Witt et al.)
* _ostream.h : fix for default unsigned char (thanks to Holger Stasch)
* all __STL_ABBREVS abbreviations moved aside in _abbrevs.h header.
* Fujitsu C++ Compiler support added (thanks to Holger Stasch)
* Initial SGI iostreams port to OS/390 introduced (thanks to Holger Stasch).
* More on SGI iostreams port to xlC 5.0 (thanks to Holger Stasch).
* Fixes for SGI MIPSpro compilers (Thanks to Ralph)
* Fixes for HP aCC compiler (Thanks to Michael Tsirkin)
* stlport/SC5 directory : removed C library .h files to fix circular inclusion problem with WS6.0 + C programs.
* hash_map::swap() in debug mode fixed (thanks to Anton)
* __STL_COMPILE_INSTANTIATE hack for DEC removed (thanks to Ralph)
* __STL_INLINE_STRING_LITERAL_BUG defined for HP aCC ( thanks to Jason Taylor)
* _bitset.h - member workaround operators made const (thanks to dzwick)
* _bitset.h/.c, hashtable.h -- small bugfixes (thanks to Levente Farkas)
* <exception> - now includes exception.h if only that is available.
* vector::assign() inplemented for vector::iterator when member templates are not available (Thanks to dzwick)
* fstream.cpp : __pioinfo used for MinGW32 (thanks to Danny Smith)
The following changes were made in 4.1 beta 3 since 4.1 beta 2 :
* list<>::clear() : protected access bug fixed
* __STL_MUTEX_INITIALIZER set back to PTHREAD_MUTEX_INITIALIZER for pthreads case,
as some platforms (eg AIX) do not treat zero-initialized mutex as valid one (thanks to Alex Vanic, Jack Andrews for help)
* stl/_limits.c : fixed typo preventing numeric limits constants to be defined for __STL_LITTLE_ENDIAN,
constants initialization fixed (thanks to Ingo Donasch)
* real implementation of locales for Win32 contributed by Anton Lapach (thanks !) merged in.
* stl_user_config.h, _config.h : changed default to not define relops:: operators
in __STL_NO_NAMESPACES mode.
* _numeric_facets.c/num_put.cpp : printing of integer do not use sprintf() anymore
* "install" target implemented for UNIX & VC++ Makefiles. It now installs headers and libraries.
* "src" : files merged to get less compilation time and less space overhead for imperfect compilers
* "debug" flavour of STLport excluded from default build and auto-select ;
please use __STL_USE_DEBUG_LIB and build debug STLport lib explicitly with "make debug_dynamic"
if you really need it). "all" now builds 2 kinds : "release" and "STLdebug", for static and dynamic builds.
* stlport_prefix.h : WIN32_LEAN_AND_MEAN set for Win32 build of STLport library, for speed.
* FreeBSD compile fixed; makefiles added.
* All "__init" changed to "_Init" to fix clashes with DEC conventions (thanks to Holger Stasch)
* _range_errors.h -- fixed to always set __STL_EXTERN_RANGE_ERRORS for SGI iostreams (thanks to Serge Pashkov)
* *gcc* mak : some files renamed to gcc-platform mak
* "extern template" extension used for gcc & standard i/o classes, to reduce code bloat in application's .o
* "extern template" extension used for VC++ & standard i/o classes (was for DLL only)
* _iterator.h : added template(and non-template) assignment operator for reverse_iterator<> (thanks to psw). Obsolete HP-style code moved to _iterator_old.h
* _alloc.h : obsolete code for raw SGI allocators support moved to separate header, for compile-time improvement
* More iostreams code conditionally moved out for clients who only use standard i/o and can set __STL_NO_CUSTOM_IO flag
* <iostream>, <locale> : initialization of locale subsystem made independent of standard streams.
sync_with_stdio call before iostream initialization now works.
* <fstream>, <fstream.h> : added initialization code for locale , same as in <locale>
(thanks to George Trojan for the report)
* fstream.cpp : fixed resource leak in case memory map fails on Win32 (thanks to Mark Laffoon)
* <cmath>, <cstdlib> : added additonal overload signatures required by chapter 26.5 of ANSI (thanks to Levente Farkas for
the suggestion), plus "long long" flavour where applicable.
* __STL_LONG_LONG generalized to support __int64 on Win32 (thanks to Adam Gates for the suggestion)
* _fstream.h : added constructor from file descriptor, as extension (thanks to eric_a_benson)
* _fstream.h : added basic_filebuf<>::fd() file descriptor accessor, as extension (thanks to George Trojan)
* stl_sunpro.h : strstream masked for CC 4.2 to avoid virtual table clash (thanks to Ken)
* stl_msvc.h : member templates allowed for VC5, it's capable of hadling most of them (same restrictions as VC6 -- inline).
* debug/_debug.c : slightly changed format of debug message to please VC++ IDE (thanks for Bruce Dawson for the suggestion)
* src/sgi_mipspro.mak added, for SGI MIPSPro compilation
* merged series of HP/SUN minor fixes by Petr Ovtchenkov
* merged series of Intel 4.5 fixes by Serge
* vc_common.mak : -Yd dropped, as obsolete (thanks to psw)
* _range_errors.h:95 : unused argument removed (thanks to George Trojan)
* _string_io.h : refined _WRTLING workaround for Watcom (thanks to Serge Pashkov)
* _threads.h : fixed SGI threads dafines for gcc on IRIX (thanks to Brett Denner for the report)
* <typeinfo.h>, <typeinfo> : mutually-exclusive machanism added to allow including both in same unit.
* Inclusion of SGI iostreams headers put to some order; _streambuf_iterator.h file introduced to resolve circular dependancies
The following changes were made in 4.1 beta 2 since 4.1 beta 1 :
* _algobase.h : fixed __STL_DECLARE_COPY_TRIVIAL definition
(thanks to Charles Burfoot for the report)
* _algobase.h : added copy_backward specializations for builtin types for compilers w/o partial spec.
* _char_traits.h : fixed zero-length check for copy (thanks to Michael Tsirkin)
* msvc_warnings_off.h : fixed "and" typo
(thanks to Charles Burfoot for the report)
* num_put_float.cpp : fixed rounding for "g" format (thanks to Bernd Mohr for the report)
* Initial port of iostreams to xlC 5.0 added (thanks to Jack Andrews)
* stl_sunpro.h : a fix for Forte config (Thanks to Alex Vanic for the report)
* old_hp/iterator.h : fixed iterator_category()/etc. import
* _threads.h : __stl_atomic_t used instead of "unsigned long" (thanks to Alex Vanic for the report)
* using/iomanip : old-streams path used for native iomanip.h (thanks to Michael Tsirkin for the report).
* _bitset.h , _bitset.c : direct STL_THROW replaced with __stl_throw_xxx calls (thanks to Michael Tsirkin for the report)
* range_errors.h/cpp : added functions to support throwing of overflow_error and invalid_argument
* _threads.h : enganced HP-specific guards for HP-UX 11 (thanks to Matthew Collins for the report)
* _string.h : compare() bugfix (thanks to Anton Sergeev)
* moneypunct_byname_w.cpp : rolled back wrong bugfix (thanks to Ken)
* _vector.h, _deque.h, _list.h : nonstandard versions of push_back()/push_front()
moved under __STL_NO_ANACHRONISMS guard (thanks to Ed Brey)
* _tree.c, _list.c, _slist.c, _debug.c : compile-time improvements
* _tree.h/c, _list.h/c, _slist.h/c, _vector.h/c, _string.h/c : using directive for data members
changed to explicit "this->".
* _complex.h : signatures of some methods changed to take value_type instead of const value_type&,
for better conformance (thanks to Petr Ovtchenkov)
* Bunch of fixes to compile with gcc on HP-UX 10, 11 (thanks to Petr Ovtchenkov)
* Code duplication for __STL_INLINE_MEMBER_TEMPLATES removed -- corresponding methods are always inlined
* stl_sunpro.h : fix for "-compat" mode (thanks to Vijay Ramachandran)
* pthread.h : new wrapper added
* Added custom prolog/epilog for HP aCC to select kthreads on HP-UX 11 (Thanks to Michael Tsirkin)
* <new> : fixed throw specification for bad_alloc (has to be inherited)
* Macro __STL_NATIVE_CPP_RUNTIME_INCLUDE_PATH introduced to specify separate path for <exception>, <typeinfo>, <new>.
(thanks to Bryan Byrnes)
* <stdio_streambuf> : moved from stlport/stl to stlport directory, for SGI compatibility
The following changes were made in 4.1 beta 1 since 4.0 :
* Sun Forte 6.0 C++ configuration provided (thanks to Alexander Vanic for the input)
* _threads.h/_config.h : added efficient support for atomic operations for
DEC CXX and Watcom (thanks to Ricardo Gayoso for the input).
Macros __STL_ATOMIC_xxx introduced to facilitate this.
* _tree.h : optimizations to lower number of comparisons (thanks to Craig Powers for the patch)
* _tree.h, _hashtable.h and clients : added templated find() as an extension (thanks to Michael Tsirkin for the suggestion)
* _tree.h : changed some inlining for performance optimization
* __node_alloc:: allocate broken into two functions for better inlining
* _threads.h : added PTHREAD_MUTEX_INITIALIZER guard for HP workaround
* stl_bc.h : option set to control alignment and virtual table behaviour to be consistent;
library name adjusted to stlport_bcc55_xxx
* _algobase.h, _uninitialized.h, char_traits.h -- optimized out empty memcpy() calls
(thanks to Michael Tsirkin for the report).
* _iterator.h : fixed reverse_iterator::operator+(int, reverse_iterator) resolution
(thanks to Anton Sergeev for the input)
* _bitset.h : bitset<>::test bugfix (thanks to Anton Sergeev for the patch)
* complex_trig.cpp : use of __STL_NO_LONG_DOUBLE made consistent, fixes for Borland on Linux
(thanks to John Wiegley for the input)
* moneypunct_byname_w.cpp : bugfixes for string copying (thanks to Anton Sergeev for the input)
* Watcom-specific fixes (thanks to Ricardo Gayoso for the input)
* src/common_macros.mak : some intermediate targets added (thanks to Jeremy for the suggestion)
* _debug.c : fixes for Win CE (thanks to John Hynes for the patch)
* Intel CC 4.0-specific fixes (thanks to Sean Cavanaugh for the input)
* _list.c : workaround for Watcom C++ (thanks to Mike Steed for the report)
* __STL_NO_NATIVE_WIDE_STREAMS definition fixed (thanks to Glen Summers for the patch)
* cast macros fixed to be more robust (thanks to Geoff Oakham for the report)
* "strstream.h" native inclusion for VC 6.0 fixed (thanks to Sathish T C for the report)
* debug/_string.h : improvement to string with __STL_DEBUG w/o member templates
(thanks to Paul Furnanz for the report)
* debug/_string.h : fixed internal compiler error for VC++ 5.x (thanks to chvetsov for the report)
* cstdio, stl/_streambuf.h : fixes to allow gcc compilation with -ansi flag
* workaround for cin/cout renaming on HPUX11 for -D_REENTRANT (thankf to Jeff Sparkes for the report)
* cin/cout/cerr/clog renaming in STLport for CC 4.0 and SGI iostreams,
to avoid symbol clashes with native ones (thanks to Dirk Schreib for the report)
* type_info scope fixes for VC++ 6.0 (thanks to Sathish T C for the report)
* typeinfo.h using fixes (thanks to Glen Summers for the input)
* stlcomp.h : fixes to allow compilation of .c modules with VAC++, Sun CC, DEC CC, Watcom CC
(thanks to Dmitry A.Steklenev, Jonathan Richardson for the report)
* debug/_tree.h : fixed insert_unique() bug (thanks to Ben Liblit for the report)
* regression/gcc.mak made non-dependant on "." in the path
(thanks to Thomas Matelich for the report)
* hmset1.cpp fixed to compile under OS390 ( thanks to Andrey Khovanskiy for the report)