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

which included commits to RCS files with non-trunk default branches.
This commit is contained in:
Alexander Kabaev 2006-08-26 21:29:46 +00:00
commit 04c537677f
5 changed files with 106 additions and 43 deletions

View File

@ -1,3 +1,51 @@
2006-03-05 Release Manager
* GCC 3.4.6 released.
2005-11-30 Release Manager
* GCC 3.4.5 released.
2005-09-10 Joseph S. Myers <joseph@codesourcery.com>
* testsuite/26_numerics/c99_classification_macros_c.cc:
XFAIL on *-*-linux*, not *-*-linux-gnu.
2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
* include/c_std/std_cmath.h: Declare C99 functions and helper
functions as inline.
2005-08-29 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/23528
Port from HEAD/4_0-branch:
2004-07-28 Matt Austern <austern@apple.com>
* include/ext/hashtable.h: Use rebind so that allocator_type
has correct type for a container's allocator.
* testsuite/ext/23528.cc: New.
2005-08-24 Lawrence Lim <llim@redhat.com>
Jakub Jelinek <jakub@redhat.com>
Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/23550
* testsuite/21_strings/char_traits/requirements/char/1.cc
(test01): Simplify counting.
* testsuite/21_strings/char_traits/requirements/wchar_t/1.cc
(test02): Same.
2005-07-18 Paolo Carlini <pcarlini@suse.de>
Nathan Myers <ncm@cantrip.org>
PR libstdc++/21286
* include/bits/fstream.tcc (basic_filebuf<>::xsgetn):
Loop on short reads.
2005-05-27 Mark Mitchell <mark@codesourcery.com>
* testsuite/Makefile.in: Regenerate with Automake 1.7.8.
2005-05-19 Release Manager 2005-05-19 Release Manager
* GCC 3.4.4 released. * GCC 3.4.4 released.

View File

@ -35,7 +35,7 @@
#include <bits/os_defines.h> #include <bits/os_defines.h>
// The current version of the C++ library in compressed ISO date format. // The current version of the C++ library in compressed ISO date format.
#define __GLIBCXX__ 20050519 #define __GLIBCXX__ 20060311
// Allow use of "export template." This is currently not a feature // Allow use of "export template." This is currently not a feature
// that g++ supports. // that g++ supports.

View File

@ -535,13 +535,28 @@ namespace std
__n -= __avail; __n -= __avail;
} }
const streamsize __len = _M_file.xsgetn(reinterpret_cast<char*>(__s), // Need to loop in case of short reads (relatively common
__n); // with pipes).
if (__len == -1) streamsize __len;
__throw_ios_failure(__N("basic_filebuf::xsgetn " for (;;)
"error reading the file")); {
__ret += __len; __len = _M_file.xsgetn(reinterpret_cast<char*>(__s),
if (__len == __n) __n);
if (__len == -1)
__throw_ios_failure(__N("basic_filebuf::xsgetn "
"error reading the file"));
if (__len == 0)
break;
__n -= __len;
__ret += __len;
if (__n == 0)
break;
__s += __len;
}
if (__n == 0)
{ {
_M_set_buffer(0); _M_set_buffer(0);
_M_reading = true; _M_reading = true;

View File

@ -444,57 +444,57 @@ namespace std
namespace __gnu_cxx namespace __gnu_cxx
{ {
template<typename _Tp> template<typename _Tp>
int inline int
__capture_fpclassify(_Tp __f) { return fpclassify(__f); } __capture_fpclassify(_Tp __f) { return fpclassify(__f); }
template<typename _Tp> template<typename _Tp>
int inline int
__capture_isfinite(_Tp __f) { return isfinite(__f); } __capture_isfinite(_Tp __f) { return isfinite(__f); }
template<typename _Tp> template<typename _Tp>
int inline int
__capture_isinf(_Tp __f) { return isinf(__f); } __capture_isinf(_Tp __f) { return isinf(__f); }
template<typename _Tp> template<typename _Tp>
int inline int
__capture_isnan(_Tp __f) { return isnan(__f); } __capture_isnan(_Tp __f) { return isnan(__f); }
template<typename _Tp> template<typename _Tp>
int inline int
__capture_isnormal(_Tp __f) { return isnormal(__f); } __capture_isnormal(_Tp __f) { return isnormal(__f); }
template<typename _Tp> template<typename _Tp>
int inline int
__capture_signbit(_Tp __f) { return signbit(__f); } __capture_signbit(_Tp __f) { return signbit(__f); }
template<typename _Tp> template<typename _Tp>
int inline int
__capture_isgreater(_Tp __f1, _Tp __f2) __capture_isgreater(_Tp __f1, _Tp __f2)
{ return isgreater(__f1, __f2); } { return isgreater(__f1, __f2); }
template<typename _Tp> template<typename _Tp>
int inline int
__capture_isgreaterequal(_Tp __f1, _Tp __f2) __capture_isgreaterequal(_Tp __f1, _Tp __f2)
{ return isgreaterequal(__f1, __f2); } { return isgreaterequal(__f1, __f2); }
template<typename _Tp> template<typename _Tp>
int inline int
__capture_isless(_Tp __f1, _Tp __f2) { return isless(__f1, __f2); } __capture_isless(_Tp __f1, _Tp __f2) { return isless(__f1, __f2); }
template<typename _Tp> template<typename _Tp>
int inline int
__capture_islessequal(_Tp __f1, _Tp __f2) __capture_islessequal(_Tp __f1, _Tp __f2)
{ return islessequal(__f1, __f2); } { return islessequal(__f1, __f2); }
template<typename _Tp> template<typename _Tp>
int inline int
__capture_islessgreater(_Tp __f1, _Tp __f2) __capture_islessgreater(_Tp __f1, _Tp __f2)
{ return islessgreater(__f1, __f2); } { return islessgreater(__f1, __f2); }
template<typename _Tp> template<typename _Tp>
int inline int
__capture_isunordered(_Tp __f1, _Tp __f2) __capture_isunordered(_Tp __f1, _Tp __f2)
{ return isunordered(__f1, __f2); } { return isunordered(__f1, __f2); }
} }
// Only undefine the C99 FP macros, if actually captured for namespace movement // Only undefine the C99 FP macros, if actually captured for namespace movement
@ -518,54 +518,54 @@ namespace __gnu_cxx
namespace __gnu_cxx namespace __gnu_cxx
{ {
template<typename _Tp> template<typename _Tp>
int inline int
fpclassify(_Tp __f) { return __capture_fpclassify(__f); } fpclassify(_Tp __f) { return __capture_fpclassify(__f); }
template<typename _Tp> template<typename _Tp>
int inline int
isfinite(_Tp __f) { return __capture_isfinite(__f); } isfinite(_Tp __f) { return __capture_isfinite(__f); }
template<typename _Tp> template<typename _Tp>
int inline int
isinf(_Tp __f) { return __capture_isinf(__f); } isinf(_Tp __f) { return __capture_isinf(__f); }
template<typename _Tp> template<typename _Tp>
int inline int
isnan(_Tp __f) { return __capture_isnan(__f); } isnan(_Tp __f) { return __capture_isnan(__f); }
template<typename _Tp> template<typename _Tp>
int inline int
isnormal(_Tp __f) { return __capture_isnormal(__f); } isnormal(_Tp __f) { return __capture_isnormal(__f); }
template<typename _Tp> template<typename _Tp>
int inline int
signbit(_Tp __f) { return __capture_signbit(__f); } signbit(_Tp __f) { return __capture_signbit(__f); }
template<typename _Tp> template<typename _Tp>
int inline int
isgreater(_Tp __f1, _Tp __f2) { return __capture_isgreater(__f1, __f2); } isgreater(_Tp __f1, _Tp __f2) { return __capture_isgreater(__f1, __f2); }
template<typename _Tp> template<typename _Tp>
int inline int
isgreaterequal(_Tp __f1, _Tp __f2) isgreaterequal(_Tp __f1, _Tp __f2)
{ return __capture_isgreaterequal(__f1, __f2); } { return __capture_isgreaterequal(__f1, __f2); }
template<typename _Tp> template<typename _Tp>
int inline int
isless(_Tp __f1, _Tp __f2) { return __capture_isless(__f1, __f2); } isless(_Tp __f1, _Tp __f2) { return __capture_isless(__f1, __f2); }
template<typename _Tp> template<typename _Tp>
int inline int
islessequal(_Tp __f1, _Tp __f2) islessequal(_Tp __f1, _Tp __f2)
{ return __capture_islessequal(__f1, __f2); } { return __capture_islessequal(__f1, __f2); }
template<typename _Tp> template<typename _Tp>
int inline int
islessgreater(_Tp __f1, _Tp __f2) islessgreater(_Tp __f1, _Tp __f2)
{ return __capture_islessgreater(__f1, __f2); } { return __capture_islessgreater(__f1, __f2); }
template<typename _Tp> template<typename _Tp>
int inline int
isunordered(_Tp __f1, _Tp __f2) isunordered(_Tp __f1, _Tp __f2)
{ return __capture_isunordered(__f1, __f2); } { return __capture_isunordered(__f1, __f2); }
} }

View File

@ -1,6 +1,6 @@
// Hashtable implementation used by containers -*- C++ -*- // Hashtable implementation used by containers -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. // Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
@ -241,7 +241,7 @@ class hashtable {
typedef _Hashtable_node<_Val> _Node; typedef _Hashtable_node<_Val> _Node;
public: public:
typedef _Alloc allocator_type; typedef typename _Alloc::template rebind<value_type>::other allocator_type;
allocator_type get_allocator() const { return _M_node_allocator; } allocator_type get_allocator() const { return _M_node_allocator; }
private: private:
typedef typename _Alloc::template rebind<_Node>::other _Node_Alloc; typedef typename _Alloc::template rebind<_Node>::other _Node_Alloc;