mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-02 04:13:39 +00:00
Gcc 3.4.6 C++ support bits (as of 2006/08/25 #116475).
This commit is contained in:
parent
e35cf0a56c
commit
f482ed056f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/vendor/gcc/dist/; revision=161653
@ -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
|
||||
|
||||
* GCC 3.4.4 released.
|
||||
|
@ -35,7 +35,7 @@
|
||||
#include <bits/os_defines.h>
|
||||
|
||||
// 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
|
||||
// that g++ supports.
|
||||
|
@ -535,13 +535,28 @@ namespace std
|
||||
__n -= __avail;
|
||||
}
|
||||
|
||||
const streamsize __len = _M_file.xsgetn(reinterpret_cast<char*>(__s),
|
||||
__n);
|
||||
if (__len == -1)
|
||||
__throw_ios_failure(__N("basic_filebuf::xsgetn "
|
||||
"error reading the file"));
|
||||
__ret += __len;
|
||||
if (__len == __n)
|
||||
// Need to loop in case of short reads (relatively common
|
||||
// with pipes).
|
||||
streamsize __len;
|
||||
for (;;)
|
||||
{
|
||||
__len = _M_file.xsgetn(reinterpret_cast<char*>(__s),
|
||||
__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_reading = true;
|
||||
|
@ -444,57 +444,57 @@ namespace std
|
||||
namespace __gnu_cxx
|
||||
{
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
__capture_fpclassify(_Tp __f) { return fpclassify(__f); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
__capture_isfinite(_Tp __f) { return isfinite(__f); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
__capture_isinf(_Tp __f) { return isinf(__f); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
__capture_isnan(_Tp __f) { return isnan(__f); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
__capture_isnormal(_Tp __f) { return isnormal(__f); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
__capture_signbit(_Tp __f) { return signbit(__f); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
__capture_isgreater(_Tp __f1, _Tp __f2)
|
||||
{ return isgreater(__f1, __f2); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
__capture_isgreaterequal(_Tp __f1, _Tp __f2)
|
||||
{ return isgreaterequal(__f1, __f2); }
|
||||
inline int
|
||||
__capture_isgreaterequal(_Tp __f1, _Tp __f2)
|
||||
{ return isgreaterequal(__f1, __f2); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
__capture_isless(_Tp __f1, _Tp __f2) { return isless(__f1, __f2); }
|
||||
inline int
|
||||
__capture_isless(_Tp __f1, _Tp __f2) { return isless(__f1, __f2); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
__capture_islessequal(_Tp __f1, _Tp __f2)
|
||||
{ return islessequal(__f1, __f2); }
|
||||
inline int
|
||||
__capture_islessequal(_Tp __f1, _Tp __f2)
|
||||
{ return islessequal(__f1, __f2); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
__capture_islessgreater(_Tp __f1, _Tp __f2)
|
||||
{ return islessgreater(__f1, __f2); }
|
||||
inline int
|
||||
__capture_islessgreater(_Tp __f1, _Tp __f2)
|
||||
{ return islessgreater(__f1, __f2); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
__capture_isunordered(_Tp __f1, _Tp __f2)
|
||||
{ return isunordered(__f1, __f2); }
|
||||
inline int
|
||||
__capture_isunordered(_Tp __f1, _Tp __f2)
|
||||
{ return isunordered(__f1, __f2); }
|
||||
}
|
||||
|
||||
// Only undefine the C99 FP macros, if actually captured for namespace movement
|
||||
@ -518,54 +518,54 @@ namespace __gnu_cxx
|
||||
namespace __gnu_cxx
|
||||
{
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
fpclassify(_Tp __f) { return __capture_fpclassify(__f); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
isfinite(_Tp __f) { return __capture_isfinite(__f); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
isinf(_Tp __f) { return __capture_isinf(__f); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
isnan(_Tp __f) { return __capture_isnan(__f); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
isnormal(_Tp __f) { return __capture_isnormal(__f); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
signbit(_Tp __f) { return __capture_signbit(__f); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
isgreater(_Tp __f1, _Tp __f2) { return __capture_isgreater(__f1, __f2); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
isgreaterequal(_Tp __f1, _Tp __f2)
|
||||
{ return __capture_isgreaterequal(__f1, __f2); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
isless(_Tp __f1, _Tp __f2) { return __capture_isless(__f1, __f2); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
islessequal(_Tp __f1, _Tp __f2)
|
||||
{ return __capture_islessequal(__f1, __f2); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
islessgreater(_Tp __f1, _Tp __f2)
|
||||
{ return __capture_islessgreater(__f1, __f2); }
|
||||
|
||||
template<typename _Tp>
|
||||
int
|
||||
inline int
|
||||
isunordered(_Tp __f1, _Tp __f2)
|
||||
{ return __capture_isunordered(__f1, __f2); }
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
// 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
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
@ -241,7 +241,7 @@ private:
|
||||
typedef _Hashtable_node<_Val> _Node;
|
||||
|
||||
public:
|
||||
typedef _Alloc allocator_type;
|
||||
typedef typename _Alloc::template rebind<value_type>::other allocator_type;
|
||||
allocator_type get_allocator() const { return _M_node_allocator; }
|
||||
private:
|
||||
typedef typename _Alloc::template rebind<_Node>::other _Node_Alloc;
|
||||
|
Loading…
Reference in New Issue
Block a user