diff options
author | Benjamin Kosnik <bkoz@redhat.com> | 2007-01-30 18:04:59 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2007-01-30 18:04:59 +0000 |
commit | e894edefdb39ee5fc870680de8e7dea9147b3ce1 (patch) | |
tree | cfc9798e2f338434399fa6528ad3e91c9a4aa3a1 | |
parent | 884d2e6b2826a08b3b547d2d8fadebfe5a157c4f (diff) | |
download | gcc-e894edefdb39ee5fc870680de8e7dea9147b3ce1.zip gcc-e894edefdb39ee5fc870680de8e7dea9147b3ce1.tar.gz gcc-e894edefdb39ee5fc870680de8e7dea9147b3ce1.tar.bz2 |
re PR libstdc++/30571 (Use of C++0x keywords in libstdc++-v3 headers)
2007-01-30 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/30571
* include/ext/pb_ds/detail/type_utils.hpp: Use C++0x
static_assert if available, if not, centralize PB_DS_STATIC_ASSERT
definition here.
* include/ext/pb_ds/detail/resize_policy/
cc_hash_max_collision_check_resize_trigger_imp.hpp: Remove
PB_DS_STATIC_ASSERT definition.
* include/ext/pb_ds/detail/resize_policy/
hash_load_check_resize_trigger_imp.hpp: Same.
* include/ext/pb_ds/detail/resize_policy/
hash_standard_resize_policy_imp.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
* include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same.
* include/ext/pb_ds/trie_policy.hpp: Same.
* testsuite/util/performance/assoc/timing/
tree_order_statistics_test.hpp: Same.
* testsuite/ext/pb_ds/example/hash_resize_neg.cc: Adjust line numbers.
* testsuite/17_intro/headers_c++_c++0x_compat.cc: New.
* include/precompiled/extc++.h: Update to current list of ext files.
From-SVN: r121349
15 files changed, 207 insertions, 67 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 215dfc8..2b6b120 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,29 @@ +2007-01-30 Benjamin Kosnik <bkoz@redhat.com> + + PR libstdc++/30571 + * include/ext/pb_ds/detail/type_utils.hpp: Use C++0x + static_assert if available, if not, centralize PB_DS_STATIC_ASSERT + definition here. + * include/ext/pb_ds/detail/resize_policy/ + cc_hash_max_collision_check_resize_trigger_imp.hpp: Remove + PB_DS_STATIC_ASSERT definition. + * include/ext/pb_ds/detail/resize_policy/ + hash_load_check_resize_trigger_imp.hpp: Same. + * include/ext/pb_ds/detail/resize_policy/ + hash_standard_resize_policy_imp.hpp: Same. + * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same. + * include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same. + * include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Same. + * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same. + * include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same. + * include/ext/pb_ds/trie_policy.hpp: Same. + * testsuite/util/performance/assoc/timing/ + tree_order_statistics_test.hpp: Same. + * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Adjust line numbers. + * testsuite/17_intro/headers_c++_c++0x_compat.cc: New. + + * include/precompiled/extc++.h: Update to current list of ext files. + 2007-01-29 Paolo Carlini <pcarlini@suse.de> * include/bits/stl_uninitialized.h (uninitialized_copy(const char*, diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp index c2b95e8..67c35a6 100644 --- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp +++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2005, 2006 Free Software Foundation, Inc. +// Copyright (C) 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 terms @@ -106,10 +106,6 @@ namespace pb_ds #define PB_DS_V2S(X) Mapped_Data() #endif -#define PB_DS_STATIC_ASSERT(UNIQUE, E) \ - typedef static_assert_dumclass<sizeof(static_assert<(bool)(E)>)> \ - UNIQUE##static_assert_type - // <011i$i0|\|-<|-|4i|\|i|\|g |-|4$|-| 74813. template<typename Key, typename Mapped, @@ -640,7 +636,6 @@ namespace pb_ds #undef PB_DS_CLASS_NAME #undef PB_DS_V2F #undef PB_DS_V2S -#undef PB_DS_STATIC_ASSERT } // namespace detail } // namespace pb_ds diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp index 4a2ae40..24a9f1b 100644 --- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp +++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2005, 2006 Free Software Foundation, Inc. +// Copyright (C) 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 terms @@ -103,10 +103,6 @@ namespace pb_ds #define PB_DS_V2S(X) Mapped() #endif -#define PB_DS_STATIC_ASSERT(UNIQUE, E) \ - typedef static_assert_dumclass<sizeof(static_assert<(bool)(E)>)> \ - UNIQUE##static_assert_type - template<typename Key, typename Mapped, typename Hash_Fn, @@ -681,7 +677,6 @@ namespace pb_ds #undef PB_DS_CLASS_NAME #undef PB_DS_V2F #undef PB_DS_V2S -#undef PB_DS_STATIC_ASSERT } // namespace detail } // namespace pb_ds diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp index d64ad20..c63f6b0d 100644 --- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp +++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2005, 2006 Free Software Foundation, Inc. +// Copyright (C) 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 terms @@ -55,12 +55,8 @@ namespace pb_ds { namespace detail { -#define PB_DS_STATIC_ASSERT(UNIQUE, E) \ - typedef \ - static_assert_dumclass<sizeof(static_assert<(bool)(E)>)> \ - UNIQUE##static_assert_type -#define PB_DS_OV_TREE_CONST_NODE_ITERATOR_C_DEC \ +#define PB_DS_OV_TREE_CONST_NODE_ITERATOR_C_DEC \ ov_tree_node_const_it_<Value_Type, Metadata_Type, Allocator> // Const node reference. @@ -205,7 +201,7 @@ namespace pb_ds const_metadata_pointer m_p_metadata; }; -#define PB_DS_OV_TREE_NODE_ITERATOR_C_DEC \ +#define PB_DS_OV_TREE_NODE_ITERATOR_C_DEC \ ov_tree_node_it_<Value_Type, Metadata_Type, Allocator> // Node reference. @@ -251,7 +247,7 @@ namespace pb_ds public: inline - ov_tree_node_it_(const_pointer p_nd = NULL, const_pointer p_begin_nd = NULL, const_pointer p_end_nd = NULL, const_metadata_pointer p_metadata = NULL) : base_type( p_nd, p_begin_nd, p_end_nd, p_metadata) + ov_tree_node_it_(const_pointer p_nd = NULL, const_pointer p_begin_nd = NULL, const_pointer p_end_nd = NULL, const_metadata_pointer p_metadata = NULL) : base_type(p_nd, p_begin_nd, p_end_nd, p_metadata) { } // Access. @@ -295,7 +291,6 @@ namespace pb_ds #undef PB_DS_OV_TREE_NODE_ITERATOR_C_DEC #undef PB_DS_OV_TREE_CONST_NODE_ITERATOR_C_DEC -#undef PB_DS_STATIC_ASSERT } // namespace detail } // namespace pb_ds diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/internal_node.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/internal_node.hpp index 1061988..902c9b7 100644 --- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/internal_node.hpp +++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/internal_node.hpp @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2005, 2006 Free Software Foundation, Inc. +// Copyright (C) 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 terms @@ -66,9 +66,6 @@ namespace pb_ds #define PB_DS_LEAF_C_DEC \ pat_trie_leaf<Type_Traits, E_Access_Traits, Metadata, Allocator> -#define PB_DS_STATIC_ASSERT(UNIQUE, E) \ - typedef static_assert_dumclass<sizeof(static_assert<(bool)(E)>)> UNIQUE##static_assert_type - template<typename Type_Traits, typename E_Access_Traits, typename Metadata, @@ -601,7 +598,6 @@ namespace pb_ds #undef PB_DS_CLASS_C_DEC #undef PB_DS_BASE_C_DEC #undef PB_DS_LEAF_C_DEC -#undef PB_DS_STATIC_ASSERT } // namespace detail } // namespace pb_ds diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp index cb0a032..18c1a79 100644 --- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp +++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2005, 2006 Free Software Foundation, Inc. +// Copyright (C) 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 terms @@ -111,10 +111,6 @@ namespace pb_ds #define PB_DS_EP2VP(X)& ((X)->m_value.first) #endif -#define PB_DS_STATIC_ASSERT(UNIQUE, E) \ - typedef static_assert_dumclass<sizeof(static_assert<(bool)(E)>)> \ - UNIQUE##static_assert_type - /** * class description = PATRICIA trie implementation."> **/ @@ -520,7 +516,6 @@ namespace pb_ds #undef PB_DS_V2F #undef PB_DS_EP2VP #undef PB_DS_V2S -#undef PB_DS_STATIC_ASSERT } // namespace detail } // namespace pb_ds diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp index c10f7b6..3ade0c7 100644 --- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp +++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2005, 2006 Free Software Foundation, Inc. +// Copyright (C) 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 terms @@ -44,9 +44,6 @@ * Contains a resize trigger implementation. */ -#define PB_DS_STATIC_ASSERT(UNIQUE, E) \ - typedef detail::static_assert_dumclass<sizeof(detail::static_assert<(bool)(E)>)> UNIQUE##static_assert_type - PB_DS_CLASS_T_DEC PB_DS_CLASS_C_DEC:: cc_hash_max_collision_check_resize_trigger(float load) : @@ -218,4 +215,3 @@ set_load(float load) calc_resize_needed(); } -#undef PB_DS_STATIC_ASSERT diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp index f3c597f..1bae019 100644 --- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp +++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2005, 2006 Free Software Foundation, Inc. +// Copyright (C) 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 terms @@ -44,9 +44,6 @@ * Contains a resize trigger implementation. */ -#define PB_DS_STATIC_ASSERT(UNIQUE, E) \ - typedef detail::static_assert_dumclass<sizeof(detail::static_assert<bool(E)>)> UNIQUE##static_assert_type - PB_DS_CLASS_T_DEC PB_DS_CLASS_C_DEC:: hash_load_check_resize_trigger(float load_min, float load_max) @@ -296,5 +293,3 @@ assert_valid() const } #endif -#undef PB_DS_STATIC_ASSERT - diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp index b848991..a37ccc0 100644 --- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp +++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2005, 2006 Free Software Foundation, Inc. +// Copyright (C) 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 terms @@ -44,9 +44,6 @@ * Contains a resize policy implementation. */ -#define PB_DS_STATIC_ASSERT(UNIQUE, E) \ - typedef detail::static_assert_dumclass<sizeof(detail::static_assert<(bool)(E)>)> UNIQUE##static_assert_type - PB_DS_CLASS_T_DEC PB_DS_CLASS_C_DEC:: hash_standard_resize_policy() @@ -256,5 +253,3 @@ PB_DS_CLASS_C_DEC:: get_size_policy() const { return *this; } -#undef PB_DS_STATIC_ASSERT - diff --git a/libstdc++-v3/include/ext/pb_ds/detail/type_utils.hpp b/libstdc++-v3/include/ext/pb_ds/detail/type_utils.hpp index d66f01c..7a7e425 100644 --- a/libstdc++-v3/include/ext/pb_ds/detail/type_utils.hpp +++ b/libstdc++-v3/include/ext/pb_ds/detail/type_utils.hpp @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2005, 2006 Free Software Foundation, Inc. +// Copyright (C) 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 terms @@ -136,16 +136,19 @@ namespace pb_ds }; }; - + // Use C++0x's static_assert if possible. +#ifdef __GXX_EXPERIMENTAL_CXX0X__ +#define PB_DS_STATIC_ASSERT(UNIQUE, E) static_assert(E, #UNIQUE) +#else template<bool> - struct static_assert; + struct __static_assert; template<> - struct static_assert<true> + struct __static_assert<true> { }; template<int> - struct static_assert_dumclass + struct __static_assert_dumclass { enum { @@ -153,6 +156,11 @@ namespace pb_ds }; }; +#define PB_DS_STATIC_ASSERT(UNIQUE, E) \ + typedef pb_ds::detail::__static_assert_dumclass<sizeof(pb_ds::detail::__static_assert<bool(E)>)> UNIQUE##__static_assert_type + +#endif + template<typename Type> struct type_to_type { diff --git a/libstdc++-v3/include/ext/pb_ds/trie_policy.hpp b/libstdc++-v3/include/ext/pb_ds/trie_policy.hpp index d74bed4..ee496a1 100644 --- a/libstdc++-v3/include/ext/pb_ds/trie_policy.hpp +++ b/libstdc++-v3/include/ext/pb_ds/trie_policy.hpp @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2005, 2006 Free Software Foundation, Inc. +// Copyright (C) 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 terms @@ -61,9 +61,6 @@ namespace pb_ds struct null_trie_node_update { }; -#define PB_DS_STATIC_ASSERT(UNIQUE, E) \ - typedef detail::static_assert_dumclass<sizeof(detail::static_assert<bool(E)>)> UNIQUE##_static_assert_type - #define PB_DS_CLASS_T_DEC \ template<typename String, typename String::value_type Min_E_Val, typename String::value_type Max_E_Val, bool Reverse, typename Allocator> @@ -358,7 +355,6 @@ namespace pb_ds #undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_C_DEC #undef PB_DS_BASE_C_DEC -#undef PB_DS_STATIC_ASSERT } // namespace pb_ds diff --git a/libstdc++-v3/include/precompiled/extc++.h b/libstdc++-v3/include/precompiled/extc++.h index f01f39d..f3cd662 100644 --- a/libstdc++-v3/include/precompiled/extc++.h +++ b/libstdc++-v3/include/precompiled/extc++.h @@ -1,6 +1,6 @@ // C++ includes used for precompiling extensions -*- C++ -*- -// Copyright (C) 2006 Free Software Foundation, Inc. +// Copyright (C) 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 @@ -35,9 +35,12 @@ #include <ext/algorithm> #include <ext/array_allocator.h> +#include <ext/atomicity.h> #include <ext/bitmap_allocator.h> #include <ext/codecvt_specializations.h> +#include <ext/concurrence.h> #include <ext/debug_allocator.h> +#include <ext/enc_filebuf.h> #include <ext/functional> #include <ext/hash_map> #include <ext/hash_set> @@ -54,7 +57,9 @@ #include <ext/slist> #include <ext/stdio_filebuf.h> #include <ext/stdio_sync_filebuf.h> +#include <ext/throw_allocator.h> #include <ext/typelist.h> +#include <ext/type_traits.h> #include <ext/vstring.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/priority_queue.hpp> diff --git a/libstdc++-v3/testsuite/17_intro/headers_c++_c++0x_compat.cc b/libstdc++-v3/testsuite/17_intro/headers_c++_c++0x_compat.cc new file mode 100644 index 0000000..1052cd7 --- /dev/null +++ b/libstdc++-v3/testsuite/17_intro/headers_c++_c++0x_compat.cc @@ -0,0 +1,146 @@ +// { dg-do compile } +// { dg-options "-Wc++0x-compat -Werror" } + +// Copyright (C) 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 +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 2, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING. If not, write to the Free +// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +// USA. + +// As a special exception, you may use this file as part of a free software +// library without restriction. Specifically, if other files instantiate +// templates or use macros or inline functions from this file, or you compile +// this file and link it with other files to produce an executable, this +// file does not by itself cause the resulting executable to be covered by +// the GNU General Public License. This exception does not however +// invalidate any other reasons why the executable file might be covered by +// the GNU General Public License. + +// Make sure all the includes can be compiled with -Wc++0x-compat +// libstdc++/30571 + +// C +#include <cassert> +#include <cctype> +#include <cerrno> +#include <cfloat> +#include <ciso646> +#include <climits> +#include <clocale> +#include <cmath> +#include <csetjmp> +#include <csignal> +#include <cstdarg> +#include <cstddef> +#include <cstdio> +#include <cstdlib> +#include <cstring> +#include <ctime> + +// C++ +#include <algorithm> +#include <bitset> +#include <complex> +#include <deque> +#include <exception> +#include <fstream> +#include <functional> +#include <iomanip> +#include <ios> +#include <iosfwd> +#include <iostream> +#include <istream> +#include <iterator> +#include <limits> +#include <list> +#include <locale> +#include <map> +#include <memory> +#include <new> +#include <numeric> +#include <ostream> +#include <queue> +#include <set> +#include <sstream> +#include <stack> +#include <stdexcept> +#include <streambuf> +#include <string> +#include <typeinfo> +#include <utility> +#include <valarray> +#include <vector> + +// TR1 +#include <tr1/array> +#include <tr1/cctype> +#include <tr1/cfenv> +#include <tr1/cfloat> +#include <tr1/cinttypes> +#include <tr1/climits> +#include <tr1/cmath> +#include <tr1/complex> +#include <tr1/cstdarg> +#include <tr1/cstdbool> +#include <tr1/cstdint> +#include <tr1/cstdio> +#include <tr1/cstdlib> +#include <tr1/ctgmath> +#include <tr1/ctime> +#include <tr1/cwchar> +#include <tr1/cwctype> +#include <tr1/functional> +#include <tr1/random> +#include <tr1/tuple> +#include <tr1/unordered_map> +#include <tr1/unordered_set> +#include <tr1/utility> + +// Extensions +#include <ext/algorithm> +#include <ext/array_allocator.h> +#include <ext/atomicity.h> +#include <ext/bitmap_allocator.h> +#include <ext/codecvt_specializations.h> +#include <ext/concurrence.h> +#include <ext/debug_allocator.h> +#include <ext/enc_filebuf.h> +#include <ext/functional> +#include <ext/hash_map> +#include <ext/hash_set> +#include <ext/iterator> +#include <ext/malloc_allocator.h> +#include <ext/memory> +#include <ext/mt_allocator.h> +#include <ext/new_allocator.h> +#include <ext/numeric> +#include <ext/pod_char_traits.h> +#include <ext/pool_allocator.h> +#include <ext/rb_tree> +#include <ext/rope> +#include <ext/slist> +#include <ext/stdio_filebuf.h> +#include <ext/stdio_sync_filebuf.h> +#include <ext/throw_allocator.h> +#include <ext/typelist.h> +#include <ext/type_traits.h> +#include <ext/vstring.h> +#include <ext/pb_ds/assoc_container.hpp> +#include <ext/pb_ds/priority_queue.hpp> +#include <ext/pb_ds/exception.hpp> +#include <ext/pb_ds/hash_policy.hpp> +#include <ext/pb_ds/list_update_policy.hpp> +#include <ext/pb_ds/tree_policy.hpp> +#include <ext/pb_ds/trie_policy.hpp> diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc index ebf4330..f120ae6 100644 --- a/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc +++ b/libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc @@ -1,7 +1,7 @@ // { dg-do compile } // -*- C++ -*- -// Copyright (C) 2005, 2006 Free Software Foundation, Inc. +// Copyright (C) 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 terms @@ -70,5 +70,5 @@ int main() h.resize(20); // { dg-error "instantiated from" } } -// { dg-error "invalid" "" { target *-*-* } 196 } +// { dg-error "invalid" "" { target *-*-* } 193 } // { dg-excess-errors "member function" } diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp index 7e5e3d7..b1e88f7 100644 --- a/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp +++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2005, 2006 Free Software Foundation, Inc. +// Copyright (C) 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 terms @@ -50,6 +50,7 @@ #include <performance/time/timing_test_base.hpp> #include <performance/io/xml_formatter.hpp> #include <common_type/assoc/string_form.hpp> +#include <ext/pb_ds/detail/type_utils.hpp> #include <iterator> namespace pb_ds @@ -58,10 +59,6 @@ namespace pb_ds { namespace detail { -#define PB_DS_STATIC_ASSERT(UNIQUE, E) \ - typedef \ - pb_ds::detail::static_assert_dumclass<sizeof(pb_ds::detail::static_assert<(bool)(E)>)> UNIQUE##static_assert_type - template<typename Cntnr, bool Native> class order_statistics_functor { |