diff options
author | Paolo Carlini <pcarlini@suse.de> | 2007-02-27 17:48:09 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2007-02-27 17:48:09 +0000 |
commit | f4e39278b3325b745acf5d70eb2c7800544dd87f (patch) | |
tree | c8b8ecb18ca1d3b7426df2cb41bbc6ca3ab50618 | |
parent | 01e7cd6e292e62d5b21500deb06cc11843ec4be0 (diff) | |
download | gcc-f4e39278b3325b745acf5d70eb2c7800544dd87f.zip gcc-f4e39278b3325b745acf5d70eb2c7800544dd87f.tar.gz gcc-f4e39278b3325b745acf5d70eb2c7800544dd87f.tar.bz2 |
PR libstdc++/28080 (partial)
2007-02-27 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28080 (partial)
* include/std/bitset: Do not include <ios>, <iosfwd> is enough.
(operator>>(std::basic_istream<>&, bitset<>&)): Tweak, refer to
ios_base as a base of basic_istream.
* include/std/iomanip: Do not include <ios>, <iosfwd> +
<bits/ios_base.h> is enough.
* include/std/iosfwd: Do not include <cctype> here...
* include/bits/locale_facets.h: ... do it here, when needed.
* include/bits/ostream.tcc: Clean up, do not include <locale> here...
* include/std/ostream: ... here instead.
* include/bits/istream.tcc: Likewise for <locale> and <ostream>...
* include/std/istream: ... here.
* include/bits/sstream.tcc: Do not include <sstream>.
From-SVN: r122380
-rw-r--r-- | libstdc++-v3/ChangeLog | 16 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/istream.tcc | 3 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/locale_facets.h | 1 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/ostream.tcc | 5 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/sstream.tcc | 5 | ||||
-rw-r--r-- | libstdc++-v3/include/std/bitset | 19 | ||||
-rw-r--r-- | libstdc++-v3/include/std/iomanip | 5 | ||||
-rw-r--r-- | libstdc++-v3/include/std/iosfwd | 4 | ||||
-rw-r--r-- | libstdc++-v3/include/std/istream | 5 | ||||
-rw-r--r-- | libstdc++-v3/include/std/ostream | 4 |
10 files changed, 44 insertions, 23 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 38a930b..983c782 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,19 @@ +2007-02-27 Paolo Carlini <pcarlini@suse.de> + + PR libstdc++/28080 (partial) + * include/std/bitset: Do not include <ios>, <iosfwd> is enough. + (operator>>(std::basic_istream<>&, bitset<>&)): Tweak, refer to + ios_base as a base of basic_istream. + * include/std/iomanip: Do not include <ios>, <iosfwd> + + <bits/ios_base.h> is enough. + * include/std/iosfwd: Do not include <cctype> here... + * include/bits/locale_facets.h: ... do it here, when needed. + * include/bits/ostream.tcc: Clean up, do not include <locale> here... + * include/std/ostream: ... here instead. + * include/bits/istream.tcc: Likewise for <locale> and <ostream>... + * include/std/istream: ... here. + * include/bits/sstream.tcc: Do not include <sstream>. + 2007-02-27 Richard Guenther <rguenther@suse.de> * acinclude.m4: Adjust regular expression for ld version extraction. diff --git a/libstdc++-v3/include/bits/istream.tcc b/libstdc++-v3/include/bits/istream.tcc index c6a8846..8714c9f 100644 --- a/libstdc++-v3/include/bits/istream.tcc +++ b/libstdc++-v3/include/bits/istream.tcc @@ -43,9 +43,6 @@ #pragma GCC system_header -#include <locale> -#include <ostream> // For flush() - _GLIBCXX_BEGIN_NAMESPACE(std) template<typename _CharT, typename _Traits> diff --git a/libstdc++-v3/include/bits/locale_facets.h b/libstdc++-v3/include/bits/locale_facets.h index 0f7cdd3..7746d1d 100644 --- a/libstdc++-v3/include/bits/locale_facets.h +++ b/libstdc++-v3/include/bits/locale_facets.h @@ -45,6 +45,7 @@ #include <ctime> // For struct tm #include <cwctype> // For wctype_t +#include <cctype> #include <bits/ctype_base.h> #include <iosfwd> #include <bits/ios_base.h> // For ios_base, ios_base::iostate diff --git a/libstdc++-v3/include/bits/ostream.tcc b/libstdc++-v3/include/bits/ostream.tcc index db09d0a..382f018 100644 --- a/libstdc++-v3/include/bits/ostream.tcc +++ b/libstdc++-v3/include/bits/ostream.tcc @@ -1,6 +1,7 @@ // ostream classes -*- 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 @@ -42,8 +43,6 @@ #pragma GCC system_header -#include <locale> - _GLIBCXX_BEGIN_NAMESPACE(std) template<typename _CharT, typename _Traits> diff --git a/libstdc++-v3/include/bits/sstream.tcc b/libstdc++-v3/include/bits/sstream.tcc index 4de1c81..2e64239 100644 --- a/libstdc++-v3/include/bits/sstream.tcc +++ b/libstdc++-v3/include/bits/sstream.tcc @@ -1,6 +1,7 @@ // String based streams -*- 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 @@ -42,8 +43,6 @@ #pragma GCC system_header -#include <sstream> - _GLIBCXX_BEGIN_NAMESPACE(std) template <class _CharT, class _Traits, class _Alloc> diff --git a/libstdc++-v3/include/std/bitset b/libstdc++-v3/include/std/bitset index ec09817..b0bc555 100644 --- a/libstdc++-v3/include/std/bitset +++ b/libstdc++-v3/include/std/bitset @@ -55,7 +55,7 @@ #include <string> #include <bits/functexcept.h> // For invalid_argument, out_of_range, // overflow_error -#include <ios> +#include <iosfwd> #define _GLIBCXX_BITSET_BITS_PER_WORD (__CHAR_BIT__ * sizeof(unsigned long)) #define _GLIBCXX_BITSET_WORDS(__n) \ @@ -1227,12 +1227,15 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, bitset<_Nb>& __x) { - typedef typename _Traits::char_type char_type; + typedef typename _Traits::char_type char_type; + typedef std::basic_istream<_CharT, _Traits> __istream_type; + typedef typename __istream_type::ios_base __ios_base; + std::basic_string<_CharT, _Traits> __tmp; __tmp.reserve(_Nb); - std::ios_base::iostate __state = std::ios_base::goodbit; - typename std::basic_istream<_CharT, _Traits>::sentry __sentry(__is); + typename __ios_base::iostate __state = __ios_base::goodbit; + typename __istream_type::sentry __sentry(__is); if (__sentry) { try @@ -1249,7 +1252,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) typename _Traits::int_type __c1 = __buf->sbumpc(); if (_Traits::eq_int_type(__c1, __eof)) { - __state |= std::ios_base::eofbit; + __state |= __ios_base::eofbit; break; } else @@ -1262,18 +1265,18 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) else if (_Traits::eq_int_type(__buf->sputbackc(__c2), __eof)) { - __state |= std::ios_base::failbit; + __state |= __ios_base::failbit; break; } } } } catch(...) - { __is._M_setstate(std::ios_base::badbit); } + { __is._M_setstate(__ios_base::badbit); } } if (__tmp.empty() && _Nb) - __state |= std::ios_base::failbit; + __state |= __ios_base::failbit; else __x._M_copy_from_string(__tmp, static_cast<size_t>(0), _Nb); if (__state) diff --git a/libstdc++-v3/include/std/iomanip b/libstdc++-v3/include/std/iomanip index a1bb414..13079e4 100644 --- a/libstdc++-v3/include/std/iomanip +++ b/libstdc++-v3/include/std/iomanip @@ -43,7 +43,8 @@ #pragma GCC system_header #include <bits/c++config.h> -#include <ios> +#include <iosfwd> +#include <bits/ios_base.h> _GLIBCXX_BEGIN_NAMESPACE(std) @@ -111,7 +112,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) template<typename _CharT, typename _Traits> inline basic_ostream<_CharT, _Traits>& - operator<<(basic_ostream<_CharT,_Traits>& __os, _Setiosflags __f) + operator<<(basic_ostream<_CharT, _Traits>& __os, _Setiosflags __f) { __os.setf(__f._M_mask); return __os; diff --git a/libstdc++-v3/include/std/iosfwd b/libstdc++-v3/include/std/iosfwd index a4d0c3f..d2da12b 100644 --- a/libstdc++-v3/include/std/iosfwd +++ b/libstdc++-v3/include/std/iosfwd @@ -1,6 +1,7 @@ // Forwarding declarations -*- 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 @@ -44,7 +45,6 @@ #include <bits/c++config.h> #include <bits/c++locale.h> #include <bits/c++io.h> -#include <cctype> // For isspace, etc. #include <bits/stringfwd.h> // For string forward declarations. #include <bits/postypes.h> #include <bits/functexcept.h> diff --git a/libstdc++-v3/include/std/istream b/libstdc++-v3/include/std/istream index e81c9cd..d6b0dfb 100644 --- a/libstdc++-v3/include/std/istream +++ b/libstdc++-v3/include/std/istream @@ -1,6 +1,7 @@ // Input streams -*- 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 @@ -42,6 +43,8 @@ #pragma GCC system_header #include <ios> +#include <locale> +#include <ostream> #include <limits> // For numeric_limits _GLIBCXX_BEGIN_NAMESPACE(std) diff --git a/libstdc++-v3/include/std/ostream b/libstdc++-v3/include/std/ostream index e97b7a4..2a84f80 100644 --- a/libstdc++-v3/include/std/ostream +++ b/libstdc++-v3/include/std/ostream @@ -1,6 +1,7 @@ // Output streams -*- C++ -*- -// 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 @@ -42,6 +43,7 @@ #pragma GCC system_header #include <ios> +#include <locale> _GLIBCXX_BEGIN_NAMESPACE(std) |