re PR libstdc++/30571 (Use of C++0x keywords in libstdc++-v3 headers)
authorBenjamin Kosnik <bkoz@redhat.com>
Tue, 30 Jan 2007 18:04:59 +0000 (18:04 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Tue, 30 Jan 2007 18:04:59 +0000 (18:04 +0000)
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:
libstdc++-v3/ChangeLog
libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp
libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp
libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/internal_node.hpp
libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp
libstdc++-v3/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp
libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp
libstdc++-v3/include/ext/pb_ds/detail/type_utils.hpp
libstdc++-v3/include/ext/pb_ds/trie_policy.hpp
libstdc++-v3/include/precompiled/extc++.h
libstdc++-v3/testsuite/17_intro/headers_c++_c++0x_compat.cc [new file with mode: 0644]
libstdc++-v3/testsuite/ext/pb_ds/example/hash_resize_neg.cc
libstdc++-v3/testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp

index 215dfc824131c0f13916221955fb3c073a60c3dc..2b6b12000e380f8d62df4372e5dd48c8d9cf32cd 100644 (file)
@@ -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*,
index c2b95e84ca7e92c67aa75230db077f804a80578c..67c35a63b699035ab0d3d9155f8c1b67fa241e94 100644 (file)
@@ -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
index 4a2ae406bbd63eeb5f9680fd7093fef82fa2ee76..24a9f1bf3ba2260b2e4b9f118068b3244ca71535 100644 (file)
@@ -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
index d64ad20233968d2f1d0470ccda2d6570b2cb34a7..c63f6b0d910fa65cb6d5e060891e59aaefa0a1fa 100644 (file)
@@ -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
index 1061988c327eb3bcf03b93703b0c94ff6723632a..902c9b7ca5372e65b12bda73eb265362243bed38 100644 (file)
@@ -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
index cb0a032cb1f5d7352e2711d94260bf525b864839..18c1a79414e0ea4c9d8eff9c4a51a816b0352110 100644 (file)
@@ -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
index c10f7b6cc59353b1f7e2269dc5be1d442ba33e27..3ade0c7e16cbdce76fefd3b91a0a1a00ce172d57 100644 (file)
@@ -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
index f3c597f934087ff002a5f5fa68b49343ea3ae7a4..1bae0192577e097e227e9812f5836c5adb9140fc 100644 (file)
@@ -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
-
index b8489915c8435b7c41a28acf5bbed38b0fe25071..a37ccc0be9ed67d5a0fe4edafcc7bf4332a69ae9 100644 (file)
@@ -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
-
index d66f01c270126472c8387ec835607929a7fab3ed..7a7e425a0ecc0308b5432297d4dde1c78177d353 100644 (file)
@@ -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
     {
index d74bed43e7f4033c3458960aa696b7145e609d0d..ee496a11b0bf7725315628f0a8cdf7a47fa48cef 100644 (file)
@@ -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
 
index f01f39dc8b4fb1191b8b377ac20bc3c9d3e9e4d6..f3cd66236bab5ed4b415f955ee32b377adabb509 100644 (file)
@@ -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
 
 #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 (file)
index 0000000..1052cd7
--- /dev/null
@@ -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>
index ebf4330f2fa83d3b54563fb2ebf03b867395f8a7..f120ae69b5f709aeadd2ee387ba775c97471dbcb 100644 (file)
@@ -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" } 
index 7e5e3d794744b0a8f06f2888c87cafee082d64ad..b1e88f719e0b0c3269c99914aedd1a749416857c 100644 (file)
@@ -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
       {