diff options
author | Paolo Carlini <pcarlini@suse.de> | 2007-03-03 10:29:14 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2007-03-03 10:29:14 +0000 |
commit | 39b8cd70c25945a655f8262761036c215a60fd9c (patch) | |
tree | 9c11143e43b585952f5dbea6270fee64275a31e4 /libstdc++-v3/include | |
parent | 7314b3ad2af869108d6d6df69017ef604f938645 (diff) | |
download | gcc-39b8cd70c25945a655f8262761036c215a60fd9c.zip gcc-39b8cd70c25945a655f8262761036c215a60fd9c.tar.gz gcc-39b8cd70c25945a655f8262761036c215a60fd9c.tar.bz2 |
PR libstdc++/28080 (partial)
2007-03-03 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28080 (partial)
* include/bits/stl_algobase.h: Do not include <iosfwd>,
<bits/functexcept.h> is enough; adjust __copy_aux declarations;
remove declaration of copy overload for istreambuf_iterator /
ostreambuf_iterator.
* src/debug.cc: Include <cstdio>.
* include/ext/rope: Include <iosfwd>.
* include/bits/char_traits.h: Include <cstdio> and <cwchar>.
* include/bits/stl_algo.h: Remove declaration of find overload
for istreambuf_iterator.
* include/std/queue: Clean up includes.
* include/std/stack: Likewise.
* include/std/memory: Likewise.
* include/std/algorithm: Likewise.
* include/std/vector: Likewise.
* include/std/deque: Likewise.
* include/std/list: Likewise.
* include/bits/stl_tree.h: Likewise.
* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Adjust
dg-error markers.
* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Likewise.
* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
* testsuite/23_containers/set/operators/1_neg.cc: Likewise.
* testsuite/23_containers/map/operators/1_neg.cc: Likewise.
* testsuite/20_util/auto_ptr/assign_neg.cc: Likewise.
* include/ext/type_traits.h: Fix type of __max_digits10; clean up
includes.
* testsuite/util/testsuite_hooks.h: Do not include <cstddef>.
* testsuite/util/testsuite_hooks.cc: Do it here.
From-SVN: r122502
Diffstat (limited to 'libstdc++-v3/include')
-rw-r--r-- | libstdc++-v3/include/bits/char_traits.h | 11 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/stl_algo.h | 13 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/stl_algobase.h | 33 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/stl_tree.h | 3 | ||||
-rw-r--r-- | libstdc++-v3/include/ext/rope | 3 | ||||
-rw-r--r-- | libstdc++-v3/include/ext/type_traits.h | 7 | ||||
-rw-r--r-- | libstdc++-v3/include/std/algorithm | 5 | ||||
-rw-r--r-- | libstdc++-v3/include/std/deque | 4 | ||||
-rw-r--r-- | libstdc++-v3/include/std/list | 2 | ||||
-rw-r--r-- | libstdc++-v3/include/std/memory | 3 | ||||
-rw-r--r-- | libstdc++-v3/include/std/queue | 13 | ||||
-rw-r--r-- | libstdc++-v3/include/std/stack | 7 | ||||
-rw-r--r-- | libstdc++-v3/include/std/vector | 4 |
13 files changed, 45 insertions, 63 deletions
diff --git a/libstdc++-v3/include/bits/char_traits.h b/libstdc++-v3/include/bits/char_traits.h index 58cddf6..03d744c 100644 --- a/libstdc++-v3/include/bits/char_traits.h +++ b/libstdc++-v3/include/bits/char_traits.h @@ -1,6 +1,7 @@ // Character Traits for use by standard string and iostream -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 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,9 +43,11 @@ #pragma GCC system_header -#include <cstring> // For memmove, memset, memchr -#include <bits/stl_algobase.h>// For copy, lexicographical_compare, fill_n -#include <bits/postypes.h> // For streampos +#include <cstring> // For memmove, memset, memchr +#include <bits/stl_algobase.h> // For copy, fill_n +#include <bits/postypes.h> // For streampos +#include <cstdio> // For EOF +#include <cwchar> // For WEOF, wmemmove, wmemset, etc. _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h index cf3cd71..75a89b7 100644 --- a/libstdc++-v3/include/bits/stl_algo.h +++ b/libstdc++-v3/include/bits/stl_algo.h @@ -63,7 +63,7 @@ #define _ALGO_H 1 #include <bits/stl_heap.h> -#include <bits/stl_tempbuf.h> // for _Temporary_buffer +#include <bits/stl_tempbuf.h> // for _Temporary_buffer #include <debug/debug.h> // See concept_check.h for the __glibcxx_*_requires macros. @@ -295,17 +295,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } /** - * @if maint - * This is an overload of find() for streambuf iterators. - * @endif - */ - template<typename _CharT> - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - istreambuf_iterator<_CharT> >::__type - find(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>, - const _CharT&); - - /** * @brief Find the first occurrence of a value in a sequence. * @param first An input iterator. * @param last An input iterator. diff --git a/libstdc++-v3/include/bits/stl_algobase.h b/libstdc++-v3/include/bits/stl_algobase.h index 35a8a038..a6d155a 100644 --- a/libstdc++-v3/include/bits/stl_algobase.h +++ b/libstdc++-v3/include/bits/stl_algobase.h @@ -67,7 +67,7 @@ #include <cwchar> #include <cstdlib> #include <cstddef> -#include <iosfwd> +#include <bits/functexcept.h> #include <bits/stl_pair.h> #include <bits/cpp_type_traits.h> #include <ext/type_traits.h> @@ -317,21 +317,33 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } // Helpers for streambuf iterators (either istream or ostream). + // NB: avoid including <iosfwd>, relatively large. + template<typename _CharT> + struct char_traits; + + template<typename _CharT, typename _Traits> + class istreambuf_iterator; + + template<typename _CharT, typename _Traits> + class ostreambuf_iterator; + template<typename _CharT> typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - ostreambuf_iterator<_CharT> >::__type - __copy_aux(_CharT*, _CharT*, ostreambuf_iterator<_CharT>); + ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type + __copy_aux(_CharT*, _CharT*, + ostreambuf_iterator<_CharT, char_traits<_CharT> >); template<typename _CharT> typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - ostreambuf_iterator<_CharT> >::__type - __copy_aux(const _CharT*, const _CharT*, ostreambuf_iterator<_CharT>); + ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type + __copy_aux(const _CharT*, const _CharT*, + ostreambuf_iterator<_CharT, char_traits<_CharT> >); template<typename _CharT> typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, _CharT*>::__type - __copy_aux(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>, - _CharT*); + __copy_aux(istreambuf_iterator<_CharT, char_traits<_CharT> >, + istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*); template<bool, bool> struct __copy_normal @@ -403,13 +415,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std) __result); } - // Overload for streambuf iterators. - template<typename _CharT> - typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, - ostreambuf_iterator<_CharT> >::__type - copy(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>, - ostreambuf_iterator<_CharT>); - template<bool, typename> struct __copy_backward { diff --git a/libstdc++-v3/include/bits/stl_tree.h b/libstdc++-v3/include/bits/stl_tree.h index bbfb252..0bb6539 100644 --- a/libstdc++-v3/include/bits/stl_tree.h +++ b/libstdc++-v3/include/bits/stl_tree.h @@ -1,6 +1,6 @@ // RB tree implementation -*- 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 @@ -66,7 +66,6 @@ #include <bits/stl_algobase.h> #include <bits/allocator.h> -#include <bits/stl_construct.h> #include <bits/stl_function.h> #include <bits/cpp_type_traits.h> diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope index 389fd09..45c5de8 100644 --- a/libstdc++-v3/include/ext/rope +++ b/libstdc++-v3/include/ext/rope @@ -1,6 +1,6 @@ // SGI's rope class -*- 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 @@ -57,6 +57,7 @@ #include <bits/stl_numeric.h> #include <bits/allocator.h> #include <ext/hash_fun.h> +#include <iosfwd> # ifdef __GC # define __GC_CONST const diff --git a/libstdc++-v3/include/ext/type_traits.h b/libstdc++-v3/include/ext/type_traits.h index 1d931ff..a4ea1ce 100644 --- a/libstdc++-v3/include/ext/type_traits.h +++ b/libstdc++-v3/include/ext/type_traits.h @@ -37,10 +37,7 @@ #pragma GCC system_header -#include <cstddef> -#include <utility> #include <limits> -#include <iosfwd> // std::streamsize #include <bits/cpp_type_traits.h> _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) @@ -182,12 +179,12 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) struct __numeric_traits_floating { // Only floating point types. See N1822. - static const std::streamsize __max_digits10 = + static const int __max_digits10 = 2 + std::numeric_limits<_Value>::digits * 3010/10000; }; template<typename _Value> - const std::streamsize __numeric_traits_floating<_Value>::__max_digits10; + const int __numeric_traits_floating<_Value>::__max_digits10; template<typename _Value> struct __numeric_traits diff --git a/libstdc++-v3/include/std/algorithm b/libstdc++-v3/include/std/algorithm index 7ffbf97..d579bbd 100644 --- a/libstdc++-v3/include/std/algorithm +++ b/libstdc++-v3/include/std/algorithm @@ -1,6 +1,7 @@ // <algorithm> -*- 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 @@ -63,8 +64,6 @@ #pragma GCC system_header #include <bits/stl_algobase.h> -#include <bits/stl_construct.h> -#include <bits/stl_uninitialized.h> #include <bits/stl_algo.h> #endif /* _GLIBCXX_ALGORITHM */ diff --git a/libstdc++-v3/include/std/deque b/libstdc++-v3/include/std/deque index 57c6e43..93ca4ca 100644 --- a/libstdc++-v3/include/std/deque +++ b/libstdc++-v3/include/std/deque @@ -1,6 +1,7 @@ // <deque> -*- 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 @@ -62,7 +63,6 @@ #pragma GCC system_header -#include <bits/functexcept.h> #include <bits/stl_algobase.h> #include <bits/allocator.h> #include <bits/stl_construct.h> diff --git a/libstdc++-v3/include/std/list b/libstdc++-v3/include/std/list index 0a1ce13..10461a1 100644 --- a/libstdc++-v3/include/std/list +++ b/libstdc++-v3/include/std/list @@ -63,10 +63,8 @@ #pragma GCC system_header -#include <bits/functexcept.h> #include <bits/stl_algobase.h> #include <bits/allocator.h> -#include <bits/stl_construct.h> #include <bits/stl_list.h> #ifndef _GLIBCXX_EXPORT_TEMPLATE diff --git a/libstdc++-v3/include/std/memory b/libstdc++-v3/include/std/memory index c47d49c..f604ac9 100644 --- a/libstdc++-v3/include/std/memory +++ b/libstdc++-v3/include/std/memory @@ -1,6 +1,6 @@ // <memory> -*- 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 @@ -54,7 +54,6 @@ #include <bits/stl_algobase.h> #include <bits/allocator.h> #include <bits/stl_construct.h> -#include <bits/stl_iterator_base_types.h> //for iterator_traits #include <bits/stl_uninitialized.h> #include <bits/stl_raw_storage_iter.h> #include <debug/debug.h> diff --git a/libstdc++-v3/include/std/queue b/libstdc++-v3/include/std/queue index 1242a06..2d919d0 100644 --- a/libstdc++-v3/include/std/queue +++ b/libstdc++-v3/include/std/queue @@ -1,6 +1,7 @@ // <queue> -*- 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 @@ -62,16 +63,10 @@ #pragma GCC system_header -#include <bits/c++config.h> -#include <bits/functexcept.h> -#include <bits/stl_algobase.h> -#include <bits/allocator.h> -#include <bits/stl_construct.h> -#include <bits/stl_uninitialized.h> -#include <bits/stl_heap.h> -#include <bits/stl_function.h> #include <deque> #include <vector> +#include <bits/stl_heap.h> +#include <bits/stl_function.h> #include <bits/stl_queue.h> #endif /* _GLIBCXX_QUEUE */ diff --git a/libstdc++-v3/include/std/stack b/libstdc++-v3/include/std/stack index 396f62e..b51155e 100644 --- a/libstdc++-v3/include/std/stack +++ b/libstdc++-v3/include/std/stack @@ -1,6 +1,7 @@ // <stack> -*- 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 @@ -62,10 +63,6 @@ #pragma GCC system_header -#include <bits/stl_algobase.h> -#include <bits/allocator.h> -#include <bits/stl_construct.h> -#include <bits/stl_uninitialized.h> #include <deque> #include <bits/stl_stack.h> diff --git a/libstdc++-v3/include/std/vector b/libstdc++-v3/include/std/vector index a4a527e..d7aba96 100644 --- a/libstdc++-v3/include/std/vector +++ b/libstdc++-v3/include/std/vector @@ -1,6 +1,7 @@ // <vector> -*- 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 @@ -62,7 +63,6 @@ #pragma GCC system_header -#include <bits/functexcept.h> #include <bits/stl_algobase.h> #include <bits/allocator.h> #include <bits/stl_construct.h> |