summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-26 09:36:39 +0000
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-26 09:36:39 +0000
commit4018023280bb9d9c0a8c5a65294ebdd5bea9a0b4 (patch)
treec4bbfc3e34ddfb85bca8cb9f18aef766183785cd
parent1d4c33e71e1f467005353d17e85e7d94e1c5f8d0 (diff)
downloadgcc-4018023280bb9d9c0a8c5a65294ebdd5bea9a0b4.tar.gz
2007-02-26 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28080 (partial) * include/std/bitset: Do not include <istream> and <ostream>, <ios> is enough. * include/std/iomanip: Do not include the whole <istream>, <ios> is enough; do not include <functional>; reformat. * include/std/functional: Do not include <cstddef>. * include/std/list: Do not include <bits/stl_uninitialized.h>. * include/std/numeric: Do not include the whole <iterator> and <bits/stl_function.h>. * include/std/valarray: Do not include <numeric>. * include/bits/stl_numeric.h: Include <bits/concept_check.h>. * src/iostream-inst.cc: Include <istream>. * include/ext/functional: Include <cstddef>. * testsuite/util/testsuite_hooks.h: Do not include <locale>, <ctime> is enough; qualify tm. * testsuite/util/testsuite_hooks.cc: Qualify tm. 2007-02-26 Paolo Carlini <pcarlini@suse.de> * include/bits/locale_facets.h (class ctype_byname<char>, class ctype_byname<wchar_t>): Declare. * src/ctype.cc (ctype_byname<wchar_t>::ctype_byname(const char*, size_t), ctype_byname<wchar_t>::~ctype_byname): Define. * config/locale/generic/ctype_members.cc (ctype_byname<char>:: ctype_byname(const char*, size_t), ctype_byname<char>::~ctype_byname): Likewise. * config/locale/gnu/ctype_members.cc (ctype_byname<char>:: ctype_byname(const char*, size_t), ctype_byname<char>::~ctype_byname): Likewise. * config/locale/darwin/ctype_members.cc (ctype_byname<char>:: ctype_byname(const char*, size_t), ctype_byname<char>::~ctype_byname): Likewise. * testsuite/22_locale/headers/locale/synopsis.cc: Remove xfail. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122329 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libstdc++-v3/ChangeLog36
-rw-r--r--libstdc++-v3/config/locale/darwin/ctype_members.cc26
-rw-r--r--libstdc++-v3/config/locale/generic/ctype_members.cc25
-rw-r--r--libstdc++-v3/config/locale/gnu/ctype_members.cc31
-rw-r--r--libstdc++-v3/include/bits/locale_facets.h29
-rw-r--r--libstdc++-v3/include/bits/stl_numeric.h4
-rw-r--r--libstdc++-v3/include/ext/functional4
-rw-r--r--libstdc++-v3/include/std/bitset8
-rw-r--r--libstdc++-v3/include/std/functional4
-rw-r--r--libstdc++-v3/include/std/iomanip58
-rw-r--r--libstdc++-v3/include/std/list4
-rw-r--r--libstdc++-v3/include/std/numeric3
-rw-r--r--libstdc++-v3/include/std/valarray4
-rw-r--r--libstdc++-v3/src/ctype.cc28
-rw-r--r--libstdc++-v3/src/iostream-inst.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/headers/locale/synopsis.cc3
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_hooks.cc7
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_hooks.h9
18 files changed, 181 insertions, 106 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 5b7332a1d0d..9d5103a273a 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,39 @@
+2007-02-26 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/28080 (partial)
+ * include/std/bitset: Do not include <istream> and <ostream>,
+ <ios> is enough.
+ * include/std/iomanip: Do not include the whole <istream>,
+ <ios> is enough; do not include <functional>; reformat.
+ * include/std/functional: Do not include <cstddef>.
+ * include/std/list: Do not include <bits/stl_uninitialized.h>.
+ * include/std/numeric: Do not include the whole <iterator> and
+ <bits/stl_function.h>.
+ * include/std/valarray: Do not include <numeric>.
+ * include/bits/stl_numeric.h: Include <bits/concept_check.h>.
+ * src/iostream-inst.cc: Include <istream>.
+ * include/ext/functional: Include <cstddef>.
+ * testsuite/util/testsuite_hooks.h: Do not include <locale>,
+ <ctime> is enough; qualify tm.
+ * testsuite/util/testsuite_hooks.cc: Qualify tm.
+
+2007-02-26 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/locale_facets.h (class ctype_byname<char>,
+ class ctype_byname<wchar_t>): Declare.
+ * src/ctype.cc (ctype_byname<wchar_t>::ctype_byname(const char*,
+ size_t), ctype_byname<wchar_t>::~ctype_byname): Define.
+ * config/locale/generic/ctype_members.cc (ctype_byname<char>::
+ ctype_byname(const char*, size_t), ctype_byname<char>::~ctype_byname):
+ Likewise.
+ * config/locale/gnu/ctype_members.cc (ctype_byname<char>::
+ ctype_byname(const char*, size_t), ctype_byname<char>::~ctype_byname):
+ Likewise.
+ * config/locale/darwin/ctype_members.cc (ctype_byname<char>::
+ ctype_byname(const char*, size_t), ctype_byname<char>::~ctype_byname):
+ Likewise.
+ * testsuite/22_locale/headers/locale/synopsis.cc: Remove xfail.
+
2007-02-25 Paolo Carlini <pcarlini@suse.de>
* testsuite/19_diagnostics/headers/cerrno/macros.cc: Include
diff --git a/libstdc++-v3/config/locale/darwin/ctype_members.cc b/libstdc++-v3/config/locale/darwin/ctype_members.cc
index c2a5c4ac500..813ec7979db 100644
--- a/libstdc++-v3/config/locale/darwin/ctype_members.cc
+++ b/libstdc++-v3/config/locale/darwin/ctype_members.cc
@@ -1,6 +1,7 @@
// std::ctype implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
+// 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
@@ -40,16 +41,19 @@ namespace std
{
// NB: The other ctype<char> specializations are in src/locale.cc and
// various /config/os/* files.
- template<>
- ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
- : ctype<char>(0, false, __refs)
- {
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
- {
- this->_S_destroy_c_locale(this->_M_c_locale_ctype);
- this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
- }
- }
+
+ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
+ : ctype<char>(0, false, __refs)
+ {
+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
+ {
+ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
+ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
+ }
+ }
+
+ ctype_byname<char>::~ctype_byname()
+ { }
#ifdef _GLIBCXX_USE_WCHAR_T
ctype<wchar_t>::__wmask_type
diff --git a/libstdc++-v3/config/locale/generic/ctype_members.cc b/libstdc++-v3/config/locale/generic/ctype_members.cc
index 3af4440da8f..0520c223874 100644
--- a/libstdc++-v3/config/locale/generic/ctype_members.cc
+++ b/libstdc++-v3/config/locale/generic/ctype_members.cc
@@ -1,6 +1,7 @@
// std::ctype implementation details, generic version -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
+// 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
@@ -39,16 +40,18 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// NB: The other ctype<char> specializations are in src/locale.cc and
// various /config/os/* files.
- template<>
- ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
- : ctype<char>(0, false, __refs)
- {
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
- {
- this->_S_destroy_c_locale(this->_M_c_locale_ctype);
- this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
- }
- }
+ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
+ : ctype<char>(0, false, __refs)
+ {
+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
+ {
+ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
+ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
+ }
+ }
+
+ ctype_byname<char>::~ctype_byname()
+ { }
#ifdef _GLIBCXX_USE_WCHAR_T
ctype<wchar_t>::__wmask_type
diff --git a/libstdc++-v3/config/locale/gnu/ctype_members.cc b/libstdc++-v3/config/locale/gnu/ctype_members.cc
index cb2887d9b98..3aec312f89b 100644
--- a/libstdc++-v3/config/locale/gnu/ctype_members.cc
+++ b/libstdc++-v3/config/locale/gnu/ctype_members.cc
@@ -1,6 +1,7 @@
// std::ctype implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
+// 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
@@ -40,19 +41,21 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// NB: The other ctype<char> specializations are in src/locale.cc and
// various /config/os/* files.
- template<>
- ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
- : ctype<char>(0, false, __refs)
- {
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
- {
- this->_S_destroy_c_locale(this->_M_c_locale_ctype);
- this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
- this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
- this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
- this->_M_table = this->_M_c_locale_ctype->__ctype_b;
- }
- }
+ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
+ : ctype<char>(0, false, __refs)
+ {
+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
+ {
+ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
+ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
+ this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
+ this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
+ this->_M_table = this->_M_c_locale_ctype->__ctype_b;
+ }
+ }
+
+ ctype_byname<char>::~ctype_byname()
+ { }
#ifdef _GLIBCXX_USE_WCHAR_T
ctype<wchar_t>::__wmask_type
diff --git a/libstdc++-v3/include/bits/locale_facets.h b/libstdc++-v3/include/bits/locale_facets.h
index e31ae1751cc..0f7cdd3a3ff 100644
--- a/libstdc++-v3/include/bits/locale_facets.h
+++ b/libstdc++-v3/include/bits/locale_facets.h
@@ -1,6 +1,7 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+// 2006, 2007
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -1510,7 +1511,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
class ctype_byname : public ctype<_CharT>
{
public:
- typedef _CharT char_type;
+ typedef typename ctype<_CharT>::mask mask;
explicit
ctype_byname(const char* __s, size_t __refs = 0);
@@ -1522,10 +1523,30 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/// 22.2.1.4 Class ctype_byname specializations.
template<>
- ctype_byname<char>::ctype_byname(const char*, size_t refs);
+ class ctype_byname<char> : public ctype<char>
+ {
+ public:
+ explicit
+ ctype_byname(const char* __s, size_t __refs = 0);
+ protected:
+ virtual
+ ~ctype_byname();
+ };
+
+#ifdef _GLIBCXX_USE_WCHAR_T
template<>
- ctype_byname<wchar_t>::ctype_byname(const char*, size_t refs);
+ class ctype_byname<wchar_t> : public ctype<wchar_t>
+ {
+ public:
+ explicit
+ ctype_byname(const char* __s, size_t __refs = 0);
+
+ protected:
+ virtual
+ ~ctype_byname();
+ };
+#endif
_GLIBCXX_END_NAMESPACE
diff --git a/libstdc++-v3/include/bits/stl_numeric.h b/libstdc++-v3/include/bits/stl_numeric.h
index 82bee216d10..2c44b180840 100644
--- a/libstdc++-v3/include/bits/stl_numeric.h
+++ b/libstdc++-v3/include/bits/stl_numeric.h
@@ -1,6 +1,7 @@
// Numeric functions implementation -*- C++ -*-
-// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
+// 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
@@ -61,6 +62,7 @@
#ifndef _STL_NUMERIC_H
#define _STL_NUMERIC_H 1
+#include <bits/concept_check.h>
#include <debug/debug.h>
_GLIBCXX_BEGIN_NAMESPACE(std)
diff --git a/libstdc++-v3/include/ext/functional b/libstdc++-v3/include/ext/functional
index f159e11d639..bc4ea5beb9e 100644
--- a/libstdc++-v3/include/ext/functional
+++ b/libstdc++-v3/include/ext/functional
@@ -1,6 +1,7 @@
// Functional extensions -*- C++ -*-
-// Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007
+// 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
@@ -64,6 +65,7 @@
#pragma GCC system_header
#include <functional>
+#include <cstddef>
_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
diff --git a/libstdc++-v3/include/std/bitset b/libstdc++-v3/include/std/bitset
index 860e775cc6b..ec098175012 100644
--- a/libstdc++-v3/include/std/bitset
+++ b/libstdc++-v3/include/std/bitset
@@ -1,6 +1,6 @@
// <bitset> -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -52,14 +52,12 @@
#include <cstddef> // For size_t
#include <cstring> // For memset
-#include <limits> // For numeric_limits
#include <string>
#include <bits/functexcept.h> // For invalid_argument, out_of_range,
// overflow_error
-#include <ostream> // For ostream (operator<<)
-#include <istream> // For istream (operator>>)
+#include <ios>
-#define _GLIBCXX_BITSET_BITS_PER_WORD numeric_limits<unsigned long>::digits
+#define _GLIBCXX_BITSET_BITS_PER_WORD (__CHAR_BIT__ * sizeof(unsigned long))
#define _GLIBCXX_BITSET_WORDS(__n) \
((__n) < 1 ? 0 : ((__n) + _GLIBCXX_BITSET_BITS_PER_WORD - 1) \
/ _GLIBCXX_BITSET_BITS_PER_WORD)
diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional
index feadaa2252a..18413142161 100644
--- a/libstdc++-v3/include/std/functional
+++ b/libstdc++-v3/include/std/functional
@@ -1,6 +1,7 @@
// <functional> -*- C++ -*-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
+// 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
@@ -51,7 +52,6 @@
#pragma GCC system_header
#include <bits/c++config.h>
-#include <cstddef>
#include <bits/stl_function.h>
#endif /* _GLIBCXX_FUNCTIONAL */
diff --git a/libstdc++-v3/include/std/iomanip b/libstdc++-v3/include/std/iomanip
index 13b21d579bd..a1bb4149304 100644
--- a/libstdc++-v3/include/std/iomanip
+++ b/libstdc++-v3/include/std/iomanip
@@ -1,6 +1,7 @@
// Standard stream manipulators -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2005
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+// 2006, 2007
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -42,8 +43,7 @@
#pragma GCC system_header
#include <bits/c++config.h>
-#include <istream>
-#include <functional>
+#include <ios>
_GLIBCXX_BEGIN_NAMESPACE(std)
@@ -68,16 +68,16 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
template<typename _CharT, typename _Traits>
- inline basic_istream<_CharT,_Traits>&
- operator>>(basic_istream<_CharT,_Traits>& __is, _Resetiosflags __f)
+ inline basic_istream<_CharT, _Traits>&
+ operator>>(basic_istream<_CharT, _Traits>& __is, _Resetiosflags __f)
{
__is.setf(ios_base::fmtflags(0), __f._M_mask);
return __is;
}
template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT,_Traits>&
- operator<<(basic_ostream<_CharT,_Traits>& __os, _Resetiosflags __f)
+ inline basic_ostream<_CharT, _Traits>&
+ operator<<(basic_ostream<_CharT, _Traits>& __os, _Resetiosflags __f)
{
__os.setf(ios_base::fmtflags(0), __f._M_mask);
return __os;
@@ -102,15 +102,15 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
template<typename _CharT, typename _Traits>
- inline basic_istream<_CharT,_Traits>&
- operator>>(basic_istream<_CharT,_Traits>& __is, _Setiosflags __f)
+ inline basic_istream<_CharT, _Traits>&
+ operator>>(basic_istream<_CharT, _Traits>& __is, _Setiosflags __f)
{
__is.setf(__f._M_mask);
return __is;
}
template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT,_Traits>&
+ inline basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT,_Traits>& __os, _Setiosflags __f)
{
__os.setf(__f._M_mask);
@@ -137,19 +137,19 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
template<typename _CharT, typename _Traits>
- inline basic_istream<_CharT,_Traits>&
- operator>>(basic_istream<_CharT,_Traits>& __is, _Setbase __f)
+ inline basic_istream<_CharT, _Traits>&
+ operator>>(basic_istream<_CharT, _Traits>& __is, _Setbase __f)
{
__is.setf(__f._M_base == 8 ? ios_base::oct :
- __f._M_base == 10 ? ios_base::dec :
- __f._M_base == 16 ? ios_base::hex :
- ios_base::fmtflags(0), ios_base::basefield);
+ __f._M_base == 10 ? ios_base::dec :
+ __f._M_base == 16 ? ios_base::hex :
+ ios_base::fmtflags(0), ios_base::basefield);
return __is;
}
template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT,_Traits>&
- operator<<(basic_ostream<_CharT,_Traits>& __os, _Setbase __f)
+ inline basic_ostream<_CharT, _Traits>&
+ operator<<(basic_ostream<_CharT, _Traits>& __os, _Setbase __f)
{
__os.setf(__f._M_base == 8 ? ios_base::oct :
__f._M_base == 10 ? ios_base::dec :
@@ -179,16 +179,16 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
template<typename _CharT, typename _Traits>
- inline basic_istream<_CharT,_Traits>&
- operator>>(basic_istream<_CharT,_Traits>& __is, _Setfill<_CharT> __f)
+ inline basic_istream<_CharT, _Traits>&
+ operator>>(basic_istream<_CharT, _Traits>& __is, _Setfill<_CharT> __f)
{
__is.fill(__f._M_c);
return __is;
}
template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT,_Traits>&
- operator<<(basic_ostream<_CharT,_Traits>& __os, _Setfill<_CharT> __f)
+ inline basic_ostream<_CharT, _Traits>&
+ operator<<(basic_ostream<_CharT, _Traits>& __os, _Setfill<_CharT> __f)
{
__os.fill(__f._M_c);
return __os;
@@ -213,16 +213,16 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
template<typename _CharT, typename _Traits>
- inline basic_istream<_CharT,_Traits>&
- operator>>(basic_istream<_CharT,_Traits>& __is, _Setprecision __f)
+ inline basic_istream<_CharT, _Traits>&
+ operator>>(basic_istream<_CharT, _Traits>& __is, _Setprecision __f)
{
__is.precision(__f._M_n);
return __is;
}
template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT,_Traits>&
- operator<<(basic_ostream<_CharT,_Traits>& __os, _Setprecision __f)
+ inline basic_ostream<_CharT, _Traits>&
+ operator<<(basic_ostream<_CharT, _Traits>& __os, _Setprecision __f)
{
__os.precision(__f._M_n);
return __os;
@@ -247,16 +247,16 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
template<typename _CharT, typename _Traits>
- inline basic_istream<_CharT,_Traits>&
- operator>>(basic_istream<_CharT,_Traits>& __is, _Setw __f)
+ inline basic_istream<_CharT, _Traits>&
+ operator>>(basic_istream<_CharT, _Traits>& __is, _Setw __f)
{
__is.width(__f._M_n);
return __is;
}
template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT,_Traits>&
- operator<<(basic_ostream<_CharT,_Traits>& __os, _Setw __f)
+ inline basic_ostream<_CharT, _Traits>&
+ operator<<(basic_ostream<_CharT, _Traits>& __os, _Setw __f)
{
__os.width(__f._M_n);
return __os;
diff --git a/libstdc++-v3/include/std/list b/libstdc++-v3/include/std/list
index b46f65417ec..0a1ce137615 100644
--- a/libstdc++-v3/include/std/list
+++ b/libstdc++-v3/include/std/list
@@ -1,6 +1,7 @@
// <list> -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
+// 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
@@ -66,7 +67,6 @@
#include <bits/stl_algobase.h>
#include <bits/allocator.h>
#include <bits/stl_construct.h>
-#include <bits/stl_uninitialized.h>
#include <bits/stl_list.h>
#ifndef _GLIBCXX_EXPORT_TEMPLATE
diff --git a/libstdc++-v3/include/std/numeric b/libstdc++-v3/include/std/numeric
index 03f82dd6ab0..55ab7a8e1ee 100644
--- a/libstdc++-v3/include/std/numeric
+++ b/libstdc++-v3/include/std/numeric
@@ -64,8 +64,7 @@
#include <bits/c++config.h>
#include <cstddef>
-#include <iterator>
-#include <bits/stl_function.h>
+#include <bits/stl_iterator_base_types.h>
#include <bits/stl_numeric.h>
#endif /* _GLIBCXX_NUMERIC */
diff --git a/libstdc++-v3/include/std/valarray b/libstdc++-v3/include/std/valarray
index 50528bfa7fd..6b9d63f03ce 100644
--- a/libstdc++-v3/include/std/valarray
+++ b/libstdc++-v3/include/std/valarray
@@ -1,6 +1,7 @@
// The template and inlines for the -*- C++ -*- valarray class.
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+// 2006, 2007
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -43,7 +44,6 @@
#include <cstddef>
#include <cmath>
#include <cstdlib>
-#include <numeric>
#include <algorithm>
#include <debug/debug.h>
diff --git a/libstdc++-v3/src/ctype.cc b/libstdc++-v3/src/ctype.cc
index 634c135b2f9..71bf1e1116a 100644
--- a/libstdc++-v3/src/ctype.cc
+++ b/libstdc++-v3/src/ctype.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005,
+// 2006, 2007
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -98,17 +99,20 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
ctype<wchar_t>::~ctype()
{ _S_destroy_c_locale(_M_c_locale_ctype); }
- template<>
- ctype_byname<wchar_t>::ctype_byname(const char* __s, size_t __refs)
- : ctype<wchar_t>(__refs)
- {
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
- {
- this->_S_destroy_c_locale(this->_M_c_locale_ctype);
- this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
- this->_M_initialize_ctype();
- }
- }
+ ctype_byname<wchar_t>::ctype_byname(const char* __s, size_t __refs)
+ : ctype<wchar_t>(__refs)
+ {
+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
+ {
+ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
+ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
+ this->_M_initialize_ctype();
+ }
+ }
+
+ ctype_byname<wchar_t>::~ctype_byname()
+ { }
+
#endif
_GLIBCXX_END_NAMESPACE
diff --git a/libstdc++-v3/src/iostream-inst.cc b/libstdc++-v3/src/iostream-inst.cc
index 7e1df3d605e..5eef130a429 100644
--- a/libstdc++-v3/src/iostream-inst.cc
+++ b/libstdc++-v3/src/iostream-inst.cc
@@ -1,6 +1,7 @@
// Explicit instantiation file.
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+// 2006, 2007
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -33,6 +34,7 @@
//
#include <iomanip>
+#include <istream>
_GLIBCXX_BEGIN_NAMESPACE(std)
diff --git a/libstdc++-v3/testsuite/22_locale/headers/locale/synopsis.cc b/libstdc++-v3/testsuite/22_locale/headers/locale/synopsis.cc
index a26eab1a70f..47a5653a06d 100644
--- a/libstdc++-v3/testsuite/22_locale/headers/locale/synopsis.cc
+++ b/libstdc++-v3/testsuite/22_locale/headers/locale/synopsis.cc
@@ -1,5 +1,4 @@
-// { dg-do compile { xfail *-*-* } }
-// { dg-excess-errors "" }
+// { dg-do compile }
// Copyright (C) 2007 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/util/testsuite_hooks.cc b/libstdc++-v3/testsuite/util/testsuite_hooks.cc
index b649e9ba7d7..bb63f68cd06 100644
--- a/libstdc++-v3/testsuite/util/testsuite_hooks.cc
+++ b/libstdc++-v3/testsuite/util/testsuite_hooks.cc
@@ -2,7 +2,8 @@
// Utility subroutines for the C++ library testsuite.
//
-// Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007
+// 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
@@ -314,11 +315,11 @@ namespace __gnu_test
}
// For use in 22_locale/time_get and time_put.
- tm
+ std::tm
test_tm(int sec, int min, int hour, int mday, int mon,
int year, int wday, int yday, int isdst)
{
- static tm tmp;
+ static std::tm tmp;
tmp.tm_sec = sec;
tmp.tm_min = min;
tmp.tm_hour = hour;
diff --git a/libstdc++-v3/testsuite/util/testsuite_hooks.h b/libstdc++-v3/testsuite/util/testsuite_hooks.h
index b6c675b12e7..764c09ece31 100644
--- a/libstdc++-v3/testsuite/util/testsuite_hooks.h
+++ b/libstdc++-v3/testsuite/util/testsuite_hooks.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Utility subroutines for the C++ library testsuite.
//
-// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -59,7 +59,8 @@
#include <bits/c++config.h>
#include <bits/functexcept.h>
#include <cstddef>
-#include <locale>
+#include <ctime>
+
#ifdef _GLIBCXX_HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif
@@ -387,8 +388,8 @@ namespace __gnu_test
};
// For use in 22_locale/time_get and time_put.
- tm test_tm(int sec, int min, int hour, int mday, int mon,
- int year, int wday, int yday, int isdst);
+ std::tm test_tm(int sec, int min, int hour, int mday, int mon,
+ int year, int wday, int yday, int isdst);
} // namespace __gnu_test