Commit c456e6f1 by Benjamin Kosnik Committed by Benjamin Kosnik

re PR libstdc++/33633 (-D_GLIBCXX_DEBUG vs ext/hash_*)

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

	PR libstdc++/33633
	* include/debug/hash_multimap.h: Change _GLIBCXX_EXT to _GLIBCXX_EXT_D.
	* include/debug/hash_set.h: Same.
	* include/debug/hash_multiset.h: Same.
	* include/debug/hash_map.h: Same.

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

	* include/parallel/losertree.h (loser_tree_traits_unguarded): To 
	loser_tree_unguarded_traits.
	* include/parallel/multiway_merge.h (__gnu_parallel): Same.

From-SVN: r129210
parent 476aa52e
2007-10-10 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/33633
* include/debug/hash_multimap.h: Change _GLIBCXX_EXT to _GLIBCXX_EXT_D.
* include/debug/hash_set.h: Same.
* include/debug/hash_multiset.h: Same.
* include/debug/hash_map.h: Same.
2007-10-10 Benjamin Kosnik <bkoz@redhat.com>
* include/parallel/losertree.h (loser_tree_traits_unguarded): To
loser_tree_unguarded_traits.
* include/parallel/multiway_merge.h (__gnu_parallel): Same.
2007-10-10 Paolo Carlini <pcarlini@suse.de> 2007-10-10 Paolo Carlini <pcarlini@suse.de>
Chris Fairles <chris.fairles@gmail.com> Chris Fairles <chris.fairles@gmail.com>
...@@ -20,7 +34,7 @@ ...@@ -20,7 +34,7 @@
* libsupc++/guard.cc: Make single conditional variable * libsupc++/guard.cc: Make single conditional variable
implementation dependent to __GTHREAD_HAS_COND. implementation dependent to __GTHREAD_HAS_COND.
2007-10-09 Benjamin Kosnik <bkoz@montsouris.artheist.org> 2007-10-09 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/33489 continued. PR libstdc++/33489 continued.
* include/parallel/features.h (_GLIBCXX_LOSER_TREE): Set to zero. * include/parallel/features.h (_GLIBCXX_LOSER_TREE): Set to zero.
......
// Debugging hash_map implementation -*- C++ -*- // Debugging hash_map implementation -*- C++ -*-
// Copyright (C) 2003, 2005, 2006 // Copyright (C) 2003, 2005, 2006, 2007
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -47,11 +47,11 @@ namespace __debug ...@@ -47,11 +47,11 @@ namespace __debug
typename _EqualKey = std::equal_to<_Value>, typename _EqualKey = std::equal_to<_Value>,
typename _Alloc = std::allocator<_Value> > typename _Alloc = std::allocator<_Value> >
class hash_map class hash_map
: public _GLIBCXX_EXT::hash_map<_Value, _Tp, _HashFcn, _EqualKey, _Alloc>, : public _GLIBCXX_EXT_D::hash_map<_Value, _Tp, _HashFcn, _EqualKey, _Alloc>,
public __gnu_debug::_Safe_sequence<hash_map<_Value, _Tp, _HashFcn, public __gnu_debug::_Safe_sequence<hash_map<_Value, _Tp, _HashFcn,
_EqualKey, _Alloc> > _EqualKey, _Alloc> >
{ {
typedef _GLIBCXX_EXT::hash_map<_Value, _Tp, _HashFcn, _EqualKey, _Alloc> typedef _GLIBCXX_EXT_D::hash_map<_Value, _Tp, _HashFcn, _EqualKey, _Alloc>
_Base; _Base;
typedef __gnu_debug::_Safe_sequence<hash_map> _Safe_base; typedef __gnu_debug::_Safe_sequence<hash_map> _Safe_base;
......
...@@ -47,11 +47,11 @@ namespace __debug ...@@ -47,11 +47,11 @@ namespace __debug
typename _EqualKey = std::equal_to<_Value>, typename _EqualKey = std::equal_to<_Value>,
typename _Alloc = std::allocator<_Value> > typename _Alloc = std::allocator<_Value> >
class hash_multimap class hash_multimap
: public _GLIBCXX_EXT::hash_multimap<_Value,_Tp,_HashFcn,_EqualKey,_Alloc>, : public _GLIBCXX_EXT_D::hash_multimap<_Value,_Tp,_HashFcn,_EqualKey,_Alloc>,
public __gnu_debug::_Safe_sequence<hash_multimap<_Value, _Tp, _HashFcn, public __gnu_debug::_Safe_sequence<hash_multimap<_Value, _Tp, _HashFcn,
_EqualKey, _Alloc> > _EqualKey, _Alloc> >
{ {
typedef _GLIBCXX_EXT::hash_multimap<_Value,_Tp,_HashFcn,_EqualKey,_Alloc> typedef _GLIBCXX_EXT_D::hash_multimap<_Value,_Tp,_HashFcn,_EqualKey,_Alloc>
_Base; _Base;
typedef __gnu_debug::_Safe_sequence<hash_multimap> _Safe_base; typedef __gnu_debug::_Safe_sequence<hash_multimap> _Safe_base;
......
...@@ -47,11 +47,11 @@ namespace __debug ...@@ -47,11 +47,11 @@ namespace __debug
typename _EqualKey = std::equal_to<_Value>, typename _EqualKey = std::equal_to<_Value>,
typename _Alloc = std::allocator<_Value> > typename _Alloc = std::allocator<_Value> >
class hash_multiset class hash_multiset
: public _GLIBCXX_EXT::hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc>, : public _GLIBCXX_EXT_D::hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc>,
public __gnu_debug::_Safe_sequence<hash_multiset<_Value, _HashFcn, public __gnu_debug::_Safe_sequence<hash_multiset<_Value, _HashFcn,
_EqualKey, _Alloc> > _EqualKey, _Alloc> >
{ {
typedef _GLIBCXX_EXT:: hash_multiset<_Value,_HashFcn, _EqualKey,_Alloc> typedef _GLIBCXX_EXT_D:: hash_multiset<_Value,_HashFcn, _EqualKey,_Alloc>
_Base; _Base;
typedef __gnu_debug::_Safe_sequence<hash_multiset> _Safe_base; typedef __gnu_debug::_Safe_sequence<hash_multiset> _Safe_base;
......
// Debugging hash_set implementation -*- C++ -*- // Debugging hash_set implementation -*- C++ -*-
// Copyright (C) 2003, 2005, 2006 // Copyright (C) 2003, 2005, 2006, 2007
// Free Software Foundation, Inc. // Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
...@@ -47,11 +47,11 @@ namespace __debug ...@@ -47,11 +47,11 @@ namespace __debug
typename _EqualKey = std::equal_to<_Value>, typename _EqualKey = std::equal_to<_Value>,
typename _Alloc = std::allocator<_Value> > typename _Alloc = std::allocator<_Value> >
class hash_set class hash_set
: public _GLIBCXX_EXT::hash_set<_Value, _HashFcn, _EqualKey,_Alloc>, : public _GLIBCXX_EXT_D::hash_set<_Value, _HashFcn, _EqualKey,_Alloc>,
public __gnu_debug::_Safe_sequence<hash_set<_Value, _HashFcn, _EqualKey, public __gnu_debug::_Safe_sequence<hash_set<_Value, _HashFcn, _EqualKey,
_Alloc> > _Alloc> >
{ {
typedef _GLIBCXX_EXT::hash_set<_Value, _HashFcn, _EqualKey,_Alloc> _Base; typedef _GLIBCXX_EXT_D::hash_set<_Value, _HashFcn, _EqualKey,_Alloc> _Base;
typedef __gnu_debug::_Safe_sequence<hash_set> _Safe_base; typedef __gnu_debug::_Safe_sequence<hash_set> _Safe_base;
public: public:
......
...@@ -1094,7 +1094,7 @@ namespace __gnu_parallel ...@@ -1094,7 +1094,7 @@ namespace __gnu_parallel
}; };
template<typename _ValueTp, class Comparator> template<typename _ValueTp, class Comparator>
struct loser_tree_traits_unguarded struct loser_tree_unguarded_traits
{ {
#if _GLIBCXX_LOSER_TREE_UNGUARDED #if _GLIBCXX_LOSER_TREE_UNGUARDED
typedef LoserTreeUnguarded<_ValueTp, Comparator> LT; typedef LoserTreeUnguarded<_ValueTp, Comparator> LT;
...@@ -1102,7 +1102,7 @@ namespace __gnu_parallel ...@@ -1102,7 +1102,7 @@ namespace __gnu_parallel
# if _GLIBCXX_LOSER_TREE_POINTER_UNGUARDED # if _GLIBCXX_LOSER_TREE_POINTER_UNGUARDED
typedef LoserTreePointerUnguarded<_ValueTp, Comparator> LT; typedef LoserTreePointerUnguarded<_ValueTp, Comparator> LT;
# else # else
# error Must define some type in losertree.h. # error Must define some unguarded type in losertree.h.
# endif # endif
#endif #endif
}; };
......
...@@ -1109,7 +1109,7 @@ namespace __gnu_parallel ...@@ -1109,7 +1109,7 @@ namespace __gnu_parallel
{ {
difference_type unguarded_length = std::min(length, total_length - overhang); difference_type unguarded_length = std::min(length, total_length - overhang);
target_end = multiway_merge_loser_tree_unguarded target_end = multiway_merge_loser_tree_unguarded
<typename loser_tree_traits_unguarded<value_type, Comparator>::LT> <typename loser_tree_unguarded_traits<value_type, Comparator>::LT>
(seqs_begin, seqs_end, target, comp, unguarded_length, stable); (seqs_begin, seqs_end, target, comp, unguarded_length, stable);
overhang = length - unguarded_length; overhang = length - unguarded_length;
} }
...@@ -1166,7 +1166,7 @@ namespace __gnu_parallel ...@@ -1166,7 +1166,7 @@ namespace __gnu_parallel
difference_type unguarded_length = std::min(length, total_length - overhang); difference_type unguarded_length = std::min(length, total_length - overhang);
target_end = multiway_merge_loser_tree_unguarded target_end = multiway_merge_loser_tree_unguarded
<typename loser_tree_traits_unguarded<value_type, Comparator>::LT> <typename loser_tree_unguarded_traits<value_type, Comparator>::LT>
(seqs_begin, seqs_end, target, comp, unguarded_length, stable); (seqs_begin, seqs_end, target, comp, unguarded_length, stable);
overhang = length - unguarded_length; overhang = length - unguarded_length;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment