This commit was generated by cvs2svn to compensate for changes in r122182,

which included commits to RCS files with non-trunk default branches.
This commit is contained in:
Alexander Kabaev 2003-11-07 02:44:01 +00:00
commit e17667a43b
18 changed files with 281 additions and 157 deletions

View File

@ -1,3 +1,88 @@
2003-10-25 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_get::do_get(...,
long double&): Properly size the temporary buffer.
2003-10-20 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/10081
* include/bits/basic_ios.h (basic_ios::basic_ios): Initialize
_M_fctype, _M_fnumput, _M_fnumget.
2003-10-16 Release Manager
* GCC 3.3.2 Released.
2003-10-07 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/11740
* config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is):
Fix to actually return (M & m) != 0 as per 22.2.1.1.2.
* config/locale/generic/ctype_members.cc: Same.
2003-10-02 Harald Boehme <boehme@informatik.hu-berlin.de>
PR libstdc++/12451
* libsupc++/cxxabi.h: Move forward declaration of __class_type_info.
2003-10-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* configure.target: Handle Solaris 2.5 micro releases explicitly.
Remove wildcards from Solaris 2.6, 7-9: there were no
micro releases.
Treat Solaris 10 and up like 7-9.
2003-09-30 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/12296
* include/bits/istream.tcc (peek): Set eofbit if sgetc
returns eof.
2003-09-30 Nathan Myers <ncm@cantrip.org>
Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/11400
* include/bits/stl_algo.h (search_n):
Use iterator_traits<>::difference_type for __n.
2003-09-25 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/11065
* config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is): Fix.
* config/locale/generic/ctype_members.cc: Same.
* config/os/generic/ctype_inline.h: Update.
2003-09-10 Daniel Jacobowitz <drow@mvista.com>
Andreas Jaeger <aj@suse.de>
PR libstdc++/12189
* acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Don't build
abi_check if cross compiling.
* aclocal.m4: Regenerated.
* configure: Regenerated.
2003-09-09 Alan Modra <amodra@bigpond.net.au>
* configure: Regenerate.
2003-08-25 Zack Weinberg <zack@codesourcery.com>
* config/os/hpux/os_defines.h: Unconditionally define
_GLIBCPP_GTHREAD_USE_WEAK to 0.
2003-08-11 Andreas Jaeger <aj@suse.de>
* include/Makefile.am (stamp-c_base): Add dependency on stamp-bits
to make SMP-safe.
* include/Makefile.in: Regenerated.
2003-08-07 Bernardo Innocenti <bernie@develer.com>
PR libstdc++/11784
* libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add):
Replace variants with new BSET-based version.
2003-08-04 Release Manager
* GCC 3.3.1 Released.
@ -8,8 +93,8 @@
2003-07-24 Nathan Myers <ncm-nospam@cantrip.org>
* testsuite/23_containers/map_operators.cc: Conform to
container requirement as value must be Assignable.
* testsuite/23_containers/map_operators.cc: Conform to
container requirement as value must be Assignable.
2003-07-18 Andreas Jaeger <aj@suse.de>
@ -33,7 +118,7 @@
2003-07-15 Loren J. Rittle <ljrittle@acm.org>
* testsuite/thread/pthread4.cc: Further tweak to avoid fini race.
* testsuite/thread/pthread4.cc: Further tweak to avoid fini race.
2003-07-15 Petur Runolfsson <peturr02@ru.is>
@ -46,7 +131,7 @@
Change last parameter from int_type to size_t.
2003-07-08 Benjamin Kosnik <bkoz@redhat.com>
Jerry Quinn <jlquinn@optonline.net>
Jerry Quinn <jlquinn@optonline.net>
* include/bits/ios_base.h (ios_base::_M_getloc): Return reference
to the imbued locale.
@ -83,12 +168,12 @@
2003-07-04 Jerry Quinn <jlquinn@optonline.net>
* include/bits/locale_facets.tcc (__int_to_char): Move common
case to the top.
case to the top.
2003-07-04 Jerry Quinn <jlquinn@optonline.net>
* testsuite/27_io/ostream_inserter_arith.cc (test05, test06):
Add missing bool test.
Add missing bool test.
2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
@ -193,7 +278,7 @@
2003-06-16 Andreas Jaeger <aj@suse.de>
* testsuite/abi_check.cc: Create summary report.
* testsuite/abi_check.cc: Create summary report.
2003-06-16 Andreas Jaeger <aj@suse.de>
@ -203,7 +288,7 @@
* configure: Regenerate.
2003-06-16 Benjamin Kosnik <bkoz@redhat.com>
Andreas Jaeger <aj@suse.de>
Andreas Jaeger <aj@suse.de>
* configure.target: Set x86_64 abi_baseline pair correctly.
@ -372,7 +457,7 @@
* configure: Regenerated.
2003-05-01 Paolo Carlini <pcarlini@unitus.it>
Nathan Myers <ncm@cantrip.org>
Nathan Myers <ncm@cantrip.org>
Backport from mainline fix of 2003-03-28.
PR libstdc++/9533
@ -439,7 +524,7 @@
(basic_filebuf::close): Add exception specification of throw().
2003-04-25 Ranjit Mathew <rmathew@hotmail.com>
Phil Edwards <pme@gcc.gnu.org>
Phil Edwards <pme@gcc.gnu.org>
* testsuite_flags.in: Guard against the possibility
of having "xgcc" as a part of a folder name in the
@ -457,8 +542,8 @@
2003-04-23 Benjamin Kosnik <bkoz@redhat.com>
* config/locale/generic/c_locale.h (__convert_from_v): Use
attribute unused.
* config/locale/generic/c_locale.h (__convert_from_v): Use
attribute unused.
2003-04-23 Phil Edwards <pme@gcc.gnu.org>
@ -474,16 +559,16 @@
Benjamin Kosnik <bkoz at redhat dot com>
* include/bits/basic_ios.h (ios_base::Init::_S_ios_create):
Declare friend.
Declare friend.
(basic_ios::init, basic_ios::_M_cache_locale): Add locale
cache argument.
cache argument.
* include/bits/basic_ios.tcc (basic_ios::init): Pass cache to
_M_cache_locale.
_M_cache_locale.
(basic_ios::_M_cache_locale): Use placement new if cache is
provided. Track the distinction in iword(0).
provided. Track the distinction in iword(0).
* include/bits/locale_facets.tcc
(__locale_cache::_S_callback): Only delete cache if iword(0)
is 0, i.e. not static.
(__locale_cache::_S_callback): Only delete cache if iword(0)
is 0, i.e. not static.
* src/globals.cc: Allocate space for __locale_cache objects.
* src/ios.cc (__gnu_cxx): Declare extern __locale_cache objects
for standard wide and narrow stream objects.
@ -515,9 +600,9 @@
* include/bits/istream.tcc: Same.
2003-04-17 Andreas Tobler <toa@pop.agri.ch>
Benjamin Kosnik <bkoz@redhat.com>
Benjamin Kosnik <bkoz@redhat.com>
* config/os/generic/ctype_inline.h: Fix.
* config/os/generic/ctype_inline.h: Fix.
2003-04-17 Andreas Tobler <toa@pop.agri.ch>
@ -525,7 +610,7 @@
solaris includes, not generic.
2003-04-15 Benjamin Kosnik <bkoz@redhat.com>
Paolo Carlini <pcarlini@unitus.it>
Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/9423
* docs/html/27_io/howto.html
@ -534,12 +619,12 @@
2003-04-15 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/thread/pthread1.cc: Enable for darwin test.
* testsuite/thread/pthread2.cc: Same.
* testsuite/thread/pthread3.cc: Same.
* testsuite/thread/pthread4.cc: Same.
* testsuite/thread/pthread5.cc: Same.
* testsuite/thread/pthread6.cc: Same.
* testsuite/thread/pthread1.cc: Enable for darwin test.
* testsuite/thread/pthread2.cc: Same.
* testsuite/thread/pthread3.cc: Same.
* testsuite/thread/pthread4.cc: Same.
* testsuite/thread/pthread5.cc: Same.
* testsuite/thread/pthread6.cc: Same.
2003-04-15 Loren J. Rittle <ljrittle@acm.org>
@ -615,8 +700,8 @@
PR libstdc++/5730
* include/bits/c++config (_GLIBCPP_FAST_MATH): Define.
* include/std/std_complex.h (norm): Use faster,
less accurate computation for builtin float types under --fast-math.
* include/std/std_complex.h (norm): Use faster,
less accurate computation for builtin float types under --fast-math.
2003-03-21 Paolo Carlini <pcarlini@unitus.it>
@ -640,10 +725,10 @@
2003-03-17 Petur Runolfsson <peturr02@ru.is>
PR libstdc++/9964
* include/bits/fstream.tcc (basic_filebuf::close):
Always close file, even when write fails.
* testsuite/27_io/filebuf_members.cc (test_07): New test.
PR libstdc++/9964
* include/bits/fstream.tcc (basic_filebuf::close):
Always close file, even when write fails.
* testsuite/27_io/filebuf_members.cc (test_07): New test.
2003-03-17 Danny Smith <dannysmith@users.sourceforge.net>
@ -746,7 +831,7 @@
2003-03-05 Carlo Wood <carlo@alinoe.com>
* include/bits/ios_base.h(ios_base::Init::_S_initialized()): Added
* include/bits/ios_base.h(ios_base::Init::_S_initialized()): Added
_S_initialized() in order to allow debugging libraries to detect
when the std streams are initialized from an overloaded operator
new.
@ -761,7 +846,7 @@
(_M_cache_locale): New.
(_M_cache_facets): Deprecate.
* include/bits/basic_ios.tcc (basic_ios::copyfmt): Set up locale
caching.
caching.
(basic_ios::imbue,basic_ios::init): Use _M_cache_locale.
(basic_ios::_M_cache_locale): New.
(basic_ios::_M_cache_facets): Deprecate.
@ -773,9 +858,9 @@
(num_put::_M_convert_int): Use locale cache literal string,
grouping flag, thousands separator.
(num_out::_M_convert_float): Use locale cache grouping flag, decimal
point, thousands separator.
point, thousands separator.
(__locale_cache<_CharT>::_M_init,__locale_cache<_CharT>::_S_callback):
New.
New.
* src/locale-inst.cc
(__locale_cache<_CharT>::_S_callback, __locale_cache<char>,
__locale_cache<wchar_t>): New.
@ -793,7 +878,7 @@
* testsuite/abi_check.cc: Update.
2003-03-03 Jerry Quinn <jlquinn@optonline.net>
Benjamin Kosnik <benjamin@redhat.com>
Benjamin Kosnik <benjamin@redhat.com>
* include/bits/locale_facets.h (__num_base): Add _S_atoms_out.
Add indexes into this array.
@ -824,7 +909,7 @@
set_memory_limits.
2003-02-28 Brad Spencer <spencer@infointeractive.com>
Nathan Myers <ncm@cantrip.org>
Nathan Myers <ncm@cantrip.org>
* src/Makefile.am (stamp-debug): Clean.
* src/Makefile.in: Regenerate.
@ -848,12 +933,12 @@
2003-02-27 Benjamin Kosnik <bkoz@redhat.com>
* configure.in (GLIBCPP_ENABLE_DEBUG): Default to none.
* configure.in (GLIBCPP_ENABLE_DEBUG): Default to none.
Call GLIBCPP_ENABLE_DEBUG_FLAGS.
* acinclude.m4 (GLIBCPP_ENABLE_DEBUG): GLIBCPP_BUILD_DEBUG, new
conditional if --enable-debug is yes. Rework.
* acinclude.m4 (GLIBCPP_ENABLE_DEBUG): GLIBCPP_BUILD_DEBUG, new
conditional if --enable-debug is yes. Rework.
(GLIBCPP_ENABLE_DEBUG_FLAGS): New.
* aclocal.m4: Regenerate.
* aclocal.m4: Regenerate.
* libio/Makefile.am: Remove DEBUG_FLAGS.
* libio/Makefile.in: Regenerate.
* libsupc++/Makefile.am: Remove DEBUG_FLAGS.
@ -916,7 +1001,7 @@
2003-02-27 Jerry Quinn <jlquinn@optonline.net>
* config/locale/generic/messages_members.h (messages::messages):
* config/locale/generic/messages_members.h (messages::messages):
Remove name from unused parameter.
2003-02-27 Benjamin Kosnik <bkoz@redhat.com>
@ -1023,7 +1108,7 @@
for pos_type.
2003-02-11 Paolo Carlini <pcarlini@unitus.it>
Petur Runolfsson <peturr02@ru.is>
Petur Runolfsson <peturr02@ru.is>
PR libstdc++/9318
* include/bits/streambuf.tcc (__copy_streambufs):
@ -1102,7 +1187,7 @@
2003-02-05 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/26_numerics/valarray_name_lookup.cc: Fix.
* testsuite/26_numerics/valarray_name_lookup.cc: Fix.
2003-02-05 Benjamin Kosnik <bkoz@redhat.com>
@ -1356,8 +1441,8 @@
2003-01-06 Paolo Carlini <pcarlini@unitus.it>
* src/codecvt.cc
(codecvt<char, char, mbstate_t>::do_in, do_out):
Tweak parameters to avoid unused parameter warnings.
(codecvt<char, char, mbstate_t>::do_in, do_out):
Tweak parameters to avoid unused parameter warnings.
2003-01-06 Paolo Carlini <pcarlini@unitus.it>
@ -1476,7 +1561,7 @@
2002-12-02 Paolo Carlini <pcarlini@unitus.it>
* include/bits/basic_string.h (compare(const basic_string&)):
Fully qualify min() with std::.
Fully qualify min() with std::.
2002-12-02 Benjamin Kosnik <bkoz@redhat.com>
@ -1516,7 +1601,7 @@
* docs/html/faq/index.html: Add tip about a namespace for extensions.
2002-11-28 Paolo Carlini <pcarlini@unitus.it>
Nathan Myers <ncm@cantrip.org>
Nathan Myers <ncm@cantrip.org>
* src/localename.cc
(locale::_Impl::_Impl(const char*, size_t)):
@ -1536,7 +1621,7 @@
__cxa_guard_release, __cxa_guard_abort in CXXABI_1.2.1.
2002-11-25 Paolo Carlini <pcarlini@unitus.it>
Nathan Myers <ncm@cantrip.org>
Nathan Myers <ncm@cantrip.org>
* src/localename.cc
(locale::_Impl::_Impl(const char*, size_t)):
@ -1576,7 +1661,7 @@
Trivial cosmetic tweaks.
2002-11-22 Laszlo Ersek <erseklaszlo@chello.hu>
Paolo Carlini <pcarlini@unitus.it>
Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/8645
* include/bits/stl_tree.h (_Rb_tree_rebalance_for_erase):
@ -1629,7 +1714,7 @@
include/std/std_streambuf.h: Doxygenate all I/O entities.
2002-11-20 Benjamin Kosnik <bkoz@redhat.com>
Jonathan Lennox <lennox@cs.columbia.edu>
Jonathan Lennox <lennox@cs.columbia.edu>
* include/bits/streambuf.tcc (__copy_streambufs):
Revert previous fix for the interactive half of
@ -1669,7 +1754,7 @@
and std::codecvt<wchar_t>::codecvt(size_t) into one export pattern.
2002-11-15 Benjamin Kosnik <bkoz@redhat.com>
Gabriel Dos Reis <gdr@integrable-solutions.net>
Gabriel Dos Reis <gdr@integrable-solutions.net>
PR libstdc++/8230
* include/bits/stl_alloc.h: Use builtin_expect for the most
@ -1686,7 +1771,7 @@
* src/ios.cc [_GLIBCPP_HAVE_UNISTD_H]: Include unistd.h.
2002-11-15 Paolo Carlini <pcarlini@unitus.it>
Loren J. Rittle <ljrittle@acm.org>
Loren J. Rittle <ljrittle@acm.org>
PR libstdc++/8399
* acinclude.m4
@ -1740,8 +1825,8 @@
2002-11-11 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/6746
* include/bits/fstream.tcc (filebuf::open): Set input pointers.
PR libstdc++/6746
* include/bits/fstream.tcc (filebuf::open): Set input pointers.
* config/io/basic_file_stdio.cc (__basic_file::_M_open_mode): Set
__p_mode as well.
(__basic_file::open): Set to non-block for input.
@ -1762,7 +1847,7 @@
docs/html/ext/sgiexts.html: Add missing <html> tag.
2002-11-07 Phil Edwards <pme@gcc.gnu.org>
Richard Earnshaw <rearnsha@arm.com>
Richard Earnshaw <rearnsha@arm.com>
* config/cpu/generic/atomicity.h: Provide atomic __exchange_and_add
and __atomic_add.
@ -2029,7 +2114,7 @@
* testsuite/22_locale/static_members.cc (test02): Avoid null strings.
2002-10-12 Jonathan Wakely <jw@kayari.org>
Gabriel Dos Reis <gdr@integrable-solutions.net>
Gabriel Dos Reis <gdr@integrable-solutions.net>
* docs/html/21_strings/howto.html#5: Correct nasting of XHTML
elements. Correct allocator-related text.
@ -2291,9 +2376,9 @@
__glibcpp_s8_digits10 et al; check vs the installed versions
of digits10 for particular sizes.
* include/std/std_limits.h (__glibcpp_float_is_modulo,
__glibcpp_double_is_modulo, __glibcpp_long_double_is_modulo): Kill.
(numeric_limits<T>::is_modulo, T floating): Use false.
* include/std/std_limits.h (__glibcpp_float_is_modulo,
__glibcpp_double_is_modulo, __glibcpp_long_double_is_modulo): Kill.
(numeric_limits<T>::is_modulo, T floating): Use false.
2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>

View File

@ -2132,7 +2132,9 @@ AC_DEFUN(GLIBCPP_CONFIGURE_TESTSUITE, [
AC_SUBST(baseline_dir)
# Determine if checking the ABI is desirable.
if test x$enable_symvers = xno; then
# Only build this as native, since automake does not understand
# CXX_FOR_BUILD.
if test x"$GLIBCPP_IS_CROSS_COMPILING" = xtrue || test x$enable_symvers = xno; then
enable_abi_check=no
else
case "$host" in

View File

@ -2144,7 +2144,9 @@ AC_DEFUN(GLIBCPP_CONFIGURE_TESTSUITE, [
AC_SUBST(baseline_dir)
# Determine if checking the ABI is desirable.
if test x$enable_symvers = xno; then
# Only build this as native, since automake does not understand
# CXX_FOR_BUILD.
if test x"$GLIBCPP_IS_CROSS_COMPILING" = xtrue || test x$enable_symvers = xno; then
enable_abi_check=no
else
case "$host" in

View File

@ -1,6 +1,6 @@
// Low-level functions for atomic operations: m68k version -*- C++ -*-
// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@ -32,8 +32,9 @@
typedef int _Atomic_word;
#if defined(__mc68020__) || defined(__mc68030__) \
|| defined(__mc68040__) || defined(__mc68060__)
#if ( defined(__mc68020__) || defined(__mc68030__) \
|| defined(__mc68040__) || defined(__mc68060__) ) \
&& !defined(__mcpu32__)
// These variants support compare-and-swap.
static inline _Atomic_word
@ -74,8 +75,7 @@ __exchange_and_add (volatile _Atomic_word *__mem, int __val)
return __result;
}
#elif !defined(__mcf5200__) && !defined(__mcf5300__)
// 68000, 68010, cpu32 and 5400 support test-and-set.
#else
template <int __inst>
struct __Atomicity_lock
@ -94,9 +94,26 @@ __exchange_and_add (volatile _Atomic_word *__mem, int __val)
{
_Atomic_word __result;
// bset with no immediate addressing
#if defined(__mcf5200__) || defined(__mcf5300__) || defined(__mcf5400__)
__asm__ __volatile__("1: bset.b #7,%0@\n\tjbne 1b"
: /* no outputs */
: "a"(&__Atomicity_lock<0>::_S_atomicity_lock)
: "cc", "memory");
// bset with immediate addressing
#elif defined(__mc68000__)
__asm__ __volatile__("1: bset.b #7,%0\n\tjbne 1b"
: "+m"(__Atomicity_lock<0>::_S_atomicity_lock)
: /* none */
: "cc");
#else // 680x0, cpu32, 5400 support test-and-set.
__asm__ __volatile__("1: tas %0\n\tjbne 1b"
: "=m"(__Atomicity_lock<0>::_S_atomicity_lock)
: "m"(__Atomicity_lock<0>::_S_atomicity_lock));
: "+m"(__Atomicity_lock<0>::_S_atomicity_lock)
: /* none */
: "cc");
#endif
__result = *__mem;
*__mem = __result + __val;
@ -106,45 +123,7 @@ __exchange_and_add (volatile _Atomic_word *__mem, int __val)
return __result;
}
#elif defined(__vxWorks__) || defined(__embedded__)
// The best we can hope for is to disable interrupts, which we
// can only do from supervisor mode.
static inline _Atomic_word
__attribute__ ((__unused__))
__exchange_and_add (volatile _Atomic_word *__mem, int __val)
{
_Atomic_word __result;
short __level, __tmpsr;
__asm__ __volatile__ ("move%.w %%sr,%0\n\tor%.l %0,%1\n\tmove%.w %1,%%sr"
: "=d"(__level), "=d"(__tmpsr) : "1"(0x700));
__result = *__mem;
*__mem = __result + __val;
__asm__ __volatile__ ("move%.w %0,%%sr" : : "d"(__level));
return __result;
}
#else
// These variants do not support any atomic operations at all.
#warning "__exchange_and_add is not atomic for this target"
static inline _Atomic_word
__attribute__ ((__unused__))
__exchange_and_add (volatile _Atomic_word *__mem, int __val)
{
_Atomic_word __result;
__result = *__mem;
*__mem = __result + __val;
return __result;
}
#endif /* CAS / IRQ / TAS */
#endif /* TAS / BSET */
static inline void
__attribute__ ((__unused__))
@ -155,4 +134,4 @@ __atomic_add (volatile _Atomic_word* __mem, int __val)
(void) __exchange_and_add (__mem, __val);
}
#endif /* atomicity.h */
#endif /* _BITS_ATOMICITY_H */

View File

@ -1,6 +1,6 @@
// std::ctype implementation details, generic version -*- C++ -*-
// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@ -126,15 +126,35 @@ namespace std
bool
ctype<wchar_t>::
do_is(mask __m, char_type __c) const
{ return static_cast<bool>(iswctype(__c, _M_convert_to_wmask(__m))); }
{
bool __ret = false;
const size_t __bitmasksize = 10;
for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
{
const mask __bit = static_cast<mask>(1 << __bitcur);
if (__m & __bit)
__ret |= iswctype(__c, _M_convert_to_wmask(__bit));
}
return __ret;
}
const wchar_t*
ctype<wchar_t>::
do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __m) const
do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
{
while (__lo < __hi && !this->do_is(*__m, *__lo))
++__lo;
return __lo;
for (;__lo < __hi; ++__vec, ++__lo)
{
const size_t __bitmasksize = 10;
mask __m = 0;
for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
{
const mask __bit = static_cast<mask>(1 << __bitcur);
if (iswctype(*__lo, _M_convert_to_wmask(__bit)))
__m |= __bit;
}
*__vec = __m;
}
return __hi;
}
const wchar_t*

View File

@ -1,6 +1,6 @@
// std::ctype implementation details, GNU version -*- C++ -*-
// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@ -129,19 +129,42 @@ namespace std
bool
ctype<wchar_t>::
do_is(mask __m, char_type __c) const
do_is(mask __m, wchar_t __c) const
{
return static_cast<bool>(__iswctype_l(__c, _M_convert_to_wmask(__m),
_M_c_locale_ctype));
// Highest bitmask in ctype_base == 10, but extra in "C"
// library for blank.
bool __ret = false;
const size_t __bitmasksize = 11;
for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
{
const mask __bit = static_cast<mask>(_ISbit(__bitcur));
if (__m & __bit)
__ret |= __iswctype_l(__c, _M_convert_to_wmask(__bit),
_M_c_locale_ctype);
}
return __ret;
}
const wchar_t*
ctype<wchar_t>::
do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __m) const
do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
{
while (__lo < __hi && !this->do_is(*__m, *__lo))
++__lo;
return __lo;
for (;__lo < __hi; ++__vec, ++__lo)
{
// Highest bitmask in ctype_base == 10, but extra in "C"
// library for blank.
const size_t __bitmasksize = 11;
mask __m = 0;
for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
{
const mask __bit = static_cast<mask>(_ISbit(__bitcur));
if (__iswctype_l(*__lo, _M_convert_to_wmask(__bit),
_M_c_locale_ctype))
__m |= __bit;
}
*__vec = __m;
}
return __hi;
}
const wchar_t*

View File

@ -50,13 +50,15 @@
else
{
bool __ret = true;
const int __bitmasksize = 11;
int __bitcur = 0; // Lowest bitmask in ctype_base == 0
for (;__ret && __bitcur < __bitmasksize; ++__bitcur)
bool __any_match = false;
const size_t __bitmasksize = 10;
size_t __bitcur = 0; // Lowest bitmask in ctype_base == 0
for (;__ret && __bitcur <= __bitmasksize; ++__bitcur)
{
mask __bit = static_cast<mask>(1 << __bitcur);
if (__m & __bit)
{
__any_match = true;
bool __testis;
switch (__bit)
{
@ -100,7 +102,7 @@
__ret &= __testis;
}
}
return __ret;
return __ret & __any_match;
}
}
@ -114,13 +116,13 @@
else
{
// Highest bitmask in ctype_base == 10.
const int __bitmasksize = 11;
const size_t __bitmasksize = 10;
for (;__low < __high; ++__vec, ++__low)
{
mask __m = 0;
// Lowest bitmask in ctype_base == 0
int __i = 0;
for (;__i < __bitmasksize; ++__i)
size_t __i = 0;
for (;__i <= __bitmasksize; ++__i)
{
mask __bit = static_cast<mask>(1 << __i);
if (this->is(__bit, *__low))

View File

@ -97,8 +97,10 @@ typedef long int __padding_type;
#define _GLIBCPP_INST_ATOMICITY_LOCK 1
#endif
/* Don't use pragma weak in gthread headers. */
#ifdef __hppa__
/* Don't use pragma weak in gthread headers. HP-UX rejects programs
with unsatisfied external references even if all of those references
are weak; gthread relies on such unsatisfied references being resolved
to null pointers when weak symbol support is on. */
#define _GLIBCPP_GTHREAD_USE_WEAK 0
#endif
#endif

View File

@ -1468,7 +1468,7 @@ else
if { (eval echo configure:1469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
*.c | *.o | *.obj) ;;
*.$ac_ext | *.c | *.o | *.obj) ;;
*) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
esac
done
@ -2451,7 +2451,7 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
x86_64-*linux*)
LD="${LD-ld} -m elf_i386"
;;
ppc64-*linux*)
ppc64-*linux*|powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@ -23798,7 +23798,9 @@ done
# Determine if checking the ABI is desirable.
if test x$enable_symvers = xno; then
# Only build this as native, since automake does not understand
# CXX_FOR_BUILD.
if test x"$GLIBCPP_IS_CROSS_COMPILING" = xtrue || test x$enable_symvers = xno; then
enable_abi_check=no
else
case "$host" in
@ -23902,7 +23904,7 @@ glibcpp_prefixdir=${prefix}
# Process the option --with-gxx-include-dir=<path to include-files directory>
echo $ac_n "checking for --with-gxx-include-dir""... $ac_c" 1>&6
echo "configure:23906: checking for --with-gxx-include-dir" >&5
echo "configure:23908: checking for --with-gxx-include-dir" >&5
# Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
if test "${with_gxx_include_dir+set}" = set; then
withval="$with_gxx_include_dir"
@ -23926,7 +23928,7 @@ echo "$ac_t""$gxx_include_dir" 1>&6
# Process the option "--enable-version-specific-runtime-libs"
echo $ac_n "checking for --enable-version-specific-runtime-libs""... $ac_c" 1>&6
echo "configure:23930: checking for --enable-version-specific-runtime-libs" >&5
echo "configure:23932: checking for --enable-version-specific-runtime-libs" >&5
# Check whether --enable-version-specific-runtime-libs or --disable-version-specific-runtime-libs was given.
if test "${enable_version_specific_runtime_libs+set}" = set; then
enableval="$enable_version_specific_runtime_libs"
@ -23973,7 +23975,7 @@ if test x"$glibcpp_toolexecdir" = x"no"; then
fi
echo $ac_n "checking for install location""... $ac_c" 1>&6
echo "configure:23977: checking for install location" >&5
echo "configure:23979: checking for install location" >&5
echo "$ac_t""$gxx_include_dir" 1>&6

View File

@ -154,13 +154,13 @@ case "${target_os}" in
netbsd*)
os_include_dir="os/bsd/netbsd"
;;
solaris2.5*)
solaris2.5 | solaris2.5.[0-9])
os_include_dir="os/solaris/solaris2.5"
;;
solaris2.6*)
solaris2.6)
os_include_dir="os/solaris/solaris2.6"
;;
solaris2.[789]*)
solaris2.[789] | solaris2.1[0-9])
os_include_dir="os/solaris/solaris2.7"
;;
windiss*)

View File

@ -372,7 +372,7 @@ stamp-bits: ${bits_headers}
(cd ${bits_builddir} && @LN_S@ $? . || true) ;\
echo `date` > stamp-bits
stamp-c_base: ${c_base_headers} ${c_base_headers_extra}
stamp-c_base: stamp-bits ${c_base_headers} ${c_base_headers_extra}
@if [ ! -d "${c_base_builddir}" ]; then \
mkdir -p ${c_base_builddir} ;\
fi ;\

View File

@ -609,7 +609,7 @@ stamp-bits: ${bits_headers}
(cd ${bits_builddir} && @LN_S@ $? . || true) ;\
echo `date` > stamp-bits
stamp-c_base: ${c_base_headers} ${c_base_headers_extra}
stamp-c_base: stamp-bits ${c_base_headers} ${c_base_headers_extra}
@if [ ! -d "${c_base_builddir}" ]; then \
mkdir -p ${c_base_builddir} ;\
fi ;\

View File

@ -242,7 +242,8 @@ namespace std
* The parameter is passed by derived streams.
*/
explicit
basic_ios(basic_streambuf<_CharT, _Traits>* __sb) : ios_base()
basic_ios(basic_streambuf<_CharT, _Traits>* __sb)
: ios_base(), _M_fctype(0), _M_fnumput(0), _M_fnumget(0)
{ this->init(__sb); }
/**

View File

@ -35,7 +35,7 @@
#include <bits/os_defines.h>
// The current version of the C++ library in compressed ISO date format.
#define __GLIBCPP__ 20030804
#define __GLIBCPP__ 20031106
// This is necessary until GCC supports separate template compilation.
#define _GLIBCPP_NO_TEMPLATE_EXPORT 1

View File

@ -757,8 +757,12 @@ namespace std
sentry __cerb(*this, true);
if (__cerb)
{
try
{ __c = this->rdbuf()->sgetc(); }
try
{
__c = this->rdbuf()->sgetc();
if (traits_type::eq_int_type(__c, traits_type::eof()))
this->setstate(ios_base::eofbit);
}
catch(...)
{
// 27.6.1.3 paragraph 1

View File

@ -1099,12 +1099,12 @@ namespace std
string_type __str;
__beg = this->do_get(__beg, __end, __intl, __io, __err, __str);
const int __n = numeric_limits<long double>::digits10;
char* __cs = static_cast<char*>(__builtin_alloca(__n));
const int __cs_size = __str.size() + 1;
char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
const locale __loc = __io.getloc();
const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
const _CharT* __wcs = __str.c_str();
__ctype.narrow(__wcs, __wcs + __str.size() + 1, char(), __cs);
__ctype.narrow(__wcs, __wcs + __cs_size, char(), __cs);
__convert_to_v(__cs, __units, __err, _S_c_locale);
return __beg;
}

View File

@ -609,7 +609,8 @@ namespace std
else {
__first = find(__first, __last, __val);
while (__first != __last) {
_Integer __n = __count - 1;
typename iterator_traits<_ForwardIter>::difference_type __n = __count;
--__n;
_ForwardIter __i = __first;
++__i;
while (__i != __last && __n != 0 && *__i == __val) {
@ -661,7 +662,8 @@ namespace std
++__first;
}
while (__first != __last) {
_Integer __n = __count - 1;
typename iterator_traits<_ForwardIter>::difference_type __n = __count;
--__n;
_ForwardIter __i = __first;
++__i;
while (__i != __last && __n != 0 && __binary_pred(*__i, __val)) {

View File

@ -175,6 +175,8 @@ class __pointer_type_info
unsigned __outer) const;
};
class __class_type_info;
/* type information for a pointer to member variable */
class __pointer_to_member_type_info
: public __pbase_type_info
@ -201,8 +203,6 @@ class __pointer_to_member_type_info
unsigned __outer) const;
};
class __class_type_info;
/* helper class for __vmi_class_type */
class __base_class_type_info
{