public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [v3] misc patches
@ 2007-10-12 16:15 Benjamin Kosnik
  0 siblings, 0 replies; only message in thread
From: Benjamin Kosnik @ 2007-10-12 16:15 UTC (permalink / raw)
  To: gcc-patches, libstdc++

[-- Attachment #1: Type: text/plain, Size: 103 bytes --]

More debug-mode fixes, a doxygen fix, testsuite layout consistency check.

tested x86/linux

-benjamin

[-- Attachment #2: p.20071012-1 --]
[-- Type: application/octet-stream, Size: 16728 bytes --]

2007-10-12  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/doxygen/user.cfg.in: Scan tr1_impl/hashtable.
	* include/tr1_impl/hashtable: Correct comment.

	* include/ext/hash_map: Remove extraneous public markers.
	* include/ext/hash_set: Same.

	* testsuite/25_algorithms/headers/parallel_algorithm.cc: Move
	inside algorithm directory.	
	* testsuite/25_algorithms/headers/algorithm_parallel_mode.cc: Same.
	* testsuite/25_algorithms/headers/parallel_algorithm_mixed1.cc: Same.
	* testsuite/25_algorithms/headers/parallel_algorithm_mixed2.cc: Same.
	* testsuite/25_algorithms/headers/algorithm/parallel_algorithm.cc:
	To this.	
	* testsuite/25_algorithms/headers/algorithm/
	algorithm_parallel_mode.cc: Same.
	* testsuite/25_algorithms/headers/algorithm/
	parallel_algorithm_mixed1.cc: Same.
	* testsuite/25_algorithms/headers/algorithm/
	parallel_algorithm_mixed2.cc: Same.

	* testsuite/21_strings/basic_string/requirements/
	explicit_instantiation/debug.cc: Remove exception text.
	
	* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
	Fix for debug mode testing.	
	* testsuite/23_containers/vector/bool/capacity/29134.cc: Same.
	
Index: docs/doxygen/user.cfg.in
===================================================================
--- docs/doxygen/user.cfg.in	(revision 129263)
+++ docs/doxygen/user.cfg.in	(working copy)
@@ -605,6 +605,7 @@
                          include/tr1_impl/cwchar \
                          include/tr1_impl/cwctype \
                          include/tr1_impl/functional \
+                         include/tr1_impl/hashtable \
                          include/tr1_impl/random \
                          include/tr1_impl/regex \
                          include/tr1_impl/tuple \
Index: include/tr1_impl/hashtable
===================================================================
--- include/tr1_impl/hashtable	(revision 129263)
+++ include/tr1_impl/hashtable	(working copy)
@@ -37,7 +37,7 @@
 // std::tr1::unordered_multiset, and std::tr1::unordered_multimap.
 // hashtable has many template parameters, partly to accommodate
 // the differences between those four classes and partly to 
-// accommodate policy choices that go beyond what TR1 calls for.
+// accommodate policy choices that go beyond TR1 specifications.
 
 // Class template hashtable attempts to encapsulate all reasonable
 // variation among hash tables that use chaining.  It does not handle
Index: include/ext/hash_map
===================================================================
--- include/ext/hash_map	(revision 129263)
+++ include/ext/hash_map	(working copy)
@@ -120,7 +120,6 @@
       get_allocator() const
       { return _M_ht.get_allocator(); }
 
-    public:
       hash_map()
       : _M_ht(100, hasher(), key_equal(), allocator_type()) {}
   
@@ -158,7 +157,6 @@
 	: _M_ht(__n, __hf, __eql, __a)
         { _M_ht.insert_unique(__f, __l); }
 
-    public:
       size_type
       size() const
       { return _M_ht.size(); }
@@ -196,7 +194,6 @@
       end() const
       { return _M_ht.end(); }
 
-    public:
       pair<iterator, bool>
       insert(const value_type& __obj)
       { return _M_ht.insert_unique(__obj); }
@@ -342,7 +339,6 @@
       get_allocator() const
       { return _M_ht.get_allocator(); }
 
-    public:
       hash_multimap()
       : _M_ht(100, hasher(), key_equal(), allocator_type()) {}
 
@@ -380,7 +376,6 @@
 	: _M_ht(__n, __hf, __eql, __a)
         { _M_ht.insert_equal(__f, __l); }
 
-    public:
       size_type
       size() const
       { return _M_ht.size(); }
@@ -418,7 +413,6 @@
       end() const
       { return _M_ht.end(); }
 
-    public:
       iterator
       insert(const value_type& __obj)
       { return _M_ht.insert_equal(__obj); }
@@ -468,7 +462,6 @@
       clear()
       { _M_ht.clear(); }
 
-    public:
       void
       resize(size_type __hint)
       { _M_ht.resize(__hint); }
Index: include/ext/hash_set
===================================================================
--- include/ext/hash_set	(revision 129263)
+++ include/ext/hash_set	(working copy)
@@ -122,7 +122,6 @@
       get_allocator() const
       { return _M_ht.get_allocator(); }
 
-    public:
       hash_set()
       : _M_ht(100, hasher(), key_equal(), allocator_type()) {}
 
@@ -160,7 +159,6 @@
 	: _M_ht(__n, __hf, __eql, __a)
         { _M_ht.insert_unique(__f, __l); }
 
-    public:
       size_type
       size() const
       { return _M_ht.size(); }
@@ -190,7 +188,6 @@
       end() const
       { return _M_ht.end(); }
 
-    public:
       pair<iterator, bool>
       insert(const value_type& __obj)
       {
@@ -239,7 +236,6 @@
       clear()
       { _M_ht.clear(); }
 
-    public:
       void
       resize(size_type __hint)
       { _M_ht.resize(__hint); }
@@ -327,7 +323,6 @@
       get_allocator() const
       { return _M_ht.get_allocator(); }
 
-    public:
       hash_multiset()
       : _M_ht(100, hasher(), key_equal(), allocator_type()) {}
 
@@ -365,7 +360,6 @@
 	: _M_ht(__n, __hf, __eql, __a)
         { _M_ht.insert_equal(__f, __l); }
 
-    public:
       size_type
       size() const
       { return _M_ht.size(); }
@@ -395,7 +389,6 @@
       end() const
       { return _M_ht.end(); }
 
-    public:
       iterator
       insert(const value_type& __obj)
       { return _M_ht.insert_equal(__obj); }
@@ -437,7 +430,6 @@
       clear()
       { _M_ht.clear(); }
 
-    public:
       void
       resize(size_type __hint)
       { _M_ht.resize(__hint); }
Index: testsuite/25_algorithms/headers/parallel_algorithm.cc
===================================================================
--- testsuite/25_algorithms/headers/parallel_algorithm.cc	(revision 129263)
+++ testsuite/25_algorithms/headers/parallel_algorithm.cc	(working copy)
@@ -1,23 +0,0 @@
-// { dg-do compile }
-// { dg-require-parallel-mode "" }
-// { dg-options "-fopenmp" { target *-*-* } }
-
-// 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.
-
-#include <parallel/algorithm>
Index: testsuite/25_algorithms/headers/algorithm_parallel_mode.cc
===================================================================
--- testsuite/25_algorithms/headers/algorithm_parallel_mode.cc	(revision 129263)
+++ testsuite/25_algorithms/headers/algorithm_parallel_mode.cc	(working copy)
@@ -1,23 +0,0 @@
-// { dg-do compile }
-// { dg-require-parallel-mode "" }
-// { dg-options "-D_GLIBCXX_PARALLEL -fopenmp" { target *-*-* } }
-
-// 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.
-
-#include <algorithm>
Index: testsuite/25_algorithms/headers/parallel_algorithm_mixed1.cc
===================================================================
--- testsuite/25_algorithms/headers/parallel_algorithm_mixed1.cc	(revision 129263)
+++ testsuite/25_algorithms/headers/parallel_algorithm_mixed1.cc	(working copy)
@@ -1,37 +0,0 @@
-// { dg-do compile }
-// { dg-require-parallel-mode "" }
-// { dg-options "-fopenmp" { target *-*-* } }
-
-// 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.
-
-#include <parallel/algorithm>
-#include <vector>
-#include <algorithm>
-
-void test()
-{
-  typedef unsigned short 	value_type;
-  typedef std::vector<value_type> vector_type;
-  
-  const value_type c(0);
-
-  vector_type v(10);
-  std::find(v.begin(), v.end(), c);
-  __gnu_parallel::find(v.begin(), v.end(), c);
-}
Index: testsuite/25_algorithms/headers/parallel_algorithm_mixed2.cc
===================================================================
--- testsuite/25_algorithms/headers/parallel_algorithm_mixed2.cc	(revision 129263)
+++ testsuite/25_algorithms/headers/parallel_algorithm_mixed2.cc	(working copy)
@@ -1,42 +0,0 @@
-// { dg-do compile }
-// { dg-require-parallel-mode "" }
-// { dg-options "-fopenmp" { target *-*-* } }
-
-// 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.
-
-// Make sure to test without _GLIBCXX_PARALLEL
-#ifdef _GLIBCXX_PARALLEL 
-# undef _GLIBCXX_PARALLEL 
-#endif
-
-#include <parallel/algorithm>
-#include <vector>
-#include <algorithm>
-
-void test()
-{
-  typedef unsigned short 	value_type;
-  typedef std::vector<value_type> vector_type;
-  
-  const value_type c(0);
-
-  vector_type v(10);
-  std::find(v.begin(), v.end(), c);
-  __gnu_parallel::find(v.begin(), v.end(), c);
-}
Index: testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc
===================================================================
--- testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc	(revision 129263)
+++ testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc	(working copy)
@@ -16,15 +16,6 @@
 // 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.
-
 // This file tests explicit instantiation of basic_string
 
 #include <debug/string>
Index: testsuite/23_containers/vector/bool/modifiers/insert/31370.cc
===================================================================
--- testsuite/23_containers/vector/bool/modifiers/insert/31370.cc	(revision 129263)
+++ testsuite/23_containers/vector/bool/modifiers/insert/31370.cc	(working copy)
@@ -24,6 +24,12 @@
 #include <stdexcept>
 #include <testsuite_hooks.h>
 
+#ifndef _GLIBCXX_DEBUG
+  using std::_S_word_bit;
+#else
+  using std::_GLIBCXX_STD_D::_S_word_bit;
+#endif
+
 inline void
 check_cap_ge_size(const std::vector<bool>& x)
 {
@@ -62,7 +68,7 @@
     {
       std::vector<bool> x;
       x.resize(x.max_size() / 2 + 1, false); 
-      for(int i = 0; i < std::_S_word_bit; ++i)
+      for(int i = 0; i < _S_word_bit; ++i)
 	x.push_back(false);
       check_cap_ge_size(x);
     }
@@ -75,7 +81,7 @@
     {
       std::vector<bool> x;
       x.resize(x.max_size() / 2 + 1, false); 
-      x.insert(x.end(), std::_S_word_bit, false);
+      x.insert(x.end(), _S_word_bit, false);
       check_cap_ge_size(x);
     }
   catch(std::bad_alloc&)
@@ -87,7 +93,7 @@
     {
       std::vector<bool> x;
       x.resize(x.max_size() / 2 + 1, false); 
-      std::vector<bool> y(std::_S_word_bit, false);
+      std::vector<bool> y(_S_word_bit, false);
       x.insert(x.end(), y.begin(), y.end());
       check_cap_ge_size(x);
     }
@@ -101,8 +107,8 @@
   try
     {
       std::vector<bool> x;
-      x.resize(x.max_size() - std::_S_word_bit, false); 
-      for(int i = 0; i < std::_S_word_bit; ++i)
+      x.resize(x.max_size() - _S_word_bit, false); 
+      for(int i = 0; i < _S_word_bit; ++i)
 	x.push_back(false);
       check_cap_ge_size(x);
     }
@@ -114,8 +120,8 @@
   try
     {
       std::vector<bool> x;
-      x.resize(x.max_size() - std::_S_word_bit, false); 
-      x.insert(x.end(), std::_S_word_bit, false);
+      x.resize(x.max_size() - _S_word_bit, false); 
+      x.insert(x.end(), _S_word_bit, false);
       check_cap_ge_size(x);
     }
   catch(std::bad_alloc&)
@@ -126,8 +132,8 @@
   try
     {
       std::vector<bool> x;
-      x.resize(x.max_size() - std::_S_word_bit, false); 
-      std::vector<bool> y(std::_S_word_bit, false);
+      x.resize(x.max_size() - _S_word_bit, false); 
+      std::vector<bool> y(_S_word_bit, false);
       x.insert(x.end(), y.begin(), y.end());
       check_cap_ge_size(x);
     }
@@ -141,8 +147,8 @@
   try
     {
       std::vector<bool> x;
-      x.resize(x.max_size() - std::_S_word_bit, false); 
-      for(int i = 0; i < std::_S_word_bit + 1; ++i)
+      x.resize(x.max_size() - _S_word_bit, false); 
+      for(int i = 0; i < _S_word_bit + 1; ++i)
 	x.push_back(false);
       ++myexit;
     }
@@ -156,8 +162,8 @@
   try
     {
       std::vector<bool> x;
-      x.resize(x.max_size() - std::_S_word_bit, false); 
-      x.insert(x.end(), std::_S_word_bit + 1, false);
+      x.resize(x.max_size() - _S_word_bit, false); 
+      x.insert(x.end(), _S_word_bit + 1, false);
       ++myexit;
     }
   catch(std::bad_alloc)
@@ -170,8 +176,8 @@
   try
     {
       std::vector<bool> x;
-      x.resize(x.max_size() - std::_S_word_bit, false); 
-      std::vector<bool> y(std::_S_word_bit + 1, false);
+      x.resize(x.max_size() - _S_word_bit, false); 
+      std::vector<bool> y(_S_word_bit + 1, false);
       x.insert(x.end(), y.begin(), y.end());
       ++myexit;
     }
Index: testsuite/23_containers/vector/bool/capacity/29134.cc
===================================================================
--- testsuite/23_containers/vector/bool/capacity/29134.cc	(revision 129263)
+++ testsuite/23_containers/vector/bool/capacity/29134.cc	(working copy)
@@ -27,13 +27,20 @@
 {
   bool test __attribute__((unused)) = true;
 
-  std::vector<bool> vb;
+  using std::vector;
+  using std::numeric_limits;
 
+#ifndef _GLIBCXX_DEBUG
+  using std::_S_word_bit;
+#else
+  using std::_GLIBCXX_STD_D::_S_word_bit;
+#endif
+
   // Actually, vector<bool> is special, see libstdc++/31370.
-  typedef std::vector<bool>::difference_type difference_type;
+  vector<bool> vb;
+  typedef vector<bool>::difference_type difference_type;
   VERIFY( vb.max_size()
-	  == (std::numeric_limits<difference_type>::max()
-	      - int(std::_S_word_bit) + 1) );
+	  == (numeric_limits<difference_type>::max() - int(_S_word_bit) + 1) );
 }
 
 int main()

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-10-12 16:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-12 16:15 [v3] misc patches Benjamin Kosnik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).